12012-11-28  Zeno Albisser  <zeno@webkit.org>
2
3        [Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
4        https://bugs.webkit.org/show_bug.cgi?id=103529
5
6        This patch enables the same behavior for Windows
7        as it is currently implemented for all other operating
8        systems supported by Qt.
9        Directories listed in the environment variable
10        QTWEBKIT_PLUGIN_PATH are being searched for additional
11        plugins.
12        The only difference is that directories on Windows
13        need to be separated by a semicolon instead of a colon.
14
15        Reviewed by Kenneth Rohde Christiansen.
16
17        * plugins/win/PluginDatabaseWin.cpp:
18        (WebCore):
19        (WebCore::addQtWebKitPluginPath):
20        (WebCore::PluginDatabase::defaultPluginDirectories):
21
222011-06-10  Konstantin Tokarev  <ktokarev@smartlabs.tv>
23
24        Reviewed by Joseph Pecoraro.
25
26        Fixed build with enabled workers and disabled inspector
27        https://bugs.webkit.org/show_bug.cgi?id=62461
28
29        * inspector/InspectorWorkerAgent.cpp: Added inspector guard
30
312011-11-01  Zeno Albisser  <zeno.albisser@nokia.com>
32
33        [Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
34        https://bugs.webkit.org/show_bug.cgi?id=60951
35
36        Adjust symbols visibility for WebCore.
37
38        Reviewed by Simon Hausmann.
39
40        * WebCore.pro:
41
422011-10-28  Zeno Albisser  <zeno.albisser@nokia.com>
43
44        [Qt] Unreviewed: Build fix for MSVC2005
45
46        Patch by Andy Shaw <andy.shaw@digia.com>
47
48        * platform/win/SystemTimeWin.cpp:
49
502011-10-13  Zeno Albisser  <zeno.albisser@nokia.com>
51
52        [Qt] QtWebKit build error for Mac 32bit
53        https://bugs.webkit.org/show_bug.cgi?id=69914
54
55        In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
56        when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT.
57        But this is meant to be defined in NSGeometry.h under certain preconditions.
58        Without setting NS_BUILD_32_LIKE_64 none of these preconditions is
59        met and therefore NSGeometry.h will create several conflicting type definitions.
60
61        With this patch we create consistent definitions again.
62        Due to the order of include files we cannot remove
63        NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro.
64
65        Reviewed by Andreas Kling.
66
67        * WebCore.pro:
68
692011-09-12  Adam Klein  <adamk@chromium.org>
70
71        Fix out-of-bounds access in Gradient::sortStopsIfNecessary
72        https://bugs.webkit.org/show_bug.cgi?id=67958
73
74        Reviewed by Darin Adler.
75
76        Reported by Valgrind in http://crbug.com/77049.
77
78        The errant code was added as an optimization in r67804.
79        This patch reverts that one, as all parties agree that the optimization
80        doesn't seem worthwhile, and there clearly aren't any tests covering
81        the special case.
82
83        No new tests, as existing tests should cover the remaining call to
84        |std::stable_sort|.
85
86        * platform/graphics/Gradient.cpp:
87        (WebCore::Gradient::sortStopsIfNecessary):
88
892011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
90
91        Assert being hit in AccessibilityRenderObject::addChildren()
92        https://bugs.webkit.org/show_bug.cgi?id=61805
93
94        Reviewed by Chris Fleizach.
95
96        Fix nextSibling and previousSibling to handle adjacent continuations
97        properly, otherwise nodes end up appearing in the accessibility
98        tree twice (or a debug assertion could be raised).
99
100        Test: accessibility/adjacent-continuations-cause-assertion-failure.html
101
102        * accessibility/AccessibilityRenderObject.cpp:
103        (WebCore::AccessibilityRenderObject::previousSibling):
104        (WebCore::AccessibilityRenderObject::nextSibling):
105
1062011-09-08  Abhishek Arya  <inferno@chromium.org>
107
108        :before content rendering issues with list markers and run-ins.
109        https://bugs.webkit.org/show_bug.cgi?id=67735
110
111        1) Remove the isAnonymous checks for run-in detection since the
112        run-in can belong to a node.
113        2) When the parent has block children, then the list marker will
114        be enclosed in an anonymous block. In that case, for going to the
115        next list marker, we need to traverse one level up. We don't need
116        this check when searching for generated run-in (loop 2), since we
117        know parent will have inline children, so the list marker wont be
118        enclosed in an anonymous block.
119
120        Reviewed by Dave Hyatt.
121
122        Tests: fast/lists/list-marker-before-content-table.html
123               fast/runin/runin-generated-before-content.html
124
125        * rendering/RenderObjectChildList.cpp:
126        (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
127
1282011-09-10  Ken Buchanan <kenrb@chromium.org>
129
130        Crash due to bad data in SVGDocumentExtensions m_pendingResources
131        https://bugs.webkit.org/show_bug.cgi?id=67488
132
133        Reviewed by Nikolas Zimmermann.
134
135        Resolving a crash condition caused by the deletion of
136        elements while pending resource entries for those elements are still
137        recorded.
138
139        * rendering/svg/RenderSVGResourceContainer.cpp:
140        (WebCore::RenderSVGResourceContainer::registerResource)
141        * svg/SVGDocumentExtensions.h:
142        (WebCore::SVGDocumentExtensions::isElementInPendingResources)
143        * svg/SVGDocumentExtensions.cpp:
144        (WebCore::SVGDocumentExtensions::addPendingResource)
145        (WebCore::SVGDocumentExtensions::isElementInPendingResources)
146        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
147        * svg/SVGStyledElement.h:
148        (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
149        * svg/SVGStyledElement.cpp:
150        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
151        (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
152        * svg/SVGUseElement.cpp:
153        (WebCore::SVGUseElement::svgAttributeChanged)
154
1552011-09-08  Alexey Proskuryakov  <ap@apple.com>
156
157        REGRESSION (r66874): Missing RefPtr in ScriptController
158        https://bugs.webkit.org/show_bug.cgi?id=67748
159
160        Reviewed by Adam Barth.
161
162        * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
163
1642011-09-06  Abhishek Arya  <inferno@chromium.org>
165
166        Style not propagated to anonymous boxes and anonymous
167        inline-blocks.
168        https://bugs.webkit.org/show_bug.cgi?id=67364
169
170        Reviewed by James Robinson.
171
172        Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
173
174        * rendering/RenderBlock.cpp:
175        (WebCore::RenderBlock::styleDidChange):
176        * rendering/RenderObject.cpp:
177        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
178        * rendering/RenderObject.h:
179
1802011-09-04  Abhishek Arya  <inferno@chromium.org>
181
182        Style not propagated to anonymous boxes and anonymous
183        inline-blocks.
184        https://bugs.webkit.org/show_bug.cgi?id=67364
185
186        Reviewed by James Robinson.
187
188        Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
189               fast/ruby/ruby-block-style-not-updated.html
190               fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
191               fast/ruby/ruby-inline-style-not-updated.html
192               fast/table/table-row-style-not-updated-with-after-content.html
193               fast/table/table-row-style-not-updated-with-before-content.html
194               fast/table/table-row-style-not-updated.html
195               fast/table/table-style-not-updated.html
196
197        * rendering/RenderObject.cpp:
198        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
199        * rendering/RenderObject.h:
200        (WebCore::RenderObject::isBeforeAfterContent):
201        * rendering/RenderRuby.cpp:
202        (WebCore::RenderRubyAsInline::styleDidChange):
203        (WebCore::RenderRubyAsBlock::styleDidChange):
204        * rendering/RenderRuby.h:
205        * rendering/RenderTable.cpp:
206        (WebCore::RenderTable::styleDidChange):
207        * rendering/RenderTableRow.cpp:
208        (WebCore::RenderTableRow::styleDidChange):
209        (WebCore::RenderTableRow::addChild):
210        * rendering/RenderTableSection.cpp:
211        (WebCore::RenderTableSection::styleDidChange):
212        (WebCore::RenderTableSection::addChild):
213        * rendering/RenderTableSection.h:
214
2152011-09-05  Abhishek Arya  <inferno@chromium.org>
216
217        Crash in RenderObjectChildList::destroyLeftOverChildren()
218        https://bugs.webkit.org/show_bug.cgi?id=64753
219
220        Reviewed by James Robinson.
221
222        If any of the ancestors between column span element and containing
223        column's block is a continuation, then don't attempt to render the
224        column span by splitting the block into continuations.
225
226        Test: fast/multicol/column-span-parent-continuation-crash.html
227
228        * rendering/RenderBlock.cpp:
229        (WebCore::RenderBlock::columnsBlockForSpanningElement):
230
2312011-08-30  Abhishek Arya  <inferno@chromium.org>
232
233        Removed m_owner accessed in custom scrollbars.
234        https://bugs.webkit.org/show_bug.cgi?id=64737
235
236        Reviewed by David Hyatt.
237
238        Problem does not reproduce in DRT, even with Eventhandler tricks
239        and gc(). So, adding a manual test.
240
241        * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added.
242        * page/FrameView.cpp:
243        (WebCore::FrameView::clearOwningRendererForCustomScrollbars):
244        * page/FrameView.h:
245        * rendering/RenderBox.cpp:
246        (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting
247        destroyed, clear the custom scrollbar in this frameview having this renderbox
248        as its owning renderer.
249        * rendering/RenderScrollbar.cpp:
250        (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check.
251
2522011-09-04  Abhishek Arya  <inferno@chromium.org>
253
254        Crash in Range::processAncestorsAndTheirSiblings.
255        https://bugs.webkit.org/show_bug.cgi?id=67556
256
257        Reviewed by Ryosuke Niwa.
258
259        Create a temporary RefPtr Node vector to keep all the ancestor's
260        childs so that we don't access removed child nodes.
261
262        Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
263
264        * dom/Range.cpp:
265        (WebCore::Range::processContents):
266        (WebCore::Range::processAncestorsAndTheirSiblings):
267
2682011-08-30  Adam Barth  <abarth@webkit.org>
269
270        Flaky crash with JavaScript URLs
271        https://bugs.webkit.org/show_bug.cgi?id=66360
272
273        Reviewed by Nate Chapin.
274
275        This patch teaches DocumentWriter::begin to make a copy of the URL
276        before beginning a new document to avoid a crash.
277
278        Test: fast/loader/javascript-url-iframe-crash.html
279
280        * loader/DocumentWriter.cpp:
281        (WebCore::DocumentWriter::begin):
282
2832011-08-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
284
285        Emit last progress notification before calling dispatchDidFinishLoad
286        https://bugs.webkit.org/show_bug.cgi?id=28851
287
288        Reviewed by Adam Barth.
289
290        Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in
291        a more natural sequence.
292
293        Test: http/tests/loading/progress-finished-callback.html
294
295        * loader/FrameLoader.cpp:
296        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
297
2982011-08-22  Nate Chapin  <japhet@chromium.org>
299
300        Unload events can crash us when they blank out
301        a parent frame.
302        https://bugs.webkit.org/show_bug.cgi?id=64741
303
304        Reviewed by Adam Barth.
305
306        Test: fast/loader/document-destruction-within-unload.html
307
308        * loader/FrameLoader.cpp:
309        (WebCore::FrameLoader::stopLoading): Prevent unload events
310            from going into infinite recursion.
311        (WebCore::FrameLoader::setDocumentLoader): Ensure we don't
312            let set m_documentLoader to a DocumentLoader with a null Frame*.
313        (WebCore::FrameLoader::detachChildren): Save off a vector of
314            children to detach, rather than doing it inline.
315
3162011-08-30  Abhishek Arya  <inferno@chromium.org>
317
318        Style not updated for table parts in :before, :after content.
319        https://bugs.webkit.org/show_bug.cgi?id=66141
320
321        Reviewed by Dave Hyatt.
322
323        Tests: fast/table/table-before-child-style-update.html
324               fast/table/table-row-before-child-style-update.html
325
326        * rendering/RenderObjectChildList.cpp:
327        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
328
3292011-08-25  Abhishek Arya  <inferno@chromium.org>
330
331        Incorrect layout of :before and :after content, with display
332        table, table-row and table-cell.
333        https://bugs.webkit.org/show_bug.cgi?id=66699
334
335        Reviewed by David Hyatt.
336
337        Tests: fast/table/table-after-child-in-table.html
338               fast/table/table-before-child-in-table.html
339               fast/table/table-cell-after-child-in-block.html
340               fast/table/table-cell-after-child-in-table.html
341               fast/table/table-cell-before-child-in-block.html
342               fast/table/table-cell-before-child-in-table.html
343               fast/table/table-row-after-child-in-block.html
344               fast/table/table-row-after-child-in-table.html
345               fast/table/table-row-before-child-in-block.html
346               fast/table/table-row-before-child-in-table.html
347
348        * rendering/RenderBlock.cpp:
349        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
350        Fix the looping condition to detect :after child correctly.
351        isAnonymousBlock() does not apply to tables, instead
352        using isAnonymous().
353        * rendering/RenderTableRow.cpp:
354        (WebCore::RenderTableRow::addChild): Don't add the new child
355        in the generatedContainer with :before, :after content.
356        * rendering/RenderTableSection.cpp:
357        (WebCore::RenderTableSection::addChild): Don't add the new child
358        in the generatedContainer with :before, :after content.
359
3602011-08-29  Abhishek Arya  <inferno@chromium.org>
361
362        Crash in InlineBox::deleteLine due to accessing removed
363        renderer.
364        https://bugs.webkit.org/show_bug.cgi?id=66015
365
366        Reviewed by Simon Fraser.
367
368        Test: fast/block/line-layout/inline-box-wrapper-crash.html
369
370        * rendering/RenderBox.cpp:
371        (WebCore::RenderBox::positionLineBox): Make sure that the
372        previous inline box wrapper is destroyed properly, before
373        setting a new one.
374
3752011-08-30  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
376
377        [Qt] Do not unconditionally use pkg-config in .pro files
378        https://bugs.webkit.org/show_bug.cgi?id=67055
379
380        Reviewed by Andreas Kling.
381
382        Original patch from Rohan McGovern <rohan.mcgovern@nokia.com>
383
384        Using the first pkg-config in PATH is prone to errors when cross
385        compiling inside the Qt repository (using Qt's build-system).
386
387        This patch protect calls for pkg-config with
388        !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to
389        QT_CONFIG by Qt's 'configure' when cross-compiling on systems
390        without pkg-config.
391
392        The respective change in Qt's configure has been submited already.
393
394        No new tests as this is just a build change.
395
396        * features.pri: protect pkg-config calls
397
3982011-08-25  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
399
400        [Qt] Enable password echo on Symbian builds
401        https://bugs.webkit.org/show_bug.cgi?id=66954
402
403        Reviewed by Chang Shu.
404
405        No tests, as this is just a build change.
406
407        * config.h:
408
4092011-08-23  Chang Shu  <cshu@webkit.org>
410
411        Added support for momentarily revealing last typed character in password input.
412        Code change was partially based on Apple's iOS code and Samuel Nevala's work.
413        https://bugs.webkit.org/show_bug.cgi?id=32509
414
415        Reviewed by Alexey Proskuryakov.
416
417        * editing/InsertIntoTextNodeCommand.cpp:
418        (WebCore::InsertIntoTextNodeCommand::doApply):
419        * rendering/RenderText.cpp:
420        (WebCore::SecureTextTimer::SecureTextTimer):
421        (WebCore::SecureTextTimer::restartWithNewText):
422        (WebCore::SecureTextTimer::invalidate):
423        (WebCore::SecureTextTimer::lastTypedCharacterOffset):
424        (WebCore::SecureTextTimer::fired):
425        (WebCore::RenderText::willBeDestroyed):
426        (WebCore::RenderText::setTextInternal):
427        (WebCore::RenderText::secureText):
428        (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
429        * rendering/RenderText.h:
430        (WebCore::RenderText::isSecure):
431        * testing/Internals.cpp:
432        (WebCore::Internals::setPasswordEchoEnabled): Fixed some silly coding in Internals.
433        (WebCore::Internals::setPasswordEchoDurationInSeconds):
434        (WebCore::Internals::reset):
435
4362011-07-08  Chang Shu  <cshu@webkit.org>
437
438        Update calling sites after function renamed.
439        https://bugs.webkit.org/show_bug.cgi?id=59114
440
441        Reviewed by Alexey Proskuryakov.
442
443        No new tests, just refactoring.
444
445        * editing/visible_units.cpp:
446        (WebCore::previousBoundary):
447        (WebCore::nextBoundary):
448        * rendering/RenderText.cpp:
449        (WebCore::RenderText::setTextInternal):
450
4512011-08-18  Chang Shu  <cshu@webkit.org>
452
453        Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
454        https://bugs.webkit.org/show_bug.cgi?id=66052
455
456        Reviewed by Alexey Proskuryakov.
457
458        Added runtime settings in WebCore.
459        Added support in window.internals for testing.
460
461        Tests: editing/input/password-echo-passnode.html
462               editing/input/password-echo-passnode2.html
463               editing/input/password-echo-passnode3.html
464               editing/input/password-echo-textnode.html
465
466        * page/Settings.cpp:
467        (WebCore::Settings::Settings):
468        * page/Settings.h:
469        (WebCore::Settings::setPasswordEchoEnabled):
470        (WebCore::Settings::passwordEchoEnabled):
471        (WebCore::Settings::setPasswordEchoDurationInSeconds):
472        (WebCore::Settings::passwordEchoDurationInSeconds):
473        * testing/Internals.cpp:
474        (WebCore::Internals::Internals):
475        (WebCore::Internals::setPasswordEchoEnabled):
476        (WebCore::Internals::setPasswordEchoDurationInSeconds):
477        (WebCore::Internals::reset):
478        * testing/Internals.h:
479        * testing/Internals.idl:
480
4812011-08-16  Chang Shu  <cshu@webkit.org>
482
483        Support reset in WebCore::Internals
484        https://bugs.webkit.org/show_bug.cgi?id=66307
485
486        Reviewed by Dimitri Glazkov.
487
488        New tests will be added when function reset is implemented.
489
490        Added framework code in WebCoreTestSupport. The real implementation of
491        Internals::reset() depends on the need from the settings that require a reset.
492
493        * testing/Internals.cpp:
494        (WebCore::Internals::reset):
495        * testing/Internals.h:
496        * testing/js/WebCoreTestSupport.cpp:
497        (WebCoreTestSupport::resetInternalsObject):
498        * testing/js/WebCoreTestSupport.h:
499        * testing/v8/WebCoreTestSupport.cpp:
500        (WebCoreTestSupport::resetInternalsObject):
501        * testing/v8/WebCoreTestSupport.h:
502
5032011-06-09  Robert Hogan  <robert@webkit.org>
504
505        Reviewed by Andreas Kling.
506
507        Teach Qt about window.internals
508        https://bugs.webkit.org/show_bug.cgi?id=61074
509
510        A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
511        away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
512        Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
513        where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
514        is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
515        Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
516        and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
517
518        * CodeGenerators.pri:
519        * WebCore.pri:
520        * WebCore.pro:
521
5222011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>
523
524        Reviewed by Darin Adler.
525
526        Add build logistics and plumbing for window.internals object.
527        https://bugs.webkit.org/show_bug.cgi?id=60313
528
529        Test: fast/harness/internals-object.html
530
531        * Configurations/WebCoreTestSupport.xcconfig: Added.
532        * DerivedSources.make: Added support for generating from Internals.idl.
533        * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
534        * WebCore.gypi: Ditto.
535        * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
536        * testing/Internals.cpp: Added.
537        * testing/Internals.h: Added.
538        * testing/Internals.idl: Added.
539        * testing/js/WebCoreTestSupport.cpp: Added.
540        * testing/js/WebCoreTestSupport.h: Added.
541        * testing/v8/WebCoreTestSupport.cpp: Added.
542        * testing/v8/WebCoreTestSupport.h: Added.
543
5442011-08-22  Abhishek Arya  <inferno@chromium.org>
545
546        Crash in FocusController::advanceFocusInDocumentOrder
547        https://bugs.webkit.org/show_bug.cgi?id=66678
548
549        RefPtr the focusable node to prevent getting deleted by mutation
550        event.
551
552        Reviewed by Dave Hyatt.
553
554        Test: fast/frames/focus-controller-crash-change-event.html
555
556        * page/FocusController.cpp:
557        (WebCore::FocusController::advanceFocusInDocumentOrder):
558
5592011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
560
561        SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
562        https://bugs.webkit.org/show_bug.cgi?id=66086
563
564        Reviewed by Darin Adler.
565
566        The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
567        Fixing the bug by detecting RenderTextFragment in handleTextNode.
568
569        Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
570        the next call to handleTextNode needs to process the first-letter part of the text fragment.
571
572        Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
573
574        * editing/TextIterator.cpp:
575        (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
576        (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
577        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
578        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
579        (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
580        * editing/TextIterator.h:
581
5822011-08-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
583
584        [Qt] Fix build on Lion
585
586        https://bugs.webkit.org/show_bug.cgi?id=66770
587
588        Reviewed by Andreas Kling.
589
590        We were mistakenly picking up mac/WebCoreSystemInterface.h instead of
591        the Qt one, and building on Lion revealed this when a typedef for
592        IOSurfaceRef was wrapped in PLATFORM(MAC).
593
594        For now we fix this by including WebCoreSystemInterface using
595        brackets, so that we'll pick up the right file based on the
596        include paths. This also means exposing a few missing enums
597        in our own version of the file, so those were added.
598
599        Lasty, we need to link against the right system interface library
600        on Lion.
601
602        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
603        * platform/qt/WebCoreSystemInterface.h:
604
6052011-08-08  Cris Neckar  <cdn@chromium.org>
606
607        Remove counter nodes from the tree and fix-up children when they are removed from the counter map.
608        https://bugs.webkit.org/show_bug.cgi?id=65346
609
610        Reviewed by Adam Barth.
611
612        Covered by existing CSS counter tests.
613
614        * rendering/CounterNode.cpp:
615        (WebCore::CounterNode::~CounterNode):
616
6172011-08-17  Oliver Hunt  <oliver@apple.com>
618
619        Move towards supporting user controlled prototypes on CanvasPixelArray
620        https://bugs.webkit.org/show_bug.cgi?id=66429
621
622        Reviewed by Gavin Barraclough.
623
624        Start using a per-global object structure for canvas pixel array.
625
626        * bindings/js/JSImageDataCustom.cpp:
627        (WebCore::toJS):
628
6292011-08-17  Abhishek Arya  <inferno@chromium.org>
630
631        Crash in Document::recalcStyleSelector
632        https://bugs.webkit.org/show_bug.cgi?id=66335
633
634        Reviewed by Simon Fraser.
635
636        When node is getting destroyed and its removedFromDocument
637        is not called due to entire document structure torn down(using
638        removeAllChildren), make sure to clear out the stylesheet
639        candidate node from document's structures in its destructor.
640
641        Test: svg/dom/stylesheet-candidate-node-crash-main.html
642
643        * dom/ProcessingInstruction.cpp:
644        (WebCore::ProcessingInstruction::~ProcessingInstruction):
645        * html/HTMLLinkElement.cpp:
646        (WebCore::HTMLLinkElement::~HTMLLinkElement):
647        * html/HTMLStyleElement.cpp:
648        (WebCore::HTMLStyleElement::~HTMLStyleElement):
649        * svg/SVGStyleElement.cpp:
650        (WebCore::SVGStyleElement::~SVGStyleElement):
651
6522011-08-12  Abhishek Arya  <inferno@chromium.org>
653
654        Crash in WebCore::editingIgnoresContent
655        https://bugs.webkit.org/show_bug.cgi?id=66125
656
657        Reviewed by Ryosuke Niwa.
658
659        RefPtr a few nodes in case they get blown away in
660        dispatchEvent calls.
661
662        Test: editing/selection/select-start-remove-root-crash.html
663
664        * editing/FrameSelection.cpp:
665        (WebCore::FrameSelection::selectAll):
666        * editing/ReplaceSelectionCommand.cpp:
667        (WebCore::ReplacementFragment::ReplacementFragment):
668
6692011-08-13  Abhishek Arya  <inferno@chromium.org>
670
671        Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody
672        https://bugs.webkit.org/show_bug.cgi?id=66187
673
674        Reviewed by Adam Barth.
675
676        RefPtr a few ContainerNodes to prevent premature deletion.
677
678        Test: fast/html/process-end-tag-for-inbody-crash.html
679
680        * html/parser/HTMLTreeBuilder.cpp:
681        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
682        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
683        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
684
6852011-08-10  Abhishek Arya  <inferno@chromium.org>
686
687        Check that we do not need layout before trying to dirty
688        m_originatingLine for our floats.
689        https://bugs.webkit.org/show_bug.cgi?id=65938
690
691        Reviewed by Dave Hyatt.
692
693        Test: fast/block/float/float-originating-line-deleted-crash.html
694
695        * rendering/RenderBlock.cpp:
696        (WebCore::RenderBlock::removeFloatingObject):
697        (WebCore::RenderBlock::clearFloats):
698
6992011-08-11  Alexis Menard  <alexis.menard@openbossa.org>
700
701        Unreviewed build fix for Qt.
702
703        Make sure we build when Qt is namespaced.
704
705        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
706
7072011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
708
709        Reviewed by Benjamin Poulain.
710
711        [Qt] Fix build with Intel compiler on Windows
712        https://bugs.webkit.org/show_bug.cgi?id=65088
713
714        Intel compiler needs .lib suffixes instead of .a
715
716        * WebCore.pri:
717
7182011-08-03  Kent Tamura  <tkent@chromium.org>
719
720        Fix incorrect checks for HTMLMediaElement
721        https://bugs.webkit.org/show_bug.cgi?id=65590
722
723        Reviewed by Dimitri Glazkov.
724
725        <video> and <audio> can be an HTMLElement instance instead of
726        HTMLMediaElement if MediaPlayer::isAvailable() returns false or
727        the media feature is disabled at runtime.
728
729        * html/HTMLSourceElement.cpp:
730        (WebCore::HTMLSourceElement::insertedIntoTree):
731        (WebCore::HTMLSourceElement::willRemove):
732        * html/HTMLTrackElement.cpp:
733        (WebCore::HTMLTrackElement::insertedIntoTree):
734        (WebCore::HTMLTrackElement::willRemove):
735        * html/shadow/MediaControlElements.cpp:
736        (WebCore::toParentMediaElement):
737        * page/FrameView.cpp:
738        (WebCore::FrameView::updateWidget):
739        * platform/efl/RenderThemeEfl.cpp:
740        (WebCore::RenderThemeEfl::paintMediaMuteButton):
741        * platform/gtk/RenderThemeGtk.cpp:
742        (WebCore::getMediaElementFromRenderObject):
743        * rendering/RenderThemeMac.mm:
744        (WebCore::RenderThemeMac::paintMediaSliderTrack):
745        * rendering/RenderThemeWinCE.cpp:
746        (WebCore::mediaElementParent):
747
7482011-07-28  Abhishek Arya  <inferno@chromium.org>
749
750        Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
751        https://bugs.webkit.org/show_bug.cgi?id=65137
752
753        Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.
754
755        Reviewed by Dave Hyatt.
756
757        Test: fast/block/update-midpoints-for-trailing-boxes-crash.html
758
759        * rendering/RenderBlockLineLayout.cpp:
760        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
761
7622011-08-01  Jochen Eisinger  <jochen@chromium.org>
763
764        Never override the policy URL on form submissions.
765        https://bugs.webkit.org/show_bug.cgi?id=61809
766
767        Reviewed by Adam Barth.
768
769        Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html
770               http/tests/security/cookies/third-party-cookie-blocking-user-action.html
771               http/tests/security/cookies/third-party-cookie-blocking.html
772
773        * loader/FrameLoader.cpp:
774        (WebCore::FrameLoader::loadURL):
775        (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest):
776        (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
777        (WebCore::FrameLoader::addExtraFieldsToRequest):
778        (WebCore::FrameLoader::loadPostRequest):
779        (WebCore::FrameLoader::loadDifferentDocumentItem):
780        * loader/FrameLoader.h:
781
782
7832011-07-27  Alexis Menard  <alexis.menard@openbossa.org>
784
785        [Qt] Unreviewed build fix for mac.
786
787        QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
788        of the options passed to build-webkit, therefore DerivedSources should now generate the
789        includes when it's mac.
790
791        * DerivedSources.pro:
792        * WebCore.pro:
793
7942011-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
795
796        Reviewed by David Hyatt.
797
798        Partial layout when a flex-box has visibility: collapse
799        https://bugs.webkit.org/show_bug.cgi?id=63776
800
801        Tests: fast/flexbox/crash-button-input-autofocus.html
802               fast/flexbox/crash-button-keygen.html
803               fast/flexbox/crash-button-relayout.html
804
805        The issue is that FlexBoxIterator would skip any child if it has visibility: collapsed.
806        However if one of the child is anonymous, it may wrap some other child that would be skipped.
807        Now FlexBoxIterator is called during the layout phase and thus some nodes would not relayouted
808        as expected.
809
810        * rendering/RenderDeprecatedFlexibleBox.cpp:
811        (WebCore::FlexBoxIterator::next): When iterating, don't skip anonymous content as there may
812        be real content hiding below.
813
8142011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>
815
816        Reviewed by Nikolas Zimmermann.
817
818        Update SVG position values on SVG DOM updates
819        https://bugs.webkit.org/show_bug.cgi?id=62439
820
821        Test: svg/custom/crash-textPath-attributes.html
822
823        * rendering/svg/RenderSVGInline.cpp:
824        (WebCore::RenderSVGInline::destroy): Notify our containing RenderSVGText that it needs
825        to update its positioning information.
826
827        * rendering/svg/SVGInlineFlowBox.cpp:
828        (WebCore::SVGInlineFlowBox::calculateBoundaries): Check the type of the InlineBox
829        like the rest of the code (fixes an ASSERT_NOT_REACHED in InlineBox::calculateBoudaries).
830
831        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
832        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): Clear
833        our cached layout attributes every time we invalidate them. This avoids keeping stale
834        attribute that have a backpointer to a RenderObject.
835
8362011-07-13  John Knottenbelt  <jknotten@chromium.org>
837
838        Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
839        https://bugs.webkit.org/show_bug.cgi?id=64363
840
841        Reviewed by Tony Gentilcore.
842
843        Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
844
845        * page/Geolocation.cpp:
846        (WebCore::Geolocation::setIsAllowed):
847        * page/Geolocation.h:
848
8492011-06-26  Adam Barth  <abarth@webkit.org>
850
851        Reviewed by Kent Tamura.
852
853        m_formElementsWithFormAttribute doesn't ref the objects it holds
854        https://bugs.webkit.org/show_bug.cgi?id=62956
855
856        Test: fast/forms/form-associated-element-crash3.html
857
858        * dom/Document.h:
859
8602011-05-26  David Levin  <levin@chromium.org>
861
862        Reviewed by Dmitry Titov.
863
864        WebKit's font notification has problems when the WebKit main thread != UI thread.
865        https://bugs.webkit.org/show_bug.cgi?id=61391
866
867        This doesn't happen in DumpRenderTree, so it needs a unit test which is taking me
868        some time to write correctly. In the meantime, this issues happens to be causing
869        some crashes in Chrome so here's the fix alone for the time being.
870
871        * platform/graphics/mac/FontCacheMac.mm:
872        (WebCore::invalidateFontCache): Ensure that FontCache::invalidate is only called on WebKit's main thread.
873        (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Call common function for font cache invalidation.
874         Note that the call to fontCache() is fine since the singleton is initialized well before calling this function. Theoretically,
875         there could be a problem due to a lack of a memory barrier but that is highly unlikely and this is debug only code.
876        (WebCore::fontCacheATSNotificationCallback): Ditto.
877
8782011-07-07  Gavin Peters  <gavinp@chromium.org>
879
880        Reviewed by Alexey Proskuryakov.
881
882        fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
883        https://bugs.webkit.org/show_bug.cgi?id=60097
884
885        The culprit was that CachedResource:stopLoading() was using *this
886        after a call to checkNotify(), which isn't kosher.  This patch
887        uses a CachedResourceHandle to keep the CachedResource alive.
888
889        The test is a very close copy of the eponymous
890        link-and-subresource-test.html, only substituting invalid
891        resources for the valid ones in that test.  The reproduction is
892        timing related, and happens much more consistantly with an invalid
893        resource for whatever reason.
894        Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
895
896        * loader/cache/CachedResource.cpp:
897        (WebCore::CachedResource::stopLoading):
898
8992011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
900
901        Reviewed by Pavel Feldman.
902
903        Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
904        https://bugs.webkit.org/show_bug.cgi?id=52791
905
906        No new tests. The problem can be reproduced by trying to create InspectorValue
907        from 1.0e-100 and call ->toJSONString() on this.
908
909        * inspector/InspectorValues.cpp:
910        (WebCore::InspectorBasicValue::writeJSON):
911        Added checking the predicted buffer size and choosing exponential format, or
912        eventually "NaN" if the buffer is too small for decimal format.
913
9142011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
915
916        [Qt] Disable video support on linux if the dependencies are not found.
917
918        If we can't find the necessary dependencies to build the GStreamer media player
919        we disable the video support. This is related to http://trac.webkit.org/changeset/91752.
920
921        Reviewed by Holger Freyther.
922
923        No new tests, it's a build fix.
924
925        * features.pri:
926
9272011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
928
929        Reviewed by Andreas Kling.
930
931        [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
932        https://bugs.webkit.org/show_bug.cgi?id=63472
933
934        Enable the GStreamer backend and the QuickTime backend as default media players
935        for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
936        can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.
937
938        No new tests. The media layout tests are disabled on the Qt port but hopefully with this
939        switch we can enable them again.
940
941        * WebCore.pri:
942        * WebCore.pro:
943        * features.pri:
944
9452011-06-23  Alexis Menard  <alexis.menard@openbossa.org>
946
947        Reviewed by Eric Carlson.
948
949        [Qt] Implement fullscreen support on Mac with the QuickTime backend.
950        https://bugs.webkit.org/show_bug.cgi?id=61728
951
952        Implement fullscreen support for Qt when using the QuickTime backend.
953        We mostly use what is already done for the Mac port.
954
955        * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
956        of includes. We need to generate those headers.
957        * WebCore.pro:
958        * platform/mac/WebVideoFullscreenController.h:
959        * platform/mac/WebVideoFullscreenController.mm:
960        * platform/mac/WebVideoFullscreenHUDWindowController.h:
961        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
962        * platform/qt/WebCoreSystemInterface.h:
963        * platform/qt/WebCoreSystemInterface.mm:
964
9652011-06-21  Alexey Proskuryakov  <ap@apple.com>
966
967        Fix Mac build in some configurations.
968
969        * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
970        WKSI in WebCore.
971
972        * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
973        It's not meant to be used from WebCore, and if included, a wrong copy may be used.
974        (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
975        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
976        WCSI style (lower level "wk").
977
9782011-06-20  Jer Noble  <jer.noble@apple.com>
979
980        Unreviewed build fix; Fix Leopard WebCore build.
981
982        * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
983            is a category, not a protocol.
984
9852011-06-20  Jer Noble  <jer.noble@apple.com>
986
987        Unreviewed build fix; Fix 32-bit build.
988
989        Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings.  Use
990        CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.
991
992        * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm
993        * platform/mac/WebVideoFullscreenController.mm:
994        (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
995        (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
996        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
997        (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
998        (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
999        (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
1000        (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
1001        (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
1002        (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
1003        (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto.
1004        (timeToString): Narrow precision to float when converting to seconds.
1005        * platform/mac/WebWindowAnimation.mm:
1006        (scaledRect): Use CGFloat.
1007        (-[WebWindowScaleAnimation init]): Use float constant.
1008        (-[WebWindowScaleAnimation currentValue]): Ditto.
1009        (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
1010        (-[WebWindowFadeAnimation currentAlpha]): Ditto.
1011
10122011-06-01  Jer Noble  <jer.noble@apple.com>
1013
1014        Reviewed by Eric Carlson.
1015
1016        Move Full Screen Controllers into WebCore.
1017
1018        Remove dependency on QTKit from wekitExitFullscreen()
1019        https://bugs.webkit.org/show_bug.cgi?id=61843
1020
1021        No new tests; the existing media full screen tests are sufficient.
1022
1023        * WebCore.exp.in: Add new exports.
1024        * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
1025        * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
1026        * platform/mac/WebCoreSystemInterface.mm:
1027        * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
1028        * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
1029
1030        The following functions have had UNUSED_PARAM added:
1031        (-[WebVideoFullscreenController applicationDidResignActive:]):
1032        (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
1033        (-[WebVideoFullscreenWindow mouseMoved:]):
1034
1035Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
1036        * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
1037
1038        The following functions have had UNUSED_PARAM added:
1039        (-[WebVideoFullscreenHUDWindow cancelOperation:]):
1040        (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
1041        (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
1042        (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
1043        (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
1044        (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
1045        (-[WebVideoFullscreenHUDWindowController mouseExited:]):
1046        (-[WebVideoFullscreenHUDWindowController rewind:]):
1047        (-[WebVideoFullscreenHUDWindowController fastForward:]):
1048        (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
1049        (-[WebVideoFullscreenHUDWindowController windowDidClose:]):
1050
1051        The following functions have had WKSI calls converted to WCSI ones:
1052        (createControlWithMediaUIControlType):
1053        (createTimeTextField):
1054
1055        * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
1056        * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
1057        (WebWindowAnimationDurationFromDuration):
1058
1059        The following functions have had WKSI calls converted to WCSI ones:
1060        (-[WebWindowScaleAnimation setCurrentProgress:]):
1061        (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
1062
10632011-07-27  Ryosuke Niwa  <rniwa@webkit.org>
1064
1065        Calling window.find immediately after mutating the document crashes WebKit.
1066        https://bugs.webkit.org/show_bug.cgi?id=65296
1067
1068        Reviewed by Darin Adler.
1069
1070        Don't forget to layout first.
1071
1072        Test: editing/text-iterator/find-after-mutation.html
1073
1074        * editing/TextIterator.cpp:
1075        (WebCore::findPlainText):
1076
10772011-07-27  MORITA Hajime  <morrita@google.com>
1078
1079        Inconsistent state of TreeScope reference.
1080        https://bugs.webkit.org/show_bug.cgi?id=65235
1081
1082        The tree scope pointers on shadow tree nodes didn't cleared.
1083        even when the tree scope (shadow root) is destroyed.
1084        This change clear these poitners before detaching the shadow root.
1085
1086        Reviewed by Dimitri Glazkov.
1087
1088        Test: fast/dom/shadow/tree-scope-crash.html
1089
1090        * dom/Element.cpp:
1091        (WebCore::Element::removeShadowRoot):
1092
10932011-05-22  Dominic Cooney  <dominicc@chromium.org>
1094
1095        Reviewed by Dimitri Glazkov.
1096
1097        When removing a shadow root, also remove it from the render tree.
1098        https://bugs.webkit.org/show_bug.cgi?id=61245
1099
1100        Test: existing fast/dom/shadow/layout-tests-can-access-shadow.html
1101
1102        * dom/Element.cpp:
1103        (WebCore::Element::removeShadowRoot): Call detach if attached.
1104
11052011-07-22  Sergey Glazunov  <serg.glazunov@gmail.com>
1106
1107        Perform the JavaScript navigation check on a complete URL
1108        https://bugs.webkit.org/show_bug.cgi?id=65038
1109
1110        Reviewed by Adam Barth.
1111
1112        Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html
1113
1114        * page/DOMWindow.cpp:
1115        (WebCore::DOMWindow::setLocation):
1116        (WebCore::DOMWindow::createWindow):
1117        (WebCore::DOMWindow::open):
1118
11192011-07-22  David Grogan  <dgrogan@chromium.org>
1120
1121        Fix crash in IDBRequest::abort
1122        https://bugs.webkit.org/show_bug.cgi?id=64740
1123
1124        Reviewed by Nate Chapin.
1125
1126        Tested manually with the testcase in the bug.
1127
1128        * storage/IDBRequest.cpp:
1129        (WebCore::IDBRequest::~IDBRequest):
1130        (WebCore::IDBRequest::abort):
1131
11322011-07-25  Daniel Bates  <dbates@rim.com>
1133
1134        REGRESSION (r85964): Improper relayout of some nested positioned elements
1135        https://bugs.webkit.org/show_bug.cgi?id=64286
1136
1137        Reviewed by David Hyatt.
1138
1139        Fixes an issue when traversing up the containing block hierarchy after skipping
1140        relatively positioned inlines.
1141
1142        When processing a positioned element we skip any intermediate inlines to get to
1143        to enclosing block B, but don't use the containing block for B (call this P_B) to
1144        properly continue traversing up the containing block hierarchy. So, B may be
1145        considered again instead of looking at P_B. Hence, we don't set the correct dirty
1146        bits for P_B and may not schedule a relayout with respect to the correct layout node.
1147
1148        Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
1149
1150        * rendering/RenderObject.h:
1151        (WebCore::RenderObject::markContainingBlocksForLayout):
1152
11532011-07-26  David Hyatt  <hyatt@apple.com>
1154
1155        https://bugs.webkit.org/show_bug.cgi?id=60778
1156
1157        Use after free because of line box culling optimization regression.
1158
1159        In the case of a child with no line box being removed (typically
1160        a <br> in quirks mode), if there is no previous sibling with a line
1161        box, then we have a potential problem with the culling optimization.
1162
1163        The culled inline may still have other leaf line box children, but
1164        they may follow the removed <br>. In this case we can't rely on
1165        them, since we need a line box that comes before the <br>.
1166
1167        The fix is to simply recur up to the parent if we are a culled inline
1168        and could not find a previous line box.
1169
1170        Reviewed by Dan Bernstein.
1171
1172        Added editing/execCommand/crash-line-break-after-outdent.html
1173
1174        * rendering/RenderLineBoxList.cpp:
1175        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1176
11772011-07-19  Abhishek Arya  <inferno@chromium.org>
1178
1179        Crash when removing unrenderered nodes in replacement fragment.
1180        https://bugs.webkit.org/show_bug.cgi?id=64801
1181
1182        Reviewed by Ryosuke Niwa.
1183
1184        Test: editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html
1185
1186        * editing/ReplaceSelectionCommand.cpp:
1187        (WebCore::ReplacementFragment::removeUnrenderedNodes):
1188
11892011-07-21  Gavin Peters  <gavinp@chromium.org>
1190
1191        Extend the protector of a CSS style sheet.  Because checkLoaded() can recursively delete
1192        parent style elements, the protector should be extended to include the parent call.
1193
1194        https://bugs.webkit.org/show_bug.cgi?id=64736
1195
1196        Reviewed by Simon Fraser.
1197
1198        Test: fast/css/css-imports-2.html
1199
1200        * css/CSSStyleSheet.cpp:
1201        (WebCore::CSSStyleSheet::checkLoaded):
1202
12032011-07-20  Tony Chang  <tony@chromium.org>
1204
1205        Stale pointer due to floats not removed (flexible box display)
1206        https://bugs.webkit.org/show_bug.cgi?id=64603
1207
1208        Reviewed by David Hyatt.
1209
1210        Flexbox items should avoid floats.
1211
1212        Test: fast/flexbox/horizontal-box-float-crash.html
1213
1214        * rendering/RenderBox.cpp:
1215        (WebCore::RenderBox::avoidsFloats):
1216        * rendering/RenderBox.h:
1217        (WebCore::RenderBox::isDeprecatedFlexItem):
1218
12192011-07-12  Hui Huang  <Hui.2.Huang@nokia.com>
1220
1221        Reviewed by Laszlo Gombos.
1222
1223        [Qt] Fix compiling errors with QtWebkit 2.2 WINSCW build.
1224        https://bugs.webkit.org/show_bug.cgi?id=64391
1225
1226        (QtWebKit-2.2 only, patch not in webkit trunk)
1227
1228        * bindings/generic/ActiveDOMCallback.cpp:
1229        * css/CSSStyleSelector.h:
1230        * page/PrintContext.cpp:
1231        * page/PrintContext.h:
1232        * platform/network/HTTPHeaderMap.cpp:
1233        * xml/XPathFunctions.cpp:
1234        * xml/XPathPredicate.cpp:
1235        * xml/XPathResult.cpp:
1236
12372011-07-16  Sergey Glazunov  <serg.glazunov@gmail.com>
1238
1239        DOMWindow::open performs a security check on a wrong window
1240        https://bugs.webkit.org/show_bug.cgi?id=64651
1241
1242        Reviewed by Adam Barth.
1243
1244        Test: http/tests/security/xss-DENIED-window-open-parent.html
1245
1246        * page/DOMWindow.cpp:
1247        (WebCore::DOMWindow::open):
1248
12492011-07-14  Adam Barth  <abarth@webkit.org>
1250
1251        The beforeload event allows tracking URI changes in a frame
1252        https://bugs.webkit.org/show_bug.cgi?id=64482
1253
1254        Reviewed by Nate Chapin.
1255
1256        Tests: http/tests/security/beforeload-iframe-client-redirect.html
1257               http/tests/security/beforeload-iframe-server-redirect.html
1258
1259        Only dispatch the beforeload event for a frame if we haven't yet
1260        committed our first real load.  The URL that we send to our parent will
1261        be the same URL the parent seens in the src attribute.
1262
1263        * loader/FrameLoader.cpp:
1264        (WebCore::FrameLoader::loadWithDocumentLoader):
1265
12662011-07-14  Tim Horton  <timothy_horton@apple.com>
1267
1268        Clear SVGElementInstance's children immediately upon detachment
1269        https://bugs.webkit.org/show_bug.cgi?id=63739
1270        <rdar://problem/9705708>
1271
1272        Reviewed by Nikolas Zimmermann.
1273
1274        In addition to clearing the instance's children in the destructor,
1275        clear them when the instance is detached from its <use>. This way,
1276        we won't attempt to use them after we're detached but before the
1277        destructor has been called.
1278
1279        Test: svg/custom/use-crash-using-children-before-destroy.svg
1280
1281        * svg/SVGElementInstance.cpp:
1282        (WebCore::SVGElementInstance::~SVGElementInstance):
1283        (WebCore::SVGElementInstance::clearChildren):
1284        * svg/SVGElementInstance.h:
1285        * svg/SVGUseElement.cpp:
1286        (WebCore::SVGUseElement::detachInstance):
1287
12882011-06-20  Andras Becsi  <abecsi@webkit.org>
1289
1290        Reviewed by Csaba Osztrogonác.
1291
1292        make-hash-tools.pl: Perl 5.14 compatibility
1293        https://bugs.webkit.org/show_bug.cgi?id=61890
1294
1295        No new tests needed.
1296
1297        * make-hash-tools.pl: Use if/elsif instead of switch/case.
1298
12992011-07-13  Abhishek Arya  <inferno@chromium.org>
1300
1301        Reviewed by Adam Barth.
1302
1303        Issue with Frame lifetime due to deletion in beforeload event.
1304        https://bugs.webkit.org/show_bug.cgi?id=64457
1305
1306        Copy the Frame protector higher in the stack from loadWithDocumentLoader
1307        to loadFrameRequest since any of loadPostRequest or loadURL can call
1308        loadWithDocumentLoader, thereby dispatching the beforeload event and
1309        blowing away the frame. This deleted frame will be later accessed in
1310        the loadFrameRequest function causing a crash.
1311
1312        Test: fast/events/form-iframe-target-before-load-crash2.html
1313
1314        * loader/FrameLoader.cpp:
1315        (WebCore::FrameLoader::loadFrameRequest):
1316        (WebCore::FrameLoader::loadWithDocumentLoader):
1317
13182011-06-03  Yael Aharon  <yael.aharon@nokia.com>
1319
1320        Reviewed by Kenneth Rohde Christiansen.
1321
1322        Frame flattening is broken with nested frames
1323        https://bugs.webkit.org/show_bug.cgi?id=61491
1324
1325        Do not flatten offscreen iframes during frame flattening, as flattening might make them visible.
1326
1327        Test: fast/frames/flattening/iframe-flattening-out-of-view.html
1328              fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html
1329              fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html
1330
1331        * rendering/RenderIFrame.cpp:
1332        (WebCore::RenderIFrame::flattenFrame):
1333
13342011-06-23  Robert Hogan  <robert@webkit.org>
1335
1336        Reviewed by Simon Hausmann.
1337
1338        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
1339        https://bugs.webkit.org/show_bug.cgi?id=30355
1340
1341        Test: plugins/mouse-click-plugin-clears-selection.html
1342
1343        PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
1344        in order to clear the FrameSelection in the currently focused node. In its platform-specific
1345        code Chromium already does this (WebPluginContainerImpl.cpp).
1346
1347        * WebCore.exp.in: Add symbol for FocusController::setFocusedNode
1348        * plugins/PluginView.cpp:
1349        (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
1350                                                   the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
1351                                                   redundant, since it calls both.
1352
13532011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>
1354
1355        Reviewed by Nikolas Zimmermann.
1356
1357        Assertion failure in RenderSVGInlineText::characterStartsNewTextChunk
1358        https://bugs.webkit.org/show_bug.cgi?id=63076
1359
1360        Tests: svg/custom/crash-text-in-textpath.svg
1361               svg/custom/text-node-in-text-invalidated.svg
1362
1363        The problem was that we did not call setNeedsPositionUpdate on RenderSVGText. When
1364        doing our layout, we would not update the attributes on our SVGRenderInlineText as
1365        we would not lay it out.
1366
1367        This was caused by childrenChanged being overridden on SVGTextPositioningElement but
1368        not on SVGTextPathElement.
1369
1370        As both classes shared the same mother class, it made sense to move the logic here.
1371        There should be no other side effects as SVGTextPathElement and SVGTextPositioningElement
1372        are the only classes deriving from SVGTextContentElement.
1373
1374        * svg/SVGTextContentElement.cpp:
1375        (WebCore::SVGTextContentElement::childrenChanged): Moved this method from SVGTextPositioningElement.
1376        * svg/SVGTextContentElement.h:
1377        * svg/SVGTextPositioningElement.cpp:
1378        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Updated after updatePositioningValuesInRenderer
1379        removal, replaced by RenderSVGText::locateRenderSVGTextAncestor.
1380        * svg/SVGTextPositioningElement.h:
1381
13822011-06-30  Abhishek Arya  <inferno@chromium.org>
1383
1384        Reviewed by Ryosuke Niwa.
1385
1386        Crash when calling DOMSubtreeModified event when extracting range
1387        contents.
1388        https://bugs.webkit.org/show_bug.cgi?id=63650
1389
1390        Convert a few nodes to RefPtrs and add commonRoot verification checks
1391        for Range::processContents.
1392
1393        Tests: fast/dom/Range/range-extract-contents-event-fire-crash.html
1394               fast/dom/Range/range-extract-contents-event-fire-crash2.html
1395
1396        * dom/Range.cpp:
1397        (WebCore::childOfCommonRootBeforeOffset):
1398        (WebCore::Range::processContents):
1399        (WebCore::Range::processContentsBetweenOffsets):
1400        (WebCore::Range::processAncestorsAndTheirSiblings):
1401
14022011-06-23  Abhishek Arya  <inferno@chromium.org>
1403
1404        Reviewed by James Robinson.
1405
1406        In RenderBlock, RenderWidget and RenderReplaced destroy functions,
1407        call dirtyLinesFromChangedChild to tell our parent that we are going away.
1408        https://bugs.webkit.org/show_bug.cgi?id=60307
1409
1410        Test: fast/block/child-not-removed-from-parent-lineboxes-crash.html
1411              fast/block/block-not-removed-from-parent-lineboxes-crash.html
1412
1413        * rendering/RenderBlock.cpp:
1414        (WebCore::RenderBlock::destroy):
1415        * rendering/RenderReplaced.cpp:
1416        (WebCore::RenderReplaced::destroy):
1417        * rendering/RenderReplaced.h:
1418        * rendering/RenderWidget.cpp:
1419        (WebCore::RenderWidget::destroy):
1420
14212011-05-05  David Hyatt  <hyatt@apple.com>
1422
1423        Reviewed by Darin Adler.
1424
1425        <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive
1426
1427        Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
1428        Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
1429        (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
1430        (the object being removed has no effect on any lines).
1431
1432        Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
1433        is encountered has a null inlineBoxWrapper().  Just a slight speed optimization to avoid an extra null check.
1434
1435        * rendering/RenderBlock.cpp:
1436        (WebCore::RenderBlock::destroy):
1437        * rendering/RenderInline.cpp:
1438        (WebCore::RenderInline::destroy):
1439        (WebCore::RenderInline::culledInlineFirstLineBox):
1440        (WebCore::RenderInline::culledInlineLastLineBox):
1441
14422011-06-28  Roland Steiner  <rolandsteiner@chromium.org>
1443
1444        Reviewed by Eric Seidel.
1445
1446        Bug 55930 - (CVE-2011-1440) Incorrect handling of 'display:' property within nested <ruby> tags
1447        https://bugs.webkit.org/show_bug.cgi?id=55930
1448
1449        Don't set style type BEFORE/AFTER on anonymous wrapper block.
1450        Rather, check style type on generated wrapped child.
1451
1452        Tests: fast/ruby/generated-after-counter-doesnt-crash.html
1453               fast/ruby/generated-before-and-after-counter-doesnt-crash.html
1454               fast/ruby/generated-before-counter-doesnt-crash.html
1455
1456        * rendering/RenderRuby.cpp:
1457        (WebCore::isAnonymousRubyInlineBlock):
1458        (WebCore::isRubyBeforeBlock):
1459        (WebCore::isRubyAfterBlock):
1460        (WebCore::rubyBeforeBlock):
1461        (WebCore::rubyAfterBlock):
1462        (WebCore::createAnonymousRubyInlineBlock):
1463        (WebCore::RenderRubyAsInline::addChild):
1464        (WebCore::RenderRubyAsBlock::addChild):
1465
14662011-05-23  Matthew Delaney  <mdelaney@apple.com>
1467
1468        Reviewed by Simon Fraser.
1469
1470        Remove safeFloatToInt() in FloatRect.cpp and replace with working version of clampToInteger()
1471        https://bugs.webkit.org/show_bug.cgi?id=58216
1472
1473        No new tests. The SVG tests mask-excessive-malloc.svg and pattern-excessive-malloc.svg exercise this code path.
1474
1475        * platform/graphics/FloatRect.cpp:
1476        (WebCore::enclosingIntRect):
1477
14782011-06-27  Joe Wild  <joseph.wild@nokia.com>
1479
1480        Reviewed by Simon Fraser.
1481
1482        Crash on www.crave.cnet.com in FrameView::windowClipRect()
1483        https://bugs.webkit.org/show_bug.cgi?id=56393
1484
1485        Check for a null renderer to fix a crash. This situation can
1486        arise when external content/plugins is referenced from html
1487        elements with style="display:none".
1488
1489        Test: plugins/hidden-iframe-with-swf-plugin.html
1490
1491        * page/FrameView.cpp:
1492        (WebCore::FrameView::windowClipRect):
1493
14942011-06-15  Jer Noble  <jer.noble@apple.com>
1495
1496        Reviewed by Timothy Hatcher.
1497
1498        Full-screen live streams have status text in wrong location
1499        https://bugs.webkit.org/show_bug.cgi?id=62733
1500
1501        Fix a misspelling in the user-agent stylesheet for full-screen mode.
1502
1503        * css/fullscreenQuickTime.css:
1504        (video:-webkit-full-screen::-webkit-media-controls-status-display):
1505
15062011-06-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1507
1508        Reviewed by Andreas Kling.
1509
1510        [Qt] tst_QWebFrame::overloadedSlots() fails
1511        https://bugs.webkit.org/show_bug.cgi?id=37319
1512
1513        This patch is based on Noam Rosenthal original patch in the same bug.
1514
1515        When hinted with QWebElement metatype, we qualify the conversion
1516        from JSElement as a "perfect match".
1517
1518        The test was failing because the wrong slot was called, since the QWebElement
1519        match was taken as equal to the others and not chosen when the metacall happened.
1520
1521        * bridge/qt/qt_runtime.cpp:
1522        (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
1523        to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
1524        why we have the implicit conversion.
1525
15262011-06-27  Abhishek Arya  <inferno@chromium.org>
1527
1528        Reviewed by Simon Fraser.
1529
1530        Fix removal of overhanging floats on style changes to absolute/fixed position.
1531        https://bugs.webkit.org/show_bug.cgi?id=63355
1532
1533        1. If we are not currently positioned.
1534        2. And we are not floating. (If we are floating, then this will be automatically
1535           done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists)
1536        3. And we have overhanging floats from previous sibling blocks.
1537        4. And our new new style tells that we will have absolute or fixed position.
1538
1539        Then, we mark all our descendants with floats for layout. This will make sure that
1540        overhanging floats are removed. Also, it is important to do that since if that previous
1541        sibling block goes away, it is not able to tell us that to remove those floats thinking
1542        that being a positioned block, we should have removed them already.
1543
1544        Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
1545               fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
1546               fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
1547               fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
1548               fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
1549               fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
1550               fast/block/float/overhanging-float-add-in-static-position-block.html
1551               fast/block/float/overhanging-float-add-in-static-position-block2.html
1552               fast/block/float/overhanging-float-remove-from-absolute-position-block.html
1553               fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
1554               fast/block/float/overhanging-float-remove-from-fixed-position-block.html
1555               fast/block/float/overhanging-float-remove-from-fixed-position-block2.html
1556
1557        * rendering/RenderBlock.cpp:
1558        (WebCore::RenderBlock::styleWillChange):
1559
15602011-06-27  Ryosuke Niwa  <rniwa@webkit.org>
1561
1562        Reviewed by Kent Tamura.
1563
1564        Crash in TextIterator
1565        https://bugs.webkit.org/show_bug.cgi?id=63334
1566
1567        Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
1568        and check !m_offset when handling first letter.
1569
1570        Also add more assertions to help detecting similar bugs.
1571
1572        Test: editing/text-iterator/first-letter-rtl-crash.html
1573
1574        * editing/TextIterator.cpp:
1575        (WebCore::TextIterator::handleTextNode):
1576        (WebCore::TextIterator::emitText):
1577
15782011-06-27  Huang Dongsung  <luxtella@company100.net>
1579
1580        Reviewed by Kenneth Rohde Christiansen.
1581
1582        TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
1583        error.
1584        https://bugs.webkit.org/show_bug.cgi?id=62422
1585
1586        REGRESSION(r77286): Remove bottomRight().
1587        REGRESSION(r77312): Change the logic to get the bottom right point.
1588        REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
1589        REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
1590        REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
1591
1592        If the viewport width equals the contents width, especially in the mobile
1593        device, TiledBackingStore endlessly creates and deletes the rightmost
1594        column and bottom row of tiles.
1595        In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
1596        deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
1597        tiles infinitely.
1598        Modified TiledDrawingAreaProxy also.
1599
1600        * platform/graphics/TiledBackingStore.cpp:
1601        (WebCore::innerBottomRight):
1602        (WebCore::TiledBackingStore::invalidate):
1603        (WebCore::TiledBackingStore::paint):
1604        (WebCore::TiledBackingStore::createTiles):
1605
16062011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
1607
1608        Reviewed by Kenneth Rohde Christiansen.
1609
1610        [Qt] Remove Phonon MediaPlayer from the tree.
1611        https://bugs.webkit.org/show_bug.cgi?id=63448
1612
1613        Remove Phonon mediaplayer as it is unused, not finished and
1614        unmaintained.
1615
1616        * WebCore.gypi:
1617        * WebCore.pri:
1618        * WebCore.pro:
1619        * features.pri:
1620        * platform/graphics/MediaPlayer.cpp:
1621        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
1622        * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
1623
16242011-06-10  Darin Adler  <darin@apple.com>
1625
1626        Reviewed by Eric Carlson.
1627
1628        REGRESSION: Fullscreen video controller can't be dragged
1629        https://bugs.webkit.org/show_bug.cgi?id=62462
1630
1631        No regression test because we don't have machinery for testing the fullscreen
1632        mode. We may find a way to add this in the future.
1633
1634        * html/shadow/MediaControlElements.cpp:
1635        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
1636        booleans related to dragging.
1637        (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
1638        is allowed and a drag isn't already in progress.
1639        (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
1640        dragging is already in progress.
1641        (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
1642        done during the dragging process.
1643        (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
1644        using explicit top/left.
1645        (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
1646        done by setPosition.
1647        (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
1648        continueDrag, and endDrag in response to mouse events.
1649        (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
1650        * html/shadow/MediaControlElements.h: Added new function and data members
1651        as mentioned above.
1652
1653        * html/shadow/MediaControlRootElement.cpp:
1654        (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
1655        so you can drag the panel while in fullscreen.
1656        (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
1657        so you can't drag the panel while not in fullscreen. Also call resetPosition so
1658        position changes from dragging don't affect the panel in other contexts.
1659
16602011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
1661
1662        Reviewed by Darin Adler.
1663
1664        REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
1665        https://bugs.webkit.org/show_bug.cgi?id=63373
1666
1667        * css/CSSStyleSelector.cpp:
1668        (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
1669        (WebCore::CSSStyleSelector::pushParent): Ditto.
1670        * dom/Node.cpp:
1671        (WebCore::Node::parentOrHostElement): Added.
1672        * dom/Node.h:
1673
16742011-06-24  Alexey Proskuryakov  <ap@apple.com>
1675
1676        Rubber-stamped by Maciej Stachowiak.
1677
1678        REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
1679
1680        No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
1681        the rollout will re-introduce the older less frequent crash).
1682
1683        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
1684        for bug 62764.
1685
16862011-06-23  Abhishek Arya  <inferno@chromium.org>
1687
1688        Reviewed by Adam Barth.
1689
1690        RefPtr m_style in MediaQueryEvaluator in case of callers like
1691        MediaQueryMatcher::prepareEvaluator that do not retain its reference.
1692        https://bugs.webkit.org/show_bug.cgi?id=63264
1693
1694        Test: fast/css/media-query-evaluator-crash.html
1695
1696        * css/MediaQueryEvaluator.cpp:
1697        (WebCore::MediaQueryEvaluator::eval):
1698        * css/MediaQueryEvaluator.h:
1699
17002011-06-22  Annie Sullivan  <sullivan@chromium.org>
1701
1702        Reviewed by Ryosuke Niwa.
1703
1704        REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
1705        https://bugs.webkit.org/show_bug.cgi?id=61594
1706
1707        When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
1708        split at to be at the end of a text node. The code assumes the position is at the start of the node, so
1709        pass the correct node into splitTreeToNode() in that case.
1710
1711        Tests: editing/inserting/return-key-before-br-in-span.html
1712               editing/inserting/return-key-middle-of-span.html
1713
1714        * editing/InsertParagraphSeparatorCommand.cpp:
1715        (WebCore::InsertParagraphSeparatorCommand::doApply):
1716
17172011-05-24  Matthew Delaney  <mdelaney@apple.com>
1718
1719        Reviewed by Simon Fraser.
1720
1721        Clamp coordinates to integers for canvas create/getImageData routines
1722        https://bugs.webkit.org/show_bug.cgi?id=61135
1723
1724        Test: fast/canvas/canvas-getImageData-largeNonintegralDimensions.html
1725
1726        * html/HTMLCanvasElement.cpp:
1727        (WebCore::HTMLCanvasElement::convertLogicalToDevice): clamp to ints
1728        * html/canvas/CanvasRenderingContext2D.cpp:
1729        (WebCore::CanvasRenderingContext2D::createImageData):
1730        (WebCore::CanvasRenderingContext2D::getImageData):
1731        * platform/graphics/cg/ImageBufferDataCG.cpp:
1732        (WebCore::ImageBufferData::getData):
1733
17342011-06-09  Adam Barth  <abarth@webkit.org>
1735
1736        Reviewed by Eric Seidel.
1737
1738        Running script from attach can remove elements from the stack of open elements
1739        https://bugs.webkit.org/show_bug.cgi?id=62160
1740
1741        When the tree build runs script synchronously, that script can remove
1742        arbitrary elements from the stack of open elements.  We need to hold a
1743        reference to |parent| in attach instead of rely upon the reference in
1744        the stack of open elements.
1745
1746        Test: fast/parser/document-write-onload-clear.html
1747
1748        * html/parser/HTMLConstructionSite.cpp:
1749        (WebCore::HTMLConstructionSite::attach):
1750
17512011-06-09  Mike Lawther  <mikelawther@chromium.org>
1752
1753        Reviewed by Kent Tamura.
1754
1755        Parsing issue with -webkit-calc
1756        https://bugs.webkit.org/show_bug.cgi?id=62276
1757
1758        Set the CSSParserString for the calc functions.
1759
1760        Test: css3/calc/regression-62276.html
1761
1762        * css/CSSParser.cpp:
1763        (WebCore::CSSParser::lex):
1764
17652011-06-20  Adam Barth  <abarth@webkit.org>
1766
1767        Reviewed by Alexey Proskuryakov.
1768
1769        ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
1770        https://bugs.webkit.org/show_bug.cgi?id=61774
1771
1772        This ASSERT triggers for the same underlying issue that causes
1773        Bug 62971: When we tokenize a </script> tag, we don't realize that
1774        we've already consumed the "</script>" from the input stream when we
1775        extracted the previous token.  That causes the source tracker to be
1776        out-of-sync, triggering the incorrect view-source highlighting and this
1777        ASSERT.
1778
1779        For now, let's just silence the assert while we work on Bug 62971.
1780
1781        Test: fast/parser/attributes-on-close-script.html
1782
1783        * html/parser/HTMLToken.h:
1784        (WebCore::HTMLToken::appendToAttributeName):
1785        (WebCore::AtomicHTMLToken::initializeAttributes):
1786
17872011-06-16  Abhishek Arya  <inferno@chromium.org>
1788
1789        Reviewed by Adam Barth.
1790
1791        RefPtr frame since it can get removed in
1792        FrameLoader::finishedParsing.
1793        https://bugs.webkit.org/show_bug.cgi?id=62812
1794
1795        Tests: already tested by fast/parser/document-write-into-initial-document.html.
1796
1797        * dom/Document.cpp:
1798        (WebCore::Document::finishedParsing):
1799
18002011-06-07  Abhishek Arya  <inferno@chromium.org>
1801
1802        Reviewed by Dan Bernstein.
1803
1804        Replicate WidthIterator.cpp fix from r88139.
1805        https://bugs.webkit.org/show_bug.cgi?id=62238
1806
1807        No new tests. Covered by existing layout tests on XP debug bots.
1808
1809        * platform/graphics/win/UniscribeController.cpp:
1810        (WebCore::UniscribeController::advance):
1811
18122011-06-01  Abhishek Arya  <inferno@chromium.org>
1813
1814        Unreviewed.
1815
1816        Coding style nit. Move ec=0 initialization, change
1817        recommended by Alexey in bug.
1818        https://bugs.webkit.org/show_bug.cgi?id=60831
1819
1820        * dom/Document.cpp:
1821        (WebCore::Document::setBody):
1822
18232011-06-01  Abhishek Arya  <inferno@chromium.org>
1824
1825        Reviewed by Alexey Proskuryakov.
1826
1827        Fix setting of document.body
1828        https://bugs.webkit.org/show_bug.cgi?id=60831
1829
1830        1. Only allowing setting to an element if it has a body tag.
1831        2. If element is from another document, import it.
1832
1833        Test: fast/dom/document-set-body.html
1834
1835        * dom/Document.cpp:
1836        (WebCore::Document::setBody):
1837
18382011-06-01  Abhishek Arya  <inferno@chromium.org>
1839
1840        Reviewed by Antti Koivisto.
1841
1842        Do not use the pushed style selector if it is not equal to the
1843        parent document's style selector. It usually means that it is
1844        in a bad state, e.g. already cleared.
1845        https://bugs.webkit.org/show_bug.cgi?id=61737
1846
1847        * dom/Element.cpp:
1848        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
1849
18502011-06-17  Abhishek Arya  <inferno@chromium.org>
1851
1852        Reviewed by Dave Hyatt.
1853
1854        When we lose ability to propagate floats, need to find topmost
1855        parent with that overhanging float, and then iterate over its
1856        sibling blocks to remove the float.
1857        https://bugs.webkit.org/show_bug.cgi?id=62875
1858
1859        Test: fast/block/float/float-not-removed-from-next-sibling5.html
1860
1861        * rendering/RenderBlock.cpp:
1862        (WebCore::RenderBlock::styleDidChange):
1863        (WebCore::RenderBlock::hasOverhangingFloat):
1864        * rendering/RenderBlock.h:
1865
18662011-05-10  Abhishek Arya  <inferno@chromium.org>
1867
1868        Reviewed by Simon Fraser.
1869
1870        Add containsFloats call to hasOverhangingFloats.
1871        https://bugs.webkit.org/show_bug.cgi?id=60537
1872
1873        Test: fast/block/float/no-overhanging-float-crash.html
1874
1875        * rendering/RenderBlock.cpp:
1876        (WebCore::RenderBlock::repaintOverhangingFloats):
1877        * rendering/RenderBlock.h:
1878        (WebCore::RenderBlock::hasOverhangingFloats):
1879
18802011-05-05  Abhishek Arya  <inferno@chromium.org>
1881
1882        Reviewed by Dave Hyatt.
1883
1884        When style changes for a RenderBlock and we lose our ability to intrude into
1885        floats in the next siblings block (e.g a position change), make sure to mark
1886        our childs with floats for layout and iterate through our next sibling block
1887        chain to see which ones contain the float that also exists in our floating
1888        objects list and clear those using markAllDescendantsWithFloatsForLayout.
1889        https://bugs.webkit.org/show_bug.cgi?id=56299
1890
1891        Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
1892               fast/block/float/float-not-removed-from-next-sibling.html
1893               fast/block/float/float-not-removed-from-next-sibling2.html
1894               fast/block/float/float-not-removed-from-next-sibling3.html
1895               fast/block/float/float-not-removed-from-next-sibling4.html
1896
1897        * rendering/RenderBlock.cpp:
1898        (WebCore::RenderBlock::styleWillChange):
1899        (WebCore::RenderBlock::styleDidChange):
1900        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
1901        * rendering/RenderBlock.h:
1902
19032011-06-16  Gabor Loki  <loki@webkit.org>
1904
1905        [Qt] Unreviewed, build fix after r89118.
1906
1907        * dom/XMLDocumentParserQt.cpp:
1908        (WebCore::XMLDocumentParser::initializeParserContext):
1909
19102011-06-16  Jeffrey Pfau  <jpfau@apple.com>
1911
1912        Reviewed by Alexey Proskuryakov.
1913
1914        Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference
1915        https://bugs.webkit.org/show_bug.cgi?id=61053
1916
1917        XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled.
1918
1919        Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml
1920               fast/parser/xhtml-innerhtml-null-byte.xhtml
1921
1922        * dom/XMLDocumentParser.h:
1923        * dom/XMLDocumentParserLibxml2.cpp:
1924        (WebCore::XMLParserContext::createMemoryParser):
1925        (WebCore::XMLDocumentParser::initializeParserContext):
1926        (WebCore::XMLDocumentParser::appendFragmentSource):
1927
19282011-06-15  Abhishek Arya  <inferno@chromium.org>
1929
1930        Reviewed by Antti Koivisto.
1931
1932        Revert speculative fix in r84151. It caused some issues with
1933        stylesheet lifetimes.
1934        https://bugs.webkit.org/show_bug.cgi?id=62586
1935
1936        Tests: fast/dom/body-clone-link-decl-parent-crash.html
1937               fast/dom/styled-clone-inline-style-decl-parent-crash.html
1938               fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html
1939
1940        * dom/Document.cpp:
1941        (WebCore::Document::removedLastRef):
1942
19432011-06-15  Sam Weinig  <sam@webkit.org>
1944
1945        Reviewed by Alexey Proskuryakov.
1946
1947        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
1948        https://bugs.webkit.org/show_bug.cgi?id=62764
1949
1950        This is an non-reproducible high volume crash, so no test :(.
1951
1952        * loader/DocumentLoader.cpp:
1953        (WebCore::DocumentLoader::detachFromFrame):
1954        Be conservative and stop loading when we detach a document loader from a frame.
1955
19562011-06-14  Jeffrey Pfau  <jpfau@apple.com>
1957
1958        Reviewed by David Hyatt.
1959
1960        Null dereference in WebCore::RenderBlock::splitFlow regarding use of multicol, inline-block, and spanning elements
1961        https://bugs.webkit.org/show_bug.cgi?id=60028
1962
1963        Ensure that the parent block of a spanning element, if it is not itself
1964        a multicol element, is not inline.
1965
1966        Test: fast/multicol/span/span-as-nested-inline-block-child.html
1967
1968        * rendering/RenderBlock.cpp:
1969        (WebCore::RenderBlock::columnsBlockForSpanningElement):
1970
19712011-06-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1972
1973        Reviewed by Laszlo Gombos.
1974
1975        [Qt] [Symbian] GraphicsLayer: support plugins on symbian
1976        https://bugs.webkit.org/show_bug.cgi?id=57418
1977
1978        Implement graphics layer for plugins on Symbian.
1979
1980        * plugins/PluginView.h:
1981        * plugins/qt/PluginViewQt.cpp:
1982        (WebCore::PluginView::shouldUseAcceleratedCompositing):
1983        (WebCore::PluginView::platformStart):
1984        * plugins/symbian/PluginViewSymbian.cpp:
1985        (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
1986        (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
1987        (WebCore::PluginGraphicsLayerQt::paint):
1988        (WebCore::PluginView::shouldUseAcceleratedCompositing):
1989        (WebCore::PluginView::paint):
1990        (WebCore::PluginView::invalidateRect):
1991        (WebCore::PluginView::platformStart):
1992        (WebCore::PluginView::platformLayer):
1993
19942011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1995
1996        Unreviewed, rolling out r88796.
1997        http://trac.webkit.org/changeset/88796
1998        https://bugs.webkit.org/show_bug.cgi?id=62790
1999
2000        It made fast/dom/nodesFromRect-basic.html time out on Qt,
2001        64-bit, debug mode (Requested by Ossy on #webkit).
2002
2003        * bridge/qt/qt_runtime.cpp:
2004        (JSC::Bindings::convertValueToQVariant):
2005
20062011-06-13  Jeffrey Pfau  <jpfau@apple.com>
2007
2008        Reviewed by Darin Adler.
2009
2010        Crash in WebCore::RenderMathMLUnderOver::layout()
2011        https://bugs.webkit.org/show_bug.cgi?id=57900
2012
2013        Add more null checks so that removing children in MathML elements does not cause crashes.
2014        Note that this only half fixes the third repro in the Bugzilla bug, as another bug will
2015        still crash that repro.
2016
2017        Test: mathml/munderover-remove-children.html
2018
2019        * rendering/mathml/RenderMathMLSubSup.cpp:
2020        (WebCore::RenderMathMLSubSup::stretchToHeight):
2021        * rendering/mathml/RenderMathMLUnderOver.cpp:
2022        (WebCore::RenderMathMLUnderOver::layout):
2023        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
2024
20252011-06-13  Ryosuke Niwa  <rniwa@webkit.org>
2026
2027        Reviewed by Dan Bernstein.
2028
2029        REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
2030        https://bugs.webkit.org/show_bug.cgi?id=62544
2031
2032        Fixed the crash by adding null pointer checks.
2033
2034        No new tests since there's no way to open dictionary panel.
2035
2036        * dom/Position.cpp:
2037        (WebCore::Position::parentAnchoredEquivalent):
2038        * editing/VisiblePosition.cpp:
2039        (WebCore::makeRange):
2040        * page/Frame.cpp:
2041        (WebCore::Frame::rangeForPoint):
2042
20432011-06-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2044
2045        Reviewed by Andreas Kling.
2046
2047        [Qt] tst_QWebFrame::overloadedSlots() fails
2048        https://bugs.webkit.org/show_bug.cgi?id=37319
2049
2050        Increase the likeness that JSElements are converted to QWebElements. When hinted
2051        with QWebElement metatype, we qualify the conversion from JSElement as a "perfect
2052        match".
2053
2054        The test was failing because the wrong slot was called, since the QWebElement
2055        match was taken as equal to the others and not chosen when the metacall happened.
2056
2057        We also remove the implicit conversion between JSDocument (which is not an
2058        element) to QWebElement. The conversion only worked for calling slots, while
2059        without hint it returned a QVariantMap (as can be seen in domCycles test). It was
2060        added for supporting DRT, but since this change we can use it as QVariantMap and
2061        get the value for "documentElement".
2062
2063        This patch is based on Noam Rosenthal original patch in the same bug.
2064
2065        * bridge/qt/qt_runtime.cpp:
2066        (JSC::Bindings::hintForRealType):
2067        Extracted function to choose the metatype hint based on the JSValue type.  Add
2068        QWebElement metatype as a hint for JSElement objects, this way if no hint is
2069        provided, JSElement objects will always be converted to QWebElements.
2070
2071        (JSC::Bindings::convertValueToQVariant):
2072        Use previous function. Identify the conversion between JSElement to QWebElement
2073        as a "perfect match" (dist = 0). And remove the implicit conversion when the hint
2074        is QWebElement metatype and we have a JSDocument.  Changed from JSHTMLElement to
2075        JSElement to cover the 'documentElement'.
2076
20772011-06-12  Dan Bernstein  <mitz@apple.com>
2078
2079        Reviewed by Darin Adler.
2080
2081        <rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
2082        https://bugs.webkit.org/show_bug.cgi?id=61557
2083
2084        Replaced the fix for bug 58500 with a refined version.
2085
2086        * rendering/RenderText.cpp:
2087        (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
2088        across a layer boundary.
2089
20902011-06-10  Abhishek Arya  <inferno@chromium.org>
2091
2092        Reviewed by Simon Fraser.
2093
2094        Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
2095        when removed from document, set them when reinserted into document.
2096        https://bugs.webkit.org/show_bug.cgi?id=62230
2097
2098        When a HTMLBodyElement, StyledElement are removed from document,
2099        we didn't clear out the parent pointers from their link, style declarations.
2100        These parent pointers pointed to the document's element sheet which will
2101        get removed when document is getting destroyed. It does make sense to
2102        clear out parent pointers when we are getting removed from document and
2103        readd them when we get inserted again.
2104
2105        Tests: fast/dom/body-link-decl-parent-crash.html
2106               fast/dom/styled-inline-style-decl-parent-crash.html
2107
2108        * dom/StyledElement.cpp:
2109        (WebCore::StyledElement::insertedIntoDocument):
2110        (WebCore::StyledElement::removedFromDocument):
2111        * dom/StyledElement.h:
2112        * html/HTMLBodyElement.cpp:
2113        (WebCore::HTMLBodyElement::parseMappedAttribute):
2114        (WebCore::HTMLBodyElement::insertedIntoDocument):
2115        (WebCore::HTMLBodyElement::removedFromDocument):
2116        (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
2117        * html/HTMLBodyElement.h:
2118
21192011-06-10  James Simonsen  <simonjam@chromium.org>
2120
2121        Reviewed by Tony Gentilcore.
2122
2123        Don't execute scripts in shadow SVG.
2124        https://bugs.webkit.org/show_bug.cgi?id=62225
2125
2126        Test: svg/dom/use-style-recalc-script-execute-crash.html
2127
2128        * dom/ScriptElement.cpp:
2129        (WebCore::ScriptElement::prepareScript):
2130
21312011-06-09  Jian Li  <jianli@chromium.org>
2132
2133        Reviewed by David Levin.
2134
2135        Calling WebKitBlobBuilder.append with null argument should not crash
2136        https://bugs.webkit.org/show_bug.cgi?id=62419
2137
2138        Test: fast/files/blob-builder-crash.html
2139
2140        * fileapi/WebKitBlobBuilder.cpp:
2141        (WebCore::WebKitBlobBuilder::append):
2142
21432011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
2144
2145        Reviewed by Antti Koivisto.
2146
2147        REGRESSION(84329): Stylesheets on some pages do not load
2148        https://bugs.webkit.org/show_bug.cgi?id=61400
2149
2150        Test: fast/css/link-disabled-attr.html
2151
2152        Fixed r84329: the change did not take into account the fact
2153        that HTMLLinkElement did already contain the disabled information
2154        and the 2 information were not linked as they should have!
2155
2156        The new logic pushes the information to the stylesheet as this
2157        is what the spec mandates and what FF is doing. Also it keeps
2158        one bit of information (that JS enabled the stylesheet) as it
2159        is needed for the recalcStyleSelector logic.
2160
2161        * dom/Document.cpp:
2162        (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
2163
2164        * html/HTMLLinkElement.cpp:
2165        (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
2166        replaced by m_isEnabledViaScript.
2167        (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
2168        m_disabledState removal. It also matches the spec by forwarding
2169        the disabled state to our stylesheet if we have one.
2170        (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
2171        handling of the disabledAttr.
2172        (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
2173        * html/HTMLLinkElement.h:
2174        (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
2175        (WebCore::HTMLLinkElement::isAlternate): Ditto.
2176
21772011-06-09  Simon Fraser  <simon.fraser@apple.com>
2178
2179        Reviewed by Darin Adler.
2180
2181        Crashes in RenderLayerBacking::paintingGoesToWindow
2182        https://bugs.webkit.org/show_bug.cgi?id=61159
2183
2184        Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
2185        finds a repaintContainer that is not the RenderView, but that is also not
2186        composited (for unknown reasons), by checking to see if the layer is
2187        compositing before using backing(). An assertion remains to try to catch
2188        this in debug builds.
2189
2190        * rendering/RenderLayer.cpp:
2191        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2192
21932011-06-09  Julien Chaffraix  <jchaffraix@webkit.org>
2194
2195        Reviewed by Darin Adler.
2196
2197        WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
2198        https://bugs.webkit.org/show_bug.cgi?id=62384
2199
2200        Test: fast/css/webkit-keyframes-crash.html
2201
2202        * css/WebKitCSSKeyframesRule.cpp:
2203        (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
2204        to return a non-null pointer. Thus null-check here like the rest of the code.
2205
22062011-06-08  Adam Barth  <abarth@webkit.org>
2207
2208        Reviewed by Eric Seidel.
2209
2210        constructTreeFromToken can re-enter parser, causing ASSERTs
2211        https://bugs.webkit.org/show_bug.cgi?id=62160
2212
2213        This patch clears the HTMLToken before constructing the tree from the
2214        token, putting the HTMLDocumentParser in a good state to be re-entered.
2215
2216        Tests: fast/parser/document-write-onload-nesting.html
2217               fast/parser/document-write-onload-ordering.html
2218
2219        * html/parser/HTMLDocumentParser.cpp:
2220        (WebCore::HTMLDocumentParser::pumpTokenizer):
2221        * html/parser/HTMLToken.h:
2222        (WebCore::HTMLToken::isUninitialized):
2223        * html/parser/HTMLTreeBuilder.cpp:
2224        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
2225
22262011-06-08  Yael Aharon  <yael.aharon@nokia.com>
2227
2228        Reviewed by Andreas Kling.
2229
2230        [Qt] Build fix for building QtWebKit inside of Qt.
2231        https://bugs.webkit.org/show_bug.cgi?id=62280
2232
2233        Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
2234        into QtWebKit.prl.
2235
2236        No new tests, as this is just a build fix.
2237
2238        * WebCore.pri:
2239
22402011-06-08  Andreas Kling  <andreas.kling@nokia.com>
2241
2242        Reviewed by Laszlo Gombos.
2243
2244        [Symbian] Float{32,64}Array and Int16Array fail to build.
2245        https://bugs.webkit.org/show_bug.cgi?id=62219
2246
2247        For some reason, RVCT 2.x is moaning about "class member designated by
2248        a using-declaration must be visible in a direct base class".
2249        Apply same fix as r69122 and r76592.
2250
2251        * html/canvas/Float32Array.h:
2252        (WebCore::Float32Array::set):
2253        * html/canvas/Float64Array.h:
2254        (WebCore::Float64Array::set):
2255        * html/canvas/Int16Array.h:
2256        (WebCore::Int16Array::set):
2257
22582011-06-07  Yi Shen  <yi.4.shen@nokia.com>
2259
2260        Reviewed by Simon Hausmann.
2261
2262        [Qt] Fix the error code for media resource failures when using QtMobility
2263        https://bugs.webkit.org/show_bug.cgi?id=55901
2264
2265        To indicate the media resource failures, set the network state to
2266        MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
2267        QMediaPlayer::ResourceError.
2268
2269        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2270        (WebCore::MediaPlayerPrivateQt::updateStates):
2271
22722011-06-05  Igor Oliveira  <igor.oliveira@openbossa.org>
2273
2274        Reviewed by Kenneth Rohde Christiansen.
2275
2276        fast/viewport/viewport-45.html fails in GTK+/Qt
2277        https://bugs.webkit.org/show_bug.cgi?id=47481
2278
2279        computeViewportAttributes does many math operations with float point arithmetic
2280        and in some cases there is loss of precision making tests have incorrect values.
2281
2282        * dom/ViewportArguments.cpp:
2283        (WebCore::computeViewportAttributes):
2284
22852011-06-04  Abhishek Arya  <inferno@chromium.org>
2286
2287        Reviewed by Kent Tamura.
2288
2289        Add some asserts for array boundary checks in TextRun. Fix
2290        an integer issue in linux text controller code.
2291        https://bugs.webkit.org/show_bug.cgi?id=62085
2292
2293        Testing ComplexTextControllerLinux change requires a testcase
2294        > 32 kb which is not feasible. All other changes are tested by
2295        existing layouttests.
2296
2297        * platform/graphics/TextRun.h:
2298        (WebCore::TextRun::operator[]): add assert.
2299        (WebCore::TextRun::data): add assert.
2300        * platform/graphics/WidthIterator.cpp:
2301        (WebCore::WidthIterator::advance): bail early and prevent access
2302        to one byte across the text run boundary.
2303        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2304        (WebCore::ComplexTextController::getNormalizedTextRun): wrong
2305        int16 vs int comparison.
2306        * rendering/svg/SVGTextRunRenderingContext.cpp:
2307        (WebCore::SVGTextRunWalker::walk): bail early when from and to
2308        is outside the text run boundary. this hit easily after adding
2309        the assert when from = to = end and read in run.data(from).
2310
23112011-06-04  Jeffrey Pfau  <jpfau@apple.com>
2312
2313        Reviewed by Beth Dakin.
2314
2315        Crash in WebCore::RenderMathMLSubSup::baselinePosition()
2316        https://bugs.webkit.org/show_bug.cgi?id=57897
2317
2318        Simple patch adding NULL checks in each function.
2319        Test: mathml/msubsup-remove-children.xhtml
2320
2321        * rendering/mathml/RenderMathMLSubSup.cpp:
2322        (WebCore::RenderMathMLSubSup::stretchToHeight):
2323        (WebCore::RenderMathMLSubSup::baselinePosition):
2324
23252011-06-03  Alexis Menard  <alexis.menard@openbossa.org>
2326
2327        Reviewed by Andreas Kling.
2328
2329        To support building namespaced Qt, we require that forward-declarations
2330        of Qt classes be wrapped in QT_BEGIN_NAMESPACE and QT_END_NAMESPACE.
2331
2332        * platform/network/qt/QtMIMETypeSniffer.h:
2333
23342011-06-01  Andras Becsi  <abecsi@webkit.org>
2335
2336        Reviewed by Csaba Osztrogonác.
2337
2338        [Qt] Fix the Phonon build when logging is disabled
2339        https://bugs.webkit.org/show_bug.cgi?id=61869
2340
2341        No new tests needed.
2342
2343        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add missing guards.
2344        (WebCore::MediaPlayerPrivatePhonon::networkState):
2345        (WebCore::MediaPlayerPrivatePhonon::readyState):
2346        (WebCore::MediaPlayerPrivatePhonon::updateStates):
2347        (WebCore::MediaPlayerPrivatePhonon::stateChanged):
2348
23492011-05-31  Abhishek Arya  <inferno@chromium.org>
2350
2351        Reviewed by Dimitri Glazkov.
2352
2353        Improve hasMediaControls logic to check that node has
2354        media controls. This can be false when cloning nodes.
2355        https://bugs.webkit.org/show_bug.cgi?id=61765
2356
2357        Test: media/media-controls-clone-crash.html
2358
2359        * dom/Node.h:
2360        (WebCore::Node::isMediaControls):
2361        * html/HTMLMediaElement.cpp:
2362        (WebCore::HTMLMediaElement::mediaControls):
2363        (WebCore::HTMLMediaElement::hasMediaControls):
2364        * html/shadow/MediaControls.h:
2365        (WebCore::MediaControls::isMediaControls):
2366        (WebCore::toMediaControls):
2367
23682011-05-30  Eric Carlson  <eric.carlson@apple.com>
2369
2370        Reviewed by Alexey Proskuryakov.
2371
2372        Audio and video files saved to the Application Cache should preserve the original file extension
2373        https://bugs.webkit.org/show_bug.cgi?id=61750
2374        <rdar://9524922>
2375
2376        No new tests, it isn't possible to check the name of the file in the cache from within
2377        DRT. Changes verified manually.
2378
2379        * loader/appcache/ApplicationCacheStorage.cpp:
2380        (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
2381            file name.
2382        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
2383        * loader/appcache/ApplicationCacheStorage.h:
2384
23852011-05-30  Jer Noble  <jer.noble@apple.com>
2386
2387        Reviewed by Darin Adler and Simon Fraser.
2388
2389        REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
2390        https://bugs.webkit.org/show_bug.cgi?id=61717
2391        rdar://problem/9522272
2392
2393        May be some good way to test this later. No immediate idea about the best way.
2394
2395        When a media element is taken into full-screen mode, stop events from propagating
2396        outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
2397        has been changed to take a shadow root node. In our full screen media element check,
2398        we check to see if the passed shadow root is the shadow root of the full screen media
2399        element, and if so, specify events should StayInsideShadowDOM. The end result is that
2400        inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
2401        way from the SliderThumb to the video element's shadow root, but no further.
2402
2403        * dom/EventDispatcher.cpp:
2404        (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
2405        shadow DOM when showing a full screen video.
2406
2407        * html/HTMLMediaElement.cpp:
2408        (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
2409        The events telling us about activity in the shadow DOM no longer bubble out so we need to
2410        handle this inside the shadow DOM on the root element.
2411        (WebCore::HTMLMediaElement::play): Ditto.
2412        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
2413        (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
2414        (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
2415        (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
2416        * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.
2417
2418        * html/shadow/MediaControlElements.cpp:
2419        (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
2420        changes that tried to make special rules for events using preDispatchEventHandler and such.
2421        This rolls out both r87622 and r87655.
2422        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
2423        (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
2424        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
2425        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
2426        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
2427        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
2428        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
2429        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
2430        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
2431        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
2432        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
2433        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
2434        * html/shadow/MediaControlElements.h: Ditto.
2435
2436        * html/shadow/MediaControlRootElement.cpp:
2437        (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
2438        (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
2439        hiding the controls later.
2440        (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
2441        is no longer over the controls.
2442        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
2443        automatically if we're playing.
2444        (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
2445        (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
2446        if we are full screen.
2447        (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
2448        (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
2449        as the mouse is moved in and out.
2450        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
2451        needed.
2452        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
2453        are met.
2454        (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.
2455
2456        * html/shadow/MediaControlRootElement.h: Added new functions and data members.
2457
2458
24592011-05-29  Brian Weinstein  <bweinstein@apple.com>
2460
2461        Reviewed by Darin Adler.
2462
2463        Controls never hide in full screen after user stops moving mouse
2464        https://bugs.webkit.org/show_bug.cgi?id=61715
2465        <rdar://problem/9522182>
2466
2467        When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
2468        show the media controls, and then start a timer.
2469
2470        The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
2471        move), and hides the controls.
2472
2473        * html/HTMLMediaElement.cpp:
2474        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
2475        (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
2476            controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
2477            to play.
2478        (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
2479            if we are in full screen.
2480        (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
2481            we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
2482        (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
2483        (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
2484            controls and start a timer to hide them.
2485        (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
2486            have the move the mouse once they enter full screen to hide the controls.
2487        (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
2488        * html/HTMLMediaElement.h:
2489        * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
2490        * html/shadow/MediaControlRootElement.cpp:
2491        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
2492        (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
2493            the caller should hide the controls if the panel is not hovered.
2494        * html/shadow/MediaControlRootElement.h:
2495
24962011-05-29  Darin Adler  <darin@apple.com>
2497
2498        Reviewed by Kevin Decker.
2499
2500        REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
2501        https://bugs.webkit.org/show_bug.cgi?id=61713
2502
2503        We need to come up with a way to regression-test these changes. Nothing at the moment.
2504
2505        The bug is that we removed calls to preventDefault, but we still do need to prevent
2506        default handling of this event.
2507
2508        * html/shadow/MediaControlElements.cpp:
2509        (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
2510        that was in here before r87622 as well as the stopPropagation that was added in r87622.
2511        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
2512        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
2513        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
2514        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
2515        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
2516        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
2517        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
2518        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
2519        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
2520
25212011-05-28  Jer Noble  <jer.noble@apple.com>
2522
2523        Reviewed by Maciej Stachowiak.
2524
2525        Mouse clicks propagate outside full-screen media controls.
2526        https://bugs.webkit.org/show_bug.cgi?id=61689
2527
2528        Mouse click events are propagating out of the media controls, so mouse click
2529        listeners registered on the video element are getting fired when the user
2530        clicks on media controller buttons.  By default, block propagation of click
2531        events from MediaControlElements by overriding preDispatchEventHandler, and
2532        convert all instances of defaultEventHandler -> preDispatchEventHandler.  Change
2533        all calls of event->setDefaultHandled() to event->stopPropagation().
2534
2535        * html/shadow/MediaControlElements.cpp:
2536        (WebCore::MediaControlElement::preDispatchEventHandler): Added.  Block
2537            propagation of all mouse click events.
2538        (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
2539            Renamed from setDefaultHandled.
2540        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
2541        (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
2542        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
2543        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
2544        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
2545        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
2546        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
2547        (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
2548        (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
2549        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
2550        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
2551        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
2552        * html/shadow/MediaControlElements.h:
2553
25542011-05-26  Alexis Menard  <alexis.menard@openbossa.org>
2555
2556        Unreviewed build fix for Qt and QuickTime backend.
2557
2558        r87328 added a new system interface, we need to add it too.
2559
2560        * platform/qt/WebCoreSystemInterface.h:
2561        * platform/qt/WebCoreSystemInterface.mm:
2562
25632011-05-24  Jer Noble  <jer.noble@apple.com>
2564
2565        Reviewed by Darin Adler.
2566
2567        Video fails to play on Vimeo
2568        https://bugs.webkit.org/show_bug.cgi?id=61403
2569
2570        No new tests; Covered by media/video-canvas-source.html.
2571
2572        Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
2573        by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
2574        creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
2575        remote->local and make our answer to hasSingleSecurityOrigin dynamic.
2576
2577        When checking whether a given request has a single security origin, use a
2578        SecurityOrigin to check the host, port, and scheme.
2579
2580        * WebCore.exp.in:
2581        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2582        (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
2583        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
2584        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2585        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
2586            for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
2587        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
2588            requested and resolved URLs have the same host and port.
2589        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2590        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for
2591            NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
2592        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
2593                requested and resolved URLs have the same host and port.
2594        * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
2595        * platform/mac/WebCoreSystemInterface.mm: Ditto.
2596
25972011-05-15  Eric Carlson  <eric.carlson@apple.com>
2598
2599        Reviewed by Maciej Stachowiak.
2600
2601        Use new AVAssetReferenceRestrictions to prevent cross site media references
2602        https://bugs.webkit.org/show_bug.cgi?id=60791
2603        <rdar://problem/9374202>
2604
2605        Test: http/tests/media/video-cross-site.html
2606
2607        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2608        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Set restriction
2609            to prevent cross-domain references from being followed.
2610
26112011-05-10  Eric Carlson  <eric.carlson@apple.com>
2612
2613        Reviewed by Darin Adler.
2614
2615        Files that load quickly sometimes won't play.
2616        https://bugs.webkit.org/show_bug.cgi?id=60556
2617        <rdar://problem/9330567>
2618
2619        No new tests, this failure is very difficult to reproduce on some machines. The fix was
2620        verified manually.
2621
2622        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2623        (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
2624            to dispatchNotification so it is more obvious which state changes call it.
2625        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
2626        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to
2627            dispatchNotification.
2628        (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
2629        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
2630        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
2631            processing "size changed" notification so we detect all state changes. Consolidate
2632            calls to updateStates here.
2633
2634        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2635        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
2636            a debug build.
2637
26382011-05-05  Eric Carlson  <eric.carlson@apple.com>
2639
2640        Reviewed by Adam Roben.
2641
2642        Block callbacks delivered during destruction
2643        https://bugs.webkit.org/show_bug.cgi?id=60291
2644        <rdar://problem/9382942>
2645
2646        No new tests, tested by existing tests.
2647
2648        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2649        (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call
2650            setIgnoreLoadStateChanges(true) to cancel all callbacks.
2651        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if
2652            m_ignoreLoadStateChanges is true.
2653        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
2654            Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
2655        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2656
26572011-05-25  Andrew Scherkus  <scherkus@chromium.org>
2658
2659        Reviewed by Eric Carlson.
2660
2661        Fix media element regression where ended event stopped firing after changing the src attribute.
2662
2663        https://bugs.webkit.org/show_bug.cgi?id=61336
2664
2665        Test: media/media-ended.html
2666
2667        * html/HTMLMediaElement.cpp:
2668        (WebCore::HTMLMediaElement::prepareForLoad):
2669
26702011-05-25  Jer Noble  <jer.noble@apple.com>
2671
2672        Reviewed by Darin Adler.
2673
2674        REGRESSION: Fullscreen button on embedded Vimeo videos does nothing
2675        https://bugs.webkit.org/show_bug.cgi?id=61461
2676
2677        Tests: fullscreen/full-screen-iframe-legacy.html
2678
2679        Allow calls from the legacy full-screen API to bypass the iframe
2680        "webkitallowfullscreen" requirement by adding a parameter to
2681        Document::webkitRequestFullScreenForElement specifying the strictness
2682        of that check.  Specify this new parameter everywhere that function is
2683        called, including in the default controls' full-screen button handler.
2684
2685        * dom/Document.cpp:
2686        (WebCore::Document::webkitRequestFullScreenForElement):
2687        * dom/Document.h:
2688        * dom/Element.cpp:
2689        (WebCore::Element::requestFullScreen): Renamed from webkitRequestFullScreen.
2690        * html/HTMLMediaElement.cpp:
2691        (WebCore::HTMLMediaElement::enterFullscreen):
2692        * html/shadow/MediaControlElements.cpp:
2693        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
2694
26952011-05-25  Alexis Menard  <alexis.menard@openbossa.org>
2696
2697        Reviewed by Eric Carlson.
2698
2699        [Qt] Enable usage of QuickTime mediaplayer for the Qt port on Mac.
2700        https://bugs.webkit.org/show_bug.cgi?id=61279
2701
2702        Enable the QuickTime backend for the Qt port on Mac. The patch adds the bits in WebCore
2703        to enable the QTKit backend of the Mac port. It can be enabled by passing DEFINES+=USE_QTKIT=1
2704        when calling build-webkit.
2705
2706        * WebCore.pri:
2707        * WebCore.pro:
2708        * features.pri:
2709        * platform/KURL.h:
2710        * platform/SharedBuffer.h:
2711        * platform/cf/KURLCFNet.cpp:
2712        * platform/cf/SharedBufferCF.cpp:
2713        * platform/graphics/FloatSize.h:
2714        * platform/graphics/IntRect.h:
2715        * platform/graphics/IntSize.h:
2716        * platform/graphics/MediaPlayer.cpp:
2717        * platform/graphics/cg/FloatSizeCG.cpp:
2718        * platform/graphics/cg/IntRectCG.cpp:
2719        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2720        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2721        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
2722        (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
2723        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2724        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2725        (WebCore::MediaPlayerPrivateQTKit::paint):
2726        (-[WebCoreMovieObserver layerHostChanged:]):
2727        * platform/mac/KURLMac.mm:
2728        * platform/mac/SharedBufferMac.mm:
2729        (+[WebCoreSharedBufferData initialize]):
2730        * platform/mac/WebCoreObjCExtras.mm:
2731        * platform/qt/WebCoreSystemInterface.h: Added.
2732        * platform/qt/WebCoreSystemInterface.mm: Added.
2733
27342011-05-16  Jeremy Noble  <jer.noble@apple.com>
2735
2736        Unreviewed; build fix for non-SnowLeopard builds.
2737
2738        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Wrap definition
2739            of layerIsDescendentOf in a #if check.
2740
27412011-05-13  Jer Noble  <jer.noble@apple.com>
2742
2743        Reviewed by Simon Fraser.
2744
2745        Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
2746        https://bugs.webkit.org/show_bug.cgi?id=60826
2747
2748        Listen for a WebKitLayerHostChanged notification and, if the affected layer is an
2749        ancestor layer of the qtMovieLayer, tear down the layer and recreate it the
2750        next time setVisible(true) is called.
2751
2752        * dom/Document.cpp:
2753        (WebCore::Document::webkitDidEnterFullScreenForElement):  Call setFullScreenRootLayer(0)
2754            before disabling animation on the full screen renderer.
2755        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2756        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2757        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Register an observer for the new
2758            WebKitLayerHostChanged notification.
2759        (WebCore::layerIsDescendentOf): Added.
2760        (WebCore::MediaPlayerPrivateQTKit::layerHostChanged): Added.  If the changed
2761            layer is an ancestor of the movie layer, tear down rendering and re-
2762            create the next time setVisible(true) is called.
2763        (-[WebCoreMovieObserver layerHostChanged:]):  Added ObjC listener wrapper.
2764
27652011-05-18  Jeremy Noble  <jer.noble@apple.com>
2766
2767        Reviewed by Darin Adler.
2768
2769        Poster is not shown in Safari for video element with no playable source elements.
2770        https://bugs.webkit.org/show_bug.cgi?id=61109
2771
2772        Test: media/video-src-invalid-poster.html
2773
2774        In the case where no video sources are playable, update the display state and
2775        renderer, allowing the poster image to display.
2776
2777        * html/HTMLMediaElement.cpp:
2778        (WebCore::HTMLMediaElement::waitForSourceChange):
2779
27802011-05-14  Jeremy Noble  <jer.noble@apple.com>
2781
2782        Reviewed by Darin Adler.
2783
2784        Exiting full screen causes <video> element inline controls to become visible
2785        https://bugs.webkit.org/show_bug.cgi?id=60142
2786
2787        Create a queue of elements who must be targeted with webkitfullscreenchange events. Instead of dispatching
2788        a single event with whatever the current value of m_fullScreenElement is (which may have been cleared, or
2789        changed since the timer was asked to fire), dispatch one event for each entry in the queue.
2790
2791        Test: fullscreen/video-controls-override.html
2792
2793        * dom/Document.cpp:
2794        (WebCore::Document::webkitDidEnterFullScreenForElement): Push current full screen element onto the
2795            webkitfullscreenchange event delay queue.
2796        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
2797        (WebCore::Document::fullScreenElementRemoved): Ditto.
2798        (WebCore::Document::fullScreenChangeDelayTimerFired): Empty the queue, dispatching a
2799            webkitfullscreenchange event for each entry.
2800        * dom/Document.h:
2801
28022011-05-05  Jer Noble  <jer.noble@apple.com>
2803
2804        Reviewed by Maciej Stachowiak.
2805
2806        Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
2807        https://bugs.webkit.org/show_bug.cgi?id=60278
2808
2809        Handle the removal of a full screen element from within Node::willRemove() instead
2810        of Document::nodeWillBeRemoved().  The new function Document::fullScreenElementWillBeRemoved() will
2811        be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().
2812
2813        Test: fullscreen/full-screen-remove-children.html
2814
2815        * dom/Document.cpp:
2816        (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
2817        (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
2818        * dom/Document.h:
2819        * dom/Node.cpp:
2820        (WebCore::Node::willRemove): Check to see if this is the current full screen element.
2821
28222011-05-04  Philippe Normand  <pnormand@igalia.com>
2823
2824        Reviewed by Martin Robinson.
2825
2826        [Gtk+] deadlock in gstreamer video player when exiting fullscreen
2827        https://bugs.webkit.org/show_bug.cgi?id=58548
2828
2829        Block data flow towards the pipeline branch to remove to avoid
2830        potential deadlocks during the PAUSED->READY transitions of the
2831        elements to remove.
2832
2833        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2834        (WebCore::GStreamerGWorld::exitFullscreen):
2835
28362011-05-11  Eric Carlson  <eric.carlson@apple.com>
2837
2838        Reviewed by Darin Adler.
2839
2840        Video track sometimes fails to draw.
2841        https://bugs.webkit.org/show_bug.cgi?id=60635
2842        <rdar://problem/9281951>
2843
2844        No new tests, covered by existing pixel tests.
2845
2846        * html/HTMLMediaElement.cpp:
2847        (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a
2848            recalculation, and media engine notification, the next time the state machine runs.
2849
28502011-05-05  Eric Carlson  <eric.carlson@apple.com>
2851
2852        Reviewed by Adam Roben.
2853
2854        The preload attribute of the video tag is not completely implemented
2855        https://bugs.webkit.org/show_bug.cgi?id=43673
2856        <rdar://problem/9369746>
2857
2858        This change implements "preload=metadata" for the AVFoundation backend.
2859        Tested manually with manual-tests/media-elements/video-preload.html.
2860
2861        * html/HTMLMediaElement.cpp:
2862        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
2863        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
2864        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
2865        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
2866            because we need to have media data loaded to seek.
2867        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
2868        * html/HTMLMediaElement.h:
2869
2870        * manual-tests/media-elements/video-preload.html: Make changing urls work.
2871
2872        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2873        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove
2874            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
2875        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
2876        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
2877            Move all preload logic to setPreload, call it from here.
2878        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
2879            setPreload, call it.
2880        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
2881            unlikely to be correct and isn't worth caching. Use invalidTime() function.
2882        (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
2883        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
2884        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
2885            to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
2886            without one. Set networkState to 'idle' when the playback buffer is full because that is
2887            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
2888            when the first frame is available.
2889        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
2890            width, height, hasVideo, etc.
2891        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
2892        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
2893        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
2894        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
2895            in derived classes.
2896        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
2897            AVAsset and AVPlayerItem here.
2898        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2899
2900        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
2901        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2902        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
2903            m_videoFrameHasDrawn.
2904        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
2905            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
2906            if we have painted a frame to the context.
2907        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
2908            if necessary.
2909        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
2910        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
2911        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
2912        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
2913        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
2914            the buffer is full.
2915        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
2916            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
2917            when we only have metadata.
2918        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
2919        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
2920        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
2921            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
2922            when we only have metadata.
2923        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
2924            we have allocated the AVPlayerItem.
2925
29262011-06-03  Doreen Jiang  <doreen.jiang@nokia.com>
2927
2928        Reviewed by Benjamin Poulain.
2929
2930        [Qt]The minimum size of the select menu list is incorrect for qtwebkit
2931        https://bugs.webkit.org/show_bug.cgi?id=56752
2932
2933        The minimum width of the select-box is calculated to be as small as possible
2934        instead of hardcoded value (width of 7 characters) in minimumMenuListSize() function
2935        This will avoid overapping the select lists in popular websites.
2936
2937        Test: fast/forms/selectlist-minsize.html
2938
2939        * platform/qt/RenderThemeQt.cpp:
2940        (WebCore::RenderThemeQt::minimumMenuListSize):
2941
29422011-06-02  Ryosuke Niwa  <rniwa@webkit.org>
2943
2944        Reviewed by Eric Seidel.
2945
2946        REGRESSION: inline style is lost when deleting line break between paragraphs with same style
2947        https://bugs.webkit.org/show_bug.cgi?id=61899
2948
2949        The bug was caused by ReplaceSelectionCommand::doApply's calling handleStyleSpansBeforeInsertion
2950        before insertionPos is adjusted by positionAvoidingPrecedingNodes and positionOutsideTabSpan.
2951
2952        Fixed the bug by calling handleStyleSpansBeforeInsertion after the calls to these two functions.
2953
2954        Test: editing/deleting/delete-line-break-between-paragraphs-with-same-style.html
2955
2956        * editing/ReplaceSelectionCommand.cpp:
2957        (WebCore::ReplaceSelectionCommand::doApply):
2958
29592011-06-01  Ryosuke Niwa  <rniwa@webkit.org>
2960
2961        Reviewed by Simon Fraser.
2962
2963        REGRESSION: Text selection broken for text with line-height applied
2964        https://bugs.webkit.org/show_bug.cgi?id=54929
2965
2966        The bug was caused by RenderText::positionForPoint's not considering the case where a point is
2967        above selectionTop and below lineTop of the first root inline box. Fixed the bug by considering
2968        any point between selectionTop and lineTop to be inside a root inline box. This condition is
2969        consistent with the condition we use to determine the bottom of a line.
2970
2971        Test: editing/selection/hit-test-on-text-with-line-height.html
2972
2973        * rendering/RenderBlock.cpp:
2974        (WebCore::RenderBlock::positionForPointWithInlineChildren): Fixed a condition to determine whether
2975        or not a point is above the first root line box. We need to check both selectionTop and logicalTop
2976        for the same reason explained above.
2977        * rendering/RenderText.cpp:
2978        (WebCore::RenderText::positionForPoint): See above.
2979
29802011-06-02  Andreas Kling  <kling@webkit.org>
2981
2982        Rubber-stamped by Simon Hausmann.
2983
2984        Remove Qt's precompiled header hack as it was broken, and was not even
2985        used unless building WebKit inside a Qt tree.
2986
2987        * WebCore.pri:
2988
29892011-06-01  David Carson  <dacarson@apple.com>
2990
2991        Reviewed by Antti Koivisto.
2992
2993        https://bugs.webkit.org/show_bug.cgi?id=61831
2994        If width and height of an iframe is fixed and should not be visible, then
2995        it shouldn't be flattened.
2996
2997        Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html
2998
2999        * rendering/RenderIFrame.cpp:
3000        (WebCore::RenderIFrame::flattenFrame): add a check for a zero width or height
3001
30022011-06-02  Aparna Nandyal  <aparna.nand@wipro.com>
3003
3004        Reviewed by Andreas Kling.
3005
3006        [Qt] Multiple drop events when doing DnD of images.
3007        https://bugs.webkit.org/show_bug.cgi?id=61504
3008
3009        Duplicate entries of the url were getting added into drag data
3010        which is removed. The duplicate entries were causing the same image
3011        url to be copied twice. The code changes now match other webkit ports.
3012
3013        * platform/qt/ClipboardQt.cpp:
3014        (WebCore::ClipboardQt::declareAndWriteDragImage):
3015
30162011-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
3017
3018        Reviewed by Andreas Kling.
3019
3020        [Qt] tst_QWebFrame::render() failing
3021        https://bugs.webkit.org/show_bug.cgi?id=60893
3022
3023        Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496),
3024        this test was calculating the final geometry incorrectly. As the order between
3025        a translate and a draw operation could be relevant for it, but not for the
3026        final rendered result, they were changed on ScrollbarThemeQt::paint.
3027
3028        * platform/qt/ScrollbarThemeQt.cpp:
3029        (WebCore::ScrollbarThemeQt::paint):
3030
30312011-05-31  B.J. Wever  <skylined@chromium.org>
3032
3033        Reviewed by Adam Barth.
3034
3035        requestFileSystem and resolveLocalFileSystemURI are not checking if
3036        errorCallback is NULL before scheduling a callback on error.
3037        https://bugs.webkit.org/show_bug.cgi?id=49539
3038
3039        Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html
3040
3041        * fileapi/DOMFileSystem.cpp:
3042        (WebCore::DOMFileSystem::scheduleCallback): Only call callback if
3043          one is supplied.
3044
30452011-05-31  Abhishek Arya  <inferno@chromium.org>
3046
3047        Reviewed by Dimitri Glazkov.
3048
3049        Convert raw ptr to RefPtr for documentElement.
3050        https://bugs.webkit.org/show_bug.cgi?id=61688
3051
3052        Test: fast/dom/xml-parser-error-message-crash.svg
3053
3054        * dom/XMLDocumentParser.cpp:
3055        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
3056
30572011-05-31  Yael Aharon  <yael.aharon@nokia.com>
3058
3059        Reviewed by Kenneth Rohde Christiansen.
3060
3061        Frame flattening is broken with nested frames
3062        https://bugs.webkit.org/show_bug.cgi?id=61491
3063
3064        After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
3065        This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
3066        Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
3067
3068        Test: fast/frames/flattening/iframe-flattening-nested.html
3069
3070        * page/FrameView.cpp:
3071        (WebCore::FrameView::layout):
3072
30732011-05-13  Adam Roben  <aroben@apple.com>
3074
3075        Build fix after r86418
3076
3077        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3078        Made the destructor public so that this class can be used with
3079        [Pass]OwnPtr.
3080
30812011-05-13  Patrick Gansterer  <paroga@webkit.org>
3082
3083        Reviewed by Adam Barth.
3084
3085        Enable OwnPtr strict mode in MediaPlayer
3086        https://bugs.webkit.org/show_bug.cgi?id=59466
3087
3088        Let the CreateMediaEnginePlayer function return a PassOwnPtr instead of a raw pointer.
3089        Also fix the templete argument of OwnPtr for the m_private member variable.
3090
3091        * platform/graphics/MediaPlayer.cpp:
3092        (WebCore::MediaPlayer::MediaPlayer):
3093        (WebCore::MediaPlayer::loadWithNextMediaEngine):
3094        * platform/graphics/MediaPlayer.h:
3095        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3096        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3097        (WebCore::MediaPlayerPrivateAVFoundationObjC::create):
3098        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3099        (WebCore::MediaPlayerPrivateGStreamer::create):
3100        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3101        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3102        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3103        (WebCore::MediaPlayerPrivateQTKit::create):
3104        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3105        (WebCore::MediaPlayerPrivatePhonon::create):
3106        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3107        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3108        (WebCore::MediaPlayerPrivateQt::create):
3109        * platform/graphics/qt/MediaPlayerPrivateQt.h:
3110        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3111        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::create):
3112        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3113        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3114        (WebCore::MediaPlayerPrivate::create):
3115        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3116        * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
3117
31182011-05-12  Maciej Stachowiak  <mjs@apple.com>
3119
3120        Reviewed by Darin Adler.
3121
3122        XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
3123        https://bugs.webkit.org/show_bug.cgi?id=59394
3124
3125        Properly fix this (formerly rolled out for breaking the build). I think the original
3126        failure had nothing to do with Deque<OwnPtr>, which in fact appears to work fine.
3127
3128        * dom/XMLDocumentParserLibxml2.cpp:
3129        (WebCore::PendingCallbacks::~PendingCallbacks):
3130        (WebCore::PendingCallbacks::create):
3131        (WebCore::PendingCallbacks::appendStartElementNSCallback):
3132        (WebCore::PendingCallbacks::appendEndElementNSCallback):
3133        (WebCore::PendingCallbacks::appendCharactersCallback):
3134        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
3135        (WebCore::PendingCallbacks::appendCDATABlockCallback):
3136        (WebCore::PendingCallbacks::appendCommentCallback):
3137        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
3138        (WebCore::PendingCallbacks::appendErrorCallback):
3139        (WebCore::PendingCallbacks::PendingCallbacks):
3140        (WebCore::XMLDocumentParser::XMLDocumentParser):
3141
31422011-05-31  Oleg Romashin  <oleg.romashin@nokia.com>
3143
3144        Reviewed by Benjamin Poulain.
3145
3146        Fix compilation with debug enabled, m_lightSource.type is not valid anymore
3147        https://bugs.webkit.org/show_bug.cgi?id=61719
3148
3149        * platform/graphics/filters/arm/FELightingNEON.h:
3150        (WebCore::FELighting::platformApplyNeon):
3151
31522011-05-12  Daniel Bates  <dbates@rim.com>
3153
3154        Attempt to fix the build after changeset 86391 <http://trac.webkit.org/changeset/86391>
3155        (https://bugs.webkit.org/show_bug.cgi?id=60681).
3156
3157        * page/PluginHalter.cpp:
3158        (WebCore::PluginHalter::PluginHalter): Substitute m_client for client in ASSERT_ARG since client is now of type PassOwnPtr
3159        so it becomes 0 when assigned to another variable.
3160
31612011-05-12  Patrick Gansterer  <paroga@webkit.org>
3162
3163        Reviewed by Adam Barth.
3164
3165        Enable OwnPtr strict mode in PluginHalter
3166        https://bugs.webkit.org/show_bug.cgi?id=60681
3167
3168        Pass PluginHalterClient as (Pass)OwnPtr to Page and PluginHalter.
3169
3170        * WebCore.exp.in:
3171        * page/Page.cpp:
3172        (WebCore::Page::Page):
3173        (WebCore::Page::PageClients::PageClients):
3174        * page/Page.h:
3175        * page/PluginHalter.cpp:
3176        (WebCore::PluginHalter::PluginHalter):
3177        * page/PluginHalter.h:
3178
31792011-05-28  Alexey Proskuryakov  <ap@apple.com>
3180
3181        Suggested by Simon Fraser.
3182
3183        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
3184        https://bugs.webkit.org/show_bug.cgi?id=61692
3185        <rdar://problem/9488628>
3186
3187        * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
3188        ASSERT_UNUSED here.
3189
31902011-05-28  Alexey Proskuryakov  <ap@apple.com>
3191
3192        Reviewed by Geoff Garen.
3193
3194        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
3195        https://bugs.webkit.org/show_bug.cgi?id=61692
3196        <rdar://problem/9488628>
3197
3198        Test: fast/dom/gc-image-element-2.html
3199
3200        Manually verified that tests from bug 59604 and from bug 40926 still pass.
3201
3202        The problem here was that HTMLImageElement::hasPendingActivity() could return false when
3203        a load (or error) event was still expected to fire.
3204
3205        * loader/cache/CachedResource.cpp:
3206        (WebCore::CachedResource::setRequest):
3207        * loader/cache/CachedResource.h:
3208        (WebCore::CachedResource::wasCanceled):
3209        (WebCore::CachedResource::errorOccurred):
3210        Track whether the load was canceled. We want to always notify clients of load outcome,
3211        as that's the only way they could make intelligent decisions.
3212
3213        * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
3214        get a notifyFinished call on cancellation. Handle this case, where we don't need the
3215        execute the script, but also don't need to fire an error event.
3216
3217        * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
3218        function call now.
3219
3220        * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
3221        window between when CachedResource::isLoading() becomes false and events are queued.
3222        ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
3223        an event to fire.
3224
3225        * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
3226        anything on cancellation.
3227
3228        * loader/ImageLoader.cpp:
3229        (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
3230        give an accurate result while looping over the list of events to dispatch.
3231        (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
3232        switch to a broken image icon, or to dispatch events.
3233        (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
3234        list, as the event is no longer pending when it's being dispatched.
3235
3236        * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
3237        is already pending, we only care if one is expected at some time in the future, and
3238        !haveFiredLoadEvent() is our best idea of that.
3239
3240        * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
3241        handle cancellation.
3242
32432011-05-23  Syed Idris Shah  <syed.idris-shah@nokia.com>
3244
3245        Reviewed by Andreas Kling.
3246
3247        GraphicsContext3DInternal object should be called for getAttachedShaders.
3248        [Qt] fast/canvas/webgl/gl-object-get-calls.html crash for Qt based webkit
3249        https://bugs.webkit.org/show_bug.cgi?id=61202
3250
3251        LayoutTests/fast/canvas/webgl/gl-object-get-calls.html
3252
3253        getAttachedShaders should be called on GraphicsContext3DInternal instance.
3254        It was left out by mistake.
3255
3256        * platform/graphics/qt/GraphicsContext3DQt.cpp:
3257        (WebCore::GraphicsContext3D::getAttachedShaders): GraphicsContext3DInternal instance should be called.
3258
32592011-05-26  MORITA Hajime  <morrita@google.com>
3260
3261        Reviewed by Kent Tamura.
3262
3263        WebCore::HTMLSummaryElement::isMainSummary ReadAV@NULL
3264        https://bugs.webkit.org/show_bug.cgi?id=61511
3265
3266        Removed Unnecessary wrong cast to Elmement, which can be non-Element.
3267
3268        Test: fast/html/details-summary-document-child.html
3269
3270        * html/HTMLSummaryElement.cpp:
3271        (WebCore::HTMLSummaryElement::detailsElement):
3272
32732011-05-26  Shane Stephens  <shanestephens@google.com>
3274
3275        Reviewed by James Robinson.
3276
3277        REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
3278        https://bugs.webkit.org/show_bug.cgi?id=60689
3279
3280        When a transform is modified in a style, we were upgrading our understanding
3281        of the difference from PositionedMovementOnly to SimplifiedLayout.  However,
3282        if the position of the style is independently changed at the same time, both
3283        PositionedMovement and SimplifiedLayout passes are required.
3284
3285        Test: transforms/2d/set-transform-and-top.html
3286
3287        * rendering/RenderObject.cpp:
3288        Added checks for SimplifiedLayoutAndPositionedMovement - when encountered,
3289        set both PositionedMovement and SimplifiedLayout update flasgs.
3290        * rendering/style/RenderStyleConstants.h:
3291        Added a new StyleDifference enum value (SimplifiedLayoutAndPositionedMovement) for
3292        cases when both PositionedMovement and SimplifiedLayout are required.
3293
32942011-05-26  Syed Idris Shah  <syed.idris-shah@nokia.com>
3295
3296        Reviewed by Andreas Kling.
3297
3298        [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
3299        https://bugs.webkit.org/show_bug.cgi?id=60377
3300
3301        LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
3302
3303        For an array of active uniform, we should be careful while truncating the name of the uniform.
3304        Currently we are truncating the last three characters of an array with out checking for [0].
3305        As a result we are truncating the the actual name of the active uniforms i.e. color to co.
3306
3307        * html/canvas/WebGLRenderingContext.cpp:
3308        (WebCore::WebGLRenderingContext::getUniform): Strip "[0]" from the name if it's an array and is part of the name.
3309
33102011-05-24  Syed Idris Shah  <syed.idris-shah@nokia.com>
3311
3312        Reviewed by Andreas Kling.
3313
3314        [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
3315        https://bugs.webkit.org/show_bug.cgi?id=60377
3316
3317        LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
3318
3319        We do not need assert for the useProgram as program can be null.
3320
3321        * platform/graphics/qt/GraphicsContext3DQt.cpp:
3322        (WebCore::GraphicsContext3D::useProgram): Program can be null. Removing assert.
3323
33242011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3325
3326        Unreviewed, rolling out r87368.
3327        http://trac.webkit.org/changeset/87368
3328        https://bugs.webkit.org/show_bug.cgi?id=61564
3329
3330        Wrong approach, will do the wrong thing if the element needs
3331        simplified normal flow layout but is not positioned (Requested
3332        by jamesr on #webkit).
3333
3334        * rendering/RenderObject.h:
3335        (WebCore::RenderObject::needsPositionedMovementLayout):
3336
33372011-05-20  Abhishek Arya  <inferno@chromium.org>
3338
3339        Reviewed by Kent Tamura.
3340
3341        Make auto-focus a post attach callback in
3342        HTMLFormControlElement::attach().
3343        https://bugs.webkit.org/show_bug.cgi?id=32882
3344
3345        Original patch by Darin Adler. This one uses a part of it.
3346
3347        Test: fast/forms/input-element-attach-crash.html
3348
3349        * dom/Document.cpp:
3350        (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
3351        already false by the time post-attach callbacks are done so that
3352        layout triggered inside those callbacks can work properly.
3353        * html/HTMLFormControlElement.cpp:
3354        (WebCore::shouldAutofocus): Helper function that expresses
3355        the rule for which form control elements should auto-focus.
3356        (WebCore::focusPostAttach): Called post-attach to focus an
3357        element if we discover it should be focused during attach.
3358        (WebCore::HTMLFormControlElement::attach): Refactored code for
3359        which elements need auto-focus into a separate function. Instead
3360        of focusing right away, use the focusPostAttach function to focus
3361        after attach is done. Also added calls to suspendPostAttachCallbacks
3362        and resumePostAttachCallbacks so post-attach callbacks happen late
3363        enough. Before, they could run inside the base attach function.
3364        * html/HTMLInputElement.cpp:
3365        (WebCore::HTMLInputElement::attach): Added calls to
3366        suspendPostAttachCallbacks and resumePostAttachCallbacks so
3367        post-attach callbacks happen late enough
3368
33692011-05-18  Rob Buis  <rbuis@rim.com>
3370
3371        Reviewed by Nikolas Zimmermann.
3372
3373        NULL deref when SVG elements have table styles
3374        https://bugs.webkit.org/show_bug.cgi?id=45561
3375
3376        Restrict computed CSS values for SVG display property to block, inline or none.
3377
3378        Tests: svg/custom/display-table-caption-foreignObject.svg
3379               svg/custom/display-table-caption-inherit-foreignObject.xhtml
3380               svg/custom/display-table-caption-inherit-text.xhtml
3381               svg/custom/display-table-caption-text.svg
3382
3383        * css/CSSStyleSelector.cpp:
3384        (WebCore::SVGDisplayPropertyGuard::SVGDisplayPropertyGuard):
3385        (WebCore::SVGDisplayPropertyGuard::~SVGDisplayPropertyGuard):
3386        (WebCore::isAcceptableForSVGElement):
3387        (WebCore::CSSStyleSelector::applyProperty):
3388
33892011-05-17  Cris Neckar  <cdn@chromium.org>
3390
3391        Reviewed by Adam Barth.
3392
3393        Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
3394        https://bugs.webkit.org/show_bug.cgi?id=61005
3395
3396        Test: http/tests/loading/nested_bad_objects.php
3397
3398        * html/HTMLObjectElement.cpp:
3399        (WebCore::HTMLObjectElement::renderFallbackContent):
3400
34012011-05-10  MORITA Hajime  <morrita@google.com>
3402
3403        Reviewed by Kent Tamura.
3404
3405        Crashes if the document inside iframe is removed during pasting some text into it.
3406        https://bugs.webkit.org/show_bug.cgi?id=60534
3407
3408        Added missing null check.
3409
3410        Test: editing/pasteboard/paste-removing-iframe.html
3411
3412        * editing/Editor.cpp:
3413        (WebCore::Editor::shouldChangeSelection):
3414
34152011-05-11  Sam Weinig  <sam@webkit.org>
3416
3417        Reviewed by Eric Seidel.
3418
3419        Frequent crashes beneath WebCore::ScriptElement::prepareScript
3420        https://bugs.webkit.org/show_bug.cgi?id=60559
3421
3422        * html/parser/HTMLScriptRunner.cpp:
3423        (WebCore::HTMLScriptRunner::runScript):
3424        Add null check and explanation that we are keeping the ASSERT to help
3425        track down the cause and produce a test.
3426
34272011-05-08  Dan Bernstein  <mitz@apple.com>
3428
3429        Reviewed by Darin Adler.
3430
3431        <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
3432        https://bugs.webkit.org/show_bug.cgi?id=60432
3433
3434        * rendering/InlineTextBox.h:
3435        (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
3436        variable is a (truncated) int anyway.
3437        * rendering/RenderBlockLineLayout.cpp:
3438        (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
3439        so that the right amount is added to the total width. Also changed to use an early return.
3440
34412011-05-06  Jon Lee  <jonlee@apple.com>
3442
3443        Reviewed by Alice Liu.
3444
3445        Crash when sending a wheel event to a node with no shadow ancestor node
3446        https://bugs.webkit.org/show_bug.cgi?id=60429
3447        <rdar://problem/9389619>
3448
3449        * page/EventHandler.cpp:
3450        (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it.
3451
34522011-05-25  Simon Fraser  <simon.fraser@apple.com>
3453
3454        Reviewed by Dan Bernstein.
3455
3456        Always antialias borders, outlines and rules when scaling
3457        https://bugs.webkit.org/show_bug.cgi?id=61502
3458
3459        r84273 changed the behavior of drawLineForBoxSide() to never antialias by default.
3460        This actually disabled antialiasing in some circumstances where it used to be enabled,
3461        for example collapsed table border drawing.
3462
3463        Fix by allowing antialiasing for collapsed table borders, column rules and span
3464        outlines when the context is scaled.
3465
3466        Test: fast/borders/border-antialiasing.html
3467
3468        * rendering/RenderBlock.cpp:
3469        (WebCore::RenderBlock::paintColumnRules):
3470        * rendering/RenderInline.cpp:
3471        (WebCore::RenderInline::paintOutline):
3472        (WebCore::RenderInline::paintOutlineForLine):
3473        * rendering/RenderTableCell.cpp:
3474        (WebCore::RenderTableCell::paintCollapsedBorder):
3475
34762011-05-26  Igor Oliveira  <igor.oliveira@openbossa.org>
3477
3478        Reviewed by Andreas Kling.
3479
3480        drag-not-loaded-image.html test crashes when WebKit is built with debug option
3481        https://bugs.webkit.org/show_bug.cgi?id=61480
3482
3483        Checks if image has content before starting to drag.
3484
3485        * page/DragController.cpp:
3486        (WebCore::DragController::startDrag):
3487
34882011-05-25  Igor Oliveira  <igor.oliveira@openbossa.org>
3489
3490        Reviewed by Antonio Gomes.
3491
3492        [Qt] QtWebKit crashes when dragging not loaded images
3493        https://bugs.webkit.org/show_bug.cgi?id=61314
3494
3495        Checks if nativeImageForCurrentFrame is a valid pointer.
3496
3497        Test: http/tests/misc/drag-not-loaded-image.html
3498
3499        * platform/qt/DragImageQt.cpp:
3500        (WebCore::createDragImageFromImage):
3501
35022011-05-26  Shane Stephens  <shanestephens@google.com>
3503
3504        Reviewed by James Robinson.
3505
3506        REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
3507        https://bugs.webkit.org/show_bug.cgi?id=60689
3508
3509        Test: transforms/2d/set-transform-and-top.html
3510
3511        * rendering/RenderBlock.cpp:
3512        (WebCore::RenderBlock::simplifiedLayout):
3513
35142011-05-25  Alexis Menard  <alexis.menard@openbossa.org>
3515
3516        Reviewed by Antonio Gomes.
3517
3518        [Qt] When QWebView has a different style set on it then the scrollbars are not rendered correctly
3519        https://bugs.webkit.org/show_bug.cgi?id=34635
3520
3521        Make sure the scrollbar is properly rendered on Mac with another style than the Mac style. The code had
3522        two paths, one for Mac and one for any other styles. The problem is that on Mac you can still run the
3523        application with -style plastique for example, therefore the code used for other styles should also be
3524        used whenever the current style is not the Mac style.
3525
3526        * platform/qt/ScrollbarThemeQt.cpp:
3527        (WebCore::ScrollbarThemeQt::paint):
3528
35292011-05-24  Leo Yang  <leo.yang@torchmobile.com.cn>
3530
3531        Reviewed by Ryosuke Niwa.
3532
3533        [SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
3534        https://bugs.webkit.org/show_bug.cgi?id=60692
3535
3536        Add NULL check of 'holder' in WebCore::ReplacementFragment::ReplacementFragment()
3537        before call VisibleSelection::selectionFromContentsOfNode() to prevent crashing.
3538
3539        Test: editing/pasteboard/drag-drop-input-in-svg.svg
3540
3541        * editing/ReplaceSelectionCommand.cpp:
3542        (WebCore::ReplacementFragment::ReplacementFragment):
3543
35442011-05-24  Andy Estes  <aestes@apple.com>
3545
3546        Reviewed by Geoffrey Garen.
3547
3548        REGRESSION (r70748): WebKit cannot play QuickTime movies on Mac OS X Wiki Server pages
3549        https://bugs.webkit.org/show_bug.cgi?id=61229
3550
3551        This site-specific hack maintains compatibility with Mac OS X Wiki Server,
3552        which embeds QuickTime movies using an object tag containing QuickTime's
3553        ActiveX classid. Treat this classid as valid only if OS X Server's unique
3554        'generator' meta tag is present. Only apply this quirk if there is no
3555        fallback content, which ensures the quirk will disable itself if Wiki
3556        Server is updated to generate an alternate embed tag as fallback content.
3557
3558        * html/HTMLObjectElement.cpp:
3559        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Return
3560        true if site-specific quirks are enabled, the object element has no
3561        fallback content, the classid attribute matches QuickTime's classid and
3562        the document has a 'generator' meta tag matching Mac OS X Web Services
3563        Server's unique generator string.
3564        (WebCore::HTMLObjectElement::hasValidClassId): Call
3565        shouldAllowQuickTimeClassIdQuirk()
3566        * html/HTMLObjectElement.h:
3567
35682011-05-24  Tony Chang  <tony@chromium.org>
3569
3570        Reviewed by James Robinson.
3571
3572        fix render overflow computation for input type=range
3573        https://bugs.webkit.org/show_bug.cgi?id=61132
3574
3575        Test: fast/forms/slider-hit-testing.html
3576
3577        We need to clear m_overflow otherwise we use the first
3578        size of the slider for hit testing (i.e., changes to the size
3579        cause problems).  This only shows up if the thumb isn't contained
3580        in the bounds of the slider.  Making the range have a smaller height
3581        than the thumb shows the bug.
3582
3583        * rendering/RenderSlider.cpp:
3584        (WebCore::RenderSlider::layout): Clear the overflow during layout
3585            so we re-compute the overflow based on the current size of the
3586            slider.
3587
35882011-05-14  Abhishek Arya  <inferno@chromium.org>
3589
3590        Reviewed by Dan Bernstein.
3591
3592        As per spec, only allow one font family name in a font face rule.
3593        Other things like initial value, inherited value or multiple names
3594        are discarded.
3595        https://bugs.webkit.org/show_bug.cgi?id=60837
3596
3597        Test: fast/css/invalid-font-family-in-font-face-crash.html
3598
3599        * css/CSSParser.cpp:
3600        (WebCore::CSSParser::createFontFaceRule):
3601
36022011-05-18  Abhishek Arya  <inferno@chromium.org>
3603
3604        Reviewed by Dirk Schulze.
3605
3606        When SMIL element is getting removed, make sure to remove it
3607        from target's animation elements list.
3608        https://bugs.webkit.org/show_bug.cgi?id=60980
3609
3610        Test: svg/animations/smil-element-not-removed-crash.html
3611
3612        * svg/animation/SVGSMILElement.cpp:
3613        (WebCore::SVGSMILElement::~SVGSMILElement):
3614
36152011-05-23  James Simonsen  <simonjam@chromium.org>
3616
3617        Reviewed by Adam Barth.
3618
3619        Convert raw pointer to RefPtr.
3620        https://bugs.webkit.org/show_bug.cgi?id=61196
3621
3622        * dom/XMLDocumentParserLibxml2.cpp:
3623        (WebCore::XMLDocumentParser::endElementNs):
3624        * dom/XMLDocumentParserQt.cpp:
3625        (WebCore::XMLDocumentParser::parseEndElement):
3626
36272011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3628
3629        Unreviewed, rolling out r87007.
3630        http://trac.webkit.org/changeset/87007
3631        https://bugs.webkit.org/show_bug.cgi?id=61329
3632
3633        patch unnecessarily breaks HTML5 compatibility (Requested by
3634        estes on #webkit).
3635
3636        * html/HTMLObjectElement.cpp:
3637        (WebCore::HTMLObjectElement::hasValidClassId):
3638
36392011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>
3640
3641        Reviewed by Darin Adler.
3642
3643        Crash from null pointer dereference below WebCore::StorageAreaImpl::setItem()
3644        https://bugs.webkit.org/show_bug.cgi?id=57140
3645
3646        Test: fast/storage/storage-detached-iframe.html
3647
3648        Access of localStorage on a detached iframe was causing a crash because a detached
3649        iframe has a null m_page, and WebCore::privateBrowsingEnabled() wasn't testing for such.
3650
3651        * storage/StorageAreaImpl.cpp:
3652        (WebCore::privateBrowsingEnabled): check that child->page() is non-null before
3653        accessing it.
3654
36552011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
3656
3657        Reviewed by Enrica Casucci.
3658
3659        REGRESSION(r84311): WebKit copies too much styles when copying
3660        https://bugs.webkit.org/show_bug.cgi?id=60914
3661
3662        The bug was caused by WebKit's cloning node hierarchy up until the node that has background color.
3663        Fixed the bug by not cloning background color and adding the effective background color to the wrapping
3664        style span.
3665
3666        Tests: editing/pasteboard/do-no-clone-unnecessary-styles-2.html
3667               editing/pasteboard/do-no-clone-unnecessary-styles.html
3668
3669        * editing/EditingStyle.cpp:
3670        (WebCore::cssValueToRGBA): Extracted from getRGBAFontColor.
3671        (WebCore::getRGBAFontColor): Moved.
3672        (WebCore::rgbaBackgroundColorInEffect): Added.
3673        (WebCore::EditingStyle::init): Added support for InheritablePropertiesAndBackgroundColorInEffect.
3674        (WebCore::EditingStyle::prepareToApplyAt): Include the effective background color at the given position.
3675        Also remove the background color property when the effective background color is equal to the background
3676        color property (in terms of RGBA value) of the editing style.
3677        (WebCore::hasTransparentBackgroundColor): Moved from Editor class.
3678        (WebCore::backgroundColorInEffect): Extracted from Editor::selectionStartCSSPropertyValue.
3679        * editing/EditingStyle.h: Added prototypes for hasTransparentBackgroundColor and backgroundColorInEffect.
3680        * editing/Editor.cpp:
3681        (WebCore::Editor::selectionStartCSSPropertyValue): Calls backgroundColorInEffect.
3682        * editing/Editor.h: Removed hasTransparentBackgroundColor.
3683        * editing/markup.cpp:
3684        (WebCore::isElementPresentational): Reverted r85090 and r84311.
3685        (WebCore::createMarkup): Include the background color in effect when computing the editing style.
3686
36872011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
3688
3689        Reviewed by Enrica Casucci.
3690
3691        Wrap copied contents by one style span instead of two
3692        https://bugs.webkit.org/show_bug.cgi?id=60988
3693
3694        Replaced sourceDocumentStyleSpan and copiedRangeStyleSpan by one wrapping style span. Instead
3695        of wrapping the copied contents by user-applied style and document default style in serialization,
3696        take the difference with the document default's style in paste code.
3697
3698        This will dramatically simplify our copy and paste code and pave a way to fix the bug 60914.
3699
3700        No new tests because copy & paste is tested by existing layout tests.
3701
3702        * editing/EditingStyle.cpp:
3703        (WebCore::EditingStyle::prepareToApplyAt): Remove the color property if RGBA values of color
3704        matches that of the computed style at the specified position.
3705        * editing/ReplaceSelectionCommand.cpp:
3706        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Replaced sourceDocumentStyleSpan and
3707        copiedRangeStyleSpan by wrappingStyleSpan. When pasting as a quotation, compare style against
3708        the document's default style to avoid keeping the document default style (tested by
3709        editing/pasteboard/4930986-3.html).
3710        * editing/ReplaceSelectionCommand.h:
3711        * editing/markup.cpp:
3712        (WebCore::createMarkup): Only use one style span to wrap the serialized contents.
3713
37142011-05-23  Abhishek Arya  <inferno@chromium.org>
3715
3716        Reviewed by Simon Fraser.
3717
3718        Terminate css color parsing on integers which are not followed
3719        by a terminator.
3720        https://bugs.webkit.org/show_bug.cgi?id=61293
3721
3722        Test: fast/css/parse-color-int-or-percent-crash.html
3723
3724        * css/CSSParser.cpp:
3725        (WebCore::parseColorIntOrPercentage):
3726
37272011-05-21  Dirk Schulze  <krit@webkit.org>
3728
3729        Reviewed by Darin Adler.
3730
3731        REGRESSION(r66731): pointer-events are broken in some cases
3732        https://bugs.webkit.org/show_bug.cgi?id=45467
3733
3734        The SVGSVGElement shouldn't be the target of a mouse event, if its pointer-events attribute is set
3735        to 'none'. This matches the behavior on Firefox where an embedded SVG element is the target of an event,
3736        if none of its childs caught the event. This is the case for all pointer-events other than 'none'.
3737
3738        Tests: svg/custom/pointer-events-on-svg-with-pointer.xhtml
3739               svg/custom/pointer-events-on-svg-without-pointer.xhtml
3740
3741        * rendering/svg/RenderSVGRoot.cpp:
3742        (WebCore::RenderSVGRoot::nodeAtPoint):
3743
37442011-05-21  Dan Bernstein  <mitz@apple.com>
3745
3746        Reviewed by Darin Adler.
3747
3748        <rdar://problem/9479926> REGRESSION (r82144): Icon overlaps text in Twitter message dialog
3749        https://bugs.webkit.org/show_bug.cgi?id=61241
3750
3751        Test: fast/block/positioning/start-ignoring-before.html
3752
3753        * rendering/RenderBlockLineLayout.cpp:
3754        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Added a boolean parameter saying
3755        whether to merge the first trailing space with the line break.
3756        (WebCore::RenderBlock::LineBreaker::nextLineBreak): When adding a midpoint behind the current
3757        character, account for trailing positioned objects that occurred after the midpoint by calling
3758        updateMidpointsForTrailingBoxes(), which adds midpoints for them.
3759
37602011-05-20  Andy Estes  <aestes@apple.com>
3761
3762        Reviewed by Darin Adler.
3763
3764        REGRESSION (r70748): WebKit cannot play videos created by Podcast Producer.
3765        https://bugs.webkit.org/show_bug.cgi?id=61229
3766
3767        Podcast Producer uses an object tag with a classid attribute to embed
3768        QuickTime Player into a page. In r70748, we changed our behavior to
3769        render the object's fallback content when a non-empty classid is
3770        encountered, per HTML5. Since Podcast Producer videos have no fallback
3771        content, this change in behavior causes the video to fail to load.
3772
3773        Since the object tag has a valid type attribute, we would be able to
3774        load it if weren't for the non-empty classid. This patch changes our
3775        policy to allow objects with non-empty classids if there is no fallback
3776        content. We still continue to prefer fallback content if it exists,
3777        however.
3778
3779        * html/HTMLObjectElement.cpp:
3780        (WebCore::HTMLObjectElement::hasValidClassId): Treat a non-empty
3781        classid as valid if the object has no fallback content.
3782
37832011-05-20  Dirk Schulze  <krit@webkit.org>
3784
3785        Reviewed by Eric Seidel.
3786
3787        SVG Large curve path segment OOM crash
3788        https://bugs.webkit.org/show_bug.cgi?id=42079
3789
3790        Limit the depth of repeatedly splitting a segment on length calculation to 20. The limitation
3791        is necessary for very big segments that would be splitter into millions of parts otherwise.
3792        The limitation just cause a less accurate approximation.
3793        At the moment the limit is fixed to 20. This is comparable with splitting the segment into
3794        ~1 million parts as a worst case. We might want to be more flexible later.
3795
3796        Test: svg/custom/path-getTotalLength-on-big-segment-crash.svg
3797
3798        * platform/graphics/PathTraversalState.cpp:
3799        (WebCore::midPoint):
3800        (WebCore::curveLength):
3801        (WebCore::PathTraversalState::PathTraversalState):
3802        (WebCore::PathTraversalState::moveTo):
3803        (WebCore::PathTraversalState::quadraticBezierTo):
3804        (WebCore::PathTraversalState::cubicBezierTo):
3805        * platform/graphics/PathTraversalState.h:
3806
38072011-05-19  Andrew Wilson  <atwilson@chromium.org>
3808
3809        Reviewed by Darin Adler.
3810
3811        MessagePortArray cloning code needs to verify source before copying.
3812        https://bugs.webkit.org/show_bug.cgi?id=61130
3813
3814        * bindings/js/JSMessagePortCustom.cpp:
3815        (WebCore::fillMessagePortArray):
3816        Changed code to not pre-allocate the destination array.
3817        * bindings/v8/custom/V8MessagePortCustom.cpp:
3818        (WebCore::getMessagePortArray):
3819        Changed code to not pre-allocate the destination array.
3820
38212011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
3822
3823        Reviewed by Darin Adler.
3824
3825        Fix two warnings of unused variables.
3826        https://bugs.webkit.org/show_bug.cgi?id=60370
3827
3828        Remove two unused local variable from the code.
3829
3830        No new tests, the existing ones should cover.
3831
3832        * rendering/RenderFlexibleBox.cpp:
3833        (WebCore::RenderFlexibleBox::layoutVerticalBox):
3834        * svg/animation/SVGSMILElement.cpp:
3835        (WebCore::SVGSMILElement::calculateNextProgressTime):
3836
38372011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
3838
3839        Reviewed by Eric Carlson.
3840
3841        MediaElements fails to load the data in some cases.
3842        https://bugs.webkit.org/show_bug.cgi?id=60760
3843
3844        WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
3845        that uses the ResourceHandle API to request data and pass it down. For
3846        our builds it is absolutely essential that we have a NetworkingContext
3847        available there, in order to get access to the QNetworkAccessManager.
3848        No access means we basically cannot load the video. The WebSource gains
3849        access to the NetworkingContext through a WebCore::Frame pointer it has.
3850
3851        MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
3852        the WebCore::Frame to the WebKitWebSource in
3853        mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
3854        frameView() accessor to access the frame. However the frameView() member
3855        is only set through the render tree's RenderVideo, which is rather unreliable
3856        given that some sites create "fake" video tags initially that only become
3857        visible later (or never).
3858
3859        A more reliable way is to simply use the document of the MediaPlayerClient,
3860        which is provided at constructor time.
3861
3862        Test: http/tests/media/media-can-load-when-hidden.html
3863
3864        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3865        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
3866
38672011-05-19  Andrew Wason  <rectalogic@rectalogic.com>
3868
3869        Reviewed by Darin Adler.
3870
3871        Fix GraphicsContext3DQt.cpp compile error
3872        https://bugs.webkit.org/show_bug.cgi?id=61128
3873
3874        * platform/graphics/qt/GraphicsContext3DQt.cpp:
3875        (WebCore::GraphicsContext3D::GraphicsContext3D):
3876         clear() m_internal OwnPtr.
3877
38782011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
3879
3880        Reviewed by Darin Adler.
3881
3882        REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
3883        https://bugs.webkit.org/show_bug.cgi?id=61012
3884
3885        The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
3886        being moved when the insertion position's container node is the node to split to. Fixed the crash
3887        by not changing the insertion position in such a case.
3888
3889        Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
3890        it's much better than crashing.
3891
3892        Test: editing/pasteboard/paste-after-inline-style-element.html
3893
3894        * editing/ReplaceSelectionCommand.cpp:
3895        (WebCore::ReplaceSelectionCommand::doApply):
3896
38972011-05-19  Emil A Eklund  <eae@chromium.org>
3898
3899        Reviewed by Alexey Proskuryakov.
3900
3901        REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
3902        https://bugs.webkit.org/show_bug.cgi?id=60986
3903
3904        * html/HTMLSelectElement.cpp:
3905        (WebCore::HTMLSelectElement::setMultiple):
3906        Don't restore selection if the multiple attribute hasn't changed.
3907
39082011-05-18  Yi Shen  <yi.4.shen@nokia.com>
3909
3910        Reviewed by Andreas Kling.
3911
3912        [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
3913        https://bugs.webkit.org/show_bug.cgi?id=33179
3914
3915        Fill the missing key text for the EnterKey event.
3916
3917        Tests: fast/events/onsearch-enter.html
3918
3919        * platform/qt/PlatformKeyboardEventQt.cpp:
3920        (WebCore::keyTextForKeyEvent):
3921
39222011-05-18  Oliver Hunt  <oliver@apple.com>
3923
3924        Reviewed by Sam Weinig.
3925
3926        JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
3927        https://bugs.webkit.org/show_bug.cgi?id=61090
3928
3929        Rather than having Constructor objects create their structure
3930        as part of initialisation, we now pass their expected structure
3931        in as an argument.  This required fixing the few custom Constructors
3932        and the code generator.
3933
3934        * bindings/js/JSAudioConstructor.cpp:
3935        (WebCore::JSAudioConstructor::JSAudioConstructor):
3936        * bindings/js/JSAudioConstructor.h:
3937        * bindings/js/JSDOMGlobalObject.h:
3938        (WebCore::getDOMConstructor):
3939          Pass the Constructor objects structure in as an argument
3940        * bindings/js/JSImageConstructor.cpp:
3941        (WebCore::JSImageConstructor::JSImageConstructor):
3942        * bindings/js/JSImageConstructor.h:
3943        * bindings/js/JSOptionConstructor.cpp:
3944        (WebCore::JSOptionConstructor::JSOptionConstructor):
3945        * bindings/js/JSOptionConstructor.h:
3946        * bindings/scripts/CodeGeneratorJS.pm:
3947
39482011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3949
3950        Reviewed by Andreas Kling.
3951
3952        [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
3953        https://bugs.webkit.org/show_bug.cgi?id=60984
3954
3955        The code for converting objects to QVariantMap was causing exception,
3956        that was "leaking" to the next evaluation. One situation was reading
3957        the property 'localStorage' when we do not have a proper security
3958        origin, which throws a SECURITY_ERR.
3959
3960        Now, we will simply not include on the QVariantMap those properties,
3961        and make sure that we clean the exception if necessary.
3962
3963        * bridge/qt/qt_runtime.cpp:
3964        (JSC::Bindings::convertValueToQVariantMap):
3965        Extracted function that performs conversion from JSObject to a QVariantMap. This
3966        functions makes sure that exception is clean after its execution.
3967
3968        (JSC::Bindings::convertValueToQVariant):
3969        Use the previous function. Add a comment explaining the choice of distance value.
3970
39712011-05-18  Abhishek Arya  <inferno@chromium.org>
3972
3973        Reviewed by Beth Dakin.
3974
3975        Remove removeChild on table caption since destroy call
3976        already does that.
3977        https://bugs.webkit.org/show_bug.cgi?id=61083
3978
3979        Test: fast/table/table-captions-child-visible-crash.html
3980
3981        * rendering/RenderTable.cpp:
3982        (WebCore::RenderTable::recalcCaption):
3983
39842011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
3985
3986        Reviewed by Kenneth Rohde Christiansen.
3987
3988        [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
3989        https://bugs.webkit.org/show_bug.cgi?id=60440
3990
3991        Makes sure that the HTTP headers Content-type and Content-length are not included in
3992        the requests that do not have any content.
3993
3994        Tests: http/tests/navigation/post-301-response.html
3995               http/tests/navigation/post-302-response.html
3996               http/tests/navigation/post-303-response.html
3997               http/tests/navigation/post-307-response.html
3998
3999        * platform/network/qt/QNetworkReplyHandler.cpp:
4000        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
4001
40022011-05-17  Andreas Kling  <kling@webkit.org>
4003
4004        Reviewed by Benjamin Poulain.
4005
4006        [Qt] GraphicsLayerQtImpl: Remove an unused variable.
4007
4008        * platform/graphics/qt/GraphicsLayerQt.cpp:
4009        (WebCore::GraphicsLayerQtImpl::paint):
4010
40112011-05-17  Sam Magnuson  <smagnuson@netflix.com>
4012
4013        Reviewed by Kenneth Rohde Christiansen.
4014
4015        [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
4016        https://bugs.webkit.org/show_bug.cgi?id=40841
4017
4018        Test: compositing/animation/busy-indicator.html
4019
4020        * platform/graphics/qt/GraphicsLayerQt.cpp:
4021        (WebCore::GraphicsLayerQtImpl::recache):
4022        (WebCore::GraphicsLayerQtImpl::flushChanges):
4023        (WebCore::GraphicsLayerQt::setContentsToImage):
4024        (WebCore::TransformAnimationQt::getAnimatedProperty):
4025        (WebCore::OpacityAnimationQt::getAnimatedProperty):
4026        (WebCore::GraphicsLayerQt::addAnimation):
4027
40282011-05-16  Adam Barth  <abarth@webkit.org>
4029
4030        Reviewed by Eric Seidel.
4031
4032        Remove bogus ASSERT in Document::setCompatibilityMode
4033        https://bugs.webkit.org/show_bug.cgi?id=60935
4034
4035        The ASSERT is invalid when the parser is in the initial state and the
4036        document is non-empty, which is strange but not impossible.
4037
4038        Test: fast/parser/append-child-followed-by-document-write.html
4039
4040        * dom/Document.cpp:
4041        (WebCore::Document::setCompatibilityMode):
4042
40432011-05-15  Geoffrey Garen  <ggaren@apple.com>
4044
4045        Reviewed by Gavin Barraclough.
4046
4047        https://bugs.webkit.org/show_bug.cgi?id=59699
4048        Global object is recreated on teardown, for no good reason
4049
4050        (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
4051        ~7% slower in browser than on command line (was 17%))
4052
4053        I'm basically rolling out http://trac.webkit.org/changeset/49786 because
4054
4055        (a) it created this performance problem
4056
4057        and
4058
4059        (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
4060        was committed in http://trac.webkit.org/changeset/53439.
4061
4062        Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.
4063
4064        * page/Frame.cpp:
4065        (WebCore::Frame::~Frame): Don't create a new window every time we destroy
4066        a frame.
4067
40682011-05-13  Mikhail Naganov  <mnaganov@chromium.org>
4069
4070        Web Inspector: Unreviewed image glyph position fix in CSS after r85588.
4071
4072        * inspector/front-end/heapProfiler.css:
4073        (.heapshot-help-status-bar-item .glyph):
4074
40752011-05-13  Alexey Proskuryakov  <ap@apple.com>
4076
4077        Reviewed by Joseph Pecoraro.
4078
4079        Hide appcache status bar items
4080        https://bugs.webkit.org/show_bug.cgi?id=60799
4081
4082        We have a number of non-trivial bugs that make these more misleading than helpful to developers.
4083
4084        * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView):
4085        Just hide the items for now. Removing all support code would be complicated, and not helpful.
4086
40872011-05-13  Abhishek Arya  <inferno@chromium.org>
4088
4089        Reviewed by Dave Hyatt.
4090
4091        Regression(r75823): Revert initialization back to the first RenderBlock
4092        in the parent chain.
4093        https://bugs.webkit.org/show_bug.cgi?id=60780
4094
4095        Test: fast/block/float/float-not-removed-crash.html
4096
4097        * rendering/RenderBox.cpp:
4098        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
4099        In r75823, I forgot to initialize parentBlock, when the original code
4100        did and Hyatt did mention in c#5. Now, initializing parentBlock to the
4101        first RenderBlock in the parent chain.
4102
41032011-05-13  Adam Roben  <aroben@apple.com>
4104
4105        Tell ScrollView's child Widgets that their frame rects have changed when its own frame rect
4106        changes
4107
4108        r79167 moved some code from setFrameRect to setBoundsSize, including a call to
4109        frameRectsChanged. This was done because positionScrollbarLayers, which is called by
4110        frameRectsChanged, only needs to be called when the bounds change, not when the frame rect
4111        changes. But the recursive calls inside frameRectsChanged *do* need to be called when the
4112        frame rect changes.
4113
4114        This patch moves the positionScrollbarLayers call out of frameRectsChanged, since it needs
4115        to be called at different times from frameRectsChanged. Then it restores the
4116        frameRectsChanged call to setFrameRect, which fixes the bug.
4117
4118        Test: platform/win/plugins/iframe-inside-overflow.html
4119
4120        Fixes <http://webkit.org/b/60194> <rdar://problem/9383760> REGRESSION (r79167): Windowed
4121        plugins in Google Reader don't move when the article list is scrolled
4122
4123        Reviewed by Dan Bernstein.
4124
4125        * platform/ScrollView.cpp:
4126        (WebCore::ScrollView::updateScrollbars): Added a positionScrollbarLayers call here now that
4127        frameRectsChanged doesn't call it for us. Also added a FIXME because it seems strange to
4128        call frameRectsChanged here when our frame rect hasn't changed.
4129        (WebCore::ScrollView::setFrameRect): Added back the frameRectsChanged call that was removed
4130        in r79167.
4131        (WebCore::ScrollView::setBoundsSize): Replaced a frameRectsChanged call with a call to
4132        positionScrollbarLayers. We were only calling frameRectsChanged here in order to get
4133        positionScrollbarLayers to be called.
4134        (WebCore::ScrollView::frameRectsChanged): Removed the call to positionScrollbarLayers. All
4135        callers of frameRectsChanged have been updated to call positionScrollbarLayers if needed.
4136
41372011-05-11  Alexis Menard  <alexis.menard@openbossa.org>
4138
4139        Reviewed by Kenneth Rohde Christiansen.
4140
4141        [Qt] Implements a disable appearance for Media Elements of Qt port.
4142        https://bugs.webkit.org/show_bug.cgi?id=60561
4143
4144        Implements a disable appearance for the media controls of the Qt port
4145        when the media is not yet available.
4146
4147        * platform/qt/RenderThemeQt.cpp:
4148        (WebCore::mediaElementCanPlay):
4149        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
4150        (WebCore::RenderThemeQt::paintMediaSliderThumb):
4151
41522011-05-11  Chang Shu  <cshu@webkit.org>
4153
4154        Reviewed by Antonio Gomes.
4155
4156        [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
4157        https://bugs.webkit.org/show_bug.cgi?id=60477
4158
4159        PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
4160        The value is checked at EventHandler.cpp:2527 (r86166).
4161
4162        Function keyTextForKeyEvent is partially implemented and can be enhanced in
4163        a need-base.
4164
4165        * platform/qt/PlatformKeyboardEventQt.cpp:
4166        (WebCore::keyTextForKeyEvent):
4167        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
4168
41692011-05-12  Rob Buis  <rwlbuis@gmail.com>
4170
4171        Reviewed by Eric Seidel.
4172
4173        REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
4174        https://bugs.webkit.org/show_bug.cgi?id=59941
4175
4176        Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.
4177
4178        Test: svg/custom/fill-opacity-update.svg
4179
4180        * rendering/style/SVGRenderStyle.cpp:
4181        (WebCore::SVGRenderStyle::diff):
4182
41832011-05-12  Adam Barth  <abarth@webkit.org>
4184
4185        Reviewed by Darin Adler.
4186
4187        REGRESSION (r65868): createContextualFragment does not work with <style>
4188        https://bugs.webkit.org/show_bug.cgi?id=60155
4189
4190        createContextualFragment doesn't have a spec, so it's hard to tell what
4191        we're supposed to do exactly.  This patch appears to make our behavior
4192        more like Firefox and should fix the compat issue with this site.
4193
4194        Tests: fast/parser/style-in-create-contextual-fragment-head.html
4195               fast/parser/style-in-create-contextual-fragment.html
4196
4197        * dom/Element.cpp:
4198        (WebCore::Element::deprecatedCreateContextualFragment):
4199
42002011-05-12  Carol Szabo  <carol@webkit.org>
4201
4202        Reviewed by David Hyatt.
4203
4204        Fix reparenting and destruction of counter nodes.
4205        https://bugs.webkit.org/show_bug.cgi?id=57929
4206
4207        Fixed several issues related to not met assertions.
4208        See below in the per file description.
4209
4210        Test: fast/css/counters/element-removal-crash.xhtml
4211
4212        * dom/ContainerNode.cpp:
4213        (WebCore::ContainerNode::removeChildren):
4214        Fixed the fact that Node::detach() used to be called
4215        while the DOM tree was in an inconsistent state.
4216        * rendering/RenderCounter.cpp:
4217        (WebCore::RenderCounter::rendererRemovedFromTree):
4218        Introduced this function to remove counters from
4219        descendents of renderers removed from the renderer
4220        tree not only from the removed renderers themselves.
4221        * rendering/RenderCounter.h:
4222        * rendering/RenderObjectChildList.cpp:
4223        (WebCore::RenderObjectChildList::removeChildNode):
4224        Changed to call RenderCounter::rendererRemovedFromTree
4225        instead of RenderCounter::destroyCounters.
4226
42272011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
4228
4229        Unreviewed, rolling out r85650.
4230        http://trac.webkit.org/changeset/85650
4231        https://bugs.webkit.org/show_bug.cgi?id=59983
4232
4233        Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
4234
4235        * dom/ContainerNode.cpp:
4236        (WebCore::ContainerNode::childrenChanged):
4237        * dom/Node.cpp:
4238        (WebCore::Node::~Node):
4239        (WebCore::Node::setDocument):
4240        (WebCore::Node::setTreeScopeRecursively):
4241        (WebCore::Node::childNodes):
4242        (WebCore::Node::registerDynamicNodeList):
4243        (WebCore::Node::unregisterDynamicNodeList):
4244        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
4245        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
4246        (WebCore::Node::getElementsByTagName):
4247        (WebCore::Node::getElementsByTagNameNS):
4248        (WebCore::Node::getElementsByName):
4249        (WebCore::Node::getElementsByClassName):
4250        * dom/Node.h:
4251        * html/HTMLFormControlElement.cpp:
4252        (WebCore::HTMLFormControlElement::labels):
4253
42542011-05-06  Eric Carlson  <eric.carlson@apple.com>
4255
4256        Reviewed by Darin Adler.
4257
4258        REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
4259        https://bugs.webkit.org/show_bug.cgi?id=60304
4260        <rdar://problem/9392609>
4261
4262        Don't assume that the only time the media controls UI may need to change is on a
4263        network state change, readyState changes can be significant as well.
4264
4265        Tested manually because we don't have any live streams to test in DRT.
4266
4267        * html/HTMLMediaElement.cpp:
4268        (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
4269        (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
4270
4271        * html/shadow/MediaControlRootElement.cpp:
4272        (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
4273        (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
4274        * html/shadow/MediaControlRootElement.h:
4275
4276        * html/shadow/MediaControlRootElementChromium.cpp:
4277        (WebCore::MediaControlRootElementChromium::reset): Ditto.
4278        (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
4279        * html/shadow/MediaControlRootElementChromium.h:
4280        * html/shadow/MediaControls.h:
4281
42822011-05-06  David Hyatt  <hyatt@apple.com>
4283
4284        Reviewed by Dan Bernstein.
4285
4286        https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
4287        REGRESSION (r81684?): cox.com sign in button is missing
4288
4289        Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
4290        This restores the original behavior before the refactoring messed it up.
4291
4292        Added fast/inline/nested-top-alignment.html
4293
4294        * rendering/InlineFlowBox.cpp:
4295        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
4296
42972011-05-06  David Hyatt  <hyatt@apple.com>
4298
4299        Reviewed by Dan Bernstein.
4300
4301        https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
4302        REGRESSION (r81992): portions of ticketmaster site render blank
4303
4304        Make simplified layout skip from a positioned object out to its containing block.  There is no
4305        need to dirty the intermediate inlines, and in this case it's actively harmful, since the
4306        block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
4307
4308        Added fast/block/positioning/hiding-inside-relpositioned-inline.html
4309
4310        * rendering/RenderObject.h:
4311        (WebCore::RenderObject::markContainingBlocksForLayout):
4312
43132011-05-05  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
4314
4315        Reviewed by Holger Freyther.
4316
4317        Fix build-webkit --minimal.
4318        https://bugs.webkit.org/show_bug.cgi?id=60257
4319
4320        No new tests. This is just a build fix.
4321
4322        * bindings/js/JSDOMBinding.cpp:
4323
43242011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
4325
4326        Reviewed by Kenneth Rohde Christiansen.
4327
4328        [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
4329        https://bugs.webkit.org/show_bug.cgi?id=58556
4330
4331        Tests: fast/canvas/webgl/gl-teximage.html
4332
4333        * platform/graphics/qt/GraphicsContext3DQt.cpp:
4334        (WebCore::GraphicsContext3D::getImageData):
4335
43362011-05-09  Jeremy Noble  <jer.noble@apple.com>
4337
4338        Reviewed by Simon Fraser.
4339
4340        REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
4341        https://bugs.webkit.org/show_bug.cgi?id=60512
4342
4343        Initialize m_containsFullScreenElement.
4344
4345        * html/HTMLFrameElementBase.cpp:
4346        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
4347
43482011-05-08  Jeremy Noble  <jer.noble@apple.com>
4349
4350        Reviewed by Dan Bernstein.
4351
4352        Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
4353        https://bugs.webkit.org/show_bug.cgi?id=60449
4354
4355        Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to
4356        coalesce anonymous children.
4357
4358        Test: fullscreen/full-screen-remove-sibling.html
4359
4360        * rendering/RenderObject.h:
4361        (WebCore::RenderObject::isAnonymousBlock):
4362
43632011-05-10  MORITA Hajime  <morrita@google.com>
4364
4365        Reviewed by Ryosuke Niwa.
4366
4367        REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
4368        https://bugs.webkit.org/show_bug.cgi?id=60090
4369
4370        SpellChecker uses TextCheckerClient, which belongs Page object,
4371        which is possibly destroyed during SpellChecker's lifetime.
4372        This change added to a guard before using TextCheckerClient to
4373        ensure it being live.
4374
4375        No new tests, this is a speculative fix for a real crash.
4376
4377        * editing/Editor.cpp:
4378        (WebCore::Editor::Editor):
4379        * editing/SpellChecker.cpp:
4380        (WebCore::SpellChecker::SpellChecker):
4381        (WebCore::SpellChecker::client):
4382        (WebCore::SpellChecker::canCheckAsynchronously):
4383        (WebCore::SpellChecker::requestCheckingFor):
4384        * editing/SpellChecker.h:
4385
43862011-05-10  Alexis Menard  <alexis.menard@openbossa.org>
4387
4388        Reviewed by Antonio Gomes.
4389
4390        Warning fix on PluginPackage.cpp.
4391        https://bugs.webkit.org/show_bug.cgi?id=60371
4392
4393        Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
4394        Let's use a struct rather than an array so we can pass everything to StringHasher.
4395
4396        * plugins/PluginPackage.cpp:
4397        (WebCore::PluginPackage::hash):
4398
43992011-05-10  Andreas Kling  <andreas.kling@nokia.com>
4400
4401        Rubber-stamped by Csaba Osztrogonác.
4402
4403        [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
4404        https://bugs.webkit.org/show_bug.cgi?id=60551
4405
4406        * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
4407        if the feature is found. Added a comment about why.
4408
44092011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>
4410
4411        Reviewed by Kenneth Rohde Christiansen.
4412
4413        [Qt] QtRawFont support should check based on feature, not version
4414        https://bugs.webkit.org/show_bug.cgi?id=60513
4415
4416        Build fix - no tests added.
4417
4418        * WebCore.pro:
4419
44202011-05-09  Csaba Osztrogonác  <ossy@webkit.org>
4421
4422        Unreviewed Qt 4.8 fix.
4423
4424        * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
4425
44262011-05-06  Andreas Kling  <andreas.kling@nokia.com>
4427
4428        Unreviewed Qt 4.8 build fix.
4429
4430        * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
4431        enable it after the 4.8 bots are updated with the full QRawFont APIs.
4432
44332011-05-09  Andreas Kling  <kling@webkit.org>
4434
4435        Reviewed by Kenneth Rohde Christiansen.
4436
4437        [Qt] Simple small-caps text is displayed in uniform size.
4438        https://bugs.webkit.org/show_bug.cgi?id=60492
4439
4440        Covered by existing tests.
4441
4442        * platform/graphics/qt/FontPlatformDataQt.cpp:
4443        (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
4444        used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
4445        to make small caps and emphasis marks have the correct size when rendered through
4446        the fast font path.
4447
44482011-05-09  Alexis Menard  <alexis.menard@openbossa.org>
4449
4450        Reviewed by Andreas Kling.
4451
4452        [Qt] Fix the build on Embedded Linux.
4453        https://bugs.webkit.org/show_bug.cgi?id=60347
4454
4455        qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
4456        still be used in order to build properly.
4457
4458        * WebCore.pri:
4459
44602011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
4461
4462        Reviewed by Alexey Proskuryakov.
4463
4464        Build fix with gcc 4.6 and c++0x support.
4465        https://bugs.webkit.org/show_bug.cgi?id=60284
4466
4467        When enabling support of c++0x the compilation fails because of an
4468        ambiguous overload error. In this code when constructing the pair
4469        we use the new c++0x rvalue reference feature (&&). It means we are
4470        calling String(const WTF::AtomicString&) which becomes ambiguous because
4471        it has an overload WTF::String::String(const WTF::String&) and usually one
4472        with the native port string type (e.g. QString). In this code we want the
4473        String version because the pair store Strings.
4474
4475        No new tests, build fix.
4476
4477        * loader/FormSubmission.cpp:
4478        (WebCore::FormSubmission::create):
4479
44802011-05-05  Tony Gentilcore  <tonyg@chromium.org>
4481
4482        Reviewed by Adam Barth.
4483
4484        ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
4485        https://bugs.webkit.org/show_bug.cgi?id=60101
4486
4487        Test: fast/parser/close-while-stopping.html
4488
4489        * dom/Document.cpp:
4490        (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
4491        the close() steps should be aborted if there is no script-created parser
4492        associated with the document. Our parser lives throughout
4493        http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
4494        the spec doesn't consider the parser active any more. So to properly
4495        respect this, we need to check that the parser is still parsing.
4496
44972011-05-05  Andreas Kling  <andreas.kling@nokia.com>
4498
4499        Reviewed by Simon Hausmann.
4500
4501        [Qt] Implement the fast font path for Qt.
4502        https://bugs.webkit.org/show_bug.cgi?id=51106
4503
4504        Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
4505        rendering and measurement of simple text.
4506
4507        Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
4508        classes are fully integrated into the Qt 4.8 release branch.
4509
4510        * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
4511
4512        * platform/graphics/Font.cpp:
4513        (WebCore::Font::drawText): Disable fast font path for stroked text, and when
4514        painting text with a shadow. (Qt-only)
4515        (WebCore::Font::codePath): Try to use fast font path in more cases.
4516
4517        * platform/graphics/qt/FontCacheQt.cpp:
4518        (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
4519        to use for rendering a given string. Goes through QTextLayout to find the best
4520        font based on the original QFont query.
4521        (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
4522
4523        * platform/graphics/qt/FontPlatformData.h:
4524        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
4525        (WebCore::FontPlatformData::FontPlatformData):
4526        (WebCore::FontPlatformData::rawFont):
4527        * platform/graphics/qt/FontPlatformDataQt.cpp:
4528        (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
4529
4530        * platform/graphics/qt/FontQt.cpp:
4531        (WebCore::fillPenForContext):
4532        (WebCore::strokePenForContext):
4533        (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
4534        to share code between complex and simple font rendering paths.
4535        (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
4536
4537        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4538        (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
4539
4540        * platform/graphics/qt/SimpleFontDataQt.cpp:
4541        (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
4542        have no way of knowing the pitch.
4543        (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
4544        (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
4545        (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
4546        (WebCore::SimpleFontData::smallCapsFontData): Ditto.
4547        (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
4548        (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
4549        (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
4550        (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
4551
45522011-05-05  Alexis Menard  <alexis.menard@openbossa.org>
4553
4554        Reviewed by Andreas Kling.
4555
4556        [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
4557        https://bugs.webkit.org/show_bug.cgi?id=60224
4558
4559        We should use nullptr rather than 0. nullptr will be added in the new C++ standard
4560        but WebKit already has a nullptr class if there is no c++0x support.
4561
4562        * platform/qt/RenderThemeQt.cpp:
4563        (WebCore::RenderThemeQt::adjustProgressBarStyle):
4564        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
4565        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
4566
45672011-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
4568
4569        Reviewed by Yury Semikhatsky.
4570
4571        Web Inspector: rename BrowserDebugger to DOMDebugger.
4572
4573        https://bugs.webkit.org/show_bug.cgi?id=60256
4574        InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
4575        browserDebugger => domDebugger
4576
4577        * CMakeLists.txt:
4578        * GNUmakefile.list.am:
4579        * WebCore.gypi:
4580        * WebCore.pro:
4581        * WebCore.vcproj/WebCore.vcproj:
4582        * WebCore.xcodeproj/project.pbxproj:
4583        * inspector/CodeGeneratorInspector.pm:
4584        * inspector/InspectorAgent.cpp:
4585        (WebCore::InspectorAgent::InspectorAgent):
4586        (WebCore::InspectorAgent::inspectedPageDestroyed):
4587        (WebCore::InspectorAgent::disconnectFrontend):
4588        * inspector/InspectorAgent.h:
4589        (WebCore::InspectorAgent::DOMDebuggerAgent):
4590        * inspector/InspectorController.cpp:
4591        (WebCore::InspectorController::connectFrontend):
4592        * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
4593        (WebCore::InspectorDOMDebuggerAgent::create):
4594        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
4595        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
4596        (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
4597        (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
4598        (WebCore::InspectorDOMDebuggerAgent::disable):
4599        (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
4600        (WebCore::InspectorDOMDebuggerAgent::discardBindings):
4601        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
4602        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
4603        (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
4604        (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
4605        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
4606        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
4607        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
4608        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
4609        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
4610        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
4611        (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
4612        (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
4613        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
4614        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
4615        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
4616        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
4617        (WebCore::InspectorDOMDebuggerAgent::clear):
4618        * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
4619        * inspector/InspectorInstrumentation.cpp:
4620        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
4621        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
4622        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
4623        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
4624        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
4625        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
4626        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
4627        * inspector/InstrumentingAgents.h:
4628        (WebCore::InstrumentingAgents::InstrumentingAgents):
4629        (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
4630        (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
4631        * inspector/WorkerInspectorController.cpp:
4632        (WebCore::WorkerInspectorController::connectFrontend):
4633
46342011-05-04  Yury Semikhatsky  <yurys@chromium.org>
4635
4636        Reviewed by Pavel Feldman.
4637
4638        Web Inspector: show only Console and Scripts panels in worker inspector front-end
4639        https://bugs.webkit.org/show_bug.cgi?id=60159
4640
4641        * inspector/front-end/WorkerManager.js:
4642        (WebInspector.WorkerManager.isWorkerFrontend):
4643        * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
4644
46452011-05-03  Hans Wennborg  <hans@chromium.org>
4646
4647        Reviewed by Steve Block.
4648
4649        IndexedDB: Unit tests for LevelDB key coding functions
4650        https://bugs.webkit.org/show_bug.cgi?id=59692
4651
4652        Fix some embarrassing bugs uncovered by unit tests.
4653
4654        No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
4655
4656        * storage/IDBLevelDBCoding.cpp:
4657        (WebCore::IDBLevelDBCoding::decodeInt):
4658        (WebCore::IDBLevelDBCoding::decodeVarInt):
4659
46602011-05-05  Young Han Lee  <joybro@company100.net>
4661
4662        Reviewed by Csaba Osztrogonác.
4663
4664        [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
4665        https://bugs.webkit.org/show_bug.cgi?id=60251
4666
4667        No new tests. Build fix.
4668
4669        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
4670        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
4671
46722011-05-04  Jay Civelli  <jcivelli@chromium.org>
4673
4674        Reviewed by Adam Barth.
4675
4676        Adding a utility class to read a SharedBuffer line by line.
4677        https://bugs.webkit.org/show_bug.cgi?id=59946
4678
4679        * CMakeLists.txt:
4680        * GNUmakefile.list.am:
4681        * WebCore.gypi:
4682        * WebCore.pro:
4683        * WebCore.vcproj/WebCore.vcproj:
4684        * WebCore.xcodeproj/project.pbxproj:
4685        * platform/SharedBufferCRLFLineReader.cpp: Added.
4686        * platform/SharedBufferCRLFLineReader.h: Added.
4687
46882011-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
4689
4690        Unreviewed, rolling out r85788.
4691        http://trac.webkit.org/changeset/85788
4692        https://bugs.webkit.org/show_bug.cgi?id=60250
4693
4694        svg/text/text-block-child-crash.xhtml asserts (Requested by
4695        Ossy on #webkit).
4696
4697        * css/CSSStyleSelector.cpp:
4698        (WebCore::CSSStyleSelector::applyProperty):
4699
47002011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
4701
4702        Reviewed by Eric Seidel.
4703
4704        Make more member functions in EventHandler private
4705        https://bugs.webkit.org/show_bug.cgi?id=60200
4706
4707        Reduced the number of public member functions in EventHandler.
4708
4709        * WebCore.exp.in:
4710        * page/EventHandler.cpp:
4711        (WebCore::EventHandler::handleAutoscroll):
4712        (WebCore::EventHandler::autoscrollTimerFired):
4713        (WebCore::EventHandler::stopAutoscrollTimer):
4714        (WebCore::EventHandler::handleMousePressEvent):
4715        (WebCore::EventHandler::handleMouseMoveEvent):
4716        (WebCore::EventHandler::keyEvent):
4717        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
4718        * page/EventHandler.h:
4719        (WebCore::EventHandler::mouseDownMayStartSelect):
4720
47212011-05-04  James Robinson  <jamesr@chromium.org>
4722
4723        Reviewed by Kenneth Russell.
4724
4725        [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
4726        https://bugs.webkit.org/show_bug.cgi?id=60202
4727
4728        In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check.  This switches
4729        the order back and adds a regression test.
4730
4731        Test: compositing/repaint/transform-style-change.html
4732
4733        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
4734        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
4735
47362011-05-04  Cris Neckar  <cdn@chromium.org>
4737
4738        Reviewed by Adam Barth.
4739
4740        Expose WebView directly through ChromeClient.
4741        https://bugs.webkit.org/show_bug.cgi?id=49902
4742
4743        Test: fast/media/media-svg-crash.html
4744
4745        * loader/EmptyClients.h:
4746        (WebCore::EmptyChromeClient::webView):
4747        * page/ChromeClient.h:
4748        * page/brew/ChromeClientBrew.h:
4749        (WebCore::ChromeClientBrew::webView):
4750
47512011-05-04  Joseph Pecoraro  <joepeck@webkit.org>
4752
4753        Reviewed by Darin Adler.
4754
4755        Unable to Paste After Deleting Text from Input due to -webkit-user-select
4756        https://bugs.webkit.org/show_bug.cgi?id=60219
4757
4758        When deleting all the text inside the input a placeholder <br>
4759        element was inserted for the selection point. However, when
4760        pasting, the test run computes the -webkit-user-select for the
4761        <br> element, instead of what would be the text inside the
4762        <input> and incorrectly disallows selection and prevented
4763        the paste.
4764
4765        Test: editing/pasteboard/paste-placeholder-input.html
4766
4767        * editing/ReplaceSelectionCommand.cpp:
4768        (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
4769        <br> elements above us as those are likely placeholder elements.
4770
47712011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
4772
4773        Reviewed by Martin Robinson.
4774
4775        Windows build of WebKit GTK needs to be able to find SystemInfo.h
4776        https://bugs.webkit.org/show_bug.cgi?id=60221
4777
4778        * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
4779        for headers, since Source/WebCore/platform/win/SystemInfo.h
4780        header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
4781        on Windows.
4782
47832011-05-04  Vangelis Kokkevis  <vangelis@chromium.org>
4784
4785        Reviewed by Kenneth Russell.
4786
4787        [chromium] Improve sorting of layers in hierarchies that preserve-3d
4788        by testing for overlapping regions between layer pairs and doing a
4789        topological sort to determine the right order.
4790        https://bugs.webkit.org/show_bug.cgi?id=59255
4791
4792        Test: platform/chromium/compositing/perpendicular-layer-sorting.html
4793
4794        * WebCore.gypi:
4795        * platform/graphics/chromium/LayerRendererChromium.cpp:
4796        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
4797        * platform/graphics/chromium/LayerRendererChromium.h:
4798        * platform/graphics/chromium/cc/CCLayerImpl.h:
4799        (WebCore::CCLayerImpl::clearRenderSurface):
4800        * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
4801        (WebCore::perpProduct):
4802        (WebCore::innerProduct):
4803        (WebCore::pointInColinearEdge):
4804        (WebCore::edgeEdgeTest):
4805        (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
4806        (WebCore::CCLayerSorter::LayerIntersector::go):
4807        (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
4808        (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
4809        (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
4810        (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
4811        (WebCore::CCLayerSorter::CCLayerSorter):
4812        (WebCore::CCLayerSorter::checkOverlap):
4813        (WebCore::CCLayerSorter::createGraphNodes):
4814        (WebCore::CCLayerSorter::createGraphEdges):
4815        (WebCore::CCLayerSorter::removeEdgeFromList):
4816        (WebCore::CCLayerSorter::sort):
4817        * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
4818        (WebCore::CCLayerSorter::GraphNode::GraphNode):
4819        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
4820
48212011-05-03  Jer Noble  <jer.noble@apple.com>
4822
4823        Reviewed by Antti Koivisto.
4824
4825        Safari: Video at apple.com cannot play at full screen mode with layout distortion
4826        https://bugs.webkit.org/show_bug.cgi?id=60140
4827
4828        Because a fullscreen element may be in a stacking context with a lower z-index than
4829        a sibling stacking context, those higher contexts would sometimes "pop" through the
4830        full screen renderer. To facilitate eliminating all the stacking contexts aside from
4831        the full screen renderer, added a new pseudo-class specific to video or audio full
4832        screen elements. Then, added a new UA rule which resets the z-index and opacities of
4833        all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
4834        identity checking of HTMLMediaElements, added isMediaElement() virtual function to
4835        Element and HTMLMediaElement.
4836
4837        Test: fullscreen/full-screen-stacking-context.html
4838
4839        * css/CSSSelector.cpp:
4840        (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
4841        (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
4842        (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
4843        * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
4844        * css/CSSStyleSelector.cpp:
4845        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
4846        * css/fullscreen.css:
4847        (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names,
4848            which were missing the -webkit prefix.
4849        (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
4850        * dom/Element.h:
4851        (WebCore::Element::isMediaElement): Added, returns false.
4852        * html/HTMLMediaElement.h:
4853        (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
4854        * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
4855
48562011-05-04  Levi Weintraub  <leviw@chromium.org>
4857
4858        Reviewed by Eric Seidel.
4859
4860        Split findNextLineBreak into a LineBreaker class
4861        https://bugs.webkit.org/show_bug.cgi?id=60209
4862
4863        Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
4864        nearly no state, but subsequent patches will move some of the local variables used throughout
4865        the nextLineBreak function into member variables to simplify breaking off helper functions from
4866        the bloated function.
4867
4868        No new tests since this is just moving code around.
4869
4870        * WebCore.xcodeproj/project.pbxproj:
4871        * rendering/RenderBlock.h:
4872        (WebCore::RenderBlock::LineBreaker::LineBreaker):
4873        (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
4874        (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
4875        (WebCore::RenderBlock::LineBreaker::clear): Ditto.
4876        * rendering/RenderBlockLineLayout.cpp:
4877        (WebCore::RenderBlock::layoutRunsAndFloats):
4878        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
4879        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
4880        (WebCore::RenderBlock::LineBreaker::reset):
4881        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
4882
48832011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
4884
4885        Reviewed by Adam Barth.
4886
4887        Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
4888        The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
4889        https://bugs.webkit.org/show_bug.cgi?id=58579
4890
4891        * dom/XMLDocumentParserLibxml2.cpp:
4892        (WebCore::XMLDocumentParser::error):
4893
48942011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4895
4896        Unreviewed warning fix.
4897
4898        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
4899        a warning in Release build.
4900
4901        * dom/Node.cpp:
4902        (WebCore::Node::removeEventListener):
4903        * platform/DateComponents.cpp:
4904        (WebCore::DateComponents::parseTime):
4905        * rendering/RenderLayer.cpp:
4906        (WebCore::RenderLayer::convertToLayerCoords):
4907        * storage/StorageMap.cpp:
4908        (WebCore::StorageMap::importItem):
4909        * svg/SVGUseElement.cpp:
4910        (WebCore::SVGUseElement::buildShadowTree):
4911        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
4912
49132011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4914
4915        Unreviewed warning fix.
4916
4917        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
4918        a warning in Release build.
4919
4920        * accessibility/AccessibilityRenderObject.cpp:
4921        (WebCore::lastChildConsideringContinuation):
4922
49232011-05-04  Dimitri Glazkov  <dglazkov@chromium.org>
4924
4925        Sort xcodeproj files.
4926
4927        The WebCore.xcodeproj got out of sorts again.
4928
4929        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
4930
49312011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4932
4933        Reviewed by Adam Barth.
4934
4935        Warning fix.
4936
4937        * bindings/js/DOMObjectHashTableMap.h:
4938        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
4939
49402011-05-04  Rob Buis  <rbuis@rim.com>
4941
4942        Reviewed by Darin Adler.
4943
4944        NULL deref when SVG elements have table styles
4945        https://bugs.webkit.org/show_bug.cgi?id=45561
4946
4947        Restrict computed CSS values for SVG display property to block, inline or none.
4948
4949        Tests: svg/custom/display-table-caption-foreignObject.svg
4950               svg/custom/display-table-caption-inherit-foreignObject.xhtml
4951               svg/custom/display-table-caption-inherit-text.xhtml
4952               svg/custom/display-table-caption-text.svg
4953
4954        * css/CSSStyleSelector.cpp:
4955        (WebCore::CSSStyleSelector::applyProperty):
4956
49572011-05-04  Tao Bai  <michaelbai@chromium.org>
4958
4959        Reviewed by David Kilzer.
4960
4961        Populate touch-icon url to FrameLoaderClient
4962        https://bugs.webkit.org/show_bug.cgi?id=59143
4963
4964        Parsed and populated apple-touch-icon url to FrameLoaderClient.
4965        Changed favicon to be a type of icon.
4966
4967        * CMakeLists.txt:
4968        * Configurations/FeatureDefines.xcconfig:
4969        * GNUmakefile.am:
4970        * GNUmakefile.list.am:
4971        * WebCore.gypi:
4972        * WebCore.vcproj/WebCore.vcproj:
4973        * WebCore.xcodeproj/project.pbxproj:
4974        * dom/Document.cpp:
4975        (WebCore::Document::iconURL):
4976        (WebCore::Document::setIconURL):
4977        * dom/Document.h:
4978        * dom/IconURL.cpp: Added.
4979        (WebCore::toIconIndex):
4980        * dom/IconURL.h: Added.
4981        (WebCore::IconURL::IconURL):
4982        * features.pri:
4983        * html/HTMLLinkElement.cpp:
4984        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4985        (WebCore::HTMLLinkElement::process):
4986        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
4987        * html/HTMLLinkElement.h:
4988        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
4989        (WebCore::HTMLLinkElement::isEnabledViaScript):
4990        * html/parser/HTMLPreloadScanner.cpp:
4991        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
4992        * loader/DocumentLoader.cpp:
4993        (WebCore::DocumentLoader::iconURL):
4994        (WebCore::DocumentLoader::setIconURL):
4995        * loader/DocumentLoader.h:
4996        * loader/EmptyClients.h:
4997        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
4998        * loader/FrameLoader.cpp:
4999        (WebCore::FrameLoader::iconURL):
5000        (WebCore::FrameLoader::iconURLs):
5001        (WebCore::FrameLoader::fillIconURL):
5002        (WebCore::FrameLoader::getDefaultIconURL):
5003        (WebCore::FrameLoader::setIconURL):
5004        (WebCore::FrameLoader::didChangeIcons):
5005        * loader/FrameLoader.h:
5006        * loader/FrameLoaderClient.h:
5007
50082011-05-04  Chris Marrin  <cmarrin@apple.com>
5009
5010        Reviewed by Simon Fraser.
5011
5012        Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
5013        https://bugs.webkit.org/show_bug.cgi?id=60191
5014
5015        Skip replaceSublayer when there is no superlayer rather than asserting.
5016        This is probably not a problem and happens when restructuring the layer
5017        tree. Avoiding this crash will allow us to get more testing.
5018
5019        * platform/graphics/ca/GraphicsLayerCA.cpp:
5020        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
5021
50222011-05-04  Martin Robinson  <mrobinson@igalia.com>
5023
5024        Reviewed by Gustavo Noronha Silva.
5025
5026        Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
5027        method, just use extern declarations to avoid having to declare it in the header.
5028        This will prevent having to include glib.h in RenderThemeGtk.h, which is included
5029        in many C++ files.
5030
5031        No new tests. This is just a build fix.
5032
5033        * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
5034        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
5035        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
5036        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
5037        (WebCore::RenderThemeGtk::paintMediaButton):
5038        * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
5039        gtkEntry() public because they are now accessed externally from getStockIcon().
5040        * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
5041        (WebCore::getStockIconForWidgetType):
5042        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
5043        (WebCore::getStockIconForWidgetType):
5044
50452011-05-04  Mark Pilgrim  <pilgrim@chromium.org>
5046
5047        Reviewed by Tony Chang.
5048
5049        IndexedDB open (database) should fail if name is null
5050        https://bugs.webkit.org/show_bug.cgi?id=60022
5051
5052        Test: storage/indexeddb/mozilla/open-database-null-name.html
5053
5054        Combination problem: Bug in IDL didn't pass null values to .cpp layer,
5055        then .cpp layer didn't check for null value anyway.
5056
5057        * storage/IDBFactory.cpp:
5058        (WebCore::IDBFactory::open): check for null name
5059        * storage/IDBFactory.idl: pass null name as null
5060
50612011-05-04  Jer Noble  <jer.noble@apple.com>
5062
5063        Reviewed by Darin Adler.
5064
5065        Entering full screen fails >= second time on Vimeo.com.
5066        https://bugs.webkit.org/show_bug.cgi?id=60143
5067
5068        Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
5069        Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
5070        at the end of an animation, if it determined that the RenderFullScreen would still require
5071        a layer even when not animating.
5072
5073        * rendering/RenderFullScreen.cpp:
5074        (RenderFullScreen::setAnimating): Clear the renderer's layer.
5075
50762011-05-04  Simon Fraser  <simon.fraser@apple.com>
5077
5078        Reviewed by Darin Adler.
5079
5080        Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
5081        https://bugs.webkit.org/show_bug.cgi?id=59849
5082
5083        When attempting to unwind the graphics state stack in the
5084        CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
5085        to create a new ImageBuffer.
5086
5087        * html/HTMLCanvasElement.cpp:
5088        (WebCore::HTMLCanvasElement::existingDrawingContext):
5089        * html/HTMLCanvasElement.h:
5090        * html/canvas/CanvasRenderingContext2D.cpp:
5091        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
5092
50932011-05-04  Andrey Kosyakov  <caseq@chromium.org>
5094
5095        Reviewed by Yury Semikhatsky.
5096
5097        Web Inspector: expose shadow DOM in the Elements panel
5098        https://bugs.webkit.org/show_bug.cgi?id=60160
5099
5100        Test: inspector/elements/shadow-dom.html
5101
5102        * dom/Element.cpp:
5103        (WebCore::Element::ensureShadowRoot):
5104        (WebCore::Element::removeShadowRoot):
5105        * inspector/Inspector.json:
5106        * inspector/InspectorDOMAgent.cpp:
5107        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
5108        (WebCore::InspectorDOMAgent::buildObjectForNode):
5109        (WebCore::InspectorDOMAgent::didInsertDOMNode):
5110        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
5111        (WebCore::InspectorDOMAgent::isContainerNode):
5112        * inspector/InspectorDOMAgent.h:
5113        * inspector/front-end/DOMAgent.js:
5114        (WebInspector.DOMNode):
5115        (WebInspector.DOMNode.prototype.inShadowTree):
5116        (WebInspector.DOMNode.prototype._setShadowRootPayload):
5117        (WebInspector.DOMNode.prototype._renumber):
5118        (WebInspector.DOMAgent.prototype._bindNodes):
5119        (WebInspector.DOMAgent.prototype.querySelectorAll):
5120        (WebInspector.DOMAgent.prototype._shadowRootUpdated):
5121        (WebInspector.DOMDispatcher.prototype.searchResults):
5122        (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
5123        * inspector/front-end/ElementsPanel.js:
5124        (WebInspector.ElementsPanel):
5125        (WebInspector.ElementsPanel.prototype._nodeUpdated):
5126        (WebInspector.ElementsPanel.prototype._attributesUpdated):
5127        (WebInspector.ElementsPanel.prototype._nodeRemoved):
5128        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
5129        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
5130        * inspector/front-end/ElementsTreeOutline.js:
5131        (WebInspector.ElementsTreeElement):
5132        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
5133        (WebInspector.ElementsTreeElement.prototype._updateChildren):
5134        ():
5135        * inspector/front-end/inspector.css:
5136        (#elements-content .dom-shadow-root):
5137        (.outline-disclosure li .webkit-html-tag.shadow):
5138        * inspector/front-end/utilities.js:
5139
51402011-05-03  Adam Roben  <aroben@apple.com>
5141
5142        Remove an unnecessary OwnPtr equality check in XSLT code
5143
5144        Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
5145
5146        Reviewed by Anders Carlsson and Antti Koivisto.
5147
5148        * dom/Document.cpp:
5149        (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
5150        equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
5151        we're safe.)
5152
51532011-05-04  Leandro Gracia Gil  <leandrogracia@chromium.org>
5154
5155        Reviewed by Tony Gentilcore.
5156
5157        Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
5158        https://bugs.webkit.org/show_bug.cgi?id=56922
5159
5160        Add the basic outlines of the page controller, the per-frame controller and the embedder
5161        client interface for the Media Stream API. Provide methods to handle the situations
5162        where a frame is detached from the page or transferred between pages.
5163
5164        Tests for the Media Stream API will be provided by the bug 56587.
5165
5166        * CMakeLists.txt:
5167        * GNUmakefile.list.am:
5168        * WebCore.gypi:
5169        * WebCore.pro:
5170        * WebCore.vcproj/WebCore.vcproj:
5171        * WebCore.xcodeproj/project.pbxproj:
5172        * page/Frame.cpp:
5173        (WebCore::Frame::Frame):
5174        (WebCore::Frame::~Frame):
5175        (WebCore::Frame::pageDestroyed):
5176        (WebCore::Frame::transferChildFrameToNewDocument):
5177        * page/Frame.h:
5178        (WebCore::Frame::mediaStreamFrameController):
5179        * page/MediaStreamClient.h: Added.
5180        (WebCore::MediaStreamClient::~MediaStreamClient):
5181        * page/MediaStreamController.cpp: Added.
5182        (WebCore::MediaStreamController::Request::Request):
5183        (WebCore::MediaStreamController::Request::localId):
5184        (WebCore::MediaStreamController::Request::frameController):
5185        (WebCore::MediaStreamController::MediaStreamController):
5186        (WebCore::MediaStreamController::~MediaStreamController):
5187        (WebCore::MediaStreamController::unregisterFrameController):
5188        (WebCore::MediaStreamController::registerRequest):
5189        * page/MediaStreamController.h: Added.
5190        * page/MediaStreamFrameController.cpp: Added.
5191        (WebCore::MediaStreamFrameController::Request::Request):
5192        (WebCore::MediaStreamFrameController::Request::~Request):
5193        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
5194        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
5195        (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
5196        (WebCore::MediaStreamFrameController::RequestMap::abort):
5197        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
5198        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
5199        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
5200        (WebCore::MediaStreamFrameController::securityOrigin):
5201        (WebCore::MediaStreamFrameController::scriptExecutionContext):
5202        (WebCore::MediaStreamFrameController::pageController):
5203        (WebCore::MediaStreamFrameController::enterDetachedState):
5204        (WebCore::MediaStreamFrameController::disconnectPage):
5205        (WebCore::MediaStreamFrameController::disconnectFrame):
5206        (WebCore::MediaStreamFrameController::transferToNewPage):
5207        * page/MediaStreamFrameController.h: Added.
5208        * page/Page.cpp:
5209        (WebCore::Page::Page):
5210        (WebCore::Page::PageClients::PageClients):
5211        * page/Page.h:
5212        (WebCore::Page::mediaStreamController):
5213
52142011-05-04  Alexander Pavlov  <apavlov@chromium.org>
5215
5216        Reviewed by Yury Semikhatsky.
5217
5218        Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
5219        https://bugs.webkit.org/show_bug.cgi?id=60150
5220
5221        * inspector/front-end/StylesSidebarPane.js:
5222        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
5223
52242011-05-04  Dominic Battre  <battre@chromium.org>
5225
5226        Reviewed by Tony Gentilcore.
5227
5228        Fix missing header in case SVG is disabled
5229        https://bugs.webkit.org/show_bug.cgi?id=60153
5230
5231        * dom/EventDispatcher.cpp:
5232
52332011-05-04  Luke Macpherson   <macpherson@chromium.org>
5234
5235        Reviewed by Eric Seidel.
5236
5237        Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
5238        https://bugs.webkit.org/show_bug.cgi?id=60006
5239
5240        No new tests as no functionality added. Simple rename only.
5241
5242        * css/CSSStyleApplyProperty.cpp:
5243        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
5244        * css/CSSStyleApplyProperty.h:
5245        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
5246
52472011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
5248
5249        Reviewed by Eric Seidel.
5250
5251        Cleanup conditionals in findNextLineBreak
5252        https://bugs.webkit.org/show_bug.cgi?id=60117
5253
5254        Simplified conditional statements in findNextLineBreak.
5255
5256        * rendering/RenderBlockLineLayout.cpp:
5257        (WebCore::RenderBlock::findNextLineBreak):
5258
52592011-05-04  Luke Macpherson   <macpherson@chromium.org>
5260
5261        Reviewed by Eric Seidel.
5262
5263        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
5264        https://bugs.webkit.org/show_bug.cgi?id=60114
5265
5266        No new tests as no functionality changes.
5267
5268        * css/CSSStyleSelector.cpp:
5269        (WebCore::CSSStyleSelector::applyProperty):
5270        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
5271
52722011-05-04  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
5273
5274        Reviewed by Andreas Kling.
5275
5276        [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
5277        https://bugs.webkit.org/show_bug.cgi?id=59070
5278
5279        Applications using our API and our autotests subclass QNetworkReply as part of providing a
5280        custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
5281        QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
5282        4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
5283
5284        The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
5285        watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
5286        indicating that it is finished. When there's no finished signal (synchronous) we set the
5287        dynamic property once we get the reply.
5288
5289        This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
5290        emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
5291
5292        * platform/network/qt/QNetworkReplyHandler.cpp:
5293        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
5294        Connect the finished signal to the new setFinished() slot.
5295
5296        (WebCore::QNetworkReplyWrapper::synchronousLoad):
5297        Since we don't get the finished signal for synchronous loads, set the dynamic property
5298        before processing it.
5299
5300        (WebCore::QNetworkReplyWrapper::resetConnections):
5301        Do not reset the connection to setFinished().
5302
5303        (WebCore::QNetworkReplyWrapper::setFinished):
5304        Set the dynamic property in the reply.
5305
5306        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
5307        (WebCore::QNetworkReplyHandler::start):
5308        Change to use wrapper's isFinished() instead of asking the reply directly.
5309
5310        * platform/network/qt/QNetworkReplyHandler.h:
5311        (WebCore::QNetworkReplyWrapper::isFinished):
5312        Checks the dynamic property of the reply.
5313
5314        * platform/network/qt/QtMIMETypeSniffer.cpp:
5315        (QtMIMETypeSniffer::sniff):
5316        Use the dynamic property to check if the reply is finished.
5317
53182011-05-04  Eric Seidel  <eric@webkit.org>
5319
5320        Reviewed by Ryosuke Niwa.
5321
5322        Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
5323        https://bugs.webkit.org/show_bug.cgi?id=60080
5324
5325        No functional change, just moving code.
5326
5327        * rendering/RenderBlock.h:
5328        * rendering/RenderBlockLineLayout.cpp:
5329        (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
5330        (WebCore::RenderBlock::layoutRunsAndFloats):
5331
53322011-05-04  Andreas Kling  <andreas.kling@nokia.com>
5333
5334        Reviewed by Kenneth Rohde Christiansen.
5335
5336        [Qt] Remove unused function FontPlatformData::pixelSize()
5337        https://bugs.webkit.org/show_bug.cgi?id=60156
5338
5339        * platform/graphics/qt/FontPlatformData.h:
5340        (WebCore::FontPlatformData::pixelSize): Removed.
5341
53422011-05-04  Luke Macpherson   <macpherson@chromium.org>
5343
5344        Reviewed by Darin Adler.
5345
5346        Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
5347        https://bugs.webkit.org/show_bug.cgi?id=60011
5348
5349        No new tests added as no functionality changed.
5350
5351        * css/CSSStyleSelector.cpp:
5352        (WebCore::CSSStyleSelector::applyProperty):
5353        Remove reundant check for auto table layout.
5354
53552011-05-04  Mihai Parparita  <mihaip@chromium.org>
5356
5357        Reviewed by Darin Adler.
5358
5359        Remove double-free checks for bug 56124
5360        https://bugs.webkit.org/show_bug.cgi?id=60037
5361
5362        Antti's speculative fix for bug 56124 (r84151) appears to have worked,
5363        these CRASH() calls are not triggering anymore.
5364
5365        * css/CSSSelector.h:
5366        (WebCore::CSSSelector::CSSSelector):
5367        (WebCore::CSSSelector::~CSSSelector):
5368        * css/CSSSelectorList.cpp:
5369        (WebCore::CSSSelectorList::deleteSelectors):
5370
53712011-05-04  Satish Sampath  <satish@chromium.org>
5372
5373        Reviewed by Tony Gentilcore.
5374
5375        Layout the speech input button to the left of outer spin button properly.
5376        https://bugs.webkit.org/show_bug.cgi?id=59742
5377
5378        * rendering/RenderTextControlSingleLine.cpp:
5379        (WebCore::RenderTextControlSingleLine::layout):
5380
53812011-05-04  Yury Semikhatsky  <yurys@chromium.org>
5382
5383        Unreviewed. Build fix.
5384
5385        * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
5386
53872011-05-03  Yury Semikhatsky  <yurys@chromium.org>
5388
5389        Reviewed by Pavel Feldman.
5390
5391        Web Inspector: can't inspect element in an iframe when element originates from non-frame document
5392        https://bugs.webkit.org/show_bug.cgi?id=60031
5393
5394        Inspected object type evaluation has moved into native bindings. This way it doesn't
5395        depend on the current JS context.
5396
5397        Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
5398
5399        * bindings/js/JSInjectedScriptHostCustom.cpp:
5400        (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
5401        real undefined values from HTMLAllCollection
5402        (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
5403        value
5404        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
5405        (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
5406        (WebCore::V8InjectedScriptHost::typeCallback):
5407        * inspector/InjectedScriptHost.idl:
5408        * inspector/InjectedScriptSource.js:
5409        (.):
5410
54112011-05-03  Pratik Solanki  <psolanki@apple.com>
5412
5413        Reviewed by Antti Koivisto.
5414
5415        Part of WebCore should use CFNetwork-based loader on Mac
5416        https://bugs.webkit.org/show_bug.cgi?id=51836
5417
5418        Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
5419        up some warnings and #if USE(CFNETWORK) around code.
5420
5421        * platform/mac/CookieJar.mm:
5422        * platform/network/CookieStorage.h:
5423        * platform/network/cf/CookieStorageCFNet.cpp:
5424        (WebCore::privateBrowsingCookieStorage):
5425        (WebCore::currentCookieStorage):
5426        (WebCore::setCurrentCookieStorage):
5427        (WebCore::setCookieStoragePrivateBrowsingEnabled):
5428        (WebCore::notifyCookiesChangedOnMainThread):
5429        (WebCore::notifyCookiesChanged):
5430        * platform/network/cf/CookieStorageCFNet.h:
5431        * platform/network/mac/CookieStorageMac.mm:
5432
54332011-05-03  Justin Novosad  <junov@chromium.org>
5434
5435        Reviewed by Kenneth Russell.
5436
5437        [Chromium] Make accelerated 2d canvas enabled by default with skia
5438        https://bugs.webkit.org/show_bug.cgi?id=59929
5439
5440        No new tests. Covered by existing layout tests
5441
5442        * html/canvas/CanvasRenderingContext2D.cpp:
5443        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
5444        Initialized for accelerated canvas if either the accelerated2dCanvas
5445        or the legacyAccelerated2dCanvas flags are enabled
5446        * page/Page.cpp:
5447        (WebCore::Page::sharedGraphicsContext3D):
5448        This is where the code goes to implement the functionality for the
5449        legacy vs current acceleration paths for the 2D canvas. Currently,
5450        this is a no-op, and always select the legacy path.  This is temporary
5451        until we are ready to sort the GPU layout tests (rebasline vs. bug)
5452        * page/Settings.cpp:  Added new flage for legacyAccelerated2dCanvas
5453        (WebCore::Settings::Settings):
5454        (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
5455        * page/Settings.h:
5456        (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
5457
54582011-04-29  Jer Noble  <jer.noble@apple.com>
5459
5460        Reviewed by Eric Seidel.
5461
5462        Implement FULLSCREEN_API on Windows, Part 4: Enable it
5463        https://bugs.webkit.org/show_bug.cgi?id=59798
5464
5465        * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
5466            files to the project.
5467
54682011-05-03  Alpha Lam  <hclam@chromium.org>
5469
5470        Not reviewed. Build fix.
5471
5472        More places from 0 to nullptr.
5473
5474        * bindings/v8/V8Proxy.cpp:
5475        (WebCore::V8Proxy::precompileScript):
5476        * platform/graphics/chromium/LayerTilerChromium.cpp:
5477        (WebCore::LayerTilerChromium::create):
5478        * platform/graphics/gpu/BicubicShader.cpp:
5479        (WebCore::BicubicShader::create):
5480        * platform/graphics/gpu/ConvolutionShader.cpp:
5481        (WebCore::ConvolutionShader::create):
5482        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
5483        (WebCore::LoopBlinnSolidFillShader::create):
5484        * platform/graphics/gpu/SolidFillShader.cpp:
5485        (WebCore::SolidFillShader::create):
5486        * platform/graphics/gpu/TexShader.cpp:
5487        (WebCore::TexShader::create):
5488        * platform/graphics/skia/PlatformContextSkia.cpp:
5489        (WebCore::PlatformContextSkia::~PlatformContextSkia):
5490        * platform/leveldb/LevelDBDatabase.cpp:
5491        (WebCore::LevelDBDatabase::createIterator):
5492        * platform/text/LocalizedNumberICU.cpp:
5493        (WebCore::createFormatterForCurrentLocale):
5494
54952011-05-03  Alpha Lam  <hclam@chromium.org>
5496
5497        Not reviewed. Build fix.
5498
5499        Using nullptr instead of 0. This makes visual studio happy.
5500
5501        * storage/IDBTransactionBackendInterface.h:
5502
55032011-05-03  Luke Macpherson   <macpherson@chromium.org>
5504
5505        Reviewed by Dimitri Glazkov.
5506
5507        Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
5508        https://bugs.webkit.org/show_bug.cgi?id=59774
5509
5510        No new tests required as on new functionality.
5511
5512        * css/CSSStyleApplyProperty.cpp:
5513        (WebCore::ApplyPropertyColor::applyValue):
5514        Added template parameter "inheritColorFromParent = false".
5515        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
5516        Use template parameter where appropriate.
5517
55182011-05-03  Dan Bernstein  <mitz@apple.com>
5519
5520        Reviewed by Darin Adler.
5521
5522        <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
5523
5524        Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
5525        dirty the line when the float is removed, instead of relying on the float always intersecting
5526        its originating line.
5527
5528        * rendering/RenderBlock.cpp:
5529        (WebCore::RenderBlock::removeFloatingObject):
5530        (WebCore::RenderBlock::removeFloatingObjectsBelow):
5531        (WebCore::RenderBlock::clearFloats):
5532        * rendering/RenderBlock.h:
5533        (WebCore::RenderBlock::FloatingObject::FloatingObject):
5534        * rendering/RenderBlockLineLayout.cpp:
5535        (WebCore::RenderBlock::appendFloatingObjectToLastLine):
5536        (WebCore::RenderBlock::layoutRunsAndFloats):
5537        (WebCore::RenderBlock::determineStartPosition):
5538
55392011-05-02  Jer Noble  <jer.noble@apple.com>
5540
5541        Reviewed by Adam Roben.
5542
5543        Implement FULLSCREEN_API on Windows, Part 3: WebKit2
5544        https://bugs.webkit.org/show_bug.cgi?id=59845
5545
5546        Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
5547        and WebKit2.  WebFullScreenController now uses a Client class to request work on its
5548        behalf by WebKit and WebKit2.  MediaPlayerPrivateFullscreenWindow now only creates a
5549        CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
5550        problems, and because a CALayerHost is overkill if the window is only drawing black to
5551        its client area.
5552
5553        * WebCore.vcproj/WebCore.vcproj:
5554        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
5555        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create
5556            m_layerHost in the constructor.
5557        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
5558        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
5559        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
5560            not present, fill the window with black in WM_PAINT.
5561        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
5562        * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
5563        * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
5564        * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
5565        (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
5566
55672011-05-03  Brady Eidson  <beidson@apple.com>
5568
5569        Reviewed by Sam Weinig.
5570
5571        https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
5572        WK2 Icon Database should provide access to all image representations in the icon.
5573
5574        Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
5575        * platform/graphics/BitmapImage.h:
5576        * platform/graphics/Image.h:
5577        (WebCore::Image::getCGImageArray):
5578        * platform/graphics/cg/ImageCG.cpp:
5579        (WebCore::BitmapImage::getCGImageArray):
5580
55812011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5582
5583        Reviewed by Eric Seidel.
5584
5585        findNextLineBreak splits InlineIterator into 3 pieces
5586        https://bugs.webkit.org/show_bug.cgi?id=60082
5587
5588        Avoid splitting InlineIterator into 3 variables with inter-dependencies.
5589
5590        * rendering/InlineIterator.h:
5591        (WebCore::InlineIterator::fastIncrementInTextNode): Added.
5592        (WebCore::InlineIterator::previousInSameNode): Added.
5593        * rendering/RenderBlockLineLayout.cpp:
5594        (WebCore::RenderBlock::findNextLineBreak):
5595
55962011-05-03  Dean Jackson  <dino@apple.com>
5597
5598        Reviewed by Simon Fraser.
5599
5600        Interrupted transitions are not correctly removed
5601        https://bugs.webkit.org/show_bug.cgi?id=60062
5602
5603        CompositeAnimation was replacing any existing
5604        transition as a new one was created. However, it wasn't
5605        clearing the lists in AnimationControllerPrivate that
5606        signal when a hardware animation starts. Rather than
5607        simple removing the existing transition, we now tell
5608        AnimationControllerPrivate that is has gone.
5609
5610        Test: transitions/3d/interrupted-transition.html
5611
5612        * page/animation/CompositeAnimation.cpp:
5613        (WebCore::CompositeAnimation::updateTransitions):
5614
56152011-05-03  Enrica Casucci  <enrica@apple.com>
5616
5617        Reviewed by Ryosuke Niwa.
5618
5619        Crash in SpellingCorrectionController::respondToChangedSelection.
5620        https://bugs.webkit.org/show_bug.cgi?id=60071
5621        <rdar://problem/9358190>
5622
5623        Creating a Visible position could trigger a layout and there is no
5624        guarantee that the selection is still valid after that.
5625
5626        Tests: editing/selection/undo-crash.html
5627
5628        * editing/SpellingCorrectionController.cpp:
5629        (WebCore::SpellingCorrectionController::respondToChangedSelection):
5630
56312011-05-03  Levi Weintraub  <leviw@chromium.org>
5632
5633        Reviewed by Eric Seidel.
5634
5635        Refactor computeInlineDirectionPositionsForLine into smaller functions
5636        https://bugs.webkit.org/show_bug.cgi?id=60072
5637
5638        Split three functions off from computeInlineDirectionPositionsForLine
5639        to improve its readability.
5640
5641        No new tests since this is just moving code around.
5642
5643        * rendering/RenderBlock.h:
5644        * rendering/RenderBlockLineLayout.cpp:
5645        (WebCore::RenderBlock::setMarginsForRubyRun):
5646        (WebCore::setLogicalWidthForTextRun):
5647        (WebCore::computeExpansionForJustifiedText):
5648        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
5649
56502011-05-03  David Kilzer  <ddkilzer@apple.com>
5651
5652        <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
5653
5654        Reviewed by Antti Koivisto.
5655
5656        * platform/network/cf/ResourceRequestCFNet.cpp:
5657        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
5658        priority on the request if HTTP pipelining is enabled.
5659        (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
5660        priority from the request if HTTP pipelining is enabled.
5661        (readBooleanPreference): Enable code when compiling with
5662        USE(CFNETWORK).
5663        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
5664        Comment out setting the minimum fast lane priority on Windows
5665        since it's not currently available.
5666
56672011-05-03  Simon Fraser  <simon.fraser@apple.com>
5668
5669        Reviewed by Dan Bernstein.
5670
5671        <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
5672
5673        Conditionalize compositing tiled layer size-constraining logic to older
5674        OSes.
5675
5676        * platform/graphics/ca/GraphicsLayerCA.cpp:
5677        (WebCore::GraphicsLayerCA::constrainedSize):
5678
56792011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
5680
5681        Reviewed by Dimitri Glazkov.
5682
5683        Allow access keys to be used in shadow DOM
5684        https://bugs.webkit.org/show_bug.cgi?id=59979
5685
5686        Move access key methods and members back to Document from TreeScope.
5687        Also traverse into shadow trees when building the access key map.
5688
5689        No new tests. (refactoring)
5690
5691        * dom/Document.cpp:
5692        (WebCore::Document::Document):
5693        (WebCore::Document::getElementByAccessKey):
5694        (WebCore::Document::buildAccessKeyMap):
5695        (WebCore::Document::invalidateAccessKeyMap):
5696        * dom/Document.h:
5697        * dom/TreeScope.cpp:
5698        (WebCore::TreeScope::TreeScope):
5699        (WebCore::TreeScope::destroyTreeScopeData):
5700        * dom/TreeScope.h:
5701
57022011-05-03  Dan Bernstein  <mitz@apple.com>
5703
5704        Reviewed by Darin Adler.
5705
5706        <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
5707        https://bugs.webkit.org/show_bug.cgi?id=60067
5708
5709        No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
5710
5711        * rendering/RenderText.cpp:
5712        (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
5713        and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
5714        results for flipped writing modes.
5715
57162011-05-03  Anton Muhin  <antonm@chromium.org>
5717
5718        Reviewed by Yury Semikhatsky.
5719
5720        [v8] remove an ASSERT from grouping logic
5721        https://bugs.webkit.org/show_bug.cgi?id=60024
5722
5723        This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
5724        repro it.  Removing for now for greener bots.
5725
5726        No new tests, only an ASSERT removal.
5727
5728        * bindings/v8/V8GCController.cpp:
5729        (WebCore::calculateGroupId):
5730
57312011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5732
5733        Reviewed by Darin Adler.
5734
5735        WebKit allows selection that crosses the shadow boundary of a readonly input element
5736        https://bugs.webkit.org/show_bug.cgi?id=60000
5737
5738        The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
5739        Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
5740        in its validation process.
5741
5742        Tests: editing/selection/select-across-readonly-input-1.html
5743               editing/selection/select-across-readonly-input-2.html
5744               editing/selection/select-across-readonly-input-3.html
5745               editing/selection/select-across-readonly-input-4.html
5746               editing/selection/select-across-readonly-input-5.html
5747
5748        * editing/VisibleSelection.cpp:
5749        (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
5750        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
5751        * editing/VisibleSelection.h:
5752
57532011-05-03  Eric Seidel  <eric@webkit.org>
5754
5755        Reviewed by Ryosuke Niwa.
5756
5757        Split out layoutRunsAndFloats from layoutInlineChildren
5758        https://bugs.webkit.org/show_bug.cgi?id=60052
5759
5760        No new tests, just moving code here.  There should be
5761        no change in behavior.
5762
5763        * rendering/RenderBlock.h:
5764        * rendering/RenderBlockLineLayout.cpp:
5765        (WebCore::RenderBlock::layoutRunsAndFloats):
5766        (WebCore::RenderBlock::layoutInlineChildren):
5767
57682011-05-03  James Robinson  <jamesr@chromium.org>
5769
5770        Reviewed by Kenneth Russell.
5771
5772        [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
5773        https://bugs.webkit.org/show_bug.cgi?id=59965
5774
5775        Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
5776
5777        Test: fast/canvas/canvas-resize-after-paint.html
5778
5779        * html/canvas/CanvasRenderingContext2D.cpp:
5780        (WebCore::CanvasRenderingContext2D::reset):
5781            Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
5782            DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
5783        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5784        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
5785            Add a null check for m_drawingBuffer
5786        * platform/graphics/gpu/DrawingBuffer.cpp:
5787        (WebCore::DrawingBuffer::clear):
5788            Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
5789            this is unnecessary.
5790
57912011-05-03  Adam Roben  <aroben@apple.com>
5792
5793        Fix most strict PassOwnPtr violations on Windows
5794
5795        Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
5796        enabled
5797
5798        Reviewed by Anders Carlsson.
5799
5800        * loader/EmptyClients.h:
5801        * platform/GeolocationService.cpp:
5802        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
5803        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
5804        * platform/mock/GeolocationServiceMock.cpp:
5805        * rendering/RenderTheme.cpp:
5806        * rendering/RenderThemeSafari.cpp:
5807
58082011-05-03  Levi Weintraub  <leviw@chromium.org>
5809
5810        Reviewed by Eric Seidel.
5811
5812        Extract LineInfo class
5813        https://bugs.webkit.org/show_bug.cgi?id=60044
5814
5815        Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
5816        layout information about a line. This simplifies function signatures and clears up initialization.
5817
5818        No new tests as this is refactoring.
5819
5820        * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
5821        * rendering/RenderBlockLineLayout.cpp:
5822        (WebCore::LineInfo::LineInfo):
5823        (WebCore::LineInfo::isFirstLine):
5824        (WebCore::LineInfo::isLastLine):
5825        (WebCore::LineInfo::isEmpty):
5826        (WebCore::LineInfo::previousLineBrokeCleanly):
5827        (WebCore::LineInfo::setFirstLine):
5828        (WebCore::LineInfo::setLastLine):
5829        (WebCore::LineInfo::setEmpty):
5830        (WebCore::LineInfo::setPreviousLineBrokeCleanly):
5831        (WebCore::RenderBlock::createLineBoxes):
5832        (WebCore::RenderBlock::constructLine):
5833        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
5834        (WebCore::RenderBlock::layoutInlineChildren):
5835        (WebCore::RenderBlock::determineStartPosition):
5836        (WebCore::skipNonBreakingSpace):
5837        (WebCore::shouldCollapseWhiteSpace):
5838        (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
5839        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
5840        (WebCore::RenderBlock::skipTrailingWhitespace):
5841        (WebCore::RenderBlock::skipLeadingWhitespace):
5842        (WebCore::RenderBlock::findNextLineBreak):
5843
58442011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
5845
5846        Reviewed by Dimitri Glazkov.
5847
5848        Update node list cache count on the containing TreeScope rather than the Document
5849        https://bugs.webkit.org/show_bug.cgi?id=59983
5850
5851        Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
5852        Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
5853        Make setDocument() and setDocumentRecursively() private.
5854
5855        No new tests. (refactoring)
5856
5857        * dom/ContainerNode.cpp:
5858        (WebCore::ContainerNode::childrenChanged):
5859        * dom/Node.cpp:
5860        (WebCore::Node::~Node):
5861        (WebCore::Node::setDocument):
5862        (WebCore::Node::setTreeScopeRecursively):
5863        (WebCore::Node::childNodes):
5864        (WebCore::Node::registerDynamicNodeList):
5865        (WebCore::Node::unregisterDynamicNodeList):
5866        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
5867        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
5868        (WebCore::Node::getElementsByTagName):
5869        (WebCore::Node::getElementsByTagNameNS):
5870        (WebCore::Node::getElementsByName):
5871        (WebCore::Node::getElementsByClassName):
5872        * dom/Node.h:
5873        * html/HTMLFormControlElement.cpp:
5874        (WebCore::HTMLFormControlElement::labels):
5875
58762011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5877
5878        Reviewed by Eric Seidel.
5879
5880        Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
5881        https://bugs.webkit.org/show_bug.cgi?id=60046
5882
5883        Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
5884
5885        * rendering/RenderBlockLineLayout.cpp:
5886        (WebCore::TrailingObjects::TrailingObjects):
5887        (WebCore::TrailingObjects::setTrailingWhitespace):
5888        (WebCore::TrailingObjects::clear):
5889        (WebCore::TrailingObjects::appendBoxIfNeeded):
5890        (WebCore::TrailingObjects::addMidpoints):
5891        (WebCore::RenderBlock::findNextLineBreak):
5892
58932011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>
5894
5895        Reviewed by Eric Seidel.
5896
5897        [Qt] Implement initial support to DataTransferItems
5898        https://bugs.webkit.org/show_bug.cgi?id=58448
5899
5900        Implement initial support to DataTransferItems. DataTransferItems are used to
5901        hold data for drag and drop operations. DataTransferItems hold a list of
5902        DataTransferItem objects each of which holds an item being dragged.
5903
5904        * WebCore.pro:
5905        * dom/DataTransferItems.idl:
5906        * editing/qt/EditorQt.cpp:
5907        (WebCore::Editor::newGeneralClipboard):
5908        * page/qt/EventHandlerQt.cpp:
5909        (WebCore::EventHandler::createDraggingClipboard):
5910        * platform/chromium/DataTransferItemsChromium.h:
5911        * platform/qt/ClipboardQt.cpp:
5912        (WebCore::Clipboard::create):
5913        (WebCore::ClipboardQt::ClipboardQt):
5914        (WebCore::ClipboardQt::items):
5915        * platform/qt/ClipboardQt.h:
5916        (WebCore::ClipboardQt::create):
5917        * platform/qt/DataTransferItemQt.cpp: Added.
5918        (WebCore::DataTransferItem::create):
5919        (WebCore::DataTransferItemQt::createFromPasteboard):
5920        (WebCore::DataTransferItemQt::create):
5921        (WebCore::DataTransferItemQt::DataTransferItemQt):
5922        (WebCore::DataTransferItemQt::getAsString):
5923        (WebCore::DataTransferItemQt::getAsFile):
5924        * platform/qt/DataTransferItemQt.h: Added.
5925        * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
5926        (WebCore::DataTransferItemsQt::create):
5927        (WebCore::DataTransferItemsQt::DataTransferItemsQt):
5928        (WebCore::DataTransferItemsQt::addPasteboardItem):
5929        * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
5930
59312011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
5932
5933        Reviewed by Dimitri Glazkov.
5934
5935        Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
5936        https://bugs.webkit.org/show_bug.cgi?id=58703
5937
5938        No new tests, refactoring only.
5939
5940        * dom/Element.cpp:
5941        (WebCore::Element::copyNonAttributeProperties):
5942        (WebCore::Element::insertedIntoDocument):
5943        (WebCore::Element::removedFromDocument):
5944        (WebCore::Element::insertedIntoTree):
5945        (WebCore::Element::removedFromTree):
5946        (WebCore::Element::attach):
5947        (WebCore::Element::detach):
5948        (WebCore::Element::recalcStyle):
5949        (WebCore::Element::shadowRoot):
5950        (WebCore::Element::ensureShadowRoot):
5951        (WebCore::Element::childrenChanged):
5952        * dom/Node.cpp:
5953        (WebCore::Node::setTreeScopeRecursively):
5954        (WebCore::shadowRoot):
5955        (WebCore::Node::setDocumentRecursively):
5956        (WebCore::NodeRendererFactory::findVisualParent):
5957        Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
5958        previous classes.
5959
5960        * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
5961
5962        * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
5963
5964        * html/HTMLDetailsElement.cpp:
5965        * html/HTMLSummaryElement.cpp:
5966        Added #include for ShadowRoot.h.
5967
59682011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
5969
5970        Reviewed by Kenneth Rohde Christiansen.
5971
5972        [EFL] Implement mediaSliderTrack
5973        https://bugs.webkit.org/show_bug.cgi?id=59998
5974
5975        Implement paintMediaSliderTrack.
5976
5977        * platform/efl/RenderThemeEfl.cpp:
5978        (WebCore::RenderThemeEfl::RenderThemeEfl):
5979        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
5980        * platform/efl/RenderThemeEfl.h:
5981
59822011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
5983
5984        Reviewed by Pavel Feldman.
5985
5986        WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
5987        https://bugs.webkit.org/show_bug.cgi?id=60023
5988
5989        * inspector/front-end/DetailedHeapshotGridNodes.js:
5990        (WebInspector.HeapSnapshotConstructorNode):
5991        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
5992        * inspector/front-end/HeapSnapshot.js:
5993        (WebInspector.HeapSnapshot.prototype.dispose):
5994        (WebInspector.HeapSnapshot.prototype.aggregates):
5995        (WebInspector.HeapSnapshot.prototype._buildAggregates):
5996        (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
5997        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
5998        (WebInspector.HeapSnapshotFilteredOrderedIterator):
5999        (WebInspector.HeapSnapshotNodesProvider):
6000        * inspector/front-end/HeapSnapshotProxy.js:
6001        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
6002        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
6003
60042011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
6005
6006        Reviewed by Pavel Feldman.
6007
6008        WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
6009        https://bugs.webkit.org/show_bug.cgi?id=60029
6010
6011        * English.lproj/localizedStrings.js:
6012        * inspector/front-end/DetailedHeapshotView.js:
6013        (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
6014        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
6015
60162011-05-03  Beth Dakin  <bdakin@apple.com>
6017
6018        Reviewed by Dan Bernstein.
6019
6020        https://bugs.webkit.org/show_bug.cgi?id=60045
6021        Scrollbar thumb sometimes leaves artifacts in the track after scrolling
6022        -and corresponding-
6023        <rdar://problem/9015376>
6024
6025        When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should
6026        always be ignored.
6027        * platform/mac/ScrollbarThemeMac.mm:
6028        (WebCore::updateArrowPlacement):
6029
60302011-05-03  David Hyatt  <hyatt@apple.com>
6031
6032        Reviewed by Dan Bernstein.
6033
6034        https://bugs.webkit.org/show_bug.cgi?id=60040
6035        <rdar://problem/9261591>
6036
6037        Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
6038        a translation of a 0,0 point to absolute coordinates so that the top left position is
6039        accurate.
6040
6041        Added fast/inline/skipped-whitespace-client-rect.html
6042
6043        * rendering/RenderInline.cpp:
6044        (WebCore::RenderInline::culledInlineAbsoluteQuads):
6045
60462011-05-03  Sam Weinig  <sam@webkit.org>
6047
6048        Fix chromium build.
6049
6050        * page/Settings.cpp:
6051
60522011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
6053
6054        Reviewed by Dimitri Glazkov.
6055
6056        Bug 59974 - Update image map on the containing TreeScope rather than the Document
6057        https://bugs.webkit.org/show_bug.cgi?id=59974
6058
6059        No new tests. (reefactoring)
6060
6061        * html/HTMLMapElement.cpp:
6062        (WebCore::HTMLMapElement::parseMappedAttribute):
6063        (WebCore::HTMLMapElement::insertedIntoDocument):
6064        (WebCore::HTMLMapElement::removedFromDocument):
6065        * rendering/RenderImage.cpp:
6066        (WebCore::RenderImage::imageMap):
6067
60682011-05-03  Sam Weinig  <sam@webkit.org>
6069
6070        Fix chromium build.
6071
6072        * loader/HistoryController.cpp:
6073
60742011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
6075
6076        Reviewed by Dimitri Glazkov.
6077
6078        Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
6079        https://bugs.webkit.org/show_bug.cgi?id=59966
6080
6081        No new tests. (refactoring)
6082
6083        * accessibility/AccessibilityRenderObject.cpp:
6084        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
6085        (WebCore::AccessibilityRenderObject::activeDescendant):
6086        * accessibility/AccessibilityRenderObject.h:
6087        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
6088        * css/CSSCursorImageValue.cpp:
6089        (WebCore::resourceReferencedByCursorElement):
6090        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
6091        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
6092        (WebCore::CSSCursorImageValue::cachedImage):
6093        * dom/DynamicNodeList.cpp:
6094        (WebCore::DynamicNodeList::itemWithName):
6095        * dom/Element.h:
6096        (WebCore::Element::updateId):
6097        * dom/Node.cpp:
6098        (WebCore::Node::querySelector):
6099        * html/FormAssociatedElement.cpp:
6100        (WebCore::FormAssociatedElement::insertedIntoTree):
6101        (WebCore::FormAssociatedElement::resetFormOwner):
6102        * html/HTMLInputElement.cpp:
6103        (WebCore::HTMLInputElement::dataList):
6104        * html/HTMLLabelElement.cpp:
6105        (WebCore::HTMLLabelElement::control):
6106        * rendering/svg/RenderSVGTextPath.cpp:
6107        (WebCore::RenderSVGTextPath::layoutPath):
6108        * svg/SVGAElement.cpp:
6109        (WebCore::SVGAElement::defaultEventHandler):
6110        * svg/SVGAltGlyphElement.cpp:
6111        (WebCore::SVGAltGlyphElement::glyphElement):
6112        * svg/SVGFEImageElement.cpp:
6113        (WebCore::SVGFEImageElement::requestImageResource):
6114        (WebCore::SVGFEImageElement::build):
6115        * svg/SVGLinearGradientElement.cpp:
6116        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
6117        * svg/SVGMPathElement.cpp:
6118        (WebCore::SVGMPathElement::pathElement):
6119        * svg/SVGPatternElement.cpp:
6120        (WebCore::SVGPatternElement::collectPatternAttributes):
6121        * svg/SVGRadialGradientElement.cpp:
6122        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
6123        * svg/SVGSVGElement.cpp:
6124        (WebCore::SVGSVGElement::getElementById):
6125        * svg/SVGTRefElement.cpp:
6126        (WebCore::SVGTRefElement::updateReferencedText):
6127        * svg/SVGTextPathElement.cpp:
6128        (WebCore::SVGTextPathElement::insertedIntoDocument):
6129        * svg/SVGUseElement.cpp:
6130        (WebCore::SVGUseElement::buildPendingResource):
6131        (WebCore::SVGUseElement::hasCycleUseReferencing):
6132        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
6133        * svg/SVGViewSpec.cpp:
6134        (WebCore::SVGViewSpec::viewTarget):
6135        * svg/animation/SVGSMILElement.cpp:
6136        (WebCore::SVGSMILElement::eventBaseFor):
6137        (WebCore::SVGSMILElement::connectConditions):
6138        (WebCore::SVGSMILElement::targetElement):
6139        * xml/XPathFunctions.cpp:
6140        (WebCore::XPath::FunId::evaluate):
6141
61422011-05-03  Sam Weinig  <sam@webkit.org>
6143
6144        Fix chromium build.
6145
6146        * css/StyleMedia.cpp:
6147
61482011-05-03  Sam Weinig  <sam@webkit.org>
6149
6150        Reviewed by Anders Carlsson.
6151
6152        Prune #includes from FrameView.h (Part 1)
6153        https://bugs.webkit.org/show_bug.cgi?id=59957
6154
6155        * page/FrameView.h:
6156        Prune #includes.
6157
6158        * accessibility/chromium/AXObjectCacheChromium.cpp:
6159        * page/win/FrameCGWin.cpp:
6160        * platform/Scrollbar.cpp:
6161        Add not necessary #includes.
6162
6163        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6164        Add now necessary forward declaration.
6165
61662011-05-03  Andrey Kosyakov  <caseq@chromium.org>
6167
6168        Reviewed by Dimitri Glazkov.
6169
6170        [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
6171        https://bugs.webkit.org/show_bug.cgi?id=60026
6172
6173        Return a wrapper for Node in toV8(Node*) when called with a node of type
6174        SHADOW_ROOT_NODE instead of entering infinite recursion.
6175
6176        * bindings/v8/custom/V8NodeCustom.cpp:
6177        (WebCore::toV8Slow):
6178
61792011-05-02  Adam Roben  <aroben@apple.com>
6180
6181        Take advantage of implicit conversion from nullptr_t to PassOwnPtr
6182
6183        Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
6184        doesn't work, but should
6185
6186        Reviewed by Adam Barth.
6187
6188        * bindings/js/ScheduledAction.cpp:
6189        * css/CSSStyleSelector.cpp:
6190        * css/MediaList.cpp:
6191        * css/MediaQueryMatcher.cpp:
6192        * css/SVGCSSStyleSelector.cpp:
6193        * dom/MessagePort.cpp:
6194        * html/InputType.cpp:
6195        * html/canvas/WebGLRenderingContext.cpp:
6196        * inspector/InspectorStyleSheet.cpp:
6197        * page/ContextMenuController.cpp:
6198        * page/Page.cpp:
6199        * platform/PlatformGestureRecognizer.cpp:
6200        * platform/PurgeableBuffer.h:
6201        * platform/graphics/ImageBuffer.h:
6202        * platform/leveldb/LevelDBDatabase.cpp:
6203        * platform/mac/PurgeableBufferMac.cpp:
6204        * platform/text/RegularExpression.cpp:
6205        * rendering/RenderTheme.cpp:
6206        * rendering/RenderThemeMac.mm:
6207        * rendering/style/RenderStyle.h:
6208        * rendering/style/SVGRenderStyleDefs.cpp:
6209        * rendering/style/ShadowData.cpp:
6210        * rendering/style/StyleRareInheritedData.cpp:
6211        * rendering/style/StyleRareNonInheritedData.cpp:
6212        * rendering/svg/RenderSVGResourcePattern.cpp:
6213
62142011-05-03  Pavel Feldman  <pfeldman@google.com>
6215
6216        Not reviewed: fix inspector status bar image glyph reference in network panel.
6217
6218        * inspector/front-end/networkPanel.css:
6219        (.network-larger-resources-status-bar-item .glyph):
6220
62212011-05-03  Pavel Feldman  <pfeldman@google.com>
6222
6223        Reviewed by Yury Semikhatsky.
6224
6225        Web Inspector: rename BrowserDebugger agent to DOMDebugger.
6226        https://bugs.webkit.org/show_bug.cgi?id=60019
6227
6228        * inspector/CodeGeneratorInspector.pm:
6229        * inspector/Inspector.json:
6230        * inspector/InspectorController.cpp:
6231        (WebCore::InspectorController::connectFrontend):
6232        * inspector/front-end/BreakpointsSidebarPane.js:
6233        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
6234        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
6235        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
6236        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
6237        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
6238        * inspector/generate-inspector-idl:
6239
62402011-05-03  Yury Semikhatsky  <yurys@chromium.org>
6241
6242        Reviewed by Pavel Feldman.
6243
6244        Web Inspector: remove special logic for type of document.__proto__
6245        https://bugs.webkit.org/show_bug.cgi?id=60014
6246
6247        Test: inspector/console/console-log-document-proto.html
6248
6249        * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
6250
62512011-05-03  Pavel Feldman  <pfeldman@google.com>
6252
6253        Not reviewed: fixed typo in inspector style.
6254
6255        * inspector/front-end/inspector.css:
6256        (.status-bar-item > .glyph):
6257
62582011-05-03  Pavel Feldman  <pfeldman@chromium.org>
6259
6260        Reviewed by Yury Semikhatsky.
6261
6262        Web Inspector: revision history storage is too slow.
6263        https://bugs.webkit.org/show_bug.cgi?id=59939
6264
6265        It turns out that iterating localStorage keys is very
6266        expensive (results in slow inspector start), refactor revision
6267        history in order not to rely upon that operation.
6268
6269        * inspector/front-end/Resource.js:
6270        (WebInspector.Resource):
6271        (WebInspector.Resource._resourceRevisionRegistry):
6272        (WebInspector.Resource.restoreRevisions.persist):
6273        (WebInspector.Resource.restoreRevisions):
6274        (WebInspector.Resource.persistRevision):
6275        (WebInspector.Resource.prototype._persistRevision):
6276        * inspector/front-end/ResourceTreeModel.js:
6277        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
6278        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
6279
62802011-05-03  Pavel Feldman  <pfeldman@chromium.org>
6281
6282        Reviewed by Yury Semikhatsky.
6283
6284        Web Inspector: combine toolbar icon images.
6285        https://bugs.webkit.org/show_bug.cgi?id=59931
6286
6287        * WebCore.gypi:
6288        * inspector/front-end/Images/auditsIcon.png: Removed.
6289        * inspector/front-end/Images/consoleIcon.png: Removed.
6290        * inspector/front-end/Images/elementsIcon.png: Removed.
6291        * inspector/front-end/Images/networkIcon.png: Removed.
6292        * inspector/front-end/Images/profilesIcon.png: Removed.
6293        * inspector/front-end/Images/resourcesIcon.png: Removed.
6294        * inspector/front-end/Images/scriptsIcon.png: Removed.
6295        * inspector/front-end/Images/timelineIcon.png: Removed.
6296        * inspector/front-end/Images/toolbarIcons.png: Added.
6297        * inspector/front-end/Images/toolbarIconsSmall.png: Added.
6298        * inspector/front-end/WebKit.qrc:
6299        * inspector/front-end/inspector.css:
6300        (.toolbar-icon):
6301        (#toolbar-dropdown .toolbar-icon):
6302        (.toolbar-item:active .toolbar-icon):
6303        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
6304        (.toolbar-item.elements .toolbar-icon):
6305        (.toolbar-item.resources .toolbar-icon):
6306        (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
6307        (.toolbar-item.network .toolbar-icon):
6308        (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
6309        (.toolbar-item.scripts .toolbar-icon):
6310        (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
6311        (.toolbar-item.timeline .toolbar-icon):
6312        (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
6313        (.toolbar-item.profiles .toolbar-icon):
6314        (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
6315        (.toolbar-item.audits .toolbar-icon):
6316        (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
6317        (.toolbar-item.console .toolbar-icon):
6318        (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
6319        (.status-bar-item > .glyph):
6320
63212011-05-03  Pavel Feldman  <pfeldman@chromium.org>
6322
6323        Reviewed by Yury Semikhatsky.
6324
6325        Web Inspector: combine status bar button glyphs.
6326        https://bugs.webkit.org/show_bug.cgi?id=59885
6327
6328        * WebCore.gypi:
6329        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
6330        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
6331        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
6332        * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
6333        * inspector/front-end/Images/dockButtonGlyph.png: Removed.
6334        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
6335        * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
6336        * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
6337        * inspector/front-end/Images/focusButtonGlyph.png: Removed.
6338        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
6339        * inspector/front-end/Images/gearButtonGlyph.png: Removed.
6340        * inspector/front-end/Images/helpButtonGlyph.png: Removed.
6341        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
6342        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
6343        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
6344        * inspector/front-end/Images/percentButtonGlyph.png: Removed.
6345        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
6346        * inspector/front-end/Images/recordButtonGlyph.png: Removed.
6347        * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
6348        * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
6349        * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
6350        * inspector/front-end/Images/undockButtonGlyph.png: Removed.
6351        * inspector/front-end/WebKit.qrc:
6352        * inspector/front-end/inspector.css:
6353        (.status-bar-item > .glyph):
6354        (#dock-status-bar-item .glyph):
6355        (body.detached #dock-status-bar-item .glyph):
6356        (#console-status-bar-item .glyph):
6357        (.clear-status-bar-item .glyph):
6358        (button.enable-toggle-status-bar-item .glyph):
6359        (button.enable-toggle-status-bar-item.toggled-on .glyph):
6360        (.scripts-pause-on-exceptions-status-bar-item .glyph):
6361        (.scripts-toggle-pretty-print-status-bar-item .glyph):
6362        (.toggle-breakpoints .glyph):
6363        (.toggle-breakpoints.toggled-on .glyph):
6364        (.resources-larger-resources-status-bar-item .glyph):
6365        (.timeline-filter-status-bar-item .glyph):
6366        (.garbage-collect-status-bar-item .glyph):
6367        (.record-profile-status-bar-item .glyph):
6368        (.record-profile-status-bar-item.toggled-on .glyph):
6369        (.heap-snapshot-status-bar-item .glyph):
6370        (.node-search-status-bar-item .glyph):
6371        (.percent-time-status-bar-item .glyph):
6372        (.focus-profile-node-status-bar-item .glyph):
6373        (.exclude-profile-node-status-bar-item .glyph):
6374        (.reset-profile-status-bar-item .glyph):
6375        (.delete-storage-status-bar-item .glyph):
6376        (.refresh-storage-status-bar-item .glyph):
6377        * inspector/front-end/inspector.js:
6378
63792011-05-02  Simon Fraser  <simon.fraser@apple.com>
6380
6381        Reviewed by Dan Bernstein.
6382
6383        Possible crash when removing elements with reflections
6384        https://bugs.webkit.org/show_bug.cgi?id=60009
6385
6386        RenderLayer's destructor deleted its z-order list Vector pointers
6387        before removing the reflection layer. However, the reflection cleanup
6388        code could call back into the RenderLayer to dirty z-order lists,
6389        so move reflection cleanup to before z-order vector deletion.
6390
6391        The test crashes when run manually a few times with MallocScribble enabled,
6392        but I was not able to create a test that crashed reliably.
6393
6394        Test: fast/reflections/remove-reflection-crash.html
6395
6396        * rendering/RenderLayer.cpp:
6397        (WebCore::RenderLayer::~RenderLayer):
6398
63992011-05-02  Ian Henderson  <ianh@apple.com>
6400
6401        Reviewed by Dan Bernstein.
6402
6403        CSS !important not respected by JavaScript
6404        https://bugs.webkit.org/show_bug.cgi?id=60007
6405
6406        The addParsedProperty and addParsedProperties methods were subtly
6407        different.  The former did not check for !important before setting the
6408        given property.
6409
6410        Change addParsedProperties to call addParsedProperty and move the
6411        relevant code.  The one other caller of this method, in
6412        editing/markup.cpp, probably wanted this behavior anyway.
6413
6414        Test: fast/css/important-js-override.html
6415
6416        * css/CSSMutableStyleDeclaration.cpp:
6417        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
6418        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
6419
64202011-05-02  Ben Wells  <benwells@chromium.org>
6421
6422        Reviewed by Simon Fraser.
6423
6424        Cleanup variable usage in RenderObject.cpp paintOutline()
6425        https://bugs.webkit.org/show_bug.cgi?id=59911
6426
6427        No new tests for this, there should be no change in behaviour.
6428
6429        * rendering/RenderObject.cpp:
6430        (WebCore::RenderObject::paintOutline):
6431
64322011-05-02  Ryosuke Niwa  <rniwa@webkit.org>
6433
6434        Reviewed by James Robinson.
6435
6436        REGRESSION(r84672): showTree doesn't work for input/textarea elements
6437        https://bugs.webkit.org/show_bug.cgi?id=60001
6438
6439        When shadow is null, try retrieving the inner element of a render text control.
6440
6441        * dom/Node.cpp:
6442        (WebCore::traverseTreeAndMark):
6443
64442011-05-02  Joseph Pecoraro  <joepeck@webkit.org>
6445
6446        Reviewed by David Kilzer.
6447
6448        Respect fixed text-indent on ::-webkit-input-placeholder
6449        https://bugs.webkit.org/show_bug.cgi?id=59825
6450
6451        Test: fast/forms/input-placeholder-text-indent.html
6452
6453        * rendering/RenderTextControl.cpp:
6454        (WebCore::RenderTextControl::paintPlaceholder): indent by
6455        a fixed text-indent size specified on the placeholder style.
6456
64572011-05-02  Eric Uhrhane  <ericu@chromium.org>
6458
6459        Reviewed by Eric Seidel.
6460
6461        Some FileWriter progress events should be queued
6462        https://bugs.webkit.org/show_bug.cgi?id=50846
6463
6464        * fileapi/FileWriter.cpp:
6465        * fileapi/FileWriter.h:
6466        Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
6467
64682011-05-02  Jia Pu  <jpu@apple.com>
6469
6470        Reviewed by Alexey Proskuryakov.
6471
6472        [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
6473        https://bugs.webkit.org/show_bug.cgi?id=59836
6474        <rdar://problem/9275983>
6475
6476        * platform/DefaultLocalizationStrategy.cpp:
6477        (WebCore::truncatedStringForLookupMenuItem):
6478        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
6479
64802011-05-02  Brady Eidson  <beidson@apple.com>
6481
6482        Reviewed by Anders Carlsson.
6483
6484        <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
6485        In Aperture, a WebView might be dealloc'ed before it finishes loading.
6486
6487        * WebCore.exp.in:
6488        * platform/RuntimeApplicationChecks.cpp:
6489        (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
6490        * platform/RuntimeApplicationChecks.h:
6491
64922011-05-02  Simon Fraser  <simon.fraser@apple.com>
6493
6494        Reviewed by Dan Bernstein.
6495
6496        Avoid wasted cycles updating paths when popping the context stack
6497        https://bugs.webkit.org/show_bug.cgi?id=59967
6498
6499        CanvasRenderingContext2D has to map the current path through
6500        transforms whenever the context stack is popped, which creates
6501        a lot of platform path objects. Avoid extra work here when the
6502        path is empty, or when the transform is identity.
6503
6504        * platform/graphics/cg/PathCG.cpp:
6505        (WebCore::Path::transform):
6506
65072011-05-02  Enrica Casucci  <enrica@apple.com>
6508
6509        Reviewed by Dan Bernstein.
6510
6511        Text does not split on white space when typing to the edge of window.
6512        https://bugs.webkit.org/show_bug.cgi?id=59968
6513        <rdar://problem/9112683>
6514
6515        Test: editing/inserting/typing-at-end-of-line.html
6516
6517        This is a regression introduced when we converted the line box tree to
6518        floating point in r78846. In findNextLineBreak, there was still one place where
6519        the character width was treated as int and truncated and we were inconsistent
6520        in the way we treated a character that did not fit entirely in the line.
6521
6522        * rendering/RenderBlockLineLayout.cpp:
6523        (WebCore::RenderBlock::findNextLineBreak):
6524
65252011-04-19  Adrienne Walker  <enne@google.com>
6526
6527        Reviewed by James Robinson.
6528
6529        [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
6530        https://bugs.webkit.org/show_bug.cgi?id=58907
6531
6532        Additionally, move the context save/restore logic to a place where it
6533        will reset the translation added in LayerTilerChromium.
6534
6535        Test: compositing/repaint/same-size-invalidation.html
6536
6537        * platform/graphics/chromium/ContentLayerChromium.cpp:
6538        (WebCore::ContentLayerPainter::paint):
6539        * platform/graphics/chromium/PlatformCanvas.cpp:
6540        (WebCore::PlatformCanvas::resize):
6541        (WebCore::PlatformCanvas::Painter::Painter):
6542        (WebCore::PlatformCanvas::Painter::~Painter):
6543        * platform/graphics/chromium/PlatformCanvas.h:
6544
65452011-05-02  Csaba Osztrogonác  <ossy@webkit.org>
6546
6547        Enable strict OwnPtr for Qt
6548        https://bugs.webkit.org/show_bug.cgi?id=59667
6549
6550        Unreviewed buildfix after r85343.
6551
6552        * platform/graphics/qt/GraphicsContext3DQt.cpp:
6553        (WebCore::GraphicsContext3D::GraphicsContext3D):
6554
65552011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
6556
6557        Unreviewed, rolling out r85483.
6558        http://trac.webkit.org/changeset/85483
6559        https://bugs.webkit.org/show_bug.cgi?id=59958
6560
6561        Causes media test failures. (Requested by eric_carlson on
6562        #webkit).
6563
6564        * html/HTMLMediaElement.cpp:
6565        (WebCore::HTMLMediaElement::HTMLMediaElement):
6566        (WebCore::HTMLMediaElement::prepareForLoad):
6567        (WebCore::HTMLMediaElement::seek):
6568        (WebCore::HTMLMediaElement::updatePlayState):
6569        * html/HTMLMediaElement.h:
6570        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
6571        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
6572        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
6573        (WebCore::MediaPlayerPrivateAVFoundation::load):
6574        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
6575        (WebCore::MediaPlayerPrivateAVFoundation::paint):
6576        (WebCore::MediaPlayerPrivateAVFoundation::duration):
6577        (WebCore::MediaPlayerPrivateAVFoundation::seeking):
6578        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
6579        (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
6580        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
6581        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
6582        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
6583        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
6584        (WebCore::MediaPlayerPrivateAVFoundation::repaint):
6585        (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
6586        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
6587        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6588        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
6589        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
6590        (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
6591        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
6592        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
6593        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
6594        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
6595        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
6596        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
6597        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
6598        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
6599        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
6600        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
6601
66022011-05-02  Adam Barth  <abarth@webkit.org>
6603
6604        Reviewed by David Levin.
6605
6606        PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
6607        https://bugs.webkit.org/show_bug.cgi?id=59924
6608
6609        * css/CSSGrammar.y:
6610        * platform/graphics/mac/SimpleFontDataMac.mm:
6611            - Memory management for the font cache is somewhat... complext.
6612              This will require some careful thought to sort out.
6613
66142011-05-02  Levi Weintraub  <leviw@chromium.org>
6615
6616        Reviewed by Eric Seidel.
6617
6618        showLineTree/showLineTreeForThis would make working with the line box tree easier
6619        https://bugs.webkit.org/show_bug.cgi?id=59662
6620
6621        Adding a showLineTree/showLineTreeForThis method to help visualize and debug
6622        the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
6623
6624        No new tests since this is a debugging feature only and not compiled in release.
6625
6626        * rendering/InlineBox.cpp:
6627        (WebCore::InlineBox::showLineTreeForThis):
6628        (WebCore::InlineBox::showLineTreeAndMark):
6629        (WebCore::InlineBox::showBox):
6630        (showLineTree):
6631        * rendering/InlineBox.h:
6632        * rendering/InlineFlowBox.cpp:
6633        (WebCore::InlineFlowBox::showLineTreeAndMark):
6634        * rendering/InlineFlowBox.h:
6635        * rendering/InlineTextBox.cpp:
6636        (WebCore::InlineTextBox::showBox):
6637        * rendering/InlineTextBox.h:
6638        * rendering/RenderBlock.cpp:
6639        (WebCore::RenderBlock::showLineTreeAndMark):
6640        * rendering/RenderBlock.h:
6641        * rendering/RenderObject.cpp:
6642        (WebCore::RenderObject::showRenderTreeForThis):
6643        (WebCore::RenderObject::showLineTreeForThis):
6644        (showTree):
6645        (showLineTree):
6646        * rendering/RenderObject.h:
6647
66482011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>
6649
6650        Reviewed by Eric Carlson.
6651
6652        REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
6653        https://bugs.webkit.org/show_bug.cgi?id=59917
6654
6655        Since default event handlers are not retargeted, we should always attempt ancestor
6656        traversal to find out whether the event.
6657
6658        * html/MediaDocument.cpp:
6659        (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
6660        (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
6661
66622011-05-02  Sam Weinig  <sam@webkit.org>
6663
6664        Attempt to fix the Leopard build.
6665
6666        * platform/graphics/FontPlatformData.h:
6667        * platform/graphics/mac/ComplexTextController.h:
6668        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
6669        * platform/mac/WebCoreSystemInterface.h:
6670
66712011-05-02  Tony Chang  <tony@chromium.org>
6672
6673        Reviewed by Kent Tamura.
6674
6675        convert manual-tests/bugzilla-6821.html to a layout test
6676        https://bugs.webkit.org/show_bug.cgi?id=59404
6677
6678        Test: fast/css/hover-update.html
6679
6680        * manual-tests/bugzilla-6821.html: Removed.
6681
66822011-05-02  Sam Weinig  <sam@webkit.org>
6683
6684        Reviewed by Anders Carlsson.
6685
6686        Prune ApplicationServices.h out of the headers
6687        https://bugs.webkit.org/show_bug.cgi?id=59952
6688
6689        More forward declares are better.
6690
6691        * html/canvas/CanvasRenderingContext2D.cpp:
6692        * html/canvas/CanvasRenderingContext2D.h:
6693        * platform/graphics/GlyphBuffer.h:
6694        * platform/graphics/cg/ImageBufferCG.cpp:
6695        * platform/graphics/cg/PDFDocumentImage.cpp:
6696        * platform/graphics/cg/PDFDocumentImage.h:
6697        * platform/graphics/mac/ComplexTextController.h:
6698        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
6699        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
6700        * platform/mac/ScrollAnimatorMac.h:
6701        * platform/mac/ScrollAnimatorMac.mm:
6702        * platform/mac/ScrollbarThemeMac.h:
6703        * platform/mac/ScrollbarThemeMac.mm:
6704        * platform/mac/WebCoreNSStringExtras.h:
6705        * platform/mac/WebCoreSystemInterface.h:
6706
67072011-05-02  Dan Bernstein  <mitz@apple.com>
6708
6709        Reviewed by Simon Fraser.
6710
6711        <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
6712        https://bugs.webkit.org/show_bug.cgi?id=58006
6713
6714        * rendering/RenderBox.cpp:
6715        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
6716        <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
6717        table cell as the immediate containing block, but any case where all containing block ancestors
6718        up to and including a table cell are auto-or-percent height.
6719
67202011-05-02  Daniel Bates  <dbates@webkit.org>
6721
6722        Reviewed by Sam Weinig.
6723
6724        Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
6725        https://bugs.webkit.org/show_bug.cgi?id=59379
6726
6727        Move manual test onblur-remove.html to LayoutTests/fast/events.
6728
6729        Test: fast/events/onblur-remove.html
6730
6731        * manual-tests/onblur-remove.html: Removed.
6732
67332011-05-02  Sailesh Agrawal  <sail@chromium.org>
6734
6735        Reviewed by Dimitri Glazkov.
6736
6737        Chromium Mac: Add scrollbar overlay drawing functions
6738        https://bugs.webkit.org/show_bug.cgi?id=59741
6739
6740        These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
6741
6742        No new tests, since this code is only enabled on future versions of Mac OS X.
6743
6744        * WebCore.gypi:
6745        * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
6746        * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
6747        (LookUpNSScrollerImpClass):
6748        (LookUpNSScrollerImpPairClass):
6749        (ScrollbarControlSizeToNSControlSize):
6750        (wkScrollbarPainterUsesOverlayScrollers):
6751        (wkScrollbarPainterIsHorizontal):
6752        (wkScrollbarPainterKnobAlpha):
6753        (wkScrollbarPainterSetOverlayState):
6754        (wkScrollbarPainterPaint):
6755        (wkScrollbarMinimumThumbLength):
6756        (wkScrollbarPainterSetDelegate):
6757        (wkScrollbarPainterTrackAlpha):
6758        (wkMakeScrollbarPainter):
6759        (wkScrollbarThickness):
6760        (wkScrollbarMinimumTotalLengthNeededForThumb):
6761        (wkVerticalScrollbarPainterForController):
6762        (wkHorizontalScrollbarPainterForController):
6763        (wkMakeScrollbarReplacementPainter):
6764        (wkSetPainterForPainterController):
6765        (wkSetScrollbarPainterControllerStyle):
6766        (wkScrollbarPainterKnobRect):
6767        (wkSetScrollbarPainterKnobAlpha):
6768        (wkSetScrollbarPainterTrackAlpha):
6769        (wkSetScrollbarPainterKnobStyle):
6770        (wkMakeScrollbarPainterController):
6771        (wkContentAreaScrolled):
6772        (wkContentAreaWillPaint):
6773        (wkMouseEnteredContentArea):
6774        (wkMouseExitedContentArea):
6775        (wkMouseMovedInContentArea):
6776        (wkWillStartLiveResize):
6777        (wkContentAreaResized):
6778        (wkWillEndLiveResize):
6779        (wkContentAreaDidShow):
6780        (wkContentAreaDidHide):
6781        (wkDidBeginScrollGesture):
6782        (wkDidEndScrollGesture):
6783        (wkScrollbarPainterForceFlashScrollers):
6784        (IsScrollbarOverlayAPIAvailable):
6785
67862011-05-02  Luke Macpherson   <macpherson@chromium.org>
6787
6788        Reviewed by Dimitri Glazkov.
6789
6790        Implement Length based CSS properties in CSSStyleApplyProperty
6791        https://bugs.webkit.org/show_bug.cgi?id=59314
6792
6793        No new tests as no functionality changed.
6794
6795        * css/CSSStyleApplyProperty.cpp:
6796        (WebCore::ApplyPropertyLength::ApplyPropertyLength):
6797        Added this class to handle all length types.
6798        Property specific behavior is handled through set of boolean parameters.
6799        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
6800        Added calls to set up entries for the newly added length properties.
6801        * css/CSSStyleSelector.cpp:
6802        (WebCore::CSSStyleSelector::applyProperty):
6803        Remove property implementations mow implemented in CSSStyleApplyProperty.
6804        * css/CSSStyleSelector.h:
6805        (WebCore::CSSStyleSelector::rootElementStyle):
6806        Expose m_rootElementStyle via getter.
6807
68082011-05-02  Eric Carlson  <eric.carlson@apple.com>
6809
6810        Reviewed by Eric Seidel.
6811
6812        HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
6813        https://bugs.webkit.org/show_bug.cgi?id=59828
6814
6815        No new tests required, no functional change because seeking to time zero before playback
6816        begins has no effect.
6817
6818        * html/HTMLMediaElement.cpp:
6819        (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
6820            HAVE_METADATA.
6821
68222011-05-02  Sam Weinig  <sam@webkit.org>
6823
6824        Reviewed by Gavin Barraclough.
6825
6826        Fix extra whitespace in license in FocusDirection.h.
6827
6828        * page/FocusDirection.h:
6829
68302011-05-02  Sam Weinig  <sam@webkit.org>
6831
6832        Reviewed by Adam Barth.
6833
6834        Prune some #includes from DOMWindow.h
6835        https://bugs.webkit.org/show_bug.cgi?id=59907
6836
6837        * page/DOMWindow.cpp:
6838        (WebCore::DOMWindow::setSecurityOrigin):
6839        * page/DOMWindow.h:
6840        Remove #includes of SecurityOrigin and MessagePort by forward declaring
6841        and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
6842        #include that was getting added by MessagePort.h.
6843
6844        * bindings/js/JSCustomVoidCallback.cpp:
6845        * bindings/js/JSCustomXPathNSResolver.cpp:
6846        * bindings/js/JSDOMWindowCustom.h:
6847        * bindings/js/JSHistoryCustom.cpp:
6848        * bindings/js/ScriptController.h:
6849        * html/HTMLAnchorElement.cpp:
6850        * html/HTMLMediaElement.cpp:
6851        * html/parser/XSSFilter.cpp:
6852        * inspector/InspectorDOMStorageResource.cpp:
6853        * loader/MainResourceLoader.cpp:
6854        * page/DragController.cpp:
6855        * page/EventSource.cpp:
6856        * page/Location.cpp:
6857        * websockets/WebSocket.cpp:
6858        * xml/XSLTProcessorLibxslt.cpp:
6859        Add now missing SecurityOrigin.h #includes.
6860
68612011-05-02  Eric Carlson  <eric.carlson@apple.com>
6862
6863        Reviewed by Brady Eidson.
6864
6865        The preload attribute of the video tag is not completely implemented
6866        https://bugs.webkit.org/show_bug.cgi?id=43673
6867        <rdar://problem/7508322>
6868
6869        Tested manually with manual-tests/media-elements/video-preload.html.
6870
6871        * html/HTMLMediaElement.cpp:
6872        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
6873        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
6874        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
6875        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
6876            because we need to have media data loaded to seek.
6877        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
6878        * html/HTMLMediaElement.h:
6879
6880        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
6881        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove
6882            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
6883        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
6884        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
6885            Move all preload logic to setPreload, call it from here.
6886        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
6887            setPreload, call it.
6888        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
6889            unlikely to be correct and isn't worth caching.
6890        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
6891            to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
6892            'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
6893            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
6894            when the first frame is available.
6895        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
6896            width, height, hasVideo, etc.
6897        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
6898            in derived classes.
6899        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
6900            AVAsset and AVPlayerItem here.
6901        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
6902
6903        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6904        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
6905        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
6906            m_videoFrameHasDrawn.
6907        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
6908            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
6909            if we have painted a frame to the context.
6910        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
6911            if necessary.
6912        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
6913        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
6914        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
6915        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
6916        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
6917            the buffer is full.
6918        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
6919            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
6920            when we only have metadata.
6921        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
6922        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
6923        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
6924            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
6925            when we only have metadata.
6926        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
6927            we have allocated the AVPlayerItem.
6928
69292011-05-02  Philippe Normand  <pnormand@igalia.com>
6930
6931        Reviewed by Martin Robinson.
6932
6933        [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
6934        https://bugs.webkit.org/show_bug.cgi?id=59932
6935
6936        Use gdk_window_get_width() and gdk_window_get_height() if
6937        available, instead of the deprecated gdk_drawable_get_size().
6938
6939        No new tests, build fix only.
6940
6941        * platform/gtk/WidgetRenderingContext.cpp:
6942        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
6943
69442011-05-02  Eric Carlson  <eric.carlson@apple.com>
6945
6946        Reviewed by Brady Eidson.
6947
6948        The preload attribute of the video tag is not completely implemented
6949        https://bugs.webkit.org/show_bug.cgi?id=43673
6950        <rdar://problem/7508322>
6951
6952        Test manually with manual-tests/media-elements/video-preload.html.
6953
6954        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
6955        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
6956        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
6957            attribute when preload is not "auto".
6958        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
6959        (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
6960        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
6961        (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
6962            a QTMovie.
6963
69642011-05-02  Eric Carlson  <eric.carlson@apple.com>
6965
6966        Reviewed by Brady Eidson.
6967
6968        The preload attribute of the video tag is not completely implemented
6969        https://bugs.webkit.org/show_bug.cgi?id=43673
6970        <rdar://problem/7508322>
6971
6972        Manual test manual-tests/media-elements/video-preload.html added.
6973
6974        * manual-tests/media-elements/video-preload.html: Added. New manual test for media element
6975            'preload' attribute because it is not possible to detect if a media engine supports
6976            "preload=metadata" in a way that lets us have per-platform layout test results.
6977
69782011-05-01  Abhishek Arya  <inferno@chromium.org>
6979
6980        Reviewed by Eric Carlson.
6981
6982        Regression(r74787): Media document mouse click and double-click
6983        events should be checked on target node only and not its descendants.
6984        https://bugs.webkit.org/show_bug.cgi?id=59886
6985
6986        * html/MediaDocument.cpp:
6987        (WebCore::MediaDocument::defaultEventHandler):
6988
69892011-05-01  Adam Barth  <abarth@webkit.org>
6990
6991        Reviewed by Eric Seidel.
6992
6993        Polish CSP host and port matching
6994        https://bugs.webkit.org/show_bug.cgi?id=59899
6995
6996        Finish last two details of host and port matching.  I don't think the
6997        default port handling is testable with our current testing
6998        infrastructure.
6999
7000        Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
7001               http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
7002
7003        * page/ContentSecurityPolicy.cpp:
7004        (WebCore::CSPSource::hostMatches):
7005        (WebCore::CSPSource::portMatches):
7006
70072011-05-01  Adam Barth  <abarth@webkit.org>
7008
7009        Reviewed by Eric Seidel.
7010
7011        CSP default-src is missing
7012        https://bugs.webkit.org/show_bug.cgi?id=58641
7013
7014        Add support for default-src.  The default-src provides a default policy
7015        for every directive that sends in "-src".  If the more-specific
7016        directive is present, it takes precedence.  I also took this
7017        opportunity to refactor the internals of ContentSecurityPolicy a bit to
7018        reduce duplicate code.
7019
7020        Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
7021               http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
7022               http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
7023
7024        * page/ContentSecurityPolicy.cpp:
7025        (WebCore::ContentSecurityPolicy::didReceiveHeader):
7026        (WebCore::ContentSecurityPolicy::checkEval):
7027        (WebCore::ContentSecurityPolicy::operativeDirective):
7028        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
7029        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
7030        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
7031        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
7032        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
7033        (WebCore::ContentSecurityPolicy::allowInlineScript):
7034        (WebCore::ContentSecurityPolicy::allowInlineStyle):
7035        (WebCore::ContentSecurityPolicy::allowEval):
7036        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
7037        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
7038        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
7039        (WebCore::ContentSecurityPolicy::allowImageFromSource):
7040        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
7041        (WebCore::ContentSecurityPolicy::allowFontFromSource):
7042        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
7043        (WebCore::ContentSecurityPolicy::addDirective):
7044        * page/ContentSecurityPolicy.h:
7045
70462011-05-01  Sam Weinig  <sam@webkit.org>
7047
7048        Reviewed by Anders Carlsson.
7049
7050        Prune some unnecessary #includes
7051        https://bugs.webkit.org/show_bug.cgi?id=59895
7052
7053        Start getting rid of unnecessary #includes and forward declares.
7054
7055        * bindings/js/JSDOMBinding.h:
7056        * bindings/js/JSDOMWindowBase.h:
7057        * bindings/js/JSDOMWindowShell.h:
7058        * bindings/js/ScheduledAction.cpp:
7059        * bindings/js/ScriptController.cpp:
7060        * bindings/js/ScriptController.h:
7061        * bindings/js/ScriptDebugServer.cpp:
7062        * editing/Editor.h:
7063        * inspector/InspectorClient.cpp:
7064        * loader/FrameLoader.h:
7065        * loader/NavigationScheduler.h:
7066        * page/Console.cpp:
7067        * xml/XMLTreeViewer.cpp:
7068        * xml/XMLTreeViewer.h:
7069
70702011-05-01  Patrick Gansterer  <paroga@webkit.org>
7071
7072        [WIN] Unreviewed buildfix after r85434.
7073
7074        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
7075        (WebCore::MediaPlayerPrivate::createLayerForMovie):
7076
70772011-05-01  Patrick Gansterer  <paroga@webkit.org>
7078
7079        [WIN] Unreviewed buildfix after r85434.
7080
7081        * platform/graphics/win/QTMovieVisualContext.cpp:
7082        (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
7083
70842011-05-01  Justin Schuh  <jschuh@chromium.org>
7085
7086        Reviewed by Adam Barth.
7087
7088        History::stateObjectAdded should check origin via SecurityOrigin::canRequest
7089        https://bugs.webkit.org/show_bug.cgi?id=59840
7090
7091        Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
7092               http/tests/navigation/replacestate-base-illegal.html
7093               http/tests/navigation/replacestate-base-legal.html
7094
7095        * page/History.cpp:
7096        (WebCore::History::stateObjectAdded):
7097
70982011-05-01  Patrick Gansterer  <paroga@webkit.org>
7099
7100        [WIN] Unreviewed buildfix after r85434.
7101
7102        * platform/graphics/win/QTMovieVisualContext.cpp:
7103        (QTMovieVisualContext::QTMovieVisualContext):
7104
71052011-05-01  Patrick Gansterer  <paroga@webkit.org>
7106
7107        Reviewed by Adam Barth.
7108
7109        [WINCE] Fix OwnPtr strict issues
7110        https://bugs.webkit.org/show_bug.cgi?id=59898
7111
7112        * page/wince/FrameWinCE.cpp:
7113        (WebCore::imageFromSelection):
7114        * platform/graphics/wince/FontPlatformData.cpp:
7115        (WebCore::FixedSizeFontData::create):
7116        (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
7117        (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
7118        (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
7119        * platform/graphics/wince/GraphicsContextWinCE.cpp:
7120        (WebCore::GraphicsContext::strokeArc):
7121        (WebCore::GraphicsContext::fillRect):
7122        (WebCore::GraphicsContext::clip):
7123        (WebCore::GraphicsContext::fillRoundedRect):
7124        (WebCore::GraphicsContext::drawRoundCorner):
7125        (WebCore::GraphicsContext::drawText):
7126        * platform/graphics/wince/ImageBufferWinCE.cpp:
7127        (WebCore::ImageBuffer::ImageBuffer):
7128        * platform/graphics/wince/ImageWinCE.cpp:
7129        (WebCore::BitmapImage::getHBITMAPOfSize):
7130        * platform/graphics/wince/SharedBitmap.cpp:
7131        (WebCore::SharedBitmap::SharedBitmap):
7132
71332011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
7134
7135        Reviewed by Eric Seidel.
7136
7137        Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
7138        https://bugs.webkit.org/show_bug.cgi?id=59837
7139
7140        Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)
7141
7142        * WebCore.exp.in:
7143        * page/EventHandler.h:
7144        * page/mac/EventHandlerMac.mm:
7145
71462011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
7147
7148        Reviewed by Eric Seidel.
7149
7150        Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
7151        https://bugs.webkit.org/show_bug.cgi?id=59835
7152
7153        Moved currentKeyboardEvent.
7154
7155        * WebCore.exp.in:
7156        * page/EventHandler.h:
7157        * page/mac/EventHandlerMac.mm:
7158
71592011-05-01  ojab  <ojab@ojab.ru>
7160
7161        Reviewed by Eric Seidel.
7162
7163        Fix build with --disable-video --enable-fullscreen-api
7164        https://bugs.webkit.org/show_bug.cgi?id=59698
7165
7166        * rendering/RenderTheme.h:
7167        (WebCore::RenderTheme::extraFullScreenStyleSheet):
7168
71692011-05-01  Jeff Timanus  <twiz@chromium.org>
7170
7171        Reviewed by Eric Seidel.
7172
7173        Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
7174        https://bugs.webkit.org/show_bug.cgi?id=59041
7175
7176        Test:css2.1/t140201-c533-bgimage-00-a.html
7177
7178        * platform/graphics/Image.cpp:
7179        (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
7180        * platform/graphics/skia/ImageSkia.cpp:
7181        (WebCore::BitmapImage::checkForSolidColor):
7182
71832011-05-01  Patrick Gansterer  <paroga@webkit.org>
7184
7185        Reviewed by Adam Barth.
7186
7187        Fix OwnPtr strict issues in windows build
7188        https://bugs.webkit.org/show_bug.cgi?id=59878
7189
7190        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
7191        (WebCore::getDirtyRects):
7192        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
7193        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
7194        * platform/graphics/win/WKCAImageQueue.cpp:
7195        (WebCore::WKCAImageQueue::WKCAImageQueue):
7196        * platform/win/CursorWin.cpp:
7197        (WebCore::createSharedCursor):
7198        * platform/win/PasteboardWin.cpp:
7199        (WebCore::Pasteboard::writeImage):
7200
72012011-05-01  Patrick Gansterer  <paroga@webkit.org>
7202
7203        Reviewed by Eric Seidel.
7204
7205        Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
7206        https://bugs.webkit.org/show_bug.cgi?id=59876
7207
7208        Also pass the size "as reference" instead of "as value".
7209
7210        * platform/graphics/GraphicsContext.h:
7211        * platform/graphics/win/FontCGWin.cpp:
7212        (WebCore::drawGDIGlyphs):
7213        * platform/graphics/win/GraphicsContextWin.cpp:
7214        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
7215        (WebCore::GraphicsContext::createWindowsBitmap):
7216        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
7217        (WebCore::MediaPlayerPrivate::paint):
7218
72192011-05-01  Emil A Eklund  <eae@chromium.org>
7220
7221        Reviewed by Eric Seidel.
7222
7223        getComputedStyle() returns unitless values for some properties that require units
7224        https://bugs.webkit.org/show_bug.cgi?id=55111
7225
7226        Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective
7227
7228        Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html
7229
7230        * css/CSSComputedStyleDeclaration.cpp:
7231        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7232
72332011-05-01  Young Han Lee  <joybro@company100.net>
7234
7235        Reviewed by Eric Seidel.
7236
7237        Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
7238        https://bugs.webkit.org/show_bug.cgi?id=59608
7239
7240        TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h
7241
7242        No new functionality, no new tests.
7243
7244        * platform/graphics/opengl/TextureMapperGL.cpp:
7245        (WebCore::TextureMapperGL::TextureMapperGL):
7246
72472011-05-01  Yael Aharon  <yael.aharon@nokia.com>
7248
7249        Reviewed by Eric Seidel.
7250
7251        CSS3 nth-child(n) selector fails
7252        https://bugs.webkit.org/show_bug.cgi?id=56943
7253
7254        Regression from r75158.
7255        "n" is a valid parameter to nth() and should be allowed.
7256
7257        Test: fast/css/nth-child-n.html
7258
7259        * css/CSSParser.cpp:
7260        (WebCore::isValidNthToken):
7261
72622011-05-01  Pavel Feldman  <pfeldman@chromium.org>
7263
7264        Not reviewed: address stack frame scriptName -> url rename in timeline panel.
7265
7266        * inspector/front-end/TimelinePanel.js:
7267        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
7268        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
7269
72702011-05-01  Chris Fleizach  <cfleizach@apple.com>
7271
7272        Reviewed by Maciej Stachowiak.
7273
7274        Crash in AccessibilityRenderObject while viewing PDFs in iframes
7275        https://bugs.webkit.org/show_bug.cgi?id=59629
7276
7277        Could not reproduce this crash, but it's quite clear how it could happen.
7278
7279        * accessibility/AccessibilityRenderObject.cpp:
7280        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
7281
72822011-05-01  Nikolas Zimmermann  <nzimmermann@rim.com>
7283
7284        Reviewed by Dirk Schulze.
7285
7286        LEAK: SVGElement leaks when detaching it in a pending resource state
7287        https://bugs.webkit.org/show_bug.cgi?id=59072
7288
7289        Make the pending resources set non-refcounted again. We made it refcounted a while ago
7290        to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
7291        Fix the underlying problem, by removing all pending resources referencing to a particular
7292        SVGElement, upon its destruction or upon removing it from the document.
7293
7294        Example: <rect fill="url(#foo)" id="rect">
7295        When we try to render the rect, the foo paint server can't be found and thus "foo" will be
7296        added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
7297        itself from the pending resource set, and a ref count to the "rect" would be released.
7298        If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
7299        it and the associated document alive.
7300
7301        Tests: svg/custom/pending-resource-leak-2.svg
7302               svg/custom/pending-resource-leak-3.svg
7303               svg/custom/pending-resource-leak.svg
7304
7305        These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
7306        I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now.
7307
7308        * rendering/svg/RenderSVGResourceContainer.cpp:
7309        (WebCore::RenderSVGResourceContainer::registerResource):
7310        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
7311        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
7312        * rendering/svg/SVGResources.cpp:
7313        (WebCore::registerPendingResource):
7314        * svg/SVGDocumentExtensions.cpp:
7315        (WebCore::SVGDocumentExtensions::addPendingResource):
7316        (WebCore::SVGDocumentExtensions::hasPendingResources):
7317        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
7318        (WebCore::SVGDocumentExtensions::removePendingResource):
7319        * svg/SVGDocumentExtensions.h:
7320        * svg/SVGElement.cpp:
7321        * svg/SVGElement.h:
7322        * svg/SVGElementRareData.h:
7323        (WebCore::SVGElementRareData::SVGElementRareData):
7324        (WebCore::SVGElementRareData::hasPendingResources):
7325        (WebCore::SVGElementRareData::setHasPendingResources):
7326        * svg/SVGStyledElement.cpp:
7327        (WebCore::SVGStyledElement::~SVGStyledElement):
7328        (WebCore::SVGStyledElement::insertedIntoDocument):
7329        (WebCore::SVGStyledElement::removedFromDocument):
7330        (WebCore::SVGStyledElement::hasPendingResources):
7331        (WebCore::SVGStyledElement::setHasPendingResources):
7332        * svg/SVGStyledElement.h:
7333        (WebCore::SVGStyledElement::needsPendingResourceHandling):
7334        (WebCore::SVGStyledElement::buildPendingResource):
7335        * svg/SVGUseElement.cpp:
7336        (WebCore::SVGUseElement::SVGUseElement):
7337        (WebCore::SVGUseElement::insertedIntoDocument):
7338        (WebCore::SVGUseElement::svgAttributeChanged):
7339        (WebCore::SVGUseElement::buildPendingResource):
7340        * svg/SVGUseElement.h:
7341
73422011-05-01  Rafael Brandao  <rafael.lobo@openbossa.org>
7343
7344        Reviewed by Csaba Osztrogonác.
7345
7346        [Qt] build-webkit warning Inspector.idl is missing
7347        https://bugs.webkit.org/show_bug.cgi?id=59047
7348
7349        Added variable_out to pipe output from one compiler to another,
7350        and then forced the output to be added to the sources.
7351
7352        * CodeGenerators.pri:
7353
73542011-05-01  Dan Bernstein  <mitz@apple.com>
7355
7356        Reviewed by Anders Carlsson.
7357
7358        <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
7359        https://bugs.webkit.org/show_bug.cgi?id=56658
7360
7361        Test: fast/text/selection-rect-rounding.html
7362
7363        * platform/graphics/FontFastPath.cpp:
7364        (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
7365        * platform/graphics/mac/FontComplexTextMac.cpp:
7366        (WebCore::Font::selectionRectForComplexText): Ditto.
7367        * rendering/InlineTextBox.cpp:
7368        (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
7369        (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
7370        since it affects rounding.
7371
73722011-04-30  Justin Schuh  <jschuh@chromium.org>
7373
7374        Reviewed by Dirk Schulze.
7375
7376        Make RenderSVGResourceFilter take ownership of filter data when painting
7377        https://bugs.webkit.org/show_bug.cgi?id=51524
7378
7379        Test: svg/custom/filter-on-svgimage.svg
7380
7381        * rendering/svg/RenderSVGResourceFilter.cpp:
7382        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
7383        (WebCore::RenderSVGResourceFilter::postApplyResource):
7384        * rendering/svg/RenderSVGResourceFilter.h:
7385        (WebCore::FilterData::FilterData):
7386
73872011-04-30  Martin Robinson  <mrobinson@igalia.com>
7388
7389        Reviewed by Adam Barth.
7390
7391        Enable strict mode for OwnPtr and PassOwnPtr
7392        https://bugs.webkit.org/show_bug.cgi?id=59428
7393
7394        Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
7395        factory methods return a PassOwnPtr.
7396
7397        No new tests. This should not change functionality.
7398
7399        * platform/GeolocationService.cpp:
7400        (WebCore::createGeolocationServiceNull):
7401        (WebCore::GeolocationService::create):
7402        * platform/GeolocationService.h:
7403        * platform/android/GeolocationServiceAndroid.cpp:
7404        (WebCore::GeolocationServiceAndroid::create):
7405        * platform/android/GeolocationServiceAndroid.h:
7406        * platform/efl/GeolocationServiceEfl.cpp:
7407        (WebCore::GeolocationServiceEfl::create):
7408        * platform/efl/GeolocationServiceEfl.h:
7409        * platform/graphics/cairo/CairoUtilities.cpp:
7410        (WebCore::appendPathToCairoContext):
7411        * platform/graphics/cairo/GraphicsContextCairo.cpp:
7412        (WebCore::drawPathShadow):
7413        (WebCore::GraphicsContext::clip):
7414        * platform/graphics/cairo/ImageBufferCairo.cpp:
7415        (WebCore::ImageBuffer::ImageBuffer):
7416        * platform/graphics/cairo/OwnPtrCairo.h:
7417        * platform/graphics/cairo/PathCairo.cpp:
7418        (WebCore::Path::Path):
7419        (WebCore::Path::operator=):
7420        (WebCore::Path::apply):
7421        * platform/gtk/GeolocationServiceGtk.cpp:
7422        (WebCore::GeolocationServiceGtk::create):
7423        * platform/gtk/GeolocationServiceGtk.h:
7424        * platform/mock/GeolocationServiceMock.cpp:
7425        (WebCore::GeolocationServiceMock::create):
7426        * platform/mock/GeolocationServiceMock.h:
7427
74282011-04-30  Pavel Feldman  <pfeldman@chromium.org>
7429
7430        Not reviewed: inspector toolbar titles were 2px off.
7431
7432        * inspector/front-end/inspector.css:
7433        (#toolbar-dropdown .toolbar-label):
7434
74352011-04-30  Mihai Parparita  <mihaip@chromium.org>
7436
7437        Reviewed by Eric Seidel.
7438
7439        V8Proxy.h shouldn't include SecurityOrigin.h
7440        https://bugs.webkit.org/show_bug.cgi?id=59859
7441
7442        Remove SecurityOrigin.h #include from V8Proxy.h. Touching
7443        SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
7444        chromium's DumpRenderTree).
7445
7446        * bindings/v8/NPV8Object.cpp:
7447        * bindings/v8/V8Proxy.cpp:
7448        * bindings/v8/V8Proxy.h:
7449        * css/CSSStyleSelector.cpp:
7450        * dom/XMLDocumentParserLibxml2.cpp:
7451        * html/HTMLLinkElement.cpp:
7452        * loader/SubframeLoader.cpp:
7453        * page/History.cpp:
7454        * storage/IDBFactory.cpp:
7455        * storage/StorageAreaImpl.cpp:
7456
74572011-04-29  Adam Barth  <abarth@webkit.org>
7458
7459        Reviewed by Eric Seidel.
7460
7461        CSP script-src should block eval
7462        https://bugs.webkit.org/show_bug.cgi?id=59850
7463
7464        Rather than have JavaScriptCore call back into WebCore to learn whether
7465        eval is enabled, we push that bit of the policy into JavaScriptCore.
7466
7467        Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
7468               http/tests/security/contentSecurityPolicy/eval-blocked.html
7469
7470        * bindings/js/ScriptController.cpp:
7471        (WebCore::ScriptController::disableEval):
7472        * bindings/js/ScriptController.h:
7473        * page/ContentSecurityPolicy.cpp:
7474        (WebCore::ContentSecurityPolicy::didReceiveHeader):
7475        (WebCore::ContentSecurityPolicy::internalAllowEval):
7476        (WebCore::ContentSecurityPolicy::allowEval):
7477        * page/ContentSecurityPolicy.h:
7478
74792011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
7480
7481        GTK build fix. Missed moving DateComponents and
7482        adding LocalizedDate files for their build file.
7483
7484        * GNUmakefile.list.am:
7485
74862011-04-29  Adam Barth  <abarth@webkit.org>
7487
7488        Reviewed by Eric Seidel.
7489
7490        style-src should block @style
7491        https://bugs.webkit.org/show_bug.cgi?id=59293
7492
7493        This patch blocks @style when style-src doesn't have the
7494        'unsafe-inline' token.  This patch blocks the parsing of the attribute
7495        itself.  That feels vaguely like too low a level to interpose the
7496        policy, but there didn't seem to be anywhere else natural to enforce
7497        the policy.
7498
7499        Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
7500               http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
7501               http/tests/security/contentSecurityPolicy/inline-style-on-html.html
7502
7503        * dom/StyledElement.cpp:
7504        (WebCore::StyledElement::parseMappedAttribute):
7505
75062011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
7507
7508        Reviewed by Kent Tamura.
7509
7510        Allow Localized Date Strings for Date Input Fields
7511        https://bugs.webkit.org/show_bug.cgi?id=59752
7512
7513        Test: fast/forms/date-input-visible-strings.html
7514
7515        * CMakeLists.txt:
7516        * WebCore.gypi:
7517        * WebCore.pro:
7518        * WebCore.vcproj/WebCore.vcproj:
7519        * WebCore.xcodeproj/project.pbxproj: update build files for
7520        moving DateComponents from WebCore/html to WebCore/platform
7521        and adding the LocalizedDate files.
7522
7523        * html/BaseDateAndTimeInputType.cpp:
7524        (WebCore::BaseDateAndTimeInputType::serialize):
7525        (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
7526        (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
7527        InputType::serialize for a double value with date types is
7528        different for the month type because it assumes the incoming
7529        value is months instead of msecs (matching valueAsNumber in
7530        HTML5).  So provide a more general serialization function,
7531        serializeWithComponents, that will always serialize a string
7532        correctly for the current type but taking in a DateComponents
7533        object. The default serialize, and new serializeWithMilliseconds,
7534        can fall back to this and allows an override point for
7535        the month type.
7536
7537        * html/MonthInputType.cpp:
7538        (WebCore::MonthInputType::serializeWithMilliseconds): the month
7539        type is a case where the default serialize does not take msec,
7540        so provide an implementation for month which handles msec input.
7541
7542        * html/BaseDateAndTimeInputType.cpp:
7543        (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
7544        to serializeWithMilliseconds as the incoming date value is msec.
7545        * html/MonthInputType.cpp:
7546        (WebCore::MonthInputType::setValueAsDate): removed.
7547
7548        * html/BaseDateAndTimeInputType.cpp:
7549        (WebCore::BaseDateAndTimeInputType::visibleValue): allow
7550        localized formatting of a date value.
7551        (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
7552        allow parsing for a formatted date value.
7553
7554        * html/BaseDateAndTimeInputType.h:
7555        * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
7556        Expose the Type enum so it can be used outside of the DateComponents class.
7557        * platform/text/LocalizedDate.h: Added.
7558        * platform/text/LocalizedDateNone.cpp: Added.
7559        (WebCore::formatLocalizedDate): Default implementation falls back to
7560        existing HTML5 date input value formatting.
7561
7562        * html/BaseDateAndTimeInputType.h:
7563        * html/DateInputType.cpp:
7564        (WebCore::DateInputType::dateType):
7565        * html/DateInputType.h:
7566        * html/DateTimeInputType.cpp:
7567        (WebCore::DateTimeInputType::dateType):
7568        * html/DateTimeInputType.h:
7569        * html/DateTimeLocalInputType.cpp:
7570        (WebCore::DateTimeLocalInputType::dateType):
7571        * html/DateTimeLocalInputType.h:
7572        * html/MonthInputType.cpp:
7573        (WebCore::MonthInputType::dateType):
7574        * html/MonthInputType.h:
7575        * html/TimeInputType.cpp:
7576        (WebCore::TimeInputType::dateType):
7577        * html/TimeInputType.h:
7578        * html/WeekInputType.cpp:
7579        (WebCore::WeekInputType::dateType):
7580        * html/WeekInputType.h: Accessors for the desired date
7581        type of a date input type. This allows the base class
7582        to write a generic algorithm.
7583
75842011-04-29  Adam Barth  <abarth@webkit.org>
7585
7586        Reviewed by Eric Seidel.
7587
7588        style-src should block inline style from <style>
7589        https://bugs.webkit.org/show_bug.cgi?id=59292
7590
7591        The spec has been updated to allow blocking of inline styles with
7592        style-src.  This will help folks defend against tricky CSS3 injections.
7593
7594        This patch covers the <style> case.  The next patch will cover the
7595        @style case.
7596
7597        Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
7598               http/tests/security/contentSecurityPolicy/inline-style-blocked.html
7599
7600        * dom/StyleElement.cpp:
7601        (WebCore::StyleElement::createSheet):
7602        * page/ContentSecurityPolicy.cpp:
7603        (WebCore::ContentSecurityPolicy::allowInlineStyle):
7604        * page/ContentSecurityPolicy.h:
7605
76062011-04-29  Chris Evans  <cevans@chromium.org>
7607
7608        Reviewed by Adam Barth.
7609
7610        Add WebCore::Setting to block displaying and/or running insecure content on secure pages
7611        https://bugs.webkit.org/show_bug.cgi?id=58378
7612
7613        Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.
7614
7615        * loader/FrameLoader.cpp:
7616        (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
7617        (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
7618        * loader/FrameLoader.h:
7619        * loader/MainResourceLoader.cpp:
7620        (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain.
7621        * loader/SubframeLoader.cpp:
7622        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
7623        (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
7624        * loader/cache/CachedResourceLoader.cpp:
7625        (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
7626        * page/Settings.cpp:
7627        (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
7628        * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
7629        (WebCore::Settings::setAllowDisplayOfInsecureContent):
7630        (WebCore::Settings::allowDisplayOfInsecureContent):
7631        (WebCore::Settings::setAllowRunningOfInsecureContent):
7632        (WebCore::Settings::allowRunningOfInsecureContent):
7633
76342011-04-29  Ryosuke Niwa  <rniwa@webkit.org>
7635
7636        Reviewed by Eric Seidel.
7637
7638        Extract a function to obtain VisiblePosition from RenderText::positionForPoint
7639        https://bugs.webkit.org/show_bug.cgi?id=59811
7640
7641        Extracted lineDirectionPointFitsInBox from positionForPoint.
7642
7643        * rendering/RenderText.cpp:
7644        (WebCore::lineDirectionPointFitsInBox):
7645        (WebCore::RenderText::positionForPoint):
7646
76472011-04-29  Geoffrey Garen  <ggaren@apple.com>
7648
7649        Reviewed by Alexey Proskuryakov.
7650
7651        REGRESSION: r83938 abandons GC memory
7652        https://bugs.webkit.org/show_bug.cgi?id=59604
7653
7654        This bug was caused by script and image elements waiting indefinitely
7655        for their loads to finish.
7656
7657        * bindings/js/JSNodeCustom.cpp:
7658        (WebCore::isReachableFromDOM): Don't test for the load event firing,
7659        since the load event doesn't fire in cases of canceled or errored loads.
7660        Instead, test hasPendingActivity().
7661
7662        Don't do this test at all for script elements because script elements
7663        can't load while outside the document. (fast/dom/script-element-gc.html
7664        verifies that this is correct.)
7665
7666        * html/HTMLImageElement.cpp:
7667        (WebCore::HTMLImageElement::hasPendingActivity):
7668        * html/HTMLImageElement.h:
7669        * loader/ImageLoader.cpp:
7670        (WebCore::ImageEventSender::hasPendingEvents):
7671        (WebCore::ImageLoader::hasPendingLoadEvent):
7672        * loader/ImageLoader.h: Added API for finding out if an image element
7673        has pending activity.
7674
7675        * loader/cache/CachedResource.cpp:
7676        (WebCore::CachedResource::setRequest): All loads are supposed to end in
7677        data(allDataReceived = true) or error(), but in the edge case of a
7678        canceled load, all we get is a call to setRequest(0). Be sure to
7679        record that we're no longer loading in that case, otherwise our element
7680        will leak forever, waiting for its load to complete.
7681
76822011-04-29  Emil Eklund  <eae@chromium.org>
7683
7684        Reviewed by Tony Chang.
7685
7686        Setting outerHTML should merge text nodes
7687        https://bugs.webkit.org/show_bug.cgi?id=52686
7688
7689        When setting outerHTML adjacent text nodes should be merged. This matches
7690        the behavior of outerText and the IE implementation of outerHTML.
7691
7692        Test: fast/dom/set-outer-html.html
7693
7694        * html/HTMLElement.cpp:
7695        (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
7696        (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.
7697
76982011-04-29  Emil A Eklund  <eae@chromium.org>
7699
7700        Reviewed by Dimitri Glazkov.
7701
7702        Onchange on text fields has an incoherent behavior
7703        https://bugs.webkit.org/show_bug.cgi?id=57330
7704
7705        * html/HTMLFormControlElement.cpp:
7706        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
7707        Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
7708        than null for empty fields.
7709
77102011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7711
7712        [Qt] Unreviewed buildfix after r85343.
7713
7714        Enable strict OwnPtr for Qt
7715        https://bugs.webkit.org/show_bug.cgi?id=59667
7716
7717        * plugins/mac/PluginViewMac.mm:
7718        (WebCore::PluginView::platformStart):
7719
77202011-04-29  Jon Lee  <jonlee@apple.com>
7721
7722        Reviewed by mitzpettel.
7723
7724        REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
7725        <rdar://problem/9327332>
7726        https://bugs.webkit.org/show_bug.cgi?id=59721
7727
7728        Removing shouldClearSelectionWhenLosingWebPageFocus().  Reverting changelist 83814.
7729
7730        * WebCore.exp.in:
7731        * editing/EditingBehavior.h:
7732
77332011-04-29  Abhishek Arya  <inferno@chromium.org>
7734
7735        Reviewed by Dave Hyatt.
7736
7737        Allow only first table caption and destroy the remaining ones.
7738        https://bugs.webkit.org/show_bug.cgi?id=58249
7739
7740        Previously, we were only laying out the first table caption.
7741        However Table::layout didn't mark the other ones as not needing
7742        layout. So after table layout completes, table is marked as not
7743        needing layout with its other table caption still needing layout.
7744        This causes incorrect layout root calculations and set it to a
7745        node which is already getting deleted.
7746
7747        Tests: fast/table/dynamic-caption-add-before-child.xhtml
7748               fast/table/dynamic-caption-add-remove-before-child.xhtml
7749               fast/table/multiple-captions-crash.xhtml
7750               fast/table/multiple-captions-crash2.xhtml
7751               fast/table/multiple-captions-display.xhtml
7752
7753        * rendering/RenderTable.cpp:
7754        (WebCore::RenderTable::addChild): when new caption or a before
7755        child caption is added, we need to explicitly trigger section
7756        recalc or otherwise layout won't catch it.
7757        (WebCore::RenderTable::removeChild): when child to be removed is
7758        m_caption, make sure to trigger style recalc on the table.
7759        (WebCore::RenderTable::recalcCaption): code to destroy captions
7760        other than the first one.
7761        (WebCore::RenderTable::recalcSections): call recalcCaption
7762        helper. Store the next sibling early since child can get destroyed
7763        in recalcCaption.
7764        * rendering/RenderTable.h:
7765
77662011-04-29  David Kilzer  <ddkilzer@apple.com>
7767
7768        Remove WML
7769        https://bugs.webkit.org/show_bug.cgi?id=59678
7770
7771        * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.
7772
77732011-04-29  James Robinson  <jamesr@chromium.org>
7774
7775        Unreviewed, rolling out r85330.
7776        http://trac.webkit.org/changeset/85330
7777        https://bugs.webkit.org/show_bug.cgi?id=41311
7778
7779        Caused unexpected border rendering change on 500 tests on chromium linux.
7780
7781        * platform/graphics/skia/GraphicsContextSkia.cpp:
7782        (WebCore::GraphicsContext::drawConvexPolygon):
7783        (WebCore::GraphicsContext::clipConvexPolygon):
7784
77852011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7786
7787        [Qt] Unreviewed buildfix after r85343.
7788
7789        Enable strict OwnPtr for Qt
7790        https://bugs.webkit.org/show_bug.cgi?id=59667
7791
7792        * plugins/win/PluginViewWin.cpp:
7793        (WebCore::PluginView::wndProc):
7794        (WebCore::PluginView::snapshot):
7795
77962011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7797
7798        Reviewed by Adam Barth.
7799
7800        Enable strict OwnPtr for Qt
7801        https://bugs.webkit.org/show_bug.cgi?id=59667
7802
7803        * platform/graphics/qt/ImageBufferQt.cpp:
7804        (WebCore::ImageBufferData::ImageBufferData):
7805        (WebCore::ImageBuffer::ImageBuffer):
7806        * platform/graphics/qt/ImageDecoderQt.cpp:
7807        (WebCore::ImageDecoderQt::setData):
7808        * platform/graphics/qt/ImageDecoderQt.h:
7809        * platform/network/qt/QNetworkReplyHandler.cpp:
7810        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
7811        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
7812
78132011-04-29  Dean Jackson  <dino@apple.com>
7814
7815        Reviewed by Simon Fraser.
7816
7817        Add ENABLE macro for WebKitAnimation
7818        https://bugs.webkit.org/show_bug.cgi?id=59729
7819
7820        Add new feature to toggle WebKit Animation API.
7821
7822        * Configurations/FeatureDefines.xcconfig:
7823        * GNUmakefile.am:
7824        * dom/Element.idl:
7825        * features.pri:
7826        * page/DOMWindow.idl:
7827
78282011-04-29  Dean Jackson  <dino@apple.com>
7829
7830        Reviewed by Simon Fraser.
7831
7832        https://bugs.webkit.org/show_bug.cgi?id=59149
7833        (Regression) Existing animations are not replaced when filling.
7834
7835        Hardware animations that fill forwards were not being correctly
7836        replaced when the animation was removed. The actual animation
7837        logic was working correctly, but it wasn't deleting the
7838        CoreAnimation animation from the PlatformLayer. The fix was
7839        to explicitly call endAnimation when disconnecting the animation
7840        from its RenderObject.
7841
7842        Test: animations/3d/replace-filling-transform.html
7843
7844        * page/animation/AnimationBase.h:
7845        (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared
7846
78472011-04-29  Abhishek Arya  <inferno@chromium.org>
7848
7849        Reviewed by Nikolas Zimmermann.
7850
7851        When svg inline text is getting destroyed, make sure to mark
7852        its svg text ancestor as needing a positioning values update.
7853        This helps to recalculate layout attributes and makes sure
7854        that svg inline text is not used again.
7855        https://bugs.webkit.org/show_bug.cgi?id=59161
7856
7857        Test: svg/text/inline-text-destroy-attributes-crash.xhtml
7858
7859        * rendering/svg/RenderSVGInlineText.cpp:
7860        (WebCore::RenderSVGInlineText::destroy):
7861        * rendering/svg/RenderSVGInlineText.h:
7862
78632011-04-29  Kevin Ollivier  <kevino@theolliviers.com>
7864
7865        [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.
7866
7867        * platform/graphics/wx/GraphicsContextWx.cpp:
7868
78692011-04-29  Mike Reed  <reed@google.com>
7870
7871        Reviewed by Ojan Vafai.
7872
7873        Skia: Need to implement GraphicsContext::clipConvexPolygon()
7874        https://bugs.webkit.org/show_bug.cgi?id=41311
7875
7876        This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
7877        as that shows other issues/question unrelated to clipping.
7878        https://bugs.webkit.org/show_bug.cgi?id=41311
7879
7880        No new tests. covered by existing layout tests
7881
7882        * platform/graphics/skia/GraphicsContextSkia.cpp:
7883        (WebCore::setPathFromConvexPoints):
7884        (WebCore::GraphicsContext::drawConvexPolygon):
7885        (WebCore::GraphicsContext::clipConvexPolygon):
7886
78872011-04-29  Mike Lawther  <mikelawther@chromium.org>
7888
7889        Reviewed by Ojan Vafai.
7890
7891        Fix IR->SR typo in enum value (and resulting style fails)
7892        https://bugs.webkit.org/show_bug.cgi?id=59779
7893
7894        No functionality change, so no new tests
7895
7896        * css/CSSPrimitiveValueMappings.h:
7897        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7898        (WebCore::CSSPrimitiveValue::operator EShapeRendering):
7899
79002011-04-29  Pavel Feldman  <pfeldman@google.com>
7901
7902        Reviewed by Yury Semikhatsky.
7903
7904        Web Inspector: CSS editing breaks when entering "color: rgb(1"
7905        https://bugs.webkit.org/show_bug.cgi?id=59789
7906
7907        Tests: inspector/styles/styles-add-invalid-property.html
7908               inspector/styles/styles-cancel-editing.html
7909               inspector/styles/styles-commit-editing.html
7910
7911        * inspector/front-end/CSSStyleModel.js:
7912        (WebInspector.CSSProperty.prototype.setText.callback):
7913        (WebInspector.CSSProperty.prototype.setText):
7914        * inspector/front-end/StylesSidebarPane.js:
7915        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
7916        (WebInspector.StylePropertyTreeElement.prototype):
7917        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
7918        * inspector/front-end/inspector.js:
7919        (WebInspector.startEditing.defaultFinishHandler):
7920        (WebInspector.startEditing.keyDownEventListener):
7921        (WebInspector.startEditing):
7922
79232011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7924
7925        Reviewed by Simon Hausmann.
7926
7927        ENABLE(QT_BEARER) -> USE(QT_BEARER)
7928
7929        * WebCore.pri:
7930        * WebCore.pro:
7931        * features.pri:
7932        * platform/network/NetworkStateNotifier.h:
7933        * platform/network/qt/NetworkStateNotifierQt.cpp:
7934
79352011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7936
7937        Reviewed by Simon Hausmann.
7938
7939        ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)
7940
7941        * WebCore.pri:
7942        * features.pri:
7943
79442011-04-29  Pavel Podivilov  <podivilov@chromium.org>
7945
7946        Reviewed by Pavel Feldman.
7947
7948        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
7949        https://bugs.webkit.org/show_bug.cgi?id=59476
7950
7951        * inspector/front-end/DebuggerPresentationModel.js:
7952        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
7953        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
7954        (WebInspector.PresentationBreakpoint.prototype.serialize):
7955        * inspector/front-end/ScriptsPanel.js:
7956        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
7957        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
7958        (WebInspector.ScriptsPanel.prototype.reset):
7959
79602011-04-28  Pavel Podivilov  <podivilov@chromium.org>
7961
7962        Reviewed by Yury Semikhatsky.
7963
7964        Web Inspector: include script end line:column in scriptParsed parameters.
7965        https://bugs.webkit.org/show_bug.cgi?id=59717
7966
7967        * bindings/js/ScriptDebugServer.cpp:
7968        (WebCore::ScriptDebugServer::dispatchDidParseSource):
7969        * bindings/v8/DebuggerScript.js:
7970        ():
7971        * bindings/v8/ScriptDebugServer.cpp:
7972        (WebCore::ScriptDebugServer::dispatchDidParseSource):
7973        * inspector/Inspector.json:
7974        * inspector/InspectorDebuggerAgent.cpp:
7975        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
7976        (WebCore::InspectorDebuggerAgent::didParseSource):
7977        * inspector/InspectorDebuggerAgent.h:
7978        (WebCore::InspectorDebuggerAgent::Script::Script):
7979        * inspector/ScriptDebugListener.h:
7980        * inspector/front-end/DebuggerModel.js:
7981        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
7982        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
7983        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
7984        * inspector/front-end/Script.js:
7985        (WebInspector.Script):
7986
79872011-04-28  Yury Semikhatsky  <yurys@chromium.org>
7988
7989        Reviewed by Pavel Feldman.
7990
7991        Web Inspector: [protocol] Evaluate should expose thrown exception value
7992        https://bugs.webkit.org/show_bug.cgi?id=59000
7993
7994        Each evaluation command may have either thrown or returned result. This is indicated
7995        by wasThrown property in the protocol.
7996
7997        * inspector/InjectedScript.cpp:
7998        (WebCore::InjectedScript::evaluate):
7999        (WebCore::InjectedScript::evaluateOn):
8000        (WebCore::InjectedScript::evaluateOnCallFrame):
8001        (WebCore::InjectedScript::getProperties):
8002        (WebCore::InjectedScript::makeEvalCall):
8003        * inspector/InjectedScript.h:
8004        * inspector/InjectedScriptSource.js:
8005        * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
8006        the evaluation results.
8007        * inspector/InspectorDebuggerAgent.cpp:
8008        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
8009        * inspector/InspectorDebuggerAgent.h:
8010        * inspector/InspectorRuntimeAgent.cpp:
8011        (WebCore::InspectorRuntimeAgent::evaluate):
8012        (WebCore::InspectorRuntimeAgent::evaluateOn):
8013        (WebCore::InspectorRuntimeAgent::getProperties):
8014        * inspector/InspectorRuntimeAgent.h:
8015        * inspector/front-end/ConsoleView.js:
8016        (WebInspector.ConsoleView.prototype.completions.evaluated):
8017        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
8018        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
8019        (WebInspector.ConsoleView.prototype._enterKeyPressed):
8020        (WebInspector.ConsoleCommandResult):
8021        * inspector/front-end/DebuggerPresentationModel.js:
8022        (WebInspector.PresenationCallFrame.prototype.evaluate):
8023        * inspector/front-end/ElementsTreeOutline.js:
8024        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
8025        * inspector/front-end/ExtensionPanel.js:
8026        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
8027        * inspector/front-end/ExtensionServer.js:
8028        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
8029        * inspector/front-end/ObjectPropertiesSection.js:
8030        (WebInspector.ObjectPropertyTreeElement.prototype.update):
8031        * inspector/front-end/PropertiesSidebarPane.js:
8032        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
8033        * inspector/front-end/SourceFrame.js:
8034        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
8035        (WebInspector.SourceFrame.prototype._showPopup):
8036
80372011-04-29  Sheriff Bot  <webkit.review.bot@gmail.com>
8038
8039        Unreviewed, rolling out r85315.
8040        http://trac.webkit.org/changeset/85315
8041        https://bugs.webkit.org/show_bug.cgi?id=59792
8042
8043        Broke script-formatter.html test (Requested by podivilov on
8044        #webkit).
8045
8046        * inspector/front-end/DebuggerPresentationModel.js:
8047        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
8048        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
8049        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
8050        (WebInspector.PresentationBreakpoint.prototype.serialize):
8051        * inspector/front-end/ScriptsPanel.js:
8052        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
8053        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
8054        (WebInspector.ScriptsPanel.prototype.reset):
8055
80562011-04-29  Vsevolod Vlasov  <vsevik@chromium.org>
8057
8058        Reviewed by Pavel Feldman.
8059
8060        Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
8061        https://bugs.webkit.org/show_bug.cgi?id=58794
8062
8063        Added ping requests to network panel.
8064
8065        Test: http/tests/inspector/network/ping.html
8066
8067        * English.lproj/localizedStrings.js:
8068        * inspector/InspectorInstrumentation.cpp:
8069        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
8070        * inspector/InspectorInstrumentation.h:
8071        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
8072        * inspector/front-end/NetworkPanel.js:
8073        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
8074        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
8075        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
8076        * inspector/front-end/Resource.js:
8077        (WebInspector.Resource.prototype.get formParameters):
8078        (WebInspector.Resource.prototype.requestContentType):
8079        (WebInspector.Resource.prototype.isPingRequest):
8080        * loader/PingLoader.cpp:
8081        (WebCore::PingLoader::PingLoader):
8082        * loader/PingLoader.h:
8083
80842011-04-28  Pavel Podivilov  <podivilov@chromium.org>
8085
8086        Reviewed by Pavel Feldman.
8087
8088        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
8089        https://bugs.webkit.org/show_bug.cgi?id=59476
8090
8091        * inspector/front-end/DebuggerPresentationModel.js:
8092        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
8093        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
8094        (WebInspector.PresentationBreakpoint.prototype.serialize):
8095        * inspector/front-end/ScriptsPanel.js:
8096        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
8097        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
8098        (WebInspector.ScriptsPanel.prototype.reset):
8099
81002011-04-29  Pavel Feldman  <pfeldman@google.com>
8101
8102        Reviewed by Yury Semikhatsky.
8103
8104        Web Inspector: add "open link in new tab" action into the network and resources panels.
8105        https://bugs.webkit.org/show_bug.cgi?id=59788
8106
8107        This change also distinguishes context menu items case between platforms.
8108
8109        * English.lproj/localizedStrings.js:
8110        * inspector/front-end/ConsoleView.js:
8111        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
8112        * inspector/front-end/DOMBreakpointsSidebarPane.js:
8113        (WebInspector.DOMBreakpointsSidebarPane):
8114        * inspector/front-end/ElementsPanel.js:
8115        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
8116        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
8117        * inspector/front-end/ElementsTreeOutline.js:
8118        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
8119        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
8120        * inspector/front-end/NetworkPanel.js:
8121        (WebInspector.NetworkPanel.prototype._contextMenu):
8122        * inspector/front-end/ResourcesPanel.js:
8123        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
8124        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
8125        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
8126        * inspector/front-end/Settings.js:
8127        * inspector/front-end/SourceFrame.js:
8128        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
8129        * inspector/front-end/TextViewer.js:
8130        (WebInspector.TextViewer.prototype._contextMenu):
8131        * inspector/front-end/inspector.js:
8132        (WebInspector.openLinkExternallyLabel):
8133        (WebInspector.openResource):
8134        (WebInspector.useLowerCaseMenuTitles):
8135
81362011-04-28  Simon Fraser  <simon.fraser@apple.com>
8137
8138        Reviewed by Dan Bernstein.
8139
8140        Mask placement on composited layer is incorrect sometimes
8141        https://bugs.webkit.org/show_bug.cgi?id=59775
8142
8143        The mask layer always has the same size as its owning GraphicsLayer,
8144        so it needs to share the same offsetFromRenderer as well. This fixes
8145        the offset at which the mask layer contents are painted in cases where
8146        that offset is non-zero, for example when outline style bloats all of
8147        the layer sizes.
8148
8149        Test: compositing/masks/layer-mask-placement.html
8150
8151        * rendering/RenderLayerBacking.cpp:
8152        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
8153
81542011-04-28  Dan Bernstein  <mitz@apple.com>
8155
8156        Rubber-stamped by Mark Rowe.
8157
8158        Reverted r81319.
8159
8160        Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu
8161
8162        * page/NavigatorBase.cpp:
8163
81642011-04-28  Simon Fraser  <simon.fraser@apple.com>
8165
8166        Reviewed by Dirk Schulze.
8167
8168        1px box-shadow looks ugly
8169        https://bugs.webkit.org/show_bug.cgi?id=58100
8170        and
8171        ShadowBlur incorrectly handles zero-sized blur radius in one axis
8172        https://bugs.webkit.org/show_bug.cgi?id=59710
8173
8174        blurLayerImage() has issues at the edges if the blur radius
8175        is one, so in that case bump the buffer size out by a pixel.
8176        This results in a correct, symmetrical blur.
8177
8178        Also fix an issue noticed during testing where a zero
8179        height or width radius would still blur on that axis,
8180        because we clamp the kernel size to a minimum of two.
8181
8182        Test: fast/box-shadow/single-pixel-shadow.html
8183
8184        * platform/graphics/ShadowBlur.h:
8185        * platform/graphics/ShadowBlur.cpp:
8186        (WebCore::ShadowBlur::blurLayerImage):
8187        Skip horizontal or vertial passes if the radius on that axis is zero.
8188        Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
8189        clause to the end of the loop, since it only needs to execute once
8190        after the first pass.
8191        (WebCore::ShadowBlur::blurredEdgeSize):
8192        New method to compute the width of the blurred edge (radius + extra
8193        pixel when necessary).
8194        (WebCore::ShadowBlur::calculateLayerBoundingRect):
8195        (WebCore::ShadowBlur::templateSize):
8196        (WebCore::ShadowBlur::drawRectShadow):
8197        (WebCore::ShadowBlur::drawInsetShadow):
8198        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
8199        (WebCore::ShadowBlur::drawRectShadowWithTiling):
8200        (WebCore::ShadowBlur::drawLayerPieces):
8201        Use the result of blurredEdgeSize() rather than recomputing.
8202
82032011-04-28  Yael Aharon  <yael.aharon@nokia.com>
8204
8205        Reviewed by Beth Dakin.
8206
8207        CSS sibling selector (~) does not work with :target pseudo class
8208        https://bugs.webkit.org/show_bug.cgi?id=26539
8209
8210        Allow style recalculation of forward siblings of elements with
8211        forward positional rules.
8212
8213        Tests: fast/css/pseudo-target-indirect-sibling-001.html
8214               fast/css/pseudo-target-indirect-sibling-002.html
8215
8216        * dom/Element.cpp:
8217        (WebCore::Element::recalcStyle):
8218
82192011-04-28  Nat Duca  <nduca@chromium.org>
8220
8221        Reviewed by Kenneth Russell.
8222
8223        [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
8224        https://bugs.webkit.org/show_bug.cgi?id=59626
8225
8226        * platform/graphics/chromium/Extensions3DChromium.h:
8227        (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):
8228
82292011-04-28  Steve Lacey  <sjl@chromium.org>
8230
8231        Reviewed by Eric Carlson.
8232
8233        Change chromium media controls to use absolute positioning until bug 59644 is fixed.
8234        https://bugs.webkit.org/show_bug.cgi?id=59732
8235
8236        * css/mediaControlsChromium.css:
8237        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
8238        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
8239
82402011-04-28  Luke Macpherson   <macpherson@chromium.org>
8241
8242        Reviewed by Eric Seidel.
8243
8244        Implement CSS border width and related properties in CSSStyleApplyProperty.
8245        https://bugs.webkit.org/show_bug.cgi?id=59414
8246
8247        No new tests as no functionality added.
8248
8249        * css/CSSStyleApplyProperty.cpp:
8250        Separated ApplyPropertyDefault into parent and child so that other classes could inherit
8251        the applyInheritValue and applyInitialValue methods only.
8252        This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
8253
8254        Added ApplyPropertyWidth class for handling width based CSS properties.
8255        * css/CSSStyleSelector.cpp:
8256        Removed no-longer-required code for handling width based CSS properties.
8257        * css/CSSStyleSelector.h:
8258        Added a getter for m_rootElementStyle.
8259
82602011-04-28  Kent Tamura  <tkent@chromium.org>
8261
8262        Run sort-Xcode-project-file.
8263
8264        * WebCore.xcodeproj/project.pbxproj:
8265
82662011-04-28  Martin Robinson  <mrobinson@igalia.com>
8267
8268        Reviewed by Dirk Schulze.
8269
8270        [Cairo] Text underline is not shadowed when text-shadow is enabled
8271        https://bugs.webkit.org/show_bug.cgi?id=48074
8272
8273        Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
8274        of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
8275        originally copied from the CG GraphicsContext.
8276
8277        * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
8278          can call it from a static helper function.
8279        * platform/graphics/cairo/GraphicsContextCairo.cpp:
8280        (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
8281        (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
8282        call it multiple times when shadowing text underlines.
8283        (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
8284        (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
8285        (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.
8286
82872011-04-28  Sam Weinig  <sam@webkit.org>
8288
8289        Rubber-stamped by Mark Rowe.
8290
8291        Cleanup WebCore.xcodeproj a bit.
8292
8293        * WebCore.xcodeproj/project.pbxproj:
8294        Added CompilerVersion.xcconfig and moved some JS bindings files into the
8295        correct sub groups.
8296
82972011-04-28  David Levin  <levin@chromium.org>
8298
8299        Reviewed by Adam Barth.
8300
8301        Remove IMAGE_RESIZER related code.
8302        https://bugs.webkit.org/show_bug.cgi?id=59735
8303
8304        * CMakeLists.txt:
8305        * Configurations/FeatureDefines.xcconfig:
8306        * GNUmakefile.am:
8307        * GNUmakefile.list.am:
8308        * WebCore.gypi:
8309        * WebCore.pro:
8310        * WebCore.vcproj/WebCore.vcproj:
8311        * WebCore.xcodeproj/project.pbxproj:
8312        * features.pri:
8313        * html/AsyncImageResizer.cpp: Removed.
8314        * html/AsyncImageResizer.h: Removed.
8315        * html/ImageResizerThread.cpp: Removed.
8316        * html/ImageResizerThread.h: Removed.
8317
83182011-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
8319
8320        Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.
8321
8322        * inspector/front-end/Settings.js:
8323        (WebInspector.Settings):
8324
83252011-04-28  Beth Dakin  <bdakin@apple.com>
8326
8327        Rubber-stamped by Sam Weinig.
8328
8329        Rolling out revision 85258! I want to fix that bug a different way.
8330        * platform/mac/ScrollbarThemeMac.mm:
8331        (WebCore::ScrollbarThemeMac::paint):
8332
83332011-04-28  Chang Shu  <cshu@webkit.org>
8334
8335        Reviewed by Eric Seidel.
8336
8337        isContentEditable is not working properly with document.designMode
8338        https://bugs.webkit.org/show_bug.cgi?id=53031
8339
8340        The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
8341        indicates that the element.isContentEditable relies on document.designMode if its
8342        and its ancestors' contenteditable attributes are set to inherit.
8343
8344        1. Sync document render style after document.designMode is changed.
8345        2. Removed the code that does unnecessary and incorrect handling for contenteditable
8346        attribute with "inherit" value.
8347        3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.
8348
8349        Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
8350               fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
8351               fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
8352               fast/dom/HTMLElement/iscontenteditable-designmodeon.html
8353
8354        * css/CSSStyleSelector.cpp:
8355        (WebCore::CSSStyleSelector::styleForDocument):
8356        * dom/Document.cpp:
8357        (WebCore::Document::setDesignMode):
8358        * dom/Node.cpp:
8359        (WebCore::Node::rendererIsEditable):
8360        * editing/ApplyStyleCommand.cpp:
8361        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
8362        * html/HTMLElement.cpp:
8363        (WebCore::HTMLElement::setContentEditable):
8364
83652011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
8366
8367        Unreviewed, rolling out r85101.
8368        http://trac.webkit.org/changeset/85101
8369        https://bugs.webkit.org/show_bug.cgi?id=59757
8370
8371         it'd be better to rollout the patch and do another one with
8372        another property name. Current one will bring us to a problem
8373        at first run after upgrade because it's type was changed from
8374        int to string. (Requested by loislo on #webkit).
8375
8376        * inspector/front-end/ScriptsPanel.js:
8377        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
8378        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
8379        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
8380
83812011-04-28  Mike Reed  <reed@google.com>
8382
8383        Reviewed by Eric Seidel.
8384
8385        fix shadw behavior for both CSS and Canvas -- skia only
8386        https://bugs.webkit.org/show_bug.cgi?id=59700
8387
8388        Test:
8389        canvas/philip/tests/2d.shadow.alpha.3.html
8390        canvas/philip/tests/2d.shadow.alpha.4.html
8391        canvas/philip/tests/2d.shadow.alpha.5.html
8392        fast/canvas/canvas-fillPath-alpha-shadow.html
8393        fast/canvas/canvas-strokePath-alpha-shadow.html
8394        fast/canvas/canvas-strokeRect-alpha-shadow.html
8395        fast/css/text-input-with-webkit-border-radius.html
8396        fast/repaint/shadow-multiple-horizontal.html
8397        fast/repaint/shadow-multiple-strict-horizontal.html
8398        fast/repaint/shadow-multiple-strict-vertical.html
8399        fast/repaint/shadow-multiple-vertical.html
8400        fast/canvas/canvas-getImageData.html
8401
8402        * platform/graphics/chromium/FontChromiumWin.cpp:
8403        (WebCore::Font::drawGlyphs):
8404        * platform/graphics/skia/GraphicsContextSkia.cpp:
8405        (WebCore::GraphicsContext::setPlatformShadow):
8406
84072011-04-28  David Kilzer  <ddkilzer@apple.com>
8408
8409        <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper
8410
8411        Reviewed by Chris Fleizach.
8412
8413        Previously, AXObjectCache::attachWrapper over-retained each
8414        AccessibilityObjectWrapper it created, which is why
8415        AXObjectCache::detachWrapper() contained an extra -release.
8416
8417        * accessibility/mac/AXObjectCacheMac.mm:
8418        (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
8419        (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
8420        assigns to a RetainPtr<> instance variable, it doesn't need a +1
8421        retained object passed in.  Fix the leak by using a RetainPtr<>
8422        for the AccessibilityObjectWrapper.
8423
84242011-04-28  Nat Duca  <nduca@chromium.org>
8425
8426        Reviewed by Darin Fisher.
8427
8428        [chromium] Compute compositor fps value and history using the frameBegin timestamp
8429        https://bugs.webkit.org/show_bug.cgi?id=59668
8430
8431        This change switches the compositor FPS meter to use the timestamp
8432        of the beginning of the frame rather than the time we call
8433        swapBuffers. When scheduling is correctly tied to vsync, we can
8434        have highly variable times when we finish vsync and still have
8435        stable frame rates.
8436
8437        * platform/graphics/chromium/LayerRendererChromium.cpp:
8438        (WebCore::LayerRendererChromium::updateAndDrawLayers):
8439        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
8440        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
8441        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
8442        (WebCore::CCHeadsUpDisplay::onFrameBegin):
8443        (WebCore::CCHeadsUpDisplay::onPresent):
8444        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
8445
84462011-04-28  Beth Dakin  <bdakin@apple.com>
8447
8448        Reviewed by Darin Adler.
8449
8450        https://bugs.webkit.org/show_bug.cgi?id=59759
8451        Overflow:scroll regions with overlay scrollbars show full thumb instead of just a
8452        track when there is nothing to scroll to
8453        <rdar://problem/9282066>
8454
8455        Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is
8456        nothing to scroll to. Just dividing them to get a knob proportion yields 1, which
8457        is not right. Set the proportion to 0 in this case instead.
8458        * platform/mac/ScrollbarThemeMac.mm:
8459        (WebCore::ScrollbarThemeMac::paint):
8460
84612011-04-28  Dan Bernstein  <mitz@apple.com>
8462
8463        Reviewed by Simon Fraser.
8464
8465        <rdar://problem/9291132> Add support for -epub-prefixed properties
8466
8467        Test: fast/css/epub-properties.html
8468
8469        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8470        (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
8471        * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
8472        -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
8473        text-transform, text-transform, word-break, and -webkit-writing-mode.
8474
84752011-04-28  Adam Barth  <abarth@webkit.org>
8476
8477        Reviewed by Eric Seidel.
8478
8479        Remove WML
8480        https://bugs.webkit.org/show_bug.cgi?id=59678
8481
8482        This patch removes WML from WebCore.  After removing WML, there's a
8483        bunch of twisted code that could be untwisted, but this patch contains
8484        only the purely mechanical part of removing the feature.
8485
8486        There's been a lot of discussion on webkit-dev about whether we should
8487        remove WML.  In addition to those threads, we've had an informal poll
8488        of the reviewers as well as an in-person discussion at the WebKit
8489        contributor's meeting.  Removing any feature is likely to make some
8490        folks unhappy, but, on balance, removing WML appears to be the right
8491        thing for the project to do at this time.
8492
8493        * CMakeLists.txt:
8494        * CodeGenerators.pri:
8495        * Configurations/FeatureDefines.xcconfig:
8496        * DerivedSources.cpp:
8497        * DerivedSources.make:
8498        * GNUmakefile.am:
8499        * GNUmakefile.list.am:
8500        * WebCore.gyp/WebCore.gyp:
8501        * WebCore.gypi:
8502        * WebCore.pro:
8503        * WebCore.vcproj/WebCore.vcproj:
8504        * WebCore.xcodeproj/project.pbxproj:
8505        * css/CSSStyleSelector.cpp:
8506        (WebCore::linkAttribute):
8507        (WebCore::CSSStyleSelector::styleForElement):
8508        (WebCore::CSSStyleSelector::adjustRenderStyle):
8509        * css/wml.css: Removed.
8510        * dom/DOMImplementation.cpp:
8511        (WebCore::DOMImplementation::createDocument):
8512        * dom/Document.cpp:
8513        (WebCore::Document::Document):
8514        (WebCore::Document::createElement):
8515        * dom/Document.h:
8516        (WebCore::Document::isMediaDocument):
8517        * dom/Document.idl:
8518        * dom/InputElement.h:
8519        * dom/Node.cpp:
8520        (WebCore::Node::toInputElement):
8521        * dom/Node.h:
8522        * dom/OptionElement.cpp:
8523        (WebCore::toOptionElement):
8524        (WebCore::isOptionElement):
8525        * dom/OptionElement.h:
8526        * dom/OptionGroupElement.cpp:
8527        (WebCore::toOptionGroupElement):
8528        (WebCore::isOptionGroupElement):
8529        * dom/SelectElement.cpp:
8530        (WebCore::toSelectElement):
8531        * dom/SelectElement.h:
8532        * dom/Text.cpp:
8533        (WebCore::Text::attach):
8534        * dom/XMLDocumentParser.cpp:
8535        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
8536        * dom/XMLDocumentParser.h:
8537        * dom/XMLDocumentParserLibxml2.cpp:
8538        (WebCore::XMLDocumentParser::internalSubset):
8539        (WebCore::getEntityHandler):
8540        * dom/XMLDocumentParserQt.cpp:
8541        (WebCore::XMLDocumentParser::parse):
8542        (WebCore::XMLDocumentParser::parseDtd):
8543        * editing/htmlediting.cpp:
8544        (WebCore::canHaveChildrenForEditing):
8545        * features.pri:
8546        * history/BackForwardList.h:
8547        * history/BackForwardListImpl.cpp:
8548        * history/BackForwardListImpl.h:
8549        * history/PageCache.cpp:
8550        (WebCore::PageCache::canCachePageContainingThisFrame):
8551        * html/HTMLAnchorElement.h:
8552        * inspector/ConsoleMessage.cpp:
8553        (WebCore::messageSourceValue):
8554        * inspector/front-end/ConsoleView.js:
8555        (WebInspector.ConsoleMessage.prototype.toString):
8556        * loader/FrameLoader.cpp:
8557        (WebCore::isBackForwardLoadType):
8558        (WebCore::FrameLoader::transitionToCommitted):
8559        (WebCore::FrameLoader::shouldReload):
8560        (WebCore::FrameLoader::loadDifferentDocumentItem):
8561        (WebCore::FrameLoader::loadItem):
8562        * loader/FrameLoaderTypes.h:
8563        * loader/HistoryController.cpp:
8564        (WebCore::HistoryController::restoreDocumentState):
8565        * manual-tests/wml: Removed.
8566        * manual-tests/wml/StartTests.wml: Removed.
8567        * manual-tests/wml/a-br-element.wml: Removed.
8568        * manual-tests/wml/a-element.wml: Removed.
8569        * manual-tests/wml/a-img-element.wml: Removed.
8570        * manual-tests/wml/access-target.wml: Removed.
8571        * manual-tests/wml/anchor-br-element.wml: Removed.
8572        * manual-tests/wml/anchor-element.wml: Removed.
8573        * manual-tests/wml/anchor-img-element.wml: Removed.
8574        * manual-tests/wml/card-newcontext-attr.wml: Removed.
8575        * manual-tests/wml/card-onenterbackward.wml: Removed.
8576        * manual-tests/wml/card-onenterforward.wml: Removed.
8577        * manual-tests/wml/card-ontimer.wml: Removed.
8578        * manual-tests/wml/deck-access-control.wml: Removed.
8579        * manual-tests/wml/input-format.wml: Removed.
8580        * manual-tests/wml/onevent-go.wml: Removed.
8581        * manual-tests/wml/onevent-noop.wml: Removed.
8582        * manual-tests/wml/onevent-prev.wml: Removed.
8583        * manual-tests/wml/onevent-refresh.wml: Removed.
8584        * manual-tests/wml/onevent-shadow.wml: Removed.
8585        * manual-tests/wml/resources: Removed.
8586        * manual-tests/wml/resources/smiley.png: Removed.
8587        * manual-tests/wml/select-element.wml: Removed.
8588        * manual-tests/wml/select-onpick-event-crash.wml: Removed.
8589        * manual-tests/wml/select-onpick-event.wml: Removed.
8590        * manual-tests/wml/setvar-element.wml: Removed.
8591        * manual-tests/wml/targetdeck.wml: Removed.
8592        * manual-tests/wml/task-go-in-anchor.wml: Removed.
8593        * manual-tests/wml/task-prev-in-anchor.wml: Removed.
8594        * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
8595        * manual-tests/wml/template-go.wml: Removed.
8596        * manual-tests/wml/template-ontimer.wml: Removed.
8597        * manual-tests/wml/timer.wml: Removed.
8598        * manual-tests/wml/variable-substitution.wml: Removed.
8599        * page/Console.cpp:
8600        (WebCore::printMessageSourceAndLevelPrefix):
8601        * page/Console.h:
8602        * page/Frame.cpp:
8603        (WebCore::Frame::Frame):
8604        * page/Page.cpp:
8605        * page/Page.h:
8606        * platform/MIMETypeRegistry.cpp:
8607        (WebCore::initializeSupportedNonImageMimeTypes):
8608        * platform/network/FormDataBuilder.h:
8609        * platform/network/mac/ResourceHandleMac.mm:
8610        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
8611        * platform/wince/MIMETypeRegistryWinCE.cpp:
8612        (WebCore::initMIMETypeEntensionMap):
8613        * rendering/HitTestResult.cpp:
8614        (WebCore::HitTestResult::altDisplayString):
8615        (WebCore::HitTestResult::absoluteImageURL):
8616        (WebCore::HitTestResult::absoluteLinkURL):
8617        (WebCore::HitTestResult::isLiveLink):
8618        * rendering/RenderBox.cpp:
8619        * rendering/RenderButton.cpp:
8620        (WebCore::RenderButton::updateFromElement):
8621        * rendering/RenderFieldset.cpp:
8622        (WebCore::RenderFieldset::findLegend):
8623        * rendering/RenderImage.cpp:
8624        (WebCore::RenderImage::updateAltText):
8625        * rendering/RenderObject.cpp:
8626        (WebCore::RenderObject::isLegend):
8627        (WebCore::RenderObject::offsetParent):
8628        * wml: Removed.
8629        * wml/WMLAElement.cpp: Removed.
8630        * wml/WMLAElement.h: Removed.
8631        * wml/WMLAccessElement.cpp: Removed.
8632        * wml/WMLAccessElement.h: Removed.
8633        * wml/WMLAnchorElement.cpp: Removed.
8634        * wml/WMLAnchorElement.h: Removed.
8635        * wml/WMLAttributeNames.in: Removed.
8636        * wml/WMLBRElement.cpp: Removed.
8637        * wml/WMLBRElement.h: Removed.
8638        * wml/WMLCardElement.cpp: Removed.
8639        * wml/WMLCardElement.h: Removed.
8640        * wml/WMLDoElement.cpp: Removed.
8641        * wml/WMLDoElement.h: Removed.
8642        * wml/WMLDocument.cpp: Removed.
8643        * wml/WMLDocument.h: Removed.
8644        * wml/WMLElement.cpp: Removed.
8645        * wml/WMLElement.h: Removed.
8646        * wml/WMLErrorHandling.cpp: Removed.
8647        * wml/WMLErrorHandling.h: Removed.
8648        * wml/WMLEventHandlingElement.cpp: Removed.
8649        * wml/WMLEventHandlingElement.h: Removed.
8650        * wml/WMLFieldSetElement.cpp: Removed.
8651        * wml/WMLFieldSetElement.h: Removed.
8652        * wml/WMLFormControlElement.cpp: Removed.
8653        * wml/WMLFormControlElement.h: Removed.
8654        * wml/WMLGoElement.cpp: Removed.
8655        * wml/WMLGoElement.h: Removed.
8656        * wml/WMLImageElement.cpp: Removed.
8657        * wml/WMLImageElement.h: Removed.
8658        * wml/WMLImageLoader.cpp: Removed.
8659        * wml/WMLImageLoader.h: Removed.
8660        * wml/WMLInputElement.cpp: Removed.
8661        * wml/WMLInputElement.h: Removed.
8662        * wml/WMLInsertedLegendElement.cpp: Removed.
8663        * wml/WMLInsertedLegendElement.h: Removed.
8664        * wml/WMLIntrinsicEvent.cpp: Removed.
8665        * wml/WMLIntrinsicEvent.h: Removed.
8666        * wml/WMLIntrinsicEventHandler.cpp: Removed.
8667        * wml/WMLIntrinsicEventHandler.h: Removed.
8668        * wml/WMLMetaElement.cpp: Removed.
8669        * wml/WMLMetaElement.h: Removed.
8670        * wml/WMLNoopElement.cpp: Removed.
8671        * wml/WMLNoopElement.h: Removed.
8672        * wml/WMLOnEventElement.cpp: Removed.
8673        * wml/WMLOnEventElement.h: Removed.
8674        * wml/WMLOptGroupElement.cpp: Removed.
8675        * wml/WMLOptGroupElement.h: Removed.
8676        * wml/WMLOptionElement.cpp: Removed.
8677        * wml/WMLOptionElement.h: Removed.
8678        * wml/WMLPElement.cpp: Removed.
8679        * wml/WMLPElement.h: Removed.
8680        * wml/WMLPageState.cpp: Removed.
8681        * wml/WMLPageState.h: Removed.
8682        * wml/WMLPostfieldElement.cpp: Removed.
8683        * wml/WMLPostfieldElement.h: Removed.
8684        * wml/WMLPrevElement.cpp: Removed.
8685        * wml/WMLPrevElement.h: Removed.
8686        * wml/WMLRefreshElement.cpp: Removed.
8687        * wml/WMLRefreshElement.h: Removed.
8688        * wml/WMLSelectElement.cpp: Removed.
8689        * wml/WMLSelectElement.h: Removed.
8690        * wml/WMLSetvarElement.cpp: Removed.
8691        * wml/WMLSetvarElement.h: Removed.
8692        * wml/WMLTableElement.cpp: Removed.
8693        * wml/WMLTableElement.h: Removed.
8694        * wml/WMLTagNames.in: Removed.
8695        * wml/WMLTaskElement.cpp: Removed.
8696        * wml/WMLTaskElement.h: Removed.
8697        * wml/WMLTemplateElement.cpp: Removed.
8698        * wml/WMLTemplateElement.h: Removed.
8699        * wml/WMLTimerElement.cpp: Removed.
8700        * wml/WMLTimerElement.h: Removed.
8701        * wml/WMLVariables.cpp: Removed.
8702        * wml/WMLVariables.h: Removed.
8703
87042011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
8705
8706        Unreviewed, rolling out r85233 and r85235.
8707        http://trac.webkit.org/changeset/85233
8708        http://trac.webkit.org/changeset/85235
8709        https://bugs.webkit.org/show_bug.cgi?id=59754
8710
8711        Causes issues with jsc. (Requested by dave_levin on #webkit).
8712
8713        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
8714        * loader/icon/IconDatabase.cpp:
8715        (WebCore::IconDatabase::defaultIcon):
8716        (WebCore::IconDatabase::setIconDataForIconURL):
8717        (WebCore::IconDatabase::getOrCreateIconRecord):
8718        (WebCore::IconDatabase::readFromDatabase):
8719
87202011-04-28  Jay Civelli  <jcivelli@chromium.org>
8721
8722        Reviewed by Adam Barth.
8723
8724        Introducing a new class that allows serialization of a page back
8725        to HTML/XML with all its sub-frames and also retrieves the page's
8726        resources.
8727        Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
8728        https://bugs.webkit.org/show_bug.cgi?id=58947
8729
8730        * Android.mk:
8731        * CMakeLists.txt:
8732        * GNUmakefile.list.am:
8733        * WebCore.gypi:
8734        * WebCore.pro:
8735        * WebCore.vcproj/WebCore.vcproj:
8736        * dom/Document.cpp:
8737        (WebCore::Document::suggestedMIMEType):
8738        * dom/Document.h:
8739        * editing/MarkupAccumulator.cpp:
8740        (WebCore::MarkupAccumulator::appendCustomAttributes):
8741        (WebCore::MarkupAccumulator::appendElement):
8742        * editing/MarkupAccumulator.h:
8743        * html/parser/HTMLMetaCharsetParser.cpp:
8744        (WebCore::HTMLMetaCharsetParser::processMeta):
8745        (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
8746        * html/parser/HTMLMetaCharsetParser.h:
8747        * page/PageSerializer.cpp: Added.
8748        * page/PageSerializer.h: Added.
8749
87502011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
8751
8752        Reviewed by Tony Chang.
8753
8754        IndexedDB createIndex should fail if name arg is null
8755        https://bugs.webkit.org/show_bug.cgi?id=58365
8756
8757        Test: storage/indexeddb/mozilla/create-index-null-name.html
8758
8759        * storage/IDBObjectStore.idl:
8760        * storage/IDBObjectStoreBackendImpl.cpp:
8761        (WebCore::IDBObjectStoreBackendImpl::createIndex):
8762
87632011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
8764
8765        Reviewed by Tony Chang.
8766
8767        IndexedDB put() should fail if second (key) parameter is null
8768        https://bugs.webkit.org/show_bug.cgi?id=58613
8769
8770        If key arg is not specified, prpKey ends up as a null pointer in ::put().
8771        However, if the key arg is specified but is null, prpKey ends up as a
8772        valid IDBKey which has a null key type. As it happens, we need to be able
8773        to detect the difference between these cases (the key arg is optional but
8774        if specified must not be null).
8775
8776        Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html
8777
8778        * storage/IDBObjectStoreBackendImpl.cpp:
8779        (WebCore::IDBObjectStoreBackendImpl::put):
8780
87812011-04-07  David Levin  <levin@chromium.org>
8782
8783        Reviewed by Darin Adler.
8784
8785        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
8786        https://bugs.webkit.org/show_bug.cgi?id=31639
8787
8788        No new functionality exposed so no new tests. (The change is basically adding
8789        more testing.)
8790
8791        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
8792        * loader/icon/IconDatabase.cpp:
8793        (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
8794        (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
8795        (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
8796        (WebCore::IconDatabase::readFromDatabase): Ditto.
8797
87982011-04-28  Kenneth Russell  <kbr@google.com>
8799
8800        Unreviewed build fix for Web Audio with strict OwnPtr.
8801
8802        * platform/audio/HRTFDatabaseLoader.cpp:
8803        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
8804
88052011-04-28  Dominic Cooney  <dominicc@chromium.org>
8806
8807        Reviewed by Geoffrey Garen.
8808
8809        Walk shadow hosts as well as parent nodes when finding opaque roots.
8810        https://bugs.webkit.org/show_bug.cgi?id=59571
8811
8812        Test: fast/dom/shadow/gc-shadow.html
8813
8814        * bindings/js/JSDOMBinding.h:
8815        (WebCore::root):
8816
88172011-04-28  Martin Robinson  <mrobinson@igalia.com>
8818
8819        Reviewed by Xan Lopez.
8820
8821        [GTK] Click counting logic should be shared between WebKit1 and WebKit2
8822        https://bugs.webkit.org/show_bug.cgi?id=59715
8823
8824        Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
8825        into WebCore so that WebKit1 and WebKit2 can share the code.
8826
8827        No new tests. This is covered by fast/events/click-count.html.
8828
8829        * GNUmakefile.list.am: Added new files.
8830        * platform/gtk/GtkClickCounter.cpp: Added.
8831        (WebCore::GtkClickCounter::GtkClickCounter): Added.
8832        (WebCore::GtkClickCounter::reset): Added.
8833        (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
8834        (WebCore::getEventTime): Added.
8835        (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
8836        * platform/gtk/GtkClickCounter.h: Added.
8837
88382011-04-28  Dan Bernstein  <mitz@apple.com>
8839
8840        Build fix.
8841
8842        * css/CSSParser.cpp:
8843        (WebCore::cssPropertyID):
8844
88452011-04-28  Dan Bernstein  <mitz@apple.com>
8846
8847        Reviewed by Simon Fraser.
8848
8849        Allow specifying CSS property aliases in CSSPropertyNames.in files
8850        https://bugs.webkit.org/show_bug.cgi?id=59712
8851
8852        * css/CSSParser.cpp:
8853        (WebCore::cssPropertyID): Removed code to handle some aliases
8854        * css/CSSPropertyNames.in: Added aliases no longer handled in code.
8855        * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
8856        defining an alias, and add an appropriate entry to the gperf file.
8857
88582011-04-28  Arno Renevier  <arno@renevier.net>
8859
8860        Reviewed by Gustavo Noronha Silva.
8861
8862        [Soup] does not load css stylesheets without content-type
8863        https://bugs.webkit.org/show_bug.cgi?id=59697
8864
8865        When sniffing content type, do not replace http Content-Type header in
8866        soup message anymore, but keep sniffed content type in a separate
8867        variable.
8868
8869        * platform/network/soup/ResourceHandleSoup.cpp:
8870        (WebCore::contentSniffedCallback):
8871        * platform/network/soup/ResourceResponse.h:
8872        (WebCore::ResourceResponse::sniffedContentType):
8873        (WebCore::ResourceResponse::setSniffedContentType):
8874        * platform/network/soup/ResourceResponseSoup.cpp:
8875        (WebCore::ResourceResponse::updateFromSoupMessage):
8876
88772011-04-28  Yael Aharon  <yael.aharon@nokia.com>
8878
8879        Reviewed by Andreas Kling.
8880
8881        Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
8882        https://bugs.webkit.org/show_bug.cgi?id=59704
8883
8884        No new tests, just code cleanup.
8885
8886        * WebCore.pri:
8887
88882011-04-28  Pavel Podivilov  <podivilov@chromium.org>
8889
8890        Reviewed by Pavel Feldman.
8891
8892        Web Inspector: remove "Pretty print" source frame context menu item.
8893        https://bugs.webkit.org/show_bug.cgi?id=59709
8894
8895        * inspector/front-end/DebuggerPresentationModel.js:
8896        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
8897        * inspector/front-end/ScriptsPanel.js:
8898        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
8899        * inspector/front-end/SourceFrame.js:
8900        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
8901
89022011-04-28  Satish Sampath  <satish@chromium.org>
8903
8904        Reviewed by Tony Gentilcore.
8905
8906        Speech input button layout issues with padding and border.
8907        https://bugs.webkit.org/show_bug.cgi?id=59613
8908
8909        * rendering/RenderTextControlSingleLine.cpp:
8910        (WebCore::RenderTextControlSingleLine::layout):
8911        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
8912        (WebCore::RenderTextControlSingleLine::forwardEvent):
8913
89142011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
8915
8916        Reviewed by Martin Robinson.
8917
8918        [GTK] Check whether to use native scrollbars at run time
8919        https://bugs.webkit.org/show_bug.cgi?id=59694
8920
8921        It's currently decided at build time depending on whether webkit2
8922        build is enabled or not. That makes imposible to build both
8923        webkit1 and webkit2 using the same libWebCore.
8924
8925        * GNUmakefile.am:
8926        * platform/ScrollView.cpp:
8927        (WebCore::ScrollView::wheelEvent):
8928        * platform/gtk/ScrollViewGtk.cpp:
8929        (WebCore::ScrollView::createScrollbar):
8930
89312011-04-28  Pavel Feldman  <pfeldman@google.com>
8932
8933        Reviewed by Yury Semikhatsky.
8934
8935        Web Inspector: add status bar button for pretty print.
8936        https://bugs.webkit.org/show_bug.cgi?id=59467
8937
8938        * WebCore.gypi:
8939        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
8940        * inspector/front-end/ScriptsPanel.js:
8941        (WebInspector.ScriptsPanel):
8942        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
8943        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
8944        * inspector/front-end/WebKit.qrc:
8945        * inspector/front-end/inspector.css:
8946        (.scripts-toggle-pretty-print-status-bar-item .glyph):
8947        (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):
8948
89492011-04-28  Pavel Feldman  <pfeldman@google.com>
8950
8951        Reviewed by Yury Semikhatsky.
8952
8953        Web Inspector: add ResourceTreeModel tests.
8954        https://bugs.webkit.org/show_bug.cgi?id=59616
8955
8956        Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
8957               http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
8958               http/tests/inspector/resource-tree/resource-tree-reload.html
8959
8960        * inspector/front-end/ResourceTreeModel.js:
8961        (WebInspector.ResourceTreeModel.prototype.frontendReused):
8962        (WebInspector.ResourceTreeModel.prototype._addFrame):
8963        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
8964        (WebInspector.ResourceTreeModel.prototype._frameDetached):
8965        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
8966        (WebInspector.ResourceTreeModel.prototype.forAllResources):
8967        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
8968        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
8969        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
8970        * inspector/front-end/ResourcesPanel.js:
8971        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
8972        (WebInspector.ResourcesPanel.prototype._frameAdded):
8973        (WebInspector.ResourcesPanel.prototype._frameDetached):
8974        (WebInspector.ResourcesPanel.prototype._frameNavigated):
8975        (WebInspector.FrameTreeElement):
8976        (WebInspector.FrameTreeElement.prototype.frameNavigated):
8977
89782011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
8979
8980        Reviewed by Yury Semikhatsky.
8981
8982        WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
8983        https://bugs.webkit.org/show_bug.cgi?id=59592
8984
8985        * inspector/front-end/DetailedHeapshotGridNodes.js:
8986        (WebInspector.HeapSnapshotGridNode.prototype._populate):
8987        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
8988        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
8989        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
8990        * inspector/front-end/DetailedHeapshotView.js:
8991        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
8992        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
8993        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
8994        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
8995        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
8996        (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
8997        (WebInspector.DetailedHeapshotView.prototype.changeView):
8998        * inspector/front-end/HeapSnapshot.js:
8999        (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
9000        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
9001        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
9002        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
9003        (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
9004        * inspector/front-end/heapProfiler.css:
9005        (div.retaining-paths-view td.path-column div:hover):
9006
90072011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
9008
9009        Reviewed by Yury Semikhatsky.
9010
9011        Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
9012        https://bugs.webkit.org/show_bug.cgi?id=59454
9013
9014        Test: inspector/profiler/heap-snapshot-loader.html
9015
9016        * inspector/front-end/HeapSnapshot.js:
9017        (WebInspector.HeapSnapshotLoader):
9018        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
9019        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
9020        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
9021        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
9022        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
9023        * inspector/front-end/HeapSnapshotProxy.js:
9024        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
9025
90262011-04-28  ojab  <ojab@ojab.ru>
9027
9028        Reviewed by David Levin.
9029
9030        Fix build with libpng-1.5.1
9031        https://bugs.webkit.org/show_bug.cgi?id=59607
9032
9033        * platform/image-decoders/png/PNGImageDecoder.cpp:
9034        (WebCore::readColorProfile):
9035
90362011-04-28  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
9037
9038        Reviewed by Nikolas Zimmermann.
9039
9040        Optimizing gaussian blur filter to ARM-neon SIMD instruction set
9041        https://bugs.webkit.org/show_bug.cgi?id=59447
9042
9043        This patch contains two sub-routines, one for speeding up
9044        alpha channel only gaussian blur (by 2.5 times) and one
9045        for speeding up all channel blur (by 4 times).
9046
9047        The common code is also redesigned to better fit for platform
9048        specific code. This means large chunks of code was moved to
9049        different files, and all platform specific files are added to
9050        all build systems.
9051
9052        * CMakeLists.txt:
9053        * GNUmakefile.am:
9054        * GNUmakefile.list.am:
9055        * WebCore.gypi:
9056        * WebCore.pro:
9057        * WebCore.vcproj/WebCore.vcproj:
9058        * WebCore.vcproj/WebCoreCommon.vsprops:
9059        * WebCore.xcodeproj/project.pbxproj:
9060        * platform/graphics/filters/FEGaussianBlur.cpp:
9061        (WebCore::FEGaussianBlur::platformApplyGeneric):
9062        (WebCore::FEGaussianBlur::apply):
9063        * platform/graphics/filters/FEGaussianBlur.h:
9064        (WebCore::FEGaussianBlur::kernelPosition):
9065        (WebCore::FEGaussianBlur::platformApply):
9066        * platform/graphics/filters/FELighting.cpp:
9067        (WebCore::FELighting::platformApplyGeneric):
9068        (WebCore::FELighting::drawLighting):
9069        * platform/graphics/filters/FELighting.h:
9070        (WebCore::FELighting::platformApply):
9071        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
9072        (WebCore::WTF_ALIGNED):
9073        (WebCore::feGaussianBlurConstantsForNeon):
9074        * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
9075        (WebCore::FEGaussianBlur::platformApplyNeon):
9076        * platform/graphics/filters/arm/FELightingNEON.cpp:
9077        (WebCore::WTF_ALIGNED):
9078        (WebCore::FELighting::getPowerCoefficients):
9079        * platform/graphics/filters/arm/FELightingNEON.h:
9080        (WebCore::FELighting::platformApplyNeon):
9081
90822011-04-28  Alexander Pavlov  <apavlov@chromium.org>
9083
9084        Reviewed by Yury Semikhatsky.
9085
9086        Web Inspector: provide a hotkey for script pause
9087        https://bugs.webkit.org/show_bug.cgi?id=59593
9088
9089        In fact, F8 works as a hotkey, but this fact was not reflected
9090        in the shortcut help popup.
9091
9092        * English.lproj/localizedStrings.js:
9093        * inspector/front-end/ScriptsPanel.js:
9094        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
9095
90962011-04-28  Adam Barth  <abarth@webkit.org>
9097
9098        Reviewed by Eric Seidel.
9099
9100        PluginStream should play nice with strict OwnPtr
9101        https://bugs.webkit.org/show_bug.cgi?id=59675
9102
9103        These failures appear when enabling strict OwnPtr on Qt.
9104
9105        * plugins/PluginStream.cpp:
9106        (WebCore::PluginStream::PluginStream):
9107        (WebCore::PluginStream::didReceiveData):
9108
91092011-04-26  Alexander Pavlov  <apavlov@chromium.org>
9110
9111        Reviewed by Pavel Feldman.
9112
9113        Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
9114        https://bugs.webkit.org/show_bug.cgi?id=59326
9115
9116        Concrete CachedResource successors for stylesheets and scripts
9117        can decode their content better than the generic approach we use.
9118
9119        * inspector/InspectorPageAgent.cpp:
9120        (WebCore::decodeSharedBuffer):
9121        (WebCore::prepareCachedResourceBuffer):
9122        (WebCore::cachedResourceDecoded):
9123        (WebCore::InspectorPageAgent::resourceContent):
9124        (WebCore::InspectorPageAgent::resourceData):
9125        * inspector/InspectorStyleSheet.cpp:
9126        (WebCore::InspectorStyleSheet::originalStyleSheetText):
9127
91282011-04-28  Jon Lee  <jonlee@apple.com>
9129
9130        Reviewed by Simon Fraser.
9131
9132        REGRESSION: white overlay scrollbars on apple.com/startpage
9133        https://bugs.webkit.org/show_bug.cgi?id=59540
9134        <rdar://problem/9338653>
9135
9136        Now we look at the document background in addition to the <body> element,
9137        and blend those colors in with the base background of the frame view to
9138        arrive at our aggregate color. This provides a better result to determine
9139        overlay scrollbar style.
9140
9141        * page/Frame.cpp:
9142        (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
9143        * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation
9144
91452011-04-27  Adam Barth  <abarth@webkit.org>
9146
9147        Reviewed by Maciej Stachowiak.
9148
9149        Fix OwnPtr issues in IndexedDB
9150        https://bugs.webkit.org/show_bug.cgi?id=59656
9151
9152        This patch is an attempt to fix the clang build.  Clang can't seem to
9153        cope with OwnPtrs to classes declared in an anonymous namespace because
9154        OwnPtr's copy constructor isn't defined (but would need to be defined
9155        in this translation unit).
9156
9157        * platform/leveldb/LevelDBDatabase.cpp:
9158
91592011-04-27  Ryuan Choi  <ryuan.choi@samsung.com>
9160
9161        Reviewed by Antonio Gomes.
9162
9163        [EFL] Change cursor to LAZY_NATIVE_CURSOR
9164        https://bugs.webkit.org/show_bug.cgi?id=59411
9165
9166        Enable LAZY_NATIVE_CURSOR on EFL build.
9167
9168        No test added because functionality is unchanged.
9169
9170        * CMakeListsEfl.txt: Add Cursor.cpp
9171        * platform/Cursor.h:
9172        (WebCore::Cursor::Cursor):
9173        * platform/efl/CursorEfl.cpp:
9174        (WebCore::Cursor::Cursor):
9175        (WebCore::Cursor::~Cursor):
9176        (WebCore::getCursorString):
9177        (WebCore::Cursor::ensurePlatformCursor):
9178        * platform/efl/WidgetEfl.cpp:
9179        (WebCore::Widget::setCursor):
9180
91812011-04-27  Adam Barth  <abarth@webkit.org>
9182
9183        Build fix from the future.  Another trival strict OwnPtr fixes.  This
9184        is the last futuristic build fix I can detect with my time traveling
9185        abilities.
9186
9187        * platform/graphics/chromium/TransparencyWin.cpp:
9188        (WebCore::TransparencyWin::initializeNewContext):
9189
91902011-04-27  Dmitry Lomov  <dslomov@google.com>
9191
9192        Reviewed by David Levin.
9193
9194        CrossThreadCopier should not have a default specialization for raw pointers
9195        https://bugs.webkit.org/show_bug.cgi?id=59234
9196        Removed the ablity to pass raw pointers cross-thread
9197        Added and applied annotations for doing that
9198
9199        * fileapi/FileReader.cpp:
9200        (WebCore::FileReader::readInternal):
9201        (WebCore::FileReader::abort):
9202        * fileapi/FileStreamProxy.cpp:
9203        (WebCore::FileStreamProxy::startOnFileThread):
9204        (WebCore::FileStreamProxy::stopOnFileThread):
9205        (WebCore::FileStreamProxy::getSize):
9206        (WebCore::FileStreamProxy::getSizeOnFileThread):
9207        (WebCore::FileStreamProxy::openForRead):
9208        (WebCore::FileStreamProxy::openForReadOnFileThread):
9209        (WebCore::FileStreamProxy::openForWrite):
9210        (WebCore::FileStreamProxy::openForWriteOnFileThread):
9211        (WebCore::FileStreamProxy::close):
9212        (WebCore::FileStreamProxy::read):
9213        (WebCore::FileStreamProxy::readOnFileThread):
9214        (WebCore::FileStreamProxy::write):
9215        (WebCore::FileStreamProxy::writeOnFileThread):
9216        (WebCore::FileStreamProxy::truncate):
9217        (WebCore::FileStreamProxy::truncateOnFileThread):
9218        * loader/WorkerThreadableLoader.cpp:
9219        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
9220        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
9221        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
9222        * page/GeolocationPositionCache.cpp:
9223        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
9224        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
9225        * platform/CrossThreadCopier.h:
9226        (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
9227        (WebCore::AllowCrossThreadAccessWrapper::value):
9228        (WebCore::AllowCrossThreadAccess):
9229        (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
9230        (WebCore::AllowExtendedLifetimeWrapper::value):
9231        (WebCore::AllowExtendedLifetime):
9232        * platform/graphics/chromium/cc/CCCompletionEvent.h:
9233        * storage/IDBObjectStoreBackendImpl.cpp:
9234        (WebCore::IDBObjectStoreBackendImpl::get):
9235        (WebCore::IDBObjectStoreBackendImpl::put):
9236        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
9237        (WebCore::IDBObjectStoreBackendImpl::clear):
9238        (WebCore::IDBObjectStoreBackendImpl::createIndex):
9239        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
9240        (WebCore::IDBObjectStoreBackendImpl::openCursor):
9241        * storage/SQLCallbackWrapper.h:
9242        (WebCore::SQLCallbackWrapper::clear):
9243        * websockets/WorkerThreadableWebSocketChannel.cpp:
9244        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
9245        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
9246        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
9247        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
9248        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
9249        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
9250        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
9251        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
9252        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
9253        * workers/WorkerMessagingProxy.cpp:
9254        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
9255
92562011-04-27  Adam Barth  <abarth@webkit.org>
9257
9258        Two build fixes from the future.  (Trivial strict OwnPtr fixes.)
9259
9260        * page/Frame.cpp:
9261        (WebCore::Frame::setTiledBackingStoreEnabled):
9262        * platform/audio/ReverbConvolver.cpp:
9263        (WebCore::ReverbConvolver::ReverbConvolver):
9264
92652011-04-27  Adam Barth  <abarth@webkit.org>
9266
9267        Reviewed by David Levin.
9268
9269        Fix five strict PassOwnPtr violations in WebCore
9270        https://bugs.webkit.org/show_bug.cgi?id=59640
9271
9272        * css/MediaList.cpp:
9273        (WebCore::MediaList::deleteMedium):
9274        (WebCore::MediaList::setMediaText):
9275        (WebCore::MediaList::appendMedium):
9276        * css/MediaQuery.h:
9277        * dom/MessagePort.cpp:
9278        (WebCore::MessagePort::disentanglePorts):
9279        (WebCore::MessagePort::entanglePorts):
9280        * inspector/InspectorStyleSheet.cpp:
9281        (ParsedStyleSheet::setText):
9282        * rendering/RenderTheme.cpp:
9283        (WebCore::RenderTheme::adjustStyle):
9284        (WebCore::RenderTheme::adjustMeterStyle):
9285        * rendering/RenderThemeMac.mm:
9286        (WebCore::RenderThemeMac::adjustMenuListStyle):
9287        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
9288        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
9289        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
9290        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
9291        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
9292        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
9293        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
9294
92952011-04-27  Chris Fleizach  <cfleizach@apple.com>
9296
9297        Reviewed by Beth Dakin.
9298
9299        <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
9300        https://bugs.webkit.org/show_bug.cgi?id=59648
9301
9302        Test: accessibility/aria-fallback-roles.html
9303
9304        * accessibility/AccessibilityObject.cpp:
9305        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
9306
93072011-04-27  Beth Dakin  <bdakin@apple.com>
9308
9309        Reviewed by Dan Bernstein.
9310
9311        https://bugs.webkit.org/show_bug.cgi?id=59671
9312        Race condition with scrollbar animations and closing a page can cause a crash in
9313        WebCore::FrameView::setVisibleScrollerThumbRect + 15
9314        -and corresponding-
9315        <rdar://problem/9329253>
9316
9317        It is definitely possible for Page to be null here. So we should null-check it!
9318        And we should not ASSERT.
9319        * page/FrameView.cpp:
9320        (WebCore::FrameView::didCompleteRubberBand):
9321        (WebCore::FrameView::scrollbarStyleChanged):
9322        (WebCore::FrameView::setVisibleScrollerThumbRect):
9323
93242011-04-27  Ryosuke Niwa  <rniwa@webkit.org>
9325
9326        WinCE build fix after r85143.
9327
9328        * platform/graphics/wince/FontWinCE.cpp:
9329        (WebCore::TextRunComponent::TextRunComponent):
9330
93312011-04-27  Mark Pilgrim  <pilgrim@chromium.org>
9332
9333        Reviewed by Tony Chang.
9334
9335        IndexedDB object store delete should fail if key is null
9336        https://bugs.webkit.org/show_bug.cgi?id=58614
9337
9338        Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html
9339
9340        * storage/IDBObjectStoreBackendImpl.cpp:
9341        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
9342
93432011-04-27  Eric Seidel  <eric@webkit.org>
9344
9345        Reviewed by Ryosuke Niwa.
9346
9347        Should have an easy way to construct starting BidiStatus for a paragraph root
9348        https://bugs.webkit.org/show_bug.cgi?id=59226
9349
9350        Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
9351        I've made this a constructor for BidiStatus instead.
9352
9353        As part of this effort I added a direction() accessor for TextRun and got
9354        rid of the old m_rtl bool.  This is part of the generic effort in the
9355        Bidi code to replace old bool usage with the superior TextDirection enum
9356        (this generally makes the code cleaner).
9357
9358        As part of this replacement effort I found several places which were
9359        assuming LTR (by passing rtl=false) when they probably want to use
9360        the current text direction.  I suspect that LTR vs. RTL may affect
9361        string width in the case of ligatures.  It's unclear.
9362
9363        This is almost entirely a mechanical change.
9364
9365        * html/canvas/CanvasRenderingContext2D.cpp:
9366        (WebCore::CanvasRenderingContext2D::drawTextInternal):
9367        * platform/graphics/GraphicsContext.cpp:
9368        (WebCore::GraphicsContext::drawBidiText):
9369        * platform/graphics/TextRun.h:
9370        (WebCore::TextRun::TextRun):
9371        (WebCore::TextRun::direction):
9372        (WebCore::TextRun::rtl):
9373        (WebCore::TextRun::ltr):
9374        (WebCore::TextRun::setDirection):
9375        * platform/text/BidiResolver.h:
9376        (WebCore::BidiStatus::BidiStatus):
9377        * rendering/EllipsisBox.cpp:
9378        (WebCore::EllipsisBox::paint):
9379        (WebCore::EllipsisBox::selectionRect):
9380        (WebCore::EllipsisBox::paintSelection):
9381        * rendering/InlineTextBox.cpp:
9382        (WebCore::InlineTextBox::selectionRect):
9383        (WebCore::InlineTextBox::paint):
9384        (WebCore::InlineTextBox::paintSelection):
9385        (WebCore::InlineTextBox::paintCompositionBackground):
9386        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
9387        (WebCore::InlineTextBox::paintTextMatchMarker):
9388        (WebCore::InlineTextBox::computeRectForReplacementMarker):
9389        (WebCore::InlineTextBox::offsetForPosition):
9390        (WebCore::InlineTextBox::positionForOffset):
9391        * rendering/RenderBlockLineLayout.cpp:
9392        (WebCore::RenderBlock::determineStartPosition):
9393        * rendering/RenderFileUploadControl.cpp:
9394        (WebCore::RenderFileUploadControl::paintObject):
9395        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
9396        * rendering/RenderListBox.cpp:
9397        (WebCore::RenderListBox::updateFromElement):
9398        (WebCore::RenderListBox::paintItemForeground):
9399        * rendering/RenderTextControl.cpp:
9400        (WebCore::RenderTextControl::getAvgCharWidth):
9401        (WebCore::RenderTextControl::paintPlaceholder):
9402        * rendering/svg/SVGInlineTextBox.cpp:
9403        (WebCore::SVGInlineTextBox::constructTextRun):
9404        * rendering/svg/SVGTextMetrics.cpp:
9405        (WebCore::constructTextRun):
9406
94072011-04-27  Robert Hogan  <robert@webkit.org>
9408
9409        Reviewed by Adam Barth.
9410
9411        Allow shadowing of history object
9412        https://bugs.webkit.org/show_bug.cgi?id=55965
9413
9414        Tests: http/tests/history/cross-origin-replace-history-object-child.html
9415               http/tests/history/cross-origin-replace-history-object.html
9416
9417        * page/DOMWindow.idl:
9418
94192011-04-27  James Robinson  <jamesr@chromium.org>
9420
9421        Reviewed by Kenneth Russell.
9422
9423        [chromium] Ensure compositing layers are up to date before entering doComposite
9424        https://bugs.webkit.org/show_bug.cgi?id=59159
9425
9426        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
9427        GraphicsLayerClient::paintContents() implementations).
9428
9429        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9430        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
9431        * platform/graphics/chromium/LayerChromium.cpp:
9432        (WebCore::LayerChromium::LayerChromium):
9433        (WebCore::LayerChromium::~LayerChromium):
9434        * platform/graphics/chromium/LayerRendererChromium.cpp:
9435        (WebCore::LayerRendererChromium::updateLayers):
9436        * platform/graphics/chromium/LayerRendererChromium.h:
9437          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
9438
94392011-04-27  James Robinson  <jamesr@chromium.org>
9440
9441        Reviewed by Adam Barth.
9442
9443        Fix OwnPtr strict issues in chromium linux build
9444        https://bugs.webkit.org/show_bug.cgi?id=59664
9445
9446        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
9447        (WebCore::ComplexTextController::getNormalizedTextRun):
9448        * platform/graphics/skia/ImageBufferSkia.cpp:
9449        (WebCore::ImageBuffer::ImageBuffer):
9450        * platform/graphics/skia/PlatformContextSkia.cpp:
9451        (WebCore::PlatformContextSkia::PlatformContextSkia):
9452
94532011-04-27  Chris Rogers  <crogers@google.com>
9454
9455        Reviewed by Kenneth Russell.
9456
9457        Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
9458        https://bugs.webkit.org/show_bug.cgi?id=59641
9459
9460        No new tests since audio API is not yet implemented.
9461
9462        * platform/audio/AudioBus.cpp:
9463        (WebCore::AudioBus::createBySampleRateConverting):
9464        (WebCore::AudioBus::createByMixingToMono):
9465
94662011-04-27  Geoffrey Garen  <ggaren@apple.com>
9467
9468        Motivated by Alexey Proskuryakov.
9469
9470        * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
9471        informative, since it confused Alexey and me.
9472
94732011-04-27  Geoffrey Garen  <ggaren@apple.com>
9474
9475        Reviewed by Sam Weinig.
9476
9477        Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
9478        https://bugs.webkit.org/show_bug.cgi?id=59646
9479
9480        Made the cssValueRoots map per-world, instead of a global. When we deallocate
9481        a world, we need to clear all entries in the map for that world, since
9482        the finalizers that would otherwise clear those entries don't run. The
9483        simplest way to do this is just to make the world own the map.
9484
9485        * bindings/js/DOMWrapperWorld.h:
9486        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9487        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
9488        * bindings/js/JSCSSValueCustom.cpp:
9489        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
9490        (WebCore::JSCSSValueOwner::finalize):
9491        * bindings/js/JSDOMBinding.h:
9492
94932011-04-27  Adam Barth  <abarth@webkit.org>
9494
9495        Reviewed by David Levin.
9496
9497        Fix OwnPtr issues in IndexedDB
9498        https://bugs.webkit.org/show_bug.cgi?id=59656
9499
9500        I didn't do an exhaustive review of this code, but I fixed the problems
9501        caught by turning on strict OwnPtr and all their antecedents.  This
9502        patch is entirely tighter bookkeeping.  There shouldn't be any actual
9503        behavior change.
9504
9505        * platform/leveldb/LevelDBDatabase.cpp:
9506        (WebCore::LevelDBDatabase::LevelDBDatabase):
9507        (WebCore::LevelDBDatabase::open):
9508        (WebCore::LevelDBDatabase::createIterator):
9509        * platform/leveldb/LevelDBDatabase.h:
9510        * platform/leveldb/LevelDBIterator.cpp:
9511        (WebCore::LevelDBIterator::LevelDBIterator):
9512        * platform/leveldb/LevelDBIterator.h:
9513        * storage/IDBLevelDBBackingStore.cpp:
9514        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
9515        (WebCore::IDBLevelDBBackingStore::open):
9516        (WebCore::getNewDatabaseId):
9517        (WebCore::IDBLevelDBBackingStore::getObjectStores):
9518        (WebCore::getNewObjectStoreId):
9519        (WebCore::deleteRange):
9520        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
9521        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
9522        (WebCore::IDBLevelDBBackingStore::getIndexes):
9523        (WebCore::getNewIndexId):
9524        (WebCore::findGreatestKeyLessThan):
9525        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
9526        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
9527        (WebCore::findLastIndexKeyEqualTo):
9528        * storage/IDBLevelDBBackingStore.h:
9529
95302011-04-19  MORITA Hajime  <morrita@google.com>
9531
9532        Reviewed by Tony Chang.
9533
9534        [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
9535        https://bugs.webkit.org/show_bug.cgi?id=58113
9536
9537        * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
9538        * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
9539        * Now MarkerMapVectorPair is no longer used.
9540
9541        No new tests, No behavior change.
9542
9543        * GNUmakefile.list.am:
9544        * WebCore.gypi:
9545        * WebCore.pro:
9546        * WebCore.vcproj/WebCore.vcproj:
9547        * WebCore.xcodeproj/project.pbxproj:
9548        * dom/DocumentMarker.h:
9549        * dom/DocumentMarkerController.cpp:
9550        (WebCore::DocumentMarkerController::addMarker):
9551        (WebCore::DocumentMarkerController::copyMarkers):
9552        (WebCore::DocumentMarkerController::removeMarkers):
9553        (WebCore::DocumentMarkerController::markerContainingPoint):
9554        (WebCore::DocumentMarkerController::markersForNode):
9555        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
9556        (WebCore::DocumentMarkerController::removeMarkersFromList):
9557        (WebCore::DocumentMarkerController::repaintMarkers):
9558        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
9559        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
9560        (WebCore::DocumentMarkerController::shiftMarkers):
9561        (WebCore::DocumentMarkerController::setMarkersActive):
9562        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
9563        (WebCore::DocumentMarkerController::showMarkers):
9564        * dom/DocumentMarkerController.h:
9565        * dom/RenderedDocumentMarker.h: Added.
9566        (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
9567        (WebCore::RenderedDocumentMarker::isRendered):
9568        (WebCore::RenderedDocumentMarker::contains):
9569        (WebCore::RenderedDocumentMarker::setRenderedRect):
9570        (WebCore::RenderedDocumentMarker::renderedRect):
9571        (WebCore::RenderedDocumentMarker::invalidate):
9572        (WebCore::RenderedDocumentMarker::invalidMarkerRect):
9573
95742011-04-27  James Robinson  <jamesr@chromium.org>
9575
9576        Unreviewed, rolling out r85112.
9577        http://trac.webkit.org/changeset/85112
9578        https://bugs.webkit.org/show_bug.cgi?id=59159
9579
9580        Broke mac compile
9581
9582        * page/FrameView.cpp:
9583        (WebCore::FrameView::updateCompositingLayers):
9584        * page/FrameView.h:
9585        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9586        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
9587        * platform/graphics/chromium/LayerChromium.cpp:
9588        (WebCore::LayerChromium::LayerChromium):
9589        (WebCore::LayerChromium::~LayerChromium):
9590        * platform/graphics/chromium/LayerRendererChromium.cpp:
9591        (WebCore::LayerRendererChromium::updateLayers):
9592        * platform/graphics/chromium/LayerRendererChromium.h:
9593
95942011-04-27  Mark Rowe  <mrowe@apple.com>
9595
9596        Build fix.
9597
9598        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.
9599
96002011-04-27  Pratik Solanki  <psolanki@apple.com>
9601
9602        Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).
9603
9604        * platform/network/ResourceHandleClient.h:
9605
96062011-04-27  James Robinson  <jamesr@chromium.org>
9607
9608        Reviewed by Kenneth Russell.
9609
9610        [chromium] Ensure compositing layers are up to date before entering doComposite
9611        https://bugs.webkit.org/show_bug.cgi?id=59159
9612
9613        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
9614        GraphicsLayerClient::paintContents() implementations).
9615
9616        * page/FrameView.cpp:
9617        (WebCore::FrameView::updateCompositingLayers):
9618            Add an optional CompositingUpdateType parameter.
9619        * page/FrameView.h:
9620        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9621        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
9622        * platform/graphics/chromium/LayerChromium.cpp:
9623        (WebCore::LayerChromium::LayerChromium):
9624        (WebCore::LayerChromium::~LayerChromium):
9625        * platform/graphics/chromium/LayerRendererChromium.cpp:
9626        (WebCore::LayerRendererChromium::updateLayers):
9627        * platform/graphics/chromium/LayerRendererChromium.h:
9628          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
9629        * rendering/RenderLayer.cpp:
9630        (WebCore::RenderLayer::dirtyZOrderLists):
9631        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
9632        * rendering/RenderLayerCompositor.cpp:
9633        (WebCore::RenderLayerCompositor::updateCompositingLayers):
9634        * rendering/RenderLayerCompositor.h:
9635          Fix a typo in CompositingUpdateType Pait->Paint
9636
96372011-04-27  Pratik Solanki  <psolanki@apple.com>
9638
9639        Reviewed by Antti Koivisto.
9640
9641        Part of WebCore should use CFNetwork-based loader on Mac
9642        https://bugs.webkit.org/show_bug.cgi?id=51836
9643
9644        Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
9645        willCacheResponse/shouldCacheResponse.
9646
9647        * loader/EmptyClients.h:
9648        * loader/FrameLoaderClient.h:
9649        * loader/ResourceLoader.h:
9650        * loader/cf/ResourceLoaderCFNet.cpp:
9651        * loader/mac/ResourceLoaderMac.mm:
9652        (WebCore::ResourceLoader::willCacheResponse):
9653        * platform/network/ResourceHandleClient.h:
9654        (WebCore::ResourceHandleClient::willCacheResponse):
9655        (WebCore::ResourceHandleClient::shouldCacheResponse):
9656        * platform/network/cf/ResourceHandleCFNet.cpp:
9657        (WebCore::willCacheResponse):
9658
96592011-04-27  Ilya Tikhonovsky  <loislo@chromium.org>
9660
9661        Reviewed by Brian Weinstein.
9662
9663        Web Inspector: Stop on Exception state does not persist.
9664
9665        A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
9666        https://bugs.webkit.org/show_bug.cgi?id=59630
9667
9668        * inspector/front-end/ScriptsPanel.js:
9669        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
9670        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
9671        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
9672
96732011-04-27  Adrienne Walker  <enne@google.com>
9674
9675        [chromium] Unreviewed, rollout r85075 (scissor rect changes)
9676        https://bugs.webkit.org/show_bug.cgi?id=59020
9677
9678        * platform/graphics/chromium/LayerRendererChromium.cpp:
9679        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
9680
96812011-04-27  Darin Adler  <darin@apple.com>
9682
9683        Reviewed by David Levin.
9684
9685        Fix strict OwnPtr issues seen in about 30 more files
9686        https://bugs.webkit.org/show_bug.cgi?id=59615
9687
9688        * bindings/js/JSCallbackData.h:
9689        (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
9690        * bindings/js/JSMessageEventCustom.cpp:
9691        (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
9692        * css/CSSParser.cpp:
9693        (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
9694        adoptPtr, and release.
9695        * dom/MessageEvent.cpp:
9696        (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
9697        and release.
9698        * dom/MessagePortChannel.cpp:
9699        (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
9700        * dom/ScriptExecutionContext.cpp:
9701        (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
9702        * dom/XMLDocumentParserLibxml2.cpp:
9703        (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
9704        * dom/default/PlatformMessagePortChannel.cpp:
9705        (WebCore::MessagePortChannel::create): Use adoptPtr.
9706        * html/HTMLFormControlElement.cpp:
9707        (WebCore::HTMLFormControlElement::detach): Use nullptr.
9708        * inspector/InspectorAgent.cpp:
9709        (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
9710        * inspector/InspectorConsoleAgent.cpp:
9711        (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
9712        (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
9713        (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
9714        * inspector/InspectorController.cpp:
9715        (WebCore::InspectorController::connectFrontend): Use adoptPtr.
9716        * inspector/InspectorDOMAgent.cpp:
9717        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
9718        * inspector/InspectorResourceAgent.cpp:
9719        (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
9720        * page/FrameActionScheduler.cpp:
9721        (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
9722        * platform/graphics/ShadowBlur.cpp:
9723        (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
9724        * platform/graphics/ca/GraphicsLayerCA.cpp:
9725        (WebCore::GraphicsLayer::create): Use adoptPtr.
9726        (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
9727        (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
9728        * rendering/RenderBlock.cpp:
9729        (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
9730        (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
9731        (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
9732        (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
9733        * rendering/RenderLayerBacking.cpp:
9734        (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
9735        (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
9736        (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
9737        (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
9738        * rendering/RenderLayerCompositor.cpp:
9739        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
9740        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
9741        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
9742        * rendering/style/StyleRareNonInheritedData.cpp:
9743        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
9744        explicit initializations of OwnPtr members to 0. Use adoptPtr.
9745        * workers/SharedWorkerContext.cpp:
9746        (WebCore::createConnectEvent): Use adoptPtr.
9747        * workers/Worker.cpp:
9748        (WebCore::Worker::notifyFinished): Use nullptr.
9749
97502011-04-27  Enrica Casucci  <enrica@apple.com>
9751
9752        Reviewed by Darin Adler.
9753
9754        REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
9755        https://bugs.webkit.org/show_bug.cgi?id=59251
9756        <rdar://problem/9327044>
9757
9758        When we are looking for wrapping elements that are presentational, we should
9759        include elements that have a non transparent background color only if they
9760        are not blocks.
9761
9762        Test: editing/pasteboard/do-not-copy-body-color.html
9763
9764        * editing/markup.cpp:
9765        (WebCore::isElementPresentational):
9766
97672011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
9768
9769        Reviewed by Antti Koivisto.
9770
9771        Teach sub-selector chains about shadow descendants
9772        https://bugs.webkit.org/show_bug.cgi?id=58342
9773
9774        The primary change is to the logic of parsing specifiers:
9775        1) The shadow descendant selectors (those specifiers that are unknown
9776        pseudo element selectors) are always kept at the top of the chain.
9777        2) The sub-selectors after shadow descendant selectors are stashed right
9778        behind the sub-selector, but not at the end of the chain.
9779        3) Other sub-selectors are appended at the end of the chain.
9780
9781        * css/CSSGrammar.y: Changed specifier_list collection to use new
9782            CSSParser::updateSpecifier helper.
9783        * css/CSSParser.cpp:
9784        (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
9785            look for the last ShadowDescendant relation in the chain of selectors,
9786            because the next selector after it is the one that should get the
9787            element name.
9788        (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
9789            CSSGrammar.y. The new logic adjusts the selector chain to allow
9790            shadow descendant selectors have sub-selectors (and have multiple shadow
9791            descendants in the chain).
9792        * css/CSSParser.h: Added decl.
9793        * css/CSSParserValues.cpp:
9794        (WebCore::CSSParserSelector::insertTagHistory): Added.
9795        (WebCore::CSSParserSelector::appendTagHistory): Aded.
9796        * css/CSSParserValues.h: Added decls.
9797        * css/CSSStyleSelector.cpp:
9798        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
9799            shadow descendant selector match check, since now there could be many
9800            of them in the selector chain.
9801
98022011-04-20  Adrienne Walker  <enne@google.com>
9803
9804        Reviewed by Kenneth Russell.
9805
9806        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
9807        https://bugs.webkit.org/show_bug.cgi?id=59020
9808
9809        mapRect is the incorrect transform here.  The parent scissor rect
9810        needs to be projected into layer space instead.
9811
9812        Test: compositing/flat-with-transformed-child.html
9813
9814        * platform/graphics/chromium/LayerRendererChromium.cpp:
9815        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
9816
98172011-04-27  Pratik Solanki  <psolanki@apple.com>
9818
9819        Reviewed by Antti Koivisto.
9820
9821        Part of WebCore should use CFNetwork-based loader on Mac
9822        https://bugs.webkit.org/show_bug.cgi?id=51836
9823
9824        * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
9825        * platform/mac/SoftLinking.h:
9826        * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.
9827
98282011-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
9829
9830        Reviewed by Antti Koivisto.
9831
9832        Cleanup CSSStyleApplyProperty.cpp
9833        https://bugs.webkit.org/show_bug.cgi?id=59623
9834
9835        As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
9836        Use typedefs instead of repating the function pointer declarations in a few places.
9837
9838        * css/CSSStyleApplyProperty.cpp:
9839        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
9840        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
9841        (WebCore::ApplyPropertyColor::applyInheritValue):
9842        (WebCore::ApplyPropertyColor::applyInitialValue):
9843        (WebCore::ApplyPropertyColor::applyValue):
9844        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
9845
98462011-04-27  Dan Bernstein  <mitz@apple.com>
9847
9848        Reviewed by Anders Carlsson.
9849
9850        <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
9851        https://bugs.webkit.org/show_bug.cgi?id=59622
9852
9853        Test: fast/borders/border-image-trumps-radius.html
9854
9855        * rendering/RenderBox.cpp:
9856        (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
9857        image, then border radius is ignored, so no bleed avoidance is needed.
9858        * rendering/RenderObject.cpp:
9859        (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
9860        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
9861        * rendering/RenderObject.h:
9862
98632011-02-03  Martin Robinson  <mrobinson@igalia.com>
9864
9865        Reviewed by Xan Lopez.
9866
9867        [GTK] editing/pasteboard/copy-standalone-image.html fails
9868        https://bugs.webkit.org/show_bug.cgi?id=53645
9869
9870        When writing an image to the clipboard, also write the URL and title
9871        into the markup and URL portion. This change also abstracts a helper
9872        imageToMarkup into markup.{cpp/h} from several different locations
9873        throughout the platform layer.
9874
9875        * editing/markup.h: Added new function definition.
9876        * editing/markup.cpp:
9877        (WebCore::imageToMarkup): Add this function which turns an image URL
9878        and element into some markup representing that image, while preserving
9879        non-src attributes.
9880        * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
9881        to markup.cpp.
9882        * platform/gtk/PasteboardGtk.cpp:
9883        (WebCore::getURLForImageNode): Add this helper which gets the appropriate
9884        image URL for a variety of image tag types.
9885        (WebCore::Pasteboard::writeImage): Write the image URL and title to the
9886        markup and URL portions of the clipboard. This will ensure that images
9887        paste properly back into WebKit.
9888        * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
9889        one from markup.h
9890
98912011-04-27  Steve Block  <steveblock@google.com>
9892
9893        Reviewed by David Levin.
9894
9895        Remove Android build system
9896        https://bugs.webkit.org/show_bug.cgi?id=48111
9897
9898        This is to avoid the maintenance burden until the Android port is
9899        fully upstreamed.
9900
9901        No new tests, build change only.
9902
9903        * Android.derived.jscbindings.mk: Removed.
9904        * Android.derived.mk: Removed.
9905        * Android.derived.v8bindings.mk: Removed.
9906        * Android.jscbindings.mk: Removed.
9907        * Android.mk: Removed.
9908        * Android.v8bindings.mk: Removed.
9909
99102011-04-27  Darin Adler  <darin@apple.com>
9911
9912        Reviewed by Sam Weinig.
9913
9914        Somehow about:blank gets into the icon database
9915        https://bugs.webkit.org/show_bug.cgi?id=58067
9916        rdar://problem/6751446
9917
9918        Implemented the policy Brady suggested, where only http and https URLs can
9919        be associated with and icon, guarding both on the way in to the database,
9920        and on the way out.
9921
9922        * loader/icon/IconDatabase.cpp:
9923        (WebCore::pageCanHaveIcon): Added.
9924        (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
9925        instead of just checking for an empty URL.
9926        (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
9927        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
9928        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
9929        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
9930        (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
9931        (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
9932        two separate assertions and added a third.
9933        (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.
9934
9935        * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
9936        (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
9937        overloaded it to work on both UChar and char, and added an assertion to it.
9938        Also moved this to the top of the file and made the UChar version usable
9939        in the shared code used even by Google.
9940        (WebCore::KURL::invalidate): Updated for name change.
9941        (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
9942        toASCIILower since it's faster.
9943        (WebCore::KURL::parse): Updated for name changes.
9944        (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
9945        since it's faster.
9946        (WebCore::protocolIsInHTTPFamily): Added.
9947
9948        * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
9949        to protocolIsInHTTPFamily and added a version that works on a string.
9950        Kept the old name as an inline function so we don't have to rename
9951        all the cal sites now.
9952
9953        * platform/KURLGoogle.cpp: Renamed as above.
9954        (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
9955        (WebCore::KURLGooglePrivate::setUtf8): Ditto.
9956        (WebCore::KURLGooglePrivate::setAscii): Ditto.
9957        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
9958        (WebCore::KURLGooglePrivate::copyTo): Ditto.
9959        (WebCore::KURL::KURL): Ditto.
9960        (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
9961        (WebCore::KURL::invalidate): Ditto.
9962        * platform/KURLGooglePrivate.h: Ditto.
9963
9964        * WebCore.exp.in: Updated for above changes.
9965
99662011-04-27  Yury Semikhatsky  <yurys@chromium.org>
9967
9968        Reviewed by Pavel Feldman.
9969
9970        Web Inspector: browser crash on evaluation of 'throw undefined'
9971        https://bugs.webkit.org/show_bug.cgi?id=59611
9972
9973        Test: inspector/console/console-eval-throw-undefined.html
9974
9975        * inspector/InjectedScriptSource.js: use try/catch to protect from
9976        exception during conversion of another exception to string.
9977
99782011-04-27  Pavel Feldman  <pfeldman@google.com>
9979
9980        Reviewed by Yury Semikhatsky.
9981
9982        Web Inspector: clicking bookmarklet multiplies resources panel entries.
9983        https://bugs.webkit.org/show_bug.cgi?id=59590
9984
9985        * inspector/front-end/ResourceTreeModel.js:
9986        (WebInspector.ResourceTreeModel):
9987        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
9988        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
9989        * inspector/front-end/ResourcesPanel.js:
9990        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
9991        (WebInspector.FrameTreeElement):
9992        (WebInspector.FrameTreeElement.prototype.appendResource):
9993        * inspector/front-end/inspector.js:
9994        (WebInspector.frontendReused):
9995
99962011-04-27  Pavel Feldman  <pfeldman@google.com>
9997
9998        Reviewed by Yury Semikhatsky.
9999
10000        Web Inspector: opening bookmarklet disconnects DOM agent.
10001        https://bugs.webkit.org/show_bug.cgi?id=59588
10002
10003        * inspector/InspectorDOMAgent.cpp:
10004        (WebCore::InspectorDOMAgent::setDocument):
10005
100062011-04-27  Hans Wennborg  <hans@chromium.org>
10007
10008        Reviewed by Tony Gentilcore.
10009
10010        IndexedDB: Fix compiler warnings about uninitialized variables
10011        https://bugs.webkit.org/show_bug.cgi?id=59599
10012
10013        Build fix. No new tests.
10014
10015        * storage/IDBLevelDBBackingStore.cpp:
10016        (WebCore::getNewObjectStoreId):
10017        (WebCore::getNewIndexId):
10018
100192011-04-26  Hans Wennborg  <hans@chromium.org>
10020
10021        Reviewed by Tony Gentilcore.
10022
10023        IndexedDB: Move LevelDB key coding routines to separate file
10024        https://bugs.webkit.org/show_bug.cgi?id=59452
10025
10026        Move all routines concerned with encoding, decoding and comparison of
10027        LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
10028        IDBLevelDBCoding.cpp.
10029
10030        This makes IDBLevelDBBackingStore.cpp easier to work with, and will
10031        allow for unit testing of the coding routines.
10032
10033        No new functionality, no new tests.
10034
10035        * WebCore.gypi:
10036        * storage/IDBLevelDBBackingStore.cpp:
10037        (WebCore::getInt):
10038        (WebCore::putInt):
10039        (WebCore::getString):
10040        (WebCore::putString):
10041        (WebCore::compareKeys):
10042        (WebCore::compareIndexKeys):
10043        (WebCore::Comparator::compare):
10044        (WebCore::setUpMetadata):
10045        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
10046        (WebCore::getNewDatabaseId):
10047        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
10048        (WebCore::IDBLevelDBBackingStore::getObjectStores):
10049        (WebCore::getNewObjectStoreId):
10050        (WebCore::IDBLevelDBBackingStore::createObjectStore):
10051        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
10052        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
10053        (WebCore::getNewVersionNumber):
10054        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
10055        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
10056        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
10057        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
10058        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
10059        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
10060        (WebCore::IDBLevelDBBackingStore::getIndexes):
10061        (WebCore::getNewIndexId):
10062        (WebCore::IDBLevelDBBackingStore::createIndex):
10063        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
10064        (WebCore::versionExists):
10065        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
10066        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
10067        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
10068        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
10069        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
10070        * storage/IDBLevelDBCoding.cpp: Added.
10071        (WebCore::IDBLevelDBCoding::encodeByte):
10072        (WebCore::IDBLevelDBCoding::maxIDBKey):
10073        (WebCore::IDBLevelDBCoding::minIDBKey):
10074        (WebCore::IDBLevelDBCoding::encodeInt):
10075        (WebCore::IDBLevelDBCoding::decodeInt):
10076        (WebCore::IDBLevelDBCoding::encodeVarInt):
10077        (WebCore::IDBLevelDBCoding::decodeVarInt):
10078        (WebCore::IDBLevelDBCoding::encodeString):
10079        (WebCore::IDBLevelDBCoding::decodeString):
10080        (WebCore::IDBLevelDBCoding::encodeStringWithLength):
10081        (WebCore::IDBLevelDBCoding::decodeStringWithLength):
10082        (WebCore::IDBLevelDBCoding::encodeDouble):
10083        (WebCore::IDBLevelDBCoding::decodeDouble):
10084        (WebCore::IDBLevelDBCoding::encodeIDBKey):
10085        (WebCore::IDBLevelDBCoding::decodeIDBKey):
10086        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
10087        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
10088        (WebCore::IDBLevelDBCoding::compare):
10089        (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
10090        (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
10091        (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
10092        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
10093        (WebCore::IDBLevelDBCoding::KeyPrefix::type):
10094        (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
10095        (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
10096        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
10097        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
10098        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
10099        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
10100        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
10101        (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
10102        (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
10103        (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
10104        (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
10105        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
10106        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
10107        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
10108        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
10109        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
10110        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
10111        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
10112        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
10113        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
10114        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
10115        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
10116        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
10117        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
10118        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
10119        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
10120        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
10121        (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
10122        (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
10123        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
10124        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
10125        (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
10126        (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
10127        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
10128        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
10129        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
10130        (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
10131        (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
10132        (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
10133        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
10134        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
10135        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
10136        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
10137        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
10138        (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
10139        (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
10140        (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
10141        (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
10142        (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
10143        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
10144        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
10145        (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
10146        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
10147        (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
10148        (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
10149        (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
10150        (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
10151        * storage/IDBLevelDBCoding.h: Added.
10152        (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
10153        (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
10154        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
10155        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
10156        (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
10157
101582011-04-27  Yury Semikhatsky  <yurys@chromium.org>
10159
10160        Reviewed by Pavel Feldman.
10161
10162        Web Inspector: expose exception details when script is paused on exception
10163        https://bugs.webkit.org/show_bug.cgi?id=59591
10164
10165        When script is paused on an exception, the exception value is added as <exception>
10166        property in the local scope and the breakpoint details message says
10167        "Paused on excepion: '<exception to strin value>'."
10168
10169        * English.lproj/localizedStrings.js:
10170        * inspector/front-end/ScopeChainSidebarPane.js:
10171        (WebInspector.ScopeChainSidebarPane.prototype.update):
10172        * inspector/front-end/ScriptsPanel.js:
10173        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
10174        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
10175
101762011-04-26  Yury Semikhatsky  <yurys@chromium.org>
10177
10178        Reviewed by Pavel Feldman.
10179
10180        Web Inspector: [protocol] Paused event should expose exception value that caused it
10181        https://bugs.webkit.org/show_bug.cgi?id=58996
10182
10183        Debug.pause event now contains an optional reference to the exception
10184        object in case script execution is paused on a JavaScript exception.
10185
10186        Also JavaScript call frames are passed directly into the injected script when
10187        we need to wrap them for passing to the front-end. This change breaks cyclic
10188        dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer
10189
10190        * bindings/js/JSInjectedScriptHostCustom.cpp:
10191        * bindings/js/ScriptDebugServer.cpp:
10192        (WebCore::ScriptDebugServer::dispatchDidPause):
10193        * bindings/js/ScriptDebugServer.h:
10194        * bindings/v8/ScriptDebugServer.cpp:
10195        (WebCore::ScriptDebugServer::breakProgram):
10196        (WebCore::ScriptDebugServer::editScriptSource):
10197        (WebCore::ScriptDebugServer::breakProgramCallback):
10198        (WebCore::ScriptDebugServer::handleV8DebugEvent):
10199        * bindings/v8/ScriptDebugServer.h:
10200        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
10201        * inspector/InjectedScript.cpp:
10202        (WebCore::InjectedScript::evaluateOnCallFrame):
10203        (WebCore::InjectedScript::wrapCallFrames):
10204        * inspector/InjectedScript.h:
10205        * inspector/InjectedScriptHost.cpp:
10206        * inspector/InjectedScriptHost.h:
10207        (WebCore::InjectedScriptHost::init):
10208        * inspector/InjectedScriptHost.idl:
10209        * inspector/InjectedScriptSource.js:
10210        (.):
10211        * inspector/Inspector.json:
10212        * inspector/InspectorAgent.cpp:
10213        (WebCore::InspectorAgent::InspectorAgent):
10214        * inspector/InspectorDebuggerAgent.cpp:
10215        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
10216        (WebCore::InspectorDebuggerAgent::currentCallFrames):
10217        (WebCore::InspectorDebuggerAgent::wrapCallFrames):
10218        (WebCore::InspectorDebuggerAgent::didPause):
10219        (WebCore::InspectorDebuggerAgent::didContinue):
10220        (WebCore::InspectorDebuggerAgent::clear):
10221        * inspector/InspectorDebuggerAgent.h:
10222        * inspector/ScriptDebugListener.h:
10223        * inspector/WorkerInspectorController.cpp:
10224        (WebCore::WorkerInspectorController::WorkerInspectorController):
10225
102262011-04-27  Pavel Feldman  <pfeldman@google.com>
10227
10228        Reviewed by Yury Semikhatsky.
10229
10230        Web Inspector: implement incremental CSS editing in the structure view.
10231        https://bugs.webkit.org/show_bug.cgi?id=59455
10232
10233        * inspector/front-end/StylesSidebarPane.js:
10234        (WebInspector.StylePropertyTreeElement.prototype):
10235
102362011-04-27  Mihai Parparita  <mihaip@chromium.org>
10237
10238        Reviewed by Eric Seidel.
10239
10240        Frame.h shouldn't include Document.h
10241        https://bugs.webkit.org/show_bug.cgi?id=59560
10242
10243        Frame can use a forward-declared Document if we move
10244        Frame::displayStringModifiedByEncoding's implementation out of the
10245        header.
10246                                Size  #includes  Size * #includes
10247        Before: page/Frame.h:   0.746       653           487.138
10248                dom/Document.h: 0.220      1306           287.320
10249
10250        After:  page/Frame.h:   0.646       653           421.838
10251                dom/Document.h: 0.220      1189           261.580
10252
10253        * WebCore.exp.in:
10254        * bindings/ScriptControllerBase.cpp:
10255        * bindings/generic/BindingSecurityBase.cpp:
10256        * bindings/v8/V8Proxy.cpp:
10257        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
10258        * dom/CharacterData.cpp:
10259        * dom/UserTypingGestureIndicator.cpp:
10260        * editing/chromium/SelectionControllerChromium.cpp:
10261        * inspector/InspectorDOMStorageResource.cpp:
10262        * inspector/InspectorInstrumentation.h:
10263        * loader/PingLoader.cpp:
10264        * loader/SubresourceLoader.cpp:
10265        * loader/appcache/DOMApplicationCache.cpp:
10266        * loader/cache/CachedResourceRequest.cpp:
10267        * page/Frame.cpp:
10268        (WebCore::Frame::displayStringModifiedByEncoding):
10269        * page/Frame.h:
10270        * page/Geolocation.cpp:
10271        * page/Location.cpp:
10272        * page/Navigator.cpp:
10273        * page/PageGroupLoadDeferrer.cpp:
10274        * page/PerformanceTiming.cpp:
10275        * xml/XSLTProcessorLibxslt.cpp:
10276
102772011-04-27  James Robinson  <jamesr@chromium.org>
10278
10279        Reviewed by Eric Seidel.
10280
10281        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
10282        https://bugs.webkit.org/show_bug.cgi?id=59377
10283
10284        This cleans up some strict OwnPtr<> violations around text and box shadow data.  ShadowData's linked list data
10285        structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.
10286
10287        * css/CSSStyleSelector.cpp:
10288        (WebCore::CSSStyleSelector::applyProperty):
10289        * page/animation/AnimationBase.cpp:
10290        (WebCore::blendFunc):
10291        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
10292        (WebCore::PropertyWrapperShadow::blend):
10293        * rendering/style/RenderStyle.cpp:
10294        (WebCore::RenderStyle::setTextShadow):
10295        (WebCore::RenderStyle::setBoxShadow):
10296        * rendering/style/RenderStyle.h:
10297        (WebCore::InheritedFlags::textShadow):
10298        * rendering/style/ShadowData.cpp:
10299        (WebCore::ShadowData::ShadowData):
10300        * rendering/style/ShadowData.h:
10301        (WebCore::ShadowData::ShadowData):
10302        (WebCore::ShadowData::next):
10303        (WebCore::ShadowData::setNext):
10304        * rendering/style/StyleRareInheritedData.cpp:
10305        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
10306        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
10307        * rendering/style/StyleRareInheritedData.h:
10308        * rendering/style/StyleRareNonInheritedData.cpp:
10309        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
10310
103112011-04-26  David Levin  <levin@chromium.org>
10312
10313        Reviewed by Eric Seidel.
10314
10315        Fix some strict PassOwnPtr issues in WebCore.
10316        https://bugs.webkit.org/show_bug.cgi?id=59563
10317
10318        * css/SVGCSSStyleSelector.cpp:
10319        (WebCore::CSSStyleSelector::applySVGProperty):
10320        * html/canvas/WebGLRenderingContext.cpp:
10321        (WebCore::WebGLRenderingContext::create):
10322        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
10323        * platform/text/TextCodecLatin1.cpp:
10324        (WebCore::newStreamingTextDecoderWindowsLatin1):
10325        * platform/text/TextCodecUTF16.cpp:
10326        (WebCore::newStreamingTextDecoderUTF16LE):
10327        (WebCore::newStreamingTextDecoderUTF16BE):
10328        * platform/text/TextCodecUserDefined.cpp:
10329        (WebCore::newStreamingTextDecoderUserDefined):
10330        * platform/text/mac/TextCodecMac.cpp:
10331        (WebCore::newTextCodecMac):
10332        * workers/Worker.cpp:
10333        (WebCore::Worker::notifyFinished):
10334
103352011-04-26  Justin Novosad  <junov@chromium.org>
10336
10337        Reviewed by Kenneth Russell.
10338
10339        [Chromium] Expose skia gpu canvas rendering as a runtime flag
10340        https://bugs.webkit.org/show_bug.cgi?id=58683
10341        Replace the SKIA_GPU compile flag by the pre-existing
10342        acceleratedDrawingEnabled flag. Most code changes are trivial:
10343        compile-time conditionals on SKIA_GPU were either replaced with
10344        a run-time check, or a compile time check on USE(SKIA)
10345
10346        No new tests. Covered by existing tests.
10347
10348        * html/canvas/CanvasRenderingContext2D.cpp:
10349        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
10350        * page/Page.cpp:
10351        (WebCore::Page::sharedGraphicsContext3D):
10352        Added check for the acceleratedDrawing flag.
10353        * platform/graphics/chromium/DrawingBufferChromium.cpp:
10354        (WebCore::DrawingBuffer::DrawingBuffer):
10355        (WebCore::DrawingBuffer::publishToPlatformLayer):
10356        * platform/graphics/gpu/DrawingBuffer.h:
10357        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
10358        (WebCore::SharedGraphicsContext3D::create):
10359        On Skia builds, this methos now receives a bool arg to turn on
10360        GPU-accelerated skia rendering
10361        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
10362        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
10363        (WebCore::SharedGraphicsContext3D::grContext):
10364        * platform/graphics/gpu/SharedGraphicsContext3D.h:
10365        * platform/graphics/skia/ImageSkia.cpp:
10366        (WebCore::computeResamplingMode):
10367        (WebCore::paintSkBitmap):
10368        (WebCore::Image::drawPattern):
10369        * platform/graphics/skia/PlatformContextSkia.cpp:
10370        (WebCore::PlatformContextSkia::PlatformContextSkia):
10371        (WebCore::PlatformContextSkia::~PlatformContextSkia):
10372        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
10373        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
10374        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
10375        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
10376        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
10377        (WebCore::PlatformContextSkia::markDirtyRect):
10378        * platform/graphics/skia/PlatformContextSkia.h:
10379        (WebCore::PlatformContextSkia::accelerationMode):
10380        (WebCore::PlatformContextSkia::useGPU):
10381        (WebCore::PlatformContextSkia::useSkiaGPU):
10382
103832011-04-26  Pavel Feldman  <pfeldman@chromium.org>
10384
10385        Not reviewed: restore inspector test disabled in r84913.
10386
10387        Test: http/tests/inspector-enabled/dom-storage-open.html
10388
10389        * inspector/InspectorDOMStorageAgent.cpp:
10390        (WebCore::InspectorDOMStorageAgent::clearFrontend):
10391
103922011-04-26  Kenichi Ishibashi  <bashi@chromium.org>
10393
10394        Reviewed by Tony Chang.
10395
10396        [Chromium] Vertical positions are off for some Arabic glyphs on Linux
10397        https://bugs.webkit.org/show_bug.cgi?id=59182
10398
10399        Use vertical offsets of the shaping results.
10400
10401        Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html
10402
10403        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
10404        (WebCore::ComplexTextController::ComplexTextController):
10405        Added initialization of m_startingY.
10406        (WebCore::ComplexTextController::nextScriptRun):
10407        Followed the change in handling positions.
10408        (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
10409        (WebCore::ComplexTextController::createGlyphArrays): Ditto.
10410        (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
10411        (WebCore::ComplexTextController::setGlyphPositions):
10412        Changed to use vertical offsets as same as horizontal offsets.
10413        * platform/graphics/chromium/ComplexTextControllerLinux.h:
10414        Removed m_xPositions and Added m_positions and m_startingY.
10415        (WebCore::ComplexTextController::positions): Added.
10416        * platform/graphics/chromium/FontLinux.cpp:
10417        Followed the change in ComplexTextController.
10418        (WebCore::Font::drawComplexText): Ditto.
10419        (WebCore::Font::floatWidthForComplexText): Ditto.
10420        (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
10421        (WebCore::Font::offsetForPositionForComplexText): Ditto.
10422        (WebCore::Font::selectionRectForComplexText): Ditto.
10423
104242011-04-26  Levi Weintraub  <leviw@chromium.org>
10425
10426        Reviewed by Eric Seidel.
10427
10428        Root element should establish a new block formatting context
10429        https://bugs.webkit.org/show_bug.cgi?id=54573
10430
10431        Always expanding the root renderer to include overhanging floats.
10432
10433        Test: fast/block/float/float-overhangs-root.html
10434
10435        * rendering/RenderBlock.cpp:
10436        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
10437
104382011-04-26  Dawit Alemayehu  <adawit@kde.org>
10439
10440        Reviewed by Andreas Kling.
10441
10442        [Qt] Improper rendering of <button> tag when it contains a <br>
10443        https://bugs.webkit.org/show_bug.cgi?id=50521
10444
10445        Test: platform/qt/fast/forms/button-line-break.html
10446
10447        * platform/qt/RenderThemeQt.cpp:
10448        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
10449        (WebCore::RenderThemeQt::setButtonPadding):
10450
104512011-04-26  James Robinson  <jamesr@chromium.org>
10452
10453        Reviewed by Kenneth Russell.
10454
10455        [chromium] Only reset tiles if the LayerRendererChromium is actually changing
10456        https://bugs.webkit.org/show_bug.cgi?id=59572
10457
10458        http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
10459        when LayerRendererChromium was set.  We set this pointer every frame
10460        and should only reset the tiles if the new LayerRendererChromium is
10461        different from the old one (indicating a context loss), not just reset
10462        on every frame.
10463
10464        * platform/graphics/chromium/LayerTilerChromium.cpp:
10465        (WebCore::LayerTilerChromium::setLayerRenderer):
10466        * platform/graphics/chromium/LayerTilerChromium.h:
10467
104682011-04-26  Dinesh K Garg  <dineshg@codeaurora.org>
10469
10470        Reviewed by Eric Seidel.
10471
10472        beginElement broken by setAttribute
10473        https://bugs.webkit.org/show_bug.cgi?id=26019
10474
10475        Test: svg/animations/animate-beginElementAt.svg
10476
10477        * svg/SVGAnimationElement.cpp:
10478        (WebCore::SVGAnimationElement::attributeChanged):
10479        Reset the animation state here as the rest of the code reads it and would still
10480        think we are animating when we are not.
10481
10482        * svg/animation/SVGSMILElement.h:
10483        (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.
10484
104852011-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
10486
10487        Unreviewed, rolling out r84989.
10488        http://trac.webkit.org/changeset/84989
10489        https://bugs.webkit.org/show_bug.cgi?id=59566
10490
10491        REGRESSION (r84989): Lots of vertical text tests failing on
10492        windows (Requested by weinig on #webkit).
10493
10494        * platform/graphics/FontPlatformData.h:
10495        * platform/graphics/win/FontCacheWin.cpp:
10496        (WebCore::FontCache::getFontDataForCharacters):
10497        (WebCore::FontCache::createFontPlatformData):
10498        * platform/graphics/win/FontCustomPlatformData.cpp:
10499        (WebCore::FontCustomPlatformData::fontPlatformData):
10500        * platform/graphics/win/FontPlatformDataCGWin.cpp:
10501        (WebCore::FontPlatformData::FontPlatformData):
10502        * platform/graphics/win/FontPlatformDataWin.cpp:
10503        (WebCore::FontPlatformData::FontPlatformData):
10504
105052011-04-26  Sam Weinig  <sam@webkit.org>
10506
10507        Reviewed by Eric Seidel.
10508
10509        Try again:
10510            Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
10511            https://bugs.webkit.org/show_bug.cgi?id=59310
10512
10513        * bindings/js/JSDOMBinding.h:
10514        (WebCore::DOMConstructorObject::DOMConstructorObject):
10515        * bindings/js/JSDOMWrapper.h:
10516        (WebCore::JSDOMWrapper::globalObject):
10517        (WebCore::JSDOMWrapper::scriptExecutionContext):
10518        (WebCore::JSDOMWrapper::createStructure):
10519        (WebCore::JSDOMWrapper::JSDOMWrapper):
10520        * bindings/scripts/CodeGeneratorJS.pm:
10521
105222011-04-26  Sam Weinig  <sam@webkit.org>
10523
10524        Reviewed by David Hyatt.
10525
10526        Remove Datagrid from the tree
10527        https://bugs.webkit.org/show_bug.cgi?id=59543
10528
10529        * Android.derived.jscbindings.mk:
10530        * Android.derived.v8bindings.mk:
10531        * Android.jscbindings.mk:
10532        * Android.v8bindings.mk:
10533        * CMakeLists.txt:
10534        * CodeGenerators.pri:
10535        * Configurations/FeatureDefines.xcconfig:
10536        * DerivedSources.cpp:
10537        * DerivedSources.make:
10538        * GNUmakefile.am:
10539        * GNUmakefile.list.am:
10540        * UseJSC.cmake:
10541        * WebCore.gypi:
10542        * WebCore.pro:
10543        * WebCore.vcproj/WebCore.vcproj:
10544        * WebCore.xcodeproj/project.pbxproj:
10545        * bindings/js/JSBindingsAllInOne.cpp:
10546        * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
10547        * bindings/js/JSDataGridDataSource.cpp: Removed.
10548        * bindings/js/JSDataGridDataSource.h: Removed.
10549        * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
10550        * bindings/v8/V8DataGridDataSource.cpp: Removed.
10551        * bindings/v8/V8DataGridDataSource.h: Removed.
10552        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
10553        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
10554        * css/CSSStyleSelector.cpp:
10555        * css/CSSStyleSelector.h:
10556        * css/html.css:
10557        (input, textarea, keygen, select, button, isindex):
10558        (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
10559        * editing/htmlediting.cpp:
10560        (WebCore::canHaveChildrenForEditing):
10561        * features.pri:
10562        * html/DOMDataGridDataSource.cpp: Removed.
10563        * html/DOMDataGridDataSource.h: Removed.
10564        * html/DataGridColumn.cpp: Removed.
10565        * html/DataGridColumn.h: Removed.
10566        * html/DataGridColumn.idl: Removed.
10567        * html/DataGridColumnList.cpp: Removed.
10568        * html/DataGridColumnList.h: Removed.
10569        * html/DataGridColumnList.idl: Removed.
10570        * html/DataGridDataSource.h: Removed.
10571        * html/HTMLDataGridCellElement.cpp: Removed.
10572        * html/HTMLDataGridCellElement.h: Removed.
10573        * html/HTMLDataGridCellElement.idl: Removed.
10574        * html/HTMLDataGridColElement.cpp: Removed.
10575        * html/HTMLDataGridColElement.h: Removed.
10576        * html/HTMLDataGridColElement.idl: Removed.
10577        * html/HTMLDataGridElement.cpp: Removed.
10578        * html/HTMLDataGridElement.h: Removed.
10579        * html/HTMLDataGridElement.idl: Removed.
10580        * html/HTMLDataGridRowElement.cpp: Removed.
10581        * html/HTMLDataGridRowElement.h: Removed.
10582        * html/HTMLDataGridRowElement.idl: Removed.
10583        * html/HTMLElement.cpp:
10584        (WebCore::HTMLElement::ieForbidsInsertHTML):
10585        * html/HTMLElementsAllInOne.cpp:
10586        * html/HTMLTagNames.in:
10587        * page/DOMWindow.idl:
10588        * rendering/RenderBox.cpp:
10589        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
10590        * rendering/RenderDataGrid.cpp: Removed.
10591        * rendering/RenderDataGrid.h: Removed.
10592        * rendering/RenderingAllInOne.cpp:
10593
105942011-04-26  Chun-Lung Huang  <alvincl.huang@gmail.com>
10595
10596        Reviewed by Adele Peterson.
10597
10598        On WebKit (Windows), glyphs in vertical text tests are rotated 90
10599        degrees clockwise.  https://bugs.webkit.org/show_bug.cgi?id=48459
10600
10601        This platform dependent patch makes WebKit (Windows) show the
10602        vertical writing text correctly.  Job was done by adding a prefix '@'
10603        in front of the font family name (Windows Only). No new tests added.
10604        Some layout tests images:
10605        http://www.flickr.com/photos/burorly/sets/72157625585506341/
10606
10607        * platform/graphics/FontPlatformData.h:
10608        * platform/graphics/win/FontCacheWin.cpp:
10609        (WebCore::FontCache::getFontDataForCharacters):
10610        (WebCore::FontCache::createFontPlatformData):
10611        * platform/graphics/win/FontCustomPlatformData.cpp:
10612        (WebCore::FontCustomPlatformData::fontPlatformData):
10613        * platform/graphics/win/FontPlatformDataCGWin.cpp:
10614        (WebCore::FontPlatformData::FontPlatformData):
10615        * platform/graphics/win/FontPlatformDataWin.cpp:
10616        (WebCore::FontPlatformData::FontPlatformData):
10617
106182011-04-26  Jer Noble  <jer.noble@apple.com>
10619
10620        Reviewed by Brady Eidson.
10621
10622        HTML5 video fullscreen transition causes an audio stutter
10623        https://bugs.webkit.org/show_bug.cgi?id=59544
10624
10625        AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer
10626        from its AVPlayer.  Since you shouldn't necessarily have to destroy the
10627        layer to render it invisible, instead just set the layer as hidden.
10628
10629        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
10630        (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
10631        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
10632        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
10633        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
10634        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.
10635
106362011-04-26  Christian Dywan  <christian@lanedo.com>
10637
10638        Reviewed by Eric Seidel.
10639
10640        Extra separator after Select All in context menu
10641        https://bugs.webkit.org/show_bug.cgi?id=54092
10642
10643        * page/ContextMenuController.cpp: Move separator to non-GTK+
10644            port guards since it is for the spelling options menu
10645            which the GTK+ port doesn't use.
10646
106472011-04-26  James Robinson  <jamesr@chromium.org>
10648
10649        Reviewed by Kenneth Russell.
10650
10651        [chromium] Clear out LayerTilerChromium's tiles on lost context
10652        https://bugs.webkit.org/show_bug.cgi?id=59233
10653
10654        Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset.  In this case the tiles are
10655        no longer valid since they exist in the previous LayerRendererChromium.
10656
10657        Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.
10658
10659        * platform/graphics/chromium/LayerTilerChromium.h:
10660        (WebCore::LayerTilerChromium::setLayerRenderer):
10661
106622011-04-26  Martin Robinson  <mrobinson@igalia.com>
10663
10664        Reviewed by Dirk Schulze.
10665
10666        [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
10667        https://bugs.webkit.org/show_bug.cgi?id=57644
10668
10669        Manual test: plugins/windowed-in-iframe-2.html
10670
10671        * manual-tests/plugins/windowed-in-iframe-2.html: Added.
10672        * platform/gtk/WidgetGtk.cpp:
10673        (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
10674        * plugins/PluginView.h: Added helper method to set the allocation and clip.
10675        * plugins/gtk/PluginViewGtk.cpp:
10676        (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
10677        the allocation immediately. Bring this method into sync with the implementation in
10678        the Qt port.
10679        (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
10680        (WebCore::PluginView::plugAddedCallback): Call the new helper method.
10681
106822011-04-26  Martin Robinson  <mrobinson@igalia.com>
10683
10684        Reviewed by Eric Seidel.
10685
10686        [GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots
10687        https://bugs.webkit.org/show_bug.cgi?id=58818
10688
10689        Prevent allocating scratch buffers larger than the target GdkDrawable
10690        when creating a WidgetRenderingContext. This prevents incredibly large
10691        widgets from crashing the X Server. This change also allowed greatly
10692        simplifying the way that the painting offset is calculated.
10693
10694        * platform/gtk/WidgetRenderingContext.cpp:
10695        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
10696        larger than the target GdkDrawable.
10697        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
10698        blit by looking at the location of the target rect itself, rather than delaying the
10699        calculation up to this point.
10700        (WebCore::WidgetRenderingContext::calculateClipRect): Added.
10701        (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
10702        (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
10703        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
10704        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
10705        (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
10706        (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
10707        (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
10708        (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
10709        (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
10710        * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
10711        a member to store the IntSize mapping from the coordinates of the target to the coordinates
10712        of the scratch buffer.
10713
107142011-04-26  Patrick Gansterer  <paroga@webkit.org>
10715
10716        Reviewed by Adam Barth.
10717
10718        Respect charset in handleDataURL
10719        https://bugs.webkit.org/show_bug.cgi?id=47746
10720
10721        Original patch by Kwang Yul Seo <skyul@company100.net>
10722
10723        We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
10724        returns an empty string because encoding name is not specified.
10725
10726        Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.
10727
10728        This change fixes over 130 layout tests when running GTK port with cURL network backend.
10729
10730        * platform/network/DataURL.cpp:
10731        (WebCore::handleDataURL):
10732
107332011-04-26  Anders Carlsson  <andersca@apple.com>
10734
10735        Fix clang++ build.
10736
10737        You can never have too many casts!
10738
10739        * accessibility/mac/AccessibilityObjectWrapper.mm:
10740        (-[AccessibilityObjectWrapper position]):
10741        * editing/mac/SelectionControllerMac.mm:
10742        (WebCore::accessibilityConvertScreenRect):
10743
107442011-04-26  Chris Rogers  <crogers@google.com>
10745
10746        Reviewed by Kenneth Russell.
10747
10748        Fix web audio build on mac port
10749        https://bugs.webkit.org/show_bug.cgi?id=59355
10750
10751        No new tests since audio API is not yet implemented.
10752
10753        * WebCore.xcodeproj/project.pbxproj:
10754        * bindings/js/JSAudioContextCustom.cpp:
10755        (WebCore::JSAudioContext::visitChildren):
10756        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
10757        (WebCore::JSJavaScriptAudioNode::visitChildren):
10758        * webaudio/AudioContext.idl:
10759
107602011-04-26  Chris Rogers  <crogers@google.com>
10761
10762        Reviewed by Kenneth Russell.
10763
10764        Add FFTFrame implementation for FFmpeg
10765        https://bugs.webkit.org/show_bug.cgi?id=59408
10766
10767        No new tests since audio API is not yet implemented.
10768
10769        * WebCore.gyp/WebCore.gyp:
10770        * WebCore.gypi:
10771        * platform/audio/FFTFrame.h:
10772        * platform/audio/FFTFrameStub.cpp:
10773        * platform/audio/ffmpeg: Added.
10774        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
10775        (WebCore::FFTFrame::FFTFrame):
10776        (WebCore::FFTFrame::initialize):
10777        (WebCore::FFTFrame::cleanup):
10778        (WebCore::FFTFrame::~FFTFrame):
10779        (WebCore::FFTFrame::multiply):
10780        (WebCore::FFTFrame::doFFT):
10781        (WebCore::FFTFrame::doInverseFFT):
10782        (WebCore::FFTFrame::realData):
10783        (WebCore::FFTFrame::imagData):
10784        (WebCore::FFTFrame::getUpToDateComplexData):
10785        (WebCore::FFTFrame::contextForSize):
10786        * platform/audio/mac/FFTFrameMac.cpp:
10787        * webaudio/ConvolverNode.cpp:
10788
107892011-04-26  Jeff Miller  <jeffm@apple.com>
10790
10791        Add a newline at the end of SVGFEDropShadowElement.idl.
10792
10793        * svg/SVGFEDropShadowElement.idl:
10794
107952011-04-26  Mihai Parparita  <mihaip@chromium.org>
10796
10797        Reviewed by Eric Seidel.
10798
10799        InlineBox.h shouldn't include RenderBR.h
10800        https://bugs.webkit.org/show_bug.cgi?id=59480
10801
10802        Per bug 59348 RenderBR.h is a "top header" by include * size, because
10803        InlineBox.h includes it. There's no reason why it has to.
10804
10805        * rendering/InlineBox.h:
10806        * rendering/InlineTextBox.cpp:
10807        * rendering/RenderBlock.h:
10808
108092011-04-26  Sam Weinig  <sam@webkit.org>
10810
10811        Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
10812        I should do.
10813
10814        * bindings/js/JSDOMBinding.h:
10815        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
10816        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
10817        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
10818        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
10819        (WebCore::DOMConstructorObject::DOMConstructorObject):
10820        * bindings/js/JSDOMWrapper.h:
10821        (WebCore::JSDOMWrapper::JSDOMWrapper):
10822        * bindings/scripts/CodeGeneratorJS.pm:
10823
108242011-04-26  Sam Weinig  <sam@webkit.org>
10825
10826        Fix build.
10827
10828        * bindings/js/JSDOMWrapper.h:
10829        (WebCore::JSDOMWrapper::globalObject):
10830
108312011-04-26  Sam Weinig  <sam@webkit.org>
10832
10833        Roll r84945 back in with infinite recursion removed.
10834
10835        * bindings/js/JSDOMBinding.h:
10836        (WebCore::DOMConstructorObject::DOMConstructorObject):
10837        * bindings/js/JSDOMWrapper.h:
10838        (WebCore::JSDOMWrapper::globalObject):
10839        (WebCore::JSDOMWrapper::scriptExecutionContext):
10840        (WebCore::JSDOMWrapper::createStructure):
10841        (WebCore::JSDOMWrapper::JSDOMWrapper):
10842        * bindings/scripts/CodeGeneratorJS.pm:
10843
108442011-04-26  Sam Weinig  <sam@webkit.org>
10845
10846        Rollout previous patch. It broke stuff.
10847
10848        * bindings/js/JSDOMBinding.h:
10849        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
10850        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
10851        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
10852        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
10853        (WebCore::DOMConstructorObject::DOMConstructorObject):
10854        * bindings/js/JSDOMWrapper.h:
10855        (WebCore::JSDOMWrapper::JSDOMWrapper):
10856        * bindings/scripts/CodeGeneratorJS.pm:
10857
108582011-04-26  Sam Weinig  <sam@webkit.org>
10859
10860        Reviewed by Maciej Stachowiak.
10861
10862        Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
10863        https://bugs.webkit.org/show_bug.cgi?id=59310
10864
10865        * bindings/js/JSDOMBinding.h:
10866        (WebCore::DOMConstructorObject::DOMConstructorObject):
10867        * bindings/js/JSDOMWrapper.h:
10868        (WebCore::JSDOMWrapper::globalObject):
10869        (WebCore::JSDOMWrapper::scriptExecutionContext):
10870        (WebCore::JSDOMWrapper::createStructure):
10871        (WebCore::JSDOMWrapper::JSDOMWrapper):
10872        Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.
10873
10874        * bindings/scripts/CodeGeneratorJS.pm:
10875        Make JSDOMWrapper the base class.
10876
108772011-04-26  Dan Bernstein  <mitz@apple.com>
10878
10879        Reviewed by Mark Rowe.
10880
10881        Choose the compiler based on the Xcode version for Snow Leopard debug builds.
10882
10883        * Configurations/Base.xcconfig:
10884        * Configurations/CompilerVersion.xcconfig: Added.
10885
108862011-04-26  Adrienne Walker  <enne@google.com>
10887
10888        Reviewed by Geoffrey Garen.
10889
10890        Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
10891        https://bugs.webkit.org/show_bug.cgi?id=59469
10892
10893        * platform/chromium/TraceEvent.h:
10894        (WebCore::internal::ScopeTracer::ScopeTracer):
10895
108962011-04-25  Geoffrey Garen  <ggaren@apple.com>
10897
10898        Reviewed by Oliver Hunt.
10899
10900        Nixed special finalizer handling for WebCore strings
10901        https://bugs.webkit.org/show_bug.cgi?id=59425
10902
10903        Not needed anymore, since weak handles have finalizers.
10904
10905        * WebCore.exp.in: Exports!
10906
10907        * bindings/js/DOMWrapperWorld.cpp:
10908        (WebCore::JSStringOwner::finalize):
10909        (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
10910        so we don't need special treatment anymore.
10911
10912        * bindings/js/DOMWrapperWorld.h:
10913        (WebCore::JSStringOwner::JSStringOwner):
10914        (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
10915        instead of a WeakGCMap, so we can specify a custom finalizer.
10916
10917        * bindings/js/JSDOMBinding.cpp:
10918        (WebCore::jsStringSlowCase):
10919        * bindings/js/JSDOMBinding.h:
10920        (WebCore::jsString): Updated for string map change.
10921
109222011-04-26  David Kilzer  <ddkilzer@apple.com>
10923
10924        <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining
10925
10926        Reviewed by Antti Koivisto.
10927
10928        To enable HTTP pipelining post-SnowLeopard, use this command:
10929
10930            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
10931
10932        * platform/network/cf/ResourceRequestCFNet.cpp:
10933        (WebCore::readBooleanPreference): Re-added.  Originally added in
10934        r76756 and removed in r84120.
10935        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
10936        HTTP pipelining if use default is set to true.  Added macro
10937        guards to match those in ResourceRequestMac.mm.
10938
109392011-04-26  Antti Koivisto  <antti@apple.com>
10940
10941        Reviewed by Adele Peterson.
10942
10943        Don't strip fragments from file: urls in memory cache
10944        https://bugs.webkit.org/show_bug.cgi?id=59463
10945        <rdar://problem/9231130>
10946
10947        Some clients expect file: resources to be unique based on fragment identifier.
10948        Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only
10949
10950        Test: fast/loader/file-protocol-fragment.html
10951
10952        * loader/cache/MemoryCache.cpp:
10953        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
10954
109552011-04-26  David Levin  <levin@chromium.org>
10956
10957        Reviewed by Darin Adler.
10958
10959        Fix more strict OwnPtr in WebCore (round N).
10960        https://bugs.webkit.org/show_bug.cgi?id=59464
10961
10962        * dom/Document.cpp:
10963        (WebCore::Document::Document):
10964        (WebCore::Document::attach):
10965        * fileapi/FileReader.cpp:
10966        (WebCore::FileReader::terminate):
10967        * loader/DocumentThreadableLoader.cpp:
10968        (WebCore::DocumentThreadableLoader::preflightFailure):
10969        * workers/DefaultSharedWorkerRepository.cpp:
10970        (WebCore::SharedWorkerConnectTask::create):
10971        (WebCore::SharedWorkerScriptLoader::load):
10972
109732011-04-26  Ruben  <chromium@hybridsource.org>
10974
10975        Reviewed by Tony Chang.
10976
10977        Change linux ifdefs for Chromium to Unix instead, allowing
10978        new Unix ports to be enabled by default
10979        https://bugs.webkit.org/show_bug.cgi?id=59297
10980
10981        No new tests, just changing preprocessor defines.
10982
10983        * bindings/js/JSInspectorFrontendHostCustom.cpp:
10984        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
10985        * dom/SelectElement.cpp:
10986        * loader/cache/CachedFont.cpp:
10987        * page/EventHandler.cpp:
10988        * page/chromium/EventHandlerChromium.cpp:
10989        * platform/Scrollbar.cpp:
10990        * platform/chromium/PlatformBridge.h:
10991        * platform/graphics/chromium/FontPlatformData.h:
10992        * platform/graphics/skia/FontCustomPlatformData.cpp:
10993        * platform/graphics/skia/FontCustomPlatformData.h:
10994
109952011-04-26  Ryosuke Niwa  <rniwa@webkit.org>
10996
10997        Reviewed by Dan Bernstein.
10998
10999        [RTL] Arabic/AB - after typing a date, cursors doesn't go back
11000        https://bugs.webkit.org/show_bug.cgi?id=49111
11001
11002        Even when the offset corresponds to a position visually left of the box
11003        and there aren't any inline boxes on the left, the previous/next position
11004        may still correspond to some position in the same line.
11005
11006        The bug was caused by our ignoring such cases. Fixed the bug by comparing
11007        previous/next position's inline box to the current box. If they match,
11008        then we stay on the same position because moving to the left visually at
11009        the left edge should not result in a position on the same line.
11010
11011        Also fixed a bug that WebKit uses offsets that are not extrema when moved to
11012        the left edge or to the right edge, and a bug that WebKit could not move to
11013        the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).
11014
11015        Test cases are added to editing/selection/move-left-right.html
11016
11017        * editing/VisiblePosition.cpp:
11018        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
11019        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
11020
110212011-04-26  Gabor Loki  <loki@webkit.org>
11022
11023        Reviewed by Csaba Osztrogonác.
11024
11025        Speeding up SVG filters with multicore (SMP) support
11026        https://bugs.webkit.org/show_bug.cgi?id=43903
11027
11028        Some SVG filters execute a huge number of pixel manipulations, which
11029        cannot be sped up by graphics accelerators, since their algorithm is
11030        too complex. Using the power of Symmetric Multi Processing (SMP) we
11031        can split up a task to smaller (data independent) tasks, which can be
11032        executed independently.
11033
11034        The ParallelJobs framework provides a simple way for distributed
11035        programming. The framework is based on WebKit's threading infrastructure,
11036        Open Multi-Processing's (OpenMP) API, and libdispatch API.
11037
11038        * ForwardingHeaders/wtf/ParallelJobs.h: Added.
11039        * platform/graphics/filters/FETurbulence.cpp:
11040        (WebCore::FETurbulence::PaintingData::PaintingData):
11041        (WebCore::FETurbulence::noise2D):
11042        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
11043        (WebCore::FETurbulence::fillRegion):
11044        (WebCore::FETurbulence::fillRegionWorker):
11045        (WebCore::FETurbulence::apply):
11046        * platform/graphics/filters/FETurbulence.h:
11047
110482011-04-26  Pavel Feldman  <pfeldman@google.com>
11049
11050        Reviewed by Yury Semikhatsky.
11051
11052        Web Inspector: close button is off in docked mode on a mac.
11053        https://bugs.webkit.org/show_bug.cgi?id=59453
11054
11055        * inspector/front-end/inspector.css:
11056        (.toolbar-item.close-left):
11057
110582011-04-26  Pavel Feldman  <pfeldman@google.com>
11059
11060        Reviewed by Yury Semikhatsky.
11061
11062        Web Inspector: New Style is not working (UI glitch)
11063        https://bugs.webkit.org/show_bug.cgi?id=59451
11064
11065        * inspector/InspectorDOMStorageAgent.cpp:
11066        (WebCore::InspectorDOMStorageAgent::setFrontend):
11067        * inspector/front-end/AuditRules.js:
11068        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
11069        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
11070        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
11071        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
11072        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
11073        * inspector/front-end/CSSStyleModel.js:
11074        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
11075        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
11076        (WebInspector.CSSStyleModel.prototype.addRule):
11077        (WebInspector.CSSStyleModel.prototype.addRule.callback):
11078        (WebInspector.CSSStyleModel.prototype._documentElementId):
11079        * inspector/front-end/DOMAgent.js:
11080        (WebInspector.DOMNode.prototype._addAttribute):
11081        (WebInspector.DOMNode.prototype.documentElement):
11082        * inspector/front-end/ResourceTreeModel.js:
11083        (WebInspector.PageDispatcher.prototype.frameDetached):
11084        * inspector/front-end/StylesSidebarPane.js:
11085        (WebInspector.StylesSidebarPane.prototype._createNewRule):
11086
110872011-04-26  Pavel Feldman  <pfeldman@google.com>
11088
11089        Reviewed by Yury Semikhatsky.
11090
11091        Web Inspector: introduce DOMStorage::enable and disable.
11092        https://bugs.webkit.org/show_bug.cgi?id=59445
11093
11094        * inspector/Inspector.json:
11095        * inspector/InspectorAgent.cpp:
11096        (WebCore::InspectorAgent::InspectorAgent):
11097        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
11098        * inspector/InspectorDOMStorageAgent.cpp:
11099        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
11100        (WebCore::InspectorDOMStorageAgent::restore):
11101        (WebCore::InspectorDOMStorageAgent::enable):
11102        (WebCore::InspectorDOMStorageAgent::disable):
11103        * inspector/InspectorDOMStorageAgent.h:
11104        (WebCore::InspectorDOMStorageAgent::create):
11105        * inspector/front-end/DOMStorage.js:
11106        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
11107        * inspector/front-end/ResourcesPanel.js:
11108        (WebInspector.ResourcesPanel.prototype._reset):
11109        * inspector/front-end/inspector.js:
11110
111112011-04-26  Pavel Feldman  <pfeldman@google.com>
11112
11113        Reviewed by Yury Semikhatsky.
11114
11115        Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
11116        https://bugs.webkit.org/show_bug.cgi?id=59440
11117
11118        * inspector/Inspector.json:
11119        * inspector/InspectorAgent.cpp:
11120        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
11121        * inspector/InspectorPageAgent.cpp:
11122        (WebCore::InspectorPageAgent::setFrontend):
11123        (WebCore::InspectorPageAgent::frameNavigated):
11124        * inspector/InspectorPageAgent.h:
11125        * inspector/front-end/AuditsPanel.js:
11126        (WebInspector.AuditsPanel):
11127        (WebInspector.AuditsPanel.prototype._onLoadEventFired):
11128        (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
11129        * inspector/front-end/CSSStyleModel.js:
11130        (WebInspector.CSSStyleModelResourceBinding):
11131        (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
11132        * inspector/front-end/DOMBreakpointsSidebarPane.js:
11133        (WebInspector.DOMBreakpointsSidebarPane):
11134        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
11135        * inspector/front-end/DOMStorage.js:
11136        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
11137        * inspector/front-end/ExtensionServer.js:
11138        (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
11139        (WebInspector.ExtensionServer.prototype.initExtensions):
11140        * inspector/front-end/NetworkPanel.js:
11141        (WebInspector.NetworkPanel):
11142        (WebInspector.NetworkPanel.prototype._onLoadEventFired):
11143        (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
11144        (WebInspector.NetworkPanel.prototype._frameNavigated):
11145        * inspector/front-end/ResourceTreeModel.js:
11146        (WebInspector.ResourceTreeModel):
11147        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
11148        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
11149        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
11150        (WebInspector.ResourceTreeModel.prototype._frameDetached):
11151        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
11152        (WebInspector.PageDispatcher):
11153        (WebInspector.PageDispatcher.prototype.domContentEventFired):
11154        (WebInspector.PageDispatcher.prototype.loadEventFired):
11155        (WebInspector.PageDispatcher.prototype.frameNavigated):
11156        (WebInspector.PageDispatcher.prototype.frameDetached):
11157        * inspector/front-end/ResourcesPanel.js:
11158        (WebInspector.ResourcesPanel):
11159        (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
11160        (WebInspector.ResourcesPanel.prototype._frameNavigated):
11161        * inspector/front-end/inspector.js:
11162
111632011-04-26  Csaba Osztrogonác  <ossy@webkit.org>
11164
11165        Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
11166        because it broke transitions/multiple-text-shadow-transition.html
11167
11168        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
11169        https://bugs.webkit.org/show_bug.cgi?id=59377
11170
11171        * css/CSSStyleSelector.cpp:
11172        (WebCore::CSSStyleSelector::applyProperty):
11173        * page/animation/AnimationBase.cpp:
11174        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
11175        (WebCore::PropertyWrapperShadow::blend):
11176        * rendering/style/RenderStyle.cpp:
11177        (WebCore::RenderStyle::setTextShadow):
11178        (WebCore::RenderStyle::setBoxShadow):
11179        * rendering/style/RenderStyle.h:
11180        (WebCore::InheritedFlags::textShadow):
11181        * rendering/style/StyleRareInheritedData.cpp:
11182        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
11183        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
11184        * rendering/style/StyleRareInheritedData.h:
11185        * rendering/style/StyleRareNonInheritedData.cpp:
11186        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
11187
111882011-04-26  Mihai Parparita  <mihaip@chromium.org>
11189
11190        Reviewed by Adam Barth.
11191
11192        Turn off make built-in implicit rules for derived sources makefile
11193        https://bugs.webkit.org/show_bug.cgi?id=59418
11194
11195        We don't use any of make's built-in implicit rules, turning them off
11196        speeds up parsing of the makefile.
11197
11198        * WebCore.xcodeproj/project.pbxproj:
11199        * gyp/generate-derived-sources.sh:
11200
112012011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>
11202
11203        Reviewed by Nikolas Zimmermann.
11204
11205        ASSERT failure in SVGUseElement
11206        https://bugs.webkit.org/show_bug.cgi?id=59313
11207
11208        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
11209        was wrong because the document may not be well-formed.
11210
11211        This patch asserts the element is not pending on resource or the
11212        document is not well-formed.
11213
11214        Test: svg/custom/use-crash-in-non-wellformed-document.svg
11215
11216        * svg/SVGUseElement.cpp:
11217        (WebCore::isWellFormedDocument):
11218        (WebCore::SVGUseElement::insertedIntoDocument):
11219
112202011-04-26  Mikhail Naganov  <mnaganov@chromium.org>
11221
11222        Reviewed by Pavel Feldman.
11223
11224        Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
11225        https://bugs.webkit.org/show_bug.cgi?id=59438
11226
11227        * inspector/front-end/DetailedHeapshotView.js:
11228        (WebInspector.DetailedHeapshotView.prototype._changeView):
11229
112302011-04-26  David Levin  <levin@chromium.org>
11231
11232        Reviewed by Adam Barth.
11233
11234        Fix a few OwnPtr strict errors in WebCore headers.
11235        https://bugs.webkit.org/show_bug.cgi?id=59431
11236
11237        * bindings/js/ScheduledAction.cpp:
11238        (WebCore::ScheduledAction::create):
11239        * css/MediaQueryMatcher.cpp:
11240        (WebCore::MediaQueryMatcher::prepareEvaluator):
11241        * dom/NodeRareData.h:
11242        (WebCore::NodeListsNodeData::create):
11243        * dom/ScriptRunner.h:
11244        (WebCore::ScriptRunner::create):
11245        * inspector/WorkerInspectorController.cpp:
11246        (WebCore::WorkerInspectorController::connectFrontend):
11247        * loader/icon/IconDatabase.h:
11248        (WebCore::IconDatabase::create):
11249        * platform/graphics/SimpleFontData.cpp:
11250        (WebCore::SimpleFontData::verticalRightOrientationFontData):
11251        (WebCore::SimpleFontData::uprightOrientationFontData):
11252        (WebCore::SimpleFontData::brokenIdeographFontData):
11253        * rendering/style/StyleRareInheritedData.cpp:
11254        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
11255        * rendering/svg/SVGResources.h:
11256        (WebCore::SVGResources::ClipperFilterMaskerData::create):
11257        (WebCore::SVGResources::MarkerData::create):
11258        (WebCore::SVGResources::FillStrokeData::create):
11259        * storage/StorageSyncManager.cpp:
11260        (WebCore::StorageSyncManager::close):
11261        * workers/WorkerContext.cpp:
11262        (WebCore::CloseWorkerContextTask::create):
11263        * workers/WorkerMessagingProxy.cpp:
11264        (WebCore::MessageWorkerContextTask::create):
11265        (WebCore::MessageWorkerTask::create):
11266        (WebCore::WorkerExceptionTask::create):
11267        (WebCore::WorkerContextDestroyedTask::create):
11268        (WebCore::WorkerTerminateTask::create):
11269        (WebCore::WorkerThreadActivityReportTask::create):
11270        * workers/WorkerRunLoop.cpp:
11271        (WebCore::WorkerRunLoop::Task::create):
11272        * workers/WorkerThread.cpp:
11273        (WebCore::WorkerThreadStartupData::create):
11274        (WebCore::WorkerThreadShutdownFinishTask::create):
11275        (WebCore::WorkerThreadShutdownStartTask::create):
11276
112772011-04-26  Adam Klein  <adamk@chromium.org>
11278
11279        Reviewed by Adam Barth.
11280
11281        Fix last strict OwnPtr violation under svg/...
11282        https://bugs.webkit.org/show_bug.cgi?id=59429
11283
11284        * svg/SVGDocumentExtensions.cpp:
11285        (WebCore::SVGDocumentExtensions::removePendingResource):
11286
112872011-04-26  Adam Barth  <abarth@webkit.org>
11288
11289        Reviewed by David Levin.
11290
11291        Fix more strict OwnPtr violations in WebCore
11292        https://bugs.webkit.org/show_bug.cgi?id=59433
11293
11294        These manifest in the Chromium build.
11295
11296        * bindings/v8/ScriptController.cpp:
11297        (WebCore::ScriptController::ScriptController):
11298        * bindings/v8/ScriptDebugServer.cpp:
11299        (WebCore::ScriptDebugServer::editScriptSource):
11300        * bindings/v8/V8DOMMap.cpp:
11301        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
11302        * bindings/v8/V8Proxy.cpp:
11303        (WebCore::V8Proxy::precompileScript):
11304        * bindings/v8/WorkerScriptController.cpp:
11305        (WebCore::WorkerScriptController::WorkerScriptController):
11306        * page/Page.cpp:
11307        (WebCore::Page::Page):
11308        (WebCore::Page::speechInput):
11309        * platform/PlatformGestureRecognizer.cpp:
11310        (WebCore::PlatformGestureRecognizer::create):
11311        * platform/PlatformGestureRecognizer.h:
11312        * platform/graphics/chromium/DrawingBufferChromium.cpp:
11313        (WebCore::DrawingBuffer::DrawingBuffer):
11314        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
11315        (WebCore::CCLayerImpl::CCLayerImpl):
11316        * platform/graphics/gpu/Texture.cpp:
11317        (WebCore::Texture::create):
11318        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
11319        (WebCore::BMPImageDecoder::decodeHelper):
11320        * platform/image-decoders/gif/GIFImageDecoder.cpp:
11321        (WebCore::GIFImageDecoder::decode):
11322        * platform/image-decoders/ico/ICOImageDecoder.cpp:
11323        (WebCore::ICOImageDecoder::decodeAtIndex):
11324        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
11325        (WebCore::JPEGImageDecoder::decode):
11326        * platform/image-decoders/png/PNGImageDecoder.cpp:
11327        (WebCore::PNGImageDecoder::decode):
11328        * storage/chromium/DatabaseTrackerChromium.cpp:
11329        (WebCore::DatabaseTracker::addOpenDatabase):
11330
113312011-04-25  David Levin  <levin@chromium.org>
11332
11333        Reviewed by Adam Barth.
11334
11335        Fix OwnPtr strict errors in CrossThreadTask.h
11336        https://bugs.webkit.org/show_bug.cgi?id=59427
11337
11338        * dom/CrossThreadTask.h:
11339        (WebCore::CrossThreadTask1::create):
11340        (WebCore::CrossThreadTask2::create):
11341        (WebCore::CrossThreadTask3::create):
11342        (WebCore::CrossThreadTask4::create):
11343        (WebCore::CrossThreadTask5::create):
11344        (WebCore::CrossThreadTask6::create):
11345        (WebCore::CrossThreadTask7::create):
11346        (WebCore::CrossThreadTask8::create):
11347
113482011-04-25  Mark Rowe  <mrowe@apple.com>
11349
11350        Reviewed by Dan Bernstein.
11351
11352        <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
11353
11354        * css/CSSStyleApplyProperty.cpp:
11355        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
11356        * css/CSSStyleApplyProperty.h:
11357        (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
11358
113592011-04-25  Levi Weintraub  <leviw@chromium.org>
11360
11361        Reviewed by Ryosuke Niwa.
11362
11363        REGRESSION: a character appears after tab span when typing immediately before the tab span
11364        https://bugs.webkit.org/show_bug.cgi?id=58132
11365
11366        Correcting the order of operations we use to avoid inserting into invalid positions in
11367        ReplaceSelectionCommand to avoid inserting into tab-spans.
11368
11369        Test: editing/pasteboard/paste-before-tab-span.html
11370
11371        * editing/ReplaceSelectionCommand.cpp:
11372        (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
11373        positionAvoidingPrecedingNodes, since that function could once again put our position
11374        inside a tab span.
11375
113762011-04-25  David Levin  <levin@chromium.org>
11377
11378        Reviewed by Adam Barth.
11379
11380        Fix OwnPtr strict error in ImageBuffer.h
11381        https://bugs.webkit.org/show_bug.cgi?id=59422
11382
11383        * platform/graphics/ImageBuffer.h:
11384        (WebCore::ImageBuffer::create):
11385
113862011-04-25  Adam Barth  <abarth@webkit.org>
11387
11388        Reviewed by David Levin.
11389
11390        Fix strict OwnPtr violations and whitelist known-tricky files
11391        https://bugs.webkit.org/show_bug.cgi?id=59421
11392
11393        With this patch, WebCore builds cleanly with strict OwnPtrs.
11394
11395        * dom/MessagePort.cpp:
11396        (WebCore::MessagePort::MessagePort):
11397        * dom/XMLDocumentParserLibxml2.cpp:
11398        * page/ContextMenuController.cpp:
11399        (WebCore::ContextMenuController::ContextMenuController):
11400        (WebCore::ContextMenuController::clearContextMenu):
11401        * page/PluginHalter.cpp:
11402        * platform/graphics/MediaPlayer.cpp:
11403        * platform/network/ResourceRequestBase.cpp:
11404        (WebCore::ResourceRequestBase::adopt):
11405        (WebCore::ResourceRequestBase::copyData):
11406        * svg/SVGDocumentExtensions.cpp:
11407
114082011-04-25  David Levin  <levin@chromium.org>
11409
11410        Reviewed by Adam Barth.
11411
11412        Fix OwnPtr strict errors in DatasetDOMStringMap.h.
11413        https://bugs.webkit.org/show_bug.cgi?id=59419
11414
11415        * dom/DatasetDOMStringMap.h:
11416        (WebCore::DatasetDOMStringMap::create):
11417
114182011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11419
11420        Reviewed by Eric Seidel.
11421
11422        KeyboardEvent.cpp should work with strict OwnPtrs.
11423        https://bugs.webkit.org/show_bug.cgi?id=59403
11424
11425        * dom/KeyboardEvent.cpp:
11426        (WebCore::KeyboardEvent::KeyboardEvent):
11427
114282011-04-25  James Robinson  <jamesr@chromium.org>
11429
11430        Reviewed by Eric Seidel.
11431
11432        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
11433        https://bugs.webkit.org/show_bug.cgi?id=59377
11434
11435        * css/CSSStyleSelector.cpp:
11436        (WebCore::CSSStyleSelector::applyProperty):
11437        * page/animation/AnimationBase.cpp:
11438        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
11439        (WebCore::PropertyWrapperShadow::blend):
11440        * rendering/style/RenderStyle.cpp:
11441        (WebCore::RenderStyle::setTextShadow):
11442        (WebCore::RenderStyle::setBoxShadow):
11443        * rendering/style/RenderStyle.h:
11444        (WebCore::InheritedFlags::textShadow):
11445        * rendering/style/StyleRareInheritedData.cpp:
11446        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
11447        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
11448        * rendering/style/StyleRareInheritedData.h:
11449        * rendering/style/StyleRareNonInheritedData.cpp:
11450        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
11451
114522011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>
11453
11454        Unreviewed, rolling out r84864.
11455        http://trac.webkit.org/changeset/84864
11456        https://bugs.webkit.org/show_bug.cgi?id=59413
11457
11458        Expect result of use-crash-in-non-wellformed-document.svg is
11459        platform dependent (Requested by leoyang on #webkit).
11460
11461        * svg/SVGUseElement.cpp:
11462        (WebCore::SVGUseElement::insertedIntoDocument):
11463
114642011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>
11465
11466        Reviewed by Nikolas Zimmermann.
11467
11468        ASSERT failure in SVGUseElement
11469        https://bugs.webkit.org/show_bug.cgi?id=59313
11470
11471        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
11472        was wrong because the document may not be well-formed.
11473
11474        This patch asserts the element is not pending on resource or the
11475        document is not well-formed.
11476
11477        Test: svg/custom/use-crash-in-non-wellformed-document.svg
11478
11479        * svg/SVGUseElement.cpp:
11480        (WebCore::isWellFormedDocument):
11481        (WebCore::SVGUseElement::insertedIntoDocument):
11482
114832011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
11484
11485        Reviewed by Tony Chang.
11486
11487        Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
11488        https://bugs.webkit.org/show_bug.cgi?id=59028
11489
11490        The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
11491        Moving the code for base class we can reduce the efforts to support DataTransferItems
11492        element in different platforms.
11493
11494        * Android.mk:
11495        * CMakeLists.txt:
11496        * GNUmakefile.list.am:
11497        * WebCore.gypi:
11498        * WebCore.pro:
11499        * WebCore.vcproj/WebCore.vcproj:
11500        * WebCore.xcodeproj/project.pbxproj:
11501        * dom/DataTransferItem.cpp:
11502        (WebCore::DataTransferItem::DataTransferItem):
11503        (WebCore::DataTransferItem::owner):
11504        (WebCore::DataTransferItem::kind):
11505        (WebCore::DataTransferItem::type):
11506        * dom/DataTransferItem.h:
11507        * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
11508        (WebCore::DataTransferItems::DataTransferItems):
11509        (WebCore::DataTransferItems::length):
11510        (WebCore::DataTransferItems::item):
11511        (WebCore::DataTransferItems::deleteItem):
11512        (WebCore::DataTransferItems::clear):
11513        (WebCore::DataTransferItems::add):
11514        * dom/DataTransferItems.h:
11515        * platform/chromium/DataTransferItemChromium.cpp:
11516        (WebCore::DataTransferItem::create):
11517        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
11518        (WebCore::DataTransferItemChromium::getAsString):
11519        (WebCore::DataTransferItemChromium::getAsFile):
11520        * platform/chromium/DataTransferItemChromium.h:
11521        * platform/chromium/DataTransferItemsChromium.cpp:
11522        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
11523        * platform/chromium/DataTransferItemsChromium.h:
11524
115252011-04-25  Chris Marrin  <cmarrin@apple.com>
11526
11527        Reviewed by Simon Fraser.
11528
11529        REGRESSION(75137): directly composited images are double-drawn sometimes
11530        https://bugs.webkit.org/show_bug.cgi?id=58632
11531
11532        Depending on the order of operations (layout, creating compositing
11533        layers and creating simple image layers) a layer can have both image
11534        content and have m_drawsContent=true. In this case 2 copies of the image
11535        are drawn in the layer. If the image has alpha, it looks wrong.
11536
11537        I added an updateDrawsContent() call after setting the image contents
11538        to make sure it's correct.
11539
11540        I couldn't create a test case that shows the problem because layerTreeAsText()
11541        doesn't emit enough info to show this level of detail. I've opened
11542        https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
11543
11544        * rendering/RenderLayerBacking.cpp:
11545        (WebCore::RenderLayerBacking::updateImageContents):
11546
115472011-04-25  Kenneth Russell  <kbr@google.com>
11548
11549        Reviewed by David Levin.
11550
11551        Fix OwnPtr strict errors in InlineFlowBox.cpp
11552        https://bugs.webkit.org/show_bug.cgi?id=59392
11553
11554        * rendering/InlineFlowBox.cpp:
11555        (WebCore::InlineFlowBox::setLayoutOverflow):
11556        (WebCore::InlineFlowBox::setVisualOverflow):
11557
115582011-04-25  Kenneth Russell  <kbr@google.com>
11559
11560        Reviewed by David Levin.
11561
11562        Fix OwnPtr strict errors in TransformState.cpp
11563        https://bugs.webkit.org/show_bug.cgi?id=59380
11564
11565        * rendering/TransformState.cpp:
11566        (WebCore::TransformState::applyTransform):
11567
115682011-04-25  Adam Barth  <abarth@webkit.org>
11569
11570        Reviewed by James Robinson.
11571
11572        DOMWindow.cpp should work with strict OwnPtrs
11573        https://bugs.webkit.org/show_bug.cgi?id=59356
11574
11575        * page/DOMWindow.cpp:
11576        (WebCore::PostMessageTimer::fired):
11577        (WebCore::DOMWindow::postMessageTimerFired):
11578        * page/DOMWindow.h:
11579
115802011-04-25  Adam Klein  <adamk@chromium.org>
11581
11582        Reviewed by James Robinson.
11583
11584        Fix OwnPtr strict errors in some SVG classes.
11585        https://bugs.webkit.org/show_bug.cgi?id=59395
11586
11587        * rendering/style/SVGRenderStyleDefs.cpp:
11588        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11589        * svg/SVGSVGElement.cpp:
11590        (WebCore::SVGSVGElement::SVGSVGElement):
11591        * svg/SVGStyledTransformableElement.cpp:
11592        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11593        * svg/SVGTextElement.cpp:
11594        (WebCore::SVGTextElement::supplementalTransform):
11595        * svg/graphics/SVGImage.cpp:
11596        (WebCore::SVGImage::dataChanged):
11597
115982011-04-25  Adam Barth  <abarth@webkit.org>
11599
11600        Re-land changes to ValidationMessage.
11601
11602        * html/ValidationMessage.cpp:
11603        (WebCore::ValidationMessage::setMessage):
11604        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11605        (WebCore::ValidationMessage::requestToHideMessage):
11606
116072011-04-25  Ojan Vafai  <ojan@chromium.org>
11608
11609        Reviewed by James Robinson.
11610
11611        fix OwnPtr strict error in FrameView.cpp
11612        https://bugs.webkit.org/show_bug.cgi?id=59402
11613
11614        * page/FrameView.cpp:
11615        (WebCore::FrameView::FrameView):
11616        (WebCore::FrameView::addWidgetToUpdate):
11617
116182011-04-25  Adam Klein  <adamk@chromium.org>
11619
11620        Unreviewed, rolling out r84844.
11621        http://trac.webkit.org/changeset/84844
11622        https://bugs.webkit.org/show_bug.cgi?id=59395
11623
11624        Checked in too much.
11625
11626        * rendering/style/SVGRenderStyleDefs.cpp:
11627        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11628        * svg/SVGDocumentExtensions.cpp:
11629        (WebCore::SVGDocumentExtensions::removePendingResource):
11630        * svg/SVGSVGElement.cpp:
11631        (WebCore::SVGSVGElement::SVGSVGElement):
11632        * svg/SVGStyledTransformableElement.cpp:
11633        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11634        * svg/SVGTextElement.cpp:
11635        (WebCore::SVGTextElement::supplementalTransform):
11636        * svg/graphics/SVGImage.cpp:
11637        (WebCore::SVGImage::dataChanged):
11638
116392011-04-25  Adrienne Walker  <enne@google.com>
11640
11641        Reviewed by David Levin.
11642
11643        Make ActiveDOMCallback play nice with OwnPtr strict mode
11644        https://bugs.webkit.org/show_bug.cgi?id=59398
11645
11646        * bindings/generic/ActiveDOMCallback.cpp:
11647        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
11648
116492011-04-25  Adam Klein  <adamk@chromium.org>
11650
11651        Reviewed by James Robinson.
11652
11653        Fix OwnPtr strict errors in some SVG classes.
11654        https://bugs.webkit.org/show_bug.cgi?id=59395
11655
11656        * rendering/style/SVGRenderStyleDefs.cpp:
11657        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11658        * svg/SVGSVGElement.cpp:
11659        (WebCore::SVGSVGElement::SVGSVGElement):
11660        * svg/SVGStyledTransformableElement.cpp:
11661        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11662        * svg/SVGTextElement.cpp:
11663        (WebCore::SVGTextElement::supplementalTransform):
11664        * svg/graphics/SVGImage.cpp:
11665        (WebCore::SVGImage::dataChanged):
11666
116672011-04-25  James Robinson  <jamesr@chromium.org>
11668
11669        Unreviewed, rolling out r84835.
11670        http://trac.webkit.org/changeset/84835
11671        https://bugs.webkit.org/show_bug.cgi?id=59394
11672
11673        Breaks compile because Deque<OwnPtr> doesn't work
11674
11675        * dom/XMLDocumentParserLibxml2.cpp:
11676        (WebCore::PendingCallbacks::~PendingCallbacks):
11677        (WebCore::PendingCallbacks::appendStartElementNSCallback):
11678        (WebCore::PendingCallbacks::appendEndElementNSCallback):
11679        (WebCore::PendingCallbacks::appendCharactersCallback):
11680        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
11681        (WebCore::PendingCallbacks::appendCDATABlockCallback):
11682        (WebCore::PendingCallbacks::appendCommentCallback):
11683        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
11684        (WebCore::PendingCallbacks::appendErrorCallback):
11685        (WebCore::XMLDocumentParser::XMLDocumentParser):
11686        * html/ValidationMessage.cpp:
11687        (WebCore::ValidationMessage::setMessage):
11688        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11689        (WebCore::ValidationMessage::requestToHideMessage):
11690
116912011-04-25  James Robinson  <jamesr@chromium.org>
11692
11693        Reviewed by Sam Weinig.
11694
11695        Fix OwnPtr strict mode violation in ImageBufferCG
11696        https://bugs.webkit.org/show_bug.cgi?id=59396
11697
11698        * platform/graphics/cg/ImageBufferCG.cpp:
11699        (WebCore::ImageBuffer::ImageBuffer):
11700
117012011-04-25  Huang Dongsung  <luxtella@company100.net>
11702
11703        Reviewed by Dirk Schulze.
11704
11705        [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
11706        https://bugs.webkit.org/show_bug.cgi?id=59308
11707
11708        An unused local variable is created and even allocates heap memory.
11709
11710        * platform/graphics/skia/PlatformContextSkia.cpp:
11711        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
11712
117132011-04-25  Geoffrey Garen  <ggaren@apple.com>
11714
11715        Qt build fix: Updated files not used by other ports for rename.
11716
11717        * bindings/js/JSTouchCustom.cpp:
11718        (WebCore::toJSNewlyCreated):
11719        * bindings/js/JSTouchListCustom.cpp:
11720        (WebCore::toJSNewlyCreated):
11721
117222011-04-25  Adrienne Walker  <enne@google.com>
11723
11724        Reviewed by David Levin.
11725
11726        WebCore/css/CSS* files should play nice with strict OwnPtrs
11727        https://bugs.webkit.org/show_bug.cgi?id=59382
11728
11729        * css/CSSFontFaceSource.cpp:
11730        (WebCore::CSSFontFaceSource::getFontData):
11731        * css/CSSParser.cpp:
11732        (WebCore::CSSParser::addProperty):
11733        (WebCore::CSSParser::parseValue):
11734
117352011-04-25  Adam Barth  <abarth@webkit.org>
11736
11737        Reviewed by James Robinson.
11738
11739        ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
11740        https://bugs.webkit.org/show_bug.cgi?id=59394
11741
11742        * dom/XMLDocumentParserLibxml2.cpp:
11743        (WebCore::PendingCallbacks::PendingCallbacks):
11744        (WebCore::PendingCallbacks::appendStartElementNSCallback):
11745        (WebCore::PendingCallbacks::appendEndElementNSCallback):
11746        (WebCore::PendingCallbacks::appendCharactersCallback):
11747        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
11748        (WebCore::PendingCallbacks::appendCDATABlockCallback):
11749        (WebCore::PendingCallbacks::appendCommentCallback):
11750        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
11751        (WebCore::PendingCallbacks::appendErrorCallback):
11752        (WebCore::XMLDocumentParser::XMLDocumentParser):
11753        * html/ValidationMessage.cpp:
11754        (WebCore::ValidationMessage::setMessage):
11755        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11756        (WebCore::ValidationMessage::requestToHideMessage):
11757
117582011-04-25  James Robinson  <jamesr@chromium.org>
11759
11760        Reviewed by Adam Barth.
11761
11762        Fix OwnPtr strictness issues in WebCore/inspector/
11763        https://bugs.webkit.org/show_bug.cgi?id=59387
11764
11765        * inspector/InspectorAgent.cpp:
11766        (WebCore::InspectorAgent::InspectorAgent):
11767        * inspector/InspectorController.cpp:
11768        (WebCore::InspectorController::InspectorController):
11769        * inspector/InspectorStyleSheet.cpp:
11770        (WebCore::InspectorStyleSheet::ensureSourceData):
11771
117722011-04-25  Geoffrey Garen  <ggaren@apple.com>
11773
11774        Reviewed by Beth Dakin.
11775
11776        Removed XPathNamespace because it was unused
11777        https://bugs.webkit.org/show_bug.cgi?id=59381
11778
11779        This allows us to make Node::ownerDocument() non-virtual, though it has
11780        the unhappy side-effect of rebuilding the world.
11781
11782        * CMakeLists.txt:
11783        * GNUmakefile.list.am:
11784        * WebCore.gypi:
11785        * WebCore.pro:
11786        * WebCore.vcproj/WebCore.vcproj:
11787        * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
11788
11789        * dom/Node.h: Hello fast code!
11790
11791        * xml/XPathNamespace.cpp: Removed.
11792        * xml/XPathNamespace.h: Removed.
11793
117942011-04-25  Adam Barth  <abarth@webkit.org>
11795
11796        Reviewed by Darin Adler.
11797
11798        HistoryItemMac should play nice with OwnPtrs
11799        https://bugs.webkit.org/show_bug.cgi?id=59388
11800
11801        * history/mac/HistoryItemMac.mm:
11802        (WebCore::HistoryItem::setTransientProperty):
11803
118042011-04-25  David Levin  <levin@chromium.org>
11805
11806        Reviewed by Kenneth Russell.
11807
11808        Fix strict OwnPtrs in ContextMenuController.cpp
11809        https://bugs.webkit.org/show_bug.cgi?id=59375
11810
11811        * page/ContextMenuController.cpp:
11812        (WebCore::ContextMenuController::createContextMenu):
11813        (WebCore::separatorItem):
11814
118152011-04-25  Adam Barth  <abarth@webkit.org>
11816
11817        Reviewed by Darin Adler.
11818
11819        CheckedRadioButton should play nice with strict OwnPtr
11820        https://bugs.webkit.org/show_bug.cgi?id=59386
11821
11822        * dom/CheckedRadioButtons.cpp:
11823        (WebCore::CheckedRadioButtons::addButton):
11824
118252011-04-25  Adam Barth  <abarth@webkit.org>
11826
11827        Reviewed by David Levin.
11828
11829        Resource*.cpp should play nice with strict OwnPtrs
11830        https://bugs.webkit.org/show_bug.cgi?id=59383
11831
11832        * bridge/runtime_method.cpp:
11833        (JSC::RuntimeMethod::RuntimeMethod):
11834        * platform/network/ResourceHandle.cpp:
11835        (WebCore::ResourceHandle::ResourceHandle):
11836        * platform/network/ResourceResponseBase.cpp:
11837        (WebCore::ResourceResponseBase::adopt):
11838        (WebCore::ResourceResponseBase::copyData):
11839
118402011-04-25  Adam Barth  <abarth@webkit.org>
11841
11842        Reviewed by David Levin.
11843
11844        Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
11845        https://bugs.webkit.org/show_bug.cgi?id=59374
11846
11847        * bridge/objc/objc_runtime.mm:
11848        (JSC::Bindings::callObjCFallbackObject):
11849        * page/Page.cpp:
11850        (WebCore::Page::Page):
11851        (WebCore::Page::initGroup):
11852        * page/PageGroup.cpp:
11853        (WebCore::PageGroup::addUserScriptToWorld):
11854        (WebCore::PageGroup::addUserStyleSheetToWorld):
11855        * page/mac/PageMac.cpp:
11856        (WebCore::Page::addSchedulePair):
11857
118582011-04-25  Geoffrey Garen  <ggaren@apple.com>
11859
11860        Build fix: This time for sure!
11861
11862        * dom/make_names.pl:
11863
118642011-04-25  Geoffrey Garen  <ggaren@apple.com>
11865
11866        Build fix: Let's edit the script instead of the autogenrated file. That
11867        way, our change will stand the test of time.
11868
11869        * dom/make_names.pl:
11870
118712011-04-25  Adam Barth  <abarth@webkit.org>
11872
11873        Reviewed by David Levin.
11874
11875        Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
11876        https://bugs.webkit.org/show_bug.cgi?id=59368
11877
11878        * html/HTMLMediaElement.cpp:
11879        (WebCore::HTMLMediaElement::HTMLMediaElement):
11880        * platform/network/HTTPHeaderMap.cpp:
11881        (WebCore::HTTPHeaderMap::copyData):
11882
118832011-04-25  James Robinson  <jamesr@chromium.org>
11884
11885        Reviewed by Adam Barth.
11886
11887        Fix strict OwnPtr violations in Render*.cpp
11888        https://bugs.webkit.org/show_bug.cgi?id=59361
11889
11890        * rendering/RenderBlock.cpp:
11891        (WebCore::RenderBlock::RenderBlock):
11892        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
11893        * rendering/RenderBox.cpp:
11894        (WebCore::RenderBox::addLayoutOverflow):
11895        (WebCore::RenderBox::addVisualOverflow):
11896        * rendering/RenderButton.cpp:
11897        (WebCore::RenderButton::styleDidChange):
11898        * rendering/RenderLayer.cpp:
11899        (WebCore::RenderLayer::updateTransform):
11900        (WebCore::RenderLayer::paintChildLayerIntoColumns):
11901        (WebCore::RenderLayer::hitTestChildLayerColumns):
11902        (WebCore::RenderLayer::ensureBacking):
11903        * rendering/RenderTable.cpp:
11904        (WebCore::RenderTable::styleDidChange):
11905        * rendering/RenderView.cpp:
11906        (WebCore::RenderView::compositor):
11907        * rendering/style/RenderStyle.cpp:
11908        (WebCore::RenderStyle::addCachedPseudoStyle):
11909        (WebCore::RenderStyle::accessCounterDirectives):
11910        (WebCore::RenderStyle::accessAnimations):
11911        (WebCore::RenderStyle::accessTransitions):
11912        * rendering/svg/RenderSVGResourceFilter.cpp:
11913        (WebCore::RenderSVGResourceFilter::applyResource):
11914        * rendering/svg/SVGResources.cpp:
11915        (WebCore::SVGResources::SVGResources):
11916
119172011-04-25  Adam Barth  <abarth@webkit.org>
11918
11919        Attempt to fix the compile.
11920
11921        * platform/graphics/MediaPlayer.cpp:
11922        (WebCore::MediaPlayer::loadWithNextMediaEngine):
11923
119242011-04-25  Geoffrey Garen  <ggaren@apple.com>
11925
11926        Rubber-stamped by Beth Dakin.
11927
11928        Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into
11929        CREATE_DOM_WRAPPER because there's no meaningful difference between
11930        them anymore.
11931
11932        * bindings/js/JSCDATASectionCustom.cpp:
11933        (WebCore::toJSNewlyCreated):
11934        * bindings/js/JSCSSRuleCustom.cpp:
11935        (WebCore::toJS):
11936        * bindings/js/JSCSSValueCustom.cpp:
11937        (WebCore::toJS):
11938        * bindings/js/JSDOMBinding.h:
11939        * bindings/js/JSDocumentCustom.cpp:
11940        (WebCore::toJS):
11941        * bindings/js/JSElementCustom.cpp:
11942        (WebCore::toJSNewlyCreated):
11943        * bindings/js/JSEventCustom.cpp:
11944        (WebCore::toJS):
11945        * bindings/js/JSHTMLCollectionCustom.cpp:
11946        (WebCore::toJS):
11947        * bindings/js/JSImageDataCustom.cpp:
11948        (WebCore::toJS):
11949        * bindings/js/JSNodeCustom.cpp:
11950        (WebCore::createWrapperInline):
11951        * bindings/js/JSSVGPathSegCustom.cpp:
11952        (WebCore::toJS):
11953        * bindings/js/JSStyleSheetCustom.cpp:
11954        (WebCore::toJS):
11955        * bindings/js/JSTextCustom.cpp:
11956        (WebCore::toJSNewlyCreated):
11957        * bindings/js/JSWebKitCSSMatrixCustom.cpp:
11958        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
11959        * bindings/js/JSWebSocketCustom.cpp:
11960        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
11961        * bindings/js/JSXMLHttpRequestCustom.cpp:
11962        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
11963        * bindings/js/JSXSLTProcessorCustom.cpp:
11964        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
11965
119662011-04-25  Adam Barth  <abarth@webkit.org>
11967
11968        Reviewed by James Robinson.
11969
11970        HTMLDocumentParser should play nice with OwnPtrs
11971        https://bugs.webkit.org/show_bug.cgi?id=59363
11972
11973        * html/parser/HTMLDocumentParser.cpp:
11974        (WebCore::HTMLDocumentParser::pumpTokenizer):
11975
119762011-04-25  Adam Barth  <abarth@webkit.org>
11977
11978        Reviewed by James Robinson.
11979
11980        Frame.cpp should work with strict OwnPtrs
11981        https://bugs.webkit.org/show_bug.cgi?id=59360
11982
11983        * page/Frame.cpp:
11984        (WebCore::createRegExpForLabels):
11985
119862011-04-25  Adam Barth  <abarth@webkit.org>
11987
11988        Reviewed by David Levin.
11989
11990        Fix strict OwnPtr in Element.cpp
11991        https://bugs.webkit.org/show_bug.cgi?id=59357
11992
11993        * dom/NodeRareData.h:
11994        (WebCore::NodeRareData::ensureEventTargetData):
11995
119962011-04-25  Adam Barth  <abarth@webkit.org>
11997
11998        Reviewed by David Levin.
11999
12000        Fix strict OwnPtr issues in Media*.cpp
12001        https://bugs.webkit.org/show_bug.cgi?id=59354
12002
12003        There's still a tricky case in MediaPlayer.cpp, but we'll worry about
12004        that later.
12005
12006        * css/MediaQueryMatcher.cpp:
12007        (WebCore::MediaQueryMatcher::addListener):
12008        * dom/Document.cpp:
12009        * platform/graphics/MediaPlayer.cpp:
12010        (WebCore::createNullMediaPlayer):
12011
120122011-04-25  James Robinson  <jamesr@chromium.org>
12013
12014        Reviewed by David Levin.
12015
12016        Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
12017        https://bugs.webkit.org/show_bug.cgi?id=59353
12018
12019        * rendering/RenderLayerCompositor.cpp:
12020        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
12021
120222011-04-25  Adam Barth  <abarth@webkit.org>
12023
12024        Reviewed by James Robinson.
12025
12026        Worker*.cpp should work with strict OwnPtrs
12027        https://bugs.webkit.org/show_bug.cgi?id=59346
12028
12029        * inspector/WorkerInspectorController.cpp:
12030        (WebCore::WorkerInspectorController::WorkerInspectorController):
12031        * workers/WorkerContext.cpp:
12032        (WebCore::WorkerContext::WorkerContext):
12033        * workers/WorkerRunLoop.cpp:
12034        (WebCore::WorkerRunLoop::WorkerRunLoop):
12035        * workers/WorkerScriptLoader.cpp:
12036        (WebCore::WorkerScriptLoader::createResourceRequest):
12037
120382011-04-25  James Robinson  <jamesr@chromium.org>
12039
12040        Reviewed by Adam Barth.
12041
12042        Remove bad use of OwnPtr::set() in IconDatabase.cpp
12043        https://bugs.webkit.org/show_bug.cgi?id=59344
12044
12045        Needed for strict OwnPtr compliance.
12046
12047        * loader/icon/IconDatabase.cpp:
12048        (WebCore::readySQLiteStatement):
12049
120502011-04-25  Adam Barth  <abarth@webkit.org>
12051
12052        Reviewed by Maciej Stachowiak.
12053
12054        ImageBuffer.h should work with strict OwnPtrs
12055        https://bugs.webkit.org/show_bug.cgi?id=59341
12056
12057        This patch is to prepare for the strict OwnPtr hack-a-thon.
12058
12059        * platform/graphics/ImageBuffer.h:
12060        (WebCore::ImageBuffer::create):
12061
120622011-04-25  Steve Falkenburg  <sfalken@apple.com>
12063
12064        Reviewed by Brian Weinstein.
12065
12066        WebCore build on Windows should include windows.h in its precompiled header to speed builds
12067        https://bugs.webkit.org/show_bug.cgi?id=59339
12068
12069        windows.h is included by several of the underlying wtf headers, including Atomics.h and
12070        ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
12071
12072        On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
12073        (a 12% speedup).
12074
12075        * WebCorePrefix.h: Include windows.h
12076
120772011-04-25  Martin Robinson  <mrobinson@igalia.com>
12078
12079        Reviewed by Xan Lopez.
12080
12081        [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
12082        https://bugs.webkit.org/show_bug.cgi?id=59311
12083
12084        * platform/gtk/MainFrameScrollbarGtk.cpp:
12085        (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
12086        disconnect any lingering signal handlers. This prevents an adjustment from controlling the
12087        active ScrollView and some zombie ScrollView.
12088
120892011-04-25  Geoffrey Garen  <ggaren@apple.com>
12090
12091        Another shot at fixing the EFL build.
12092
12093        * UseJSC.cmake:
12094        * bindings/js/JSDOMBinding.cpp:
12095
120962011-04-25  Geoffrey Garen  <ggaren@apple.com>
12097
12098        Try to fix EFL build.
12099
12100        * UseJSC.cmake: Added a missing file.
12101
121022011-04-25  Geoffrey Garen  <ggaren@apple.com>
12103
12104        Reviewed by Oliver Hunt.
12105
12106        Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
12107        https://bugs.webkit.org/show_bug.cgi?id=59333
12108
12109        * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
12110
12111        * bindings/js/JSDOMBinding.cpp:
12112        * bindings/js/JSDOMBinding.h:
12113        * bindings/js/JSDocumentCustom.cpp:
12114        * bindings/js/JSWorkerContextCustom.cpp:
12115        (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
12116
12117        * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
12118        lifetime management.
12119
12120        * dom/Document.idl: No need for a custom mark function anymore, since
12121        ActiveDOMObjets now manage their own lifetimes.
12122
12123        * dom/MessagePort.cpp:
12124        (WebCore::MessagePort::hasPendingActivity): Correctly report that we
12125        have pending activity when we're remotely entangled, instead of relying
12126        on our clients to know this about us and do the check for us.
12127
12128        * dom/MessagePort.h: FIXME!
12129
12130        * dom/MessagePort.idl:
12131        * fileapi/DOMFileSystem.idl:
12132        * fileapi/FileReader.idl:
12133        * fileapi/FileWriter.idl:
12134        * notifications/Notification.idl:
12135        * notifications/NotificationCenter.idl:
12136        * page/EventSource.idl:
12137        * storage/IDBDatabase.idl:
12138        * storage/IDBRequest.idl:
12139        * storage/IDBTransaction.idl:
12140        * webaudio/AudioContext.idl:
12141        * websockets/WebSocket.idl:
12142        * workers/AbstractWorker.idl:
12143        * workers/SharedWorker.idl:
12144        * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
12145
12146        * workers/WorkerContext.cpp:
12147        (WebCore::WorkerContext::hasPendingActivity): No need to make up for
12148        MessagePort::hasPendingActivity being wrong anymore, since it's now right.
12149
12150        * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
12151
121522011-04-25  Yury Semikhatsky  <yurys@chromium.org>
12153
12154        Reviewed by Pavel Feldman.
12155
12156        Web Inspector: worker messages should be routed to corresponding worker front-end
12157        https://bugs.webkit.org/show_bug.cgi?id=59323
12158
12159        Added WorkerManager which is responsible for routing messages between
12160        Page inspector front-end and Worker inspector front-ends.
12161
12162        * WebCore.gypi:
12163        * inspector/front-end/WebKit.qrc:
12164        * inspector/front-end/WorkerManager.js: Added.
12165        (WebInspector.WorkerManager):
12166        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
12167        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
12168        (WebInspector.WorkerManager.loaded):
12169        (WebInspector.WorkerFrontendStub):
12170        (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
12171        (WebInspector.WorkerDispatcher):
12172        (WebInspector.WorkerDispatcher.prototype._receiveMessage):
12173        (WebInspector.WorkerDispatcher.prototype.workerCreated):
12174        (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
12175        * inspector/front-end/inspector.html:
12176        * inspector/front-end/inspector.js:
12177        (WebInspector.loaded):
12178
121792011-04-25  Annie Sullivan  <sullivan@chromium.org>
12180
12181        Reviewed by Pavel Feldman.
12182
12183        Web Inspector: [Resources panel] Should be easy to copy data.
12184        https://bugs.webkit.org/show_bug.cgi?id=45662
12185
12186        Adds context menu items to copy resource location, resource request headers, and resource response headers.
12187
12188        * inspector/front-end/NetworkPanel.js:
12189        (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
12190        (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
12191        (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
12192        (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
12193        * inspector/front-end/Resource.js:
12194        (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
12195        (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
12196
121972011-04-25  Alexander Pavlov  <apavlov@chromium.org>
12198
12199        Reviewed by Yury Semikhatsky.
12200
12201        Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
12202        https://bugs.webkit.org/show_bug.cgi?id=59322
12203
12204        Use TextResourceDecoder to determine external stylesheet charsets correctly.
12205
12206        Test: inspector/styles/parse-utf8-bom.html
12207
12208        * inspector/InspectorStyleSheet.cpp:
12209        (WebCore::InspectorStyleSheet::originalStyleSheetText):
12210
122112011-04-25  Pavel Feldman  <pfeldman@google.com>
12212
12213        Not reviewed: Inspector.json cleanup.
12214
12215        * inspector/Inspector.json:
12216
122172011-04-25  Yury Semikhatsky  <yurys@chromium.org>
12218
12219        Reviewed by Pavel Feldman.
12220
12221        Web Inspector: introduce InspectorWorkerAgent
12222        https://bugs.webkit.org/show_bug.cgi?id=59320
12223
12224        InspectorWorkerAgent is responsible for routing inspector messages
12225        between worker context inspector agents and corresponding worker
12226        inspector front-end.
12227
12228        * CMakeLists.txt:
12229        * GNUmakefile.list.am:
12230        * WebCore.gypi:
12231        * WebCore.pro:
12232        * WebCore.vcproj/WebCore.vcproj:
12233        * WebCore.xcodeproj/project.pbxproj:
12234        * inspector/CodeGeneratorInspector.pm:
12235        * inspector/Inspector.json:
12236        * inspector/InspectorAgent.cpp:
12237        (WebCore::InspectorAgent::InspectorAgent):
12238        (WebCore::InspectorAgent::setFrontend):
12239        (WebCore::InspectorAgent::disconnectFrontend):
12240        * inspector/InspectorAgent.h:
12241        (WebCore::InspectorAgent::workerAgent):
12242        * inspector/InspectorController.cpp:
12243        (WebCore::InspectorController::connectFrontend):
12244        (WebCore::InspectorController::disconnectFrontend):
12245        * inspector/InspectorInstrumentation.cpp:
12246        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
12247        * inspector/InspectorInstrumentation.h:
12248        (WebCore::InspectorInstrumentation::willStartWorkerContext):
12249        (WebCore::InspectorInstrumentation::didStartWorkerContext):
12250        * inspector/InspectorWorkerAgent.cpp: Added.
12251        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
12252        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
12253        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
12254        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
12255        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
12256        (WebCore::InspectorWorkerAgent::create):
12257        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
12258        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
12259        (WebCore::InspectorWorkerAgent::setFrontend):
12260        (WebCore::InspectorWorkerAgent::clearFrontend):
12261        (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
12262        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
12263        * inspector/InspectorWorkerAgent.h: Added.
12264        * inspector/InstrumentingAgents.h:
12265        (WebCore::InstrumentingAgents::InstrumentingAgents):
12266        (WebCore::InstrumentingAgents::inspectorWorkerAgent):
12267        (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
12268        * inspector/WorkerInspectorController.cpp:
12269        (WebCore::WorkerInspectorController::connectFrontend):
12270        * inspector/generate-inspector-idl:
12271        * workers/Worker.cpp:
12272        (WebCore::Worker::notifyFinished):
12273        * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
12274        messages sent from the inspected page worker agent to the worker context inspector agents.
12275        (WebCore::WorkerContextInspectorProxy::connectFrontend):
12276        (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
12277        (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
12278        (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
12279        * workers/WorkerContextProxy.h:
12280        (WebCore::WorkerContextProxy::inspectorProxy):
12281
122822011-04-25  Pavel Feldman  <pfeldman@google.com>
12283
12284        Reviewed by Yury Semikhatsky.
12285
12286        Web Inspector: move Frame and Resource Tree management into the Page agent.
12287        https://bugs.webkit.org/show_bug.cgi?id=59321
12288
12289        Network agent should only handle network-related activities.
12290        Frame structure should be managed by the Page agent instead.
12291
12292        * inspector/Inspector.json:
12293        * inspector/InspectorAgent.cpp:
12294        (WebCore::InspectorAgent::InspectorAgent):
12295        * inspector/InspectorDOMAgent.cpp:
12296        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
12297        (WebCore::InspectorDOMAgent::setFrontend):
12298        (WebCore::InspectorDOMAgent::restore):
12299        (WebCore::InspectorDOMAgent::highlightFrame):
12300        * inspector/InspectorDOMAgent.h:
12301        (WebCore::InspectorDOMAgent::create):
12302        * inspector/InspectorInstrumentation.cpp:
12303        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
12304        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
12305        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
12306        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
12307        * inspector/InspectorPageAgent.cpp:
12308        (WebCore::InspectorPageAgent::create):
12309        (WebCore::InspectorPageAgent::resourceContent):
12310        (WebCore::InspectorPageAgent::resourceContentBase64):
12311        (WebCore::InspectorPageAgent::resourceData):
12312        (WebCore::InspectorPageAgent::cachedResource):
12313        (WebCore::InspectorPageAgent::resourceTypeString):
12314        (WebCore::InspectorPageAgent::cachedResourceType):
12315        (WebCore::InspectorPageAgent::cachedResourceTypeString):
12316        (WebCore::InspectorPageAgent::InspectorPageAgent):
12317        (WebCore::InspectorPageAgent::setFrontend):
12318        (WebCore::InspectorPageAgent::reload):
12319        (WebCore::InspectorPageAgent::open):
12320        (WebCore::InspectorPageAgent::getCookies):
12321        (WebCore::InspectorPageAgent::deleteCookie):
12322        (WebCore::InspectorPageAgent::getResourceTree):
12323        (WebCore::InspectorPageAgent::getResourceContent):
12324        (WebCore::InspectorPageAgent::restore):
12325        (WebCore::InspectorPageAgent::domContentEventFired):
12326        (WebCore::InspectorPageAgent::loadEventFired):
12327        (WebCore::InspectorPageAgent::frameNavigated):
12328        (WebCore::InspectorPageAgent::frameDetached):
12329        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
12330        (WebCore::InspectorPageAgent::mainFrame):
12331        (WebCore::pointerAsId):
12332        (WebCore::InspectorPageAgent::frameForId):
12333        (WebCore::InspectorPageAgent::frameId):
12334        (WebCore::InspectorPageAgent::loaderId):
12335        (WebCore::InspectorPageAgent::buildObjectForFrame):
12336        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
12337        * inspector/InspectorPageAgent.h:
12338        * inspector/InspectorResourceAgent.cpp:
12339        (WebCore::buildObjectForCachedResource):
12340        (WebCore::InspectorResourceAgent::willSendRequest):
12341        (WebCore::InspectorResourceAgent::didReceiveResponse):
12342        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
12343        (WebCore::InspectorResourceAgent::setInitialScriptContent):
12344        (WebCore::InspectorResourceAgent::setInitialXHRContent):
12345        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
12346        * inspector/InspectorResourceAgent.h:
12347        (WebCore::InspectorResourceAgent::create):
12348        * inspector/InspectorStyleSheet.cpp:
12349        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
12350        * inspector/front-end/NetworkManager.js:
12351        (WebInspector.NetworkManager.prototype.requestContent):
12352        * inspector/front-end/NetworkPanel.js:
12353        (WebInspector.NetworkPanel):
12354        (WebInspector.NetworkPanel.prototype.frameNavigated):
12355        * inspector/front-end/ResourceTreeModel.js:
12356        (WebInspector.ResourceTreeModel):
12357        (WebInspector.ResourceTreeModel.prototype.frontendReused):
12358        (WebInspector.ResourceTreeModel.prototype.frameNavigated):
12359        (WebInspector.ResourceTreeModel.prototype.frameDetached):
12360        * inspector/front-end/inspector.js:
12361        (WebInspector.domContentEventFired):
12362        (WebInspector.loadEventFired):
12363        (WebInspector.frameNavigated):
12364        (WebInspector.frameDetached):
12365
123662011-04-25  Pavel Feldman  <pfeldman@google.com>
12367
12368        Reviewed by Yury Semikhatsky.
12369
12370        Web Inspector: few protocol improvements.
12371        https://bugs.webkit.org/show_bug.cgi?id=59319
12372
12373        - Page domain is documented
12374        - setUserAgentOverride is moved to the Network agent
12375        - setSearchingForNode -> setInspectModeEnabled
12376        - highlightDOMNode -> highlightNode
12377        - reloadPage -> reload
12378        - openInNewWindow -> open with optional parameter
12379
12380        * inspector/Inspector.json:
12381        * inspector/InspectorDOMAgent.cpp:
12382        (WebCore::InspectorDOMAgent::setInspectModeEnabled):
12383        (WebCore::InspectorDOMAgent::highlightNode):
12384        * inspector/InspectorDOMAgent.h:
12385        (WebCore::InspectorDOMAgent::hideNodeHighlight):
12386        * inspector/InspectorInstrumentation.cpp:
12387        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
12388        * inspector/InspectorPageAgent.cpp:
12389        (WebCore::InspectorPageAgent::clearFrontend):
12390        (WebCore::InspectorPageAgent::reload):
12391        (WebCore::InspectorPageAgent::open):
12392        * inspector/InspectorPageAgent.h:
12393        * inspector/InspectorResourceAgent.cpp:
12394        (WebCore::InspectorResourceAgent::clearFrontend):
12395        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
12396        (WebCore::InspectorResourceAgent::setUserAgentOverride):
12397        * inspector/InspectorResourceAgent.h:
12398        * inspector/front-end/AuditsPanel.js:
12399        (WebInspector.AuditsPanel.prototype._reloadResources):
12400        * inspector/front-end/ElementsPanel.js:
12401        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
12402        * inspector/front-end/ExtensionServer.js:
12403        (WebInspector.ExtensionServer.prototype._onReload):
12404        * inspector/front-end/NetworkPanel.js:
12405        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
12406        * inspector/front-end/ResourcesPanel.js:
12407        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
12408        * inspector/front-end/inspector.js:
12409        (WebInspector.highlightDOMNode):
12410        (WebInspector.openResource):
12411        (WebInspector.documentKeyDown):
12412
124132011-04-25  Jon Lee  <jonlee@apple.com>
12414
12415        Reviewed by Maciej Stachowiak.
12416
12417        Overlay scroller hard to see on pages with dark background (59183)
12418        https://bugs.webkit.org/show_bug.cgi?id=59183
12419        <rdar://problem/8975367>
12420
12421        Switch the scrollbar's overlay style depending on its frame's background color.
12422        This refactors the getDocumentBackgroundColor method needed for gestures. The style
12423        is determined and set on every paint() call to the Mac scrollbar theme.
12424
12425        * WebCore.exp.in: adding method to allow changing style
12426        * page/Frame.cpp:
12427        (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
12428        * page/Frame.h:
12429        * page/FrameView.cpp:
12430        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
12431        * page/FrameView.h:
12432        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
12433        * platform/ScrollableArea.h:
12434        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
12435        * platform/mac/ScrollbarThemeMac.mm:
12436        (WebCore::ScrollbarThemeMac::paint):
12437        * platform/mac/WebCoreSystemInterface.h:
12438        * platform/mac/WebCoreSystemInterface.mm:
12439
124402011-04-25  Dan Bernstein  <mitz@apple.com>
12441
12442        Reviewed by Maciej Stachowiak.
12443
12444        <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
12445        https://bugs.webkit.org/show_bug.cgi?id=59315
12446
12447        * platform/Scrollbar.cpp:
12448        (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
12449        (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
12450        is scrolled a distance equal to the change in the mouse position.
12451        (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
12452        the document rather than the thumb, and pass the result to moveThumb.
12453        (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
12454        * platform/Scrollbar.h:
12455        * platform/ScrollbarTheme.h:
12456        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
12457        returns false.
12458        * platform/mac/ScrollbarThemeMac.h:
12459        * platform/mac/ScrollbarThemeMac.mm:
12460        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
12461        Option key is down.
12462
124632011-04-24  Geoffrey Garen  <ggaren@apple.com>
12464
12465        Reviewed by Sam Weinig.
12466
12467        Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
12468        https://bugs.webkit.org/show_bug.cgi?id=59307
12469
12470        * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
12471
12472        * bindings/js/JSCSSRuleCustom.cpp:
12473        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12474        * bindings/js/JSCanvasRenderingContextCustom.cpp:
12475        * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
12476        of hand-coding them.
12477
12478        * bindings/js/JSDOMBinding.h:
12479        (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
12480        they're reasonably generic.
12481
12482        * bindings/js/JSDOMImplementationCustom.cpp:
12483        * bindings/js/JSDOMStringMapCustom.cpp:
12484        * bindings/js/JSDOMTokenListCustom.cpp:
12485        * bindings/js/JSHTMLCollectionCustom.cpp:
12486        * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
12487        hand-coding them.
12488
12489        * bindings/js/JSMessageChannelCustom.cpp:
12490        (WebCore::JSMessageChannel::visitChildren):
12491        * bindings/js/JSMessagePortCustom.cpp:
12492        (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
12493        markDOMObjectWrapper. This is one of the few cases where a DOM object is
12494        considered a stand-alone root. It's not as efficient as the shared root
12495        case, but workers and message ports are very rare objects, so it's no
12496        big deal.
12497
12498        * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
12499
12500        * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
12501
12502        * bindings/js/JSSharedWorkerCustom.cpp:
12503        (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
12504        markDOMObjectWrapper, as above. Once again, a stand-alone root.
12505
12506        * bindings/js/JSStyleSheetCustom.cpp:
12507        * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
12508
12509        * bindings/js/JSWebGLRenderingContextCustom.cpp:
12510        (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
12511        system for marking WebGL contexts and their associated satellite objects.
12512
12513        * bindings/js/JSWorkerContextCustom.cpp:
12514        (WebCore::JSWorkerContext::visitChildren):
12515        * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
12516        markDOMObjectWrapper, as above. Once again, stand-alone roots.
12517
12518        (WebCore::JSXMLHttpRequest::visitChildren):
12519        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
12520        XHR because it is not reachable from us.
12521
12522        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
12523        bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
12524
12525        * css/CSSRule.idl:
12526        * css/CSSStyleDeclaration.idl:
12527        * css/MediaList.idl:
12528        * css/StyleMedia.idl:
12529        * css/StyleSheet.idl:
12530        * css/StyleSheetList.idl:
12531        * dom/DOMImplementation.idl:
12532        * dom/DOMStringMap.idl:
12533        * dom/MessagePort.idl:
12534        * dom/NamedNodeMap.idl:
12535        * fileapi/Blob.idl:
12536        * html/DOMTokenList.idl: Opt in to autogeneration.
12537
12538        * html/HTMLCanvasElement.cpp:
12539        (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
12540        usage, to reduce human error and make ownership rules more obvious.
12541
12542        * html/HTMLCollection.idl:
12543        * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
12544
12545        * html/canvas/CanvasRenderingContext.cpp:
12546        * html/canvas/CanvasRenderingContext.h:
12547        (WebCore::CanvasRenderingContext::ref):
12548        (WebCore::CanvasRenderingContext::deref):
12549        * html/canvas/CanvasRenderingContext2D.h:
12550        (WebCore::CanvasRenderingContext2D::create):
12551        (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
12552        usage, to reduce human error and make ownership rules more obvious.
12553
12554        Inlined some functions to match our standard idiom and to make the code
12555        in the header document itself.
12556
12557        * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
12558
12559        * html/canvas/OESStandardDerivatives.cpp:
12560        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
12561        (WebCore::OESStandardDerivatives::create):
12562        * html/canvas/OESStandardDerivatives.h:
12563        * html/canvas/OESStandardDerivatives.idl:
12564        * html/canvas/OESTextureFloat.cpp:
12565        (WebCore::OESTextureFloat::OESTextureFloat):
12566        (WebCore::OESTextureFloat::create):
12567        * html/canvas/OESTextureFloat.h:
12568        * html/canvas/OESTextureFloat.idl:
12569        * html/canvas/OESVertexArrayObject.cpp:
12570        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
12571        (WebCore::OESVertexArrayObject::create):
12572        * html/canvas/OESVertexArrayObject.h:
12573        * html/canvas/OESVertexArrayObject.idl:
12574        * html/canvas/WebGLExtension.cpp:
12575        (WebCore::WebGLExtension::WebGLExtension):
12576        * html/canvas/WebGLExtension.h:
12577        (WebCore::WebGLExtension::ref):
12578        (WebCore::WebGLExtension::deref):
12579        (WebCore::WebGLExtension::context):
12580        * html/canvas/WebGLRenderingContext.cpp:
12581        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
12582        (WebCore::WebGLRenderingContext::getExtension):
12583        * html/canvas/WebGLRenderingContext.h:
12584        * html/canvas/WebKitLoseContext.cpp:
12585        (WebCore::WebKitLoseContext::WebKitLoseContext):
12586        (WebCore::WebKitLoseContext::create):
12587        (WebCore::WebKitLoseContext::loseContext):
12588        * html/canvas/WebKitLoseContext.h:
12589        * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
12590        canavs rendering contexts to match the model for 2D canvas rendering
12591        contexts. This makes garbage collection a lot more straightforward, but
12592        it also makes the behavior of these objects more reliable. (Previously,
12593        satellite objects would magically stop working when the last reference
12594        to their owner object was dropped. Now, satellite objects keep their owner
12595        alive through reference counting.)
12596
12597        * loader/appcache/DOMApplicationCache.idl:
12598        * page/BarInfo.idl:
12599        * page/Console.idl:
12600        * page/DOMSelection.idl:
12601        * page/Geolocation.idl:
12602        * page/History.idl:
12603        * page/Location.idl:
12604        * page/Navigator.idl:
12605        * page/Screen.idl:
12606        * page/WorkerNavigator.idl:
12607        * plugins/DOMMimeTypeArray.h:
12608        (WebCore::DOMMimeTypeArray::frame):
12609        * plugins/DOMMimeTypeArray.idl:
12610        * plugins/DOMPluginArray.h:
12611        (WebCore::DOMPluginArray::frame):
12612        * plugins/DOMPluginArray.idl:
12613        * storage/Storage.idl:
12614        * workers/WorkerLocation.idl: Opt in to autogeneration.
12615
12616        * xml/XMLHttpRequest.cpp:
12617        (WebCore::XMLHttpRequest::~XMLHttpRequest):
12618        * xml/XMLHttpRequest.h:
12619        * xml/XMLHttpRequestUpload.cpp:
12620        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
12621        * xml/XMLHttpRequestUpload.h:
12622        (WebCore::XMLHttpRequestUpload::create):
12623        (WebCore::XMLHttpRequestUpload::ref):
12624        (WebCore::XMLHttpRequestUpload::deref):
12625        (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
12626        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
12627        * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
12628        its associated upload object to match the model for canvas. This makes
12629        garbage collection a lot more straightforward, but it also makes the
12630        behavior of these objects more reliable.
12631
126322011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
12633
12634        Unreviewed, rolling out r84759.
12635        http://trac.webkit.org/changeset/84759
12636        https://bugs.webkit.org/show_bug.cgi?id=59306
12637
12638        Caused gc-shadow.html to start crashing in V8. (Requested by
12639        dglazkov|away on #webkit).
12640
12641        * dom/Node.cpp:
12642        (WebCore::NodeRendererFactory::createRendererAndStyle):
12643        (WebCore::Node::styleForRenderer):
12644
126452011-04-24  Maciej Stachowiak  <mjs@apple.com>
12646
12647        Reviewed by George Staikos.
12648
12649        Handling of URLs like http:/example.com/ is incorrect
12650        https://bugs.webkit.org/show_bug.cgi?id=59300
12651        <rdar://problem/9231956>
12652
12653        URLs like http:/example.com/ or http:example.com/ are now correctly
12654        canonicalized as http://example.com/
12655
12656        The code still doesn't quite match other browsers - at least some
12657        other browsers seem to base parsing behavior on whether they
12658        recongize a scheme from a fixed list, and ignore whether // is
12659        present in the URL or not.
12660
12661        * platform/KURL.cpp:
12662        (WebCore::isNonFileHierarchicalScheme): New helper function.
12663        (WebCore::KURL::parse): For a particular list of whitelisted schemes,
12664        assume they are hierarchical and need an authority even if there is no //
12665        after the :/
12666
126672011-04-24  Dan Bernstein  <mitz@apple.com>
12668
12669        LLVM Compiler build fix.
12670
12671        * page/ContentSecurityPolicy.cpp: Removed an unused function.
12672
126732011-04-24  Dominic Cooney  <dominicc@chromium.org>
12674
12675        Reviewed by Dimitri Glazkov.
12676
12677        Crash when adding a text node to a shadow root
12678        https://bugs.webkit.org/show_bug.cgi?id=59304
12679
12680        Text nodes need to consult their host element for style.
12681
12682        Test: fast/dom/shadow/append-child-text.html
12683
12684        * dom/Node.cpp:
12685        (WebCore::NodeRendererFactory::styleForRenderer):
12686        (WebCore::NodeRendererFactory::createRendererAndStyle):
12687        (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
12688
126892011-04-24  Adam Barth  <abarth@webkit.org>
12690
12691        Reviewed by Eric Seidel.
12692
12693        Update Content-Security-Policy syntax to match new version of spec
12694        https://bugs.webkit.org/show_bug.cgi?id=59291
12695
12696        Brandon removed disable-xss-protection in favor of unsafe-inline and
12697        allow-eval in favor of unsafe-eval.  This change in syntax also means
12698        the options directive no longer exists.
12699
12700        * page/ContentSecurityPolicy.cpp:
12701        (WebCore::CSPSourceList::allowInline):
12702        (WebCore::CSPSourceList::allowEval):
12703        (WebCore::CSPSourceList::CSPSourceList):
12704        (WebCore::CSPSourceList::parseSource):
12705        (WebCore::CSPSourceList::addSourceUnsafeInline):
12706        (WebCore::CSPSourceList::addSourceUnsafeEval):
12707        (WebCore::CSPDirective::allowInline):
12708        (WebCore::CSPDirective::allowEval):
12709        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
12710        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
12711        (WebCore::ContentSecurityPolicy::allowInlineScript):
12712        (WebCore::ContentSecurityPolicy::allowEval):
12713        (WebCore::ContentSecurityPolicy::addDirective):
12714        * page/ContentSecurityPolicy.h:
12715
127162011-04-24  Dan Bernstein  <mitz@apple.com>
12717
12718        Reviewed by Maciej Stachowiak.
12719
12720        Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
12721        https://bugs.webkit.org/show_bug.cgi?id=59299
12722
12723        * manual-tests/back-from-document-with-scrollbar.html: Added.
12724
127252011-04-24  Rik Cabanier  <cabanier@adobe.com>
12726
12727        Reviewed by Simon Fraser.
12728
12729        Tables are not rendered correctly
12730        https://bugs.webkit.org/show_bug.cgi?id=59138
12731
12732        Test: fast/table/auto-100-percent-width.html
12733
12734        * rendering/AutoTableLayout.cpp:
12735        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
12736
127372011-04-23  Simon Fraser  <simon.fraser@apple.com>
12738
12739        Fix Windows build, which complains about unreachable code.
12740
12741        * platform/ScrollableArea.cpp:
12742        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
12743        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
12744        (WebCore::ScrollableArea::hasLayerForScrollCorner):
12745
127462011-04-23  Simon Fraser  <simon.fraser@apple.com>
12747
12748        Reviewed by Dan Bernstein.
12749
12750        Area under composited scrollbars not repainted in WebKit2 on scrolling
12751        https://bugs.webkit.org/show_bug.cgi?id=59294
12752        <rdar://problem/9299062>
12753
12754        When computing the rect that can be copied on scrolling, we normally
12755        exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
12756        the assumption is that other code will repaint these areas. However, when
12757        scrollbars are in their own compositing layers, we can, and should
12758        copy the entire area.
12759
12760        Not testable in DRT because it does not allow tests to use overlay scrollbars.
12761
12762        * platform/ScrollView.h:
12763        * platform/ScrollView.cpp:
12764        (WebCore::ScrollView::rectToCopyOnScroll):
12765        New method, with code moved from scrollContents and fixed to look
12766        for scrollbars in layers.
12767        (WebCore::ScrollView::scrollContents):
12768        Call rectToCopyOnScroll().
12769
12770        * platform/ScrollableArea.h:
12771        * platform/ScrollableArea.cpp:
12772        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
12773        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
12774        (WebCore::ScrollableArea::hasLayerForScrollCorner):
12775        Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
12776
127772011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
12778
12779        Unreviewed, rolling out r84740.
12780        http://trac.webkit.org/changeset/84740
12781        https://bugs.webkit.org/show_bug.cgi?id=59290
12782
12783        change breaks apple internal builds and is incorrect
12784        (Requested by smfr on #webkit).
12785
12786        * WebCore.exp.in:
12787        * page/FrameView.cpp:
12788        * page/FrameView.h:
12789        * platform/ScrollTypes.h:
12790        * platform/ScrollableArea.h:
12791        * platform/mac/ScrollbarThemeMac.mm:
12792        (WebCore::ScrollbarThemeMac::paint):
12793        * platform/mac/WebCoreSystemInterface.h:
12794        * platform/mac/WebCoreSystemInterface.mm:
12795
127962011-04-23  Dan Bernstein  <mitz@apple.com>
12797
12798        Reviewed by Simon Fraser.
12799
12800        <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
12801        https://bugs.webkit.org/show_bug.cgi?id=59288
12802
12803        * platform/text/mac/TextBoundaries.mm:
12804        (WebCore::wordStringTokenizer): Added this helper function.
12805        (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
12806        whose behavior is not locale-dependent.
12807
128082011-04-23  Dominic Cooney  <dominicc@chromium.org>
12809
12810        Reviewed by Dimitri Glazkov.
12811
12812        [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
12813        https://bugs.webkit.org/show_bug.cgi?id=59284
12814
12815        Test: fast/dom/shadow/gc-shadow.html
12816
12817        * bindings/v8/V8GCController.cpp:
12818        (WebCore::calculateGroupId): group shadow nodes with their hosts
12819
128202011-04-23  MORITA Hajime <morrita@google.com>
12821
12822        Reviewed by Dimitri Glazkov.
12823
12824        [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
12825        https://bugs.webkit.org/show_bug.cgi?id=59280
12826
12827        - Rename NodeRenderParentDetector to NodeRendererFactory
12828        - move createRendererAndStyle() and createRendererIfNeeded to
12829          NodeRendererFactory
12830
12831        No new test, no behavioral change.
12832
12833        * dom/Node.cpp:
12834        (WebCore::NodeRendererFactory::NodeRendererFactory):
12835        (WebCore::NodeRendererFactory::document):
12836        (WebCore::NodeRendererFactory::nextRenderer):
12837        (WebCore::NodeRendererFactory::findVisualParent):
12838        (WebCore::NodeRendererFactory::shouldCreateRenderer):
12839        (WebCore::NodeRendererFactory::createRendererAndStyle):
12840        (WebCore::NodeRendererFactory::createRendererIfNeeded):
12841        (WebCore::Node::parentNodeForRenderingAndStyle):
12842        (WebCore::Node::createRendererIfNeeded):
12843        * dom/Node.h:
12844        * html/HTMLDetailsElement.cpp:
12845        (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle()
12846
128472011-04-23  MORITA Hajime  <morrita@google.com>
12848
12849        Reviewed by Kent Tamura.
12850
12851        REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
12852        https://bugs.webkit.org/show_bug.cgi?id=59281
12853
12854        Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
12855        for vertical writing modes. This fix added a width property for each of them.
12856
12857        Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
12858               fast/dom/HTMLProgressElement/progress-writing-mode.html
12859
12860        * css/html.css:
12861        (meter::-webkit-meter-bar):
12862        (progress::-webkit-progress-bar):
12863
128642011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
12865
12866        [wx] Unreviewed build fix. Added missing header.
12867
12868        * platform/graphics/filters/FEDropShadow.h:
12869
128702011-04-23  Alexey Proskuryakov  <ap@apple.com>
12871
12872        Reviewed by Maciej Stachowiak.
12873
12874        REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
12875        https://bugs.webkit.org/show_bug.cgi?id=59241
12876        <rdar://problem/9150861>
12877
12878        Covered by manual-tests/print-after-window-close.html.
12879
12880        Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
12881        regression.
12882
12883        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
12884        doing complicated work while the loader is half-canceled.
12885
12886        * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
12887        thus being more practical.
12888
12889        * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
12890        It's too scary for me to try now.
12891
12892        * page/DOMWindow.cpp:
12893        (WebCore::DOMWindow::DOMWindow):
12894        (WebCore::DOMWindow::finishedLoading):
12895        * page/DOMWindow.h:
12896        Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
12897
128982011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>
12899
12900        Reviewed by Adam Barth.
12901
12902        [V8] Use implicit references for V8 listeners on DOM nodes.
12903        https://bugs.webkit.org/show_bug.cgi?id=58953
12904
12905        Instead of allocating an auxiliary V8 array referencing V8
12906        listener objects associated with a DOM node and using an extra
12907        pointer in every DOM node wrapper, we can register implicit
12908        references between nodes and their listeners during GC. This also
12909        makes V8 bindings more aligned with JSC bindings.
12910
12911        No new tests because this is a refactoring.
12912
12913        * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
12914        listener cache internal field for DOM nodes.
12915        * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
12916        to the GC.
12917        (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
12918        * bindings/v8/V8GCController.cpp: Started using implicit references.
12919        (WebCore::GrouperVisitor::visitDOMWrapper):
12920        * dom/EventTarget.h: Implemented an iterator over all listeners.
12921        (WebCore::EventListenerIterator):
12922
129232011-04-22  Jon Lee  <jonlee@apple.com>
12924
12925        Reviewed by Beth Dakin.
12926
12927        Overlay scroller hard to see on pages with dark background (59183)
12928        https://bugs.webkit.org/show_bug.cgi?id=59183
12929        <rdar://problem/8975367>
12930
12931        * WebCore.exp.in: adding method to allow changing style
12932        * page/FrameView.cpp:
12933        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
12934        * page/FrameView.h:
12935        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
12936        * platform/ScrollableArea.cpp:
12937        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
12938        * platform/ScrollableArea.h:
12939        * platform/mac/ScrollbarThemeMac.mm:
12940        (WebCore::ScrollbarThemeMac::paint):
12941        * platform/mac/WebCoreSystemInterface.h:
12942        * platform/mac/WebCoreSystemInterface.mm:
12943
129442011-04-22  Chris Evans  <cevans@chromium.org>
12945
12946        Reviewed by Adam Barth.
12947
12948        Upgrade CSS loads from mixed content warning (displayed) to mixed
12949        content error (ran)
12950        https://bugs.webkit.org/show_bug.cgi?id=59056
12951
12952        Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
12953        Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
12954
12955        * loader/cache/CachedResourceLoader.cpp:
12956        (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
12957
129582011-04-22  Geoffrey Garen  <ggaren@apple.com>
12959
12960        Fixed an upside-down conditional in my last check-in.
12961
12962        * bindings/js/JSDOMApplicationCacheCustom.cpp:
12963        (WebCore::isObservable):
12964
129652011-04-22  Geoffrey Garen  <ggaren@apple.com>
12966
12967        Rolled back in r84725 and r84728 with appcache crash fixed.
12968
12969        Reviewed by Oliver Hunt.
12970
12971        Removed a use of markDOMObjectWrapper: DOMWindow
12972        https://bugs.webkit.org/show_bug.cgi?id=59260
12973
12974        * bindings/js/JSDOMWindowCustom.cpp:
12975        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
12976        we use the opaque roots system now.
12977
12978        * bindings/js/JSNavigatorCustom.cpp: Ditto.
12979
12980        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
12981        whose opaque roots are frames.
12982
12983        * css/StyleMedia.h:
12984        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
12985
12986        * css/StyleMedia.idl:
12987        * loader/appcache/DOMApplicationCache.idl:
12988        * page/BarInfo.idl:
12989        * page/Console.idl:
12990        * page/DOMSelection.idl:
12991        * page/Geolocation.idl:
12992        * page/History.idl:
12993        * page/Location.idl:
12994        * page/Navigator.idl:
12995        * page/Screen.idl:
12996        * storage/Storage.idl: Updated to use the opaque roots system.
12997
129982011-04-22  Nate Chapin  <japhet@chromium.org>
12999
13000        Reviewed by Adam Barth.
13001
13002        Don't use XMLTreeViewer when script is disabled (it uses Javascript
13003        to build a prettified version of the xml document).
13004        https://bugs.webkit.org/show_bug.cgi?id=59113
13005
13006        * xml/XMLTreeViewer.cpp:
13007        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
13008
130092011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>
13010
13011        Unreviewed, rolling out r84725 and r84728.
13012        http://trac.webkit.org/changeset/84725
13013        http://trac.webkit.org/changeset/84728
13014        https://bugs.webkit.org/show_bug.cgi?id=59270
13015
13016        It broke http/tests/appcache tests (Requested by Ossy on
13017        #webkit).
13018
13019        * bindings/js/JSDOMWindowCustom.cpp:
13020        (WebCore::JSDOMWindow::visitChildren):
13021        * bindings/js/JSNavigatorCustom.cpp:
13022        (WebCore::JSNavigator::visitChildren):
13023        * bindings/scripts/CodeGeneratorJS.pm:
13024        * css/StyleMedia.h:
13025        * css/StyleMedia.idl:
13026        * loader/appcache/DOMApplicationCache.idl:
13027        * page/BarInfo.idl:
13028        * page/Console.idl:
13029        * page/DOMSelection.idl:
13030        * page/DOMWindow.h:
13031        (WebCore::DOMWindow::optionalScreen):
13032        (WebCore::DOMWindow::optionalSelection):
13033        (WebCore::DOMWindow::optionalHistory):
13034        (WebCore::DOMWindow::optionalCrypto):
13035        (WebCore::DOMWindow::optionalLocationbar):
13036        (WebCore::DOMWindow::optionalMenubar):
13037        (WebCore::DOMWindow::optionalPersonalbar):
13038        (WebCore::DOMWindow::optionalScrollbars):
13039        (WebCore::DOMWindow::optionalStatusbar):
13040        (WebCore::DOMWindow::optionalToolbar):
13041        (WebCore::DOMWindow::optionalConsole):
13042        (WebCore::DOMWindow::optionalNavigator):
13043        (WebCore::DOMWindow::optionalLocation):
13044        (WebCore::DOMWindow::optionalMedia):
13045        (WebCore::DOMWindow::optionalSessionStorage):
13046        (WebCore::DOMWindow::optionalLocalStorage):
13047        (WebCore::DOMWindow::optionalPerformance):
13048        * page/Geolocation.idl:
13049        * page/History.idl:
13050        * page/Location.idl:
13051        * page/Navigator.h:
13052        (WebCore::Navigator::optionalGeolocation):
13053        * page/Navigator.idl:
13054        * page/Screen.idl:
13055        * storage/Storage.idl:
13056
130572011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
13058
13059        Reviewed by Kent Tamura.
13060
13061        Change SVG-related shadow root checks to use isSVGShadowRoot.
13062        https://bugs.webkit.org/show_bug.cgi?id=59237
13063
13064        Covered by existing tests, no behavior change.
13065
13066        * css/CSSStyleSelector.cpp:
13067        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
13068        * svg/SVGUseElement.cpp:
13069        (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
13070        * svg/animation/SVGSMILElement.cpp:
13071        (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
13072
130732011-04-22  Geoffrey Garen  <ggaren@apple.com>
13074
13075        Mac build fix.
13076
13077        * page/DOMWindow.h:
13078        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
13079        which is used after all.
13080
130812011-04-22  Geoffrey Garen  <ggaren@apple.com>
13082
13083        Mac build fix.
13084
13085        * page/DOMWindow.h:
13086        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
13087        which is used after all.
13088
130892011-04-22  Geoffrey Garen  <ggaren@apple.com>
13090
13091        Reviewed by Oliver Hunt.
13092
13093        Removed a use of markDOMObjectWrapper: DOMWindow
13094        https://bugs.webkit.org/show_bug.cgi?id=59260
13095
13096        * bindings/js/JSDOMWindowCustom.cpp:
13097        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
13098        we use the opaque roots system now.
13099
13100        * bindings/js/JSNavigatorCustom.cpp: Ditto.
13101
13102        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
13103        whose opaque roots are frames.
13104
13105        * css/StyleMedia.h:
13106        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
13107
13108        * css/StyleMedia.idl:
13109        * loader/appcache/DOMApplicationCache.idl:
13110        * page/BarInfo.idl:
13111        * page/Console.idl:
13112        * page/DOMSelection.idl:
13113        * page/Geolocation.idl:
13114        * page/History.idl:
13115        * page/Location.idl:
13116        * page/Navigator.idl:
13117        * page/Screen.idl:
13118        * storage/Storage.idl: Updated to use the opaque roots system.
13119
131202011-04-22  Xiaomei Ji  <xji@chromium.org>
13121
13122        Reviewed by Ryosuke Niwa.
13123
13124        move caret by word in visual order returns wrong result when caret itself is at word boundary.
13125        https://bugs.webkit.org/show_bug.cgi?id=58504.
13126
13127        positionBeforeNextWord should take care that the current position is after current word.
13128        positionAfterPreviousWord should take care that the current positin is before current word.
13129
13130        * editing/visible_units.cpp:
13131        (WebCore::positionBeforeNextWord):
13132        (WebCore::positionAfterPreviousWord):
13133
131342011-04-19  Jer Noble  <jer.noble@apple.com>
13135
13136        Reviewed by Daniel Bates.
13137
13138        Full Screen from within an <iframe> does not cause <iframe> to resize.
13139        https://bugs.webkit.org/show_bug.cgi?id=58638
13140
13141        Tests: fullscreen/full-screen-frameset.html
13142
13143        * css/CSSStyleSelector.cpp:
13144        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the
13145            -webkit-full-screen pseudo class to frame elements which contain
13146            full screen elements.
13147        * css/fullscreen.css:
13148        (iframe:-webkit-full-screen): Add iframe-specific styling rules.
13149        * dom/Document.cpp:
13150        (WebCore::Document::setContainsFullScreenElementRecursively): Added.  Walk up each
13151            successive document owner element, calling setContainsFullScreenElement() if
13152            owner is a frame element.
13153        (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
13154            call instead of checking the element's tag name.
13155        (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
13156            iframes as containing a full screen element.
13157        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
13158        * dom/Element.h:
13159        (WebCore::Element::isFrameElementBase): Added.
13160        * html/HTMLFrameElement.h:
13161        (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
13162            HTMLFrameElements.
13163        * html/HTMLFrameElementBase.cpp:
13164        (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
13165        * html/HTMLFrameElementBase.h:
13166        (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
13167        (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
13168
131692011-04-22  Michael Saboff  <msaboff@apple.com>
13170
13171        Reviewed by Maciej Stachowiak.
13172
13173        Creating copy of ContainerNode's when inserting or removing is inefficient
13174        https://bugs.webkit.org/show_bug.cgi?id=58695
13175
13176        Eliminated node copying in willRemove() and insertedIntoDocument().
13177
13178        No new tests as this is a more efficient implementation of
13179        existing code that is covered by existing tests.
13180
13181        * dom/ContainerNode.cpp:
13182        (WebCore::ContainerNode::willRemove): Changed method to use
13183        RefPtr<> to protect against modification during removal.
13184        (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
13185        RefPtr<> and two other deletion checks to protect against
13186        modification during insertion.
13187
131882011-04-22  Geoffrey Garen  <ggaren@apple.com>
13189
13190        Reviewed by Sam Weinig.
13191
13192        We have an autogenerator, so use it
13193        https://bugs.webkit.org/show_bug.cgi?id=59247
13194
13195        * bindings/js/JSCSSRuleCustom.cpp:
13196        * bindings/js/JSCSSRuleListCustom.cpp:
13197        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
13198        * bindings/js/JSCSSValueCustom.cpp:
13199        * bindings/js/JSCanvasRenderingContextCustom.cpp:
13200        * bindings/js/JSDOMImplementationCustom.cpp:
13201        * bindings/js/JSDOMStringMapCustom.cpp:
13202        * bindings/js/JSHTMLCollectionCustom.cpp:
13203        * bindings/js/JSNamedNodeMapCustom.cpp:
13204        * bindings/js/JSNodeCustom.h:
13205        * bindings/js/JSNodeListCustom.cpp:
13206        * bindings/js/JSStyleSheetCustom.cpp:
13207        * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
13208
13209        * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
13210
13211        * css/CSSRule.idl:
13212        * css/CSSRuleList.idl:
13213        * css/CSSStyleDeclaration.idl:
13214        * css/CSSValue.idl:
13215        * css/MediaList.idl:
13216        * css/StyleSheet.idl:
13217        * css/StyleSheetList.idl:
13218        * dom/DOMImplementation.idl:
13219        * dom/DOMStringMap.idl:
13220        * dom/NamedNodeMap.idl:
13221        * dom/Node.idl:
13222        * dom/NodeList.idl:
13223        * html/DOMTokenList.idl:
13224        * html/HTMLCollection.idl:
13225        * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
13226        the autogenerator.
13227
132282011-04-22  Beth Dakin  <bdakin@apple.com>
13229
13230        Reviewed by Maciej Stachowiak.
13231
13232        https://bugs.webkit.org/show_bug.cgi?id=59223
13233        REGRESSION (r82185): iframe not displayed after navigation back to cached page
13234
13235        Manual test added.
13236        * manual-tests/frame-layout-on-back.html: Added.
13237        * manual-tests/resources/empty-document-goes-back.html: Added.
13238        * manual-tests/resources/simple-iframe.html: Added.
13239
132402011-04-22  Yael Aharon  <yael.aharon@nokia.com>
13241
13242        Reviewed by Sam Weinig.
13243
13244        HTMLFormControlElement::labels should allow custom attributes.
13245        https://bugs.webkit.org/show_bug.cgi?id=59128
13246
13247        Cache the labels list when it is created and keep using it for future
13248        labels calls.
13249
13250        Test: fast/forms/labels-custom-property.html
13251
13252        * html/HTMLFormControlElement.cpp:
13253        (WebCore::HTMLFormControlElement::labels):
13254
132552011-04-22  Adrienne Walker  <enne@google.com>
13256
13257        Reviewed by James Robinson.
13258
13259        [chromium] Remove minimum texture size for compositor tiling
13260        https://bugs.webkit.org/show_bug.cgi?id=59236
13261
13262        This was mistakenly committed in r83915 and causes bad filtering
13263        on very small textures.
13264
13265        Tests: compositing/images/content-image-change.html
13266
13267        * platform/graphics/chromium/LayerTilerChromium.cpp:
13268        (WebCore::LayerTilerChromium::setTileSize):
13269
132702011-04-22  Beth Dakin  <bdakin@apple.com>
13271
13272        Reviewed by Maciej Stachowiak.
13273
13274        https://bugs.webkit.org/show_bug.cgi?id=59223
13275        REGRESSION (r82185): iframe not displayed after navigation back to cached page
13276        -and corresponding-
13277        <rdar://problem/9323763>
13278
13279        Cache the scroll position in Document::setInPageCache() instead of
13280        FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size
13281        for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
13282        r82185 code.
13283        * dom/Document.cpp:
13284        (WebCore::Document::setInPageCache):
13285        * page/FrameView.cpp:
13286        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
13287
132882011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
13289
13290        Reviewed by Kent Tamura.
13291
13292        Let the RenderTheme decide if an input type should have a spinner
13293        https://bugs.webkit.org/show_bug.cgi?id=59246
13294
13295        Whether an input should have a spinner or not should
13296        be a UI decision made by the RenderTheme. Remove
13297        WebCore's default hasSpinButton values and defer
13298        to the RenderTheme.
13299
13300        No change in functionality, covered by existing tests.
13301
13302        * html/HTMLInputElement.cpp:
13303        (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl
13304        for possible RenderTheme queries.
13305        * html/HTMLInputElement.h:
13306
13307        * rendering/RenderTextControlSingleLine.cpp:
13308        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
13309        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
13310        For both of these ask the render theme if the input should
13311        have a spinner.
13312
13313        * rendering/RenderTheme.cpp:
13314        (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement):
13315        Steppable inputs (number, date, and range) but not range
13316        should have spinners. This does not change existing behavior.
13317        * rendering/RenderTheme.h:
13318
13319        * dom/InputElement.h:
13320        * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton.
13321        * html/BaseDateAndTimeInputType.h: remove hasSpinButton.
13322        * html/InputType.cpp: remove hasSpinButton.
13323        * html/InputType.h: remove hasSpinButton.
13324        * html/NumberInputType.cpp: remove hasSpinButton.
13325        * html/NumberInputType.h: remove hasSpinButton.
13326
133272011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
13328
13329        Reviewed by Kent Tamura.
13330
13331        Don't rely on hasSpinButton to check if an input type can be stepped
13332        https://bugs.webkit.org/show_bug.cgi?id=59224
13333
13334        Add isSteppable to know for certain if an input type can
13335        be stepped or not. Previously we were checking if the input
13336        has a spin control or is the range input type. These are UI
13337        details, but the step functionality does not require there
13338        to be a UI.
13339
13340        No change in behavior, covered by existing tests.
13341
13342        * html/BaseDateAndTimeInputType.cpp:
13343        (WebCore::BaseDateAndTimeInputType::isSteppable):
13344        * html/BaseDateAndTimeInputType.h:
13345        * html/HTMLInputElement.cpp:
13346        (WebCore::HTMLInputElement::isSteppable):
13347        (WebCore::HTMLInputElement::stepUpFromRenderer): remove the
13348        check for a spinner and range control and instead ASSERT
13349        that the type is steppable.
13350        * html/HTMLInputElement.h:
13351        * html/InputType.cpp:
13352        (WebCore::InputType::isSteppable):
13353        * html/InputType.h:
13354        * html/NumberInputType.cpp:
13355        (WebCore::NumberInputType::isSteppable):
13356        * html/NumberInputType.h:
13357        * html/RangeInputType.cpp:
13358        (WebCore::RangeInputType::isSteppable):
13359        * html/RangeInputType.h:
13360
133612011-04-22  Adam Barth  <abarth@webkit.org>
13362
13363        Reviewed by Eric Seidel.
13364
13365        CSP frame-src is missing
13366        https://bugs.webkit.org/show_bug.cgi?id=58643
13367
13368        In this patch, I've audited all the callers to
13369        SecurityOrigin::canDisplay to make sure they all the appropriate
13370        Content-Security-Policy method as well.  I'm not sure how to test all
13371        these cases, but making this changes fixed the frame-src test.
13372
13373        * loader/SubframeLoader.cpp:
13374        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
13375        (WebCore::SubframeLoader::createJavaAppletWidget):
13376        (WebCore::SubframeLoader::loadSubframe):
13377        (WebCore::SubframeLoader::loadPlugin):
13378        * loader/SubresourceLoader.cpp:
13379        (WebCore::SubresourceLoader::create):
13380        * loader/cache/CachedResourceLoader.cpp:
13381        (WebCore::CachedResourceLoader::canRequest):
13382        (WebCore::CachedResourceLoader::requestResource):
13383            - While I was understanding this code, I fixed the FIXME here.
13384        * loader/cache/CachedResourceLoader.h:
13385
133862011-04-22  Adrienne Walker  <enne@google.com>
13387
13388        Reviewed by Simon Fraser.
13389
13390        Clear shared graphics context when destroying CanvasRenderingContext2D.
13391        https://bugs.webkit.org/show_bug.cgi?id=59212
13392
13393        * html/canvas/CanvasRenderingContext2D.cpp:
13394        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
13395
133962011-04-22  Levi Weintraub  <leviw@chromium.org>
13397
13398        Reviewed by Ryosuke Niwa.
13399
13400        End/Home keys do not work in a contentEditable element
13401        https://bugs.webkit.org/show_bug.cgi?id=50564
13402
13403        Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are
13404        inline and share a line with non-editable content.
13405
13406        Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html
13407
13408        * editing/visible_units.cpp:
13409        (WebCore::logicalStartOfLine):
13410        (WebCore::logicalEndOfLine):
13411
134122011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
13413
13414        Reviewed by Kent Tamura.
13415
13416        Make showTree/showTreeForThis aware of the shadow DOM
13417        https://bugs.webkit.org/show_bug.cgi?id=52965
13418
13419        No new tests, because this code is only compiled in DEBUG.
13420
13421        * dom/Node.cpp:
13422        (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding
13423            recursive sub-traversal of the shadow tree.
13424        (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function.
13425
134262011-04-22  Sam Weinig  <sam@webkit.org>
13427
13428        Reviewed by Gavin Barraclough and Oliver Hunt.
13429
13430        Arrays should participate in global object forwarding fun
13431        https://bugs.webkit.org/show_bug.cgi?id=59215
13432
13433        Change callers of constructArray to use the new variant that takes
13434        a global object.
13435
13436        * bindings/js/JSClipboardCustom.cpp:
13437        (WebCore::JSClipboard::types):
13438        * bindings/js/JSConsoleCustom.cpp:
13439        (WebCore::JSConsole::profiles):
13440        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13441        (WebCore::JSJavaScriptCallFrame::scopeChain):
13442        * bindings/js/JSMessageEventCustom.cpp:
13443        (WebCore::JSMessageEvent::ports):
13444        * bindings/js/JSScriptProfileNodeCustom.cpp:
13445        (WebCore::JSScriptProfileNode::children):
13446        * bindings/js/JSWebGLRenderingContextCustom.cpp:
13447        (WebCore::toJS):
13448        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
13449        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
13450
134512011-04-22  Csaba Osztrogonác  <ossy@webkit.org>
13452
13453        [Qt] Unreviewed typo fix after r84522.
13454
13455        * WebCore.pro:
13456
134572011-04-22  Daniel Bates  <dbates@rim.com>
13458
13459        Fix misspelled word in comment; tagets => targets.
13460
13461        * page/EventHandler.cpp:
13462        (WebCore::EventHandler::handleTouchEvent):
13463
134642011-04-21  Geoffrey Garen  <ggaren@apple.com>
13465
13466        Reviewed by Oliver Hunt.
13467
13468        Removed a use of markDOMObjectWrapper: Element and Document
13469        https://bugs.webkit.org/show_bug.cgi?id=59178
13470
13471        * GNUmakefile.list.am:
13472        * UseJSC.cmake:
13473        * WebCore.gypi:
13474        * WebCore.pro:
13475        * WebCore.vcproj/WebCore.vcproj:
13476        * WebCore.xcodeproj/project.pbxproj:
13477        * bindings/js/JSBindingsAllInOne.cpp: Build!
13478
13479        * bindings/js/JSDOMImplementationCustom.cpp:
13480        (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
13481        (WebCore::JSDOMImplementationOwner::finalize):
13482        (WebCore::wrapperOwner):
13483        (WebCore::wrapperContext):
13484        (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
13485        DOMImplementation does not need to keep its document wrapper alive, since
13486        there's no DOM API for getting a DOMImplementation's document.
13487
13488        * bindings/js/JSDOMStringMapCustom.cpp:
13489        (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
13490        (WebCore::JSDOMStringMapOwner::finalize):
13491        (WebCore::wrapperOwner):
13492        (WebCore::wrapperContext):
13493        (WebCore::toJS): Use the opaque roots system for DOMStringMap.
13494
13495        * bindings/js/JSDOMTokenListCustom.cpp: Added.
13496        (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
13497        (WebCore::JSDOMTokenListOwner::finalize):
13498        (WebCore::wrapperOwner):
13499        (WebCore::wrapperContext):
13500        (WebCore::toJS): Use the opaque roots system for DOMTokenList.
13501
13502        * bindings/js/JSDocumentCustom.cpp:
13503        (WebCore::JSDocument::visitChildren):
13504        * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
13505
13506        * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
13507
13508        * dom/DOMImplementation.cpp:
13509        (WebCore::DOMImplementation::DOMImplementation):
13510        (WebCore::DOMImplementation::createDocument):
13511        (WebCore::DOMImplementation::createHTMLDocument):
13512        * dom/DOMImplementation.h:
13513        (WebCore::DOMImplementation::create):
13514        (WebCore::DOMImplementation::ref):
13515        (WebCore::DOMImplementation::deref):
13516        (WebCore::DOMImplementation::document): Fixed the DOMImplementation
13517        ownership model to match other satellite objects in the DOM. This was
13518        necessary to fix some crashes due to incorrect reference counting.
13519
13520        * dom/DOMImplementation.idl:
13521        * dom/DOMStringMap.idl:
13522        * dom/Document.cpp:
13523        (WebCore::Document::~Document):
13524        * dom/Document.h:
13525        * dom/Element.cpp:
13526        * dom/Element.h:
13527        * dom/Element.idl:
13528        * html/DOMTokenList.idl: Updated to match changes above.
13529
135302011-04-22  Simon Fraser  <simon.fraser@apple.com>
13531
13532        Reviewed by Dan Bernstein.
13533
13534        Rounded corners don't looks smooth when background-image is a gradient
13535        https://bugs.webkit.org/show_bug.cgi?id=59213
13536
13537        Add the "shrink background" behavior to the slow background
13538        drawing code path.
13539
13540        Test: fast/backgrounds/gradient-background-leakage.html
13541
13542        * rendering/RenderBoxModelObject.cpp:
13543        (WebCore::backgroundRectAdjustedForBleedAvoidance):
13544        Utility function that returns a shrunk border rect based
13545        on the context scale.
13546        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
13547        Use backgroundRectAdjustedForBleedAvoidance() in both the fast
13548        and slow paths.
13549
135502011-04-22  Xiaomei Ji  <xji@chromium.org>
13551
13552        Reviewed by David Hyatt.
13553
13554        Local caret rectangle calculation should be relative to its containing block.
13555        https://bugs.webkit.org/show_bug.cgi?id=49508.
13556
13557        InlineBox and caret rectangle are positioned relative to its containing block.
13558        So its left and right edge value should be relative to its containing block as well.
13559
13560        Test: fast/forms/cursor-at-editable-content-boundary.html
13561
13562        * rendering/RenderText.cpp:
13563        (WebCore::RenderText::localCaretRect):
13564
135652011-04-22  Levi Weintraub  <leviw@chromium.org>
13566
13567        Reviewed by Darin Fisher.
13568
13569        REGRESSION: left property broken with position:fixed elements in RTL documents
13570        https://bugs.webkit.org/show_bug.cgi?id=59204
13571        http://code.google.com/p/chromium/issues/detail?id=80216
13572
13573        Test: fast/block/positioning/rtl-fixed-positioning.html
13574              fast/block/positioning/vertical-rl/fixed-positioning.html
13575
13576        Returning the proper scroll offsets for fixed position content in RTL documents.
13577        We regressed to X and Y offsets not updating while scrolling when we clamped to zero,
13578        but RTL documents scroll in negative space.
13579
13580        * page/FrameView.cpp:
13581        (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where
13582        the scroll origin and offsets are negative.
13583        (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing-
13584        mode RTL documents, like above.
13585        * platform/ScrollView.h:
13586        (WebCore::ScrollView::scrollOrigin): Changing this accessor to const.
13587
135882011-04-22  Justin Schuh  <jschuh@chromium.org>
13589
13590        Reviewed by Eric Seidel.
13591
13592        Should assert on invalid type in FEComponentTransfer::apply
13593        https://bugs.webkit.org/show_bug.cgi?id=57959
13594
13595        No functional change. No new tests needed.
13596
13597        * platform/graphics/filters/FEComponentTransfer.cpp:
13598        (WebCore::FEComponentTransfer::apply):
13599
136002011-04-22  MORITA Hajime  <morrita@google.com>
13601
13602        Unreviewed crash fix.
13603
13604        * html/HTMLDetailsElement.cpp:
13605        (WebCore::DetailsSummaryElement::shouldInclude):
13606
136072011-04-22  Dan Bernstein  <mitz@apple.com>
13608
13609        Reviewed by Sam Weinig.
13610
13611        Exclude scrollbars from the dirty rect passed to the document
13612        https://bugs.webkit.org/show_bug.cgi?id=59206
13613
13614        No test added because functionality is unchanged.
13615
13616        * platform/ScrollView.cpp:
13617        (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view
13618        in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect
13619        with it. If the result is empty, avoid calling paintContents().
13620
136212011-04-22  Jer Noble  <jer.noble@apple.com>
13622
13623        Reviewed by Maciej Stachowiak.
13624
13625        Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
13626        https://bugs.webkit.org/show_bug.cgi?id=59147
13627
13628        Add a new isAVFoundationEnabled setting and check it before adding
13629        MediaPlayerPrivateAVFoundationObjC to the media engine registry.
13630
13631        * WebCore.exp.in:
13632        * page/Settings.cpp:
13633        * page/Settings.h:
13634        (WebCore::Settings::setAVFoundationEnabled): Added.
13635        (WebCore::Settings::isAVFoundationEnabled): Added.
13636        * platform/graphics/MediaPlayer.cpp:
13637        (WebCore::installedMediaEngines): Check the settings added above.
13638
136392011-04-22  Sam Weinig  <sam@webkit.org>
13640
13641        Reviewed by Gavin Barraclough.
13642
13643        Remove remaining uses of deprecated version of toJS
13644        https://bugs.webkit.org/show_bug.cgi?id=59170
13645
13646        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13647        (WebCore::toJS):
13648        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
13649        (WebCore::JSCanvasRenderingContext2D::fillStyle):
13650        (WebCore::JSCanvasRenderingContext2D::createPattern):
13651        * bindings/js/JSConsoleCustom.cpp:
13652        (WebCore::JSConsole::profiles):
13653        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
13654        (WebCore::JSSQLStatementErrorCallback::handleEvent):
13655        * bindings/js/JSDOMBinding.h:
13656        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
13657        (WebCore::JSDOMMimeTypeArray::nameGetter):
13658        * bindings/js/JSDOMPluginArrayCustom.cpp:
13659        (WebCore::JSDOMPluginArray::nameGetter):
13660        * bindings/js/JSDOMPluginCustom.cpp:
13661        (WebCore::JSDOMPlugin::nameGetter):
13662        * bindings/js/JSDOMWindowCustom.cpp:
13663        (WebCore::namedItemGetter):
13664        (WebCore::JSDOMWindow::event):
13665        * bindings/js/JSEventTarget.cpp:
13666        (WebCore::toJS):
13667        * bindings/js/JSInjectedScriptHostCustom.cpp:
13668        Propagate stored global object down access chain.
13669
13670        (WebCore::InjectedScriptHost::nodeAsScriptValue):
13671        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
13672
13673        (WebCore::JSInjectedScriptHost::currentCallFrame):
13674        (WebCore::JSInjectedScriptHost::inspectedNode):
13675        * bindings/js/JSNamedNodeMapCustom.cpp:
13676        (WebCore::JSNamedNodeMap::nameGetter):
13677        * bindings/js/JSNodeListCustom.cpp:
13678        (WebCore::callNodeList):
13679        (WebCore::JSNodeList::nameGetter):
13680        * bindings/js/JSScriptProfileNodeCustom.cpp:
13681        (WebCore::JSScriptProfileNode::children):
13682        * bindings/js/JSStyleSheetListCustom.cpp:
13683        (WebCore::JSStyleSheetList::nameGetter):
13684        * bindings/js/JSXSLTProcessorCustom.cpp:
13685        (WebCore::JSXSLTProcessor::transformToFragment):
13686        (WebCore::JSXSLTProcessor::transformToDocument):
13687        * bindings/scripts/CodeGeneratorJS.pm:
13688        Propagate stored global object down access chain.
13689
13690        * css/MediaQueryListListener.cpp:
13691        (WebCore::MediaQueryListListener::queryChanged):
13692        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype,
13693        we will want refactor this to match other callbacks so we can remove this.
13694
136952011-04-22  Naoki Takano  <takano.naoki@gmail.com>
13696
13697        Reviewed by Eric Seidel.
13698
13699        [Chromium]Mac UI polish to add left/right padding space for autofill popup window.
13700        https://bugs.webkit.org/show_bug.cgi?id=58960
13701        http://code.google.com/p/chromium/issues/detail?id=51077
13702
13703        No new test because Chromium Autofill popup window doesn't have any test framework.
13704        This assumes only AutofillPopupMenuClient gives TexFieldPart appearance.
13705        Only if Autofill popup window has right/left padding.
13706        The code should be removed after Autofill popup window logic is separated from WebKit to Chromium.
13707
13708        * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft().
13709        * rendering/RenderThemeChromiumMac.mm:
13710        (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified.
13711        (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified.
13712
137132011-04-21  Adam Roben  <aroben@apple.com>
13714
13715        Add code to enumerate all the functions imported by a particular Windows binary
13716
13717        PEImage is where all the logic starts. It represents a single Portable Executable (PE)
13718        binary. The various enumerator classes are used in conjunction with PEImage to enumerate the
13719        modules and functions imported by that image.
13720
13721        I couldn't figure out how to write a test for this. :-(
13722
13723        Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No
13724        context menu appears when right-clicking on windowless Flash plugin
13725
13726        Reviewed by Sam Weinig, and given a good once-over by Jeff Miller.
13727
13728        * WebCore.vcproj/WebCore.vcproj: Added the new files.
13729
13730        * platform/win/PEImage.cpp: Added.
13731        (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers,
13732        then initializes m_ntHeaders using the module.
13733        (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a
13734        non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of
13735        places.)
13736        (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated
13737        with the given entry in the image's DataDirectory.
13738
13739        * platform/win/PEImage.h: Added.
13740        (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor
13741        succeeded, in which case m_ntHeaders will be set.
13742
13743        * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the
13744        functions imported by the image from a single module by walking the Import Name Table (INT)
13745        and Import Address Table (IAT).
13746        (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members.
13747        (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated
13748        arrays.
13749        (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT.
13750        (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the
13751        function's name, if possible, using the INT.
13752        (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address
13753        of the function pointer for the current function. This function pointer is used whenever
13754        code in m_image calls the current function. (A future patch will take advantage of this by
13755        overwriting this function pointer with another, thereby redirecting calls to that function.)
13756
13757        * platform/win/ImportedFunctionsEnumerator.h: Added.
13758
13759        * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by
13760        ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written
13761        that works with either one.
13762
13763        * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the
13764        non-delay-loaded modules imported by the image by walking the image's import array.
13765        (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information
13766        is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory.
13767        (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated.
13768        (WebCore::ImportedModulesEnumerator::next): Steps along the import array.
13769        (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's
13770        name.
13771        (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT
13772        and IAT for this module and wraps them in an ImportedFunctionsEnumerator.
13773
13774        * platform/win/ImportedModulesEnumerator.h: Added.
13775
13776        * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the
13777        delay-loaded modules that are imported by the given PEImage by walking the image's
13778        ImageDelayDescr array.
13779        (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load
13780        information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's
13781        DataDirectory.
13782        (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is
13783        0-terminated.
13784        (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array.
13785        (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's
13786        name out of the descriptor.
13787        (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the
13788        current module out of the descriptor and makes an ImportedFunctionsEnumerator from them.
13789        (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images
13790        stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later
13791        images store RVAs. This function abstracts away the difference.
13792
13793        * platform/win/DelayLoadedModulesEnumerator.h: Added.
13794
137952011-04-21  Adam Roben  <aroben@apple.com>
13796
13797        Add a shared do-nothing window class that anyone can use
13798
13799        Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
13800
13801        Reviewed by Anders Carlsson.
13802
13803        * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of
13804        platform/win and into platform. Let VS reorder other files.
13805
13806        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
13807        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared
13808        dummy window class instead of creating our own.
13809
13810        * platform/win/DefWndProcWindowClass.cpp: Added.
13811        (WebCore::registerClass): Register it!
13812        (WebCore::defWndProcWindowClassName): Register it and return it!
13813
13814        * platform/win/DefWndProcWindowClass.h: Added.
13815
138162011-04-21  MORITA Hajime  <morrita@google.com>
13817
13818        Reviewed by Dimitri Glazkov.
13819
13820        Content of <details> should be forwarded through the shadow DOM
13821        https://bugs.webkit.org/show_bug.cgi?id=59055
13822
13823        - Made ShadowContentElement abstract and added shouldInclude() pure virtual method.
13824        - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as
13825          subclasses of ShadowContentElement.
13826        - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that
13827          handles non-summary contents of <details>. Another is SummaryContentElement, that
13828          handles the main summary element.
13829        - Removed most of RenderDetails custom layout mechanism, which is replaced by
13830          ShadowContentElement subclasses.
13831
13832        Tests: fast/html/details-add-child-1.html
13833               fast/html/details-add-child-2.html
13834               fast/html/details-remove-child-1.html
13835               fast/html/details-remove-child-2.html
13836
13837        * dom/ShadowRoot.cpp:
13838        (WebCore::ShadowRoot::contentContainerFor):
13839        (WebCore::ShadowRoot::hostChildrenChanged):
13840        (WebCore::ShadowRoot::hasContentElement):
13841        * dom/ShadowRoot.h:
13842        * html/HTMLDetailsElement.cpp:
13843        (WebCore::DetailsContentElement::DetailsContentElement):
13844        (WebCore::DetailsContentElement::create):
13845        (WebCore::DetailsContentElement::shouldInclude):
13846        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
13847        (WebCore::DetailsSummaryElement::create):
13848        (WebCore::DetailsSummaryElement::shouldInclude):
13849        (WebCore::HTMLDetailsElement::create):
13850        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
13851        (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf):
13852        (WebCore::findSummaryFor):
13853        (WebCore::HTMLDetailsElement::ensureMainSummary):
13854        (WebCore::HTMLDetailsElement::refreshMainSummary):
13855        (WebCore::HTMLDetailsElement::createShadowSubtree):
13856        * html/HTMLDetailsElement.h:
13857        * html/HTMLSummaryElement.cpp:
13858        (WebCore::SummaryContentElement::SummaryContentElement):
13859        (WebCore::SummaryContentElement::shouldInclude):
13860        (WebCore::SummaryContentElement::create):
13861        (WebCore::HTMLSummaryElement::createShadowSubtree):
13862        * html/shadow/ShadowContentElement.h:
13863        * rendering/RenderDetails.cpp:
13864        (WebCore::RenderDetails::RenderDetails):
13865        (WebCore::RenderDetails::addChild):
13866        * rendering/RenderDetails.h:
13867        * rendering/RenderSummary.cpp:
13868        * rendering/RenderSummary.h:
13869
138702011-04-21  Simon Fraser  <simon.fraser@apple.com>
13871
13872        Reviewed by Dan Bernstein.
13873
13874        Extra GraphicsContext::save() in InlineTextBox::paintDecoration()
13875        https://bugs.webkit.org/show_bug.cgi?id=59109
13876
13877        Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration().
13878
13879        Add an assertion that fires when a GraphicsContext() is destroyed with a non-
13880        empty state stack. Fix canvas to avoid this assertion, since bad content might
13881        trigger it.
13882
13883        Also add an assertion that fires for mismatched begin/endTransparencyLayers.
13884
13885        Test: fast/text/multiple-text-shadow-alpha.html
13886
13887        * html/HTMLCanvasElement.cpp:
13888        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
13889        Make sure that the CanvasRenderingContext goes away before the ImageBuffer,
13890        so that CanvasRenderingContext2D has a chance to unwind the state stack in
13891        the ImageBuffer's GraphicsContext.
13892
13893        * html/canvas/CanvasRenderingContext2D.cpp:
13894        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
13895        Balance unmatched state saves in the canvas context.
13896
13897        * platform/graphics/GraphicsContext.cpp:
13898        (WebCore::GraphicsContext::~GraphicsContext):
13899        Assert that the stack is empty.
13900
13901        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
13902        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
13903        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
13904        (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
13905        (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
13906        Changes to allow for asserting for unmatched transparency layer begin/ends.
13907
13908        * rendering/InlineTextBox.cpp:
13909        (WebCore::InlineTextBox::paintDecoration):
13910        Remove an unbalanced save().
13911
139122011-04-22  Pavel Feldman  <pfeldman@google.com>
13913
13914        Reviewed by Yury Semikhatsky.
13915
13916        Web Inspector: add Save As context menu item to the TextViewer.
13917        https://bugs.webkit.org/show_bug.cgi?id=59196
13918
13919        * inspector/front-end/ResourceView.js:
13920        (WebInspector.ResourceSourceFrame.prototype.requestContent):
13921        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
13922        (WebInspector.RevisionSourceFrame.prototype.requestContent):
13923        (WebInspector.RevisionSourceFrame.prototype.suggestedFileName):
13924        * inspector/front-end/ScriptsPanel.js:
13925        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
13926        (WebInspector.SourceFrameDelegateForScriptsPanel):
13927        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
13928        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
13929        * inspector/front-end/SourceFrame.js:
13930        (WebInspector.SourceFrame.prototype._initializeTextViewer):
13931        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
13932        (WebInspector.SourceFrame.prototype.suggestedFileName):
13933        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
13934        (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
13935        * inspector/front-end/TextViewer.js:
13936        (WebInspector.TextViewer.prototype._contextMenu):
13937        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
13938        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
13939        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
13940        (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
13941
139422011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
13943
13944        Reviewed by Pavel Feldman.
13945
13946        Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
13947        https://bugs.webkit.org/show_bug.cgi?id=59094
13948
13949        * WebCore.gypi:
13950        * WebCore.vcproj/WebCore.vcproj:
13951        * gyp/streamline-inspector-source.sh:
13952        * inspector/front-end/DetailedHeapshotGridNodes.js:
13953        (WebInspector.HeapSnapshotGridNode.prototype.dispose):
13954        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
13955        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
13956        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
13957        (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
13958        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
13959        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
13960        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
13961        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
13962        (MixInSnapshotNodeFunctions):
13963        * inspector/front-end/DetailedHeapshotView.js:
13964        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
13965        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
13966        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
13967        (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose):
13968        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
13969        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
13970        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
13971        (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
13972        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
13973        (WebInspector.DetailedHeapshotView.prototype.dispose):
13974        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
13975        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
13976        * inspector/front-end/HeapSnapshot.js:
13977        (WebInspector.HeapSnapshotLoader):
13978        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
13979        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
13980        (WebInspector.HeapSnapshot.prototype.pushBaseIds):
13981        (WebInspector.HeapSnapshot.prototype.createDiff):
13982        (WebInspector.HeapSnapshot.prototype._parseFilter):
13983        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
13984        (WebInspector.HeapSnapshot.prototype.createNodesProvider):
13985        (WebInspector.HeapSnapshot.prototype.createPathFinder):
13986        (WebInspector.HeapSnapshot.prototype.updateStaticData):
13987        (WebInspector.HeapSnapshotPathFinder):
13988        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
13989        (WebInspector.HeapSnapshotPathFinder.prototype._reset):
13990        * inspector/front-end/HeapSnapshotProxy.js:
13991        (WebInspector.HeapSnapshotRealWorker):
13992        (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
13993        (WebInspector.HeapSnapshotRealWorker.prototype.postMessage):
13994        (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
13995        (WebInspector.HeapSnapshotFakeWorker):
13996        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
13997        (WebInspector.HeapSnapshotFakeWorker.prototype.terminate):
13998        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
13999        (WebInspector.HeapSnapshotWorker):
14000        (WebInspector.HeapSnapshotWorker.prototype.createObject):
14001        (WebInspector.HeapSnapshotWorker.prototype.dispose):
14002        (WebInspector.HeapSnapshotWorker.prototype.disposeObject):
14003        (WebInspector.HeapSnapshotWorker.prototype.callGetter):
14004        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback):
14005        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
14006        (WebInspector.HeapSnapshotWorker.prototype.callMethod):
14007        (WebInspector.HeapSnapshotWorker.prototype._findFunction):
14008        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
14009        (WebInspector.HeapSnapshotWorker.prototype._postMessage):
14010        (WebInspector.HeapSnapshotProxyObject):
14011        (WebInspector.HeapSnapshotProxyObject.prototype._callWorker):
14012        (WebInspector.HeapSnapshotProxyObject.prototype.dispose):
14013        (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker):
14014        (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
14015        (WebInspector.HeapSnapshotProxyObject.prototype.callGetter):
14016        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
14017        (WebInspector.HeapSnapshotLoaderProxy):
14018        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
14019        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
14020        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
14021        (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
14022        (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
14023        (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
14024        (WebInspector.HeapSnapshotProxy):
14025        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
14026        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
14027        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
14028        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
14029        (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
14030        (WebInspector.HeapSnapshotProxy.prototype.dispose):
14031        (WebInspector.HeapSnapshotProxy.prototype.finishLoading):
14032        (WebInspector.HeapSnapshotProxy.prototype.get loaded):
14033        (WebInspector.HeapSnapshotProxy.prototype.get nodeCount):
14034        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
14035        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
14036        (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex):
14037        (WebInspector.HeapSnapshotProxy.prototype.updateStaticData):
14038        (WebInspector.HeapSnapshotProxy.prototype.startLoading):
14039        (WebInspector.HeapSnapshotProxy.prototype.get totalSize):
14040        (WebInspector.HeapSnapshotProxy.prototype.get uid):
14041        (WebInspector.HeapSnapshotProviderProxy):
14042        (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
14043        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
14044        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
14045        (WebInspector.HeapSnapshotPathFinderProxy):
14046        (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext):
14047        (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots):
14048        (WebInspector.HeapSnapshotsDiffProxy):
14049        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
14050        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
14051        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
14052        * inspector/front-end/HeapSnapshotWorker.js: Added.
14053        (WebInspector.UIString):
14054        (postMessageWrapper):
14055        * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added.
14056        (WebInspector.HeapSnapshotWorkerDispatcher):
14057        (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction):
14058        (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
14059        * inspector/front-end/ProfilesPanel.js:
14060        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
14061        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
14062        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
14063        * inspector/front-end/WebKit.qrc:
14064        * inspector/front-end/inspector.html:
14065
140662011-04-22  Pavel Podivilov  <podivilov@chromium.org>
14067
14068        Reviewed by Pavel Feldman.
14069
14070        Web Inspector: fix de-obfuscation of scripts inlined in html.
14071        https://bugs.webkit.org/show_bug.cgi?id=58538
14072
14073        Use html tokenizer to find script boundaries instead of relying on scriptParsed events.
14074
14075        Test: inspector/debugger/script-formatter.html
14076
14077        * WebCore.gypi:
14078        * WebCore.vcproj/WebCore.vcproj:
14079        * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js.
14080        * inspector/front-end/ScriptFormatter.js:
14081        (WebInspector.ScriptFormatter):
14082        (WebInspector.ScriptFormatter.prototype.formatContent):
14083        (WebInspector.ScriptFormatter.prototype._didFormatContent):
14084        * inspector/front-end/ScriptFormatterWorker.js:
14085        (onmessage):
14086        (formatScript):
14087        (HTMLScriptFormatter):
14088        (HTMLScriptFormatter.prototype.format):
14089        (HTMLScriptFormatter.prototype.scriptStarted):
14090        (HTMLScriptFormatter.prototype.scriptEnded):
14091        (HTMLScriptFormatter.prototype.styleSheetStarted):
14092        (HTMLScriptFormatter.prototype.styleSheetEnded):
14093        * inspector/front-end/SourceFile.js:
14094        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
14095        * inspector/front-end/SourceHTMLTokenizer.js:
14096        (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
14097        (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded):
14098        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
14099        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded):
14100        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
14101        * inspector/front-end/SourceHTMLTokenizer.re2js:
14102        * inspector/front-end/WebKit.qrc:
14103
141042011-04-22  Andrey Kosyakov  <caseq@chromium.org>
14105
14106        Reviewed by Pavel Feldman.
14107
14108        Web Inspector: [Extensions API] misc API cleanup
14109        https://bugs.webkit.org/show_bug.cgi?id=59194
14110
14111        * inspector/front-end/ExtensionAPISchema.json:
14112        * inspector/front-end/ExtensionPanel.js:
14113        (WebInspector.ExtensionSidebarPane.prototype._setObject):
14114
141152011-04-21  Pavel Feldman  <pfeldman@google.com>
14116
14117        Reviewed by Yury Semikhatsky.
14118
14119        Web Inspector: group content scripts in the scripts panel drop down.
14120        https://bugs.webkit.org/show_bug.cgi?id=59108
14121
14122        * English.lproj/localizedStrings.js:
14123        * inspector/front-end/ScriptsPanel.js:
14124        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
14125        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
14126
141272011-04-22  Mike West  <mkwst@google.com>
14128
14129        Reviewed by Pavel Feldman.
14130
14131        Web Inspector: Tiny improvement to UI for adding an XHR breakpoint
14132        https://bugs.webkit.org/show_bug.cgi?id=59100
14133
14134        Improve web inspector UI around adding XHR breakpoints by adding
14135        a textual label to the input-like `span` used to specify which
14136        XHR requests the breakpoint ought to target.
14137
14138        * inspector/front-end/BreakpointsSidebarPane.js:
14139        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
14140        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
14141        * inspector/front-end/inspector.css:
14142        (#breakpoint-condition-input):
14143
141442011-04-22  Pavel Podivilov  <podivilov@chromium.org>
14145
14146        Reviewed by Pavel Feldman.
14147
14148        Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments.
14149        https://bugs.webkit.org/show_bug.cgi?id=59191
14150
14151        * WebCore.gypi:
14152        * WebCore.vcproj/WebCore.vcproj:
14153        * inspector/front-end/ScriptFormatter.js:
14154        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
14155        (WebInspector.ScriptFormatter.prototype.formatContent):
14156        * inspector/front-end/ScriptFormatterWorker.js:
14157        (onmessage):
14158        * inspector/front-end/SourceFile.js:
14159        (WebInspector.SourceFile.prototype._loadResourceContent):
14160        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
14161        (WebInspector.FormattedSourceMapping):
14162        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
14163        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
14164        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
14165        * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added.
14166        (FormattedContentBuilder): Helper class for building formatted script content.
14167        (FormattedContentBuilder.prototype.addToken):
14168        (FormattedContentBuilder.prototype.addSpace):
14169        (FormattedContentBuilder.prototype.addNewLine):
14170        (FormattedContentBuilder.prototype.increaseNestingLevel):
14171        (FormattedContentBuilder.prototype.decreaseNestingLevel):
14172        (FormattedContentBuilder.prototype.content):
14173        (FormattedContentBuilder.prototype.mapping):
14174        (Tokenizer): Wrapper class for UglifyJS tokenizer.
14175        (Tokenizer.prototype.content):
14176        (Tokenizer.prototype.next):
14177        (Tokenizer.prototype._convertUglifyToken):
14178        (JavaScriptFormatter): New formatter based on UglifyJS tokenizer.
14179        (JavaScriptFormatter.prototype.format):
14180        * inspector/front-end/UglifyJS/process.js: Removed.
14181        * inspector/front-end/WebKit.qrc:
14182
141832011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
14184
14185        Reviewed by Pavel Feldman.
14186
14187        Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers.
14188        https://bugs.webkit.org/show_bug.cgi?id=59189
14189
14190        * WebCore.gypi:
14191        * WebCore.vcproj/WebCore.vcproj:
14192        * inspector/front-end/BinarySearch.js: Added.
14193        * inspector/front-end/DetailedHeapshotGridNodes.js:
14194        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
14195        (WebInspector.HeapSnapshotGridNode.prototype._populate):
14196        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
14197        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
14198        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
14199        (WebInspector.HeapSnapshotGridNode.prototype.sort):
14200        (WebInspector.HeapSnapshotObjectNode):
14201        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
14202        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
14203        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
14204        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
14205        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
14206        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
14207        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
14208        * inspector/front-end/DetailedHeapshotView.js:
14209        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
14210        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
14211        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
14212        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
14213        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
14214        (WebInspector.HeapSnapshotContainmentDataGrid):
14215        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource):
14216        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
14217        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
14218        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
14219        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
14220        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
14221        (WebInspector.HeapSnapshotDominatorsDataGrid):
14222        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
14223        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
14224        (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting):
14225        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
14226        (WebInspector.DetailedHeapshotView.prototype._changeBase):
14227        (WebInspector.DetailedHeapshotView.prototype._changeView):
14228        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
14229        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
14230        * inspector/front-end/HeapSnapshot.js:
14231        (WebInspector.HeapSnapshot.prototype.dispose):
14232        (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds):
14233        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
14234        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
14235        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
14236        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
14237        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
14238        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds):
14239        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes):
14240        * inspector/front-end/HeapSnapshotProxy.js:
14241        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
14242        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
14243        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
14244        (WebInspector.HeapSnapshotProviderProxy):
14245        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
14246        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
14247        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
14248        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
14249        * inspector/front-end/PleaseWaitMessage.js:
14250        (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
14251        (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide):
14252        * inspector/front-end/WebKit.qrc:
14253        * inspector/front-end/inspector.html:
14254        * inspector/front-end/utilities.js:
14255
142562011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
14257
14258        Unreviewed fix after r84484 -- conditional statement was inverted incorrectly.
14259
14260        * inspector/front-end/ProfilesPanel.js:
14261        (WebInspector.ProfilesPanel.prototype.handleShortcut):
14262
142632011-04-22  Annie Sullivan  <sullivan@chromium.org>
14264
14265        Reviewed by Pavel Feldman.
14266
14267        Web Inspector: Timeline is too narrow
14268        https://bugs.webkit.org/show_bug.cgi?id=58399
14269
14270        Changed Network Panel widths so that Timeline is 50%.
14271        Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow.
14272
14273        * inspector/front-end/NetworkPanel.js:
14274        (WebInspector.NetworkPanel.prototype._createTable):  Changed column widths.
14275        (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths.
14276        (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values.
14277        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto
14278        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto
14279        (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto
14280        * inspector/front-end/utilities.js:
14281        (Element.prototype.setTextAndTitle): Added new method to set the textContent and title of an Element at the same time, so that it can have a tooltip.
14282
142832011-04-22  Dan Bernstein  <mitz@apple.com>
14284
14285        Reviewed by Maciej Stachowiak.
14286
14287        <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media
14288        https://bugs.webkit.org/show_bug.cgi?id=59180
14289
14290        Test: media/audio-controls-do-not-fade-out.html
14291
14292        * html/HTMLMediaElement.cpp:
14293        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is
14294        a video track.
14295
142962011-04-22  Luke Macpherson   <macpherson@chromium.org>
14297
14298        Reviewed by Eric Seidel.
14299
14300        Add FontItalics and FontSmallCaps enums to be used instead of boolean values.
14301        https://bugs.webkit.org/show_bug.cgi?id=59080
14302
14303        No new tests as no new functionality added.
14304
14305        * css/CSSPrimitiveValueMappings.h:
14306        Add casts to/from FontItalics and FontSmallCaps
14307        * css/CSSStyleSelector.cpp:
14308        Use new casts defined in PrimitiveValueMappings.h
14309        * platform/graphics/Font.h:
14310        Use FontItalics enum.
14311        * platform/graphics/FontDescription.h:
14312        Define and use FontItalics and FontSmallCaps enums.
14313
143142011-04-21  Andrey Kosyakov  <caseq@chromium.org>
14315
14316        Reviewed by Yury Semikhatsky.
14317
14318        Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet
14319        https://bugs.webkit.org/show_bug.cgi?id=59123
14320
14321        * inspector/front-end/ResourceCookiesView.js:
14322        (WebInspector.ResourceCookiesView):
14323        (WebInspector.ResourceCookiesView.prototype.show):
14324        (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
14325        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
14326
143272011-04-21  Beth Dakin  <bdakin@apple.com>
14328
14329        Reviewed by Dan Bernstein.
14330
14331        https://bugs.webkit.org/show_bug.cgi?id=57898
14332        REGRESSION (r82185): Scroll position not restored on navigation back to a page in
14333        the page cache
14334        -and corresponding-
14335        <rdar://problem/9226652>
14336
14337        The original fix for this change broke scroll-position restore for pages that are
14338        *not* in the page cache. This patch fixes both cached and non-cached pages by
14339        using the cachedScrollPosition() only for cached pages.
14340        * loader/HistoryController.cpp:
14341        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
14342
143432011-04-21  Luke Macpherson   <macpherson@chromium.org>
14344
14345        Reviewed by Eric Seidel.
14346
14347        Remove redundant calls to RenderStyle::setDisplay()
14348        https://bugs.webkit.org/show_bug.cgi?id=59060
14349
14350        No new tests / no new functionality added.
14351
14352        * css/CSSStyleSelector.cpp:
14353        (WebCore::CSSStyleSelector::applyProperty):
14354        Remove redundant calls to RenderStyle::setDisplay()
14355
143562011-04-21  John Bauman  <jbauman@chromium.org>
14357
14358        Reviewed by Kenneth Russell.
14359
14360        WebGL context drawing buffer may not be cleared if FBO bound
14361        https://bugs.webkit.org/show_bug.cgi?id=58956
14362
14363        Clear the drawing buffer even if it's not currently bound, by
14364        switching between FBOs around the clear. Also, make sure that we
14365        handle depth and stencil masks properly.
14366
14367        No new tests, because testing this under DRT doesn't work.
14368
14369        * html/canvas/WebGLRenderingContext.cpp:
14370        (WebCore::WebGLRenderingContext::initializeNewContext):
14371        (WebCore::WebGLRenderingContext::clearIfComposited):
14372        (WebCore::WebGLRenderingContext::depthMask):
14373        * html/canvas/WebGLRenderingContext.h:
14374        *
143752011-04-21  Chris Fleizach  <cfleizach@apple.com>
14376
14377        Reviewed by Beth Dakin.
14378
14379        WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables
14380        https://bugs.webkit.org/show_bug.cgi?id=59140
14381
14382        WebKit should not modify the DOM when the screen reader requests certain things be set. There is no
14383        specification that allows this behavior yet, but we are working on something for the future.
14384
14385        * accessibility/AccessibilityRenderObject.cpp:
14386        (WebCore::AccessibilityRenderObject::setARIAGrabbed):
14387        (WebCore::AccessibilityRenderObject::setIsExpanded):
14388        (WebCore::AccessibilityRenderObject::setSelected):
14389        (WebCore::AccessibilityRenderObject::setValue):
14390
143912011-04-21  Chris Fleizach  <cfleizach@apple.com>
14392
14393        Reviewed by Beth Dakin.
14394
14395        AX: order AccessibilityRole alphabetically
14396        https://bugs.webkit.org/show_bug.cgi?id=31524
14397
14398        * accessibility/AccessibilityObject.h:
14399
144002011-04-21  Jia Pu  <jpu@apple.com>
14401
14402        Reviewed by Maciej Stachowiak.
14403
14404        [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared.
14405        https://bugs.webkit.org/show_bug.cgi?id=59155
14406        <rdar://problem/9261698>
14407
14408        Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h,
14409        and fixed a typo in function name.
14410
14411        * editing/Editor.h:
14412        * editing/SpellingCorrectionController.cpp:
14413        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
14414        (WebCore::SpellingCorrectionController::respondToChangedSelection):
14415        * editing/SpellingCorrectionController.h:
14416        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
14417
144182011-04-21  Maciej Stachowiak  <mjs@apple.com>
14419
14420        Reviewed by Adam Roben.
14421
14422        Add a feature define to allow <details> and <summary> to be disabled
14423        https://bugs.webkit.org/show_bug.cgi?id=59118
14424        <rdar://problem/9257045>
14425
14426        No new tests; no behavior change.
14427
14428        * Configurations/FeatureDefines.xcconfig:
14429        * DerivedSources.make:
14430        * GNUmakefile.am:
14431        * features.pri:
14432        * html/HTMLDetailsElement.cpp:
14433        * html/HTMLSummaryElement.cpp:
14434        * html/HTMLTagNames.in:
14435        * html/shadow/DetailsMarkerControl.cpp:
14436        * rendering/RenderBlock.cpp:
14437        (WebCore::canMergeContiguousAnonymousBlocks):
14438        * rendering/RenderDetails.cpp:
14439        * rendering/RenderDetails.h:
14440        * rendering/RenderDetailsMarker.cpp:
14441        * rendering/RenderDetailsMarker.h:
14442        * rendering/RenderObject.h:
14443        * rendering/RenderSummary.cpp:
14444        * rendering/RenderSummary.h:
14445        * rendering/RenderTreeAsText.cpp:
14446        (WebCore::RenderTreeAsText::writeRenderObject):
14447
144482011-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
14449
14450        Reviewed by Adele Peterson.
14451
14452        REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text
14453        https://bugs.webkit.org/show_bug.cgi?id=59053
14454
14455        Turns out, the relatedTarget of an event could be also an ancestor of an event,
14456        not just its parent. Duh.
14457
14458        * dom/EventDispatcher.cpp:
14459        (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost
14460            explicitly.
14461
144622011-04-21  Michael Saboff  <msaboff@apple.com>
14463
14464        Reviewed by Maciej Stachowiak.
14465
14466        Qualified names used for all TagName access, yet namespace usage is rare
14467        https://bugs.webkit.org/show_bug.cgi?id=58997
14468
14469        The methods getElementsByTagName and getElementsByTagNameNS where
14470        always creating and using QualifiedNames.  QualifiedName::init
14471        was consistently in the top 3 routines when running the Dromaeo
14472        DOM-query benchmark.  Split out the functionality so that
14473        getElementsByTagName uses just the local name, an implied "*"
14474        namespace and a separate TagNodeListCache keyed by an atomic name
14475        instead of a QualifiedName.  Access to elements via
14476        getElementsByTagNameNS that have "*" namespace are forwarded to
14477        getElementsByTagName as well.  This provides ~10% speed up in that
14478        Dromaeo test.
14479
14480        No new tests added, existing tests have coverage.  The changes are
14481        an optimization of existing functionality.
14482
14483        * dom/Node.cpp:
14484        (WebCore::Node::removeCachedTagNodeList):
14485        (WebCore::Node::getElementsByTagName):
14486        (WebCore::Node::getElementsByTagNameNS):
14487        (WebCore::NodeListsNodeData::invalidateCaches):
14488        (WebCore::NodeListsNodeData::isEmpty):
14489        * dom/Node.h:
14490        * dom/NodeRareData.h:
14491        * dom/TagNodeList.cpp:
14492        (WebCore::TagNodeList::~TagNodeList):
14493
144942011-04-21  Geoffrey Garen  <ggaren@apple.com>
14495
14496        Reviewed by Oliver Hunt.
14497
14498        Removed a use of markDOMObjectWrapper: more style- and node-related stuff
14499        https://bugs.webkit.org/show_bug.cgi?id=59127
14500
14501        * bindings/js/JSCanvasRenderingContextCustom.cpp:
14502        * bindings/js/JSCanvasRenderingContextCustom.cpp:
14503        (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots):
14504        (WebCore::JSCanvasRenderingContextOwner::finalize):
14505        (WebCore::wrapperOwner):
14506        (WebCore::wrapperContext): Use opaque roots for marking canvas rendering
14507        contexts, so JSNode isn't responsible for it.
14508
14509        * bindings/js/JSElementCustom.cpp:
14510        (WebCore::JSElement::markChildren):
14511        * bindings/js/JSHTMLCanvasElementCustom.cpp:
14512        * bindings/js/JSHTMLLinkElementCustom.cpp:
14513        * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code.
14514
14515        * bindings/js/JSNodeCustom.cpp:
14516        (WebCore::isObservable):
14517        (WebCore::isReachableFromDOM):
14518        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of
14519        CSS object model related special cases, since the CSS object model
14520        now tracks its own lifetime through the opaque roots system. Removed
14521        canvas special case, covered above.
14522
14523        * bindings/js/JSProcessingInstructionCustom.cpp:
14524        * bindings/js/JSWebKitAnimationListCustom.cpp:
14525        * dom/ProcessingInstruction.idl:
14526        * html/HTMLCanvasElement.idl:
14527        * html/HTMLLinkElement.idl:
14528        * html/HTMLStyleElement.idl:
14529        * page/WebKitAnimationList.idl: Removed obsolete marking code.
14530
145312011-04-21  Vangelis Kokkevis  <vangelis@chromium.org>
14532
14533        Reviewed by James Robinson.
14534
14535        [chromium] Only update the contents of layers that are going to
14536        be drawn. Remove individual texture unreserves that happen
14537        after the layer draw calls with a single unreserve for all the
14538        textures in the texture manager.
14539        https://bugs.webkit.org/show_bug.cgi?id=59129
14540
14541        Tests: No new functionality.  Covered by existing layout tests.
14542
14543        * platform/graphics/chromium/ContentLayerChromium.cpp:
14544        (WebCore::ContentLayerChromium::draw):
14545        * platform/graphics/chromium/ContentLayerChromium.h:
14546        * platform/graphics/chromium/ImageLayerChromium.cpp:
14547        (WebCore::ImageLayerChromium::paintContentsIfDirty):
14548        (WebCore::ImageLayerChromium::updateCompositorResources):
14549        * platform/graphics/chromium/LayerRendererChromium.cpp:
14550        (WebCore::LayerRendererChromium::drawRootLayer):
14551        (WebCore::LayerRendererChromium::updateAndDrawLayers):
14552        (WebCore::LayerRendererChromium::updateLayers):
14553        (WebCore::LayerRendererChromium::paintLayerContents):
14554        * platform/graphics/chromium/LayerRendererChromium.h:
14555        * platform/graphics/chromium/LayerTexture.cpp:
14556        * platform/graphics/chromium/LayerTexture.h:
14557        * platform/graphics/chromium/LayerTilerChromium.cpp:
14558        * platform/graphics/chromium/LayerTilerChromium.h:
14559        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
14560        (WebCore::RenderSurfaceChromium::drawSurface):
14561        * platform/graphics/chromium/TextureManager.cpp:
14562        (WebCore::TextureManager::unprotectAllTextures):
14563        * platform/graphics/chromium/TextureManager.h:
14564        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14565        (WebCore::CCHeadsUpDisplay::draw):
14566        * platform/graphics/chromium/cc/CCLayerImpl.h:
14567        (WebCore::CCLayerImpl::owner):
14568
145692011-04-21  Ryosuke Niwa  <rniwa@webkit.org>
14570
14571        Reviewed by Sam Weinig.
14572
14573        Add Frame* to the argument lists of canCopyCut and canPaste
14574        https://bugs.webkit.org/show_bug.cgi?id=59153
14575
14576        canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called.
14577        This allows editor client to grant copy/cut and paste permissions per origin.
14578
14579        * editing/EditorCommand.cpp:
14580        (WebCore::supportedCopyCut):
14581        (WebCore::supportedPaste):
14582        * loader/EmptyClients.h:
14583        (WebCore::EmptyEditorClient::canCopyCut):
14584        (WebCore::EmptyEditorClient::canPaste):
14585        * page/EditorClient.h:
14586
145872011-04-21  Oliver Hunt  <oliver@apple.com>
14588
14589        Whoops, change lost during merge
14590
14591        * bindings/js/JSEventListener.h:
14592
145932011-04-21  Geoffrey Garen  <ggaren@apple.com>
14594
14595        Reviewed by Sam Weinig.
14596
14597        Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to
14598        wrong global object use.
14599
14600        * bindings/js/JSHTMLDocumentCustom.cpp:
14601        (WebCore::JSHTMLDocument::nameGetter):
14602        (WebCore::JSHTMLDocument::all):
14603        * bindings/js/JSHTMLFormElementCustom.cpp:
14604        (WebCore::JSHTMLFormElement::nameGetter): Use the right global object.
14605
146062011-04-21  Oliver Hunt  <oliver@apple.com>
14607
14608        Reviewed by Geoffrey Garen.
14609
14610        Start moving to a general visitor pattern for GC traversal
14611        https://bugs.webkit.org/show_bug.cgi?id=59141
14612
14613        This is just a rename:
14614            markChildren -> visitChildren
14615            markAggregate -> visitAggregate
14616            markStack -> visitor
14617            MarkStack -> typedef'd to SlotVisitor
14618
14619        * bindings/js/JSAttrCustom.cpp:
14620        (WebCore::JSAttr::visitChildren):
14621        * bindings/js/JSAudioConstructor.cpp:
14622        (WebCore::constructAudio):
14623        * bindings/js/JSCSSRuleCustom.cpp:
14624        (WebCore::JSCSSRule::visitChildren):
14625        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14626        (WebCore::JSCSSStyleDeclaration::visitChildren):
14627        * bindings/js/JSDOMBinding.cpp:
14628        (WebCore::visitActiveObjectsForContext):
14629        (WebCore::markDOMObjectWrapper):
14630        * bindings/js/JSDOMBinding.h:
14631        * bindings/js/JSDOMGlobalObject.cpp:
14632        (WebCore::JSDOMGlobalObject::visitChildren):
14633        * bindings/js/JSDOMGlobalObject.h:
14634        * bindings/js/JSDOMImplementationCustom.cpp:
14635        (WebCore::JSDOMImplementation::visitChildren):
14636        * bindings/js/JSDOMWindowCustom.cpp:
14637        (WebCore::JSDOMWindow::visitChildren):
14638        * bindings/js/JSDOMWindowShell.cpp:
14639        (WebCore::JSDOMWindowShell::visitChildren):
14640        * bindings/js/JSDOMWindowShell.h:
14641        * bindings/js/JSDocumentCustom.cpp:
14642        (WebCore::JSDocument::visitChildren):
14643        * bindings/js/JSElementCustom.cpp:
14644        (WebCore::JSElement::visitChildren):
14645        * bindings/js/JSEventListener.cpp:
14646        (WebCore::JSEventListener::markJSFunction):
14647        * bindings/js/JSEventListener.h:
14648        * bindings/js/JSHTMLCanvasElementCustom.cpp:
14649        (WebCore::JSHTMLCanvasElement::visitChildren):
14650        * bindings/js/JSHTMLLinkElementCustom.cpp:
14651        (WebCore::JSHTMLLinkElement::visitChildren):
14652        * bindings/js/JSHTMLStyleElementCustom.cpp:
14653        (WebCore::JSHTMLStyleElement::visitChildren):
14654        * bindings/js/JSImageConstructor.cpp:
14655        (WebCore::constructImage):
14656        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
14657        (WebCore::JSJavaScriptAudioNode::visitChildren):
14658        * bindings/js/JSMessageChannelCustom.cpp:
14659        (WebCore::JSMessageChannel::visitChildren):
14660        * bindings/js/JSMessagePortCustom.cpp:
14661        (WebCore::JSMessagePort::visitChildren):
14662        * bindings/js/JSNamedNodeMapCustom.cpp:
14663        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
14664        (WebCore::JSNamedNodeMap::visitChildren):
14665        * bindings/js/JSNavigatorCustom.cpp:
14666        (WebCore::JSNavigator::visitChildren):
14667        * bindings/js/JSNodeCustom.cpp:
14668        (WebCore::isObservable):
14669        (WebCore::isReachableFromDOM):
14670        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
14671        (WebCore::JSNode::visitChildren):
14672        * bindings/js/JSNodeCustom.h:
14673        * bindings/js/JSNodeFilterCondition.cpp:
14674        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
14675        * bindings/js/JSNodeFilterCondition.h:
14676        * bindings/js/JSNodeFilterCustom.cpp:
14677        (WebCore::JSNodeFilter::visitChildren):
14678        * bindings/js/JSNodeIteratorCustom.cpp:
14679        (WebCore::JSNodeIterator::visitChildren):
14680        * bindings/js/JSNodeListCustom.cpp:
14681        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
14682        * bindings/js/JSProcessingInstructionCustom.cpp:
14683        (WebCore::JSProcessingInstruction::visitChildren):
14684        * bindings/js/JSSVGElementInstanceCustom.cpp:
14685        (WebCore::JSSVGElementInstance::visitChildren):
14686        * bindings/js/JSSharedWorkerCustom.cpp:
14687        (WebCore::JSSharedWorker::visitChildren):
14688        * bindings/js/JSStyleSheetCustom.cpp:
14689        (WebCore::JSStyleSheet::visitChildren):
14690        * bindings/js/JSTreeWalkerCustom.cpp:
14691        (WebCore::JSTreeWalker::visitChildren):
14692        * bindings/js/JSWebGLRenderingContextCustom.cpp:
14693        (WebCore::JSWebGLRenderingContext::visitChildren):
14694        * bindings/js/JSWebKitAnimationListCustom.cpp:
14695        (WebCore::JSWebKitAnimationList::visitChildren):
14696        * bindings/js/JSWorkerContextCustom.cpp:
14697        (WebCore::JSWorkerContext::visitChildren):
14698        * bindings/js/JSXMLHttpRequestCustom.cpp:
14699        (WebCore::JSXMLHttpRequest::visitChildren):
14700        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14701        (WebCore::JSXMLHttpRequestUpload::visitChildren):
14702        * bindings/scripts/CodeGeneratorJS.pm:
14703        * bridge/qt/qt_instance.cpp:
14704        (JSC::Bindings::QtRuntimeObject::visitChildren):
14705        (JSC::Bindings::QtInstance::markAggregate):
14706        * bridge/qt/qt_instance.h:
14707        * bridge/qt/qt_pixmapruntime.cpp:
14708        * bridge/qt/qt_runtime.cpp:
14709        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
14710        * bridge/qt/qt_runtime.h:
14711        * dom/EventListener.h:
14712        (WebCore::EventListener::visitJSFunction):
14713        * dom/EventTarget.h:
14714        (WebCore::EventTarget::visitJSEventListeners):
14715        * dom/Node.h:
14716        * dom/NodeFilterCondition.h:
14717        (WebCore::NodeFilterCondition::visitAggregate):
14718        * page/DOMWindow.h:
14719        * workers/WorkerContext.h:
14720
147212011-04-21  Beth Dakin  <bdakin@apple.com>
14722
14723        Reviewed by Dan Bernstein.
14724
14725        https://bugs.webkit.org/show_bug.cgi?id=59048
14726        Need to track whether overlay scrollbar is currently visible and in lower-
14727        righthand corner
14728        -and corresponding-
14729        <rdar://problem/9211232>
14730
14731        Whenever we start a new ScrollbarPartAnimation, check if the scrollbar is vertical
14732        and showing (alpha of 1), and if so, call setVisibleScrollerThumbRect with the
14733        knob rect, otherwise with an empty rect. ScrollAnimatorMac has a local rect to
14734        track this value so that it can avoid sending messages across the ChromeClient to
14735        the UIProcess if the rect has not changed.
14736        * platform/mac/ScrollAnimatorMac.h:
14737        * platform/mac/ScrollAnimatorMac.mm:
14738        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
14739        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
14740        (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
14741
14742        Plumbing for the chrome client.
14743        * page/ChromeClient.h:
14744        (WebCore::ChromeClient::notifyScrollerThumbIsVisibleInRect):
14745        * page/FrameView.cpp:
14746        (WebCore::FrameView::setVisibleScrollerThumbRect):
14747        * page/FrameView.h:
14748        * platform/ScrollableArea.h:
14749        (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
14750
14751        New WebCoreSystemInterface function to get the knob rect.
14752        * WebCore.exp.in:
14753        * platform/mac/WebCoreSystemInterface.h:
14754        * platform/mac/WebCoreSystemInterface.mm:
14755
147562011-04-21  Nat Duca  <nduca@chromium.org>
14757
14758        Reviewed by James Robinson.
14759
14760        [chromium] Fix artefacts in compositor HUD when resizing
14761        https://bugs.webkit.org/show_bug.cgi?id=58969
14762
14763        HUD was using the tiler program and not setting the texture
14764        transform. The HUD would thus draw with a texture transform based
14765        on the last tile drawn, leading sometimes to distortion.
14766
14767        * platform/graphics/chromium/LayerRendererChromium.cpp:
14768        (WebCore::LayerRendererChromium::initializeSharedObjects):
14769        (WebCore::LayerRendererChromium::cleanupSharedObjects):
14770        * platform/graphics/chromium/LayerRendererChromium.h:
14771        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
14772        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14773        (WebCore::CCHeadsUpDisplay::draw):
14774        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
14775
147762011-04-21  Mike Reed  <reed@google.com>
14777
14778        Reviewed by Kenneth Russell.
14779
14780        only return false if we actually in a skia-gpu accelerated canvas for isNativeFontRenderingAllowed
14781        https://bugs.webkit.org/show_bug.cgi?id=59024
14782
14783        No new tests. The bug (and fix) depend on enabling SKIA_GPU. When that is enabled, the bug
14784        shows all text w/o lcd rendering. This is a regression from a recent CL when we switch to
14785        calling skia::SupportsPlatformPaint. This CL fixes that.
14786        There should be no change for the default builds when SKIA_GPU is not enabled.
14787
14788        * platform/graphics/skia/PlatformContextSkia.cpp:
14789        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
14790
147912011-04-21  Adrienne Walker  <enne@google.com>
14792
14793        Reviewed by James Robinson.
14794
14795        [chromium] Don't upload partially drawn tiles in the compositor
14796        https://bugs.webkit.org/show_bug.cgi?id=59112
14797
14798        Use the same set of tiles for painting as is used for updating.
14799        Before, a larger set of tiles were being uploaded, causing some to
14800        only be partially undirtied because they were not fully painted.
14801        As tiles are clear their dirty rect after being unpainted, this caused
14802        artifacts to appear when scrolling.
14803
14804        Unfortunately, no layout test can test this behavior yet because
14805        scrolling invalidations are done differently in test shell.
14806
14807        * platform/graphics/chromium/ImageLayerChromium.cpp:
14808        (WebCore::ImageLayerChromium::updateCompositorResources):
14809        * platform/graphics/chromium/LayerTilerChromium.cpp:
14810        (WebCore::LayerTilerChromium::update):
14811        (WebCore::LayerTilerChromium::uploadCanvas):
14812        (WebCore::LayerTilerChromium::updateFromPixels):
14813        * platform/graphics/chromium/LayerTilerChromium.h:
14814
148152011-04-21  Ben Taylor  <bentaylor.solx86@gmail.com>
14816
14817        Reviewed by Alexey Proskuryakov.
14818
14819        https://bugs.webkit.org/show_bug.cgi?id=58725
14820
14821        Fix a compile issue on Solaris 10 with Sun Studio 12,
14822        ternary operators (?:) must have the same types
14823
14824        * loader/DocumentLoader.cpp:
14825        (WebCore::DocumentLoader::popArchiveForSubframe):
14826        * loader/archive/ArchiveFactory.cpp:
14827        (WebCore::ArchiveFactory::create):
14828        * loader/icon/IconDatabase.cpp:
14829        (WebCore::IconDatabase::setIconDataForIconURL):
14830        * page/animation/AnimationBase.cpp:
14831        (WebCore::blendFunc):
14832        * rendering/RenderLayer.cpp:
14833        (WebCore::RenderLayer::updateScrollCornerStyle):
14834        (WebCore::RenderLayer::updateResizerStyle):
14835        * rendering/RenderScrollbar.cpp:
14836        (WebCore::RenderScrollbar::updateScrollbarPart):
14837        * rendering/RenderTextFragment.cpp:
14838        (WebCore::RenderTextFragment::RenderTextFragment):
14839
148402011-04-21  Mike Reed  <reed@google.com>
14841
14842        Reviewed by Kenneth Russell.
14843
14844        [chromium, win] Multiple failures of shadow rendering layout tests
14845        https://bugs.webkit.org/show_bug.cgi?id=58772
14846
14847        No new tests. This CL fixes a regression in the following tests
14848        fast/multicol/shadow-breaking.html
14849        fast/repaint/shadow-multiple-horizontal.html
14850        fast/repaint/shadow-multiple-strict-horizontal.html
14851        fast/repaint/shadow-multiple-strict-vertical.html
14852        fast/repaint/shadow-multiple-vertical.html
14853        fast/text/shadow-translucent-fill.html
14854        fast/transforms/shadows.html
14855        svg/css/group-with-shadow.svg
14856        svg/css/shadow-changes.svg
14857        svg/css/text-shadow-multiple.xhtml
14858        transitions/svg-text-shadow-transition.html
14859        svg/css/composite-shadow-text.svg
14860
14861
14862        * platform/graphics/skia/GraphicsContextSkia.cpp:
14863        (WebCore::GraphicsContext::setPlatformShadow):
14864
148652011-04-21  Geoffrey Garen  <ggaren@apple.com>
14866
14867        Try to fix the Qt build.
14868
14869        * UseJSC.cmake:
14870        * WebCore.pro: Use correct file name.
14871
148722011-04-21  Dirk Schulze  <krit@webkit.org>
14873
14874        Unreviewed Qt build fix.
14875
14876        SVG feDropShadow implementation of SVG Filters 1.2
14877        https://bugs.webkit.org/show_bug.cgi?id=52513
14878
14879        * CodeGenerators.pri:
14880
148812011-04-21  Adrienne Walker  <enne@google.com>
14882
14883        Reviewed by James Robinson.
14884
14885        [chromium] Clamp dirty regions on content layers to layer bounds
14886        https://bugs.webkit.org/show_bug.cgi?id=58933
14887
14888        This prevents garbage being rendered when layers are resized and a
14889        previous invalidation (now off-layer) is no longer valid.
14890
14891        * platform/graphics/chromium/ContentLayerChromium.cpp:
14892        (WebCore::ContentLayerChromium::paintContentsIfDirty):
14893
148942011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
14895
14896        Reviewed by Kent Tamura.
14897
14898        Bug 59012 - Shadows should be imported along with their host nodes
14899        https://bugs.webkit.org/show_bug.cgi?id=59012
14900
14901        Copy the shadow tree of an element (even on a shallow copy!).
14902
14903        Test: fast/dom/shadow/import-shadowroot.html
14904
14905        * dom/Element.cpp:
14906        (WebCore::Element::copyNonAttributeProperties):
14907        * dom/Element.h:
14908
149092011-04-20  Geoffrey Garen  <ggaren@apple.com>
14910
14911        Reviewed by Oliver Hunt.
14912
14913        Removed a use of markDOMObjectWrapper: CSS Object Model
14914        https://bugs.webkit.org/show_bug.cgi?id=59057
14915
14916        This is 24 hours of my life I will never get back. Thank you, W3C.
14917
14918        * GNUmakefile.list.am:
14919        * WebCore.gypi:
14920        * WebCore.vcproj/WebCore.vcproj:
14921        * WebCore.xcodeproj/project.pbxproj: Build!
14922
14923        * bindings/js/JSCSSFontFaceRuleCustom.cpp:
14924        * bindings/js/JSCSSImportRuleCustom.cpp:
14925        * bindings/js/JSCSSMediaRuleCustom.cpp:
14926        * bindings/js/JSCSSPageRuleCustom.cpp:
14927        * bindings/js/JSCSSRuleCustom.cpp:
14928        (WebCore::JSCSSRuleOwner::isReachableFromOpaqueRoots):
14929        (WebCore::JSCSSRuleOwner::finalize):
14930        (WebCore::wrapperOwner):
14931        (WebCore::wrapperContext):
14932        (WebCore::JSCSSRule::markChildren):
14933        * bindings/js/JSCSSRuleListCustom.cpp:
14934        (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
14935        (WebCore::JSCSSRuleListOwner::finalize):
14936        (WebCore::wrapperOwner):
14937        (WebCore::wrapperContext):
14938        (WebCore::toJS):
14939        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14940        (WebCore::JSCSSStyleDeclarationOwner::isReachableFromOpaqueRoots):
14941        (WebCore::JSCSSStyleDeclarationOwner::finalize):
14942        (WebCore::wrapperOwner):
14943        (WebCore::wrapperContext):
14944        (WebCore::JSCSSStyleDeclaration::markChildren): Removed custom mark functions,
14945        and replaced with use of the opaque roots system. This has the nice benefit
14946        of allowing us to eagerly recycle far more CSS wrappers and their associated
14947        DOM wrappers.
14948
14949        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Made this function
14950        custom because it must maintain the sorrowful invariant that primitive
14951        values can be mapped back to objects that are reachable through the DOM.
14952        We maintain this invariant through an external hash table because
14953        making all primitive values bigger would be a too-large memory use
14954        penalty. Luckily, nobody uses this feature, so the cost of the hash table
14955        is no big deal.
14956
14957        (WebCore::toJS): We need a custom toJS so we can specify our own WeakHandleOwner.
14958
14959        * bindings/js/JSCSSStyleRuleCustom.cpp: Removed custom mark, as above.
14960
14961        * bindings/js/JSCSSValueCustom.cpp:
14962        (WebCore::cssValueRoots):
14963        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
14964        (WebCore::JSCSSValueOwner::finalize):
14965        (WebCore::wrapperOwner):
14966        (WebCore::wrapperContext): Use the opaque roots system. Piggy-back on
14967        the external hash table filled by JSCSSStyleDeclaration::getPropertyCSSValue.
14968
14969        * bindings/js/JSDocumentCustom.cpp:
14970        (WebCore::JSDocument::markChildren): No need to mark our stylesheet list,
14971        since all style-related objects can use our opaque root to determine
14972        liveness.
14973
14974        * bindings/js/JSMediaListCustom.cpp: Added.
14975        (WebCore::JSMediaListOwner::isReachableFromOpaqueRoots):
14976        (WebCore::JSMediaListOwner::finalize):
14977        (WebCore::wrapperOwner):
14978        (WebCore::wrapperContext):
14979        (WebCore::toJS): Use the opaque roots system.
14980
14981        * bindings/js/JSNodeCustom.h:
14982        (WebCore::root): Added helpers for computing style-related roots.
14983
14984        * bindings/js/JSStyleSheetCustom.cpp:
14985        (WebCore::JSStyleSheetOwner::isReachableFromOpaqueRoots):
14986        (WebCore::JSStyleSheetOwner::finalize):
14987        (WebCore::wrapperOwner):
14988        (WebCore::wrapperContext):
14989        (WebCore::JSStyleSheet::markChildren): Use the opaque roots system instead
14990        of direct marking.
14991
14992        * bindings/js/JSStyleSheetListCustom.cpp:
14993        (WebCore::JSStyleSheetListOwner::isReachableFromOpaqueRoots):
14994        (WebCore::JSStyleSheetListOwner::finalize):
14995        (WebCore::wrapperOwner):
14996        (WebCore::wrapperContext):
14997        (WebCore::toJS): Ditto.
14998
14999        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp:
15000        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp:
15001        * css/CSSFontFaceRule.idl:
15002        * css/CSSImportRule.idl: No more custom mark, since we use the opaque
15003        roots system instead.
15004
15005        * css/CSSMediaRule.cpp:
15006        (WebCore::CSSMediaRule::CSSMediaRule): Fixed a bug where a media rule
15007        would incorrectly have no parent, since this got in the way of correctly
15008        computing the media rule's root.
15009
15010        * css/CSSMediaRule.idl:
15011        * css/CSSPageRule.idl:
15012        * css/CSSRuleList.idl:
15013        * css/CSSStyleDeclaration.idl:
15014        * css/CSSStyleRule.idl:
15015        * css/MediaList.idl: Match behavior changes above.
15016
15017        * css/StyleBase.cpp:
15018        (WebCore::StyleBase::node): Helper function for computing roots of the
15019        style system. This object model is pretty weird and not very well factored,
15020        but I'm pretty sure this covers all the relevant cases.
15021
15022        * css/StyleBase.h:
15023        * css/StyleSheetList.idl:
15024        * css/WebKitCSSKeyframeRule.idl:
15025        * css/WebKitCSSKeyframesRule.idl: Updated to match the behavior changes above.
15026
150272011-04-21  Dirk Schulze  <krit@webkit.org>
15028
15029        Reviewed by Nikolas Zimmermann.
15030
15031        SVG feDropShadow implementation of SVG Filters 1.2
15032        https://bugs.webkit.org/show_bug.cgi?id=52513
15033
15034        This is the implementation of feDropShadow, a shorthand filter and a combination of feGaussianBlur,
15035        feOffset, feFlood and feComposite to create a drop shadow of an input effect.
15036        Creating this new filter effect makes it possible to optimize the often used workflow. ShadowBlur, with its
15037        fast blurring algorithm, is used to blur the shadow and composite operators are responsible for combining the
15038        source with different colored shadows.
15039        Shadow color and opacity can be set with the properties flood-color and flood-opacity.
15040
15041        Tests: svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html
15042               svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html
15043               svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html
15044               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html
15045               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html
15046               svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html
15047               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html
15048               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html
15049               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html
15050               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html
15051               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html
15052               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html
15053               svg/filters/feDropShadow.svg
15054
15055        * Android.mk:
15056        * CMakeLists.txt:
15057        * DerivedSources.cpp:
15058        * DerivedSources.make:
15059        * GNUmakefile.list.am:
15060        * WebCore.exp.in:
15061        * WebCore.gypi:
15062        * WebCore.pro:
15063        * WebCore.vcproj/WebCore.vcproj:
15064        * WebCore.xcodeproj/project.pbxproj:
15065        * bindings/objc/DOM.mm:
15066        (WebCore::createElementClassMap):
15067        * bindings/objc/DOMSVG.h:
15068        * page/DOMWindow.idl:
15069        * platform/graphics/ShadowBlur.cpp: Added missing copyright after r84410.
15070        * platform/graphics/ShadowBlur.h: Made blurLayerImage public.
15071        * platform/graphics/filters/FEDropShadow.cpp: Added.
15072        (WebCore::FEDropShadow::FEDropShadow):
15073        (WebCore::FEDropShadow::create):
15074        (WebCore::FEDropShadow::determineAbsolutePaintRect):
15075        (WebCore::FEDropShadow::apply):
15076        (WebCore::FEDropShadow::dump):
15077        (WebCore::FEDropShadow::externalRepresentation):
15078        * platform/graphics/filters/FEDropShadow.h: Added.
15079        (WebCore::FEDropShadow::stdDeviationX):
15080        (WebCore::FEDropShadow::setStdDeviationX):
15081        (WebCore::FEDropShadow::stdDeviationY):
15082        (WebCore::FEDropShadow::setStdDeviationY):
15083        (WebCore::FEDropShadow::dx):
15084        (WebCore::FEDropShadow::setDx):
15085        (WebCore::FEDropShadow::dy):
15086        (WebCore::FEDropShadow::setDy):
15087        (WebCore::FEDropShadow::shadowColor):
15088        (WebCore::FEDropShadow::setShadowColor):
15089        (WebCore::FEDropShadow::shadowOpacity):
15090        (WebCore::FEDropShadow::setShadowOpacity):
15091        * platform/graphics/filters/FEGaussianBlur.cpp:
15092        (WebCore::FEGaussianBlur::calculateKernelSize): Make kernel calculations accessible for feDropShadow.
15093        * platform/graphics/filters/FEGaussianBlur.h:
15094        * svg/SVGAllInOne.cpp:
15095        * svg/SVGFEDropShadowElement.cpp: Added.
15096        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
15097        (WebCore::SVGFEDropShadowElement::create):
15098        (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
15099        (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
15100        (WebCore::SVGFEDropShadowElement::setStdDeviation):
15101        (WebCore::SVGFEDropShadowElement::parseMappedAttribute):
15102        (WebCore::SVGFEDropShadowElement::svgAttributeChanged):
15103        (WebCore::SVGFEDropShadowElement::synchronizeProperty):
15104        (WebCore::SVGFEDropShadowElement::build):
15105        * svg/SVGFEDropShadowElement.h: Added.
15106        * svg/SVGFEDropShadowElement.idl: Added.
15107        * svg/svgtags.in:
15108
151092011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
15110
15111        Reviewed by Dimitri Glazkov.
15112
15113        Bug 58704 - Decide on node type for ShadowRoot
15114        https://bugs.webkit.org/show_bug.cgi?id=58704
15115
15116        Add a new node type SHADOW_ROOT_NODE.
15117        Adapt all calling sites of nodeType().
15118
15119        Test: fast/dom/shadow/nodetype.html
15120
15121        * bindings/js/JSNodeCustom.cpp:
15122        (WebCore::createWrapperInline):
15123        * bindings/objc/DOM.mm:
15124        (kitClass):
15125        * bindings/v8/custom/V8NodeCustom.cpp:
15126        (WebCore::toV8Slow):
15127        * dom/Document.cpp:
15128        (WebCore::Document::importNode):
15129        (WebCore::Document::childTypeAllowed):
15130        (WebCore::Document::canReplaceChild):
15131        * dom/Node.cpp:
15132        (WebCore::Node::dumpStatistics):
15133        (WebCore::Node::isDefaultNamespace):
15134        (WebCore::Node::lookupPrefix):
15135        (WebCore::Node::lookupNamespaceURI):
15136        (WebCore::appendTextContent):
15137        (WebCore::Node::setTextContent):
15138        * dom/Node.h:
15139        * dom/Range.cpp:
15140        (WebCore::lengthOfContentsInNode):
15141        (WebCore::Range::processContentsBetweenOffsets):
15142        (WebCore::Range::insertNode):
15143        (WebCore::Range::checkNodeWOffset):
15144        (WebCore::Range::checkNodeBA):
15145        (WebCore::Range::selectNode):
15146        (WebCore::Range::selectNodeContents):
15147        (WebCore::Range::surroundContents):
15148        * dom/ShadowRoot.cpp:
15149        (WebCore::ShadowRoot::nodeType):
15150        * dom/Traversal.cpp:
15151        (WebCore::Traversal::acceptNode):
15152        * editing/MarkupAccumulator.cpp:
15153        (WebCore::MarkupAccumulator::appendStartMarkup):
15154        * html/parser/HTMLElementStack.cpp:
15155        (WebCore::HTMLNames::isRootNode):
15156        (WebCore::HTMLElementStack::pushRootNode):
15157        * html/parser/HTMLElementStack.h:
15158        (WebCore::isInHTMLNamespace):
15159        * xml/XPathUtil.cpp:
15160        (WebCore::XPath::isValidContextNode):
15161
151622011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
15163
15164        Reviewed by Kent Tamura.
15165
15166        REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video)
15167        https://bugs.webkit.org/show_bug.cgi?id=52917
15168
15169        In order to determine whether a rule should apply inside of a shadow DOM subtree,
15170        we collect three pieces of information:
15171
15172        1) Are we parsing UA sheets?
15173        2) Does the current tree scope allows applying author sheets?
15174        3) Does the rule explicitly reach into shadow DOM (using pseudo-elements, for example)?
15175
15176        If the answer to all of these is no, we ignore the rule.
15177
15178        Test: fast/css/shadow-dom-scope.html
15179
15180        * css/CSSStyleSelector.cpp:
15181        (WebCore::MatchingUARulesScope::MatchingUARulesScope): Added a scope helper to
15182            track whether we are currently matching UA rules.
15183        (WebCore::CSSStyleSelector::matchRulesForList): Added the check for three
15184            conditions mentioned above.
15185        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added
15186            initializer for the flag, which helps us determine whether the rule
15187            explicitly reaches into shadow DOM.
15188        (WebCore::CSSStyleSelector::matchUARules): Started using the scope helper.
15189        (WebCore::CSSStyleSelector::checkSelector): Added initializing of the
15190            flag.
15191        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added setting
15192            of the flag when we encounter unknown pseudo-elements.
15193        * css/CSSStyleSelector.h: Adjusted decls.
15194        * dom/ShadowRoot.cpp:
15195        (WebCore::ShadowRoot::applyAuthorSheets): Added.
15196        * dom/ShadowRoot.h: Adjusted decls.
15197        * dom/TreeScope.cpp:
15198        (WebCore::TreeScope::applyAuthorSheets): Added.
15199        * dom/TreeScope.h: Adjusted decls.
15200
152012011-04-21  Levi Weintraub  <leviw@chromium.org>
15202
15203        Reviewed by Simon Fraser.
15204
15205        position fixed element does not render properly when dynamically updated via javascript
15206        https://bugs.webkit.org/show_bug.cgi?id=54297
15207
15208        Disabling the LayoutState fast-path for fixed-position content.
15209
15210        Tests: fast/repaint/fixed-contents-changed-after-scroll.html
15211               fast/repaint/transformed-contents-changed-after-scroll.html
15212
15213        * rendering/RenderBox.cpp:
15214        (WebCore::RenderBox::computeRectForRepaint):
15215
152162011-04-20  Matthew Delaney  <mdelaney@apple.com>
15217
15218        Reviewed by Maciej Stachowiak.
15219
15220        arc() should add a circle to the path when start and end angles are far enough apart
15221        https://bugs.webkit.org/show_bug.cgi?id=58934
15222
15223        Test: fast/canvas/canvas_arc_largeangles.html
15224
15225        * html/canvas/CanvasRenderingContext2D.cpp:
15226        (WebCore::CanvasRenderingContext2D::arc):
15227
152282011-04-20  MORITA Hajime  <morrita@google.com>
15229
15230        Reviewed by Dimitri Glazkov.
15231
15232        Content of <summary> should be forwarded through the shadow DOM
15233        https://bugs.webkit.org/show_bug.cgi?id=58914
15234
15235        - Introduced ShadowContentElement which hosts forwarded children of <summary>
15236        - Encapsulated Node::parentNodeForRenderingAndStyle() and shouldCreateRendererFor()
15237          into NodeVisualParentLookupResult class.
15238        - The parent lookup is also aware of node forwarding. If the visual parent node has
15239          a shadow root, the node is possibly forwarded to ShadowContentElement
15240        - ShadowContentElement lookup is implemented inside ShadowRoot.
15241
15242        Tests: fast/html/details-add-summary-child-1.html
15243               fast/html/details-add-summary-child-2.html
15244               fast/html/details-remove-summary-child-1.html
15245               fast/html/details-remove-summary-child-2.html
15246
15247        * GNUmakefile.list.am:
15248        * WebCore.gypi:
15249        * WebCore.vcproj/WebCore.vcproj:
15250        * WebCore.xcodeproj/project.pbxproj:
15251        * dom/Element.cpp:
15252        (WebCore::Element::childrenChanged):
15253        * dom/Node.cpp:
15254        (WebCore::NodeRenderParentDetector::NodeRenderParentDetector):
15255        (WebCore::NodeRenderParentDetector::parentNodeForRenderingAndStyle):
15256        (WebCore::NodeRenderParentDetector::findVisualParent):
15257        (WebCore::NodeRenderParentDetector::shouldCreateRenderer):
15258        (WebCore::Node::parentNodeForRenderingAndStyle):
15259        (WebCore::Node::createRendererAndStyle):
15260        * dom/ShadowRoot.cpp:
15261        (WebCore::ShadowRoot::contentContainerFor):
15262        (WebCore::ShadowRoot::hostChildrenChanged):
15263        (WebCore::ShadowRoot::firstContentElement):
15264        * dom/ShadowRoot.h:
15265        * html/HTMLSummaryElement.cpp:
15266        (WebCore::HTMLSummaryElement::createShadowSubtree):
15267        * html/HTMLSummaryElement.h:
15268        * html/shadow/ShadowContentElement.h: Copied from Source/WebCore/dom/ShadowRoot.h.
15269        (WebCore::ShadowContentElement::ShadowContentElement):
15270        (WebCore::ShadowContentElement::isShadowBoundary):
15271        (WebCore::ShadowContentElement::createRenderer):
15272        (WebCore::ShadowContentElement::create):
15273
152742011-04-21  Andrey Kosyakov  <caseq@chromium.org>
15275
15276        Reviewed by Pavel Feldman.
15277
15278        Web Inspector: fix calls to WebInspector.ObjectPropertiesSection constructor
15279        https://bugs.webkit.org/show_bug.cgi?id=59105
15280
15281        * inspector/front-end/ConsoleView.js:
15282        (WebInspector.ConsoleView.prototype._formatobject):
15283        * inspector/front-end/ExtensionPanel.js:
15284        (WebInspector.ExtensionSidebarPane.prototype._setObject):
15285        * inspector/front-end/ResourceJSONView.js:
15286        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
15287        * inspector/front-end/SourceFrame.js:
15288        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
15289        (WebInspector.SourceFrame.prototype._showPopup):
15290
152912011-04-21  Adam Barth  <abarth@webkit.org>
15292
15293        Remove support for CSP's frame-src.  This approach causes too many
15294        extra console messages to be logged.  I'm leaving in the test (which
15295        now shows failure).
15296
15297        * html/HTMLFrameElementBase.cpp:
15298        (WebCore::HTMLFrameElementBase::isURLAllowed):
15299
153002011-04-21  Eunsol Park  <eunsol47.park@samsung.com>
15301
15302        Reviewed by Antonio Gomes.
15303
15304        [EFL] Scroll doesn't work on tiled backing store.
15305        https://bugs.webkit.org/show_bug.cgi?id=55021
15306
15307        It was added from Changeset 72242, but it worked wrong in EFL port.
15308        The visible rect should not be returned as content rect for scrolling in EFL tiled backing store,
15309        because it works differently from QT.
15310
15311        * platform/ScrollView.cpp:
15312        (WebCore::ScrollView::visibleContentRect):
15313
153142011-04-21  Simon Fraser  <simon.fraser@apple.com>
15315
15316        Reviewed by Eric Seidel.
15317
15318        Create RIAA class for GraphicsContext::save() and restore()
15319        https://bugs.webkit.org/show_bug.cgi?id=58807
15320
15321        Use GraphicsContextStateSaver in a lot more places.
15322
15323        * html/canvas/CanvasRenderingContext2D.cpp:
15324        (WebCore::CanvasRenderingContext2D::drawImage):
15325        (WebCore::CanvasRenderingContext2D::drawTextInternal):
15326        * platform/ScrollView.cpp:
15327        (WebCore::ScrollView::wheelEvent):
15328        * platform/graphics/GeneratedImage.cpp:
15329        (WebCore::GeneratedImage::draw):
15330        * platform/graphics/GraphicsContext.h:
15331        (WebCore::GraphicsContextStateSaver::save):
15332        (WebCore::GraphicsContextStateSaver::restore):
15333        * platform/graphics/ShadowBlur.cpp:
15334        (WebCore::ShadowBlur::drawShadowBuffer):
15335        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
15336        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
15337        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
15338        (WebCore::ShadowBlur::drawRectShadowWithTiling):
15339        (WebCore::ShadowBlur::drawLayerPieces):
15340        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
15341        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
15342        * platform/graphics/cg/ImageCG.cpp:
15343        (WebCore::BitmapImage::draw):
15344        (WebCore::Image::drawPattern):
15345        * platform/graphics/cg/PDFDocumentImage.cpp:
15346        (WebCore::PDFDocumentImage::draw):
15347        * platform/graphics/filters/FEComposite.cpp:
15348        (WebCore::FEComposite::apply):
15349        * platform/graphics/filters/SourceAlpha.cpp:
15350        (WebCore::SourceAlpha::apply):
15351        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
15352        (WebCore::MediaPlayerPrivateQTKit::paint):
15353        * platform/mac/ScrollbarThemeMac.mm:
15354        (WebCore::ScrollbarThemeMac::paint):
15355        * platform/mac/ThemeMac.mm:
15356        (WebCore::paintCheckbox):
15357        (WebCore::paintRadio):
15358        (WebCore::paintStepper):
15359        * rendering/EllipsisBox.cpp:
15360        (WebCore::EllipsisBox::paintSelection):
15361        * rendering/InlineFlowBox.cpp:
15362        (WebCore::InlineFlowBox::paintFillLayer):
15363        (WebCore::InlineFlowBox::paintBoxDecorations):
15364        (WebCore::InlineFlowBox::paintMask):
15365        * rendering/InlineTextBox.cpp:
15366        (WebCore::InlineTextBox::paint):
15367        (WebCore::InlineTextBox::paintSelection):
15368        (WebCore::InlineTextBox::paintCompositionBackground):
15369        (WebCore::InlineTextBox::paintDecoration):
15370        (WebCore::InlineTextBox::paintTextMatchMarker):
15371        * rendering/RenderBlock.cpp:
15372        (WebCore::RenderBlock::paintColumnContents):
15373        (WebCore::RenderBlock::paintSelection):
15374        * rendering/RenderBox.cpp:
15375        (WebCore::RenderBox::paintBoxDecorationsWithSize):
15376        * rendering/RenderBoxModelObject.cpp:
15377        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
15378        (WebCore::RenderBoxModelObject::paintBorder):
15379        * rendering/RenderEmbeddedObject.cpp:
15380        (WebCore::RenderEmbeddedObject::paintReplaced):
15381        * rendering/RenderFieldset.cpp:
15382        (WebCore::RenderFieldset::paintBoxDecorations):
15383        * rendering/RenderFileUploadControl.cpp:
15384        (WebCore::RenderFileUploadControl::paintObject):
15385        * rendering/RenderLayer.cpp:
15386        (WebCore::RenderLayer::paintResizer):
15387        (WebCore::RenderLayer::paintLayer):
15388        (WebCore::RenderLayer::paintChildLayerIntoColumns):
15389        * rendering/RenderListMarker.cpp:
15390        (WebCore::RenderListMarker::paint):
15391        * rendering/RenderMediaControls.cpp:
15392        (WebCore::RenderMediaControls::paintMediaControlsPart):
15393        * rendering/RenderTableCell.cpp:
15394        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
15395        * rendering/RenderTextControl.cpp:
15396        (WebCore::RenderTextControl::paintPlaceholder):
15397        * rendering/RenderThemeMac.mm:
15398        (WebCore::RenderThemeMac::paintMenuList):
15399        (WebCore::RenderThemeMac::paintMeter):
15400        (WebCore::RenderThemeMac::paintProgressBar):
15401        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
15402        (WebCore::RenderThemeMac::paintMenuListButton):
15403        (WebCore::RenderThemeMac::paintSliderTrack):
15404        (WebCore::RenderThemeMac::paintSliderThumb):
15405        (WebCore::RenderThemeMac::paintSearchField):
15406        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
15407        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
15408        (WebCore::RenderThemeMac::paintMediaSliderTrack):
15409        (WebCore::RenderThemeMac::paintMediaCurrentTime):
15410        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
15411        * rendering/mathml/RenderMathMLBlock.cpp:
15412        (WebCore::RenderMathMLBlock::paint):
15413        * rendering/mathml/RenderMathMLFraction.cpp:
15414        (WebCore::RenderMathMLFraction::paint):
15415        * rendering/mathml/RenderMathMLRoot.cpp:
15416        (WebCore::RenderMathMLRoot::paint):
15417        * rendering/mathml/RenderMathMLSquareRoot.cpp:
15418        (WebCore::RenderMathMLSquareRoot::paint):
15419        * rendering/svg/RenderSVGContainer.cpp:
15420        (WebCore::RenderSVGContainer::paint):
15421        * rendering/svg/RenderSVGForeignObject.cpp:
15422        (WebCore::RenderSVGForeignObject::paint):
15423        * rendering/svg/RenderSVGImage.cpp:
15424        (WebCore::RenderSVGImage::paint):
15425        * rendering/svg/RenderSVGPath.cpp:
15426        (WebCore::RenderSVGPath::fillAndStrokePath):
15427        (WebCore::RenderSVGPath::paint):
15428        * rendering/svg/RenderSVGResourceClipper.cpp:
15429        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
15430        * rendering/svg/RenderSVGResourceMarker.cpp:
15431        (WebCore::RenderSVGResourceMarker::draw):
15432        * rendering/svg/RenderSVGText.cpp:
15433        (WebCore::RenderSVGText::paint):
15434        * rendering/svg/SVGInlineFlowBox.cpp:
15435        (WebCore::SVGInlineFlowBox::paint):
15436        * rendering/svg/SVGInlineTextBox.cpp:
15437        (WebCore::SVGInlineTextBox::paintSelectionBackground):
15438        (WebCore::SVGInlineTextBox::paint):
15439        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
15440        * rendering/svg/SVGRootInlineBox.cpp:
15441        (WebCore::SVGRootInlineBox::paint):
15442        * svg/SVGFont.cpp:
15443        (WebCore::Font::drawTextUsingSVGFont):
15444        * svg/graphics/SVGImage.cpp:
15445        (WebCore::SVGImage::draw):
15446
154472011-04-20  Andrey Kosyakov  <caseq@chromium.org>
15448
15449        Reviewed by Pavel Feldman.
15450
15451        Web Inspector: [Extensions API] console API is not exposed to code evaluated by sidebar.setExpression()
15452        https://bugs.webkit.org/show_bug.cgi?id=59006
15453
15454        * inspector/front-end/ExtensionPanel.js:
15455        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
15456
154572011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
15458
15459        Reviewed by Dirk Schulze.
15460
15461        Split SVGGlyphIdentifier class out of SVGGlyphElement.h
15462        https://bugs.webkit.org/show_bug.cgi?id=59101
15463
15464        Move SVGGlyphIdentifier class out of SVGGlyphElement.h, place it in platform/graphics/SVGGlyph.h
15465        and rename the contained struct to SVGGlyph. It will be used in follow-up patches that will integrate SVGGlyph & GlyphPage.
15466
15467        Several utility functions are moved from SVGFont.cpp to SVGGlyph.cpp, as that's the place where they really belong to.
15468        Renamed nameLength to unicodeStringLength in the SVGGlyph struct for clarity.
15469
15470        * Android.mk: Add SVGGlyph.cpp/h to build.
15471        * CMakeLists.txt: Ditto.
15472        * GNUmakefile.list.am: Ditto.
15473        * WebCore.gypi: Ditto.
15474        * WebCore.pro: Ditto.
15475        * WebCore.vcproj/WebCore.vcproj: Ditto.
15476        * WebCore.xcodeproj/project.pbxproj: Ditto.
15477        * platform/graphics/SVGGlyph.cpp: Copied from svg/SVGFont.cpp. Removed everything except the methods listed below, that belong here.
15478        (WebCore::processArabicFormDetection):
15479        (WebCore::charactersWithArabicForm):
15480        (WebCore::isCompatibleArabicForm):
15481        (WebCore::isCompatibleGlyph):
15482        * platform/graphics/SVGGlyph.h: Copied from svg/SVGGlyphElement.h. Renamed SVGGlyphIdentifier to SVGGlyph.
15483        (WebCore::SVGGlyph::SVGGlyph):
15484        (WebCore::SVGGlyph::operator==):
15485        * platform/graphics/SimpleFontData.cpp: Adapt for SVGGlyphIdentifier -> SVGGlyph and nameLength -> unicodeStringLength rename.
15486        (WebCore::SimpleFontData::SimpleFontData):
15487        * svg/SVGFont.cpp: Ditto. Remove helper functions that are now living in SVGGlyph.cpp
15488        (WebCore::SVGTextRunWalker::walk):
15489        (WebCore::floatWidthUsingSVGFontCallback):
15490        (WebCore::drawTextUsingSVGFontCallback):
15491        (WebCore::drawTextMissingGlyphCallback):
15492        (WebCore::Font::drawTextUsingSVGFont):
15493        * svg/SVGFontElement.cpp: Ditto.
15494        (WebCore::SVGFontElement::getGlyphIdentifiersForString):
15495        * svg/SVGFontElement.h: Ditto.
15496        * svg/SVGGlyphElement.cpp: Ditto.
15497        (WebCore::parseArabicForm):
15498        (WebCore::parseOrientation):
15499        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
15500        (WebCore::parseSVGGlyphAttribute):
15501        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
15502        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
15503        * svg/SVGGlyphElement.h: Ditto.
15504        * svg/SVGGlyphMap.h: Ditto.
15505        (WebCore::SVGGlyphMap::add):
15506        (WebCore::SVGGlyphMap::compareGlyphPriority):
15507        (WebCore::SVGGlyphMap::get):
15508
155092011-04-21  Eric Carlson  <eric.carlson@apple.com>
15510
15511        Reviewed by Dan Bernstein.
15512
15513        Live streams won't play with AVFoundation backend
15514        https://bugs.webkit.org/show_bug.cgi?id=58961
15515        rdar://problem/9284748
15516
15517        Tested manually because we don't have any live streams to test in DRT.
15518
15519        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
15520        (WebCore::MediaPlayerPrivateAVFoundation::seek): Do nothing when asked to seek to the
15521            current time.
15522        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): If the readyState is HaveEnoughData,
15523            don't revert when the new state is "ready to play" or "buffer full".
15524        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Use new convenience function isLiveStream.
15525        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
15526        (WebCore::MediaPlayerPrivateAVFoundation::isLiveStream): New.
15527
15528        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
15529        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't use AVAsset's
15530            tracksWithMediaCharacteristic because it doesn't give us what we need with live
15531            streams.
15532
155332011-04-21  Pavel Feldman  <pfeldman@google.com>
15534
15535        Reviewed by Yury Semikhatsky.
15536
15537        Web Inspector: Cookies section in empty on page re-launch.
15538        https://bugs.webkit.org/show_bug.cgi?id=59095
15539
15540        * inspector/front-end/ResourcesPanel.js:
15541        (WebInspector.ResourcesPanel.prototype._reset):
15542        (WebInspector.ResourcesPanel.prototype._frameNavigated):
15543
155442011-04-21  Pavel Feldman  <pfeldman@google.com>
15545
15546        Reviewed by Yury Semikhatsky.
15547
15548        Web Inspector: rename De-obfuscate to Pretty print.
15549        https://bugs.webkit.org/show_bug.cgi?id=59093
15550
15551        * English.lproj/localizedStrings.js:
15552        * inspector/front-end/SourceFrame.js:
15553        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
15554
155552011-04-21  Pavel Feldman  <pfeldman@google.com>
15556
15557        Reviewed by Yury Semikhatsky.
15558
15559        Web Inspector: following Image URL link in the network panel does nothing.
15560        https://bugs.webkit.org/show_bug.cgi?id=59092
15561
15562        * inspector/front-end/ImageView.js:
15563        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
15564        (WebInspector.ImageView.prototype._createContentIfNeeded):
15565        * inspector/front-end/inspector.js:
15566        (WebInspector.linkifyURLAsNode):
15567
155682011-04-21  Pavel Feldman  <pfeldman@google.com>
15569
15570        Reviewed by Yury Semikhatsky.
15571
15572        Web Inspector: implement Go To Line for network panel.
15573        https://bugs.webkit.org/show_bug.cgi?id=59090
15574
15575        * inspector/front-end/GoToLineDialog.js:
15576        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
15577        * inspector/front-end/NetworkItemView.js:
15578        (WebInspector.NetworkItemView.prototype._tabSelected):
15579        (WebInspector.NetworkItemView.prototype._installHighlightSupport):
15580        * inspector/front-end/NetworkPanel.js:
15581        (WebInspector.NetworkPanel):
15582        * inspector/front-end/TabbedPane.js:
15583        (WebInspector.TabbedPane.prototype.appendTab):
15584        (WebInspector.TabbedPane.prototype.selectTab):
15585        * inspector/front-end/TextViewer.js:
15586        (WebInspector.TextViewer.prototype.highlightLine):
15587
155882011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
15589
15590        Reviewed by Dirk Schulze.
15591
15592        Split GlyphPage from GlyphPageTreeNode.h into its own header
15593        https://bugs.webkit.org/show_bug.cgi?id=59096
15594
15595        * GNUmakefile.list.am: Add GlyphPage.h to build.
15596        * WebCore.gypi: Ditto.
15597        * WebCore.vcproj/WebCore.vcproj: Ditto.
15598        * WebCore.xcodeproj/project.pbxproj: Ditto.
15599        * platform/graphics/GlyphPage.h: Copied from platform/graphics/GlyphPageTreeNode.h. Removed GlyphPageTreeNode class, leaving only GlyphPage.
15600        * platform/graphics/GlyphPageTreeNode.h: Removed GlyphPage class.
15601
156022011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
15603
15604        Reviewed by Dirk Schulze.
15605
15606        Centralize typedef unsigned short Glyph in Glyph.h
15607        https://bugs.webkit.org/show_bug.cgi?id=59087
15608
15609        * GNUmakefile.list.am: Add Glyph.h to build.
15610        * WebCore.gypi: Ditto.
15611        * WebCore.vcproj/WebCore.vcproj: Ditto.
15612        * WebCore.xcodeproj/project.pbxproj: Ditto.
15613        * platform/graphics/Glyph.h: Added.
15614        * platform/graphics/GlyphBuffer.h: Include Glyph.h instead of duplicating the Glyph typedef.
15615        * platform/graphics/GlyphMetricsMap.h: Ditto.
15616        * platform/graphics/GlyphPageTreeNode.h: Ditto.
15617
156182011-04-21  Pavel Feldman  <pfeldman@google.com>
15619
15620        Reviewed by Yury Semikhatsky.
15621
15622        Web Inspector: toolbar background is blank on Mac Chromium port.
15623        https://bugs.webkit.org/show_bug.cgi?id=59089
15624
15625        * inspector/front-end/inspector.css:
15626        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar):
15627
156282011-04-21  Pavel Feldman  <pfeldman@chromium.org>
15629
15630        Reviewed by Yury Semikhatsky.
15631
15632        Web Inspector: add support for Go To Line in Resources panel.
15633        https://bugs.webkit.org/show_bug.cgi?id=59077
15634
15635        * inspector/front-end/CallStackSidebarPane.js:
15636        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
15637        * inspector/front-end/GoToLineDialog.js:
15638        (WebInspector.GoToLineDialog.show):
15639        (WebInspector.GoToLineDialog.createShortcut):
15640        (WebInspector.GoToLineDialog.prototype._onKeyDown):
15641        * inspector/front-end/NetworkPanel.js:
15642        (WebInspector.NetworkPanel.prototype.handleShortcut):
15643        * inspector/front-end/Panel.js:
15644        (WebInspector.Panel):
15645        (WebInspector.Panel.prototype._restoreScrollPositions):
15646        (WebInspector.Panel.prototype.handleShortcut):
15647        (WebInspector.Panel.prototype.registerShortcuts):
15648        (WebInspector.Panel.prototype._showGoToLineDialog):
15649        * inspector/front-end/ProfilesPanel.js:
15650        (WebInspector.ProfilesPanel.prototype.handleShortcut):
15651        * inspector/front-end/ResourcesPanel.js:
15652        (WebInspector.ResourcesPanel):
15653        * inspector/front-end/ScriptsPanel.js:
15654        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
15655        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
15656        * inspector/front-end/inspector.js:
15657        (WebInspector._registerShortcuts):
15658        (WebInspector.documentKeyDown):
15659
156602011-04-21  Pavel Feldman  <pfeldman@google.com>
15661
15662        Reviewed by Yury Semikhatsky.
15663
15664        Web Inspector: persist local resource history between inspector / browser launches.
15665        https://bugs.webkit.org/show_bug.cgi?id=58993
15666
15667        * inspector/front-end/Resource.js:
15668        (WebInspector.Resource.prototype._restoreRevisions):
15669
156702011-04-20  Alexander Pavlov  <apavlov@chromium.org>
15671
15672        Reviewed by Pavel Feldman.
15673
15674        Web Inspector: Metrics pane editing and visual feedback improvements
15675        https://bugs.webkit.org/show_bug.cgi?id=58992
15676
15677        Added visual feedback when hovering over the box model components of the Metrics pane
15678        and handling of the [Page]Up/Down keys when editing the box model values.
15679
15680        * inspector/DOMNodeHighlighter.cpp:
15681        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
15682        * inspector/DOMNodeHighlighter.h:
15683        * inspector/Inspector.json:
15684        * inspector/InspectorDOMAgent.cpp:
15685        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
15686        (WebCore::InspectorDOMAgent::highlight):
15687        (WebCore::InspectorDOMAgent::highlightDOMNode):
15688        (WebCore::InspectorDOMAgent::highlightFrame):
15689        (WebCore::InspectorDOMAgent::drawNodeHighlight):
15690        * inspector/InspectorDOMAgent.h:
15691        * inspector/front-end/CSSStyleModel.js:
15692        (WebInspector.CSSProperty.prototype.setText.callback):
15693        (WebInspector.CSSProperty.prototype.setText):
15694        (WebInspector.CSSProperty.prototype.setValue):
15695        (WebInspector.CSSProperty.prototype.setDisabled.callback):
15696        (WebInspector.CSSProperty.prototype.setDisabled):
15697        * inspector/front-end/ElementsPanel.js:
15698        (WebInspector.ElementsPanel.prototype.startEditingStyle):
15699        (WebInspector.ElementsPanel.prototype.endEditingStyle):
15700        (WebInspector.ElementsPanel.prototype._attributesUpdated):
15701        * inspector/front-end/MetricsSidebarPane.js:
15702        (WebInspector.MetricsSidebarPane):
15703        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
15704        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.getBoxRectangleElement):
15705        (WebInspector.MetricsSidebarPane.prototype._update.createBoxPartElement):
15706        (WebInspector.MetricsSidebarPane.prototype._update):
15707        (WebInspector.MetricsSidebarPane.prototype.startEditing):
15708        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
15709        (WebInspector.MetricsSidebarPane.prototype.editingEnded):
15710        (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
15711        (WebInspector.MetricsSidebarPane.prototype._applyUserInput.callback):
15712        (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
15713        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
15714        * inspector/front-end/StylesSidebarPane.js:
15715        (WebInspector.StylesSidebarPane.alteredFloatNumber):
15716        (WebInspector.StylesSidebarPane.alteredHexNumber):
15717        (WebInspector.StylePropertyTreeElement.prototype):
15718        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
15719        * inspector/front-end/inspector.css:
15720        (.metrics .hovered > .label):
15721        (.metrics .position):
15722        (.metrics .margin):
15723        (.metrics .margin.hovered):
15724        (.metrics .border):
15725        (.metrics .border.hovered):
15726        (.metrics .padding):
15727        (.metrics .padding.hovered):
15728        (.metrics .content):
15729        (.metrics .content.hovered):
15730        * inspector/front-end/inspector.js:
15731        (WebInspector.highlightDOMNode):
15732
157332011-04-21  Adam Barth  <abarth@webkit.org>
15734
15735        Reviewed by Eric Seidel.
15736
15737        CSP report-uri is missing
15738        https://bugs.webkit.org/show_bug.cgi?id=58639
15739
15740        Our implementation of report-uri differs from what's currently in the
15741        spec.  I sent the working group an email explaining why.  Generally,
15742        we're using normal form encoding instead of JSON and we're sending less
15743        information to a wider set of URLs.  Specifically, we send the current
15744        document's URL as well as the directive that was violated.  The spec
15745        (currently) tells us to send the raw HTTP headers and the URL that
15746        caused the violation, but both of these pieces of data could contain
15747        information that's sensitive, so we omit them for now.
15748
15749        Test: http/tests/security/contentSecurityPolicy/report-uri.html
15750
15751        * loader/PingLoader.cpp:
15752        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
15753        * loader/PingLoader.h:
15754        * page/ContentSecurityPolicy.cpp:
15755        (WebCore::CSPDirective::CSPDirective):
15756        (WebCore::CSPDirective::text):
15757        (WebCore::ContentSecurityPolicy::reportViolation):
15758        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
15759        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
15760        (WebCore::ContentSecurityPolicy::allowInlineScript):
15761        (WebCore::ContentSecurityPolicy::allowEval):
15762        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
15763        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
15764        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
15765        (WebCore::ContentSecurityPolicy::allowImageFromSource):
15766        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
15767        (WebCore::ContentSecurityPolicy::allowFontFromSource):
15768        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
15769        (WebCore::ContentSecurityPolicy::parseReportURI):
15770        (WebCore::ContentSecurityPolicy::addDirective):
15771        * page/ContentSecurityPolicy.h:
15772
157732011-04-21  Jon Lee  <jonlee@apple.com>
15774
15775        Reviewed by Maciej Stachowiak.
15776
15777        remove unneeded function from graphicscontext3d.cpp (59076)
15778        https://bugs.webkit.org/show_bug.cgi?id=59076
15779        <rdar://problem/9315681>
15780
15781        * platform/graphics/GraphicsContext3D.cpp: removing unused function unpackOneRowOfRGBA8ToRGBA8
15782
157832011-04-21  Alexey Proskuryakov  <ap@apple.com>
15784
15785        Reviewed by Dan Bernstein.
15786
15787        REGRESSION: Korean encoding alias KSC5601 does not work
15788        https://bugs.webkit.org/show_bug.cgi?id=59075
15789        <rdar://problem/9303233>
15790
15791        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added a
15792        KSC5601 alias for KSC_5601, which effectively makes it windows-949.
15793
157942011-04-20  Dominic Cooney  <dominicc@chromium.org>
15795
15796        Reviewed by Dimitri Glazkov.
15797
15798        layoutTestController can create and destroy shadow DOM
15799        https://bugs.webkit.org/show_bug.cgi?id=59058
15800
15801        Test: fast/dom/shadow/layout-tests-can-access-shadow.html
15802
15803        * WebCore.exp.in: Mac DRT needs to see Element::ensure/removeShadowRoot
15804
158052011-04-20  Pratik Solanki  <psolanki@apple.com>
15806
15807        Reviewed by Ryosuke Niwa.
15808
15809        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
15810
15811        Fix assertions in Chromium builds.
15812
15813        * platform/graphics/Image.cpp:
15814        (WebCore::Image::drawTiled): Skia and Wx do not have proper implementations of
15815        BitmapImage::checkForSolidColor() so we shouldn't assert on those platforms.
15816
158172011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15818
15819        Reviewed by Eric Seidel.
15820
15821        [EFL] Add timeline to mediaControlsEfl.css
15822        https://bugs.webkit.org/show_bug.cgi?id=58865
15823
15824        Add timeline to mediaControlsEfl.css in order to show playing time of media
15825        content.
15826
15827        * css/mediaControlsEfl.css:
15828        (audio):
15829        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
15830        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
15831        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
15832        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
15833        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
15834        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
15835        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
15836        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
15837        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
15838        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
15839
158402011-04-20  Simon Fraser  <simon.fraser@apple.com>
15841
15842        Reviewed by Eric Seidel.
15843
15844        Create RIAA class for GraphicsContext::save() and restore()
15845        https://bugs.webkit.org/show_bug.cgi?id=58807
15846
15847        Make a stack-based class that can be used to save and restore
15848        the graphics state. It has conditional behavior to deal with the many cases
15849        where we decide to save/restore based on some runtime condition.
15850
15851        Change RenderBoxModelObject to use it for now; it can be used more widely
15852        once committed.
15853
15854        * platform/graphics/GraphicsContext.h:
15855        (WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver):
15856        (WebCore::GraphicsContextStateSaver::~GraphicsContextStateSaver):
15857        (WebCore::GraphicsContextStateSaver::saveState):
15858        * rendering/RenderBoxModelObject.cpp:
15859        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
15860        (WebCore::RenderBoxModelObject::paintOneBorderSide):
15861        (WebCore::RenderBoxModelObject::paintBorder):
15862        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
15863        (WebCore::RenderBoxModelObject::paintBoxShadow):
15864
158652011-04-20  Adam Barth  <abarth@webkit.org>
15866
15867        Reviewed by Eric Seidel.
15868
15869        CSP frame-src is missing
15870        https://bugs.webkit.org/show_bug.cgi?id=58643
15871
15872        This is a first cut at an implementation of frame-src.  There are a
15873        couple things that will need to be improved:
15874
15875          1) I don't think we're handling in-frame navigation properly.  This
15876             patch only covers setting the src attribute of the frame, but I
15877             think the intent of the spec is to cover navigation as well.
15878
15879          2) The console message is printed twice, once when we try to load the
15880             frame and again when we attach the frame to the render tree.
15881
15882        I'll file bugs about these issues (blocking
15883        https://bugs.webkit.org/show_bug.cgi?id=53572) once this patch lands.
15884
15885        Tests: http/tests/security/contentSecurityPolicy/frame-src-allowed.html
15886               http/tests/security/contentSecurityPolicy/frame-src-blocked.html
15887
15888        * html/HTMLFrameElementBase.cpp:
15889        (WebCore::HTMLFrameElementBase::isURLAllowed):
15890        * page/ContentSecurityPolicy.cpp:
15891        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
15892        (WebCore::ContentSecurityPolicy::addDirective):
15893        * page/ContentSecurityPolicy.h:
15894
158952011-04-20  Jia Pu  <jpu@apple.com>
15896
15897        Reviewed by Maciej Stachowiak.
15898
15899        [Mac] Correction panel shows up at incorrect location after webpage is scrolled.
15900        https://bugs.webkit.org/show_bug.cgi?id=59052
15901        <rdar://problem/9312513>
15902
15903        Fixed a regression caused by interaction between patch for bug 57353 and patch for bug 55571.
15904        See bug webpage for detail.
15905
15906        * editing/Editor.cpp:
15907        (WebCore::Editor::selectionStartHasMarkerFor):
15908        * editing/SpellingCorrectionController.cpp:
15909        (WebCore::SpellingCorrectionController::windowRectForRange):
15910
159112011-04-20  Adam Barth  <abarth@webkit.org>
15912
15913        Reviewed by Eric Seidel.
15914
15915        CSP policy violations should log to the console
15916        https://bugs.webkit.org/show_bug.cgi?id=58646
15917
15918        We now log policy violations to the JavaScript console to help
15919        developers debug what's going on with their Content-Security-Policy.
15920
15921        Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
15922               http/tests/security/contentSecurityPolicy/javascript-url-allowed.html
15923               http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
15924               http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
15925               http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
15926               http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html
15927               http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html
15928               http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html
15929
15930        * dom/Document.cpp:
15931        (WebCore::Document::initSecurityContext):
15932        * page/ContentSecurityPolicy.cpp:
15933        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
15934        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
15935        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
15936        (WebCore::ContentSecurityPolicy::allowInlineScript):
15937        (WebCore::ContentSecurityPolicy::allowEval):
15938        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
15939        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
15940        (WebCore::ContentSecurityPolicy::allowImageFromSource):
15941        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
15942        (WebCore::ContentSecurityPolicy::allowFontFromSource):
15943        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
15944        (WebCore::ContentSecurityPolicy::addDirective):
15945        * page/ContentSecurityPolicy.h:
15946        (WebCore::ContentSecurityPolicy::create):
15947
159482011-04-20  Dan Bernstein  <mitz@apple.com>
15949
15950        Reviewed by Maciej Stachowiak.
15951
15952        <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails
15953        https://bugs.webkit.org/show_bug.cgi?id=59046
15954
15955        Test: fast/transforms/selection-bounds-in-transformed-view.html
15956
15957        * rendering/RenderObject.cpp:
15958        (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and
15959        it has a composited layer that paints straight to the window, then translate from view coordinates
15960        to window coordinates here.
15961        * rendering/RenderView.cpp:
15962        (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root.
15963        (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating
15964        for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting,
15965        such as computing selection bounds, this function was returning the wrong results.
15966
159672011-04-20  Dan Bernstein  <mitz@apple.com>
15968
15969        Reviewed by Eric Carlson.
15970
15971        <rdar://problem/9304956> media/broken-video.html crashes
15972
15973        * platform/graphics/MediaPlayer.cpp:
15974        (WebCore::nextMediaEngine): Fixed an off-by-one error.
15975
159762011-04-20  Eric Seidel  <eric@webkit.org>
15977
15978        Reviewed by Adam Barth.
15979
15980        Split out isIteratorTarget from bidiNext and bidiFirst
15981        https://bugs.webkit.org/show_bug.cgi?id=59033
15982
15983        This is the first (tiny) step of many.  When I tried to
15984        make larger changes to this function I broke stuff, so
15985        doing this in tiny pieces so we know it's right.
15986
15987        * rendering/InlineIterator.h:
15988        (WebCore::isIteratorTarget):
15989        (WebCore::bidiNext):
15990        (WebCore::bidiFirstSkippingInlines):
15991        (WebCore::bidiFirstNotSkippingInlines):
15992
159932011-04-20  Alexey Marinichev  <amarinichev@chromium.org>
15994
15995        Reviewed by Kenneth Russell.
15996
15997        Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D.
15998        https://bugs.webkit.org/show_bug.cgi?id=59045
15999
16000        Lose context extension test might not catch this bug, more reliable
16001        way is forcing the crash of the GPU process, which is done by Chromium
16002        browser tests.
16003
16004        * platform/graphics/chromium/WebGLLayerChromium.cpp:
16005        (WebCore::WebGLLayerChromium::updateCompositorResources):
16006        (WebCore::WebGLLayerChromium::setContext):
16007        * platform/graphics/chromium/WebGLLayerChromium.h:
16008
160092011-04-20  Jia Pu  <jpu@apple.com>
16010
16011        Reviewed by Maciej Stachowiak.
16012
16013        [Mac]Regression: extending word that is already marked misspelled doesn't remove misspelling underline.
16014        https://bugs.webkit.org/show_bug.cgi?id=59032
16015        <rdar://problem/9312444>
16016
16017        This fixes a regression introduced in recent refactoring work in Editor. See bug webpage for detail.
16018
16019        manual test: Source/WebCore/manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
16020
16021        * editing/Editor.cpp:
16022        (WebCore::Editor::insertTextWithoutSendingTextEvent):
16023        * manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html: Added.
16024
160252011-04-20  Chris Fleizach  <cfleizach@apple.com>
16026
16027        Reviewed by Beth Dakin.
16028
16029        CrashTracer: 301 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityRenderObject::visiblePositionForPoint const + 297
16030        https://bugs.webkit.org/show_bug.cgi?id=57405
16031
16032        The offending line in this crash was a null pointer access in
16033           m_renderer->document()->topDocument()->renderer()->view()->frameView();
16034        It seems likely that one of those calls was invalid. I could not reproduce and there was no
16035        information on reproducible steps, hence the absence of a layout test.
16036
16037        * accessibility/AccessibilityRenderObject.cpp:
16038        (WebCore::AccessibilityRenderObject::topRenderer):
16039        (WebCore::AccessibilityRenderObject::topDocument):
16040        (WebCore::AccessibilityRenderObject::topDocumentFrameView):
16041        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
16042        * accessibility/AccessibilityRenderObject.h:
16043
160442011-04-20  Andy Estes  <aestes@apple.com>
16045
16046        Reviewed by Maciej Stachowiak.
16047
16048        REGRESSION (WK2): Animated GIF stops when navigating forward, back
16049        https://bugs.webkit.org/show_bug.cgi?id=59042
16050
16051        When loading the page from the b/f cache,
16052        document()->view()->isOffscreen() returns true in
16053        RenderObject::willRenderImage(), so BitmapImage::startAnimation()
16054        returns without actually kicking off the animation.
16055
16056        In WebKit1, the ScrollView is a platform widget, so
16057        ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the
16058        ScrollView isn't a platform widget so it asks the WebCore Widget
16059        whether or not it is visible. It always returns false since
16060        setParentVisible(false) was called on the old ScrollView before
16061        navigating to a new page, but setParentVisible(true) is never called
16062        when restoring it from the back/forward cache. This is probably a
16063        long-standing bug.
16064
16065        Fix this by calling setParentVisible(true) when a cached main frame is
16066        being restored.
16067
16068        Test: fast/images/animated-gif-restored-from-bfcache.html
16069
16070        * history/CachedFrame.cpp:
16071        (WebCore::CachedFrameBase::restore): If the cached frame is the main
16072        frame, call setParentVisible(true) on the frame's view.
16073
160742011-04-20  Sam Weinig  <sam@webkit.org>
16075
16076        Reviewed by Anders Carlsson.
16077
16078        WebKit2: Can't scroll page after printing on Yahoo.com and other sites
16079        <rdar://problem/9233291>
16080        https://bugs.webkit.org/show_bug.cgi?id=59049
16081
16082        * page/Frame.cpp:
16083        (WebCore::Frame::setPrinting): Match Mac WebKit1 code when ending printing,
16084        and call forceLayout() instead of forceLayoutForPagination().
16085
160862011-04-20  Kenneth Russell  <kbr@google.com>
16087
16088        Reviewed by James Robinson.
16089
16090        Reduce size of GraphicsContext3D's compiled code
16091        https://bugs.webkit.org/show_bug.cgi?id=59029
16092
16093        Changed format conversion operations to work line-by-line instead
16094        of pixel-by-pixel, and passed them as function pointers rather
16095        than template parameters. Simplified computation of source
16096        increment, since elements per row is now all that is needed.
16097
16098        These changes reduce the size of GraphicsContext3D.o in release
16099        mode on Linux from 299 KB to 53 KB.
16100
16101        No new tests. Existing layout tests cover these format conversions
16102        well, and caught one typo in the restructuring. Also ran WebGL
16103        conformance suite and other demos.
16104
16105        * platform/graphics/GraphicsContext3D.cpp:
16106        (WebCore::doUnpackingAndPacking):
16107        (WebCore::computeSourceElementsPerRow):
16108        (WebCore::doPacking):
16109        (WebCore::doFloatingPointPacking):
16110        (WebCore::GraphicsContext3D::packPixels):
16111
161122011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
16113
16114        Reviewed by Kent Tamura.
16115
16116        REGRESSION(r82376): Clicking on a label, associated with a disabled input element changes state of the element.
16117        https://bugs.webkit.org/show_bug.cgi?id=59037
16118
16119        Test: fast/events/simulated-click-disabled.html
16120
16121        * dom/EventDispatcher.cpp:
16122        (WebCore::EventDispatcher::dispatchSimulatedClick): Added check for disabled element.
16123
161242011-04-20  Eric Seidel  <eric@webkit.org>
16125
16126        Reviewed by Ryosuke Niwa.
16127
16128        Split bidiFirst into two functions
16129        https://bugs.webkit.org/show_bug.cgi?id=59025
16130
16131        I don't have a full understanding of the skipInlines case yet
16132        (hence it's not as pretty as the non-skipping case), but
16133        this is clearly a win, as both functions are much simpler
16134        than their combined version.
16135
16136        Both of these functions still have bad names.  However the
16137        bidiNext/bidiFirst names date all the way back to revision 1
16138        of the WebKit repository. :)  So I don't feel too bad keeping
16139        them for the moment.
16140
16141        * rendering/InlineIterator.h:
16142        (WebCore::bidiNext):
16143        (WebCore::bidiFirstSkippingInlines):
16144        (WebCore::bidiFirstNotSkippingInlines):
16145        * rendering/RenderBlock.cpp:
16146        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
16147        * rendering/RenderBlockLineLayout.cpp:
16148        (WebCore::RenderBlock::layoutInlineChildren):
16149        (WebCore::RenderBlock::determineStartPosition):
16150
161512011-04-20  Jia Pu  <jpu@apple.com>
16152
16153        Reviewed by Adele Peterson.
16154
16155        [Mac] Like autocorrection, other types of substitution need to respect undo.
16156        https://bugs.webkit.org/show_bug.cgi?id=59009
16157        <rdar://problem/8601537>
16158
16159        Similar to autocorrection, we use SpellingCorrectionCommand to carry out other types of text substitution, so that
16160        if user undoes the substitution, it will not be applied again. For CreateLinkCommand,  we add marker when it's undone
16161        so that we won't automatically add link again.
16162
16163        * editing/CreateLinkCommand.h:
16164        (WebCore::CreateLinkCommand::isCreateLinkCommand):
16165        * editing/EditCommand.cpp:
16166        (WebCore::EditCommand::isCreateLinkCommand):
16167        * editing/EditCommand.h:
16168        * editing/Editor.cpp:
16169        (WebCore::Editor::unappliedEditing):
16170        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
16171        * editing/SpellingCorrectionController.cpp:
16172        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
16173        (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
16174        * editing/SpellingCorrectionController.h:
16175        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
16176
161772011-04-20  Steve Lacey  <sjl@chromium.org>
16178
16179        Reviewed by Eric Carlson.
16180
16181        [chromium] Move Chromium media controls into own root element.
16182        https://bugs.webkit.org/show_bug.cgi?id=59018
16183
16184        No new tests as there is no functional change
16185
16186        * WebCore.gypi:
16187        * css/mediaControlsChromium.css:
16188        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
16189        * html/shadow/MediaControlRootElementChromium.cpp: Added.
16190        Clone of html/shadow/MediaControlRootElement.cpp with all unused code removed.
16191        * html/shadow/MediaControlRootElementChromium.h: Added.
16192
161932011-04-20  Charlie Lee  <chocobo@chromium.org>
16194
16195        Reviewed by Dirk Schulze.
16196
16197        LEFilter change doesn't compile on ARM neon targets
16198        https://bugs.webkit.org/show_bug.cgi?id=58671
16199
16200        Build fix for Chromium ARM/NEON platform. Added platform/graphics/filters/arm directory to build system.
16201
16202        * WebCore.gyp/WebCore.gyp:
16203
162042011-04-20  Xiaomei Ji  <xji@chromium.org>
16205
16206        Reviewed by Ryosuke Niwa.
16207
16208        Continue (3rd) experiment with moving caret by word in visual order.
16209        https://bugs.webkit.org/show_bug.cgi?id=58294
16210
16211        This patch along with r82588 and r83483 implements moving caret by
16212        word in visual order.
16213
16214        The overall algorithm is:
16215        1. First get the InlineBox and offset of the pass-in VisiblePosition.
16216        2. Based on the position (left boundary, middle, right boundary) of the offset and the
16217           direction of the movement, look for visually adjacent word breaks.
16218        2.1 If the offset is the minimum offset of the box,
16219            return the rightmost word boundary in previous boxes if moving left.
16220            return the leftmost word boundary in box and next boxes if moving right.
16221        2.2 Similar for the case when offset is at the maximum offset of the box.
16222        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
16223            or nextWordPosition based on the directionality of the box. If this word break position
16224            is also inside the same box, return it. Otherwise (the nextWordPosition or
16225            previousWordPosition is not in the same box or is at the box boundary), collect all the
16226            word breaks in the box and search for the one closest to the input "offset" based on
16227            box directionality, block directionality, and movement direction. Continue search in
16228            adjacent boxes if needed.
16229
16230        Notes:
16231        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
16232           the input position (in the moving direction) is not available in current box, word
16233           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
16234           word boundaries. Instead, the word boundaries are saved as a pair
16235           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
16236
16237        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
16238           and right boundary of a word in RTL block). And word boundaries are collected using
16239           previousWordPosition() and nextWordPosition(). So when box directionality is the same as
16240           block directionality, word boundaries are collected from right to left visually in a LTR
16241           box, and word boundaries are collected from left to right visually in a RTL box. It is
16242           the other way around when box directionality is different from block directionality.
16243
16244        3. To find the right kinds of word boundaries, we must move back and forth between words
16245           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
16246           we cannot simply return nextWordPosition() because it would return the right boundary
16247           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
16248
16249        4. When collecting word breaks inside a box, it first computes a start position, then
16250           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
16251           In the meanwhile, it might need special handling on the rightmost or leftmost position
16252           based on the directionality of the box and block. These computations do not consider the
16253           box's bidi level.
16254
16255        * editing/visible_units.cpp:
16256        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
16257        (WebCore::collectWordBreaksInBox):
16258        (WebCore::previousWordBoundaryInBox):
16259        (WebCore::nextWordBoundaryInBox):
16260        (WebCore::visuallyLastWordBoundaryInBox):
16261        (WebCore::leftWordBoundary):
16262        (WebCore::rightWordBoundary):
16263        (WebCore::leftWordPosition):
16264        (WebCore::rightWordPosition):
16265
162662011-04-20  Cris Neckar  <cdn@chromium.org>
16267
16268        Reviewed by Dirk Schulze.
16269
16270        Return early when the paint rect and the source rect do not overlap as no bytes need to be copied.
16271        https://bugs.webkit.org/show_bug.cgi?id=57885
16272
16273        Test: svg/filters/svg-transform-blur-crash.xhtml
16274
16275        * platform/graphics/filters/FilterEffect.cpp:
16276        (WebCore::FilterEffect::copyImageBytes):
16277
162782011-04-20  Jian Li  <jianli@chromium.org>
16279
16280        Reviewed by Kenneth Russell.
16281
16282        Support DataView in workers
16283        https://bugs.webkit.org/show_bug.cgi?id=59014
16284
16285        Test: fast/canvas/webgl/worker-data-view-test.html
16286
16287        * workers/WorkerContext.idl: Expose DataView constructor.
16288
162892011-04-20  Chris Marrin  <cmarrin@apple.com>
16290
16291        Reviewed by Adam Roben.
16292
16293        REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs
16294        https://bugs.webkit.org/show_bug.cgi?id=57868
16295
16296        Running CACFAnimations aren't remembered when layer tree is unparented and
16297        then reparented. Added a new ensureAnimationsSubmitted function to
16298        PlatformCALayer to traverse the tree and resubmit animations, setting the
16299        beginTime to the original start time of the animation. This is called in WK2
16300        when layer tree is newly parented.
16301
16302        I also consolidated currentTimeToMediaTime into PlatformCALayer so it can be shared
16303        between PlatformCALayer and GraphicsLayerCA.
16304
16305        * platform/graphics/ca/GraphicsLayerCA.cpp:
16306        * platform/graphics/ca/PlatformCAAnimation.h:
16307            Remember actual animation start time in CACFAnimation beginTime property
16308        * platform/graphics/ca/PlatformCALayer.h:
16309            New ensureAnimationsSubmitted function which traverses layers and resubmits all animations
16310        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
16311        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
16312
163132011-04-20  Eric Carlson  <eric.carlson@apple.com>
16314
16315        Reviewed by Dan Bernstein.
16316
16317        Adopt QTKit API for listing and deleting file in its media cache.
16318        <rdar://problem/9130029>
16319        https://bugs.webkit.org/show_bug.cgi?id=58795
16320
16321        Not possible to test automatically, verified manually.
16322
16323        * WebCore.exp.in: Export new media download cache functions.
16324
16325        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
16326        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16327        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register cache management functions.
16328        (WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): New, return cache origins.
16329        (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): New, empty the media cache.
16330        (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): New, delete files in the media
16331            cache for one origin.
16332
16333        * platform/mac/WebCoreSystemInterface.h: Add new WKSI functions.
16334        * platform/mac/WebCoreSystemInterface.mm: Ditto.
16335
163362011-04-20  Dirk Schulze  <krit@webkit.org>
16337
16338        Reviewed by Simon Fraser.
16339
16340        SVG feDropShadow implementation of SVG Filters 1.2
16341        https://bugs.webkit.org/show_bug.cgi?id=52513
16342
16343        Support different radii for horizontal and vertical blurring in ShadowBlur. This is a preperation for feDropShadow.
16344        feDropShadow is a new shorthand filter effect for the up-comming Filter 1.0 specification and will use ShadowBlur.
16345        feGaussianBlur might make use of ShadowBlur as well later (on SourceAlpha input).
16346        Added ShadowBlur to remaining platforms.
16347
16348        The changes can't be tested before the changes in feGaussianBlur or feDropShadow. Current behavior is not affected.
16349
16350        * Android.mk:
16351        * CMakeLists.txt:
16352        * GNUmakefile.list.am:
16353        * WebCore.pro:
16354        * platform/graphics/FloatSize.h:
16355        (WebCore::FloatSize::scale):
16356        * platform/graphics/ShadowBlur.cpp:
16357        (WebCore::ScratchBuffer::ScratchBuffer):
16358        (WebCore::ScratchBuffer::setLastShadowValues):
16359        (WebCore::ScratchBuffer::setLastInsetShadowValues):
16360        (WebCore::ScratchBuffer::matchesLastShadow):
16361        (WebCore::ScratchBuffer::matchesLastInsetShadow):
16362        (WebCore::ScratchBuffer::clearScratchBuffer):
16363        (WebCore::ShadowBlur::ShadowBlur):
16364        (WebCore::calculateLobes):
16365        (WebCore::ShadowBlur::blurLayerImage):
16366        (WebCore::ShadowBlur::adjustBlurRadius):
16367        (WebCore::ShadowBlur::calculateLayerBoundingRect):
16368        (WebCore::computeSliceSizesFromRadii):
16369        (WebCore::ShadowBlur::templateSize):
16370        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
16371        (WebCore::ShadowBlur::drawRectShadowWithTiling):
16372        (WebCore::ShadowBlur::drawLayerPieces):
16373        * platform/graphics/ShadowBlur.h:
16374        * platform/graphics/cg/GraphicsContextCG.cpp:
16375        (WebCore::GraphicsContext::fillRect):
16376        (WebCore::GraphicsContext::fillRoundedRect):
16377        (WebCore::GraphicsContext::fillRectWithRoundedHole):
16378
163792011-04-19  Roland Steiner  <rolandsteiner@chromium.org>
16380
16381        Reviewed by Dimitri Glazkov.
16382
16383        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
16384        https://bugs.webkit.org/show_bug.cgi?id=52963
16385
16386        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
16387        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
16388        .) Merged setTreeScope() with setTreeScopeRecursively()
16389        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
16390        .) Adapt JavaScript Node wrappers (temporary code - see https://bugs.webkit.org/show_bug.cgi?id=58704).
16391
16392        No new tests. (refactoring)
16393
16394        * bindings/js/JSNodeCustom.cpp:
16395        (WebCore::createWrapperInline):
16396        * bindings/v8/custom/V8NodeCustom.cpp:
16397        (WebCore::toV8Slow):
16398        * dom/ContainerNode.cpp:
16399        (WebCore::ContainerNode::takeAllChildrenFrom):
16400        (WebCore::ContainerNode::removeBetween):
16401        (WebCore::ContainerNode::removeChildren):
16402        (WebCore::ContainerNode::parserAddChild):
16403        * dom/Document.cpp:
16404        (WebCore::Document::Document):
16405        (WebCore::Document::~Document):
16406        (WebCore::Document::setDocType):
16407        * dom/Element.h:
16408        * dom/Node.cpp:
16409        (WebCore::Node::treeScope):
16410        (WebCore::Node::setTreeScopeRecursively):
16411        * dom/Node.h:
16412        (WebCore::Node::document):
16413        * dom/ShadowRoot.cpp:
16414        (WebCore::ShadowRoot::ShadowRoot):
16415        (WebCore::ShadowRoot::~ShadowRoot):
16416        (WebCore::ShadowRoot::nodeType):
16417        (WebCore::ShadowRoot::cloneNode):
16418        (WebCore::ShadowRoot::childTypeAllowed):
16419        * dom/ShadowRoot.h:
16420        (WebCore::toShadowRoot):
16421        * dom/TreeScope.cpp:
16422        (WebCore::TreeScope::TreeScope):
16423        (WebCore::TreeScope::setParentTreeScope):
16424        * dom/TreeScope.h:
16425        * rendering/RenderSlider.cpp:
16426
164272011-04-20  Vsevolod Vlasov  <vsevik@chromium.org>
16428
16429        Reviewed by Pavel Feldman.
16430
16431        Web Inspector: Update front-end files list in WebCore.vcproj
16432        https://bugs.webkit.org/show_bug.cgi?id=58896
16433
16434        * WebCore.vcproj/WebCore.vcproj:
16435
164362011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
16437
16438        Qt build fix after r84380.
16439
16440        * css/CSSPrimitiveValueMappings.h: Moved EBorderCollapse-related casts from under ENABLE(SVG) guard.
16441
164422011-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
16443
16444        Reviewed by Martin Robinson.
16445
16446        [GTK] Build libWebCore with the gtk sources too
16447        https://bugs.webkit.org/show_bug.cgi?id=58968
16448
16449        In some cases webcore files are compiled twice, so it improves the
16450        build time.
16451
16452        * GNUmakefile.am: Add webcore gtk sources to libWebCore sources.
16453
164542011-04-20  Luke Macpherson   <macpherson@chromium.org>
16455
16456        Reviewed by Dimitri Glazkov.
16457
16458        Allow casting between CSSPrimitiveValue and EBorderCollapse to remove special-case logic from CSSStyleSelector.
16459        https://bugs.webkit.org/show_bug.cgi?id=58964
16460
16461        No new tests as no new functionality added.
16462
16463        * css/CSSPrimitiveValueMappings.h:
16464        Support casting to/from EBorderCollapse.
16465        * css/CSSStyleSelector.cpp:
16466        Use new casting ability to simplify code.
16467        * rendering/style/RenderStyle.h:
16468        Use EBorderCollapse instead of a bool for representing border collapse member variable.
16469        * rendering/style/RenderStyleConstants.h:
16470        Added EBorderCollapse enum.
16471
164722011-04-19  Stephen White  <senorblanco@chromium.org>
16473
16474        Reviewed by Kenneth Russell.
16475
16476        Move and rename GLES2Canvas.
16477        https://bugs.webkit.org/show_bug.cgi?id=58927
16478
16479        Move GLES2Canvas to platform/graphcs/gpu, where all the other
16480        gpu-related files live, and rename it to GraphicsContextGPU to better
16481        reflect its purpose.
16482
16483        Covered by existing tests.
16484
16485        * WebCore.gypi:
16486        * platform/graphics/chromium/GLES2Canvas.cpp:
16487        * platform/graphics/chromium/GLES2Canvas.h:
16488        * platform/graphics/skia/GraphicsContextSkia.cpp:
16489        (WebCore::GraphicsContext::fillPath):
16490        (WebCore::GraphicsContext::setPlatformShadow):
16491        * platform/graphics/skia/ImageBufferSkia.cpp:
16492        * platform/graphics/skia/ImageSkia.cpp:
16493        (WebCore::drawBitmapGLES2):
16494        * platform/graphics/skia/PlatformContextSkia.cpp:
16495        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
16496        * platform/graphics/skia/PlatformContextSkia.h:
16497        (WebCore::PlatformContextSkia::gpuCanvas):
16498
164992011-04-20  Benjamin Poulain  <benjamin.poulain@nokia.com>
16500
16501        Reviewed by Andreas Kling.
16502
16503        [Qt] Clean the style of our cookie methods
16504        https://bugs.webkit.org/show_bug.cgi?id=58987
16505
16506        Got rid of the variables named "u" in favor just converting the url when needed.
16507
16508        * platform/qt/CookieJarQt.cpp:
16509        (WebCore::setCookies): The variable p was unused.
16510        The ::toAscii() depends on the default codec, use toLatin1() instead.
16511        (WebCore::cookies): foreach() should use const reference.
16512        (WebCore::cookieRequestHeaderFieldValue):
16513
165142011-04-19  Mihai Parparita  <mihaip@chromium.org>
16515
16516        Reviewed by Adam Barth.
16517
16518        ScriptController.h is included in too many places
16519        https://bugs.webkit.org/show_bug.cgi?id=58963
16520
16521        Remove ScriptController.h #includes from a bunch of .cpp files where it
16522        doesn't appear to be necessary.
16523
16524        * bindings/js/JSCustomPositionCallback.cpp:
16525        * bindings/js/JSCustomPositionErrorCallback.cpp:
16526        * bindings/js/JSCustomVoidCallback.cpp:
16527        * bindings/js/JSCustomXPathNSResolver.cpp:
16528        * bindings/js/JSDOMWindowBase.cpp:
16529        * bindings/js/JSDOMWindowShell.cpp:
16530        * bindings/js/JSDocumentCustom.cpp:
16531        * bindings/js/ScriptDebugServer.cpp:
16532        * bindings/v8/NPV8Object.cpp:
16533        * bindings/v8/ScriptCachedFrameData.cpp:
16534        * bindings/v8/V8DOMWindowShell.cpp:
16535        * bindings/v8/V8DOMWrapper.cpp:
16536        * bindings/v8/V8IsolatedContext.cpp:
16537        * bindings/v8/V8Proxy.cpp:
16538        * bindings/v8/custom/V8LocationCustom.cpp:
16539        * dom/Node.cpp:
16540        * dom/ScriptElement.cpp:
16541        * dom/XMLDocumentParser.cpp:
16542        * dom/XMLDocumentParserQt.cpp:
16543        * html/HTMLEmbedElement.cpp:
16544        * html/HTMLObjectElement.cpp:
16545        * html/HTMLPlugInElement.cpp:
16546        * html/parser/HTMLConstructionSite.cpp:
16547        * html/parser/HTMLTreeBuilder.cpp:
16548        * inspector/InspectorProfilerAgent.cpp:
16549        * loader/icon/IconDatabase.cpp:
16550        * page/Chrome.cpp:
16551        * page/Navigator.cpp:
16552        * page/Page.cpp:
16553        * plugins/PluginView.cpp:
16554        * plugins/gtk/PluginViewGtk.cpp:
16555        * plugins/qt/PluginViewQt.cpp:
16556        * plugins/symbian/PluginViewSymbian.cpp:
16557        * plugins/win/PluginViewWin.cpp:
16558        * svg/SVGDocumentExtensions.cpp:
16559        * xml/XMLTreeViewer.cpp:
16560
165612011-04-20  Pavel Feldman  <pfeldman@google.com>
16562
16563        Reviewed by Yury Semikhatsky.
16564
16565        Web Inspector: add Save As to the Resources panel context menu.
16566        https://bugs.webkit.org/show_bug.cgi?id=58983
16567
16568        * English.lproj/localizedStrings.js:
16569        * inspector/front-end/ResourcesPanel.js:
16570        (WebInspector.FrameResourceTreeElement.prototype.onattach):
16571        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent.save):
16572        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
16573        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
16574        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
16575
165762011-04-20  Balazs Kelemen  <kbalazs@webkit.org>
16577
16578        Reviewed by Csaba Osztrogonác.
16579
16580        [Qt] Cleanup includepath adjustment for generated files
16581        https://bugs.webkit.org/show_bug.cgi?id=58869
16582
16583        Build cleanup, no new tests.
16584
16585        * WebCore.pri: Add the directory of generated files to the include path
16586        with absolute path to make it valid in the final build step. Remove
16587        unnecessary logic.
16588
165892011-04-20  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
16590
16591        Reviewed by Andreas Kling.
16592
16593        [EFL] Initializing m_window member field in PluginView.cpp for efl port
16594        https://bugs.webkit.org/show_bug.cgi?id=58311
16595
16596        No new tests needed: only initializing class member.
16597
16598        * plugins/PluginView.cpp:
16599        (WebCore::PluginView::PluginView):
16600
166012011-04-20  Pavel Feldman  <pfeldman@google.com>
16602
16603        Not reviewed: fix Leopard compile.
16604
16605        * inspector/InspectorFrontendClient.h:
16606        * inspector/InspectorFrontendClientLocal.h:
16607        (WebCore::InspectorFrontendClientLocal::saveAs):
16608
166092011-04-20  Pavel Feldman  <pfeldman@google.com>
16610
16611        Reviewed by Yury Semikhatsky.
16612
16613        Web Inspector: add saveAs into the InspectorFrontendHost binding.
16614        https://bugs.webkit.org/show_bug.cgi?id=58979
16615
16616        * English.lproj/localizedStrings.js:
16617        * inspector/InspectorFrontendClient.h:
16618        (WebCore::InspectorFrontendClient::saveAs):
16619        (WebCore::InspectorFrontendClient::saveSessionSetting):
16620        (WebCore::InspectorFrontendClient::loadSessionSetting):
16621        * inspector/InspectorFrontendHost.cpp:
16622        (WebCore::InspectorFrontendHost::saveAs):
16623        * inspector/InspectorFrontendHost.h:
16624        * inspector/InspectorFrontendHost.idl:
16625        * inspector/front-end/InspectorFrontendHostStub.js:
16626        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs.fr.onload):
16627        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs):
16628        * inspector/front-end/NetworkPanel.js:
16629        (WebInspector.NetworkPanel.prototype._contextMenu):
16630        (WebInspector.NetworkPanel.prototype._copyAll):
16631        (WebInspector.NetworkPanel.prototype._copyResource):
16632        (WebInspector.NetworkPanel.prototype._exportAll):
16633        (WebInspector.NetworkPanel.prototype._exportResource):
16634        * inspector/front-end/Settings.js:
16635        * inspector/front-end/utilities.js:
16636        ():
16637
166382011-04-20  Yury Semikhatsky  <yurys@chromium.org>
16639
16640        Reviewed by Tony Gentilcore.
16641
16642        Error event in <script> element shouldn't bubble
16643        https://bugs.webkit.org/show_bug.cgi?id=51040
16644
16645        Test: svg/dom/SVGScriptElement/script-onerror-bubbling.svg
16646
16647        * dom/ScriptElement.cpp:
16648        (WebCore::ScriptElement::dispatchErrorEvent): the method now has same implementation for all script
16649        elements, script load error event doesn' bubble.
16650        * dom/ScriptElement.h:
16651        * html/HTMLScriptElement.cpp:
16652        * html/HTMLScriptElement.h:
16653        * html/parser/HTMLScriptRunner.cpp:
16654        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
16655        * svg/SVGScriptElement.cpp:
16656        (WebCore::SVGScriptElement::parseMappedAttribute): SVG script element now supports onerror
16657        hanlder which behaves the same way as onerror in HTML script element: it's invoked when
16658        script loading fails and the event doesn't bubble.
16659        * svg/SVGScriptElement.h:
16660
166612011-04-20  Pavel Feldman  <pfeldman@google.com>
16662
16663        Reviewed by Yury Semikhatsky.
16664
16665        Web Inspector: minor protocol cleanups (refined types).
16666        https://bugs.webkit.org/show_bug.cgi?id=58970
16667
16668        * inspector/InjectedScriptSource.js:
16669        * inspector/Inspector.json:
16670
166712011-04-20  Leo Yang  <leo.yang@torchmobile.com.cn>
16672
16673        Reviewed by Eric Seidel.
16674
16675        Leaks beneath RenderSVGShadowTreeRootContainer::updateFromElement seen on SnowLeopard Intel Leaks
16676        https://bugs.webkit.org/show_bug.cgi?id=56672
16677
16678        ~RenderSVGShadowTreeRootContainer() cleared shadow host only if
16679        the shadow root is attached. This is wrong because it will
16680        leak shadow root when the root is not attached. For example, it
16681        leaks shadow root of <use> element which is pending on resource.
16682
16683        This patch is clearing shadow host if m_shadowRoot is valid to
16684        prevent leaking.
16685
16686        Fixing leaking, no new tests.
16687
16688        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
16689        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
16690
166912011-04-19  Maciej Stachowiak  <mjs@apple.com>
16692
16693        Reviewed by Antti Koivisto.
16694
16695        Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent
16696        https://bugs.webkit.org/show_bug.cgi?id=58868
16697
16698        I could not figure out how to make a test.
16699
16700        * rendering/RenderLayer.cpp:
16701        (WebCore::RenderLayer::paintLayer): Check for existence of a
16702        parent before calling a method on it.
16703
167042011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
16705
16706        Reviewed by Daniel Bates.
16707
16708        [EFL] Add current time to media control panel.
16709        https://bugs.webkit.org/show_bug.cgi?id=58866
16710
16711        Implement paintMediaCurrentTime() to show playing time of media content.
16712
16713        * platform/efl/RenderThemeEfl.cpp:
16714        (WebCore::RenderThemeEfl::RenderThemeEfl):
16715        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
16716        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
16717        * platform/efl/RenderThemeEfl.h:
16718
167192011-04-19  Jungshik Shin  <jshin@chromium.org>
16720
16721        Reviewed by Adam Barth
16722
16723        Update the list of Unicode blocks to treat as complex scripts
16724        per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
16725        go through the complex script code path.
16726
16727        Test: fast/text/ipa-tone-letters.html
16728
16729        http://bugs.webkit.org/show_bug.cgi?id=39799
16730
16731        * platform/graphics/Font.cpp:
16732        (WebCore::Font::codePath):
16733
167342011-04-19  Pratik Solanki  <psolanki@apple.com>
16735
16736        Reviewed by Simon Fraser.
16737
16738        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
16739
16740        Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
16741        trying to paint GeneratedImages.
16742
16743        * platform/graphics/Image.cpp:
16744        (WebCore::Image::drawTiled):
16745        * platform/graphics/cg/ImageCG.cpp:
16746        (WebCore::Image::drawPattern):
16747
167482011-04-19  Simon Fraser  <simon.fraser@apple.com>
16749
16750        Fix 32-bit builds.
16751
16752        * rendering/RenderBox.cpp:
16753        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
16754        * rendering/RenderBoxModelObject.cpp:
16755        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16756
167572011-04-19  Naoki Takano  <takano.naoki@gmail.com>
16758
16759        Reviewed by Kent Tamura.
16760
16761        [Chromium]UI polishes and tweaks to Autofill dropdown menu.
16762        https://bugs.webkit.org/show_bug.cgi?id=58505
16763        http://code.google.com/p/chromium/issues/detail?id=51077
16764
16765        No new tests. Because this is autofill looking problem in Chromium.
16766        Add m_menuType as PopupMenuStyle to change popup style change.
16767        Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
16768        Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
16769        Change the line height of separator as only the piece if m_menuType is AutofillPopup.
16770        Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
16771
16772        * platform/PopupMenuStyle.h: Add enum PopupMenuType;
16773        (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
16774        (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
16775        * platform/chromium/PopupMenuChromium.cpp:
16776        (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
16777        Change the edge padding according to menuStyle().
16778        (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
16779
167802011-04-19  Simon Fraser  <simon.fraser@apple.com>
16781
16782        Reviewed by Dan Bernstein.
16783
16784        background color of elements with border-radius shows around outer edge of border at corners
16785        https://bugs.webkit.org/show_bug.cgi?id=21819
16786
16787        When drawing a background followed by a border with the same rounded
16788        clip, some border color leaks out because of antialiasing.
16789
16790        Fix this by using two different strategies depending on the colors.
16791        If the border is opaque on all sides, we can inset the background by
16792        a device pixel. If not, then we have to draw the unclipped background
16793        and border into a transparency layer, and then clip that.
16794
16795        A futher possible solution is mentioned in a comment in
16796        determineBackgroundBleedAvoidance() but not yet implemented.
16797
16798        Also don't try to paint shadows with zero offset, spread and blur.
16799
16800        Test: fast/backgrounds/background-leakage.html,
16801              fast/backgrounds/background-leakage-transforms.html
16802
16803        * rendering/RenderBoxModelObject.h:
16804        Add a BackgroundBleedAvoidance enum with a value for each
16805        strategy.
16806        * rendering/RenderBoxModelObject.cpp:
16807        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16808        Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
16809        If using the transparency layer solution, don't bother to clip
16810        to the rounded rect for the background. If the strategy is to
16811        shrink the background, do that.
16812        (WebCore::BorderEdge::BorderEdge):
16813        (WebCore::BorderEdge::obscuresBackgroundEdge):
16814        Helper method to determine if this border side will totally
16815        obscured by the border edge, allowing us to inset it.
16816        (WebCore::RenderBoxModelObject::paintOneBorderSide):
16817        Pass BackgroundBleedAvoidance through.
16818        (WebCore::RenderBoxModelObject::paintBorderSides):
16819        Ditto.
16820        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
16821        Ditto.
16822        (WebCore::RenderBoxModelObject::paintBorder):
16823        Fill BorderEdges using getBorderEdgeInfo now.
16824        Don't clip to the rounded border if we are using the
16825        transparency layer solution.
16826        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
16827        Pass bleedAvoidance through, and use it for double borders.
16828        (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
16829        Helper to fill in the BorderEdge array.
16830        (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
16831        Used to determine if we can use the background shrinkage solution.
16832        (WebCore::RenderBoxModelObject::paintBoxShadow):
16833        Don't paint shadows that should not be visible.
16834
16835        * rendering/RenderBox.h:
16836        * rendering/RenderBox.cpp:
16837        (WebCore::RenderBox::paintRootBoxFillLayers):
16838        Pass BackgroundBleedNone for the root box.
16839
16840        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
16841        Determine which bleed strategy we can use.
16842
16843        (WebCore::RenderBox::paintBoxDecorationsWithSize):
16844        Based on the bleedAvoidance, make a transparency layer
16845        which will be clipped to the rounded border outside edge,
16846        and pass bleedAvoidance to the background and border-painting
16847        methods.
16848        (WebCore::RenderBox::paintMaskImages):
16849        Use BackgroundBleedNone.
16850        (WebCore::RenderBox::paintFillLayers):
16851        (WebCore::RenderBox::paintFillLayer):
16852        Pass bleedAvoidance through.
16853
16854        * rendering/InlineFlowBox.cpp:
16855        (WebCore::InlineFlowBox::paintFillLayer):
16856        (WebCore::InlineFlowBox::paintBoxDecorations):
16857        Pass BackgroundBleedNone. At some point we may want to do the right
16858        thing for split inlines.
16859
16860        * rendering/RenderFieldset.cpp:
16861        (WebCore::RenderFieldset::paintBoxDecorations):
16862        * rendering/RenderTableCell.cpp:
16863        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
16864        Pass BackgroundBleedNone.
16865
168662011-04-19  Yuta Kitamura  <yutak@chromium.org>
16867
16868        Reviewed by Alexey Proskuryakov.
16869
16870        WebSocket: Add assertion for SocketStreamError::failingURL.
16871        https://bugs.webkit.org/show_bug.cgi?id=58765
16872
16873        No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
16874
16875        * websockets/WebSocketChannel.cpp:
16876        (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
16877        m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
16878        using zero- or one-argument constructor (which is old version but some ports are still using it).
16879        In that case, m_handshake.url() is passed to addMessage().
16880
168812011-04-19  Eric Carlson  <eric.carlson@apple.com>
16882
16883        Reviewed by Dimitri Glazkov.
16884
16885        Media controls status display should not be hidden for live streams
16886        https://bugs.webkit.org/show_bug.cgi?id=58952
16887
16888        Tested manually because we don't have any live streams to test in DRT.
16889
16890        * html/shadow/MediaControlElements.cpp:
16891        (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
16892            there is something to display (readyState exceeds HAVE_METADATA).
16893        * html/shadow/MediaControlRootElement.cpp:
16894        (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
16895            live streams.
16896
168972011-04-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
16898
16899        Reviewed by Alexey Proskuryakov.
16900
16901        https://bugs.webkit.org/show_bug.cgi?id=45425
16902        HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
16903
16904        Test: fast/html/htmllink-disable.html
16905        Test: fast/dom/HTMLLinkElement/disabled-attribute.html
16906
16907        Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
16908
16909        Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
16910
16911        * html/HTMLLinkElement.cpp:
16912        (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
16913        false if we don't have a stylesheet.
16914        (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
16915        ignore the call if we don't have a stylesheet.
16916        * html/HTMLLinkElement.h:
16917        * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
16918        This matches the way FF4, Opera and IE9 handle the attribute.
16919
169202011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
16921
16922        Reviewed by Eric Seidel.
16923
16924        Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
16925        https://bugs.webkit.org/show_bug.cgi?id=58569
16926
16927        Removed all calls to deprecatedOffset and deprecatedNode.
16928
16929        * editing/TypingCommand.cpp:
16930        (WebCore::TypingCommand::insertText):
16931        (WebCore::TypingCommand::deleteKeyPressed):
16932        (WebCore::TypingCommand::forwardDeleteKeyPressed):
16933
169342011-04-19  Adrienne Walker  <enne@google.com>
16935
16936        Reviewed by Kenneth Russell.
16937
16938        [chromium] Initialize depth mask to known value before getBooleanv call
16939        https://bugs.webkit.org/show_bug.cgi?id=58948
16940
16941        This trips an assert in the GPU command buffer client code if the
16942        pointed-to value is not initialized to 0 or -1.
16943
16944        * platform/graphics/gpu/DrawingBuffer.cpp:
16945        (WebCore::DrawingBuffer::clearFramebuffer):
16946
169472011-04-19  Pratik Solanki  <psolanki@apple.com>
16948
16949        Reviewed by Simon Fraser.
16950
16951        BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
16952        https://bugs.webkit.org/show_bug.cgi?id=58926
16953
16954        * platform/graphics/BitmapImage.cpp:
16955        (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
16956        * platform/graphics/BitmapImage.h:
16957        (WebCore::BitmapImage::assertNotSolidColor):
16958        * platform/graphics/cg/ImageCG.cpp:
16959        (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
16960
169612011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
16962
16963        Reviewed by Ojan Vafai.
16964
16965        REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
16966        https://bugs.webkit.org/show_bug.cgi?id=58910
16967
16968        The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
16969        targetNode always have renderer when there selection has an editable root and the target node
16970        is outside of the editable root.
16971
16972        Fixed the bug by adding an early exit when the target node is null.
16973
16974        No new tests are added since we don't have a reduction for this crash.
16975
16976        * page/EventHandler.cpp:
16977        (WebCore::selectionExtentRespectingEditingBoundary):
16978
169792011-04-19  Geoffrey Garen  <ggaren@apple.com>
16980
16981        Try to fix v8 build.
16982
16983        * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
16984
169852011-04-19  Enrica Casucci  <enrica@apple.com>
16986
16987        Reviewed by Ryosuke Niwa.
16988
16989        REGRESSION(r55762): Highlight color can't be copied in gmail.
16990        https://bugs.webkit.org/show_bug.cgi?id=58925
16991        <rdar://problem/9253057>
16992
16993        Test: editing/pasteboard/copy-text-with-backgroundcolor.html
16994
16995        The changes of r55762 uncovered the underlying issue here. The markup fragment
16996        placed in the pasteboard does not contain the background color style.
16997        This occurs only if the selection is limited to a single text node, whereas if the
16998        selection spans across multiple nodes, the style is preserved correctly.
16999        The fix consists in changing the logic that decides whether we should include the wrapping
17000        node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
17001        on isElementPresentational to choose candidates to be the wrapping node.
17002        I've extended it to accept nodes that have non fully transparent background colors.
17003
17004        * editing/Editor.cpp:
17005        (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
17006        * editing/Editor.h:
17007        * editing/markup.cpp:
17008        (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
17009
170102011-04-19  Geoffrey Garen  <ggaren@apple.com>
17011
17012        Reviewed by Oliver Hunt.
17013
17014        Removed a use of markDOMObjectWrapper: NodeLists
17015        https://bugs.webkit.org/show_bug.cgi?id=58939
17016
17017        * bindings/js/JSDocumentCustom.cpp:
17018        (WebCore::JSDocument::markChildren): No need to mark node lists, because
17019        now they use the opaque roots system to decide their lifetimes.
17020
17021        * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
17022
17023        * bindings/js/JSNodeListCustom.cpp:
17024        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
17025        (WebCore::JSNodeListOwner::finalize):
17026        (WebCore::wrapperOwner):
17027        (WebCore::wrapperContext):
17028        (WebCore::toJS): Use the opaque roots system to avoid relying on
17029        markDOMObjectWrapper.
17030
17031        * dom/DynamicNodeList.cpp:
17032        (WebCore::DynamicNodeList::isDynamicNodeList):
17033        * dom/DynamicNodeList.h:
17034        (WebCore::DynamicNodeList::rootNode): Added the ability to get the node
17035        backing a NodeList, for use in the opaque roots system.
17036
17037        * dom/Node.cpp:
17038        * dom/Node.h:
17039        * dom/NodeList.h:
17040        (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
17041        to the old way of marking NodeLists.
17042
17043        * dom/NodeList.idl: We need a custom toJS so we can specify a custom
17044        WeakHandleOwner at construction time.
17045
170462011-04-19  Antoine Labour  <piman@chromium.org>
17047
17048        Reviewed by James Robinson.
17049
17050        For invisible iframes, propagate compositing to parent instead of setting self
17051        as root.
17052        https://bugs.webkit.org/show_bug.cgi?id=58414
17053
17054        Tests: compositing/iframes/invisible-iframe.html
17055               compositing/iframes/invisible-nested-iframe-hide.html
17056               compositing/iframes/invisible-nested-iframe-show.html
17057               compositing/iframes/invisible-nested-iframe.html
17058
17059        * rendering/RenderLayerCompositor.cpp:
17060        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
17061        Propagate compositing to parent even if frame owner has no renderer.
17062
170632011-04-19  Dan Bernstein  <mitz@apple.com>
17064
17065        Reviewed by Beth Dakin.
17066
17067        <rdar://problem/9271848> Crash when the document element is removed
17068
17069        Test: fast/events/overflow-viewport-renderer-deleted.html
17070
17071        * page/FrameView.cpp:
17072        (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
17073        function takes a code path that doesn’t call applyOverflowToViewport().
17074        (WebCore::FrameView::layout): Whitespace change.
17075
170762011-04-19  Beth Dakin  <bdakin@apple.com>
17077
17078        Reviewed by Maciej Stachowiak.
17079
17080        https://bugs.webkit.org/show_bug.cgi?id=57898
17081        REGRESSION (r82185): Scroll position not restored on navigation back to a page in
17082        the page cache
17083        -and corresponding-
17084        <rdar://problem/9226652>
17085
17086        Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll
17087        position to be lost. (The scroll position is computed based on the
17088        visibleContentSize.) This patch provides a mechanism to cache the current scroll
17089        position, and then the HistoryController accesses only the cached position rather
17090        than calling scrollPosition() which does a computation based on the
17091        visibleContentSize.
17092
17093        * loader/HistoryController.cpp:
17094        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
17095        * page/FrameView.cpp:
17096        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
17097        * platform/ScrollView.h:
17098        (WebCore::ScrollView::cacheCurrentScrollPosition):
17099        (WebCore::ScrollView::cachedScrollPosition):
17100
171012011-04-19  Renata Hodovan  <reni@webkit.org>
17102
17103        Reviewed by Eric Seidel.
17104
17105        Move the alignment related macros in Vector.h to new Alignment.h.
17106        https://bugs.webkit.org/show_bug.cgi?id=56000
17107
17108        Adding the new file to the forwarding headers of WebCore.
17109
17110        * ForwardingHeaders/wtf/Alignment.h: Added.
17111
171122011-04-19  Oliver Hunt  <oliver@apple.com>
17113
17114        Reviewed by Andreas Kling.
17115
17116        [Qt] QtInstance method cache ownership rules are unclear
17117        https://bugs.webkit.org/show_bug.cgi?id=58820
17118
17119        Make the QtInstance method cache use WriteBarrier, and handle
17120        ownership properly.
17121
17122        * bridge/qt/qt_class.cpp:
17123        (JSC::Bindings::QtClass::fallbackObject):
17124        (JSC::Bindings::QtClass::fieldNamed):
17125        * bridge/qt/qt_instance.cpp:
17126        (JSC::Bindings::QtInstance::~QtInstance):
17127        (JSC::Bindings::QtInstance::removeCachedMethod):
17128        (JSC::Bindings::QtInstance::newRuntimeObject):
17129        (JSC::Bindings::QtInstance::markAggregate):
17130        * bridge/qt/qt_instance.h:
17131
171322011-04-19  David Kilzer  <ddkilzer@apple.com>
17133
17134        <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
17135
17136        Reviewed by Antti Koivisto.
17137
17138        * platform/network/ResourceLoadPriority.h:
17139        (enum ResourceLoadPriority): Moved Unresolved enum to the top of
17140        the list and set to -1 to emphasize the fact that this is an
17141        unresolved priority (rather than one higher than the highest
17142        priority).  Removed whitespace from the end of all enum lines.
17143
171442011-04-19  Simon Fraser  <simon.fraser@apple.com>
17145
17146        Reviewed by David Hyatt.
17147
17148        Background radius is wrong for split inline
17149        https://bugs.webkit.org/show_bug.cgi?id=58843
17150
17151        When computing the radii for a segment of a split inline, we have to
17152        constrain those radii for the current segment, while still drawing
17153        using the entire logical width.
17154
17155        Tests: fast/backgrounds/border-radius-split-background-image.html
17156               fast/backgrounds/border-radius-split-background.html
17157
17158        * rendering/InlineFlowBox.cpp:
17159        (WebCore::InlineFlowBox::paintFillLayer):
17160        Pass height and width for this box only to paintFillLayer()
17161
17162        * rendering/RenderBox.cpp:
17163        (WebCore::RenderBox::paintFillLayer):
17164        Pass 0 for unused inlineBox height and width.
17165
17166        * rendering/RenderBoxModelObject.h:
17167        * rendering/RenderBoxModelObject.cpp:
17168        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
17169        When computing the rounded background rect, we have to take the size of
17170        this segment of the inline box into account for radius constraining.
17171        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
17172        Call getBackgroundRoundedRect() in two places.
17173
171742011-04-19  Simon Fraser  <simon.fraser@apple.com>
17175
17176        Build fix. For some reason RenderBoxModelObject.cpp
17177        was missing from my last commit.
17178
17179        * rendering/RenderBoxModelObject.cpp:
17180        (WebCore::borderWillArcInnerEdge):
17181        (WebCore::edgeFlagForSide):
17182        (WebCore::includesEdge):
17183        (WebCore::BorderEdge::BorderEdge):
17184        (WebCore::BorderEdge::hasVisibleColorAndStyle):
17185        (WebCore::BorderEdge::shouldRender):
17186        (WebCore::BorderEdge::presentButInvisible):
17187        (WebCore::BorderEdge::usedWidth):
17188        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
17189        (WebCore::edgesShareColor):
17190        (WebCore::styleRequiresClipPolygon):
17191        (WebCore::borderStyleFillsBorderArea):
17192        (WebCore::borderStyleHasInnerDetail):
17193        (WebCore::borderStyleIsDottedOrDashed):
17194        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
17195        (WebCore::colorsMatchAtCorner):
17196        (WebCore::willBeOverdrawn):
17197        (WebCore::borderStylesRequireMitre):
17198        (WebCore::joinRequiresMitre):
17199        (WebCore::RenderBoxModelObject::paintOneBorderSide):
17200        (WebCore::RenderBoxModelObject::paintBorderSides):
17201        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
17202        (WebCore::RenderBoxModelObject::paintBorder):
17203        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
17204        (WebCore::findInnerVertex):
17205        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
17206        (WebCore::RenderBoxModelObject::paintBoxShadow):
17207
172082011-04-19  Stephen White  <senorblanco@chromium.org>
17209
17210        Reviewed by Kenneth Russell.
17211
17212        Refactor GLES2Canvas state application out into its own function.
17213        https://bugs.webkit.org/show_bug.cgi?id=58906
17214
17215        Covered by existing tests in fast/canvas and canvas/philip.
17216
17217        * platform/graphics/chromium/GLES2Canvas.cpp:
17218        (WebCore::GLES2Canvas::applyState):
17219        New function to apply compositing and clipping state.
17220        (WebCore::GLES2Canvas::fillPath):
17221        (WebCore::GLES2Canvas::fillRect):
17222        (WebCore::GLES2Canvas::beginShadowDraw):
17223        (WebCore::GLES2Canvas::endShadowDraw):
17224        Refactor calls to applyState().
17225        * platform/graphics/chromium/GLES2Canvas.h:
17226
172272011-04-19  Simon Fraser  <simon.fraser@apple.com>
17228
17229        Reviewed by Dave Hyatt.
17230
17231        Fix multiple border rendering issues
17232        https://bugs.webkit.org/show_bug.cgi?id=58761
17233
17234        Fix various border-drawing bugs, and optimize some common cases.
17235        Also refactors a lot of the border-drawing code to be more maintainable.
17236
17237            Rounded border rendering with different border widths looks strange
17238            https://bugs.webkit.org/show_bug.cgi?id=17468
17239
17240            paintBorder in RenderObject paint two times the corners
17241            https://bugs.webkit.org/show_bug.cgi?id=20495
17242
17243            Overdraw at box corners when using RGBA colors with alpha
17244            https://bugs.webkit.org/show_bug.cgi?id=21835
17245
17246            Enable antialiasing for border drawing, when transformed
17247            https://bugs.webkit.org/show_bug.cgi?id=22746
17248
17249            Drawing border-radius from path sometimes fails to round outer border in the double style when it should
17250            https://bugs.webkit.org/show_bug.cgi?id=41301
17251
17252            Drawing border-radius from path doesn't appear to always match up border edges correctly
17253            https://bugs.webkit.org/show_bug.cgi?id=41302
17254
17255        Also fixes
17256            Should be able to create Path from RoundedIntRect
17257            https://bugs.webkit.org/show_bug.cgi?id=58809
17258
17259        Tests: fast/borders/border-radius-different-width-001.html
17260               fast/borders/border-radius-inset-outset.html
17261               fast/borders/table-borders.html
17262
17263        * platform/graphics/FloatPoint.h:
17264        * platform/graphics/FloatPoint.cpp:
17265        (WebCore::findSlope):
17266        (WebCore::findIntersection):
17267        New geometry helper functions (should eventually move into a new
17268        GeometryUtilities file).
17269
17270        * platform/graphics/Path.h:
17271        * platform/graphics/Path.cpp:
17272        (WebCore::Path::addRoundedRect):
17273        Add an overload of addRoundedRect() that takes a RoundedIntRect.
17274
17275        * platform/graphics/GraphicsContext.cpp:
17276        (WebCore::GraphicsContext::addRoundedRectClip):
17277        (WebCore::GraphicsContext::clipOutRoundedRect):
17278        (WebCore::GraphicsContext::fillRectWithRoundedHole):
17279        Can now add a RoundedIntRect to a Path directly.
17280
17281        * platform/graphics/IntRect.h:
17282        (WebCore::IntRect::minXMinYCorner):
17283        (WebCore::IntRect::maxXMinYCorner):
17284        (WebCore::IntRect::minXMaxYCorner):
17285        (WebCore::IntRect::maxXMaxYCorner):
17286        Convenience functions to get the rect corners, in a writing-mode-
17287        friendly way.
17288
17289        * platform/graphics/RoundedIntRect.h:
17290        * platform/graphics/RoundedIntRect.cpp:
17291        (WebCore::RoundedIntRect::isRenderable):
17292        We need to know when Path::addRoundedRect() will fail because
17293        the sum of the radii exceed the height or width. This method tells
17294        us that.
17295
17296        * platform/graphics/cg/GraphicsContextCG.cpp:
17297        (WebCore::GraphicsContext::fillRectWithRoundedHole):
17298        Can now add a RoundedIntRect to a Path directly.
17299
17300        * rendering/RenderBoxModelObject.h:
17301        * rendering/RenderBoxModelObject.cpp:
17302        (WebCore::borderWillArcInnerEdge):
17303        This can just to see if there are inner radii now.
17304
17305        (WebCore::edgeFlagForSide):
17306        (WebCore::includesEdge):
17307        Convenience functions for the BorderEdgeFlags bitmask.
17308
17309        (WebCore::BorderEdge::BorderEdge):
17310        (WebCore::BorderEdge::hasVisibleColorAndStyle):
17311        (WebCore::BorderEdge::shouldRender):
17312        (WebCore::BorderEdge::presentButInvisible):
17313        (WebCore::BorderEdge::usedWidth):
17314        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
17315        Convenience class to hold data about how a single edge
17316        is drawn, and to contain some commonly used width-related methods.
17317
17318        (WebCore::edgesShareColor):
17319        (WebCore::styleRequiresClipPolygon):
17320        (WebCore::borderStyleFillsBorderArea):
17321        (WebCore::borderStyleHasInnerDetail):
17322        (WebCore::borderStyleIsDottedOrDashed):
17323        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
17324        (WebCore::colorsMatchAtCorner):
17325        (WebCore::willBeOverdrawn):
17326        (WebCore::borderStylesRequireMitre):
17327        (WebCore::joinRequiresMitre):
17328        Functions used to make the border drawing code more readable,
17329        which are used to determine when corners need a mitre, and
17330        need antialiasing.
17331
17332        (WebCore::RenderBoxModelObject::paintOneBorderSide):
17333        Code to paint one side of a border, either via the path, or
17334        using rects/polygons, the appropriate mitres and antialiasing
17335        at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
17336        to be passed all the way down here so that when we recompute the
17337        path for double and ridge/groove borders, we correctly handle split box
17338        borders.
17339
17340        (WebCore::RenderBoxModelObject::paintBorderSides):
17341        Paints the 4 border sides (if present).
17342
17343        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
17344        Called when one or more of the borders has a non-opaque color,
17345        and uses a transparency layer for each set of same-colored
17346        sides to avoid overdraw at the corners.
17347
17348        (WebCore::RenderBoxModelObject::paintBorder):
17349        Builds an array of BorderEdge so we can iterate over them to
17350        detect different border compbinations, and optimizations. Has
17351        a fast path for all-solid borders.
17352
17353        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
17354        Moved from RenderObject, since all callers are in RenderBoxModelObject.
17355        Has the following changes:
17356          * Don't attempt to draw dashes if there is only space for a few,
17357            since it looks bad.
17358          * Handle double and groove borders on split inlines correctly,
17359            making use of includeLogicalLeftEdge, includeLogicalRightEdge
17360
17361        (WebCore::findInnerVertex):
17362        For borders with a radiused inner edge, the per-side clip polygon
17363        has to project inside the padding box to avoid clipping the inner edge.
17364        This function computes a reasonable inner corner for the clipping
17365        polygon.
17366        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
17367        Have the corner joins pass through the corners of the inner and outer
17368        border rectangles, ensure we don't clip the inside if necessary,
17369        and handle antialiasing on the two mitres.
17370
17371        (WebCore::RenderBoxModelObject::paintBoxShadow):
17372        Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
17373        etc.
17374
17375        * rendering/RenderObject.h:
17376        * rendering/RenderObject.cpp:
17377        (WebCore::RenderObject::drawLineForBoxSide):
17378        Moved to RenderBoxModelObject.
17379
17380        * rendering/style/RenderStyle.h:
17381        * rendering/style/RenderStyle.cpp:
17382        (WebCore::RenderStyle::getRoundedBorderFor):
17383        (WebCore::RenderStyle::getRoundedInnerBorderFor):
17384        There was some very clumsy code that computed a rounded rect
17385        given the border rect and side widths. Cleaned this up by moving
17386        some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
17387        which takes the border widths is used by the double and groove drawing
17388        code.
17389
173902011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
17391
17392        Reviewed by Dimitri Glazkov.
17393
17394        REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
17395        https://bugs.webkit.org/show_bug.cgi?id=57061
17396
17397        The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
17398        a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
17399        RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
17400        a significant performance regression.
17401
17402        Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
17403        no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
17404        and prevents respondToNodeModification from clearing selection.
17405
17406        No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
17407        isn't exposed to JavaScript.
17408
17409        * dom/Range.cpp:
17410        (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
17411        start and end nodes are same, we should never get an exception from compareBoundaryPoints.
17412        (WebCore::Range::setEnd): Ditto.
17413        (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
17414        throws an exception.
17415        (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
17416        compareBoundaryPoints.
17417        (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
17418        (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
17419        * dom/Range.h:
17420        * editing/SelectionController.cpp:
17421        (WebCore::SelectionController::respondToNodeModification):
17422        * editing/htmlediting.cpp:
17423        (WebCore::comparePositions): Calls compareBoundaryPoints.
17424        * editing/markup.cpp:
17425        (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
17426        and neither are in a shadow DOM, it should never throw an exception.
17427        * page/DOMSelection.cpp:
17428        (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
17429        was thrown.
17430
174312011-04-19  Jungshik Shin  <jshin@chromium.org>
17432
17433        Reviewed by David Levin
17434
17435        Make U+FEFF be treated as a zero-width character in both
17436        simple script and complex script code paths. In Chromium
17437        Windows, UniscribeHelper needs a rather extensive changes
17438        summarized below.  Other ports need minor changes.
17439
17440        https://bugs.webkit.org/show_bug.cgi?id=48860
17441
17442        Test: fast/text/zero-width-characters-complex-script.html
17443
17444        * platform/graphics/Font.h:
17445        (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
17446        (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
17447        * platform/graphics/GlyphPageTreeNode.cpp:
17448        (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
17449        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
17450        (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph.
17451        (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
17452        (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
17453        * platform/graphics/chromium/FontUtilsChromiumWin.h:
17454        * platform/graphics/chromium/UniscribeHelper.cpp:
17455        (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
17456        (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
17457        (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph.
17458        (WebCore::UniscribeHelper::applySpacing):
17459        (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph
17460        * platform/graphics/chromium/UniscribeHelper.h:
17461        (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
17462        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
17463        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
17464
174652011-04-19  Brent Fulgham  <bfulgham@webkit.org>
17466
17467        Reviewed by Adam Roben.
17468
17469        Extend the DIBPixelData class with the facility for writing the
17470        bitmap representation to disk for debugging purposes.
17471        https://bugs.webkit.org/show_bug.cgi?id=58862.
17472
17473        * platform/graphics/win/DIBPixelData.cpp:
17474        (WebCore::DIBPixelData::writeToFile): New function.
17475        * platform/graphics/win/DIBPixelData.h:
17476
174772011-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
17478
17479        Reviewed by Pavel Feldman.
17480
17481        Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
17482        https://bugs.webkit.org/show_bug.cgi?id=58883
17483
17484        * fileapi/FileReaderLoader.cpp:
17485        (WebCore::FileReaderLoader::didReceiveData):
17486        * inspector/InspectorInstrumentation.cpp:
17487        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
17488        * inspector/InspectorInstrumentation.h:
17489        (WebCore::InspectorInstrumentation::didReceiveContentLength):
17490        * inspector/InspectorResourceAgent.cpp:
17491        (WebCore::InspectorResourceAgent::didReceiveContentLength):
17492        * inspector/InspectorResourceAgent.h:
17493        * inspector/front-end/NetworkManager.js:
17494        (WebInspector.NetworkDispatcher.prototype.dataReceived):
17495        * loader/DocumentThreadableLoader.cpp:
17496        (WebCore::DocumentThreadableLoader::didReceiveData):
17497        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
17498        * loader/DocumentThreadableLoader.h:
17499        * loader/FrameLoaderClient.h:
17500        * loader/MainResourceLoader.cpp:
17501        (WebCore::MainResourceLoader::didReceiveData):
17502        * loader/MainResourceLoader.h:
17503        * loader/NetscapePlugInStreamLoader.cpp:
17504        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
17505        * loader/NetscapePlugInStreamLoader.h:
17506        * loader/ResourceLoadNotifier.cpp:
17507        (WebCore::ResourceLoadNotifier::didReceiveData):
17508        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
17509        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
17510        * loader/ResourceLoadNotifier.h:
17511        * loader/ResourceLoader.cpp:
17512        (WebCore::ResourceLoader::didReceiveData):
17513        * loader/ResourceLoader.h:
17514        * loader/SubresourceLoader.cpp:
17515        (WebCore::SubresourceLoader::didReceiveData):
17516        * loader/SubresourceLoader.h:
17517        * loader/SubresourceLoaderClient.h:
17518        (WebCore::SubresourceLoaderClient::didReceiveData):
17519        (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
17520        * loader/WorkerThreadableLoader.cpp:
17521        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
17522        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
17523        * loader/appcache/ApplicationCacheGroup.cpp:
17524        (WebCore::ApplicationCacheGroup::didReceiveData):
17525        * loader/appcache/ApplicationCacheGroup.h:
17526        * loader/appcache/ApplicationCacheHost.h:
17527        * notifications/Notification.cpp:
17528        (WebCore::Notification::didReceiveData):
17529        * notifications/Notification.h:
17530        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
17531        (StreamingClient::didReceiveData):
17532        * platform/network/BlobResourceHandle.cpp:
17533        * platform/network/ResourceHandleClient.h:
17534        (WebCore::ResourceHandleClient::didReceiveData):
17535        * platform/network/android/ResourceHandleAndroid.cpp:
17536        (WebCore::SyncLoader::didReceiveData):
17537        * platform/network/cf/ResourceHandleCFNet.cpp:
17538        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
17539        * platform/network/curl/ResourceHandleCurl.cpp:
17540        * platform/network/mac/ResourceHandleMac.mm:
17541        (WebCoreSynchronousLoaderClient::didReceiveData):
17542        * platform/network/soup/ResourceHandleSoup.cpp:
17543        * platform/network/win/ResourceHandleWin.cpp:
17544        * workers/WorkerScriptLoader.h:
17545        * xml/XMLHttpRequest.h:
17546
175472011-04-19  Stephen White  <senorblanco@chromium.org>
17548
17549        Reviewed by Eric Seidel.
17550
17551        Pull framebuffer clearing out into its own function.
17552        https://bugs.webkit.org/show_bug.cgi?id=58897
17553
17554        Covered by fast/canvas and canvas/philip tests.
17555
17556        * platform/graphics/gpu/DrawingBuffer.cpp:
17557        (WebCore::DrawingBuffer::clearFramebuffer):
17558        (WebCore::DrawingBuffer::reset):
17559        * platform/graphics/gpu/DrawingBuffer.h:
17560
175612011-04-19 Brian Salomon <bsalomon@google.com>
17562
17563        Reviewed by Eric Seidel.
17564
17565        When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
17566        https://bugs.webkit.org/show_bug.cgi?id=58788
17567
17568        Chromium browser test will be added that loads canvas page and then an
17569        acclerated-composited page. Test must trigger ~PlatformContextSkia()
17570        followed by invocation of GL compositor.
17571
17572        * platform/graphics/skia/PlatformContextSkia.cpp:
17573        (WebCore::PlatformContextSkia::~PlatformContextSkia):
17574
175752011-04-19  Csaba Osztrogonác  <ossy@webkit.org>
17576
17577        [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
17578        https://bugs.webkit.org/show_bug.cgi?id=58871
17579
17580        Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
17581        http://trac.webkit.org/changeset/84176 (original patch)
17582        http://trac.webkit.org/changeset/84178 (original patch - part 2)
17583        http://trac.webkit.org/changeset/84186 (build fix)
17584        http://trac.webkit.org/changeset/84212
17585        http://trac.webkit.org/changeset/84231 (skip failing test)
17586
17587        original bugs:
17588         - https://bugs.webkit.org/show_bug.cgi?id=58718
17589         - https://bugs.webkit.org/show_bug.cgi?id=58853
17590
17591        * bridge/qt/qt_class.cpp:
17592        (JSC::Bindings::QtClass::fallbackObject):
17593        * bridge/qt/qt_instance.cpp:
17594        (JSC::Bindings::QtInstance::removeCachedMethod):
17595        (JSC::Bindings::QtInstance::markAggregate):
17596        * bridge/qt/qt_instance.h:
17597
175982011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
17599
17600        Unreviewed, rolling out r84050.
17601        http://trac.webkit.org/changeset/84050
17602        https://bugs.webkit.org/show_bug.cgi?id=58892
17603
17604        fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
17605        (Requested by jknotten on #webkit).
17606
17607        * dom/ContainerNode.cpp:
17608        (WebCore::ContainerNode::takeAllChildrenFrom):
17609        (WebCore::ContainerNode::removeBetween):
17610        (WebCore::ContainerNode::removeChildren):
17611        (WebCore::ContainerNode::parserAddChild):
17612        * dom/Document.cpp:
17613        (WebCore::Document::Document):
17614        (WebCore::Document::~Document):
17615        (WebCore::Document::setDocType):
17616        * dom/Element.h:
17617        * dom/Node.cpp:
17618        (WebCore::Node::treeScope):
17619        (WebCore::Node::setTreeScope):
17620        (WebCore::Node::setTreeScopeRecursively):
17621        * dom/Node.h:
17622        (WebCore::Node::document):
17623        * dom/ShadowRoot.cpp:
17624        (WebCore::ShadowRoot::ShadowRoot):
17625        * dom/ShadowRoot.h:
17626        * dom/TreeScope.cpp:
17627        (WebCore::TreeScope::TreeScope):
17628        (WebCore::TreeScope::setParentTreeScope):
17629        * dom/TreeScope.h:
17630        * rendering/RenderSlider.cpp:
17631
176322011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
17633
17634        Not reviewed; windows build fix attempt.
17635
17636        * storage/StorageInfo.cpp:
17637        (WebCore::StorageInfo::~StorageInfo):
17638        * storage/StorageInfo.h:
17639
176402011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
17641
17642        Reviewed by David Levin.
17643
17644        [Chromium] Enable QUOTA API at runtime if enable-quota flag is given
17645        https://bugs.webkit.org/show_bug.cgi?id=58784
17646
17647        No new tests as this does not change any functionality.
17648
17649        * bindings/generic/RuntimeEnabledFeatures.cpp:
17650        * bindings/generic/RuntimeEnabledFeatures.h:
17651        (WebCore::RuntimeEnabledFeatures::quotaEnabled):
17652        (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
17653        * page/DOMWindow.idl:
17654
176552011-04-19  John Gregg  <johnnyg@google.com>
17656
17657        Reviewed by Darin Fisher.
17658
17659        Enable folder drag-n-drop when using a "webkitdirectory" file input
17660        https://bugs.webkit.org/show_bug.cgi?id=58401
17661
17662        This uses a new ChromeClient API to enumerate the directory and
17663        return all the files, as if the user had selected that directory
17664        by clicking the control in the normal way.
17665
17666        * loader/EmptyClients.h:
17667        (WebCore::EmptyChromeClient::enumerateChosenDirectory):
17668        * page/Chrome.cpp:
17669        (WebCore::Chrome::enumerateChosenDirectory):
17670        * page/Chrome.h:
17671        * page/ChromeClient.h:
17672        * platform/network/FormData.cpp:
17673        (WebCore::FormData::appendKeyValuePairItems):
17674        * rendering/RenderFileUploadControl.cpp:
17675        (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload):
17676        (WebCore::RenderFileUploadControl::receiveDroppedFiles):
17677        * rendering/RenderFileUploadControl.h:
17678
176792011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
17680
17681        Unreviewed, rolling out r84150.
17682        http://trac.webkit.org/changeset/84150
17683        https://bugs.webkit.org/show_bug.cgi?id=58875
17684
17685        Broken backspace in Search box of Web Inspector (Requested by
17686        apavlov on #webkit).
17687
17688        * inspector/front-end/inspector.js:
17689        (WebInspector.documentKeyDown):
17690
176912011-04-19  Andrey Adaikin  <aandrey@google.com>
17692
17693        Reviewed by Pavel Feldman.
17694
17695        Web Inspector: NPE in TextEditorModel
17696        https://bugs.webkit.org/show_bug.cgi?id=58870
17697
17698        * inspector/front-end/ResourcesPanel.js:
17699        (WebInspector.ResourcesPanel.prototype._frameAdded):
17700        * inspector/front-end/TextEditorModel.js:
17701        (WebInspector.TextEditorModel.prototype.setText):
17702
177032011-04-19  Hans Wennborg  <hans@chromium.org>
17704
17705        Reviewed by Tony Gentilcore.
17706
17707        IndexedDB: Remove accidental header include directive from LevelDB backend.
17708        https://bugs.webkit.org/show_bug.cgi?id=58872
17709
17710        No new functionality, no new tests.
17711
17712        * storage/IDBLevelDBBackingStore.cpp:
17713
177142011-04-19  Herczeg Zoltan  <zherczeg@webkit.org>
17715
17716        Build fix.
17717
17718        LEFilter change doesn't compile on ARM neon targets
17719        https://bugs.webkit.org/show_bug.cgi?id=58671
17720
17721        Thanks for Charlie Lee to fixing this.
17722
17723        * WebCore.gypi:
17724
177252011-04-19  Daniel Bates  <dbates@webkit.org>
17726
17727        Attempt to fix the Qt Linux Release Minimal build after changeset 84225
17728        <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788).
17729
17730        * dom/EventDispatcher.cpp:
17731        (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call
17732        to Node::svgShadowHost() since this method is only defined when building with SVG enabled.
17733
177342011-04-18  Dominic Cooney  <dominicc@chromium.org>
17735
17736        Reviewed by Dimitri Glazkov.
17737
17738        Makes SVG shadow roots and DOM shadow roots distinct.
17739        https://bugs.webkit.org/show_bug.cgi?id=52788
17740
17741        Not a functional change. Covered by existing SVG tests.
17742
17743        * dom/EventDispatcher.cpp:
17744        (WebCore::findElementInstance):
17745        (WebCore::EventDispatcher::adjustToShadowBoundaries):
17746        (WebCore::EventDispatcher::adjustRelatedTarget):
17747        (WebCore::EventDispatcher::ensureEventAncestors):
17748        * dom/Node.cpp:
17749        (WebCore::Node::setShadowHost):
17750        (WebCore::Node::svgShadowHost):
17751        (WebCore::Node::shadowTreeRootNode):
17752        * dom/Node.h:
17753        (WebCore::Node::isSVGShadowRoot):
17754        (WebCore::Node::parentNode):
17755        (WebCore::Node::parentNodeGuaranteedHostFree):
17756        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
17757        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
17758        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
17759        * rendering/svg/SVGShadowTreeElements.cpp:
17760        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
17761        (WebCore::SVGShadowTreeRootElement::create):
17762        (WebCore::SVGShadowTreeRootElement::attachElement):
17763        (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost):
17764        * rendering/svg/SVGShadowTreeElements.h:
17765        (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot):
17766        * svg/SVGStyledElement.cpp:
17767        (WebCore::SVGStyledElement::title):
17768
177692011-04-18  Taiju TSUIKI  <develop@tzik.jp>
17770
17771        Reviewed by Darin Fisher.
17772
17773        Vendor-prefix requestFileSystem in FileSystem API
17774        https://bugs.webkit.org/show_bug.cgi?id=58517
17775
17776        Prefix from:
17777        - window.requestFileSystem to window.webkitRequestFileSystem
17778        - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL
17779        - window.Flags to window.WebKitFlags
17780        - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem
17781        - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL
17782        - WorkerContext.Flags to WorkerContext.WebKitFlags
17783
17784        * CMakeLists.txt:
17785        * CodeGenerators.pri:
17786        * DerivedSources.cpp:
17787        * DerivedSources.make:
17788        * GNUmakefile.list.am:
17789        * WebCore.gypi:
17790        * WebCore.pro:
17791        * WebCore.vcproj/WebCore.vcproj:
17792        * WebCore.xcodeproj/project.pbxproj:
17793        * bindings/js/JSDirectoryEntryCustom.cpp:
17794        (WebCore::JSDirectoryEntry::getFile):
17795        (WebCore::JSDirectoryEntry::getDirectory):
17796        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
17797        (WebCore::getFlags):
17798        (WebCore::JSDirectoryEntrySync::getFile):
17799        (WebCore::JSDirectoryEntrySync::getDirectory):
17800        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
17801        (WebCore::V8DirectoryEntry::getDirectoryCallback):
17802        (WebCore::V8DirectoryEntry::getFileCallback):
17803        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
17804        (WebCore::getFlags):
17805        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
17806        (WebCore::V8DirectoryEntrySync::getFileCallback):
17807        * fileapi/DOMFileSystemBase.cpp:
17808        (WebCore::DOMFileSystemBase::getFile):
17809        (WebCore::DOMFileSystemBase::getDirectory):
17810        * fileapi/DOMFileSystemBase.h:
17811        * fileapi/DirectoryEntry.cpp:
17812        (WebCore::DirectoryEntry::getFile):
17813        (WebCore::DirectoryEntry::getDirectory):
17814        * fileapi/DirectoryEntry.h:
17815        * fileapi/DirectoryEntry.idl:
17816        * fileapi/DirectoryEntrySync.cpp:
17817        (WebCore::DirectoryEntrySync::getFile):
17818        (WebCore::DirectoryEntrySync::getDirectory):
17819        * fileapi/DirectoryEntrySync.h:
17820        * fileapi/DirectoryEntrySync.idl:
17821        * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h.
17822        (WebCore::WebKitFlags::create):
17823        (WebCore::WebKitFlags::isCreate):
17824        (WebCore::WebKitFlags::setCreate):
17825        (WebCore::WebKitFlags::isExclusive):
17826        (WebCore::WebKitFlags::setExclusive):
17827        (WebCore::WebKitFlags::WebKitFlags):
17828        * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl.
17829        * page/DOMWindow.cpp:
17830        (WebCore::DOMWindow::webkitRequestFileSystem):
17831        (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
17832        * page/DOMWindow.h:
17833        * page/DOMWindow.idl:
17834        * workers/WorkerContext.cpp:
17835        (WebCore::WorkerContext::webkitRequestFileSystem):
17836        (WebCore::WorkerContext::webkitRequestFileSystemSync):
17837        (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
17838        (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
17839        * workers/WorkerContext.h:
17840        * workers/WorkerContext.idl:
17841
178422011-04-18  Steve Lacey  <sjl@chromium.org>
17843
17844        Reviewed by Dimitri Glazkov.
17845
17846        Decouple media controls usage from implementation.
17847        This allows each port to implement thier own controls in a different
17848        manner to the default webkit implementation.
17849
17850        Convert media controls hooks to a client interface
17851        https://bugs.webkit.org/show_bug.cgi?id=58346
17852
17853        No new tests as there is no functional change.
17854
17855        * Android.mk:
17856        * CMakeLists.txt:
17857        * GNUmakefile.list.am:
17858        * WebCore.gypi:
17859        * WebCore.pro:
17860        * WebCore.vcproj/WebCore.vcproj:
17861        * WebCore.xcodeproj/project.pbxproj:
17862        * html/HTMLMediaElement.cpp:
17863        (WebCore::HTMLMediaElement::mediaControls):
17864        (WebCore::HTMLMediaElement::ensureMediaControls):
17865        (WebCore::HTMLMediaElement::preDispatchEventHandler):
17866        * html/HTMLMediaElement.h:
17867        * html/shadow/MediaControlElements.cpp:
17868        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
17869        (WebCore::MediaControlPanelMuteButtonElement::create):
17870        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
17871        (WebCore::MediaControlTimelineElement::create):
17872        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
17873        (WebCore::MediaControlFullscreenButtonElement::create):
17874        * html/shadow/MediaControlElements.h:
17875        * html/shadow/MediaControlRootElement.cpp:
17876        (WebCore::MediaControlRootElement::MediaControlRootElement):
17877        (WebCore::MediaControls::create):
17878        * html/shadow/MediaControlRootElement.h:
17879        * html/shadow/MediaControls.cpp: Added.
17880        (WebCore::MediaControls::MediaControls):
17881        * html/shadow/MediaControls.h: Added.
17882        (WebCore::MediaControls::~MediaControls):
17883
178842011-04-18  Pascal Massimino  <pascal.massimino@gmail.com>
17885
17886        Reviewed by Adam Barth.
17887
17888        Add incremental decoding to WebP decoder
17889        https://bugs.webkit.org/show_bug.cgi?id=58851
17890
17891        No new tests, as it's not possible for the layout test framework to
17892        force the decoders to decode incrementally.
17893
17894        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
17895        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
17896        (WebCore::WEBPImageDecoder::decode):
17897        * platform/image-decoders/webp/WEBPImageDecoder.h:
17898
178992011-04-18  Daniel Bates  <dbates@rim.com>
17900
17901        Reviewed by Adam Roben.
17902
17903        With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
17904        pressing-and-holding another mouse button
17905        https://bugs.webkit.org/show_bug.cgi?id=58700
17906
17907        Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
17908        while pressing and holding a mouse button B, where A != B. This issue only affects builds
17909        that enable PAN_SCROLLING.
17910
17911        On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
17912        the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
17913        should only stop the autoscroll timer.
17914
17915        Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
17916
17917        * page/EventHandler.cpp:
17918        (WebCore::EventHandler::handleMousePressEvent):
17919
179202011-04-18  Jon Lee  <jonlee@apple.com>
17921
17922        Reviewed by Maciej Stachowiak.
17923
17924        With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable
17925        https://bugs.webkit.org/show_bug.cgi?id=58617
17926        <rdar://problem/9048012>
17927
17928        * rendering/RenderLayer.cpp:
17929        (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders
17930
179312011-04-18  Jon Lee  <jonlee@apple.com>
17932
17933        Reviewed by Maciej Stachowiak.
17934
17935        Selected item background in list box gets rendered on top of overlay scrollbar knob (58824)
17936        https://bugs.webkit.org/show_bug.cgi?id=58824
17937        <rdar://problem/9292680>
17938
17939        * rendering/RenderListBox.cpp:
17940        (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars
17941
179422011-04-18  John Bauman  <jbauman@chromium.org>
17943
17944        Reviewed by Kenneth Russell.
17945
17946        Don't cast BitmapImageSingleFrameSkia to BitmapImage
17947        https://bugs.webkit.org/show_bug.cgi?id=58821
17948
17949        BitmapImageSingleFrameSkia has isBitmap return true, but
17950        can't be cast to a BitmapImage. Instead of using BitmapImage,
17951        use isOpaque from SkBitmap to determine if the image has alpha.
17952
17953        No new tests.
17954
17955        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
17956        (WebCore::GraphicsContext3D::getImageData):
17957
179582011-04-18  Jessie Berlin  <jberlin@apple.com>
17959
17960        Reviewed by Steve Falkenburg.
17961
17962        If deleting the StorageTracker.db file fails, local storage is left in a strange state.
17963        https://bugs.webkit.org/show_bug.cgi?id=58805
17964
17965        * storage/StorageTracker.cpp:
17966        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
17967        When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin.
17968        deleteOrigin itself must be called to update the data structures that syncDeleteOrigin
17969        depends on and to prevent clashes between a theoretical web page editing local storage
17970        at the same time this method is called.
17971        (WebCore::StorageTracker::syncDeleteAllOrigins):
17972        If it is not possible to delete the StorageTracker.db file, empty it.
17973        (WebCore::StorageTracker::deleteOriginOnMainThread):
17974        Wrapper for deleteOrigin.
17975        * storage/StorageTracker.h:
17976
179772011-04-18  Geoffrey Garen  <ggaren@apple.com>
17978
17979        Build fix.
17980
17981        Added back missing #include.
17982
17983        * bindings/js/DOMWrapperWorld.cpp:
17984
179852011-04-18  Enrica Casucci  <enrica@apple.com>
17986
17987        Reviewed by Maciej Stachowiak.
17988
17989        Dropping a file in a WKView (WebKit2) doesn't load the file.
17990        https://bugs.webkit.org/show_bug.cgi?id=58842
17991        <rdar://problem/8514409>
17992
17993        The URL string for the file contains an extra %00 at the end
17994        that causes the network framework to fail to load the file.
17995
17996        * platform/win/ClipboardUtilitiesWin.cpp:
17997        (WebCore::getURL):
17998
179992011-04-18  Geoffrey Garen  <ggaren@apple.com>
18000
18001        Discovered and rubber-stamped by Stephanie Lewis.
18002
18003        Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990>
18004
18005        * bindings/js/DOMWrapperWorld.cpp:
18006        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
18007        (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our
18008        window shells when clearing / destroying ourselves. r83990 removed this
18009        behavior for documents since there are no per-document maps anymore,
18010        but removing this behavior for window shells too was a typo.
18011
180122011-04-18  Geoffrey Garen  <ggaren@apple.com>
18013
18014        Reviewed by Oliver Hunt.
18015
18016        Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps
18017        https://bugs.webkit.org/show_bug.cgi?id=58828
18018
18019        * WebCore.exp.in: Blah.
18020
18021        * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership
18022        to JSNodeCustom, where other custom JSNode-related code goes.
18023
18024        (WebCore::JSDOMWrapperOwner::finalize):
18025        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
18026        * bindings/js/DOMWrapperWorld.h:
18027        (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner):
18028        (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner
18029        to JSDOMWrapperOwner, to match the name of JSDOMWrapper.
18030
18031        * bindings/js/JSArrayBufferViewHelper.h:
18032        (WebCore::toJSArrayBufferView):
18033        * bindings/js/JSCSSRuleCustom.cpp:
18034        (WebCore::toJS):
18035        * bindings/js/JSCSSValueCustom.cpp:
18036        (WebCore::toJS):
18037        * bindings/js/JSCanvasRenderingContextCustom.cpp:
18038        (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper-
18039        related functions, since there is no meaningful distinction between the
18040        two anymore -- they both use the same extensible interface.
18041
18042        * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions.
18043
18044        * bindings/js/JSDOMBinding.h:
18045        (WebCore::getInlineCachedWrapper):
18046        (WebCore::setInlineCachedWrapper):
18047        (WebCore::clearInlineCachedWrapper):
18048        (WebCore::wrapperOwner):
18049        (WebCore::wrapperContext):
18050        (WebCore::getCachedWrapper):
18051        (WebCore::cacheWrapper):
18052        (WebCore::uncacheWrapper):
18053        (WebCore::createWrapper):
18054        (WebCore::wrap): Created a generic, extensible mechanism for creating,
18055        caching, retrieving, marking, and destroying DOM wrappers. This eliminates
18056        the difference between DOM object wrappers and DOM node wrappers, and
18057        lays the groundwork for getting rid of MarkStack::deprecatedAppend usage
18058        for marking the remainder of our DOM objects.
18059
18060        * bindings/js/JSDOMWindowCustom.cpp:
18061        (WebCore::JSDOMWindow::history):
18062        (WebCore::JSDOMWindow::location):
18063        * bindings/js/JSDataViewCustom.cpp:
18064        (WebCore::toJS):
18065        * bindings/js/JSDocumentCustom.cpp:
18066        (WebCore::JSDocument::location):
18067        (WebCore::toJS):
18068        * bindings/js/JSElementCustom.cpp:
18069        (WebCore::toJSNewlyCreated):
18070        * bindings/js/JSEventCustom.cpp:
18071        (WebCore::toJS):
18072        * bindings/js/JSHTMLCollectionCustom.cpp:
18073        (WebCore::toJS):
18074        * bindings/js/JSImageDataCustom.cpp:
18075        (WebCore::toJS): Updated for renames mentioned above.
18076
18077        * bindings/js/JSNamedNodeMapCustom.cpp:
18078        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
18079        (WebCore::JSNamedNodeMapOwner::finalize):
18080        (WebCore::wrapperOwner):
18081        (WebCore::wrapperContext):
18082        (WebCore::JSNamedNodeMap::markChildren):
18083        (WebCore::toJS): Updated to use our new interface for customizing wrapper
18084        lifetime management through function overloading without using
18085        MarkStack::deprecatedAppend.
18086
18087        * bindings/js/JSNodeCustom.cpp:
18088        (WebCore::isObservable):
18089        (WebCore::isReachableFromDOM):
18090        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
18091        (WebCore::JSNodeOwner::finalize):
18092        (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding
18093        to here. Removed special case marking code for JSNamedNodeMap because
18094        JSNamedNodeMap now knows how to maintain its own lifetime invariants.
18095
18096        * bindings/js/JSNodeCustom.h:
18097        (WebCore::wrapperOwner):
18098        (WebCore::wrapperContext):
18099        (WebCore::getInlineCachedWrapper):
18100        (WebCore::setInlineCachedWrapper):
18101        (WebCore::clearInlineCachedWrapper):
18102        (WebCore::toJS): Updated to use our new interface for customizing wrapper
18103        lifetime management through function overloading without using
18104        MarkStack::deprecatedAppend or special-case code for nodes.
18105
18106        * bindings/js/JSSVGPathSegCustom.cpp:
18107        (WebCore::toJS):
18108        * bindings/js/JSStyleSheetCustom.cpp:
18109        (WebCore::toJS): Updated for renames mentioned above.
18110
18111        * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for
18112        renames mentioned above.
18113
18114        * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now
18115        because it needs to provide a custom WeakHandleOwner at wrapper creation time.
18116
181172011-04-18  Jessie Berlin  <jberlin@apple.com>
18118
18119        Rubber-stamped by Sam Weinig.
18120
18121        REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows.
18122        https://bugs.webkit.org/show_bug.cgi?id=58747
18123
18124        Copy the WebCore Localizable.strings file into the output directory.
18125
18126        * WebCore.vcproj/WebCoreGenerated.vcproj:
18127        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
18128        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
18129        * WebCore.vcproj/copyInspectorFiles.cmd: Removed.
18130        * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd.
18131
181322011-04-18  Robert Hogan  <robert@webkit.org>
18133
18134        Reviewed by Andreas Kling.
18135
18136        [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint
18137
18138        When scheduling a repaint for the plugin's widget, PluginViewQt
18139        needs to make sure the widget's geometry is up to date. Otherwise
18140        the paint event happens on the widget's old location.
18141
18142        https://bugs.webkit.org/show_bug.cgi?id=57179
18143
18144        Added a manual test.
18145
18146        * manual-tests/qt/plugin-painting.html: Added.
18147        * plugins/qt/PluginViewQt.cpp:
18148        (WebCore::PluginView::updatePluginWidget):
18149        (WebCore::PluginView::invalidateRect):
18150
181512011-04-18  Oliver Hunt  <oliver@apple.com>
18152
18153        Fix Qt build
18154
18155        * bridge/qt/qt_class.cpp:
18156        (JSC::Bindings::QtClass::fallbackObject):
18157        * bridge/qt/qt_instance.cpp:
18158        (JSC::Bindings::QtInstance::removeCachedMethod):
18159        * bridge/qt/qt_instance.h:
18160
181612011-04-18  Oliver Hunt  <oliver@apple.com>
18162
18163        Reviewed by Gavin Barraclough.
18164
18165        Remove DeprecatedPtr
18166        https://bugs.webkit.org/show_bug.cgi?id=58718
18167
18168        Replace use of DeprecatedPtr<> with Global<> as ownership rules
18169        aren't obvious, have filed bug #58820 on seeing if this is safe.
18170
18171        * bridge/qt/qt_class.cpp:
18172        (JSC::Bindings::QtClass::fallbackObject):
18173        * bridge/qt/qt_instance.cpp:
18174        (JSC::Bindings::QtInstance::removeCachedMethod):
18175        (JSC::Bindings::QtInstance::markAggregate):
18176        * bridge/qt/qt_instance.h:
18177
181782011-04-14  Matthew Delaney  <mdelaney@apple.com>
18179
18180        Reviewed by Simon Fraser.
18181
18182        [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces
18183        https://bugs.webkit.org/show_bug.cgi?id=58088
18184
18185        * platform/graphics/cg/ImageBufferDataCG.cpp:
18186        (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA
18187        (WebCore::unpremultitplyScanline):
18188        (WebCore::premultitplyScanline):
18189        (WebCore::ImageBufferData::getData):
18190        (WebCore::ImageBufferData::putData):
18191
181922011-04-18  Jeff Miller  <jeffm@apple.com>
18193
18194        Reviewed by Dan Bernstein.
18195
18196        Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable
18197        https://bugs.webkit.org/show_bug.cgi?id=58811
18198
18199        * platform/win/LoggingWin.cpp:
18200        (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable.
18201
182022011-04-18  Andrew Scherkus  <scherkus@chromium.org>
18203
18204        Reviewed by Eric Seidel.
18205
18206        Reset fullscreen element reference when leaving fullscreen mode and some other cleanup.
18207
18208        https://bugs.webkit.org/show_bug.cgi?id=58719
18209
18210        Test: fullscreen/full-screen-cancel.html
18211
18212        * dom/Document.cpp:
18213        (WebCore::Document::Document): Remove m_isFullscreen.
18214        (WebCore::Document::webkitWillEnterFullScreenForElement):
18215        (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating().
18216        (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference.
18217        * dom/Document.h:
18218        (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen.
18219        (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto.
18220
182212011-04-18  Dan Bernstein  <mitz@apple.com>
18222
18223        Reviewed by Eric Seidel.
18224
18225        <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse.
18226        https://bugs.webkit.org/show_bug.cgi?id=58500
18227
18228        Test: fast/repaint/text-in-relative-positioned-inline.html
18229
18230        * rendering/RenderText.cpp:
18231        (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not
18232        the containing block’s. This matters when the containing block is outside the RenderText’s
18233        enclosing layer, as is the case here.
18234
182352011-04-15  Stephen White  <senorblanco@chromium.org>
18236
18237        Reviewed by Kenneth Russell.
18238
18239        Speed up DrawingBuffer::reset().
18240        https://bugs.webkit.org/show_bug.cgi?id=58706
18241
18242        When DrawingBuffer::reset() is called, it should not reallocate
18243        the FBOs if the size has not changed.  It should just do a glClear().
18244
18245        Covered by tests in fast/canvas and canvas/philip.
18246
18247        * platform/graphics/chromium/DrawingBufferChromium.cpp:
18248        (WebCore::DrawingBuffer::DrawingBuffer):
18249        Initialize the size to -1, -1, so the size change check will work on
18250        first reset.
18251        * platform/graphics/gpu/DrawingBuffer.cpp:
18252        (WebCore::DrawingBuffer::reset):
18253        If the size hasn't changed, don't resize the FBOs.  Just clear the
18254        relevant buffers.
18255
182562011-04-18  Pavel Feldman  <pfeldman@google.com>
18257
18258        Reviewed by Yury Semikhatsky.
18259
18260        Web Inspector: group resources by type in the resources panel.
18261        https://bugs.webkit.org/show_bug.cgi?id=58796
18262
18263        * inspector/front-end/ResourcesPanel.js:
18264        (WebInspector.ResourcesPanel.prototype._frameAdded):
18265        (WebInspector.ResourcesPanel.prototype._resourceAdded):
18266        (WebInspector.BaseStorageTreeElement):
18267        (WebInspector.BaseStorageTreeElement.prototype.onattach):
18268        (WebInspector.StorageCategoryTreeElement):
18269        (WebInspector.FrameTreeElement):
18270        (WebInspector.FrameTreeElement.prototype.setTitles):
18271        (WebInspector.FrameTreeElement.prototype.set hovered):
18272        (WebInspector.FrameTreeElement.prototype.appendResource):
18273        (WebInspector.FrameTreeElement.prototype.appendChild):
18274        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
18275        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare):
18276
182772011-04-18  Timothy Hatcher  <timothy@apple.com>
18278
18279        Make update-webkit-localizable-strings put WebKit/win strings in WebCore
18280        now that all localized strings in WebKit/win use WEB_UI_STRING.
18281
18282        https://webkit.org/b/58747
18283
18284        Reviewed by Dan Bernstein.
18285
18286        * English.lproj/Localizable.strings: Updated with strings from WebKit/win.
18287
182882011-04-15  MORITA Hajime  <morrita@google.com>
18289
18290        Reviewed by Adam Barth.
18291
18292        REGRESSION: <progress> doesn't animate if it doesn't have value
18293        https://bugs.webkit.org/show_bug.cgi?id=58693
18294
18295        The initial value of RenderProgress::m_position is accidentally same as
18296        the indeterminate value, that makes update code on updateFromElement() skipped.
18297        This change set unique invalid value for the initial value of m_position.
18298
18299        No new tests. Testing animated bar is not possible with DRT.
18300
18301        * html/HTMLProgressElement.cpp:
18302        (WebCore::HTMLProgressElement::position):
18303        * html/HTMLProgressElement.h:
18304        * rendering/RenderProgress.cpp:
18305        (WebCore::RenderProgress::RenderProgress):
18306        (WebCore::RenderProgress::isDeterminate):
18307
183082011-04-18  MORITA Hajime  <morrita@google.com>
18309
18310        Reviewed by Eric Seidel.
18311
18312        REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
18313        https://bugs.webkit.org/show_bug.cgi?id=58791
18314
18315        On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
18316        We should guard it again RefPtr.
18317
18318        * html/HTMLDetailsElement.cpp:
18319        (WebCore::HTMLDetailsElement::refreshMainSummary):
18320
183212011-04-18  Antti Koivisto  <antti@apple.com>
18322
18323        Reviewed by Simon Fraser.
18324
18325        CSSSelector double frees
18326        https://bugs.webkit.org/show_bug.cgi?id=56124
18327        <rdar://problem/9119036>
18328
18329        In all stacks this is occuring when the document is kept alive by the guard ref only
18330        and the node holding it is deleted.
18331
18332        As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
18333        This has a pretty good chance of fixing the actual bug. At minimum it will move the
18334        crash to an earlier, more easily traceble point.
18335
18336        No tests, crash stacks only, no idea how to reproduce.
18337
18338        * dom/Document.cpp:
18339        (WebCore::Document::removedLastRef):
18340
183412011-04-18  Alexander Pavlov  <apavlov@chromium.org>
18342
18343        Reviewed by Yury Semikhatsky.
18344
18345        Web Inspector: Backspace in the Console is broken
18346        https://bugs.webkit.org/show_bug.cgi?id=58764
18347
18348        * inspector/front-end/inspector.js:
18349        (WebInspector.documentKeyDown):
18350
183512011-04-18  Hans Wennborg  <hans@chromium.org>
18352
18353        Reviewed by Steve Block.
18354
18355        LevelDB backend for IndexedDB
18356        https://bugs.webkit.org/show_bug.cgi?id=57372
18357
18358        Only available behind a run-time flag. Covered by existing layout
18359        tests.
18360
18361        * Android.mk:
18362        * CMakeLists.txt:
18363        * GNUmakefile.am:
18364        * GNUmakefile.list.am:
18365        * WebCore.gyp/WebCore.gyp:
18366        * WebCore.gypi:
18367        * WebCore.pri:
18368        * WebCore.pro:
18369        * WebCore.xcodeproj/project.pbxproj:
18370        * platform/leveldb/LevelDBComparator.h: Added.
18371        (WebCore::LevelDBComparator::~LevelDBComparator):
18372        * platform/leveldb/LevelDBDatabase.cpp: Added.
18373        (WebCore::makeSlice):
18374        (WebCore::makeLevelDBSlice):
18375        (WebCore::makeVector):
18376        (WebCore::LevelDBDatabase::LevelDBDatabase):
18377        (WebCore::LevelDBDatabase::~LevelDBDatabase):
18378        (WebCore::LevelDBDatabase::open):
18379        (WebCore::LevelDBDatabase::put):
18380        (WebCore::LevelDBDatabase::remove):
18381        (WebCore::LevelDBDatabase::get):
18382        (WebCore::LevelDBDatabase::newIterator):
18383        * platform/leveldb/LevelDBDatabase.h: Added.
18384        * platform/leveldb/LevelDBIterator.cpp: Added.
18385        (WebCore::LevelDBIterator::~LevelDBIterator):
18386        (WebCore::LevelDBIterator::LevelDBIterator):
18387        (WebCore::makeSlice):
18388        (WebCore::makeLevelDBSlice):
18389        (WebCore::LevelDBIterator::isValid):
18390        (WebCore::LevelDBIterator::seekToLast):
18391        (WebCore::LevelDBIterator::seek):
18392        (WebCore::LevelDBIterator::next):
18393        (WebCore::LevelDBIterator::prev):
18394        (WebCore::LevelDBIterator::key):
18395        (WebCore::LevelDBIterator::value):
18396        * platform/leveldb/LevelDBIterator.h: Added.
18397        * platform/leveldb/LevelDBSlice.h: Added.
18398        (WebCore::LevelDBSlice::LevelDBSlice):
18399        (WebCore::LevelDBSlice::~LevelDBSlice):
18400        (WebCore::LevelDBSlice::begin):
18401        (WebCore::LevelDBSlice::end):
18402        * storage/IDBLevelDBBackingStore.cpp:
18403        (WebCore::encodeByte):
18404        (WebCore::maxIDBKey):
18405        (WebCore::minIDBKey):
18406        (WebCore::encodeInt):
18407        (WebCore::decodeInt):
18408        (WebCore::encodeVarInt):
18409        (WebCore::decodeVarInt):
18410        (WebCore::encodeString):
18411        (WebCore::decodeString):
18412        (WebCore::encodeStringWithLength):
18413        (WebCore::decodeStringWithLength):
18414        (WebCore::encodeDouble):
18415        (WebCore::decodeDouble):
18416        (WebCore::encodeIDBKey):
18417        (WebCore::decodeIDBKey):
18418        (WebCore::extractEncodedIDBKey):
18419        (WebCore::compareEncodedIDBKeys):
18420        (WebCore::getInt):
18421        (WebCore::putInt):
18422        (WebCore::getString):
18423        (WebCore::putString):
18424        (WebCore::KeyPrefix::SchemaVersionKey::encode):
18425        (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
18426        (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
18427        (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
18428        (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
18429        (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
18430        (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
18431        (WebCore::KeyPrefix::DatabaseNameKey::decode):
18432        (WebCore::KeyPrefix::DatabaseNameKey::encode):
18433        (WebCore::KeyPrefix::DatabaseNameKey::origin):
18434        (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
18435        (WebCore::KeyPrefix::DatabaseNameKey::compare):
18436        (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
18437        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
18438        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
18439        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
18440        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
18441        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
18442        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
18443        (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
18444        (WebCore::KeyPrefix::IndexMetaDataKey::decode):
18445        (WebCore::KeyPrefix::IndexMetaDataKey::encode):
18446        (WebCore::KeyPrefix::IndexMetaDataKey::compare):
18447        (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
18448        (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
18449        (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
18450        (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
18451        (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
18452        (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
18453        (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
18454        (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
18455        (WebCore::KeyPrefix::IndexFreeListKey::decode):
18456        (WebCore::KeyPrefix::IndexFreeListKey::encode):
18457        (WebCore::KeyPrefix::IndexFreeListKey::compare):
18458        (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
18459        (WebCore::KeyPrefix::IndexFreeListKey::indexId):
18460        (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
18461        (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
18462        (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
18463        (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
18464        (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
18465        (WebCore::KeyPrefix::IndexNamesKey::decode):
18466        (WebCore::KeyPrefix::IndexNamesKey::encode):
18467        (WebCore::KeyPrefix::IndexNamesKey::compare):
18468        (WebCore::KeyPrefix::IndexNamesKey::indexName):
18469        (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
18470        (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
18471        (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
18472        (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
18473        (WebCore::KeyPrefix::ExistsEntryKey::decode):
18474        (WebCore::KeyPrefix::ExistsEntryKey::encode):
18475        (WebCore::KeyPrefix::ExistsEntryKey::compare):
18476        (WebCore::KeyPrefix::ExistsEntryKey::userKey):
18477        (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
18478        (WebCore::KeyPrefix::IndexDataKey::decode):
18479        (WebCore::KeyPrefix::IndexDataKey::encode):
18480        (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
18481        (WebCore::KeyPrefix::IndexDataKey::compare):
18482        (WebCore::KeyPrefix::IndexDataKey::databaseId):
18483        (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
18484        (WebCore::KeyPrefix::IndexDataKey::indexId):
18485        (WebCore::KeyPrefix::IndexDataKey::userKey):
18486        (WebCore::KeyPrefix::realCompare):
18487        (WebCore::KeyPrefix::compareKeys):
18488        (WebCore::KeyPrefix::compareIndexKeys):
18489        (WebCore::KeyPrefix::Comparator::compare):
18490        (WebCore::KeyPrefix::Comparator::name):
18491        (WebCore::setUpMetadata):
18492        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
18493        (WebCore::IDBLevelDBBackingStore::open):
18494        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
18495        (WebCore::getNewDatabaseId):
18496        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
18497        (WebCore::IDBLevelDBBackingStore::getObjectStores):
18498        (WebCore::getNewObjectStoreId):
18499        (WebCore::IDBLevelDBBackingStore::createObjectStore):
18500        (WebCore::deleteRange):
18501        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
18502        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
18503        (WebCore::getNewVersionNumber):
18504        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
18505        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
18506        (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
18507        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
18508        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
18509        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
18510        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
18511        (WebCore::IDBLevelDBBackingStore::getIndexes):
18512        (WebCore::getNewIndexId):
18513        (WebCore::IDBLevelDBBackingStore::createIndex):
18514        (WebCore::IDBLevelDBBackingStore::deleteIndex):
18515        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
18516        (WebCore::findGreatestKeyLessThan):
18517        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
18518        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
18519        (WebCore::versionExists):
18520        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
18521        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
18522        (WebCore::findLastIndexKeyEqualTo):
18523        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
18524        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
18525        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
18526        (WebCore::IDBLevelDBBackingStore::createTransaction):
18527        * storage/IDBLevelDBBackingStore.h:
18528
185292011-04-18  Pavel Feldman  <pfeldman@google.com>
18530
18531        Reviewed by Yury Semikhatsky.
18532
18533        Web Inspector: add test for CSS-resource binding.
18534        https://bugs.webkit.org/show_bug.cgi?id=58786
18535
18536        Test: inspector/styles/styles-history.html
18537
18538        * inspector/InspectorCSSAgent.cpp:
18539        (WebCore::InspectorCSSAgent::setPropertyText):
18540        (WebCore::InspectorCSSAgent::toggleProperty):
18541        * inspector/InspectorStyleSheet.cpp:
18542        (WebCore::InspectorStyle::setPropertyText):
18543        (WebCore::InspectorStyle::toggleProperty):
18544        (WebCore::InspectorStyleSheet::setPropertyText):
18545        (WebCore::InspectorStyleSheet::toggleProperty):
18546        * inspector/InspectorStyleSheet.h:
18547        * inspector/front-end/CSSStyleModel.js:
18548        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
18549        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
18550        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
18551        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
18552        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
18553        (WebInspector.CSSProperty.prototype.setText.callback):
18554        (WebInspector.CSSProperty.prototype.setText):
18555
185562011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18557
18558        Unreviewed, rolling out r83996.
18559        http://trac.webkit.org/changeset/83996
18560        https://bugs.webkit.org/show_bug.cgi?id=58790
18561
18562        layout test editing/selection/move-by-word-visually.html is
18563        failing (Requested by jknotten on #webkit).
18564
18565        * editing/visible_units.cpp:
18566        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
18567        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
18568        (WebCore::previousWordBreakInBox):
18569        (WebCore::leftWordBoundary):
18570        (WebCore::rightWordBoundary):
18571        (WebCore::leftWordPosition):
18572        (WebCore::rightWordPosition):
18573
185742011-04-18  Adam Bergkvist  <adam.bergkvist@ericsson.com>
18575
18576        Reviewed by Daniel Bates.
18577
18578        Modify make_names.pl to not include conditional includes unconditionally
18579        https://bugs.webkit.org/show_bug.cgi?id=53672
18580
18581        Fixed conditional includes being unconditionally included.
18582
18583        No new tests (no change in functionality)
18584
18585        * dom/make_names.pl:
18586            - Modified printJSElementIncludes() to only print unconditional element includes.
18587            - Modified printElementIncludes() to only print unconditional element includes.
18588            - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
18589
185902011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18591
18592        Unreviewed, rolling out r83803.
18593        http://trac.webkit.org/changeset/83803
18594        https://bugs.webkit.org/show_bug.cgi?id=58782
18595
18596        Caused focus rings to appear in youtube videos (Requested by
18597        inferno-sec on #webkit).
18598
18599        * rendering/RenderWidget.cpp:
18600        (WebCore::RenderWidget::paint):
18601
186022011-04-18  Alexander Pavlov  <apavlov@chromium.org>
18603
18604        Reviewed by Pavel Feldman.
18605
18606        Web Inspector: Need a workaround for bug 58422
18607        https://bugs.webkit.org/show_bug.cgi?id=58780
18608
18609        Instead of the A:before content, the link text is displayed as the A tag content.
18610
18611        * inspector/front-end/StylesSidebarPane.js:
18612        (WebInspector.StylePropertiesSection.linkifyUncopyable):
18613        (WebInspector.StylePropertiesSection):
18614        * inspector/front-end/inspector.css:
18615
186162011-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
18617
18618        Unreviewed. Fix WebKit2 GTK build after 82465.
18619
18620        * platform/gtk/LocalizedStringsGtk.cpp:
18621        (WebCore::localizedString):
18622
186232011-04-18  Andrey Adaikin  <aandrey@google.com>
18624
18625        Reviewed by Yury Semikhatsky.
18626
18627        Web Inspector: TAB should not move focus from the text editor while live editing
18628        https://bugs.webkit.org/show_bug.cgi?id=58537
18629
18630        * inspector/front-end/TextViewer.js:
18631        (WebInspector.TextViewer.prototype._registerShortcuts):
18632        (WebInspector.TextViewer.prototype._cancelEditing):
18633        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
18634        (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
18635        (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
18636        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
18637        (WebInspector.TextEditorMainPanel.prototype._setText):
18638
186392011-04-18  Alexander Pavlov  <apavlov@chromium.org>
18640
18641        Reviewed by Yury Semikhatsky.
18642
18643        Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
18644        https://bugs.webkit.org/show_bug.cgi?id=58551
18645
18646        Test: inspector/styles/metrics-box-sizing.html
18647
18648        * inspector/front-end/MetricsSidebarPane.js:
18649        (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
18650        (WebInspector.MetricsSidebarPane.prototype._getBox):
18651        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
18652        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
18653        (WebInspector.MetricsSidebarPane.prototype._update):
18654        (WebInspector.MetricsSidebarPane.prototype.startEditing):
18655        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
18656        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
18657
186582011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
18659
18660        Reviewed by Yury Semikhatsky.
18661
18662        Web Inspector: Database agent stops to propagate it's events after navigation.
18663        https://bugs.webkit.org/show_bug.cgi?id=58776
18664
18665        * inspector/InspectorAgent.cpp:
18666        (WebCore::InspectorAgent::InspectorAgent):
18667        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
18668        * inspector/InspectorDatabaseAgent.cpp:
18669        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
18670        (WebCore::InspectorDatabaseAgent::clearFrontend):
18671        (WebCore::InspectorDatabaseAgent::enable):
18672        (WebCore::InspectorDatabaseAgent::disable):
18673        (WebCore::InspectorDatabaseAgent::restore):
18674        * inspector/InspectorDatabaseAgent.h:
18675        (WebCore::InspectorDatabaseAgent::create):
18676
186772011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18678
18679        Unreviewed, rolling out r83968.
18680        http://trac.webkit.org/changeset/83968
18681        https://bugs.webkit.org/show_bug.cgi?id=58769
18682
18683        Breaks Backspace in Web Inspector console (Requested by
18684        apavlov on #webkit).
18685
18686        * inspector/front-end/inspector.js:
18687        (WebInspector.documentKeyDown):
18688
186892011-04-15  Yury Semikhatsky  <yurys@chromium.org>
18690
18691        Reviewed by Pavel Feldman.
18692
18693        Web Inspector: introduce WorkerInspectorController
18694        https://bugs.webkit.org/show_bug.cgi?id=58668
18695
18696        WorkerInspectorController will be owned by WorkerContext and will hold all inspector
18697        agents and will also manage connection to the inspector frontend.
18698
18699        * CMakeLists.txt:
18700        * GNUmakefile.list.am:
18701        * WebCore.gypi:
18702        * WebCore.pro:
18703        * WebCore.vcproj/WebCore.vcproj:
18704        * WebCore.xcodeproj/project.pbxproj:
18705        * bindings/js/ScriptState.cpp:
18706        (WebCore::scriptStateFromWorkerContext):
18707        * bindings/js/ScriptState.h:
18708        * bindings/v8/ScriptState.cpp:
18709        (WebCore::scriptStateFromWorkerContext):
18710        * bindings/v8/ScriptState.h:
18711        * inspector/InspectorState.cpp:
18712        (WebCore::InspectorState::updateCookie):
18713        * inspector/WorkerInspectorController.cpp: Added.
18714        (WebCore::WorkerInspectorController::WorkerInspectorController):
18715        (WebCore::WorkerInspectorController::~WorkerInspectorController):
18716        (WebCore::WorkerInspectorController::connectFrontend):
18717        (WebCore::WorkerInspectorController::disconnectFrontend):
18718        (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
18719        * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
18720        * workers/WorkerContext.cpp:
18721        (WebCore::WorkerContext::WorkerContext):
18722        * workers/WorkerContext.h:
18723        (WebCore::WorkerContext::workerInspectorController):
18724
187252011-04-17  Thierry Reding  <thierry.reding@avionic-design.de>
18726
18727        Reviewed by Adam Barth.
18728
18729        Fix build with GCC 4.6.
18730
18731        * dom/make_names.pl: Execute preprocessor without the -P option. The
18732        preprocessor in GCC 4.6 eats empty lines, effectively breaking the
18733        parsing performed by this script. Dropping the -P option when invoking
18734        the preprocessor keeps the empty lines but as a side-effect also adds
18735        additional linemarkers.
18736
18737        From the cpp manpage:
18738
18739          -P  Inhibit generation of linemarkers in the output from the
18740              preprocessor. This might be useful when running the preprocessor
18741              on something that is not C code, and will be sent to a program
18742              which might be confused by the linemarkers.
18743
18744        The linemarkers are not problematic, however, because the script
18745        properly handles them by ignoring all lines starting with a #.
18746
187472011-04-17  David Kilzer  <ddkilzer@apple.com>
18748
18749        <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
18750        <rdar://problem/9268729>
18751
18752        Reviewed by Dan Bernstein.
18753
18754        This replaces support for the WebKitEnableHTTPPipelining user
18755        default with methods on the WebCore::ResourceRequest class in
18756        WebCore, the WebView class in WebKit1, and the WebContext class
18757        in WebKit2.  It also removes support for the
18758        WebKitForceHTTPPipeliningPriorityHigh user default which was not
18759        needed.
18760
18761        Run these commands if you set the user defaults previously,
18762        replacing "BUNDLE.ID" with your application's bundle ID:
18763
18764            defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
18765            defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
18766
18767        * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
18768        and ResourceRequest::setHTTPPipeliningEnabled().
18769
18770        * platform/network/ResourceRequestBase.h:
18771        (WebCore::isHTTPPipeliningEnabled): Removed declaration.
18772        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
18773
18774        * platform/network/cf/ResourceRequest.h:
18775        (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
18776        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
18777        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
18778
18779        * platform/network/cf/ResourceRequestCFNet.cpp:
18780        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
18781        (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
18782        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
18783        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
18784        to use ResourceRequest::httpPipeliningEnabled().
18785        (WebCore::readBooleanPreference): Removed.
18786        (WebCore::isHTTPPipeliningEnabled): Removed.
18787        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
18788
18789        * platform/network/mac/ResourceRequestMac.mm:
18790        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
18791        use ResourceRequest::httpPipeliningEnabled().  Removed check for
18792        shouldForceHTTPPipeliningPriorityHigh().
18793        (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
18794
187952011-04-17  Dan Bernstein  <mitz@apple.com>
18796
18797        Reviewed by Maciej Stachowiak.
18798
18799        REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
18800        https://bugs.webkit.org/show_bug.cgi?id=58736
18801
18802        * rendering/RenderBlockLineLayout.cpp:
18803        (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
18804        that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
18805        always dirties the line after the last one in the range.
18806
188072011-04-17  Patrick Gansterer  <paroga@webkit.org>
18808
18809        Unreviewed. Add missing include to fix build without precompiled header.
18810
18811        * rendering/RenderMediaControls.cpp:
18812
188132011-04-17  Daniel Bates  <dbates@webkit.org>
18814
18815        Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
18816        (https://bugs.webkit.org/show_bug.cgi?id=57842).
18817
18818        * loader/cache/CachedResourceLoader.cpp:
18819        (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
18820
188212011-04-17  Patrick Gansterer  <paroga@webkit.org>
18822
18823        Reviewed by Eric Seidel.
18824
18825        Remove pthread dependency of GCController
18826        https://bugs.webkit.org/show_bug.cgi?id=54833
18827
18828        * bindings/js/GCController.cpp:
18829        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
18830
188312011-04-17  Gavin Peters  <gavinp@chromium.org>
18832
18833        Reviewed by Adam Barth.
18834
18835        Add support for link rel type "subresource"
18836        https://bugs.webkit.org/show_bug.cgi?id=57842
18837
18838        Link rel=prefetch is great for cache warming for resources on
18839        subsequent pages, but it launches requests at too low a priority
18840        to use for subresources of the current page.
18841
18842        Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
18843        is implemented, a rel type that launches requests at an higher
18844        priority is going to be very useful.  This rel type is in the
18845        HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions .  An
18846        expected use case will be for servers to provide subresource hints
18847        in link headers, which will allow servers to help make the web
18848        faster.
18849
18850        This feature continues my implementation of the Link header, which
18851        we've talked about in WebKit-dev in
18852        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
18853
18854        Tests: fast/dom/HTMLLinkElement/subresource.html
18855               http/tests/misc/link-rel-prefetch-and-subresource.html
18856
18857        * html/HTMLLinkElement.cpp:
18858        (WebCore::HTMLLinkElement::~HTMLLinkElement):
18859        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18860        (WebCore::HTMLLinkElement::process):
18861        (WebCore::HTMLLinkElement::onloadTimerFired):
18862        (WebCore::HTMLLinkElement::notifyFinished):
18863        * html/HTMLLinkElement.h:
18864        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
18865        * loader/cache/CachedResource.cpp:
18866        (WebCore::defaultPriorityForResourceType):
18867        * loader/cache/CachedResource.h:
18868        (WebCore::CachedResource::isLinkResource):
18869        * loader/cache/CachedResourceLoader.cpp:
18870        (WebCore::createResource):
18871        (WebCore::CachedResourceLoader::requestLinkResource):
18872        (WebCore::CachedResourceLoader::canRequest):
18873        (WebCore::CachedResourceLoader::incrementRequestCount):
18874        (WebCore::CachedResourceLoader::decrementRequestCount):
18875        * loader/cache/CachedResourceLoader.h:
18876        * loader/cache/CachedResourceRequest.cpp:
18877        (WebCore::cachedResourceTypeToTargetType):
18878        (WebCore::CachedResourceRequest::load):
18879
188802011-04-17  Dan Bernstein  <mitz@apple.com>
18881
18882        Reviewed by Joseph Pecoraro.
18883
18884        <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
18885        https://bugs.webkit.org/show_bug.cgi?id=58745
18886
18887        This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
18888        which was fixed in r83514.
18889
18890        * rendering/RenderBlockLineLayout.cpp:
18891        (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
18892        variable so named, not the top layout overflow.
18893
188942011-04-17  Geoffrey Garen  <ggaren@apple.com>
18895
18896        Strongly suggested, but not necessarily reviewed, by
18897        Sam Weinig and Maciej Stachowiak.
18898
18899        Renamed DOMObject* => JSDOMWrapper*.
18900
18901        * bindings/js/DOMWrapperWorld.cpp:
18902        (WebCore::isObservable):
18903        (WebCore::DOMObjectHandleOwner::finalize):
18904        * bindings/js/DOMWrapperWorld.h:
18905        * bindings/js/JSArrayBufferViewHelper.h:
18906        (WebCore::toJSArrayBufferView):
18907        * bindings/js/JSCSSRuleCustom.cpp:
18908        (WebCore::toJS):
18909        * bindings/js/JSCSSValueCustom.cpp:
18910        (WebCore::toJS):
18911        * bindings/js/JSDOMBinding.h:
18912        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
18913        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
18914        (WebCore::DOMConstructorObject::DOMConstructorObject):
18915        (WebCore::createDOMObjectWrapper):
18916        (WebCore::getDOMObjectWrapper):
18917        * bindings/js/JSDOMWrapper.cpp:
18918        (WebCore::JSDOMWrapper::~JSDOMWrapper):
18919        * bindings/js/JSDOMWrapper.h:
18920        (WebCore::JSDOMWrapper::JSDOMWrapper):
18921        * bindings/js/JSDocumentCustom.cpp:
18922        (WebCore::JSDocument::location):
18923        (WebCore::toJS):
18924        * bindings/js/JSEventCustom.cpp:
18925        (WebCore::toJS):
18926        * bindings/js/JSHTMLCollectionCustom.cpp:
18927        (WebCore::toJS):
18928        * bindings/js/JSImageDataCustom.cpp:
18929        (WebCore::toJS):
18930        * bindings/js/JSSVGPathSegCustom.cpp:
18931        (WebCore::toJS):
18932        * bindings/js/JSStyleSheetCustom.cpp:
18933        (WebCore::toJS):
18934        * bindings/js/ScriptWrappable.h:
18935        (WebCore::ScriptWrappable::wrapper):
18936        (WebCore::ScriptWrappable::setWrapper):
18937        * bindings/scripts/CodeGeneratorJS.pm:
18938
189392011-04-17  Patrick Gansterer  <paroga@webkit.org>
18940
18941        Reviewed by Adam Barth.
18942
18943        Rename PLATFORM(CA) to USE(CA)
18944        https://bugs.webkit.org/show_bug.cgi?id=58742
18945
18946        * config.h:
18947        * platform/graphics/ca/TransformationMatrixCA.cpp:
18948        * platform/graphics/cg/ImageBufferDataCG.h:
18949        * platform/graphics/transforms/TransformationMatrix.h:
18950        * platform/mac/WebCoreSystemInterface.h:
18951        * rendering/RenderLayerBacking.cpp:
18952        (WebCore::RenderLayerBacking::containsPaintedContent):
18953        * rendering/RenderLayerCompositor.cpp:
18954        (WebCore::RenderLayerCompositor::updateBacking):
18955
189562011-04-17  Young Han Lee  <joybro@company100.net>
18957
18958        Reviewed by Benjamin Poulain.
18959
18960        [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
18961        https://bugs.webkit.org/show_bug.cgi?id=58739
18962
18963        gInVertexAttributeIndex is a constant variable to point the location of
18964        "InVertex" attribute of the vertex shaders.
18965
18966        * platform/graphics/opengl/TextureMapperGL.cpp:
18967        (WebCore::TextureMapperGL::drawTexture):
18968        (WebCore::TextureMapperGL::paintToTarget):
18969
189702011-04-17  Kinuko Yasuda  <kinuko@chromium.org>
18971
18972        Not reviewed: Fix copyright (I had submitted the file with wrong
18973        copyright line).
18974
18975        * storage/StorageInfo.idl:
18976
189772011-04-17  Patrick Gansterer  <paroga@webkit.org>
18978
18979        Reviewed by Adam Barth.
18980
18981        Rename PLATFORM(CG) to USE(CG)
18982        https://bugs.webkit.org/show_bug.cgi?id=58729
18983
18984        * config.h:
18985        * html/HTMLCanvasElement.cpp:
18986        (WebCore::HTMLCanvasElement::toDataURL):
18987        * html/HTMLCanvasElement.h:
18988        * html/canvas/CanvasRenderingContext2D.cpp:
18989        (WebCore::CanvasRenderingContext2D::setShadow):
18990        (WebCore::CanvasRenderingContext2D::drawTextInternal):
18991        * html/canvas/CanvasRenderingContext2D.h:
18992        * html/canvas/CanvasStyle.cpp:
18993        (WebCore::CanvasStyle::applyStrokeColor):
18994        (WebCore::CanvasStyle::applyFillColor):
18995        * loader/cache/CachedFont.cpp:
18996        * loader/cache/CachedImage.cpp:
18997        (WebCore::CachedImage::createImage):
18998        * platform/FloatConversion.h:
18999        * platform/MIMETypeRegistry.cpp:
19000        (WebCore::initializeSupportedImageMIMETypes):
19001        (WebCore::initializeSupportedImageMIMETypesForEncoding):
19002        * platform/graphics/BitmapImage.h:
19003        * platform/graphics/Color.h:
19004        * platform/graphics/DashArray.h:
19005        * platform/graphics/FloatPoint.h:
19006        * platform/graphics/FloatRect.h:
19007        * platform/graphics/FloatSize.h:
19008        * platform/graphics/FontPlatformData.h:
19009        (WebCore::FontPlatformData::FontPlatformData):
19010        (WebCore::FontPlatformData::hash):
19011        * platform/graphics/GlyphBuffer.h:
19012        (WebCore::GlyphBuffer::advanceAt):
19013        (WebCore::GlyphBuffer::add):
19014        (WebCore::GlyphBuffer::expandLastAdvance):
19015        * platform/graphics/Gradient.h:
19016        * platform/graphics/GraphicsContext.cpp:
19017        (WebCore::GraphicsContext::setLegacyShadow):
19018        * platform/graphics/GraphicsContext.h:
19019        (WebCore::GraphicsContextState::GraphicsContextState):
19020        * platform/graphics/GraphicsContext3D.h:
19021        * platform/graphics/Image.cpp:
19022        * platform/graphics/Image.h:
19023        * platform/graphics/ImageBuffer.cpp:
19024        * platform/graphics/ImageBuffer.h:
19025        * platform/graphics/ImageBufferData.h:
19026        * platform/graphics/ImageSource.h:
19027        * platform/graphics/IntPoint.h:
19028        * platform/graphics/IntRect.h:
19029        * platform/graphics/IntSize.h:
19030        * platform/graphics/Path.h:
19031        * platform/graphics/Pattern.h:
19032        * platform/graphics/SimpleFontData.h:
19033        * platform/graphics/cg/ColorCG.cpp:
19034        * platform/graphics/cg/FloatPointCG.cpp:
19035        * platform/graphics/cg/FloatRectCG.cpp:
19036        * platform/graphics/cg/FloatSizeCG.cpp:
19037        * platform/graphics/cg/ImageCG.cpp:
19038        * platform/graphics/cg/ImageSourceCG.cpp:
19039        * platform/graphics/cg/IntPointCG.cpp:
19040        * platform/graphics/cg/IntRectCG.cpp:
19041        * platform/graphics/cg/IntSizeCG.cpp:
19042        * platform/graphics/cg/PDFDocumentImage.cpp:
19043        * platform/graphics/cg/PDFDocumentImage.h:
19044        * platform/graphics/cg/PathCG.cpp:
19045        * platform/graphics/cg/TransformationMatrixCG.cpp:
19046        * platform/graphics/chromium/ImageLayerChromium.h:
19047        * platform/graphics/chromium/LayerRendererChromium.cpp:
19048        * platform/graphics/chromium/LayerRendererChromium.h:
19049        * platform/graphics/chromium/PlatformCanvas.cpp:
19050        (WebCore::PlatformCanvas::resize):
19051        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
19052        (WebCore::PlatformCanvas::Painter::Painter):
19053        * platform/graphics/chromium/PlatformCanvas.h:
19054        * platform/graphics/chromium/PlatformImage.cpp:
19055        (WebCore::PlatformImage::updateFromImage):
19056        * platform/graphics/opentype/OpenTypeUtilities.cpp:
19057        * platform/graphics/transforms/AffineTransform.h:
19058        * platform/graphics/transforms/TransformationMatrix.h:
19059        * platform/graphics/win/DIBPixelData.h:
19060        * platform/graphics/win/FontCacheWin.cpp:
19061        (WebCore::FontCache::platformInit):
19062        (WebCore::createGDIFont):
19063        (WebCore::FontCache::createFontPlatformData):
19064        * platform/graphics/win/FontPlatformDataWin.cpp:
19065        (WebCore::FontPlatformData::FontPlatformData):
19066        * platform/graphics/win/GraphicsContextWin.cpp:
19067        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
19068        * platform/graphics/win/SimpleFontDataWin.cpp:
19069        * platform/image-decoders/ImageDecoder.cpp:
19070        * platform/image-decoders/ImageDecoder.h:
19071        * rendering/RenderObject.h:
19072        * rendering/svg/RenderSVGResourceFilter.cpp:
19073        (WebCore::RenderSVGResourceFilter::postApplyResource):
19074        * rendering/svg/RenderSVGResourceGradient.cpp:
19075        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
19076        (WebCore::RenderSVGResourceGradient::applyResource):
19077        * rendering/svg/RenderSVGResourceGradient.h:
19078        * rendering/svg/RenderSVGResourceMasker.cpp:
19079        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
19080        * rendering/svg/RenderSVGResourcePattern.cpp:
19081        (WebCore::RenderSVGResourcePattern::applyResource):
19082
190832011-04-16  Adam Barth  <abarth@webkit.org>
19084
19085        Reviewed by Sam Weinig.
19086
19087        about:blank documents in new tabs can XHR anywhere
19088        https://bugs.webkit.org/show_bug.cgi?id=58712
19089
19090        Empty security origins have supposed to be low-privilege, we should
19091        mark them as having a unique origin.
19092
19093        * manual-tests/about-blank-xhr.html: Added.
19094        * page/SecurityOrigin.cpp:
19095        (WebCore::SecurityOrigin::SecurityOrigin):
19096        * page/SecurityOrigin.h:
19097
190982011-04-16  Dan Bernstein  <mitz@apple.com>
19099
19100        Reviewed by Simon Fraser.
19101
19102        <rdar://problem/9190108> Crash when hiding a float
19103
19104        Test: fast/block/float/overhanging-tall-block.html
19105
19106        * rendering/RenderBlock.cpp:
19107        (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
19108        Capped the logical bottom so that we get the correct maximum.
19109        * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
19110        * rendering/RenderBlockLineLayout.cpp:
19111        (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
19112        extending the float if needed so that it touches the line.
19113        (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
19114        (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
19115        range of lines as dirty.
19116        * rendering/RootInlineBox.h:
19117        (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
19118        allows the creation of the vector to be combined with appending the first float.
19119
191202011-04-16  Sam Weinig  <sam@webkit.org>
19121
19122        Reviewed by Simon Fraser.
19123
19124        Pages in the PageCache don't have the correct visited link coloring after being restored
19125        https://bugs.webkit.org/show_bug.cgi?id=58721
19126
19127        * WebCore.exp.in:
19128        Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
19129
19130        * history/CachedPage.cpp:
19131        (WebCore::CachedPage::CachedPage):
19132        (WebCore::CachedPage::restore):
19133        (WebCore::CachedPage::clear):
19134        * history/CachedPage.h:
19135        (WebCore::CachedPage::markForVistedLinkStyleRecalc):
19136        Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
19137        style recalc when being restored.
19138
19139        * history/PageCache.h:
19140        * history/PageCache.cpp:
19141        (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
19142        Mark all pages in the page cache as requiring visited link style recalc.
19143
19144        * page/PageGroup.cpp:
19145        (WebCore::PageGroup::addVisitedLink):
19146        (WebCore::PageGroup::removeVisitedLinks):
19147        (WebCore::PageGroup::removeAllVisitedLinks):
19148        Set dirty bit when changing any visited link information.
19149
19150
191512011-04-16  Leo Yang  <leoyang.webkit@gmail.com>
19152
19153        Reviewed by Nikolas Zimmermann.
19154
19155        ASSERT failure when svg <use> element changes href
19156        https://bugs.webkit.org/show_bug.cgi?id=58726
19157
19158        m_resourceId was not empty after the pending resource
19159        becomes available. This will trigger the assertion at
19160        line 509 of SVGUseElement.cpp when the <use> element's
19161        href becomes empty or invalid.
19162
19163        This patch makes m_resourceId be empty after the pending
19164        resource becomes available to avoid assertion failure.
19165
19166        Test: svg/custom/use-crash-when-href-change.svg
19167
19168        * svg/SVGUseElement.cpp:
19169        (WebCore::SVGUseElement::buildPendingResource):
19170
191712011-04-16  Patrick Gansterer  <paroga@webkit.org>
19172
19173        Reviewed by Eric Seidel.
19174
19175        Rename PLATFORM(CAIRO) to USE(CAIRO)
19176        https://bugs.webkit.org/show_bug.cgi?id=55192
19177
19178        * CMakeListsEfl.txt:
19179        * config.h:
19180        * platform/MIMETypeRegistry.cpp:
19181        (WebCore::initializeSupportedImageMIMETypesForEncoding):
19182        * platform/graphics/ContextShadow.h:
19183        * platform/graphics/DashArray.h:
19184        * platform/graphics/FloatRect.h:
19185        * platform/graphics/FontPlatformData.h:
19186        (WebCore::FontPlatformData::FontPlatformData):
19187        (WebCore::FontPlatformData::hash):
19188        (WebCore::FontPlatformData::isHashTableDeletedValue):
19189        * platform/graphics/GlyphBuffer.h:
19190        (WebCore::GlyphBuffer::glyphAt):
19191        (WebCore::GlyphBuffer::add):
19192        * platform/graphics/Gradient.cpp:
19193        * platform/graphics/Gradient.h:
19194        * platform/graphics/GraphicsContext.cpp:
19195        * platform/graphics/GraphicsContext.h:
19196        (WebCore::GraphicsContextState::GraphicsContextState):
19197        * platform/graphics/GraphicsContext3D.h:
19198        * platform/graphics/ImageBufferData.h:
19199        * platform/graphics/ImageSource.h:
19200        * platform/graphics/Path.h:
19201        * platform/graphics/Pattern.h:
19202        * platform/graphics/SimpleFontData.h:
19203        * platform/graphics/cairo/DrawErrorUnderline.h:
19204        * platform/graphics/cairo/GraphicsContextCairo.cpp:
19205        * platform/graphics/cairo/ImageCairo.cpp:
19206        * platform/graphics/gstreamer/ImageGStreamer.h:
19207        * platform/graphics/transforms/AffineTransform.h:
19208        * platform/graphics/transforms/TransformationMatrix.h:
19209        * platform/graphics/win/FontCacheWin.cpp:
19210        (WebCore::createGDIFont):
19211        (WebCore::FontCache::createFontPlatformData):
19212        * platform/graphics/win/FontPlatformDataWin.cpp:
19213        (WebCore::FontPlatformData::FontPlatformData):
19214        * platform/graphics/win/GraphicsContextWin.cpp:
19215        * plugins/win/PluginViewWin.cpp:
19216        (WebCore::PluginView::paintWindowedPluginIntoContext):
19217        * rendering/RenderObject.h:
19218
192192011-04-16  Patrick Gansterer  <paroga@webkit.org>
19220
19221        Unreviewed WinCE build fix for r84033.
19222
19223        * platform/win/LocalizedStringsWin.cpp:
19224        (WebCore::localizedString):
19225
192262011-04-16  Abhishek Arya  <inferno@chromium.org>
19227
19228        Reviewed by Nikolas Zimmermann.
19229
19230        Only allow inline child for SVG text since we cannot
19231        handle block childs.
19232        https://bugs.webkit.org/show_bug.cgi?id=58678
19233
19234        Test: svg/text/text-block-child-crash.xhtml
19235
19236        * rendering/svg/RenderSVGText.cpp:
19237        (WebCore::RenderSVGText::isChildAllowed):
19238        * rendering/svg/RenderSVGText.h:
19239
192402011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
19241
19242        Reviewed by Pavel Feldman.
19243
19244        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
19245        https://bugs.webkit.org/show_bug.cgi?id=57833
19246
19247        * inspector/Inspector.json:
19248        * inspector/InspectorDatabaseAgent.cpp:
19249        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
19250        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
19251        (WebCore::InspectorDatabaseAgent::setFrontend):
19252        (WebCore::InspectorDatabaseAgent::clearFrontend):
19253        (WebCore::InspectorDatabaseAgent::enable):
19254        (WebCore::InspectorDatabaseAgent::disable):
19255        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
19256        (WebCore::InspectorDatabaseAgent::executeSQL):
19257        * inspector/InspectorDatabaseAgent.h:
19258        * inspector/front-end/inspector.js:
19259
192602011-04-15  Adam Barth  <abarth@webkit.org>
19261
19262        Reviewed by Eric Seidel.
19263
19264        CSP media-src is missing
19265        https://bugs.webkit.org/show_bug.cgi?id=58642
19266
19267        Yay HTMLMediaElement for having the exact hook we need!
19268
19269        Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
19270               http/tests/security/contentSecurityPolicy/media-src-blocked.html
19271
19272        * html/HTMLMediaElement.cpp:
19273        (WebCore::HTMLMediaElement::isSafeToLoadURL):
19274            - Although it's tempting to add this branch to the previous
19275              if-block, that results in the wrong error message being logged to
19276              the console (covered by the "blocked" test).
19277        * page/ContentSecurityPolicy.cpp:
19278        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
19279        (WebCore::ContentSecurityPolicy::addDirective):
19280        * page/ContentSecurityPolicy.h:
19281            - These changes are routine.
19282
192832011-04-15  Adam Barth  <abarth@webkit.org>
19284
19285        Reviewed by Eric Seidel.
19286
19287        CSP should block string arguments to setTimeout and setInterval unless options eval-script
19288        https://bugs.webkit.org/show_bug.cgi?id=58610
19289
19290        It's somewhat sadness that the JSC and V8 code for setTimeout and
19291        setInterval are so different.  I struggled for a while with how to
19292        handle the worker case, but I decided to punt on it for now.
19293
19294        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
19295               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
19296               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
19297               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
19298
19299        * bindings/js/JSDOMWindowCustom.cpp:
19300        (WebCore::JSDOMWindow::setTimeout):
19301        (WebCore::JSDOMWindow::setInterval):
19302        * bindings/js/JSWorkerContextCustom.cpp:
19303        (WebCore::JSWorkerContext::setTimeout):
19304        (WebCore::JSWorkerContext::setInterval):
19305        * bindings/js/ScheduledAction.cpp:
19306        (WebCore::ScheduledAction::create):
19307        * bindings/js/ScheduledAction.h:
19308        * bindings/v8/custom/V8DOMWindowCustom.cpp:
19309        (WebCore::WindowSetTimeoutImpl):
19310        * page/ContentSecurityPolicy.cpp:
19311        (WebCore::ContentSecurityPolicy::allowEval):
19312        * page/ContentSecurityPolicy.h:
19313
193142011-04-15  Shishir Agrawal  <shishir@chromium.org>
19315
19316        Reviewed by James Robinson.
19317
19318        Add a flag to guard Page Visibility API changes.
19319        https://bugs.webkit.org/show_bug.cgi?id=58464
19320
19321        * Configurations/FeatureDefines.xcconfig:
19322
193232011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
19324
19325        Reviewed by Martin Robinson.
19326
19327        Make plugins compile during WebKit GTK Windows build.
19328        Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
19329        https://bugs.webkit.org/show_bug.cgi?id=58580
19330
19331        * plugins/PluginView.cpp:
19332        (WebCore::PluginView::stop):
19333        * plugins/PluginView.h:
19334        * plugins/gtk/PluginViewGtk.cpp:
19335        (WebCore::PluginView::platformGetValue):
19336        (WebCore::PluginView::platformStart):
19337
193382011-04-15  MORITA Hajime  <morrita@google.com>
19339
19340        Reviewed by Simon Fraser.
19341
19342        Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
19343        https://bugs.webkit.org/show_bug.cgi?id=58512
19344
19345        Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
19346        This change keeps an small refactoring on
19347        FrameView::shouldUpdate(), which doesn't affect on the behavior.
19348
19349        * dom/Document.cpp:
19350        * dom/Document.h:
19351        * page/FrameView.cpp:
19352        (WebCore::FrameView::invalidateRect):
19353        (WebCore::FrameView::shouldUpdate):
19354        * rendering/RenderBlock.cpp:
19355        (WebCore::RenderBlock::paintContents):
19356        * rendering/RenderLayer.cpp:
19357        (WebCore::RenderLayer::paintLayer):
19358
193592011-04-15  Chris Rogers  <crogers@google.com>
19360
19361        Reviewed by Kenneth Russell.
19362
19363        Reduce default kernel size of SincResampler to favor better speed over quality
19364        https://bugs.webkit.org/show_bug.cgi?id=58710
19365
19366        No new tests since audio API is not yet implemented.
19367
19368        * platform/audio/SincResampler.h:
19369
193702011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
19371
19372        Reviewed by Martin Robinson.
19373
19374        Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
19375        These have to be defined for Windows in general, since win32 API
19376        does not provide them.
19377        https://bugs.webkit.org/show_bug.cgi?id=58582
19378
19379        * platform/graphics/WOFFFileFormat.cpp:
19380
193812011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
19382
19383        Reviewed by Adam Barth.
19384
19385        Show a console message when X-Frame-Options blocks a load
19386        https://bugs.webkit.org/show_bug.cgi?id=39087
19387
19388        Added console message when X-Frame-Options headers block resource loading
19389
19390        * loader/MainResourceLoader.cpp:
19391        (WebCore::MainResourceLoader::didReceiveResponse):
19392
193932011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
19394
19395        Reviewed by Martin Robinson.
19396
19397        Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
19398        test. This allows Windows build of WebKit GTK to chose the right
19399        path.
19400        https://bugs.webkit.org/show_bug.cgi?id=58576
19401
19402        * platform/FileSystem.h:
19403
194042011-04-08  Luiz Agostini  <luiz.agostini@openbossa.org>
19405
19406        Reviewed by Kenneth Rohde Christiansen.
19407
19408        [Qt] QWebPage MIME type handling inconsistency with other web browsers
19409        https://bugs.webkit.org/show_bug.cgi?id=46968
19410
19411        Implementing mime type sniffing based on
19412        http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
19413
19414        * WebCore.pro:
19415        * platform/network/MIMESniffing.cpp: Added.
19416        (MagicNumbers::dataSizeNeededForImageSniffing):
19417        (MagicNumbers::maskedCompare):
19418        (MagicNumbers::checkSpaceOrBracket):
19419        (MagicNumbers::compare):
19420        (MagicNumbers::findMIMEType):
19421        (MagicNumbers::findSimpleMIMEType):
19422        (MagicNumbers::textOrBinaryTypeSniffingProcedure):
19423        (MagicNumbers::unknownTypeSniffingProcedure):
19424        (MagicNumbers::imageTypeSniffingProcedure):
19425        (MagicNumbers::checkText):
19426        (MagicNumbers::checkRDF):
19427        (MagicNumbers::skipTag):
19428        (MagicNumbers::feedTypeSniffingProcedure):
19429        (MIMESniffer::MIMESniffer):
19430        * platform/network/MIMESniffing.h: Added.
19431        (MIMESniffer::dataSize):
19432        (MIMESniffer::sniff):
19433        (MIMESniffer::isValid):
19434        * platform/network/NetworkingContext.h:
19435        * platform/network/qt/QNetworkReplyHandler.cpp:
19436        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
19437        (WebCore::QNetworkReplyWrapper::release):
19438        (WebCore::QNetworkReplyWrapper::receiveMetaData):
19439        (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
19440        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
19441        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
19442        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
19443        (WebCore::QNetworkReplyHandler::start):
19444        * platform/network/qt/QNetworkReplyHandler.h:
19445        (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
19446        (WebCore::QNetworkReplyWrapper::mimeType):
19447        * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
19448        (QtMIMETypeSniffer::QtMIMETypeSniffer):
19449        (QtMIMETypeSniffer::sniff):
19450        (QtMIMETypeSniffer::trySniffing):
19451        * platform/network/qt/QtMIMETypeSniffer.h: Added.
19452        (QtMIMETypeSniffer::mimeType):
19453        (QtMIMETypeSniffer::isFinished):
19454
194552011-04-15  Emil A Eklund  <eae@chromium.org>
19456
19457        Reviewed by Dimitri Glazkov.
19458
19459        input field with focus makes appendChild operation ~42x slower
19460        https://bugs.webkit.org/show_bug.cgi?id=57059
19461
19462        Change ContainerNode::cloneChildNodes to only disable the
19463        deleteButtonController if the container itself (or any of its children)
19464        is being edited. Thus avoiding a reflow in cases where it's not.
19465
19466        Test: perf/clone-with-focus.html
19467
19468        * dom/ContainerNode.cpp:
19469        (WebCore::ContainerNode::cloneChildNodes):
19470
194712011-04-15  Kinuko Yasuda  <kinuko@chromium.org>
19472
19473        Reviewed by David Levin.
19474
19475        Expose unified Quota API if QUOTA build flag is enabled
19476        https://bugs.webkit.org/show_bug.cgi?id=58648
19477
19478        Test: storage/storageinfo-query-usage.html
19479
19480        * CMakeLists.txt: Added new file entries.
19481        * DerivedSources.cpp: Added new file entries.
19482        * DerivedSources.make: Added new file entries.
19483        * GNUmakefile.am: Added new file entries.
19484        * WebCore.gypi: Added new file entries.
19485        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
19486        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
19487        * page/DOMWindow.cpp:
19488        (WebCore::DOMWindow::webkitStorageInfo): Added.
19489        * page/DOMWindow.h:
19490        * page/DOMWindow.idl:
19491        * storage/StorageInfo.h: Added storage type enum.
19492        * storage/StorageInfo.idl: Added.
19493        * storage/StorageInfoErrorCallback.idl: Added.
19494        * storage/StorageInfoUsageCallback.idl: Added.
19495
194962011-04-15  Oliver Hunt  <oliver@apple.com>
19497
19498        GC allocate Structure
19499        https://bugs.webkit.org/show_bug.cgi?id=58483
19500
19501        Rolling r83894 r83827 r83810 r83809 r83808 back in with
19502        a workaround for the gcc bug seen by the gtk bots
19503
19504        * WebCore.exp.in:
19505        * bindings/js/JSAudioConstructor.h:
19506        (WebCore::JSAudioConstructor::createStructure):
19507        * bindings/js/JSDOMBinding.cpp:
19508        (WebCore::cacheDOMStructure):
19509        * bindings/js/JSDOMBinding.h:
19510        (WebCore::DOMObjectWithGlobalPointer::createStructure):
19511        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
19512        (WebCore::DOMConstructorObject::createStructure):
19513        (WebCore::DOMConstructorObject::DOMConstructorObject):
19514        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
19515        * bindings/js/JSDOMGlobalObject.cpp:
19516        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
19517        (WebCore::JSDOMGlobalObject::markChildren):
19518        * bindings/js/JSDOMGlobalObject.h:
19519        (WebCore::JSDOMGlobalObject::createStructure):
19520        * bindings/js/JSDOMWindowBase.cpp:
19521        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
19522        * bindings/js/JSDOMWindowBase.h:
19523        (WebCore::JSDOMWindowBase::createStructure):
19524        * bindings/js/JSDOMWindowShell.cpp:
19525        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
19526        (WebCore::JSDOMWindowShell::setWindow):
19527        * bindings/js/JSDOMWindowShell.h:
19528        (WebCore::JSDOMWindowShell::createStructure):
19529        * bindings/js/JSDOMWrapper.h:
19530        (WebCore::DOMObject::DOMObject):
19531        * bindings/js/JSEventListener.cpp:
19532        (WebCore::JSEventListener::JSEventListener):
19533        * bindings/js/JSImageConstructor.h:
19534        (WebCore::JSImageConstructor::createStructure):
19535        * bindings/js/JSImageDataCustom.cpp:
19536        (WebCore::toJS):
19537        * bindings/js/JSOptionConstructor.h:
19538        (WebCore::JSOptionConstructor::createStructure):
19539        * bindings/js/JSWorkerContextBase.cpp:
19540        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
19541        * bindings/js/JSWorkerContextBase.h:
19542        (WebCore::JSWorkerContextBase::createStructure):
19543        * bindings/js/ScriptCachedFrameData.h:
19544        * bindings/js/SerializedScriptValue.h:
19545        * bindings/js/WorkerScriptController.cpp:
19546        (WebCore::WorkerScriptController::~WorkerScriptController):
19547        (WebCore::WorkerScriptController::initScript):
19548        * bindings/scripts/CodeGeneratorJS.pm:
19549        * bridge/c/CRuntimeObject.h:
19550        (JSC::Bindings::CRuntimeObject::createStructure):
19551        * bridge/c/c_instance.cpp:
19552        (JSC::Bindings::CRuntimeMethod::createStructure):
19553        * bridge/jni/jsc/JavaInstanceJSC.cpp:
19554        (JavaRuntimeMethod::createStructure):
19555        * bridge/jni/jsc/JavaRuntimeObject.h:
19556        (JSC::Bindings::JavaRuntimeObject::createStructure):
19557        * bridge/objc/ObjCRuntimeObject.h:
19558        (JSC::Bindings::ObjCRuntimeObject::createStructure):
19559        * bridge/objc/objc_instance.mm:
19560        (ObjCRuntimeMethod::createStructure):
19561        * bridge/objc/objc_runtime.h:
19562        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
19563        * bridge/qt/qt_instance.cpp:
19564        (JSC::Bindings::QtRuntimeObject::createStructure):
19565        * bridge/qt/qt_pixmapruntime.cpp:
19566        (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
19567        * bridge/qt/qt_runtime.h:
19568        (JSC::Bindings::QtRuntimeMethod::createStructure):
19569        * bridge/runtime_array.cpp:
19570        (JSC::RuntimeArray::RuntimeArray):
19571        * bridge/runtime_array.h:
19572        (JSC::RuntimeArray::createStructure):
19573        * bridge/runtime_method.cpp:
19574        (JSC::RuntimeMethod::RuntimeMethod):
19575        * bridge/runtime_method.h:
19576        (JSC::RuntimeMethod::createStructure):
19577        * bridge/runtime_object.cpp:
19578        (JSC::Bindings::RuntimeObject::RuntimeObject):
19579        * bridge/runtime_object.h:
19580        (JSC::Bindings::RuntimeObject::createStructure):
19581        * history/HistoryItem.h:
19582
195832011-04-15  Jessie Berlin  <jberlin@apple.com>
19584
19585        Reviewed by Brian Weinstein.
19586
19587        Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
19588        http://www.webkit.org/demos/calendar.
19589        https://bugs.webkit.org/show_bug.cgi?id=58698
19590
19591        * platform/win/FileSystemWin.cpp:
19592        (WebCore::openFile):
19593        Add breaks to the case statement.
19594        (WebCore::directoryName):
19595        Remove any trailing slash in directoryName. After closer inspection of all callers, it
19596        appears the that callers do not need the trailing slash, and those that use the length do
19597        so only to change the direction of the slashes throughout the length of the path.
19598
195992011-04-15  Roland Steiner  <rolandsteiner@chromium.org>
19600
19601        Reviewed by Dimitri Glazkov.
19602
19603        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
19604        https://bugs.webkit.org/show_bug.cgi?id=52963
19605
19606        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
19607        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
19608        .) Merged setTreeScope() with setTreeScopeRecursively()
19609        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
19610
19611        No new tests. (refactoring)
19612
19613        * dom/ContainerNode.cpp:
19614        (WebCore::ContainerNode::takeAllChildrenFrom):
19615        (WebCore::ContainerNode::removeBetween):
19616        (WebCore::ContainerNode::removeChildren):
19617        (WebCore::ContainerNode::parserAddChild):
19618        * dom/Document.cpp:
19619        (WebCore::Document::Document):
19620        (WebCore::Document::~Document):
19621        (WebCore::Document::setDocType):
19622        * dom/Element.h:
19623        * dom/Node.cpp:
19624        (WebCore::Node::treeScope):
19625        (WebCore::Node::setTreeScopeRecursively):
19626        * dom/Node.h:
19627        (WebCore::Node::document):
19628        * dom/ShadowRoot.cpp:
19629        (WebCore::ShadowRoot::ShadowRoot):
19630        (WebCore::ShadowRoot::~ShadowRoot):
19631        (WebCore::ShadowRoot::nodeType):
19632        (WebCore::ShadowRoot::cloneNode):
19633        (WebCore::ShadowRoot::childTypeAllowed):
19634        * dom/ShadowRoot.h:
19635        (WebCore::toShadowRoot):
19636        * dom/TreeScope.cpp:
19637        (WebCore::TreeScope::TreeScope):
19638        (WebCore::TreeScope::setParentTreeScope):
19639        * dom/TreeScope.h:
19640        * rendering/RenderSlider.cpp:
19641
196422011-04-15  Geoffrey Garen  <ggaren@apple.com>
19643
19644        Reviewed by Oliver Hunt.
19645
19646        DOM object handles are never removed from cache
19647        https://bugs.webkit.org/show_bug.cgi?id=58707
19648
19649        We were trying to remove hash table items by value instead of by key.
19650
19651        * bindings/js/DOMWrapperWorld.cpp:
19652        (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
19653        DOMObjectHandleOwner::finalize because I'm going to merge them.
19654
19655        (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
19656        by key, not value. (Oops!) Use a helper function to make sure we get
19657        this right.
19658
19659        * bindings/js/JSDOMBinding.cpp:
19660        (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
19661        handle context, so we can use it at destruction time.
19662
19663        * bindings/js/JSDOMBinding.h: Removed unnecessary include.
19664
19665        * bindings/js/JSNodeCustom.h:
19666        (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
19667        handle context, so we can use it at destruction time.
19668
19669        * bindings/js/ScriptWrappable.h:
19670        (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
19671        support the above.
19672
196732011-04-15  Kenneth Russell  <kbr@google.com>
19674
19675        Unreviewed. Chromium Linux Release build fix due to unused variables.
19676
19677        * platform/audio/mkl/FFTFrameMKL.cpp:
19678        (WebCore::FFTFrame::doFFT):
19679        (WebCore::FFTFrame::doInverseFFT):
19680        (WebCore::FFTFrame::cleanup):
19681
196822011-04-15  Brent Fulgham  <bfulgham@webkit.org>
19683
19684        Unreviewed build change after r83945.
19685
19686        New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
19687
19688        * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
19689          build.  Exclude for standard Apple build.
19690
196912011-04-15  Anders Carlsson  <andersca@apple.com>
19692
19693        Reviewed by Dan Bernstein.
19694
19695        Fade the find page overlay
19696        https://bugs.webkit.org/show_bug.cgi?id=58697
19697
19698        Add a symbol that WebKit2 needs.
19699
19700        * WebCore.exp.in:
19701
197022011-04-15  MORITA Hajime  <morrita@google.com>
19703
19704        Reviewed by Dimitri Glazkov.
19705
19706        RenderDetailsMarker should belong to shadow element.
19707        https://bugs.webkit.org/show_bug.cgi?id=58591
19708
19709        - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
19710        - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
19711          Note that marker size is given via style for -webkit-details-marker pseudo class.
19712        - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
19713          Now RenderDetails knows nothing about default summary.
19714        - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of
19715          <summary>, and the clickable area is now <summary> itself.
19716
19717        - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
19718
19719        * Android.mk:
19720        * CMakeLists.txt:
19721        * GNUmakefile.list.am:
19722        * WebCore.gypi:
19723        * WebCore.pro:
19724        * WebCore.vcproj/WebCore.vcproj:
19725        * WebCore.xcodeproj/project.pbxproj:
19726        * css/html.css:
19727        (summary::-webkit-details-marker):
19728        * dom/Element.cpp:
19729        (WebCore::Element::attach):
19730        * dom/Node.cpp:
19731        (WebCore::shouldCreateRendererFor):
19732        * dom/Node.h:
19733        (WebCore::Node::canHaveLightChildRendererWithShadow):
19734        * html/HTMLDetailsElement.cpp:
19735        (WebCore::HTMLDetailsElement::findSummaryFor):
19736        (WebCore::HTMLDetailsElement::findMainSummary):
19737        (WebCore::HTMLDetailsElement::refreshMainSummary):
19738        (WebCore::HTMLDetailsElement::createShadowSubtree):
19739        (WebCore::HTMLDetailsElement::childrenChanged):
19740        (WebCore::HTMLDetailsElement::finishParsingChildren):
19741        (WebCore::HTMLDetailsElement::toggleOpen):
19742        * html/HTMLDetailsElement.h:
19743        (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
19744        * html/HTMLSummaryElement.cpp:
19745        (WebCore::HTMLSummaryElement::create):
19746        (WebCore::HTMLSummaryElement::createShadowSubtree):
19747        (WebCore::HTMLSummaryElement::detailsElement):
19748        (WebCore::HTMLSummaryElement::isMainSummary):
19749        (WebCore::HTMLSummaryElement::defaultEventHandler):
19750        * html/HTMLSummaryElement.h:
19751        (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
19752        * html/shadow/DetailsMarkerControl.cpp: Added.
19753        (WebCore::DetailsMarkerControl::DetailsMarkerControl):
19754        (WebCore::DetailsMarkerControl::createRenderer):
19755        (WebCore::DetailsMarkerControl::rendererIsNeeded):
19756        (WebCore::DetailsMarkerControl::shadowPseudoId):
19757        (WebCore::DetailsMarkerControl::summaryElement):
19758        * html/shadow/DetailsMarkerControl.h: Added.
19759        (WebCore::DetailsMarkerControl::create):
19760        * rendering/RenderDetails.cpp:
19761        (WebCore::RenderDetails::RenderDetails):
19762        (WebCore::RenderDetails::styleDidChange):
19763        (WebCore::RenderDetails::moveSummaryToContents):
19764        (WebCore::RenderDetails::checkMainSummary):
19765        (WebCore::RenderDetails::layout):
19766        * rendering/RenderDetails.h:
19767        * rendering/RenderDetailsMarker.cpp:
19768        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
19769        (WebCore::RenderDetailsMarker::isOpen):
19770        (WebCore::RenderDetailsMarker::getPath):
19771        (WebCore::RenderDetailsMarker::paint):
19772        (WebCore::RenderDetailsMarker::details):
19773        * rendering/RenderDetailsMarker.h:
19774
197752011-04-15  Sam Weinig  <sam@webkit.org>
19776
19777        Reviewed by Adam Roben.
19778
19779        Implement localize strings for windows WebKit2
19780        https://bugs.webkit.org/show_bug.cgi?id=58688
19781
19782        * platform/win/LocalizedStringsWin.cpp:
19783        (WebCore::createWebKitBundle):
19784        (WebCore::webKitBundle):
19785        (WebCore::localizedString):
19786        Add implementation of localizedString for Windows.
19787
197882011-04-15  Geoffrey Garen  <ggaren@apple.com>
19789
19790        Reviewed by Oliver Hunt.
19791
19792        Some mechanical DOM wrapper cleanup
19793        https://bugs.webkit.org/show_bug.cgi?id=58689
19794
19795        * WebCore.exp.in: Export!
19796
19797        * bindings/js/DOMWrapperWorld.cpp:
19798        (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
19799        relationship of the special cases to the normal case clearer.
19800
19801        * bindings/js/JSArrayBufferViewHelper.h:
19802        (WebCore::toJSArrayBufferView):
19803        * bindings/js/JSCSSRuleCustom.cpp:
19804        (WebCore::toJS):
19805        * bindings/js/JSCSSValueCustom.cpp:
19806        (WebCore::toJS):
19807        * bindings/js/JSDOMBinding.cpp:
19808        (WebCore::getCachedDOMObjectWrapper):
19809        (WebCore::cacheDOMObjectWrapper):
19810        * bindings/js/JSDOMBinding.h:
19811        (WebCore::createDOMObjectWrapper):
19812        (WebCore::getDOMObjectWrapper):
19813        (WebCore::createDOMNodeWrapper):
19814        (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
19815        in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
19816        and ever-so-slightly faster.
19817
19818        Removed hasCachedXXX functions, now that they're unused.
19819
19820        * bindings/js/JSDOMWindowCustom.cpp:
19821        (WebCore::JSDOMWindow::history):
19822        (WebCore::JSDOMWindow::location):
19823        * bindings/js/JSDocumentCustom.cpp:
19824        (WebCore::JSDocument::location):
19825        (WebCore::toJS):
19826        * bindings/js/JSElementCustom.cpp:
19827        (WebCore::toJSNewlyCreated):
19828        * bindings/js/JSEventCustom.cpp:
19829        (WebCore::toJS):
19830        * bindings/js/JSHTMLCollectionCustom.cpp:
19831        (WebCore::toJS):
19832        * bindings/js/JSImageDataCustom.cpp:
19833        (WebCore::toJS):
19834        * bindings/js/JSNodeCustom.cpp:
19835        (WebCore::createWrapperInline):
19836        * bindings/js/JSNodeCustom.h:
19837        (WebCore::getCachedDOMNodeWrapper):
19838        (WebCore::cacheDOMNodeWrapper):
19839        (WebCore::toJS):
19840        * bindings/js/JSSVGPathSegCustom.cpp:
19841        (WebCore::toJS):
19842        * bindings/js/JSStyleSheetCustom.cpp:
19843        (WebCore::toJS): Updated for changes above.
19844
19845        * xml/XMLHttpRequest.cpp:
19846        (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
19847        because XHR is almost always created and used by JavaScript, so it's
19848        simpler to just always report extra cost.
19849
198502011-04-15  Andreas Kling  <kling@webkit.org>
19851
19852        Rolling out accidental part of r84010.
19853
19854        * platform/qt/RenderThemeQt.cpp:
19855        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
19856        (WebCore::RenderThemeQt::setButtonPadding):
19857
198582011-04-15  Oliver Hunt  <oliver@apple.com>
19859
19860        Forgot windows build fix.
19861
19862        * bindings/js/JSNodeFilterCondition.cpp:
19863        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
19864
198652011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
19866
19867        Reviewed by Yury Semikhatsky.
19868
19869        Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
19870        https://bugs.webkit.org/show_bug.cgi?id=51364
19871
19872        The front end should not use a transparent background when
19873        loaded as a web page (remote debugging) but should when loaded
19874        regularly in a custom window. This adds a "remote" style class
19875        onto the document body when the page is loaded remotely.
19876
19877        * inspector/front-end/inspector.css:
19878        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
19879        * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
19880
198812011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
19882
19883        Reviewed by David Kilzer.
19884
19885        JSLock ASSERT seen often when using the inspector for long
19886        periods of time. We should take the JSLock whenever we
19887        might allocate memory in the JavaScript Heap.
19888
19889        JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
19890        https://bugs.webkit.org/show_bug.cgi?id=58674
19891
19892        * bindings/js/JSInjectedScriptHostCustom.cpp:
19893        (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
19894
198952011-04-14  Oliver Hunt  <oliver@apple.com>
19896
19897        Reviewed by Geoffrey Garen.
19898
19899        Make JSNodeFilterCondition handle its lifetime correctly
19900        https://bugs.webkit.org/show_bug.cgi?id=58622
19901
19902        Switch over to a WeakHandle and external roots to keep the
19903        condition value live.
19904
19905        * bindings/js/JSNodeFilterCondition.cpp:
19906        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
19907        (WebCore::JSNodeFilterCondition::markAggregate):
19908        (WebCore::JSNodeFilterCondition::acceptNode):
19909        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
19910        * bindings/js/JSNodeFilterCondition.h:
19911        (WebCore::JSNodeFilterCondition::create):
19912        * bindings/js/JSNodeFilterCustom.cpp:
19913        (WebCore::toNodeFilter):
19914        * bindings/scripts/CodeGeneratorJS.pm:
19915
199162011-04-13  Luiz Agostini  <luiz.agostini@openbossa.org>
19917
19918        Reviewed by Andreas Kling.
19919
19920        [Qt] QNetworkReplyHandler refactoring: some adjustments
19921        https://bugs.webkit.org/show_bug.cgi?id=57092
19922
19923        - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
19924        - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
19925        signal metaDataChanged for m_responseContainsData to be consistent.
19926        - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
19927
19928        * platform/network/qt/QNetworkReplyHandler.cpp:
19929        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
19930        (WebCore::QNetworkReplyWrapper::receiveMetaData):
19931        (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
19932        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
19933        (WebCore::QNetworkReplyHandler::release):
19934        (WebCore::shouldIgnoreHttpError):
19935        (WebCore::QNetworkReplyHandler::finish):
19936        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
19937        (WebCore::QNetworkReplyHandler::redirect):
19938        (WebCore::QNetworkReplyHandler::forwardData):
19939        * platform/network/qt/QNetworkReplyHandler.h:
19940        (WebCore::QNetworkReplyWrapper::responseContainsData):
19941        (WebCore::QNetworkReplyWrapper::redirected):
19942
199432011-04-15  Alexey Proskuryakov  <ap@apple.com>
19944
19945        Chromium build fix.
19946
19947        * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
19948
199492011-04-15  Mike Reed  <reed@google.com>
19950
19951        Reviewed by Darin Fisher.
19952
19953        hide unused static function when SKIA_GPU is enabled
19954        https://bugs.webkit.org/show_bug.cgi?id=58670
19955
19956        No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
19957
19958        * platform/graphics/skia/ImageSkia.cpp:
19959
199602011-04-15  Simon Fraser  <simon.fraser@apple.com>
19961
19962        Reviewed by Beth Dakin.
19963
19964        Some borders with border-radius do not have rounded inner edges
19965        https://bugs.webkit.org/show_bug.cgi?id=58457
19966
19967        Improve the logic used to compute the inner radii on curved
19968        borders, to maintain borders of even thickness around the curve.
19969
19970        Tests: fast/borders/mixed-border-styles-radius.html
19971               fast/borders/mixed-border-styles.html
19972
19973        * rendering/RenderBoxModelObject.h:
19974        * rendering/RenderBoxModelObject.cpp:
19975        (WebCore::RenderBoxModelObject::computeBorderOuterRect):
19976        (WebCore::RenderBoxModelObject::computeBorderInnerRect):
19977        Two new utility functions to share some code that was in both paintBorder()
19978        and paintBoxShaadow().
19979        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
19980        as well as the inner box.
19981
19982        (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
19983        (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
19984
19985        * rendering/RenderObject.cpp:
19986        (WebCore::RenderObject::drawBoxSideFromPath):
19987        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
19988        as well as the inner box.
19989
19990        * rendering/style/RenderStyle.cpp:
19991        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
19992        * rendering/style/RenderStyle.h:
19993        Compute the inner radii by starting with teh radii used for the
19994        outer box, and then shrinking them down based on the border thickness.
19995
199962011-04-14  Alexey Proskuryakov  <ap@apple.com>
19997
19998        Reviewed by Dan Bernstein.
19999
20000        WebKit2: Password field input does not switch to ASCII-compatible source
20001        https://bugs.webkit.org/show_bug.cgi?id=58583
20002        <rdar://problem/9059651>
20003
20004        * platform/SecureTextInput.cpp:
20005        (WebCore::enableSecureTextInput):
20006        (WebCore::disableSecureTextInput):
20007        This is now only used by Chromium. There is no need to change TSMDocument properties in
20008        renderer process (and really, all secure text input logic in WebCore should be eliminated).
20009
200102011-04-13  Xiaomei Ji  <xji@chromium.org>
20011
20012        Reviewed by Ryosuke Niwa.
20013
20014        Continue (3rd) experiment with moving caret by word in visual order.
20015        https://bugs.webkit.org/show_bug.cgi?id=58294
20016
20017        This patch along with r82588 and r83483 implements moving caret by
20018        word in visual order.
20019
20020        The overall algorithm is:
20021        1. First get the InlineBox and offset of the pass-in VisiblePosition.
20022        2. Based on the position (left boundary, middle, right boundary) of the offset and the
20023           direction of the movement, look for visually adjacent word breaks.
20024        2.1 If the offset is the minimum offset of the box,
20025            return the rightmost word boundary in previous boxes if moving left.
20026            return the leftmost word boundary in box and next boxes if moving right.
20027        2.2 Similar for the case when offset is at the maximum offset of the box.
20028        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
20029            or nextWordPosition based on the directionality of the box. If this word break position
20030            is also inside the same box, return it. Otherwise (the nextWordPosition or
20031            previousWordPosition is not in the same box or is at the box boundary), collect all the
20032            word breaks in the box and search for the one closest to the input "offset" based on
20033            box directionality, block directionality, and movement direction. Continue search in
20034            adjacent boxes if needed.
20035
20036        Notes:
20037        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
20038           the input position (in the moving direction) is not available in current box, word
20039           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
20040           word boundaries. Instead, the word boundaries are saved as a pair
20041           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
20042
20043        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
20044           and right boundary of a word in RTL block). And word boundaries are collected using
20045           previousWordPosition() and nextWordPosition(). So when box directionality is the same as
20046           block directionality, word boundaries are collected from right to left visually in a LTR
20047           box, and word boundaries are collected from left to right visually in a RTL box. It is
20048           the other way around when box directionality is different from block directionality.
20049
20050        3. To find the right kinds of word boundaries, we must move back and forth between words
20051           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
20052           we cannot simply return nextWordPosition() because it would return the right boundary
20053           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
20054
20055        4. When collecting word breaks inside a box, it first computes a start position, then
20056           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
20057           In the meanwhile, it might need special handling on the rightmost or leftmost position
20058           based on the directionality of the box and block. These computations do not consider the
20059           box's bidi level.
20060
20061        * editing/visible_units.cpp:
20062        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
20063        (WebCore::collectWordBreaksInBox):
20064        (WebCore::previousWordBoundaryInBox):
20065        (WebCore::nextWordBoundaryInBox):
20066        (WebCore::visuallyLastWordBoundaryInBox):
20067        (WebCore::leftWordBoundary):
20068        (WebCore::rightWordBoundary):
20069        (WebCore::leftWordPosition):
20070        (WebCore::rightWordPosition):
20071
200722011-04-14  Zhenyao Mo  <zmo@google.com>
20073
20074        Reviewed by Kenneth Russell.
20075
20076        Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
20077        https://bugs.webkit.org/show_bug.cgi?id=58501
20078
20079        * html/canvas/WebGLRenderingContext.cpp:
20080        (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
20081        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
20082        (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
20083        * html/canvas/WebGLRenderingContext.h:
20084
200852011-04-07  MORITA Hajime  <morrita@google.com>
20086
20087        Reviewed by Ryosuke Niwa.
20088
20089        DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
20090        https://bugs.webkit.org/show_bug.cgi?id=58112
20091
20092        - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
20093        - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
20094        - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
20095          which should allow a combination of MarkerType constansts.
20096        - Removed some MarkerType arguments on DocumentMarkerController API
20097          which only received AllMarkers.
20098
20099        No new tests, no behavior change.
20100
20101        * WebCore.exp.in:
20102        * dom/DocumentMarker.h:
20103        (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
20104        (WebCore::DocumentMarker::MarkerTypes::contains):
20105        (WebCore::DocumentMarker::MarkerTypes::intersects):
20106        (WebCore::DocumentMarker::MarkerTypes::operator==):
20107        (WebCore::DocumentMarker::MarkerTypes::add):
20108        (WebCore::DocumentMarker::MarkerTypes::remove):
20109        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
20110        * dom/DocumentMarkerController.cpp:
20111        (WebCore::DocumentMarkerController::possiblyHasMarkers):
20112        (WebCore::DocumentMarkerController::addMarker):
20113        (WebCore::DocumentMarkerController::copyMarkers):
20114        (WebCore::DocumentMarkerController::removeMarkers):
20115        (WebCore::DocumentMarkerController::markerContainingPoint):
20116        (WebCore::DocumentMarkerController::markersInRange):
20117        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
20118        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
20119        (WebCore::DocumentMarkerController::repaintMarkers):
20120        (WebCore::DocumentMarkerController::shiftMarkers):
20121        (WebCore::DocumentMarkerController::setMarkersActive):
20122        (WebCore::DocumentMarkerController::hasMarkers):
20123        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
20124        * dom/DocumentMarkerController.h:
20125
201262011-04-14  Geoffrey Garen  <ggaren@apple.com>
20127
20128        Reviewed by Oliver Hunt.
20129
20130        Complicated hash table is complicated
20131        https://bugs.webkit.org/show_bug.cgi?id=58631
20132
20133        Now that we use the opaque roots system to track node wrapper lifetime,
20134        we can remove a lot of complicated hash-tablery that used to do the same.
20135
20136        Now normal world node wrappers are just set as direct properties of
20137        ScriptWrappable, while isolated world node wrappers and other DOM object
20138        wrappers are stored in a shared, per-world hash table.
20139
20140        In addition to reducing complexity, this makes DOM wrapper allocation
20141        1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
20142        footprint of normal world wrappers by ~2/3, and isolated world wrappers
20143        by ~1/3.
20144
20145        * WebCore.exp.in: Paying the patch tithe.
20146
20147        * bindings/js/DOMWrapperWorld.cpp:
20148        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
20149        (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
20150
20151        (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
20152        so the code to destroy a wrapper can live next to the code to create one.
20153
20154        * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
20155
20156        * bindings/js/JSDOMBinding.cpp:
20157        (WebCore::uncacheDOMObjectWrapper):
20158        * bindings/js/JSDOMBinding.h:
20159        (WebCore::createDOMNodeWrapper):
20160        (WebCore::getDOMNodeWrapper): No more per-document hash tables.
20161        Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
20162
20163        * bindings/js/JSDocumentCustom.cpp:
20164        (WebCore::toJS):
20165        * bindings/js/JSElementCustom.cpp:
20166        (WebCore::toJSNewlyCreated):
20167        * bindings/js/JSNodeCustom.cpp:
20168        (WebCore::createWrapperInline): Ditto.
20169
20170        * bindings/js/JSNodeCustom.h:
20171        (WebCore::getCachedDOMNodeWrapper):
20172        (WebCore::cacheDOMNodeWrapper):
20173        (WebCore::uncacheDOMNodeWrapper):
20174        (WebCore::toJS): Implemented the scheme described above.
20175
20176        * bindings/js/ScriptWrappable.h:
20177        (WebCore::ScriptWrappable::wrapper):
20178        (WebCore::ScriptWrappable::setWrapper):
20179        (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
20180        owner now, since we don't have an extra handle living in a hash table
20181        to maintain ownership for us.
20182
20183        * dom/Document.cpp:
20184        (WebCore::Document::Document):
20185        (WebCore::Document::~Document):
20186        * dom/Document.h:
20187        * dom/Node.cpp:
20188        (WebCore::Node::setDocument): No more per-document hash tables.
20189
20190        * html/HTMLCanvasElement.cpp:
20191        (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
20192        hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
20193        things, and I was in the mood for getting rid of the old way. It's
20194        debatable whether the check was ever a good idea. Even when a <canvas>
20195        doesn't have a direct JS wrapper, other JS references can still keep
20196        the <canvas> alive. So, it's probably best always to report extra cost.
20197
201982011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
20199
20200        Reviewed by Pavel Feldman.
20201
20202        Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
20203        https://bugs.webkit.org/show_bug.cgi?id=58650
20204
20205        * inspector/Inspector.json:
20206        * inspector/InspectorResourceAgent.cpp:
20207        (WebCore::buildObjectForResourceResponse):
20208        * inspector/front-end/NetworkManager.js:
20209        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
20210        * inspector/front-end/Resource.js:
20211        (WebInspector.Resource.prototype.get requestHeadersText):
20212        (WebInspector.Resource.prototype.set requestHeadersText):
20213        (WebInspector.Resource.prototype.get requestHeadersSize):
20214        (WebInspector.Resource.prototype.get responseHeadersText):
20215        (WebInspector.Resource.prototype.set responseHeadersText):
20216        (WebInspector.Resource.prototype.get responseHeadersSize):
20217        (WebInspector.Resource.prototype._headersSize):
20218        * inspector/front-end/ResourceHeadersView.js:
20219        (WebInspector.ResourceHeadersView):
20220        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
20221        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
20222        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
20223        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
20224        (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
20225        (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
20226        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
20227        * inspector/front-end/networkPanel.css:
20228        (.resource-headers-view .outline-disclosure li.headers-text):
20229        * platform/network/ResourceLoadInfo.h:
20230
202312011-04-15  Luke Macpherson   <macpherson@chromium.org>
20232
20233        Reviewed by Dimitri Glazkov.
20234
20235        Implement css overflow properties in CSSStyleApplyProperty
20236        https://bugs.webkit.org/show_bug.cgi?id=58633
20237
20238        No new tests required as no functionality changes.
20239
20240        * css/CSSStyleApplyProperty.cpp:
20241        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
20242        Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
20243        * css/CSSStyleSelector.cpp:
20244        (WebCore::CSSStyleSelector::applyProperty):
20245        Delete existing implementations.
20246
202472011-04-15  Sam Weinig  <sam@webkit.org>
20248
20249        Reviewed by Maciej Stachowiak.
20250
20251        Make mac WebKit1 use the default localization strategy
20252        https://bugs.webkit.org/show_bug.cgi?id=58628
20253
20254        * English.lproj/Localizable.strings:
20255        Update by running update-webkit-localizable-strings.
20256
20257        * platform/DefaultLocalizationStrategy.cpp:
20258        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
20259        (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
20260        (WebCore::DefaultLocalizationStrategy::imageTitle):
20261        Match the WebKit1 versions of these functions by special casing CF platforms.
20262
202632011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
20264
20265        Reviewed by Pavel Feldman.
20266
20267        Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
20268        https://bugs.webkit.org/show_bug.cgi?id=58136
20269
20270        Passed response info to inspector when X-Frame-Options header blocks resource loading.
20271
20272        Test: http/tests/inspector/network/x-frame-options-deny.html
20273
20274        * inspector/InspectorInstrumentation.cpp:
20275        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
20276        * inspector/InspectorInstrumentation.h:
20277        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
20278        * loader/MainResourceLoader.cpp:
20279        (WebCore::MainResourceLoader::didReceiveResponse):
20280
202812011-04-15  Andrey Adaikin  <aandrey@google.com>
20282
20283        Reviewed by Pavel Feldman.
20284
20285        Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
20286        https://bugs.webkit.org/show_bug.cgi?id=58449
20287
20288        Test: inspector/editor/text-editor-model.html
20289
20290        * inspector/front-end/TextEditorModel.js:
20291        (WebInspector.TextEditorModel):
20292        (WebInspector.TextEditorModel.prototype.get text):
20293        (WebInspector.TextEditorModel.prototype.setText):
20294        (WebInspector.TextEditorModel.prototype._innerSetText):
20295        (WebInspector.TextEditorModel.prototype.copyRange):
20296
202972011-04-15  Sergey Vorobyev  <sergeyvorobyev@google.com>
20298
20299        Reviewed by Yury Semikhatsky.
20300
20301        Web Inspector: Network events don't preserves,
20302        when inspector frontend closed and open again
20303        https://bugs.webkit.org/show_bug.cgi?id=58064
20304
20305        Added InspectorFrontendProxy and EventsCollector.
20306        They allow captured messages from InspectorResourceAgent
20307        to frontend (or mockFrontend if frontend disabled) and
20308        push collected data when frontend reconnect.
20309        This functionality is disabled by default.
20310
20311        * CMakeLists.txt:
20312        * GNUmakefile.list.am:
20313        * WebCore.gypi:
20314        * WebCore.pro:
20315        * WebCore.vcproj/WebCore.vcproj:
20316        * WebCore.xcodeproj/project.pbxproj:
20317        * inspector/EventsCollector.cpp: Added.
20318        (WebCore::EventsCollector::EventsCollector):
20319        (WebCore::EventsCollector::addEvent):
20320        (WebCore::EventsCollector::sendCollectedEvents):
20321        * inspector/EventsCollector.h: Added.
20322        (WebCore::EventsCollector::~EventsCollector):
20323        * inspector/Inspector.json:
20324        * inspector/InspectorFrontendProxy.cpp: Added.
20325        (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
20326        (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
20327        (WebCore::InspectorFrontendProxy::setEventsCollector):
20328        (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
20329        * inspector/InspectorFrontendProxy.h: Added.
20330        (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
20331        * inspector/InspectorInstrumentation.cpp:
20332        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
20333        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
20334        * inspector/InspectorInstrumentation.h:
20335        (WebCore::InspectorInstrumentation::willSendRequest):
20336        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
20337        (WebCore::InspectorInstrumentation::didReceiveContentLength):
20338        (WebCore::InspectorInstrumentation::didFinishLoading):
20339        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
20340        (WebCore::InspectorInstrumentation::loadEventFired):
20341        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
20342        (WebCore::InspectorInstrumentation::didCreateWebSocket):
20343        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
20344        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
20345        (WebCore::InspectorInstrumentation::didCloseWebSocket):
20346        * inspector/InspectorResourceAgent.cpp:
20347        (WebCore::InspectorResourceAgent::setFrontend):
20348        (WebCore::InspectorResourceAgent::resourceContent):
20349        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
20350        (WebCore::InspectorResourceAgent::didReceiveResponse):
20351        (WebCore::InspectorResourceAgent::domContentEventFired):
20352        (WebCore::InspectorResourceAgent::loadEventFired):
20353        (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
20354        (WebCore::InspectorResourceAgent::enable):
20355        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
20356        * inspector/InspectorResourceAgent.h:
20357        * inspector/front-end/NetworkManager.js:
20358        (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
20359        (WebInspector.NetworkDispatcher.prototype.loadEventFired):
20360        * inspector/front-end/inspector.js:
20361        (WebInspector.domContentEventFired):
20362        (WebInspector.loadEventFired):
20363
203642011-04-15  Alexis Menard  <alexis.menard@openbossa.org>
20365
20366        Reviewed by Dimitri Glazkov.
20367
20368        REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
20369        https://bugs.webkit.org/show_bug.cgi?id=58477
20370
20371        Since r83397 the media controls elements are actual DOM elements.
20372        Therefore the global style-sheet applies to them. html.css defines
20373        input[type="button"]:active to be border-style: inset which means
20374        that when the buttons are active they grow by their border size. Therefore
20375        ports which are not using the borders must explicitly disable them in their custom
20376        stylesheet.
20377
20378        * css/mediaControlsQt.css:
20379        (audio::-webkit-media-controls-mute-button):
20380        (video::-webkit-media-controls-mute-button):
20381        (audio::-webkit-media-controls-play-button):
20382        (video::-webkit-media-controls-play-button):
20383        (video::-webkit-media-controls-fullscreen-button):
20384        * css/mediaControlsQuickTime.css:
20385        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
20386        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
20387        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
20388        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
20389        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
20390        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
20391        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
20392        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
20393        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
20394
203952011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>
20396
20397        Reviewed by Darin Fisher.
20398
20399        Added enums for external file system type.
20400        https://bugs.webkit.org/show_bug.cgi?id=58456
20401
20402        * fileapi/DOMFileSystemBase.cpp:
20403        (WebCore::DOMFileSystemBase::crackFileSystemURL):
20404        * fileapi/DOMFileSystemBase.h:
20405        * fileapi/EntryBase.cpp:
20406        (WebCore::EntryBase::toURL):
20407        * page/DOMWindow.cpp:
20408        (WebCore::DOMWindow::requestFileSystem):
20409        * page/DOMWindow.h:
20410        * platform/AsyncFileSystem.h:
20411        * workers/WorkerContext.cpp:
20412        (WebCore::WorkerContext::requestFileSystem):
20413        (WebCore::WorkerContext::requestFileSystemSync):
20414        * workers/WorkerContext.h:
20415
204162011-04-15  Pavel Feldman  <pfeldman@google.com>
20417
20418        Reviewed by Yury Semikhatsky.
20419
20420        Web Inspector: make resource revisions use dedicated type (not Resource clone).
20421        https://bugs.webkit.org/show_bug.cgi?id=58659
20422
20423        * inspector/front-end/CSSStyleModel.js:
20424        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
20425        * inspector/front-end/Resource.js:
20426        (WebInspector.Resource.prototype.addRevision):
20427        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
20428        (WebInspector.Resource.prototype._innerRequestContent):
20429        (WebInspector.ResourceRevision):
20430        (WebInspector.ResourceRevision.prototype.get resource):
20431        (WebInspector.ResourceRevision.prototype.get timestamp):
20432        (WebInspector.ResourceRevision.prototype.get content):
20433        (WebInspector.ResourceRevision.prototype.revertToThis):
20434        (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
20435        (WebInspector.ResourceRevision.prototype.requestContent):
20436        * inspector/front-end/ResourceView.js:
20437        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
20438        (WebInspector.ResourceView.resourceViewForResource):
20439        (WebInspector.ResourceView.recreateResourceView):
20440        (WebInspector.ResourceView.existingResourceViewForResource):
20441        (WebInspector.RevisionSourceFrame):
20442        (WebInspector.RevisionSourceFrame.prototype.get resource):
20443        (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
20444        (WebInspector.RevisionSourceFrame.prototype.requestContent):
20445        * inspector/front-end/ResourcesPanel.js:
20446        (WebInspector.ResourcesPanel.prototype._showResourceView):
20447        (WebInspector.ResourcesPanel.prototype._showRevisionView):
20448        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
20449        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
20450        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
20451        (WebInspector.ResourceRevisionTreeElement):
20452        (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
20453        (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
20454        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
20455        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
20456        * inspector/front-end/SourceFrame.js:
20457        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
20458        (WebInspector.SourceFrame.prototype.requestContent):
20459        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
20460        (WebInspector.SourceFrame.prototype.commitEditing):
20461
204622011-04-15  Alexander Pavlov  <apavlov@chromium.org>
20463
20464        Reviewed by Yury Semikhatsky.
20465
20466        Web Inspector: Prevent Backspace keypresses from routing into the inspected page
20467        https://bugs.webkit.org/show_bug.cgi?id=58653
20468
20469        * inspector/front-end/inspector.js:
20470        (WebInspector.documentKeyDown):
20471
204722011-04-15  Alice Boxhall  <aboxhall@chromium.org>
20473
20474        Reviewed by Ryosuke Niwa.
20475
20476        Text selection changes unexpectedly when dragging out of the <input>
20477        https://bugs.webkit.org/show_bug.cgi?id=55552
20478
20479        Tests: editing/selection/select-out-of-editable.html
20480               editing/selection/select-out-of-floated-contenteditable.html
20481               editing/selection/select-out-of-floated-input.html
20482               editing/selection/select-out-of-floated-textarea.html
20483
20484        * page/EventHandler.cpp:
20485        (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
20486        the endpoint is not outside the element. If it is, translate the point into a local point within
20487        the editable element.
20488        (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
20489        calculate the selection endpoint.
20490
204912011-04-15  Adam Roben  <aroben@apple.com>
20492
20493        Roll out r83954
20494
20495        It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
20496        bots.
20497
20498        See <http://webkit.org/b/58610>.
20499
20500        * bindings/js/JSDOMWindowCustom.cpp:
20501        (WebCore::JSDOMWindow::setTimeout):
20502        (WebCore::JSDOMWindow::setInterval):
20503        * bindings/js/JSWorkerContextCustom.cpp:
20504        (WebCore::JSWorkerContext::setTimeout):
20505        (WebCore::JSWorkerContext::setInterval):
20506        * bindings/js/ScheduledAction.cpp:
20507        (WebCore::ScheduledAction::create):
20508        * bindings/js/ScheduledAction.h:
20509        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20510        (WebCore::WindowSetTimeoutImpl):
20511        * page/ContentSecurityPolicy.cpp:
20512        * page/ContentSecurityPolicy.h:
20513
205142011-04-15  Pavel Feldman  <pfeldman@google.com>
20515
20516        Reviewed by Yury Semikhatsky.
20517
20518        Web Inspector: refactor resource setContent / revisions infrastructure to get
20519        rid of onRevert callback.
20520        https://bugs.webkit.org/show_bug.cgi?id=58649
20521
20522        Instead, we will have DomainModel/Resource binding responsible for changing
20523        underlying model upon resource changes and vice versa.
20524
20525        * inspector/Inspector.json:
20526        * inspector/InspectorCSSAgent.cpp:
20527        (WebCore::InspectorCSSAgent::getStyleSheet):
20528        (WebCore::InspectorCSSAgent::getStyleSheetText):
20529        (WebCore::InspectorCSSAgent::setStyleSheetText):
20530        (WebCore::InspectorCSSAgent::setPropertyText):
20531        (WebCore::InspectorCSSAgent::toggleProperty):
20532        (WebCore::InspectorCSSAgent::setRuleSelector):
20533        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
20534        * inspector/InspectorCSSAgent.h:
20535        * inspector/front-end/CSSStyleModel.js:
20536        (WebInspector.CSSStyleModel):
20537        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
20538        (WebInspector.CSSStyleModel.prototype.addRule):
20539        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
20540        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
20541        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
20542        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
20543        (WebInspector.CSSProperty.prototype.setText):
20544        (WebInspector.CSSProperty.prototype.setText.callback):
20545        (WebInspector.CSSProperty.prototype.setDisabled.callback):
20546        (WebInspector.CSSProperty.prototype.setDisabled):
20547        (WebInspector.CSSStyleSheet.prototype.setText):
20548        (WebInspector.CSSStyleModelResourceBinding):
20549        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
20550        (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
20551        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
20552        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
20553        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
20554        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
20555        * inspector/front-end/DebuggerPresentationModel.js:
20556        (WebInspector.DebuggerPresentationModel):
20557        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
20558        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
20559        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
20560        (WebInspector.DebuggerPresentationModelResourceBinding):
20561        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
20562        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
20563        * inspector/front-end/Object.js:
20564        (WebInspector.Object.prototype.hasEventListeners):
20565        * inspector/front-end/Resource.js:
20566        (WebInspector.Resource):
20567        (WebInspector.Resource.registerDomainModelBinding):
20568        (WebInspector.Resource.prototype.isEditable):
20569        (WebInspector.Resource.prototype.setContent):
20570        (WebInspector.Resource.prototype.addRevision):
20571        (WebInspector.Resource.prototype.revertToThis.callback):
20572        (WebInspector.Resource.prototype.revertToThis):
20573        (WebInspector.ResourceDomainModelBinding):
20574        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
20575        (WebInspector.ResourceDomainModelBinding.prototype.setContent):
20576        * inspector/front-end/ResourceView.js:
20577        (WebInspector.ResourceView.createResourceView):
20578        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
20579        (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
20580        (WebInspector.ResourceSourceFrame.prototype.editContent):
20581        (WebInspector.ResourceSourceFrame.prototype.endEditing):
20582        (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
20583        (WebInspector.ResourceSourceFrame.prototype._requestContent):
20584        * inspector/front-end/ResourcesPanel.js:
20585        (WebInspector.ResourcesPanel.prototype._resourceAdded):
20586        (WebInspector.FrameResourceTreeElement):
20587        (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
20588        (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
20589        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
20590        * inspector/front-end/inspector.html:
20591
205922011-04-15  Andrey Kosyakov  <caseq@chromium.org>
20593
20594        Unreviewed, rolling out r83949.
20595        http://trac.webkit.org/changeset/83949
20596        https://bugs.webkit.org/show_bug.cgi?id=57960
20597
20598        broke 31 tests in chromium win & linux
20599
20600        * platform/graphics/chromium/GLES2Canvas.cpp:
20601        (WebCore::GLES2Canvas::drawTexturedRect):
20602        * platform/graphics/chromium/GLES2Canvas.h:
20603        * platform/graphics/gpu/Texture.cpp:
20604        (WebCore::copySubRect):
20605        (WebCore::Texture::load):
20606        (WebCore::Texture::updateSubRect):
20607        * platform/graphics/gpu/Texture.h:
20608        * platform/graphics/skia/ImageBufferSkia.cpp:
20609        (WebCore::getImageData):
20610        (WebCore::putImageData):
20611        (WebCore::ImageBuffer::putUnmultipliedImageData):
20612        (WebCore::ImageBuffer::putPremultipliedImageData):
20613
206142011-04-15  Ben Taylor  <bentaylor.solx86@gmail.com>
20615
20616        Reviewed by Alexey Proskuryakov.
20617
20618        Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
20619        https://bugs.webkit.org/show_bug.cgi?id=58508
20620
20621        Since extern "C" makes a different type (although most compilers ignore that),
20622        we should be more careful when passing NPAPI callback functions.
20623
20624        * plugins/npapi.cpp:
20625        (NPN_PluginThreadAsyncCall):
20626
206272011-04-15  Adam Barth  <abarth@webkit.org>
20628
20629        Reviewed by Eric Seidel.
20630
20631        CSP should block string arguments to setTimeout and setInterval unless options eval-script
20632        https://bugs.webkit.org/show_bug.cgi?id=58610
20633
20634        It's somewhat sadness that the JSC and V8 code for setTimeout and
20635        setInterval are so different.  I struggled for a while with how to
20636        handle the worker case, but I decided to punt on it for now.
20637
20638        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
20639               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
20640               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
20641               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
20642
20643        * bindings/js/JSDOMWindowCustom.cpp:
20644        (WebCore::JSDOMWindow::setTimeout):
20645        (WebCore::JSDOMWindow::setInterval):
20646        * bindings/js/JSWorkerContextCustom.cpp:
20647        (WebCore::JSWorkerContext::setTimeout):
20648        (WebCore::JSWorkerContext::setInterval):
20649        * bindings/js/ScheduledAction.cpp:
20650        (WebCore::ScheduledAction::create):
20651        * bindings/js/ScheduledAction.h:
20652        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20653        (WebCore::WindowSetTimeoutImpl):
20654        * page/ContentSecurityPolicy.cpp:
20655        (WebCore::ContentSecurityPolicy::allowEval):
20656        * page/ContentSecurityPolicy.h:
20657
206582011-04-15  Adam Barth  <abarth@webkit.org>
20659
20660        Reviewed by Eric Seidel.
20661
20662        Add support for CSP's 'self' source
20663        https://bugs.webkit.org/show_bug.cgi?id=58604
20664
20665        This change is now trivially easy.
20666
20667        Test: http/tests/security/contentSecurityPolicy/script-src-self.html
20668
20669        * page/ContentSecurityPolicy.cpp:
20670        (WebCore::CSPSourceList::addSourceSelf):
20671
206722011-04-15  Anna Cavender  <annacc@chromium.org>
20673
20674        Reviewed by Eric Carlson.
20675
20676        Renaming TRACK feature define to VIDEO_TRACK
20677        https://bugs.webkit.org/show_bug.cgi?id=53556
20678
20679        No new tests. No new functionality.
20680
20681        * CMakeLists.txt:
20682        * Configurations/FeatureDefines.xcconfig:
20683        * DerivedSources.make:
20684        * GNUmakefile.am:
20685        * features.pri:
20686        * html/HTMLTagNames.in:
20687        * html/HTMLTrackElement.cpp:
20688        * html/HTMLTrackElement.h:
20689        * html/HTMLTrackElement.idl:
20690
206912011-04-14  Andrey Adaikin  <aandrey@google.com>
20692
20693        Reviewed by Pavel Feldman.
20694
20695        Web Inspector: Ctrl+Left/Right switch panels during live editing
20696        https://bugs.webkit.org/show_bug.cgi?id=58521
20697
20698        Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
20699
20700        * inspector/front-end/SourceFrame.js:
20701        (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
20702        * inspector/front-end/TextViewer.js:
20703        (WebInspector.TextViewer.prototype.set readOnly):
20704        (WebInspector.TextViewer.prototype.get readOnly):
20705        (WebInspector.TextViewer.prototype._doubleClick):
20706        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
20707        (WebInspector.TextViewer.prototype._commitEditing):
20708        (WebInspector.TextViewer.prototype._cancelEditing):
20709        (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
20710        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
20711        * inspector/front-end/inspector.js:
20712        (WebInspector.markBeingEdited):
20713        (WebInspector.isEditingAnyField):
20714        (WebInspector.startEditing.cleanUpAfterEditing):
20715
207162011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
20717
20718        Reviewed by Pavel Feldman.
20719
20720        Web Inspector: Enable raw HTTP headers support
20721        https://bugs.webkit.org/show_bug.cgi?id=58259
20722
20723        Added raw headers text support to inspector.
20724
20725        * English.lproj/localizedStrings.js:
20726        * inspector/Inspector.json:
20727        * inspector/InspectorResourceAgent.cpp:
20728        (WebCore::buildObjectForResourceResponse):
20729        * inspector/front-end/NetworkManager.js:
20730        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
20731        * inspector/front-end/Resource.js:
20732        (WebInspector.Resource):
20733        (WebInspector.Resource.prototype.get transferSize):
20734        (WebInspector.Resource.prototype.set requestHeaders):
20735        (WebInspector.Resource.prototype.get rawRequestHeadersText):
20736        (WebInspector.Resource.prototype.set rawRequestHeadersText):
20737        (WebInspector.Resource.prototype.get requestHeadersSize):
20738        (WebInspector.Resource.prototype.set responseHeaders):
20739        (WebInspector.Resource.prototype.get rawResponseHeadersText):
20740        (WebInspector.Resource.prototype.set rawResponseHeadersText):
20741        (WebInspector.Resource.prototype.get responseHeadersSize):
20742        (WebInspector.Resource.prototype._headersSize):
20743        * inspector/front-end/ResourceHeadersView.js:
20744        (WebInspector.ResourceHeadersView):
20745        (WebInspector.ResourceHeadersView.prototype._refreshParms):
20746        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
20747        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
20748        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
20749        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
20750        (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
20751        (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
20752        (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
20753        (WebInspector.ResourceHeadersView.prototype._createToggleButton):
20754        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
20755        * inspector/front-end/networkPanel.css:
20756        (.resource-headers-view .outline-disclosure li .header-toggle):
20757        (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
20758        (.resource-headers-view .outline-disclosure li .header-toggle:hover):
20759        (.resource-headers-view .outline-disclosure li.raw-headers-text):
20760        * platform/network/ResourceLoadInfo.h:
20761
207622011-04-14  Justin Novosad  <junov@chromium.org>
20763
20764        Reviewed by Kenneth Russell.
20765
20766        [Chromium] Accelerated 2D Canvas is slow to execute putImageData
20767        https://bugs.webkit.org/show_bug.cgi?id=57960
20768
20769        * platform/graphics/chromium/GLES2Canvas.cpp:
20770        (WebCore::GLES2Canvas::drawTexturedRect):
20771        Added an option for using the blend ops for alpha multiplication
20772        instead of compositing.
20773        (WebCore::GLES2Canvas::applyClipping):
20774        (WebCore::GLES2Canvas::putImageData):
20775        New method for drawing raw pixel data from memory to the canvas
20776        (WebCore::GLES2Canvas::putUnmultipliedImageData):
20777        Wrapper for putImageData
20778        (WebCore::GLES2Canvas::putPremultipliedImageData):
20779        Wrapper for putImageData
20780        * platform/graphics/chromium/GLES2Canvas.h:
20781        * platform/graphics/gpu/Texture.cpp:
20782        (WebCore::copySubRect):
20783        (WebCore::Texture::load):
20784        (WebCore::Texture::updateSubRect):
20785        Added an overload of the updateSubRect method that can receive a pixel
20786        of a size that is different from texture size. Improved the performance
20787        of updateSubrect by avoiding the allocation of a temporary buffer when
20788        not required.
20789        * platform/graphics/gpu/Texture.h:
20790        * platform/graphics/skia/ImageBufferSkia.cpp:
20791        (WebCore::getImageData):
20792        In the unmultiplied path, division by alpha now performs proper
20793        rounding in order to avoid generational degradation with putImageData
20794        (WebCore::putImageData):
20795        Alpha multiplication now performs proper rounding in order to be
20796        consistent with the hardware rendering path: OpenGL always rounds when
20797        converting to fixed point representation.
20798        (WebCore::ImageBuffer::putUnmultipliedImageData):
20799        Now supports a hardware rendering path, which eliminates the need
20800        for a readback from the GPU
20801        (WebCore::ImageBuffer::putPremultipliedImageData):
20802        Now supports a hardware rendering path, which eliminates the need
20803        for a readback from the GPU
20804
208052011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
20806
20807        Reviewed by Martin Robinson.
20808
20809        Creating a CairoPath instance is not thread safe
20810        https://bugs.webkit.org/show_bug.cgi?id=58514
20811
20812        This patch allows a cairo surface to be created just one time in order to
20813        guarantee thread safety.
20814        In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
20815        prevent confusing them with PathCairo.cpp
20816
20817        * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
20818        * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
20819        * platform/graphics/cairo/CairoPath.h: Removed.
20820        * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
20821        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
20822        * platform/graphics/cairo/PathCairo.cpp: Ditto.
20823        * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
20824        (WebCore::getPathSurface): Getting a static cairo surface.
20825        (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
20826        into the CPP file.
20827        * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
20828        (WebCore::CairoPath::~CairoPath):
20829        (WebCore::CairoPath::context):
20830
208312011-04-14  Nat Duca  <nduca@chromium.org>
20832
20833        Reviewed by Darin Fisher.
20834
20835        [chromium] Add lowpass filter and graph to fps indicator
20836        https://bugs.webkit.org/show_bug.cgi?id=58186
20837
20838        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
20839        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
20840        (WebCore::CCHeadsUpDisplay::drawHudContents):
20841        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
20842        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
20843        (WebCore::CCHeadsUpDisplay::onPresent):
20844        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
20845
208462011-04-14  Beth Dakin  <bdakin@apple.com>
20847
20848        Reviewed by Adele Peterson.
20849
20850        https://bugs.webkit.org/show_bug.cgi?id=58612
20851        Crash switching overlay/non-overlay scrollbar preference
20852        (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
20853        -and corresponding-
20854        <rdar://problem/9241920>
20855
20856        Speculative fix: Page could definitely be null here.
20857        * page/FrameView.cpp:
20858        (WebCore::FrameView::scrollbarStyleChanged):
20859
208602011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
20861
20862        Reviewed by Pavel Feldman.
20863
20864        Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
20865        https://bugs.webkit.org/show_bug.cgi?id=58447
20866
20867        FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
20868
20869        * loader/FrameLoader.cpp:
20870        (WebCore::FrameLoader::loadResourceSynchronously):
20871        * platform/network/ResourceLoadInfo.h:
20872        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
20873
208742011-04-14  Alok Priyadarshi  <alokp@chromium.org>
20875
20876        Reviewed by James Robinson.
20877
20878        Remove dependency on chromium skia::PlatformCanvas
20879        https://bugs.webkit.org/show_bug.cgi?id=57563
20880
20881        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define.
20882
20883        * platform/graphics/chromium/FontChromiumWin.cpp:
20884        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
20885        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
20886        (WebCore::Font::drawComplexText):
20887        * platform/graphics/chromium/ImageBufferDataSkia.h:
20888        * platform/graphics/chromium/LayerChromium.h:
20889        * platform/graphics/chromium/LayerRendererChromium.h:
20890        * platform/graphics/chromium/PlatformCanvas.cpp:
20891        (WebCore::PlatformCanvas::resize):
20892        * platform/graphics/chromium/PlatformCanvas.h:
20893        * platform/graphics/chromium/TransparencyWin.cpp:
20894        (WebCore::TransparencyWin::compositeTextComposite):
20895        (WebCore::TransparencyWin::makeLayerOpaque):
20896        * platform/graphics/skia/ImageBufferSkia.cpp:
20897        (WebCore::ImageBuffer::ImageBuffer):
20898        * platform/graphics/skia/ImageSkia.cpp:
20899        (WebCore::paintSkBitmap):
20900        (WebCore::Image::drawPattern):
20901        * platform/graphics/skia/PlatformContextSkia.cpp:
20902        (WebCore::PlatformContextSkia::PlatformContextSkia):
20903        (WebCore::PlatformContextSkia::setCanvas):
20904        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
20905        * platform/graphics/skia/PlatformContextSkia.h:
20906        (WebCore::PlatformContextSkia::canvas):
20907        (WebCore::PlatformContextSkia::printing):
20908        (WebCore::PlatformContextSkia::setPrinting):
20909
209102011-04-14  Eric Seidel  <eric@webkit.org>
20911
20912        Reviewed by Simon Fraser.
20913
20914        PumpSession should not call currentTime() in the constructor
20915        https://bugs.webkit.org/show_bug.cgi?id=55211
20916
20917        currentTime() is expensive.  So we avoid calling it in the constructor
20918        and instead set startTime on the first check for a yield
20919        (which in the synchronous case never happens, and in the yielding
20920        case will happen immediately after the first token due to
20921        processedTokens being set to INT_MAX).
20922
20923        This ended up being a large win on (my local copy of)
20924        peacekeeper's domDynamicCreationCreateElement:
20925
20926        Before:
20927        avg 366.3333333333333
20928        median 366
20929        stdev 2.712112747574399
20930        min 362
20931        max 377
20932
20933        After:
20934        avg 345.96666666666664
20935        median 346
20936        stdev 1.6829207415152454
20937        min 343
20938        max 349
20939
20940        * html/parser/HTMLDocumentParser.cpp:
20941        * html/parser/HTMLParserScheduler.h:
20942        (WebCore::PumpSession::PumpSession):
20943        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
20944
209452011-04-14  Ami Fischman  <fischman@google.com>
20946
20947        Reviewed by Eric Carlson.
20948
20949        Remove unnecessary bottom margin of controls in video elements on media documents.
20950        This makes the cases of media documents and non-media documents consistent,
20951        and makes it possible to reason about the height of a rendered media document
20952        (needed e.g. for sizing iframes).
20953
20954        This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
20955        media/video-controls-in-media-document.html layouttest (see bug 54634 for
20956        the un-Skipping).
20957
20958        https://bugs.webkit.org/show_bug.cgi?id=58442
20959
20960        * css/mediaControls.css:
20961        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20962        * css/mediaControlsEfl.css:
20963        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20964        * css/mediaControlsQuickTime.css:
20965        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20966
209672011-04-14  Geoffrey Garen  <ggaren@apple.com>
20968
20969        Reviewed by Oliver Hunt.
20970
20971        Use opaque roots instead of direct marking for nodes in the DOM
20972        https://bugs.webkit.org/show_bug.cgi?id=58624
20973
20974        A node treats the root of its tree (usually the document) as its opaque
20975        root during GC.
20976
20977        This is needed for correctness in a generational GC world, but it also
20978        happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).
20979
20980        * bindings/js/DOMWrapperWorld.cpp:
20981        (WebCore::isObservable):
20982        (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
20983        We use this function to determine whether a node is observable.
20984
20985        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
20986        our weak handle callback to determine reachability, instead of direct
20987        marking traversal through the DOM.
20988
20989        * bindings/js/JSAttrCustom.cpp:
20990        (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
20991        instead of direct marking.
20992
20993        * bindings/js/JSDOMBinding.cpp:
20994        * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
20995        markDOMNodeWrapper because it is now unused. This is a good thing because
20996        markDOMNodeWrapper used deprecatedAppend, which is not compatible
20997        with generational GC.
20998
20999        * bindings/js/JSDOMImplementationCustom.cpp:
21000        (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.
21001
21002        * bindings/js/JSDocumentCustom.cpp:
21003        (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
21004        since they will take care of themselves through the opaque roots mechanism.
21005
21006        * bindings/js/JSNamedNodeMapCustom.cpp:
21007        (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.
21008
21009        * bindings/js/JSNodeCustom.cpp:
21010        (WebCore::JSNode::markChildren): No need to mark our tree or our document
21011        directly, since they will take care of themselves through the opaque
21012        roots mechanism.
21013
21014        * bindings/js/JSNodeCustom.h:
21015        (WebCore::root): Helper function for accessing the root of a node tree.
21016        This is O(1) while you're in the document, O(log(N)) when you're in a
21017        reasonably balanced disconnected tree, and O(N) in the pathological case
21018        of a disconnected tree that's shaped like a linked list. If average case
21019        O(long(N)) turns out to be too slow, we can optimize through use of
21020        rare data or an external hash table, but it is so uncommon that I have
21021        ignored it for now.
21022
21023        * bindings/js/JSSVGElementInstanceCustom.cpp:
21024        (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.
21025
210262011-04-14  Mike Reed  <reed@google.com>
21027
21028        Reviewed by Kenneth Russell.
21029
21030        fix shadows with gradients
21031        https://bugs.webkit.org/show_bug.cgi?id=58376
21032
21033        No new tests. Existing tests exercise this
21034        LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html
21035
21036        * platform/graphics/skia/GraphicsContextSkia.cpp:
21037        (WebCore::GraphicsContext::setPlatformShadow):
21038
210392011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
21040
21041        Reviewed by Pavel Feldman.
21042
21043        Web Inspector: No headers information in network panel for downloads.
21044        https://bugs.webkit.org/show_bug.cgi?id=58139
21045
21046        Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
21047
21048        Test: http/tests/inspector/network/download.html
21049
21050        * inspector/InspectorInstrumentation.cpp:
21051        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
21052        (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
21053        (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
21054        * inspector/InspectorInstrumentation.h:
21055        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
21056        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
21057        * loader/MainResourceLoader.cpp:
21058        (WebCore::MainResourceLoader::continueAfterContentPolicy):
21059
210602011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
21061
21062        Reviewed by Martin Robinson.
21063
21064        Convert use of raw pointers to RefPtr in using Cairo
21065        https://bugs.webkit.org/show_bug.cgi?id=57717
21066
21067        No new tests added becaue of just replacing raw pointers with smart pointers.
21068
21069        * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
21070        (WebCore::purgeScratchBuffer):
21071        (WebCore::getScratchBuffer):
21072        * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
21073        (copySurface):
21074
210752011-04-14  Naoki Takano  <takano.naoki@gmail.com>
21076
21077        Reviewed by Eric Seidel.
21078
21079        [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
21080        https://bugs.webkit.org/show_bug.cgi?id=57818
21081
21082        Test: fast/forms/select-background-none.html
21083
21084        This fix is only for Chromium on Linux. Chromium on Mac already works fine.
21085        But Windows has the same problem. This change doesn't include Windows part.
21086
21087        * rendering/RenderThemeChromiumLinux.cpp:
21088        (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.
21089
210902011-04-14  Luke Macpherson   <macpherson@chromium.org>
21091
21092        Reviewed by Dimitri Glazkov.
21093
21094        Implement border style css properties in CSSStyleApplyProperty
21095        https://bugs.webkit.org/show_bug.cgi?id=58506
21096
21097        No new functionality added.
21098
21099        * css/CSSStyleApplyProperty.cpp:
21100        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
21101        Added new property initializers.
21102
21103        * css/CSSStyleSelector.cpp:
21104        (WebCore::CSSStyleSelector::applyProperty):
21105        Removed old property handlers.
21106
211072011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
21108
21109        Reviewed by Ojan Vafai.
21110
21111        Presence of shadow DOM should suppress rendering of ordinary child nodes
21112        https://bugs.webkit.org/show_bug.cgi?id=58073
21113
21114        Test: fast/dom/shadow/no-renderers-for-light-children.html
21115
21116        * dom/Node.cpp:
21117        (WebCore::shadowRoot): Added a helper function.
21118        (WebCore::Node::setDocumentRecursively): Changed to use the helper.
21119        (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
21120            added a check for children of an element with a shadow DOM.
21121        (WebCore::Node::createRendererAndStyle): Changed to use the helper.
21122
211232011-04-14  Adrienne Walker  <enne@google.com>
21124
21125        Reviewed by James Robinson.
21126
21127        [chromium] Tile content and image layers
21128        https://bugs.webkit.org/show_bug.cgi?id=57113
21129
21130        Layers tile by default if any dimension is larger than 512.  Smaller
21131        layers are contained within a single texture but still use the tiler
21132        infrastructure so that there's only one code path.
21133
21134        Remove large layer support from content layers.  Content layers no
21135        longer own a platform canvas--they own a tiler.  Refactor tiler to
21136        allow for better separation of update/upload/paint.  Add rect
21137        parameter to update and draw functions on layers for the layer-space
21138        rect of interest.  This is necessary to know which tiles need to be
21139        drawn.
21140
21141        * platform/graphics/chromium/ContentLayerChromium.cpp:
21142        (WebCore::ContentLayerChromium::ContentLayerChromium):
21143        (WebCore::ContentLayerChromium::~ContentLayerChromium):
21144        (WebCore::ContentLayerPainter::ContentLayerPainter):
21145        (WebCore::ContentLayerPainter::paint):
21146        (WebCore::ContentLayerChromium::paintContentsIfDirty):
21147        (WebCore::ContentLayerChromium::setLayerRenderer):
21148        (WebCore::ContentLayerChromium::tilingTransform):
21149        (WebCore::ContentLayerChromium::visibleLayerRect):
21150        (WebCore::ContentLayerChromium::layerBounds):
21151        (WebCore::ContentLayerChromium::updateLayerSize):
21152        (WebCore::ContentLayerChromium::draw):
21153        (WebCore::ContentLayerChromium::createTilerIfNeeded):
21154        (WebCore::ContentLayerChromium::updateCompositorResources):
21155        (WebCore::ContentLayerChromium::setTilingOption):
21156        (WebCore::ContentLayerChromium::bindContentsTexture):
21157        (WebCore::ContentLayerChromium::unreserveContentsTexture):
21158        (WebCore::ContentLayerChromium::setIsMask):
21159        (WebCore::ContentLayerChromium::dumpLayerProperties):
21160        * platform/graphics/chromium/ContentLayerChromium.h:
21161        (WebCore::ContentLayerChromium::drawsContent):
21162        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
21163        (WebCore::GraphicsLayerChromium::setMaskLayer):
21164        * platform/graphics/chromium/ImageLayerChromium.cpp:
21165        (WebCore::ImageLayerChromium::paintContentsIfDirty):
21166        (WebCore::ImageLayerChromium::updateCompositorResources):
21167        (WebCore::ImageLayerChromium::layerBounds):
21168        (WebCore::ImageLayerChromium::tilingTransform):
21169        * platform/graphics/chromium/ImageLayerChromium.h:
21170        * platform/graphics/chromium/LayerChromium.h:
21171        (WebCore::LayerChromium::invalidateRect):
21172        (WebCore::LayerChromium::paintContentsIfDirty):
21173        (WebCore::LayerChromium::setIsMask):
21174        (WebCore::LayerChromium::draw):
21175        * platform/graphics/chromium/LayerRendererChromium.cpp:
21176        (WebCore::LayerRendererChromium::drawRootLayer):
21177        (WebCore::LayerRendererChromium::drawLayers):
21178        (WebCore::LayerRendererChromium::paintContentsRecursive):
21179        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
21180        (WebCore::LayerRendererChromium::drawLayer):
21181        (WebCore::LayerRendererChromium::initializeSharedObjects):
21182        (WebCore::LayerRendererChromium::cleanupSharedObjects):
21183        * platform/graphics/chromium/LayerRendererChromium.h:
21184        * platform/graphics/chromium/LayerTilerChromium.cpp:
21185        (WebCore::LayerTilerChromium::setTileSize):
21186        (WebCore::LayerTilerChromium::getSingleTexture):
21187        (WebCore::LayerTilerChromium::invalidateRect):
21188        (WebCore::LayerTilerChromium::update):
21189        (WebCore::LayerTilerChromium::uploadCanvas):
21190        (WebCore::LayerTilerChromium::updateFromPixels):
21191        (WebCore::LayerTilerChromium::draw):
21192        (WebCore::LayerTilerChromium::unreserveTextures):
21193        * platform/graphics/chromium/LayerTilerChromium.h:
21194        (WebCore::LayerTilerChromium::setLayerRenderer):
21195        (WebCore::LayerTilerChromium::skipsDraw):
21196        * platform/graphics/chromium/PlatformCanvas.cpp:
21197        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
21198        (WebCore::PlatformCanvas::Painter::Painter):
21199        * platform/graphics/chromium/PlatformCanvas.h:
21200        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
21201        (WebCore::RenderSurfaceChromium::draw):
21202        * platform/graphics/chromium/RenderSurfaceChromium.h:
21203        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
21204        (WebCore::CCCanvasLayerImpl::draw):
21205        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
21206        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
21207        (WebCore::CCHeadsUpDisplay::draw):
21208        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
21209        (WebCore::CCLayerImpl::draw):
21210        * platform/graphics/chromium/cc/CCLayerImpl.h:
21211        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
21212        (WebCore::CCPluginLayerImpl::draw):
21213        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
21214        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
21215        (WebCore::CCVideoLayerImpl::draw):
21216        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
21217
212182011-04-14  James Robinson  <jamesr@chromium.org>
21219
21220        Reviewed by Darin Fisher.
21221
21222        [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
21223        https://bugs.webkit.org/show_bug.cgi?id=58575
21224
21225        Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
21226        is called, not contentsResized() so that we always update layers when adding or removing scrollbars.
21227
21228        Covered by several chromium pixel tests.
21229
21230        * page/FrameView.cpp:
21231        (WebCore::FrameView::contentsResized):
21232        (WebCore::FrameView::visibleContentsResized):
21233
212342011-04-07  David Levin  <levin@chromium.org>
21235
21236        Reviewed by Brady Eidson.
21237
21238        Fix some threading issues in IconDatabase.
21239        https://bugs.webkit.org/show_bug.cgi?id=57985
21240
21241        No functionality change so no new tests. It would be very hard to test this, but
21242        I am working on a change for bug 31639 to detect these (which makes layout tests
21243        fail for at least one of these issues).
21244
21245        * loader/icon/IconDatabase.cpp:
21246        (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks.
21247        (WebCore::IconDatabase::readFromDatabase): Ditto.
21248        (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
21249        is used, and this lock seems to be the one which consistently guards it.
21250
212512011-04-14  Dmitry Titov  <dimich@chromium.org>
21252
21253        Reviewed by David Levin.
21254
21255        Simplifying Worker termination sequence (removing unnecessary mutex)
21256        https://bugs.webkit.org/show_bug.cgi?id=57090
21257
21258        No new tests. Existing Worker tests should pass.
21259
21260        * bindings/js/JSEventListener.cpp:
21261        (WebCore::JSEventListener::handleEvent):
21262        Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
21263        JS might not run significant enough chunk to be terminated by Terminator) and set
21264        the flag to forbid future reentry into JS.
21265
21266        * bindings/js/WorkerScriptController.cpp:
21267        (WebCore::WorkerScriptController::evaluate):
21268        (WebCore::WorkerScriptController::scheduleExecutionTermination):
21269        (WebCore::WorkerScriptController::forbidExecution):
21270        (WebCore::WorkerScriptController::isExecutionForbidden):
21271        * bindings/js/WorkerScriptController.h:
21272        * bindings/v8/WorkerScriptController.cpp:
21273        (WebCore::WorkerScriptController::evaluate):
21274        (WebCore::WorkerScriptController::scheduleExecutionTermination):
21275        (WebCore::WorkerScriptController::forbidExecution):
21276        (WebCore::WorkerScriptController::isExecutionForbidden):
21277        * bindings/v8/WorkerScriptController.h:
21278        (WebCore::WorkerScriptController::proxy):
21279        Symmetrical changes to JSC and V8 WorkerScriptControllers:
21280        - remove Mutex around operations with executionForbidden flag.
21281        - set/check that flag only on Worker thread.
21282        - some renaming in attempt to better reflect what the methods do.
21283
21284        * bindings/v8/V8AbstractEventListener.cpp:
21285        (WebCore::V8AbstractEventListener::handleEvent):
21286        (WebCore::V8AbstractEventListener::invokeEventHandler):
21287        * bindings/v8/WorkerContextExecutionProxy.cpp:
21288        (WebCore::WorkerContextExecutionProxy::evaluate):
21289        Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
21290        This result indicates that TerminateExecution() was in effect - we should
21291        not reenter V8 anymore after that.
21292
21293        * dom/Document.h:
21294        (WebCore::Document::isJSExecutionForbidden):
21295        * dom/MessagePort.cpp:
21296        (WebCore::MessagePort::dispatchMessages):
21297        Stop dispatching messages once the worker context started to close.
21298        Per Workers spec, once WorkerGlobalScope.Close() is called, the next
21299        JS execution does not happen, including onmessage events. Before this
21300        change, Close() was setting the forbidExecution flag, indirectly stopping
21301        events from dispatching.
21302
21303        * dom/ScriptExecutionContext.h:
21304        * workers/WorkerContext.cpp:
21305        (WebCore::WorkerContext::close):
21306        (WebCore::WorkerContext::isJSExecutionForbidden):
21307        * workers/WorkerContext.h:
21308        * workers/WorkerThread.cpp:
21309        (WebCore::WorkerThread::workerThread):
21310        (WebCore::WorkerThread::stop):
21311
213122011-04-14  Beth Dakin  <bdakin@apple.com>
21313
21314        Reviewed by Simon Fraser.
21315
21316        https://bugs.webkit.org/show_bug.cgi?id=56493
21317        Drag-scrolling overlay scrollbars thumb in overflow regions does not work
21318        -and corresponding-
21319        <rdar://problem/9112688>
21320
21321        There was an original change to fix this in the normal hit-testing case, but hit
21322        testing of transformed and/or positioned objects was still broken. The transformed
21323        case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to
21324        calculateRects(). Getting positioned objects right is a little trickier. Those need
21325        to opt into using temporary clip rects during hit testing. To avoid doing that when
21326        it is not necessary, I added a new bit to ScrollView to track whether there are
21327        currently overlay scrollbars painted in the view.
21328        * platform/ScrollView.cpp:
21329        (WebCore::ScrollView::ScrollView):
21330        (WebCore::ScrollView::wheelEvent):
21331        * platform/ScrollView.h:
21332        (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
21333        (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
21334        * rendering/RenderLayer.cpp:
21335        (WebCore::RenderLayer::paintOverflowControls):
21336        (WebCore::RenderLayer::hitTestLayer):
21337        (WebCore::RenderLayer::updateClipRects):
21338        (WebCore::RenderLayer::calculateClipRects):
21339        (WebCore::RenderLayer::parentClipRects):
21340        (WebCore::RenderLayer::backgroundClipRect):
21341        (WebCore::RenderLayer::calculateRects):
21342        * rendering/RenderLayer.h:
21343
213442011-04-14  Antti Koivisto  <antti@apple.com>
21345
21346        Reviewed by Oliver Hunt.
21347
21348        REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load
21349        https://bugs.webkit.org/show_bug.cgi?id=57766
21350        <rdar://problem/9232183>
21351
21352        Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
21353        we can try to interpret the same cached resource in multiple ways.
21354
21355        Test: fast/css/font-face-repeated-url.html
21356
21357        * css/CSSFontFaceSource.cpp:
21358        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
21359        (WebCore::CSSFontFaceSource::getFontData):
21360        * css/CSSFontFaceSource.h:
21361        (WebCore::CSSFontFaceSource::setHasExternalSVGFont):
21362        * css/CSSFontSelector.cpp:
21363        (WebCore::CSSFontSelector::addFontFaceRule):
21364        * loader/cache/CachedFont.cpp:
21365        (WebCore::CachedFont::CachedFont):
21366        (WebCore::CachedFont::ensureCustomFontData):
21367        (WebCore::CachedFont::ensureSVGFontData):
21368
21369            Use TextResourceDecoder correctly.
21370
21371        (WebCore::CachedFont::getSVGFontById):
21372        * loader/cache/CachedFont.h:
21373        * svg/SVGFontFaceUriElement.cpp:
21374        (WebCore::SVGFontFaceUriElement::loadFont):
21375
213762011-04-14  Kenneth Russell  <kbr@google.com>
21377
21378        Reviewed by Dimitri Glazkov.
21379
21380        Enable building Web Audio with MKL in Chrome-branded builds
21381        https://bugs.webkit.org/show_bug.cgi?id=58561
21382
21383        Factored out MKL support into a separate GYP file that is
21384        incorporated in Chrome-branded builds. Changed how the FFTFrame
21385        implementations are pulled in and chosen so that all files can be
21386        unconditionally compiled.
21387
21388        Tested with both Chrome-branded build (incorporating MKL) and
21389        Chromium build (building just FFTFrameStub.cpp) on Linux.
21390
21391        * WebCore.gyp/WebCore.gyp:
21392        * platform/audio/fftw/FFTFrameFFTW.cpp:
21393        * platform/audio/mkl/FFTFrameMKL.cpp:
21394
213952011-04-14  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
21396
21397        Reviewed by Antonio Gomes.
21398
21399        [Qt] Web Inspector does not highlight elements
21400        https://bugs.webkit.org/show_bug.cgi?id=35125
21401
21402        We should call drawNodeHighlight() just if a highlighted node exists
21403        to avoid do save()/restore() on the Graphics Context unnecessarily.
21404
21405        Added highlightedNode() method to check if we need to call drawNodeHighlight()
21406        and only on this case do save()/restore() on the Graphics Context.
21407
21408        * inspector/InspectorAgent.h:
21409        (WebCore::InspectorAgent::highlightedNode):
21410
214112011-04-14  Adrienne Walker  <enne@google.com>
21412
21413        Reviewed by James Robinson.
21414
21415        [chromium] TilingData should return 1 tile when tile size is texture size.
21416        https://bugs.webkit.org/show_bug.cgi?id=58364
21417
21418        * platform/graphics/gpu/TilingData.cpp:
21419        (WebCore::computeNumTiles):
21420
214212011-04-14  Andy Estes  <aestes@apple.com>
21422
21423        Reviewed by Dan Bernstein.
21424
21425        REGRESSION (r72141): Acid3 rendering is not pixel perfect.
21426        https://bugs.webkit.org/show_bug.cgi?id=55734
21427
21428        WebCore should render text with a 0px font size at 0px regardless of
21429        minimum font size settings. This is compatible with other browsers that
21430        have a minimum font size preference and ensures pixel-perfect rendering
21431        on Acid3.
21432
21433        Test: fast/text/zero-font-size.html
21434
21435        * css/CSSStyleSelector.cpp:
21436        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If
21437        specifiedSize is 0, return specified size regardless of zoom factor or
21438        minimum font size.
21439
214402011-04-14  Matthew Delaney  <mdelaney@apple.com>
21441
21442        Reviewed by Simon Fraser.
21443
21444        Have canvas drawImageFromRect just redirect to use drawImage
21445        https://bugs.webkit.org/show_bug.cgi?id=58516
21446
21447        Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html
21448
21449        * html/canvas/CanvasRenderingContext2D.cpp:
21450        (WebCore::CanvasRenderingContext2D::drawImage):
21451        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21452        * html/canvas/CanvasRenderingContext2D.h:
21453
214542011-04-14  James Robinson  <jamesr@chromium.org>
21455
21456        Reviewed by Simon Fraser.
21457
21458        REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests)
21459        https://bugs.webkit.org/show_bug.cgi?id=58535
21460
21461        Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build.
21462
21463        * rendering/RenderLayerBacking.cpp:
21464        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
21465        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
21466        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
21467        * rendering/RenderLayerCompositor.cpp:
21468        (WebCore::shouldCompositeOverflowControls):
21469
214702011-04-14  Jian Li  <jianli@chromium.org>
21471
21472        Reviewed by Darin Fisher.
21473
21474        BlobBuilder should be vendor-prefixed
21475        https://bugs.webkit.org/show_bug.cgi?id=58518
21476
21477        Renamed BlobBuilder to WebKitBlobBuilder.
21478
21479        * Android.derived.jscbindings.mk:
21480        * Android.derived.v8bindings.mk:
21481        * CMakeLists.txt:
21482        * CodeGenerators.pri:
21483        * DerivedSources.cpp:
21484        * DerivedSources.make:
21485        * GNUmakefile.list.am:
21486        * WebCore.gypi:
21487        * WebCore.pro:
21488        * WebCore.vcproj/WebCore.vcproj:
21489        * WebCore.xcodeproj/project.pbxproj:
21490        * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp.
21491        (WebCore::WebKitBlobBuilder::WebKitBlobBuilder):
21492        (WebCore::WebKitBlobBuilder::getBuffer):
21493        (WebCore::WebKitBlobBuilder::append):
21494        (WebCore::WebKitBlobBuilder::getBlob):
21495        * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h.
21496        (WebCore::WebKitBlobBuilder::create):
21497        * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl.
21498        * page/DOMWindow.idl:
21499        * workers/WorkerContext.idl:
21500
215012011-04-14  Adam Barth  <abarth@webkit.org>
21502
21503        Remove some trailing whitespace.  I'm making this change to initialize
21504        the SVN credentials on a new commit-queue machine.  I'm sure there's a
21505        better way to do this, but I don't know it.
21506
21507        * dom/Document.cpp:
21508        (WebCore::Document::Document):
21509
215102011-04-14  Pratik Solanki  <psolanki@apple.com>
21511
21512        Reviewed by David Kilzer.
21513
21514        Set minimum priority for fast lane connections
21515        https://bugs.webkit.org/show_bug.cgi?id=58353
21516
21517        * WebCore.exp.in:
21518        * platform/mac/WebCoreSystemInterface.h:
21519        * platform/mac/WebCoreSystemInterface.mm:
21520        * platform/network/cf/ResourceRequestCFNet.cpp:
21521        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
21522        wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast
21523        lane connections.
21524
215252011-04-14  Kenneth Russell  <kbr@google.com>
21526
21527        Reviewed by Dimitri Glazkov.
21528
21529        Fix Web Audio build on Linux Debug and with stub FFTFrame
21530        https://bugs.webkit.org/show_bug.cgi?id=58555
21531
21532        Built Chromium/Linux in Debug mode to test.
21533
21534        * platform/audio/FFTFrame.cpp:
21535        * platform/audio/FFTFrameStub.cpp:
21536        (WebCore::FFTFrame::initialize):
21537        * webaudio/AudioContext.cpp:
21538        * webaudio/DefaultAudioDestinationNode.cpp:
21539
215402011-04-14  Yury Semikhatsky  <yurys@chromium.org>
21541
21542        Reviewed by Pavel Feldman.
21543
21544        [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer
21545        https://bugs.webkit.org/show_bug.cgi?id=58552
21546
21547        * bindings/v8/DebuggerScript.js:
21548        * bindings/v8/WorkerContextExecutionProxy.cpp:
21549        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context
21550        now have a debug id (similar to frame contexts).
21551        * bindings/v8/WorkerScriptDebugServer.cpp:
21552        (WebCore::retrieveWorkerContext):
21553        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
21554        (WebCore::WorkerScriptDebugServer::addListener):
21555        (WebCore::WorkerScriptDebugServer::removeListener):
21556        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
21557        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until
21558        debugger command is received and execution is resumed.
21559        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
21560        * bindings/v8/WorkerScriptDebugServer.h:
21561        * inspector/WorkerDebuggerAgent.cpp:
21562        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
21563        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
21564
215652011-04-14  Jian Li  <jianli@chromium.org>
21566
21567        Reviewed by Darin Fisher.
21568
21569        Add webkit prefix to Blob.slice method and change its semantics to be
21570        like Array.slice
21571        https://bugs.webkit.org/show_bug.cgi?id=58496
21572
21573        Renamed Blob.slice to blob.webkitSlice and made it take start and end
21574        parameters that're like Array.slice.
21575
21576        Test: fast/files/blob-slice-test.html
21577
21578        * fileapi/Blob.cpp:
21579        (WebCore::Blob::webkitSlice):
21580        * fileapi/Blob.h:
21581        * fileapi/Blob.idl:
21582
215832011-04-14  Andreas Kling  <kling@webkit.org>
21584
21585        Reviewed by Benjamin Poulain.
21586
21587        [Qt] Height of "Ahem" font differs from all other ports.
21588        https://bugs.webkit.org/show_bug.cgi?id=57954
21589
21590        QFontMetricsF::descent() returns the actual descent minus 1,
21591        to account for the baseline. Add it back to get correct metrics
21592        for WebKit.
21593
21594        QFontMetricsF::leading() may return negative values on some
21595        platforms (those using FreeType), this breaks WebKit's assumption
21596        that lineSpacing >= (ascent + descent), so we work around this in
21597        the same fashion as SimpleFontDataFreeType and SimpleFontDataPango.
21598
21599        This is covered by thousands of layout tests.
21600
21601        * platform/graphics/qt/SimpleFontDataQt.cpp:
21602        (WebCore::SimpleFontData::platformInit):
21603
216042011-04-14  Kevin Ollivier  <kevino@theolliviers.com>
21605
21606        [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1.
21607
21608        * platform/graphics/wx/FontPlatformDataWx.cpp:
21609        (WebCore::FontPlatformData::FontPlatformData):
21610        * platform/wx/FileSystemWx.cpp:
21611        (WebCore::writeToFile):
21612
216132011-04-14  Anders Carlsson  <andersca@apple.com>
21614
21615        Fix build.
21616
21617        RuntimeApplicationChecks.h needs to be a private header so WebKit can find it.
21618
21619        * WebCore.xcodeproj/project.pbxproj:
21620
216212011-04-14  Pavel Podivilov  <podivilov@chromium.org>
21622
21623        Unreviewed, build fix for r83864.
21624
21625        * inspector/front-end/DOMAgent.js:
21626        (WebInspector.DOMAgent.prototype._childNodeRemoved):
21627
216282011-04-14  Alexander Pavlov  <apavlov@chromium.org>
21629
21630        Reviewed by Pavel Feldman.
21631
21632        Web Inspector: Content area highlight does not cover scrollbars
21633        https://bugs.webkit.org/show_bug.cgi?id=58528
21634
21635        * inspector/DOMNodeHighlighter.cpp:
21636        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
21637
216382011-04-14  Pavel Podivilov  <podivilov@chromium.org>
21639
21640        Reviewed by Pavel Feldman.
21641
21642        Web Inspector: re-implement dom breakpoints.
21643        https://bugs.webkit.org/show_bug.cgi?id=57038
21644
21645        * WebCore.gypi:
21646        * WebCore.vcproj/WebCore.vcproj:
21647        * inspector/front-end/BreakpointManager.js: Removed.
21648        * inspector/front-end/BreakpointsSidebarPane.js:
21649        (WebInspector.NativeBreakpointsSidebarPane):
21650        (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
21651        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
21652        * inspector/front-end/CallStackSidebarPane.js:
21653        (WebInspector.CallStackSidebarPane.prototype.update):
21654        (WebInspector.CallStackSidebarPane.prototype.setStatus):
21655        * inspector/front-end/DOMAgent.js:
21656        (WebInspector.DOMNode):
21657        (WebInspector.DOMAgent.prototype._childNodeRemoved):
21658        * inspector/front-end/DOMBreakpointsSidebarPane.js: Added.
21659        (WebInspector.DOMBreakpointsSidebarPane):
21660        (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL):
21661        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint):
21662        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu):
21663        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
21664        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
21665        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s):
21666        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append):
21667        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage):
21668        (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved):
21669        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode):
21670        (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
21671        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint):
21672        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
21673        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
21674        (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked):
21675        (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
21676        (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
21677        (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId):
21678        (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
21679        (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints):
21680        * inspector/front-end/ElementsPanel.js:
21681        (WebInspector.ElementsPanel):
21682        (WebInspector.ElementsPanel.prototype.show):
21683        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
21684        (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs):
21685        * inspector/front-end/ElementsTreeOutline.js:
21686        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
21687        * inspector/front-end/ScriptsPanel.js:
21688        (WebInspector.ScriptsPanel):
21689        (WebInspector.ScriptsPanel.prototype.show):
21690        (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
21691        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
21692        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
21693        (WebInspector.ScriptsPanel.prototype._clearInterface):
21694        * inspector/front-end/Settings.js:
21695        (WebInspector.Settings):
21696        (WebInspector.Settings.prototype._set):
21697        * inspector/front-end/WebKit.qrc:
21698        * inspector/front-end/inspector.html:
21699        * inspector/front-end/inspector.js:
21700        (WebInspector.inspectedURLChanged):
21701        * inspector/front-end/utilities.js:
21702        ():
21703
217042011-04-14  Satish Sampath  <satish@chromium.org>
21705
21706        Reviewed by Kent Tamura.
21707
21708        Disable speech input for readonly and disabled input fields.
21709        https://bugs.webkit.org/show_bug.cgi?id=58540
21710
21711        Test: fast/speech/input-readonly-and-disabled.html
21712
21713        * html/shadow/TextControlInnerElements.cpp:
21714        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
21715        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
21716
217172011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21718
21719        Unreviewed. Rollout r83849 and r83857.
21720
21721        * inspector/Inspector.json:
21722        * inspector/InspectorDatabaseAgent.cpp:
21723        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21724        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
21725        (WebCore::InspectorDatabaseAgent::setFrontend):
21726        (WebCore::InspectorDatabaseAgent::clearFrontend):
21727        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
21728        (WebCore::InspectorDatabaseAgent::executeSQL):
21729        * inspector/InspectorDatabaseAgent.h:
21730        * inspector/front-end/inspector.js:
21731
217322011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
21733
21734        Unreviewed, rolling out r83847.
21735        http://trac.webkit.org/changeset/83847
21736        https://bugs.webkit.org/show_bug.cgi?id=58477
21737
21738        Chromium media controls do use button borders, so this change
21739        is incorrect.
21740
21741        * css/mediaControls.css:
21742        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
21743        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
21744        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
21745        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
21746        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
21747        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
21748        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
21749        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
21750        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
21751        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
21752        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
21753
217542011-04-14  Andrew Wason  <rectalogic@rectalogic.com>
21755
21756        Reviewed by Andreas Kling.
21757
21758        Fix GraphicsContext3DQt.cpp compilation warnings treated as errors
21759        https://bugs.webkit.org/show_bug.cgi?id=58478
21760
21761        No new tests.
21762
21763        * platform/graphics/qt/GraphicsContext3DQt.cpp:
21764        (WebCore::GraphicsContext3DInternal::getProcAddress):
21765         Do not use deprecated QString constructor to avoid warning.
21766        (WebCore::GraphicsContext3D::reshape):
21767         Use parenthesis to avoid warning.
21768
217692011-04-14  Andrey Kosyakov  <caseq@chromium.org>
21770
21771        Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820,
21772        as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner()
21773        with a different signature)
21774
21775        * platform/ScrollableArea.h:
21776
217772011-04-14  Mikhail Naganov  <mnaganov@chromium.org>
21778
21779        Reviewed by Pavel Feldman.
21780
21781        Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers.
21782        https://bugs.webkit.org/show_bug.cgi?id=58534
21783
21784        * inspector/front-end/DetailedHeapshotGridNodes.js:
21785        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
21786        (WebInspector.HeapSnapshotDiffNode):
21787        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
21788        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
21789        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
21790        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
21791        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
21792        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
21793        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
21794        * inspector/front-end/DetailedHeapshotView.js:
21795        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
21796        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
21797        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
21798        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
21799        * inspector/front-end/HeapSnapshot.js:
21800        (WebInspector.HeapSnapshot):
21801        (WebInspector.HeapSnapshot.prototype.dispose):
21802        (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex):
21803        (WebInspector.HeapSnapshot.prototype._numbersComparator):
21804        (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode):
21805        (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds):
21806        (WebInspector.HeapSnapshotsDiff):
21807        (WebInspector.HeapSnapshotsDiff.prototype.set baseIds):
21808        (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes):
21809        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
21810        * inspector/front-end/HeapSnapshotProxy.js:
21811        (WebInspector.HeapSnapshotProxy):
21812        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
21813        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
21814        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
21815        (WebInspector.HeapSnapshotProxy.prototype.dispose):
21816        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
21817        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
21818        (WebInspector.HeapSnapshotsDiffProxy):
21819        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
21820        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
21821        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
21822
218232011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21824
21825        Reviewed by Pavel Feldman.
21826
21827        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
21828        https://bugs.webkit.org/show_bug.cgi?id=57833
21829
21830        * inspector/Inspector.json:
21831        * inspector/InspectorDatabaseAgent.cpp:
21832        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21833        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
21834        (WebCore::InspectorDatabaseAgent::setFrontend):
21835        (WebCore::InspectorDatabaseAgent::enable):
21836        (WebCore::InspectorDatabaseAgent::disable):
21837        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
21838        (WebCore::InspectorDatabaseAgent::executeSQL):
21839        * inspector/InspectorDatabaseAgent.h:
21840        * inspector/front-end/inspector.js:
21841
218422011-04-14  Alexander Pavlov  <apavlov@chromium.org>
21843
21844        Reviewed by Yury Semikhatsky.
21845
21846        Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane
21847        https://bugs.webkit.org/show_bug.cgi?id=58530
21848
21849        * inspector/front-end/ElementsPanel.js:
21850
218512011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
21852
21853        Reviewed by Dimitri Glazkov.
21854
21855        REGRESSION(r83397) [Qt] When clicking on the media elements they
21856        grow 2 pixels.
21857        https://bugs.webkit.org/show_bug.cgi?id=58477
21858
21859        Since r83397 the media controls elements are actual DOM elements.
21860        Therefore the global style-sheet applies to them. html.css defines
21861        input[type="button"]:active to be border-style: inset which means
21862        that when the buttons are active they grow by their border size.
21863
21864        * css/mediaControls.css:
21865        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
21866        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
21867        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
21868        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
21869        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
21870        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
21871        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
21872        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
21873        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
21874        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
21875        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
21876
218772011-04-14  Diego Gonzalez  <diegohcg@webkit.org>
21878
21879        Reviewed by Kenneth Rohde Christiansen.
21880
21881        [Qt] Improve disable style for input elements in mobile theme
21882        https://bugs.webkit.org/show_bug.cgi?id=58480
21883
21884        * platform/qt/QtMobileWebStyle.cpp:
21885        (QtMobileWebStyle::drawControl):
21886        (QtMobileWebStyle::drawPrimitive):
21887        (QtMobileWebStyle::drawComplexControl):
21888
218892011-04-14  Pavel Feldman  <pfeldman@google.com>
21890
21891        Reviewed by Yury Semikhatsky.
21892
21893        Web Inspector: restore previous selection in Resources panel upon front-end reopen.
21894        https://bugs.webkit.org/show_bug.cgi?id=58533
21895
21896        * inspector/front-end/ResourceTreeModel.js:
21897        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
21898        * inspector/front-end/ResourcesPanel.js:
21899        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
21900        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
21901        (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
21902        * inspector/front-end/inspector.css:
21903        (#close-button-left, #close-button-right):
21904
219052011-04-14  Pavel Feldman  <pfeldman@google.com>
21906
21907        Reviewed by Yury Semikhatsky.
21908
21909        Web Inspector: implement incremental CSS free flow editing.
21910        https://bugs.webkit.org/show_bug.cgi?id=58529
21911
21912        * inspector/front-end/CSSStyleModel.js:
21913        (WebInspector.CSSStyleSheet.prototype.setText):
21914        * inspector/front-end/Resource.js:
21915        (WebInspector.Resource.prototype.isResourceRevision):
21916        (WebInspector.Resource.prototype.setContent):
21917        * inspector/front-end/ResourceView.js:
21918        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
21919        (WebInspector.CSSSourceFrame.prototype.editContent):
21920        (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit):
21921        (WebInspector.CSSSourceFrame.prototype.endEditing):
21922        * inspector/front-end/SourceFrame.js:
21923        (WebInspector.SourceFrame.prototype.commitEditing):
21924        (WebInspector.SourceFrame.prototype.editContent):
21925
219262011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21927
21928        Reviewed by Pavel Feldman.
21929
21930        Web Inspector:Duplicated display of storage db when running Web SQL from an iframe.
21931        https://bugs.webkit.org/show_bug.cgi?id=57830
21932
21933        There was created a new InspectorDatabaseResource entry for every didOpenDatabase event.
21934        Moreover there is new WebCore::Database for each didOpenDatabase event.
21935        I decided to change the old instance of the Database to a new one if they both use the same file.
21936
21937        * inspector/InspectorDatabaseAgent.cpp:
21938        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21939        (WebCore::InspectorDatabaseAgent::findByFileName):
21940        * inspector/InspectorDatabaseAgent.h:
21941        * inspector/InspectorDatabaseResource.h:
21942        (WebCore::InspectorDatabaseResource::setDatabase):
21943
219442011-04-14  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
21945
21946        Reviewed by Dirk Schulze.
21947
21948        svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build
21949        https://bugs.webkit.org/show_bug.cgi?id=58525
21950
21951        A renderer is created even for those filter primitives
21952        which parent is not a filter. A rendererIsNeeded() is
21953        added to SVGFilterPrimitiveStandardAttributes.
21954
21955        Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
21956
21957        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
21958        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
21959        * svg/SVGFilterPrimitiveStandardAttributes.h:
21960
219612011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
21962
21963        Reviewed by Andreas Kling.
21964
21965        REGRESSION(r83397) [Qt] When the video is loading and the poster is shown
21966        all the controls are not visible except the play button.
21967        https://bugs.webkit.org/show_bug.cgi?id=58484
21968
21969        r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when
21970        the controls should be disabled. Qt port paints its own controls, we don't want
21971        the default implementation to handle the hidden/disable state for us.
21972
21973        Existing tests covers the visibility of the controls.
21974
21975        * platform/qt/RenderThemeQt.h:
21976        (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor):
21977
219782011-04-14  Andreas Kling  <andreas.kling@nokia.com>
21979
21980        Reviewed by Kenneth Rohde Christiansen.
21981
21982        [Qt] Disabled form controls don't actually look disabled.
21983        https://bugs.webkit.org/show_bug.cgi?id=58490
21984
21985        Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance
21986        when painting controls. We must also set the QStyleOption's palette's current
21987        color group.
21988
21989        * platform/qt/RenderThemeQt.cpp:
21990        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
21991
219922011-04-14  Nancy Piedra  <nancy.piedra@nokia.com>
21993
21994        Reviewed by Benjamin Poulain.
21995
21996        [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter
21997        https://bugs.webkit.org/show_bug.cgi?id=58188
21998
21999        The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into
22000        a QStringList. This change parses and trims the list.
22001
22002        An additional test was added to video-can-play-type.html to test parsing of codec parameter.
22003
22004        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
22005        (WebCore::MediaPlayerPrivateQt::supportsType):
22006
220072011-04-14  Zoltan Herczeg  <zherczeg@webkit.org>
22008
22009        Reviewed by Nikolas Zimmermann.
22010
22011        Optimizing lightning filter to ARM-NEON SIMD instruction set
22012        https://bugs.webkit.org/show_bug.cgi?id=54456
22013
22014        NEON is the SIMD instruction set for ARM. This instruction set
22015        allows to speed-up the lighting filter by 4 times on ARM
22016        (on WebCore/manual-tests/svg-filter-animation.svg).
22017
22018        * WebCore.pri:
22019        * WebCore.pro:
22020        * platform/graphics/filters/FELighting.cpp:
22021        (WebCore::FELighting::drawLighting):
22022        (WebCore::getPowerCoefficients):
22023        (WebCore::FELighting::drawInteriorPixels):
22024        * platform/graphics/filters/FELighting.h:
22025        * platform/graphics/filters/arm/FELightingNEON.cpp: Added.
22026        (__attribute__):
22027        * platform/graphics/filters/arm/FELightingNEON.h: Added.
22028
220292011-04-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
22030
22031        Reviewed by Benjamin Poulain.
22032
22033        [Qt] GraphicsContext3D internal buffers are not freed
22034        https://bugs.webkit.org/show_bug.cgi?id=57530
22035
22036        * platform/graphics/qt/GraphicsContext3DQt.cpp:
22037        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
22038
220392011-04-14  Andy Estes  <aestes@apple.com>
22040
22041        Reviewed by Maciej Stachowiak.
22042
22043        REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling
22044        https://bugs.webkit.org/show_bug.cgi?id=52988
22045
22046        Safari RSS relies on synchronous dispatch of ScrollEvent to update the
22047        position of its sidebar during scrolling without producing a jiggling
22048        effect. Due to r75555, this event is no longer dispatched synchronously
22049        which results in stale repaints before the onscroll handler gets a
22050        chance to update the position of the sidebar.
22051
22052        Since it is impractical to resolve this issue in Safari RSS itself, add
22053        a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
22054
22055        No tests. This is an app-specific change that doesn't affect web
22056        content.
22057
22058        * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
22059        * CMakeLists.txt: Ditto.
22060        * GNUmakefile.list.am: Ditto.
22061        * WebCore.gypi: Ditto.
22062        * WebCore.pro: Ditto.
22063        * WebCore.vcproj/WebCore.vcproj: Ditto.
22064        * WebCore.xcodeproj/project.pbxproj: Ditto.
22065        * dom/EventQueue.cpp:
22066        (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
22067        synchronously if the embedding application is Safari and the document's
22068        URL scheme is "feed" or "feeds".
22069        (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
22070        ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
22071        returns true.
22072        * dom/EventQueue.h:
22073        * page/EventHandler.cpp:
22074        (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
22075        * platform/RuntimeApplicationChecks.cpp: Added.
22076        (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
22077        that checks if the main bundle's identifier is equal to a given string.
22078        This function returns false for non-CF platforms.
22079        (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
22080        (WebCore::applicationIsAppleMail): Ditto.
22081        (WebCore::applicationIsMicrosoftMessenger): Ditto.
22082        (WebCore::applicationIsAdobeInstaller): Ditto.
22083        (WebCore::applicationIsAOLInstantMessenger): Ditto.
22084        (WebCore::applicationIsMicrosoftMyDay): Ditto.
22085        (WebCore::applicationIsMicrosoftOutlook): Ditto.
22086        * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
22087        RuntimeApplicationChecks.cpp.
22088        * rendering/RenderLayer.cpp:
22089        (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
22090        * rendering/RenderListBox.cpp:
22091        (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
22092
220932011-04-14  John Bates  <jbates@google.com>
22094
22095        Reviewed by Kenneth Russell.
22096
22097        Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
22098        https://bugs.webkit.org/show_bug.cgi?id=58383
22099
22100        * platform/graphics/chromium/LayerRendererChromium.cpp:
22101        (WebCore::LayerRendererChromium::addChildContext):
22102        (WebCore::LayerRendererChromium::removeChildContext):
22103        * platform/graphics/chromium/LayerRendererChromium.h:
22104
221052011-04-14  Renata Hodovan  <reni@webkit.org>
22106
22107        Reviewed by Nikolas Zimmermann.
22108
22109        CSS related SVG*Element changes doesn't require relayout
22110        https://bugs.webkit.org/show_bug.cgi?id=56906
22111
22112        The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity
22113        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
22114        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
22115        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
22116
22117        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
22118               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
22119               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
22120               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
22121
22122        * platform/graphics/filters/FEFlood.cpp:
22123        (WebCore::FEFlood::setFloodColor):
22124        (WebCore::FEFlood::setFloodOpacity):
22125        * platform/graphics/filters/FEFlood.h:
22126        * platform/graphics/filters/FESpecularLighting.cpp:
22127        (WebCore::FESpecularLighting::setLightingColor):
22128        * platform/graphics/filters/FESpecularLighting.h:
22129        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
22130        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
22131        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
22132        * rendering/svg/SVGResourcesCache.cpp:
22133        (WebCore::SVGResourcesCache::clientStyleChanged):
22134        * svg/SVGFEDiffuseLightingElement.cpp:
22135        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
22136        * svg/SVGFEFloodElement.cpp:
22137        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
22138        * svg/SVGFEFloodElement.h:
22139        * svg/SVGFESpecularLightingElement.cpp:
22140        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
22141
221422011-04-13  James Robinson  <jamesr@chromium.org>
22143
22144        Reviewed by Simon Fraser.
22145
22146        Allow setting composited backing stores for scrollbars and scroll corners
22147        https://bugs.webkit.org/show_bug.cgi?id=57202
22148
22149        This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and
22150        scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to
22151        the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and
22152        place them into the correct place in the hierarchy.
22153
22154        FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls.
22155        that need them.  The overflow control layers are siblings of the frame's clip layer.
22156
22157        RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that
22158        need them.  Currently, layers are only created for overflow controls on layers that are already composited
22159        for other reasons and not necessarily for every RenderLayer with overflow.  Overflow control layers are siblings
22160        of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal
22161        children.
22162
22163        Tested by a number of compositing/ tests that have scrollbars and by these new tests:
22164               compositing/iframes/repaint-after-losing-scrollbars.html
22165               compositing/overflow/clip-content-under-overflow-controls.html
22166               compositing/overflow/content-gains-scrollbars.html
22167               compositing/overflow/content-loses-scrollbars.html
22168               compositing/overflow/overflow-scrollbar-layers.html
22169               compositing/overflow/repaint-after-losing-scrollbars.html
22170
22171        * css/CSSStyleSelector.cpp:
22172        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
22173        * page/FrameView.cpp:
22174        (WebCore::FrameView::layerForHorizontalScrollbar):
22175        (WebCore::FrameView::layerForVerticalScrollbar):
22176        (WebCore::FrameView::layerForScrollCorner):
22177        (WebCore::FrameView::syncCompositingStateForThisFrame):
22178        (WebCore::FrameView::contentsResized):
22179        (WebCore::FrameView::updateScrollCorner):
22180        * page/FrameView.h:
22181        * platform/ScrollView.cpp:
22182        (WebCore::ScrollView::wheelEvent):
22183        * platform/ScrollView.h:
22184        * platform/ScrollableArea.cpp:
22185        (WebCore::ScrollableArea::invalidateScrollbar):
22186        (WebCore::ScrollableArea::invalidateScrollCorner):
22187        * platform/ScrollableArea.h:
22188        (WebCore::ScrollableArea::paintScrollCorner):
22189        (WebCore::ScrollableArea::layerForHorizontalScrollbar):
22190        (WebCore::ScrollableArea::layerForVerticalScrollbar):
22191        (WebCore::ScrollableArea::layerForScrollCorner):
22192        * platform/Scrollbar.cpp:
22193        (WebCore::Scrollbar::invalidateRect):
22194        * platform/Scrollbar.h:
22195        * platform/ScrollbarThemeComposite.cpp:
22196        (WebCore::ScrollbarThemeComposite::paint):
22197        * platform/graphics/chromium/ContentLayerChromium.cpp:
22198        (WebCore::ContentLayerChromium::paintContentsIfDirty):
22199        * platform/graphics/chromium/LayerRendererChromium.cpp:
22200        (WebCore::LayerRendererChromium::create):
22201        (WebCore::LayerRendererChromium::LayerRendererChromium):
22202        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
22203        (WebCore::LayerRendererChromium::drawRootLayer):
22204        (WebCore::LayerRendererChromium::setViewport):
22205        (WebCore::LayerRendererChromium::updateAndDrawLayers):
22206        (WebCore::LayerRendererChromium::updateLayers):
22207        (WebCore::LayerRendererChromium::setRootLayer):
22208        (WebCore::LayerRendererChromium::cleanupSharedObjects):
22209        * platform/graphics/chromium/LayerRendererChromium.h:
22210        * platform/mac/ScrollAnimatorMac.mm:
22211        (-[ScrollbarPartAnimation setCurrentProgress:]):
22212        * platform/win/PopupMenuWin.h:
22213        (WebCore::PopupMenuWin::invalidateScrollCornerRect):
22214        (WebCore::PopupMenuWin::isScrollCornerVisible):
22215        (WebCore::PopupMenuWin::scrollCornerRect):
22216        * rendering/RenderLayer.cpp:
22217        (WebCore::RenderLayer::scrollCornerRect):
22218        (WebCore::RenderLayer::scrollCornerAndResizerRect):
22219        (WebCore::RenderLayer::isScrollCornerVisible):
22220        (WebCore::RenderLayer::invalidateScrollbarRect):
22221        (WebCore::RenderLayer::invalidateScrollCornerRect):
22222        (WebCore::RenderLayer::positionOverflowControls):
22223        (WebCore::RenderLayer::paintOverflowControls):
22224        (WebCore::RenderLayer::paintScrollCorner):
22225        (WebCore::RenderLayer::layerForHorizontalScrollbar):
22226        (WebCore::RenderLayer::layerForVerticalScrollbar):
22227        (WebCore::RenderLayer::layerForScrollCorner):
22228        * rendering/RenderLayer.h:
22229        (WebCore::RenderLayer::horizontalScrollbar):
22230        (WebCore::RenderLayer::verticalScrollbar):
22231        * rendering/RenderLayerBacking.cpp:
22232        (WebCore::RenderLayerBacking::~RenderLayerBacking):
22233        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
22234        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
22235        (WebCore::RenderLayerBacking::updateInternalHierarchy):
22236        (WebCore::RenderLayerBacking::updateClippingLayers):
22237        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
22238        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
22239        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
22240        (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
22241        (WebCore::paintScrollbar):
22242        (WebCore::RenderLayerBacking::paintContents):
22243        * rendering/RenderLayerBacking.h:
22244        (WebCore::RenderLayerBacking::layerForHorizontalScrollbar):
22245        (WebCore::RenderLayerBacking::layerForVerticalScrollbar):
22246        (WebCore::RenderLayerBacking::layerForScrollCorner):
22247        * rendering/RenderLayerCompositor.cpp:
22248        (WebCore::RenderLayerCompositor::updateCompositingLayers):
22249        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
22250        (WebCore::RenderLayerCompositor::frameViewDidChangeLocation):
22251        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
22252        (WebCore::RenderLayerCompositor::rootPlatformLayer):
22253        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
22254        (WebCore::paintScrollbar):
22255        (WebCore::RenderLayerCompositor::paintContents):
22256        (WebCore::shouldCompositeOverflowControls):
22257        (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
22258        (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
22259        (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
22260        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
22261        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
22262        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
22263        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
22264        * rendering/RenderLayerCompositor.h:
22265        (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar):
22266        (WebCore::RenderLayerCompositor::layerForVerticalScrollbar):
22267        (WebCore::RenderLayerCompositor::layerForScrollCorner):
22268        * rendering/RenderListBox.h:
22269        (WebCore::RenderListBox::isScrollCornerVisible):
22270        (WebCore::RenderListBox::scrollCornerRect):
22271        (WebCore::RenderListBox::invalidateScrollCornerRect):
22272
222732011-04-13  Cary Clark  <caryclark@chromium.org>
22274
22275         Reviewed by Eric Seidel.
22276
22277         [Chromium] allow concurrent Skia and CG datatypes
22278         https://bugs.webkit.org/show_bug.cgi?id=57848
22279
22280         The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics
22281         as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to
22282         draw elements like scrollbars and buttons.
22283
22284         Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at
22285         the same time. This requires only adding to the existing preprocessor commands, and will have no effect
22286         on any existing platform.
22287
22288         Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no
22289         functional change.
22290
22291         No new tests as this provides no new functionality.
22292
22293         * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible
22294         to a Skia-based Chrome Mac build.
22295         * platform/graphics/FloatRect.h: Ditto.
22296         * platform/graphics/FloatSize.h: Ditto.
22297         * platform/graphics/IntPoint.h: Ditto.
22298         * platform/graphics/IntRect.h: Ditto.
22299         * platform/graphics/IntSize.h: Ditto.
22300         * platform/graphics/cg/FloatPointCG.cpp: Ditto.
22301         * platform/graphics/cg/FloatRectCG.cpp: Ditto.
22302         * platform/graphics/cg/FloatSizeCG.cpp: Ditto.
22303         * platform/graphics/cg/IntPointCG.cpp: Ditto.
22304         * platform/graphics/cg/IntRectCG.cpp: Ditto.
22305         * platform/graphics/cg/IntSizeCG.cpp: Ditto.
22306
223072011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
22308
22309        Reviewed by Dimitri Glazkov.
22310
22311        Bug 58460 - childTypeAllowed() should be const
22312        https://bugs.webkit.org/show_bug.cgi?id=58460
22313
22314        Made childTypeAllowed const.
22315
22316        No new tests. (minor refactoring).
22317
22318        * dom/Attr.cpp:
22319        (WebCore::Attr::childTypeAllowed):
22320        * dom/Attr.h:
22321        * dom/CDATASection.cpp:
22322        (WebCore::CDATASection::childTypeAllowed):
22323        * dom/CDATASection.h:
22324        * dom/Comment.cpp:
22325        (WebCore::Comment::childTypeAllowed):
22326        * dom/Comment.h:
22327        * dom/Document.cpp:
22328        (WebCore::Document::childTypeAllowed):
22329        * dom/Document.h:
22330        * dom/DocumentFragment.cpp:
22331        (WebCore::DocumentFragment::childTypeAllowed):
22332        * dom/DocumentFragment.h:
22333        * dom/Element.cpp:
22334        (WebCore::Element::childTypeAllowed):
22335        * dom/Element.h:
22336        * dom/Node.h:
22337        (WebCore::Node::childTypeAllowed):
22338        * dom/Notation.cpp:
22339        (WebCore::Notation::childTypeAllowed):
22340        * dom/Notation.h:
22341        * dom/ProcessingInstruction.cpp:
22342        (WebCore::ProcessingInstruction::childTypeAllowed):
22343        * dom/ProcessingInstruction.h:
22344        * dom/Text.cpp:
22345        (WebCore::Text::childTypeAllowed):
22346        * dom/Text.h:
22347
223482011-04-13  Jon Lee  <jonlee@apple.com>
22349
22350        Reviewed by Maciej Stachowiak.
22351
22352        REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
22353        https://bugs.webkit.org/show_bug.cgi?id=58284
22354        <rdar://problem/9246149>
22355
22356        * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2
22357        * editing/EditingBehavior.h:
22358        (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking
22359
223602011-04-13  Yael Aharon  <yael.aharon@nokia.com>
22361
22362        Reviewed by Eric Seidel.
22363
22364        constructLine should take bidiRuns as a parameter
22365        https://bugs.webkit.org/show_bug.cgi?id=58458
22366
22367        Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is
22368        declared before constructLine.
22369
22370        No new tests as this is refactoring only.
22371
22372        * rendering/RenderBlock.h:
22373        * rendering/RenderBlockLineLayout.cpp:
22374        (WebCore::reachedEndOfTextRenderer):
22375        (WebCore::RenderBlock::constructLine):
22376        (WebCore::RenderBlock::layoutInlineChildren):
22377
223782011-04-13  Cary Clark  <caryclark@google.com>
22379
22380        Reviewed by Eric Seidel.
22381
22382        Allow CG Font support in Chrome Darwin build using Skia
22383        https://bugs.webkit.org/show_bug.cgi?id=58321
22384
22385        This allows Chrome to use Skia to do WebKit rendering, while
22386        using CoreGraphics for glyph creation and computing font metrics.
22387        It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME.
22388
22389        No new tests needed, no functionality change.
22390
22391        * loader/cache/CachedFont.cpp: Make CGFontRef functions and
22392        CG-specific font code available to Chrome builds on Darwin using Skia.
22393        * platform/graphics/FontPlatformData.h: Ditto.
22394        (WebCore::FontPlatformData::hash): Ditto.
22395        * platform/graphics/GlyphBuffer.h: Ditto.
22396        (WebCore::GlyphBuffer::advanceAt): Ditto.
22397        (WebCore::GlyphBuffer::add): Ditto.
22398        (WebCore::GlyphBuffer::expandLastAdvance): Ditto.
22399        * platform/graphics/SimpleFontData.h: Ditto.
22400
224012011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
22402
22403        Reviewed by Dimitri Glazkov.
22404
22405        The timeline of the video controls is unusable if the multimedia backend returns a
22406        infinite duration.
22407        https://bugs.webkit.org/show_bug.cgi?id=58452
22408
22409        In case the underlaying media element backend returns crazy values, e.g.
22410        an infinite duration for the video we need to bail out and hide the timeline
22411        rather than in a broken state where you can't use it. The previous code was just
22412        checking if the duration was NaN.
22413
22414        We can't control from JS what the backend will return as a duration for the video
22415        so we can't make an test for it.
22416
22417        * html/shadow/MediaControlRootElement.cpp:
22418        (WebCore::MediaControlRootElement::reset):
22419
224202011-04-13  Abhishek Arya  <inferno@chromium.org>
22421
22422        Reviewed by James Robinson.
22423
22424        Draw outline for render widgets.
22425        https://bugs.webkit.org/show_bug.cgi?id=57439
22426
22427        Test: fast/frames/iframe-outline.html
22428
22429        * rendering/RenderWidget.cpp:
22430        (WebCore::RenderWidget::paint):
22431
224322011-04-13  Kent Tamura  <tkent@chromium.org>
22433
22434        Reviewed by Dimitri Glazkov.
22435
22436        Change the representation of ShadowRoot nodes in render tree dumps
22437        https://bugs.webkit.org/show_bug.cgi?id=58432
22438
22439        Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment"
22440        in DRT results.
22441
22442        No new tests. This change doesn't affect existing tests yet.
22443
22444        * dom/DocumentFragment.h:
22445          Make nodeName() protected in order that ShdowRoot can override it.
22446        * dom/ShadowRoot.cpp:
22447        (WebCore::ShadowRoot::nodeName): Returns "#shadow-root".
22448        * dom/ShadowRoot.h: Declare nodeName().
22449        * rendering/RenderTreeAsText.cpp:
22450        (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary.
22451          We don't use isShadowRoot() here because the legacy shadow root nodes
22452          return true for isShadowRoot() and we don't want to update existing
22453          test results.
22454
224552011-04-13  Ryosuke Niwa  <rniwa@webkit.org>
22456
22457        Reviewed by Eric Seidel.
22458
22459        Merge LineOffsets and LineWidth
22460        https://bugs.webkit.org/show_bug.cgi?id=58411
22461
22462        Merged lineOffsets into LineWidth.
22463
22464        After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and
22465        shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because
22466        - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine
22467          besides LineOffsets' constructor
22468        - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak
22469        - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine
22470
22471        * rendering/RenderBlock.h:
22472        * rendering/RenderBlockLineLayout.cpp:
22473        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset
22474        (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth
22475        because the initial available width was used to be computed from lineOffsets.width().
22476        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added.
22477        (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates
22478        m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right.
22479        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from
22480        LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight.
22481        (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables
22482        of LineOffsets.
22483        (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine.
22484        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
22485        (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth.
22486
224872011-04-13  Ryuan Choi  <ryuan.choi@samsung.com>
22488
22489        Reviewed by Kenneth Rohde Christiansen.
22490
22491        [CMAKE] Separate DerivedSources.
22492        https://bugs.webkit.org/show_bug.cgi?id=58427
22493
22494        No new tests since these are refactoring only.
22495
22496        * CMakeLists.txt:
22497        * UseJSC.cmake:
22498
224992011-04-13  Noel Gordon  <noel.gordon@gmail.com>
22500
22501        Reviewed by Kenneth Russell.
22502
22503        [chromium] Fix canvas.toDataURL mimeType assertion
22504        https://bugs.webkit.org/show_bug.cgi?id=58425
22505
22506        Following r81213, reassert expected toDataURL() mimeType, remove an unused variable.
22507
22508        No new tests. Covered by existing tests.
22509
22510        * platform/graphics/skia/ImageBufferSkia.cpp:
22511        (WebCore::ImageToDataURL):
22512        (WebCore::ImageBuffer::toDataURL):
22513
225142011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
22515
22516        Reviewed by Andreas Kling.
22517
22518        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
22519        https://bugs.webkit.org/show_bug.cgi?id=58375
22520
22521        As QNAM now makes actual synchronous loads there is no need for a nested event loop
22522        in ResourceHandleQt.
22523
22524        Moving the call for QNetworkReplyWrapper::synchronousLoad from
22525        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
22526        redirections to work in synchronous requests.
22527
22528        * platform/network/qt/QNetworkReplyHandler.cpp:
22529        (WebCore::QNetworkReplyHandler::start):
22530        * platform/network/qt/QNetworkReplyHandler.h:
22531        * platform/network/qt/ResourceHandleQt.cpp:
22532        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
22533        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
22534        (WebCore::WebCoreSynchronousLoader::didReceiveData):
22535        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
22536        (WebCore::WebCoreSynchronousLoader::didFail):
22537        (WebCore::ResourceHandle::loadResourceSynchronously):
22538
225392011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
22540
22541        Reviewed by David Hyatt.
22542
22543        Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> tags
22544        https://bugs.webkit.org/show_bug.cgi?id=55930
22545
22546        Non-inline :before/:after generated content is now wrapped with an anonymous inline block.
22547
22548        Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent()
22549        to verify that the created render object is legal under the parent.
22550
22551        Tests: fast/ruby/after-block-doesnt-crash.html
22552               fast/ruby/after-table-doesnt-crash.html
22553               fast/ruby/before-block-doesnt-crash.html
22554               fast/ruby/before-table-doesnt-crash.html
22555
22556        * rendering/RenderObjectChildList.cpp:
22557        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
22558        * rendering/RenderRuby.cpp:
22559        (WebCore::isAnonymousRubyInlineBlock):
22560        (WebCore::rubyBeforeBlock):
22561        (WebCore::rubyAfterBlock):
22562        (WebCore::createAnonymousRubyInlineBlock):
22563        (WebCore::lastRubyRun):
22564        (WebCore::RenderRubyAsInline::addChild):
22565        (WebCore::RenderRubyAsInline::removeChild):
22566        (WebCore::RenderRubyAsBlock::addChild):
22567        (WebCore::RenderRubyAsBlock::removeChild):
22568        * rendering/RenderRuby.h:
22569
225702011-04-13  Matthew Delaney  <mdelaney@apple.com>
22571
22572        Reviewed by Simon Fraser.
22573
22574        [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp
22575        https://bugs.webkit.org/show_bug.cgi?id=58084
22576
22577        No new tests. Does not affect outward behavior.
22578
22579        * WebCore.gypi:
22580        * WebCore.vcproj/WebCore.vcproj:
22581        * WebCore.xcodeproj/project.pbxproj:
22582        * platform/graphics/ImageBuffer.h:
22583        * platform/graphics/ImageBufferData.h: Added.
22584        * platform/graphics/cairo/ImageBufferData.h: Removed.
22585        * platform/graphics/cairo/ImageBufferDataCairo.h: Added.
22586        * platform/graphics/cg/ImageBufferCG.cpp:
22587        (WebCore::ImageBuffer::getUnmultipliedImageData):
22588        (WebCore::ImageBuffer::getPremultipliedImageData):
22589        (WebCore::ImageBuffer::putUnmultipliedImageData):
22590        (WebCore::ImageBuffer::putPremultipliedImageData):
22591        * platform/graphics/cg/ImageBufferDataCG.cpp: Added.
22592        (WebCore::ImageBufferData::ImageBufferData):
22593        (WebCore::haveVImageRoundingErrorFix):
22594        (WebCore::ImageBufferData::getData):
22595        (WebCore::ImageBufferData::putData):
22596        * platform/graphics/cg/ImageBufferData.h: Removed.
22597        * platform/graphics/cg/ImageBufferDataCG.h: Added.
22598        * platform/graphics/chromium/ImageBufferData.h: Removed.
22599        * platform/graphics/chromium/ImageBufferDataSkia.h: Added.
22600        * platform/graphics/haiku/ImageBufferData.h: Removed.
22601        * platform/graphics/haiku/ImageBufferDataHaiku.h: Added.
22602        * platform/graphics/qt/ImageBufferData.h: Removed.
22603        * platform/graphics/qt/ImageBufferDataQt.h: Added.
22604        * platform/graphics/wince/ImageBufferData.h: Removed.
22605        * platform/graphics/wince/ImageBufferDataWince.h: Added.
22606        * platform/graphics/wx/ImageBufferData.h: Removed.
22607        * platform/graphics/wx/ImageBufferDataWx.h: Added.
22608
226092011-04-13  Simon Fraser  <simon.fraser@apple.com>
22610
22611        Reviewed by Dan Bernstein.
22612
22613        Remove std:: prefix on some min/max calls
22614        https://bugs.webkit.org/show_bug.cgi?id=58493
22615
22616        Remove std:: namespacing on min/max in favor of a 'using' clause.
22617
22618        * platform/graphics/RoundedIntRect.cpp:
22619        (WebCore::RoundedIntRect::Radii::expand):
22620        * rendering/style/RenderStyle.cpp:
22621        (WebCore::calcConstraintScaleFor):
22622
226232011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
22624
22625        Reviewed by Andreas Kling.
22626
22627        Replace our own RenderThemeQt::getMediaElementFromRenderObject by
22628        MediaControlsElement::toParentMediaElement used by every other port.
22629
22630        * platform/qt/RenderThemeQt.cpp:
22631        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
22632        (WebCore::RenderThemeQt::paintMediaMuteButton):
22633        (WebCore::RenderThemeQt::paintMediaPlayButton):
22634        (WebCore::RenderThemeQt::paintMediaSliderTrack):
22635        * platform/qt/RenderThemeQt.h:
22636
226372011-04-13  Geoffrey Garen  <ggaren@apple.com>
22638
22639        Reviewed by Oliver Hunt.
22640
22641        Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T>
22642        https://bugs.webkit.org/show_bug.cgi?id=58482
22643
22644        This will allow wrappers to make individual decisions about their lifetimes.
22645
22646        * bindings/js/DOMWrapperWorld.cpp:
22647        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
22648        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots):
22649        (WebCore::JSNodeHandleOwner::finalize):
22650        (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots):
22651        (WebCore::DOMObjectHandleOwner::finalize):
22652        * bindings/js/DOMWrapperWorld.h:
22653        (WebCore::JSNodeHandleOwner::JSNodeHandleOwner):
22654        (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner):
22655        (WebCore::DOMWrapperWorld::jsNodeHandleOwner):
22656        (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners
22657        for JSNode and DOMObject, our two hash table values. For now, the owners
22658        just take care to remove their handles from their respective hash tables.
22659
22660        Changed the hash table type to be a standard HashMap of weak pointers,
22661        instead of a WeakGCMap.
22662
22663        * bindings/js/JSDOMBinding.cpp:
22664        (WebCore::getCachedDOMObjectWrapper):
22665        (WebCore::cacheDOMObjectWrapper):
22666        (WebCore::cacheDOMNodeWrapper):
22667        (WebCore::isObservableThroughDOM):
22668        (WebCore::markDOMNodesForDocument):
22669        (WebCore::takeWrappers):
22670        (WebCore::updateDOMNodeDocument):
22671        (WebCore::markDOMObjectWrapper):
22672        (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to
22673        accomodate its new data type.
22674
22675        * bindings/js/JSNodeCustom.h:
22676        (WebCore::getCachedDOMNodeWrapper): Ditto.
22677
22678        * dom/Document.h: Updated declaration to match the above.
22679
226802011-04-13  Sam Weinig  <sam@webkit.org>
22681
22682        Fix Mac builds.
22683
22684        * WebCore.exp.in:
22685
226862011-04-13  Sam Weinig  <sam@webkit.org>
22687
22688        Reviewed by Gavin Barraclough.
22689
22690        WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
22691        <rdar://problem/9260518>
22692
22693        Notify the scrollbar painter controller when gesture scrolls begin and end.
22694
22695        * WebCore.exp.in:
22696        * platform/mac/ScrollAnimatorMac.h:
22697        * platform/mac/ScrollAnimatorMac.mm:
22698        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
22699        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
22700        (WebCore::ScrollAnimatorMac::beginScrollGesture):
22701        (WebCore::ScrollAnimatorMac::endScrollGesture):
22702        * platform/mac/WebCoreSystemInterface.h:
22703        * platform/mac/WebCoreSystemInterface.mm:
22704
227052011-04-13  Eric Carlson  <eric.carlson@apple.com>
22706
22707        Reviewed by Maciej Stachowiak.
22708
22709        MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:]
22710        https://bugs.webkit.org/show_bug.cgi?id=58451
22711        <rdar://problem/9278468>
22712
22713        No new tests, supported MIME types haven't changed.
22714
22715        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
22716        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use
22717        [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types.
22718
227192011-04-13  Eric Carlson  <eric.carlson@apple.com>
22720
22721        Reviewed by Alexey Proskuryakov.
22722
22723        Media engine fallback doesn't always work
22724        https://bugs.webkit.org/show_bug.cgi?id=58462
22725
22726        No new tests, this was verified manually with the url noted in the bug.
22727
22728        * platform/graphics/MediaPlayer.cpp:
22729        (WebCore::MediaPlayer::networkStateChanged):
22730
227312011-04-13  Zhenyao Mo  <zmo@google.com>
22732
22733        Reviewed by Kenneth Russell.
22734
22735        Extension3D needs to provide a way to check if an extension is enabled
22736        https://bugs.webkit.org/show_bug.cgi?id=58410
22737
22738        * html/canvas/WebGLRenderingContext.cpp:
22739        (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports().
22740        * platform/graphics/Extensions3D.h: Add isEnabled().
22741        * platform/graphics/chromium/Extensions3DChromium.h: Ditto.
22742        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
22743        (WebCore::Extensions3DOpenGL::isEnabled):
22744        * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
22745        * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
22746        (WebCore::Extensions3DQt::isEnabled):
22747        * platform/graphics/qt/Extensions3DQt.h: Ditto.
22748
227492011-04-13  Oliver Hunt  <oliver@apple.com>
22750
22751        Reviewed by Gavin Barraclough.
22752
22753        Make PropertyMapEntry use a WriteBarrier for specificValue
22754        https://bugs.webkit.org/show_bug.cgi?id=58407
22755
22756        Pass JSGlobalData reference on to APIs that now need them
22757
22758        * bindings/js/JSDOMWindowShell.h:
22759        (WebCore::JSDOMWindowShell::setWindow):
22760        * bindings/js/JSHTMLDocumentCustom.cpp:
22761        (WebCore::JSHTMLDocument::all):
22762
227632011-04-12  Pavel Podivilov  <podivilov@chromium.org>
22764
22765        Reviewed by Pavel Feldman.
22766
22767        Web Inspector: fix source mapping for de-obfuscated scripts.
22768        https://bugs.webkit.org/show_bug.cgi?id=58231
22769
22770        * inspector/front-end/ScriptFormatterWorker.js:
22771        (buildMapping):
22772        * inspector/front-end/SourceFile.js:
22773        (WebInspector.SourceMapping):
22774        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
22775        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
22776        (WebInspector):
22777        (WebInspector.FormattedSourceMapping):
22778        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
22779        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
22780
227812011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
22782
22783        Reviewed by Martin Robinson.
22784
22785        [GTK] Consider editable and non editable nodes when calculating selection offsets
22786        https://bugs.webkit.org/show_bug.cgi?id=58431
22787
22788        Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode().
22789
22790        This is needed to ensure that getSelectionOffsetsForObject() works
22791        well when non editable nodes are present in the selection, since
22792        firstPositionInNode() and lastPositionInNode() don't work in those
22793        cases (they assume the node is editable).
22794
22795        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22796        (getSelectionOffsetsForObject): Updated calls.
22797
227982011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
22799
22800        Reviewed by Martin Robinson.
22801
22802        [GTK] Missing nullchecks in GTK's a11y wrapper
22803        https://bugs.webkit.org/show_bug.cgi?id=58429
22804
22805        Add missing nullchecks for coreObject->document().
22806
22807        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22808        (atkParentOfRootObject): Add missing nullcheck.
22809        (getPangoLayoutForAtk): Ditto.
22810        (webkit_accessible_text_get_caret_offset): Ditto.
22811        (textExtents): Ditto.
22812        (webkit_accessible_editable_text_insert_text): Ditto.
22813        (webkit_accessible_editable_text_delete_text): Ditto.
22814
228152011-04-13  Thierry Reding  <thierry.reding@avionic-design.de>
22816
22817        Gtk+ port fails to build when enabling WebGL
22818        https://bugs.webkit.org/show_bug.cgi?id=58434
22819
22820        Fix the GTK+ WebGL build after the introduction of PlatformContextCairo.
22821
22822        * platform/graphics/GraphicsContext3D.h:
22823        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
22824        (WebCore::GraphicsContext3D::paintToCanvas):
22825
228262011-04-12  Philippe Normand  <pnormand@igalia.com>
22827
22828        Reviewed by Martin Robinson.
22829
22830        REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback
22831        https://bugs.webkit.org/show_bug.cgi?id=58312
22832
22833        Make sure to link the videoValve in all cases, fpsdisplaysink
22834        being used or not.
22835
22836        No new test, this patch fixes an internal feature of the player,
22837        not publicly exposed. Having two video sinks and pausing one while
22838        the other displays the fullscreen video is an implementation
22839        detail of the GStreamer player.
22840
22841        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
22842        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
22843
228442011-04-13  Ilya Tikhonovsky  <loislo@chromium.org>
22845
22846        Reviewed by Yury Semikhatsky.
22847
22848        Web Inspector: there is a problem if an optional param is not at the end of a params list.
22849        https://bugs.webkit.org/show_bug.cgi?id=58440
22850
22851        In InspectorBackend.dispatch method we are converting the message's params object into array of arguments
22852        for a callback. But in some cases the optional parameter is declared in the middle of the params list.
22853        That gets us into a problem if this param has been skipped in the message. In that case the tail of the
22854        event params will be shifted. We can slightly modify dispatcher and it will put the params in right places.
22855
22856        * inspector/CodeGeneratorInspector.pm:
22857
228582011-04-13  Ben Taylor  <bentaylor.solx86@gmail.com>
22859
22860        Reviewed by Eric Seidel.
22861
22862        https://bugs.webkit.org/show_bug.cgi?id=57337
22863
22864        Work around a bug in ternary opertions in the Solaris Studio
22865        12/12.1/12.2 compilers, using an if clause.
22866
22867        * dom/NodeRenderStyle.h:
22868        (WebCore::Node::renderStyle):
22869
228702011-04-13  Brian Salomon  <bsalomon@google.com>
22871
22872        Reviewed by Kenneth Russell.
22873
22874        Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object
22875        https://bugs.webkit.org/show_bug.cgi?id=58363
22876
22877        No new tests needed, exercised by all existing canvas2d tests.
22878
22879        * platform/graphics/chromium/DrawingBufferChromium.cpp:
22880        (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc):
22881        * platform/graphics/gpu/DrawingBuffer.h:
22882        * platform/graphics/skia/PlatformContextSkia.cpp:
22883        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
22884
228852011-04-13  Andrey Kosyakov  <caseq@chromium.org>
22886
22887        Unreviewed. Fix chromium clang build problem:
22888        ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method
22889        with a different signature in base class instead of overriding it.
22890
22891        * css/CSSStyleApplyProperty.cpp:
22892        (WebCore::ApplyPropertyExpandingSuppressValue::applyValue):
22893
228942011-04-13  Kinuko Yasuda  <kinuko@chromium.org>
22895
22896        Reviewed by David Levin.
22897
22898        Add mock implementation and plumbing code for unified Quota API
22899        https://bugs.webkit.org/show_bug.cgi?id=57927
22900
22901        Added mock implementation and some plumbing code for the quota API,
22902        that is based on the discussion on public-webapps:
22903        http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html
22904
22905        No new tests: tests will be added when we expose the API.
22906
22907        * CMakeLists.txt: Added new file entries.
22908        * DerivedSources.cpp: Added new file entries.
22909        * DerivedSources.make: Added new file entries.
22910        * GNUmakefile.am: Added new file entries.
22911        * WebCore.gypi: Added new file entries.
22912        * WebCore.pro: Added new file entries.
22913        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
22914        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
22915        * storage/StorageInfo.cpp: Added.
22916        * storage/StorageInfo.h: Added.
22917        * storage/StorageInfoErrorCallback.h: Added.
22918        * storage/StorageInfoQuotaCallback.h: Added.
22919        * storage/StorageInfoUsageCallback.h: Added.
22920
229212011-04-13  Gustavo Noronha Silva  <gns@gnome.org>
22922
22923        Reviewed by Martin Robinson.
22924
22925        [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself
22926        https://bugs.webkit.org/show_bug.cgi?id=58297
22927
22928        Make sure we do not load plugins that use symbols of a different
22929        GTK+ major version to avoid bugs and crashes.
22930
22931        * plugins/gtk/PluginPackageGtk.cpp:
22932        (WebCore::moduleMixesGtkSymbols):
22933        (WebCore::PluginPackage::load):
22934
229352011-04-13  Andrey Adaikin  <aandrey@google.com>
22936
22937        Reviewed by Pavel Feldman.
22938
22939        Web Inspector: Implement undo/redo in text editor
22940        https://bugs.webkit.org/show_bug.cgi?id=58426
22941
22942        Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.)
22943        Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z).
22944        FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo.
22945
22946        * inspector/front-end/SourceFrame.js:
22947        (WebInspector.SourceFrame.prototype.endEditing):
22948        * inspector/front-end/TextEditorModel.js:
22949        (WebInspector.TextEditorModel.prototype.setText):
22950        (WebInspector.TextEditorModel.prototype._innerSetText):
22951        (WebInspector.TextEditorModel.prototype._pushUndoableCommand):
22952        (WebInspector.TextEditorModel.prototype.undo):
22953        (WebInspector.TextEditorModel.prototype.redo):
22954        (WebInspector.TextEditorModel.prototype._doUndo):
22955        * inspector/front-end/TextViewer.js:
22956        (WebInspector.TextViewer.prototype._textChanged):
22957        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
22958        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
22959        (WebInspector.TextViewer.prototype._registerShortcuts):
22960        (WebInspector.TextViewer.prototype._cancelEditing):
22961        (WebInspector.TextViewer.prototype._handleUndoRedo):
22962        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
22963        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
22964        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
22965        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
22966        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
22967        (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
22968        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
22969        (WebInspector.TextEditorMainPanel.prototype.textChanged):
22970        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
22971
229722011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22973
22974        Reviewed by Yury Semikhatsky.
22975
22976        Web Inspector: make optional event parameter last to prevent regressions.
22977        https://bugs.webkit.org/show_bug.cgi?id=58433
22978
22979        * inspector/Inspector.json:
22980        * inspector/InspectorResourceAgent.cpp:
22981        (WebCore::InspectorResourceAgent::willSendRequest):
22982        * inspector/front-end/NetworkManager.js:
22983        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
22984
229852011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22986
22987        Not reviewed: revert Inspector.json change for breaking world.
22988
22989        * inspector/Inspector.json:
22990
229912011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22992
22993        Not reviewed: swap methods in the Inspector.json.
22994
22995        * inspector/Inspector.json:
22996
229972011-04-13  Csaba Osztrogonác  <ossy@webkit.org>
22998
22999        Unreviewed, rolling out r83695.
23000        http://trac.webkit.org/changeset/83695
23001        https://bugs.webkit.org/show_bug.cgi?id=58375
23002
23003        [Qt][WK2]It broke http tests
23004
23005        * platform/network/qt/QNetworkReplyHandler.cpp:
23006        (WebCore::QNetworkReplyHandler::start):
23007        (WebCore::QNetworkReplyHandler::synchronousLoad):
23008        * platform/network/qt/QNetworkReplyHandler.h:
23009        * platform/network/qt/ResourceHandleQt.cpp:
23010        (WebCore::WebCoreSynchronousLoader::resourceResponse):
23011        (WebCore::WebCoreSynchronousLoader::resourceError):
23012        (WebCore::WebCoreSynchronousLoader::data):
23013        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
23014        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23015        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23016        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23017        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23018        (WebCore::WebCoreSynchronousLoader::didFail):
23019        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
23020        (WebCore::ResourceHandle::loadResourceSynchronously):
23021
230222011-04-13  Pavel Podivilov  <podivilov@chromium.org>
23023
23024        Reviewed by Pavel Feldman.
23025
23026        Web Inspector: inactive style sheets should be read only.
23027        https://bugs.webkit.org/show_bug.cgi?id=58423
23028
23029        * inspector/front-end/ResourceView.js:
23030        (WebInspector.CSSSourceFrame):
23031        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
23032        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId):
23033        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet):
23034
230352011-04-13  Mikhail Naganov  <mnaganov@chromium.org>
23036
23037        Reviewed by Pavel Feldman.
23038
23039        Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers.
23040        https://bugs.webkit.org/show_bug.cgi?id=58320
23041
23042        Introduce a proxy object that emulates worker behavior and change UI code to cope with it.
23043
23044        * WebCore.gypi:
23045        * WebCore.vcproj/WebCore.vcproj:
23046        * inspector/front-end/DetailedHeapshotGridNodes.js:
23047        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted):
23048        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
23049        (WebInspector.HeapSnapshotGridNode.prototype._populate):
23050        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
23051        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
23052        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
23053        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate):
23054        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort):
23055        (WebInspector.HeapSnapshotGridNode.prototype.sort):
23056        (WebInspector.HeapSnapshotGenericObjectNode):
23057        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
23058        (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
23059        (WebInspector.HeapSnapshotObjectNode):
23060        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
23061        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
23062        (WebInspector.HeapSnapshotInstanceNode):
23063        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
23064        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
23065        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
23066        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
23067        (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
23068        (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff):
23069        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
23070        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
23071        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
23072        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
23073        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
23074        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
23075        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
23076        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
23077        (WebInspector.HeapSnapshotDominatorObjectNode):
23078        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
23079        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
23080        * inspector/front-end/DetailedHeapshotView.js:
23081        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
23082        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
23083        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
23084        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
23085        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived):
23086        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds):
23087        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived):
23088        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
23089        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
23090        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
23091        (WebInspector.HeapSnapshotRetainingPathsList):
23092        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
23093        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
23094        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
23095        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
23096        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
23097        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
23098        (WebInspector.DetailedHeapshotView.profileCallback):
23099        (WebInspector.DetailedHeapshotView):
23100        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
23101        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
23102        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1):
23103        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
23104        (WebInspector.DetailedHeapshotView.prototype.show):
23105        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
23106        * inspector/front-end/HeapSnapshot.js:
23107        * inspector/front-end/HeapSnapshotProxy.js: Added.
23108        * inspector/front-end/PleaseWaitMessage.js:
23109        * inspector/front-end/ProfilesPanel.js:
23110        (WebInspector.ProfilesPanel.prototype._reset):
23111        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
23112        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
23113        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
23114        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
23115        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
23116        * inspector/front-end/WebKit.qrc:
23117        * inspector/front-end/inspector.html:
23118
231192011-04-13  Alexander Pavlov  <apavlov@chromium.org>
23120
23121        Reviewed by Pavel Feldman.
23122
23123        Web Inspector: Web Page Performance auditing fails
23124        https://bugs.webkit.org/show_bug.cgi?id=58322
23125
23126        * inspector/front-end/AuditRules.js:
23127        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
23128        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
23129        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
23130        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
23131        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
23132        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
23133        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
23134        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
23135        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
23136        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
23137        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
23138
231392011-04-13  Pavel Feldman  <pfeldman@google.com>
23140
23141        Reviewed by Yury Semikhatsky.
23142
23143        Web Inspector: enumerate properties in Inspector.json using array, not object keys.
23144        https://bugs.webkit.org/show_bug.cgi?id=58418
23145
23146        * inspector/Inspector.json:
23147
231482011-04-06  Pavel Podivilov  <podivilov@chromium.org>
23149
23150        Reviewed by Pavel Feldman.
23151
23152        Web Inspector: add "De-obfuscate Source" item to source frame text area context menu.
23153        https://bugs.webkit.org/show_bug.cgi?id=57942
23154
23155        * English.lproj/localizedStrings.js:
23156        * inspector/front-end/DebuggerPresentationModel.js:
23157        (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled):
23158        * inspector/front-end/ScriptsPanel.js:
23159        (WebInspector.ScriptsPanel):
23160        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
23161        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
23162        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles):
23163        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
23164        * inspector/front-end/SourceFrame.js:
23165        (WebInspector.SourceFrame.prototype._contextMenu):
23166        (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu):
23167        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
23168        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
23169        (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles):
23170        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
23171
231722011-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
23173
23174        Reviewed by Dirk Schulze.
23175
23176        SVGTextContentElements textLength returns 0
23177        https://bugs.webkit.org/show_bug.cgi?id=52543
23178
23179        Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition.
23180
23181        If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal"
23182        will return the same as "textContentElement.getComputedTextLength()". If it's set the values
23183        aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the
23184        lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes.
23185        This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength()
23186        and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored
23187        in the SVG Text DOM API.
23188
23189        Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory).
23190        Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes).
23191
23192        Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization
23193        with getComputedTextLength().
23194
23195        Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
23196               svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html
23197               svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html
23198               svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html
23199               svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html
23200
23201        * rendering/svg/RenderSVGInlineText.cpp:
23202        (WebCore::RenderSVGInlineText::positionForPoint):
23203        * rendering/svg/SVGInlineFlowBox.cpp:
23204        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
23205        * rendering/svg/SVGInlineTextBox.cpp:
23206        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
23207        (WebCore::SVGInlineTextBox::selectionRect):
23208        (WebCore::SVGInlineTextBox::paintSelectionBackground):
23209        (WebCore::SVGInlineTextBox::paint):
23210        (WebCore::SVGInlineTextBox::calculateBoundaries):
23211        * rendering/svg/SVGTextChunkBuilder.cpp:
23212        (WebCore::SVGTextChunkBuilder::buildTextChunks):
23213        (WebCore::SVGTextChunkBuilder::layoutTextChunks):
23214        (WebCore::SVGTextChunkBuilder::addTextChunk):
23215        (WebCore::SVGTextChunkBuilder::processTextChunk):
23216        (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection):
23217        (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection):
23218        * rendering/svg/SVGTextFragment.h:
23219        (WebCore::SVGTextFragment::SVGTextFragment):
23220        (WebCore::SVGTextFragment::buildFragmentTransform):
23221        (WebCore::SVGTextFragment::transformAroundOrigin):
23222        (WebCore::SVGTextFragment::buildTransformForTextOnPath):
23223        (WebCore::SVGTextFragment::buildTransformForTextOnLine):
23224        * rendering/svg/SVGTextLayoutEngine.cpp:
23225        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
23226        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
23227        (WebCore::dumpTextBoxes):
23228        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
23229        (WebCore::SVGTextLayoutEngine::finishLayout):
23230        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
23231        * rendering/svg/SVGTextQuery.cpp:
23232        (WebCore::SVGTextQuery::textLengthCallback):
23233        (WebCore::SVGTextQuery::subStringLengthCallback):
23234        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
23235        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
23236        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
23237        (WebCore::calculateGlyphBoundaries):
23238        * svg/SVGTextContentElement.cpp:
23239        (WebCore::SVGTextContentElement::SVGTextContentElement):
23240        (WebCore::SVGTextContentElement::synchronizeTextLength):
23241        (WebCore::SVGTextContentElement::textLengthAnimated):
23242        (WebCore::SVGTextContentElement::parseMappedAttribute):
23243        (WebCore::SVGTextContentElement::svgAttributeChanged):
23244        * svg/SVGTextContentElement.h:
23245        (WebCore::SVGTextContentElement::specifiedTextLength):
23246        * svg/SVGTextPathElement.cpp:
23247        (WebCore::SVGTextPathElement::svgAttributeChanged):
23248        * svg/SVGTextPositioningElement.cpp:
23249        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
23250
232512011-04-13  Pavel Feldman  <pfeldman@google.com>
23252
23253        Reviewed by Yury Semikhatsky.
23254
23255        Web Inspector: requestDocument can result in race condition in DOMAgent.js
23256        https://bugs.webkit.org/show_bug.cgi?id=58415
23257
23258        * inspector/front-end/DOMAgent.js:
23259        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
23260        (WebInspector.DOMAgent.prototype.requestDocument):
23261
232622011-04-12  Pavel Feldman  <pfeldman@google.com>
23263
23264        Reviewed by Yury Semikhatsky.
23265
23266        Web Inspector: another pass of protocol renames.
23267        https://bugs.webkit.org/show_bug.cgi?id=58340
23268
23269        * inspector/Inspector.json:
23270        * inspector/InspectorDOMAgent.cpp:
23271        (WebCore::InspectorDOMAgent::getDocument):
23272        (WebCore::InspectorDOMAgent::performSearch):
23273        (WebCore::InspectorDOMAgent::setSearchingForNode):
23274        * inspector/InspectorDOMAgent.h:
23275        * inspector/InspectorDebuggerAgent.cpp:
23276        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
23277        * inspector/InspectorDebuggerAgent.h:
23278        * inspector/InspectorRuntimeAgent.cpp:
23279        (WebCore::InspectorRuntimeAgent::evaluate):
23280        * inspector/InspectorRuntimeAgent.h:
23281        * inspector/front-end/ElementsPanel.js:
23282        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
23283        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
23284
232852011-04-12  Luke Macpherson   <macpherson@chromium.org>
23286
23287        Reviewed by Dimitri Glazkov.
23288
23289        Implement remaining Background and Mask css properties in CSSStyleApplyProperty
23290        https://bugs.webkit.org/show_bug.cgi?id=58390
23291
23292        No new tests required as no functionality changed.
23293
23294        * css/CSSStyleApplyProperty.cpp:
23295        (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties.
23296        (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue.
23297
23298        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
23299        (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty.
23300
233012011-04-12  Sergey Glazunov  <serg.glazunov@gmail.com>
23302
23303        Reviewed by Dimitri Glazkov.
23304
23305        Element::setAttribute should check the namespace of an id attribute
23306        https://bugs.webkit.org/show_bug.cgi?id=58359
23307
23308        Test: fast/dom/id-attribute-with-namespace-crash.html
23309
23310        * dom/Element.cpp:
23311        (WebCore::Element::setAttribute):
23312
233132011-04-12  Mike Lawther  <mikelawther@chromium.org>
23314
23315        Reviewed by James Robinson.
23316
23317        Update boolean operators in RenderStyle to be compatible with check-webkit-style
23318        https://bugs.webkit.org/show_bug.cgi?id=58409
23319
23320        No new functionality, so no new tests.
23321
23322        * rendering/style/RenderStyle.cpp:
23323        (WebCore::RenderStyle::operator==):
23324        (WebCore::RenderStyle::inheritedNotEqual):
23325        (WebCore::positionedObjectMoved):
23326        (WebCore::RenderStyle::diff):
23327        (WebCore::RenderStyle::applyTransform):
23328        * rendering/style/RenderStyle.h:
23329        (WebCore::InheritedFlags::isOriginalDisplayInlineType):
23330
233312011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23332
23333        Reviewed by Andreas Kling.
23334
23335        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
23336        https://bugs.webkit.org/show_bug.cgi?id=58375
23337
23338        As QNAM now makes actual synchronous loads there is no need for a nested event loop
23339        in ResourceHandleQt.
23340
23341        Moving the call for QNetworkReplyWrapper::synchronousLoad from
23342        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
23343        redirections to work in synchronous requests.
23344
23345        * platform/network/qt/QNetworkReplyHandler.cpp:
23346        (WebCore::QNetworkReplyHandler::start):
23347        * platform/network/qt/QNetworkReplyHandler.h:
23348        * platform/network/qt/ResourceHandleQt.cpp:
23349        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23350        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23351        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23352        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23353        (WebCore::WebCoreSynchronousLoader::didFail):
23354        (WebCore::ResourceHandle::loadResourceSynchronously):
23355
233562011-04-12  Vangelis Kokkevis  <vangelis@chromium.org>
23357
23358        Reviewed by James Robinson.
23359
23360        [chromium] Move the calculation of the layer's z coordinate to the
23361        right spot so that it can be picked up by its sublayers.
23362        https://bugs.webkit.org/show_bug.cgi?id=58397
23363
23364        Test: platform/chromium/compositing/child-layer-3d-sorting.html
23365
23366        * platform/graphics/chromium/LayerRendererChromium.cpp:
23367        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
23368
233692011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23370
23371        Reviewed by Andreas Kling.
23372
23373        [Qt] QNetworkReplyHandler refactoring: signal queue
23374        https://bugs.webkit.org/show_bug.cgi?id=57075
23375
23376        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
23377        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
23378        from QNetworkReplyHandler class and encapsulated in its own class.
23379
23380        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
23381        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
23382        This together with empting the queue at wrapper destruction time makes sure that the handler will
23383        not receive calls from a dead wrapper.
23384
23385        The new class is named QNetworkReplyHandlerCallQueue.
23386
23387        * platform/network/qt/QNetworkReplyHandler.cpp:
23388        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
23389        (WebCore::QNetworkReplyHandlerCallQueue::push):
23390        (WebCore::QNetworkReplyHandlerCallQueue::lock):
23391        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
23392        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
23393        (WebCore::QNetworkReplyHandlerCallQueue::flush):
23394        (WebCore::QueueLocker::QueueLocker):
23395        (WebCore::QueueLocker::~QueueLocker):
23396        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
23397        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
23398        (WebCore::QNetworkReplyWrapper::receiveMetaData):
23399        (WebCore::QNetworkReplyWrapper::readyRead):
23400        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
23401        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
23402        (WebCore::QNetworkReplyHandler::resetState):
23403        (WebCore::QNetworkReplyHandler::release):
23404        (WebCore::QNetworkReplyHandler::finish):
23405        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
23406        (WebCore::QNetworkReplyHandler::forwardData):
23407        (WebCore::QNetworkReplyHandler::start):
23408        (WebCore::QNetworkReplyHandler::synchronousLoad):
23409        * platform/network/qt/QNetworkReplyHandler.h:
23410        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
23411        (WebCore::QNetworkReplyHandlerCallQueue::clear):
23412        (WebCore::QNetworkReplyWrapper::synchronousLoad):
23413        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
23414        * platform/network/qt/ResourceHandleQt.cpp:
23415        (WebCore::ResourceHandle::loadResourceSynchronously):
23416
234172011-04-12  Kenichi Ishibashi  <bashi@chromium.org>
23418
23419        Reviewed by Kent Tamura.
23420
23421        Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex.
23422        https://bugs.webkit.org/show_bug.cgi?id=58247
23423
23424        - Increment m_associatedElementsAfterIndex when the form owner and an
23425        inserted form associated element have the same parent chain.
23426        - Always iterate over m_associatedElements to decrease indexes when a
23427        form associated element is removed. This is needed for a case that the
23428        form associated element is removed from the form element due to
23429        deleting the 'form' attribute. No behavioral change expected with this
23430        change.
23431
23432        Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html
23433               fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html
23434
23435        * html/HTMLFormElement.cpp:
23436        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
23437        Incremet m_associatedElementsAfterIndex when compareDocumentPosition()
23438        returns DOCUMENT_POSITION_CONTAINED_BY.
23439        (WebCore::HTMLFormElement::removeFormElement):
23440        Always iterate m_associatedElements to adjust indexes.
23441
234422011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
23443
23444        Reviewed by Kenneth Rohde Christiansen.
23445
23446        [Qt] Do not show scrollbars when use mobile theme
23447        https://bugs.webkit.org/show_bug.cgi?id=58380
23448
23449        * platform/qt/ScrollbarThemeQt.cpp:
23450        (WebCore::ScrollbarThemeQt::scrollbarThickness):
23451
234522011-04-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
23453
23454        Reviewed by Alexey Proskuryakov.
23455
23456        The default backspace event handler should mark the event as handled if navigation succeeds.
23457        https://bugs.webkit.org/show_bug.cgi?id=58379
23458
23459        We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
23460        These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
23461        where history is managed by an external browser like IE.
23462
23463        No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
23464        It is non trivial to simulate this environment.
23465
23466        * page/EventHandler.cpp:
23467        (WebCore::EventHandler::defaultBackspaceEventHandler):
23468
234692011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
23470
23471        Reviewed by Eric Seidel.
23472
23473        Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth
23474        https://bugs.webkit.org/show_bug.cgi?id=58400
23475
23476        Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth.
23477
23478        * rendering/RenderBlock.h:
23479        * rendering/RenderBlockLineLayout.cpp:
23480        (WebCore::LineWidth::LineWidth):
23481        (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth.
23482        (WebCore::LineWidth::availableWidth): Added.
23483        (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets.
23484        (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates
23485        the available width.
23486        (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock.
23487        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
23488
234892011-04-12  Alexis Menard  <alexis.menard@openbossa.org>
23490
23491        Unreviewed warning fix.
23492
23493        MediaControlElements has been moved to html/shadow.
23494
23495        * WebCore.pro:
23496
234972011-04-12  Yael Aharon  <yael.aharon@nokia.com>
23498
23499        Reviewed by Eric Seidel.
23500
23501        Rename onEndChain and make it a static method.
23502        https://bugs.webkit.org/show_bug.cgi?id=58403
23503
23504        No new tests since this is refactoring only.
23505
23506        * rendering/InlineFlowBox.cpp:
23507        (WebCore::isLastChildForRenderer):
23508        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
23509        * rendering/InlineFlowBox.h:
23510
235112011-04-12  Eric Carlson  <eric.carlson@apple.com>
23512
23513        Not reviewed, build fix.
23514
23515        Fix non-accelerated build after r83667.
23516
23517        * html/HTMLMediaElement.cpp:
23518        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to
23519            mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING.
23520
235212011-04-12  Adrienne Walker  <enne@google.com>
23522
23523        Reviewed by James Robinson.
23524
23525        [chromium] TilingData mishandles very small texture sizes
23526        https://bugs.webkit.org/show_bug.cgi?id=58364
23527
23528        Use zero tiles when the texture size is too small for tiling.
23529
23530        * platform/graphics/gpu/TilingData.cpp:
23531        (WebCore::TilingData::TilingData):
23532        (WebCore::TilingData::setMaxTextureSize):
23533
235342011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
23535
23536        Unreviewed, rolling out r83634 and r83659.
23537        http://trac.webkit.org/changeset/83634
23538        http://trac.webkit.org/changeset/83659
23539        https://bugs.webkit.org/show_bug.cgi?id=57075
23540
23541        It made 2 tests time out
23542
23543        * platform/network/qt/QNetworkReplyHandler.cpp:
23544        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
23545        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
23546        (WebCore::QNetworkReplyWrapper::receiveMetaData):
23547        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
23548        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
23549        (WebCore::QNetworkReplyHandler::resetState):
23550        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
23551        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
23552        (WebCore::QNetworkReplyHandler::release):
23553        (WebCore::QNetworkReplyHandler::finish):
23554        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
23555        (WebCore::QNetworkReplyHandler::forwardData):
23556        (WebCore::QNetworkReplyHandler::start):
23557        * platform/network/qt/QNetworkReplyHandler.h:
23558        * platform/network/qt/ResourceHandleQt.cpp:
23559        (WebCore::WebCoreSynchronousLoader::resourceResponse):
23560        (WebCore::WebCoreSynchronousLoader::resourceError):
23561        (WebCore::WebCoreSynchronousLoader::data):
23562        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
23563        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23564        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23565        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23566        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23567        (WebCore::WebCoreSynchronousLoader::didFail):
23568        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
23569        (WebCore::ResourceHandle::loadResourceSynchronously):
23570
235712011-04-12  Sam Weinig  <sam@webkit.org>
23572
23573        Reviewed by Simon Fraser.
23574
23575        Frames prevent scrolling containing page
23576        <rdar://problem/8990409>
23577        https://bugs.webkit.org/show_bug.cgi?id=58392
23578
23579        Also fixes:
23580        Should rubber-band on pages with no scrollbars
23581        <rdar://problem/9034280>
23582
23583        * page/FrameView.cpp:
23584        (WebCore::FrameView::FrameView):
23585        Make the main frame rubber-band horizontally and vertically always.
23586
23587        * platform/ScrollTypes.h:
23588        Add ScrollElasticity enum.
23589
23590        * platform/ScrollableArea.cpp:
23591        Default to no elasticity.
23592
23593        (WebCore::ScrollableArea::ScrollableArea):
23594        * platform/ScrollableArea.h:
23595        (WebCore::ScrollableArea::setVerticalScrollElasticity):
23596        (WebCore::ScrollableArea::verticalScrollElasticity):
23597        (WebCore::ScrollableArea::setHorizontalScrollElasticity):
23598        (WebCore::ScrollableArea::horizontalScrollElasticity):
23599        Add state for horizontal and vertical elasticity.
23600
23601        * platform/mac/ScrollAnimatorMac.mm:
23602        (WebCore::ScrollAnimatorMac::handleWheelEvent):
23603        Bail out of new scrolling behavior if we can't rubber-band. By bailing before
23604        accepting the wheel event, we allow the wheel event to be forwarded. We will
23605        need to refine this logic to allow subframe scrolling in the future.
23606
23607        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
23608        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
23609        Switch stretching behavior based on the ScrollableArea's elasticity.
23610
236112011-04-12  Geoffrey Garen  <ggaren@apple.com>
23612
23613        Not reviewed.
23614
23615        Try to fix the Chromium build.
23616
23617        Why have one URL when you can have two at twice the price?
23618
23619        * platform/KURL.h:
23620        (WebCore::KURL::KURL):
23621        (WebCore::KURL::isHashTableDeletedValue):
23622        * platform/KURLGoogle.cpp:
23623        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
23624        * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash
23625        table deleted value constructor.
23626
236272011-04-12  Stephanie Lewis  <slewis@apple.com>
23628
23629        Reviewed by Oliver Hunt.
23630        https://bugs.webkit.org/show_bug.cgi?id=58280
23631        Fix a layout test by correctly comparing enums, and not adding exceptions.
23632
23633        * bindings/js/SerializedScriptValue.cpp:
23634        (WebCore::SerializedScriptValue::create):
23635        (WebCore::SerializedScriptValue::deserialize):
23636        * bindings/js/SerializedScriptValue.h:
23637
236382011-04-12  Eric Carlson  <eric.carlson@apple.com>
23639
23640        Reviewed by Simon Fraser.
23641
23642        Apple movie trailers play only audio
23643        https://bugs.webkit.org/show_bug.cgi?id=58339
23644        <rdar://problem/9237606>
23645
23646        No new tests, covered by existing layout and manual tests.
23647
23648        * html/HTMLMediaElement.cpp:
23649        (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions.
23650        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster
23651            change the display mode to Video and force a style recalc so the video layer gets hooked
23652            up the the render tree.
23653        * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we
23654            want to stop displaying the poster as soon as the first frame of video is available.
23655
23656        * html/HTMLVideoElement.cpp:
23657        (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when
23658            we want to display Video but the media engines doesn't have the first frame yet.
23659        * html/HTMLVideoElement.h:
23660        (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode
23661            is PosterWaitingForVideo.
23662
23663        * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes.
23664
23665        * platform/graphics/MediaPlayer.cpp:
23666        (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element.
23667        * platform/graphics/MediaPlayer.h:
23668        (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable):
23669
23670        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
23671        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize
23672            m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable.
23673        (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first
23674            frame of video has loaded, or audio will begin to play before we can show video.
23675        (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable.
23676        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is
23677            available, inform elment and begin playback if it was previousl requested.
23678        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
23679
23680        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
23681        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
23682        (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging.
23683        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto.
23684        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play.
23685        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause.
23686
236872011-04-12  Jian Li  <jianli@chromium.org>
23688
23689        Unreviewed, rolling out r83649.
23690        http://trac.webkit.org/changeset/83649
23691        https://bugs.webkit.org/show_bug.cgi?id=57563
23692
23693        This patch causes compiling errors for chromium
23694
23695        * platform/graphics/chromium/FontChromiumWin.cpp:
23696        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
23697        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
23698        (WebCore::Font::drawComplexText):
23699        * platform/graphics/chromium/ImageBufferData.h:
23700        * platform/graphics/chromium/LayerChromium.h:
23701        * platform/graphics/chromium/LayerRendererChromium.h:
23702        * platform/graphics/chromium/PlatformCanvas.cpp:
23703        (WebCore::PlatformCanvas::resize):
23704        * platform/graphics/chromium/PlatformCanvas.h:
23705        * platform/graphics/chromium/TransparencyWin.cpp:
23706        (WebCore::TransparencyWin::compositeTextComposite):
23707        (WebCore::TransparencyWin::makeLayerOpaque):
23708        * platform/graphics/skia/ImageBufferSkia.cpp:
23709        (WebCore::ImageBuffer::ImageBuffer):
23710        * platform/graphics/skia/ImageSkia.cpp:
23711        (WebCore::paintSkBitmap):
23712        (WebCore::Image::drawPattern):
23713        * platform/graphics/skia/PlatformContextSkia.cpp:
23714        (WebCore::PlatformContextSkia::PlatformContextSkia):
23715        (WebCore::PlatformContextSkia::setCanvas):
23716        (WebCore::PlatformContextSkia::isPrinting):
23717        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
23718        * platform/graphics/skia/PlatformContextSkia.h:
23719        (WebCore::PlatformContextSkia::canvas):
23720
237212011-04-12  Enrica Casucci  <enrica@apple.com>
23722
23723        Reviewed by Alexey Proskuryakov.
23724
23725        Implement non-activating clicks to allow dragging out of a background window.
23726        https://bugs.webkit.org/show_bug.cgi?id=55053
23727        <rdar://problem/9042197>
23728
23729        * WebCore.exp.in: Added new exported method.
23730
237312011-04-12  Geoffrey Garen  <ggaren@apple.com>
23732
23733        Reviewed by Geoffrey Garen.
23734
23735        Cleaned up hash traits, and added hash traits for handles
23736        https://bugs.webkit.org/show_bug.cgi?id=58381
23737
23738        * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication.
23739
23740        * platform/KURL.h:
23741        (WebCore::KURL::KURL):
23742        (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table
23743        deleted value constructor, to be more explicit and enable use of
23744        SimpleClassHashTraits.
23745
23746        * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication.
23747
23748        * platform/graphics/FontCache.cpp: Ditto.
23749        * platform/network/ProtectionSpaceHash.h: Ditto.
23750        * svg/properties/SVGAnimatedPropertyDescription.h: Ditto.
23751
237522011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23753
23754        Reviewed by Andreas Kling.
23755
23756        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
23757        https://bugs.webkit.org/show_bug.cgi?id=58375
23758
23759        As QNAM now makes actual synchronous loads there is no need for a nested event loop
23760        in ResourceHandleQt.
23761
23762        Moving the call for QNetworkReplyWrapper::synchronousLoad from
23763        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
23764        redirections to work in synchronous requests.
23765
23766        * platform/network/qt/QNetworkReplyHandler.cpp:
23767        (WebCore::QNetworkReplyHandler::start):
23768        * platform/network/qt/QNetworkReplyHandler.h:
23769        * platform/network/qt/ResourceHandleQt.cpp:
23770        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23771        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23772        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23773        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23774        (WebCore::WebCoreSynchronousLoader::didFail):
23775        (WebCore::ResourceHandle::loadResourceSynchronously):
23776
237772011-04-11  Jer Noble  <jer.noble@apple.com>
23778
23779        Reviewed by Simon Fraser.
23780
23781        REGRESSION: Vimeo fullscreen video displays incorrectly
23782        https://bugs.webkit.org/show_bug.cgi?id=58291
23783
23784        Set the RenderFullScreen's zIndex to the max.  And make sure to override
23785        a video element's specified width and height by making its full screen rules
23786        important.  Also, always show the controls when a media element is in full
23787        screen mode.
23788
23789        Test: fullscreen/video-specified-size.html
23790        Test: fullscreen/full-screen-zIndex.html
23791
23792        * css/fullscreen.css:
23793        (video:-webkit-full-screen):
23794        * html/HTMLMediaElement.cpp:
23795        (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode.
23796        (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen
23797            change event and hide or show the controls accordingly.
23798        * html/HTMLMediaElement.h:
23799        * rendering/RenderFullScreen.cpp:
23800        (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a
23801            vertical flexbox instead of a horizontal one.
23802
238032011-04-12  Chris Marrin  <cmarrin@apple.com>
23804
23805        Reviewed by Simon Fraser.
23806
23807        Page tears and stutters in WebKit2 when page is > 2048 pixels wide
23808        https://bugs.webkit.org/show_bug.cgi?id=58330
23809
23810        Added API to GraphicsLayer to disable switching to tiled layers. This is
23811        set in the nonCompositedContentLayer in WK2, causing that layer to never
23812        switch to tiles and avoiding the asynchronous update of the content during
23813        scroll.
23814
23815        * platform/graphics/ca/GraphicsLayerCA.cpp:
23816            Implement setAllowTiledLayer() to simulate a SizeChanged action to
23817            properly switch between tiled and untiled layer.
23818        * platform/graphics/ca/GraphicsLayerCA.h:
23819
238202011-04-12  Alok Priyadarshi  <alokp@chromium.org>
23821
23822        Reviewed by James Robinson.
23823
23824        Remove dependency on chromium skia::PlatformCanvas
23825        https://bugs.webkit.org/show_bug.cgi?id=57563
23826
23827        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas.
23828        The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium.
23829        We will eventually define an API that every port using skia will define.
23830
23831        * platform/graphics/chromium/FontChromiumWin.cpp:
23832        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
23833        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
23834        (WebCore::Font::drawComplexText):
23835        * platform/graphics/chromium/ImageBufferData.h:
23836        * platform/graphics/chromium/LayerChromium.h:
23837        * platform/graphics/chromium/LayerRendererChromium.h:
23838        * platform/graphics/chromium/PlatformCanvas.cpp:
23839        (WebCore::PlatformCanvas::resize):
23840        * platform/graphics/chromium/PlatformCanvas.h:
23841        * platform/graphics/chromium/TransparencyWin.cpp:
23842        (WebCore::TransparencyWin::compositeTextComposite):
23843        (WebCore::TransparencyWin::makeLayerOpaque):
23844        * platform/graphics/skia/ImageBufferSkia.cpp:
23845        (WebCore::ImageBuffer::ImageBuffer):
23846        * platform/graphics/skia/ImageSkia.cpp:
23847        (WebCore::paintSkBitmap):
23848        (WebCore::Image::drawPattern):
23849        * platform/graphics/skia/PlatformContextSkia.cpp:
23850        (WebCore::PlatformContextSkia::PlatformContextSkia):
23851        (WebCore::PlatformContextSkia::setCanvas):
23852        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
23853        * platform/graphics/skia/PlatformContextSkia.h:
23854        (WebCore::PlatformContextSkia::canvas):
23855        (WebCore::PlatformContextSkia::printing):
23856        (WebCore::PlatformContextSkia::setPrinting):
23857
238582011-04-11  Stephanie Lewis  <slewis@apple.com>
23859
23860        Reviewed by Oliver Hunt.
23861
23862        https://bugs.webkit.org/show_bug.cgi?id=58280
23863        <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
23864        Currently serialization and deserialization can throw javascript exceptions.  Since SerializedScriptValue is called in
23865        several places that do not always involve direct calls into javascript have the functions return an error code and the callers
23866        decide whether or not to throw exceptions.
23867
23868        Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h.  Walking that object creates
23869        additional objects which eventually causes serialization to end up throwing a stack overflow error.  Instead fail immediately.
23870
23871        Untangle header includes.  SerializedScriptValue was inheriting ScriptValue.h, but not using it.  Since ScriptValue depends on
23872        SerializedScriptValue this could lead to a circular header dependency.
23873
23874        No change in functionality, covered by current tests
23875
23876        * WebCore.exp.in:
23877        * bindings/js/JSMessageEventCustom.cpp:
23878        (WebCore::JSMessageEvent::initMessageEvent):
23879        * bindings/js/ScriptValue.cpp:
23880        (WebCore::ScriptValue::serialize):
23881        (WebCore::ScriptValue::deserialize):
23882        * bindings/js/ScriptValue.h:
23883        * bindings/js/SerializedScriptValue.cpp:
23884        (WebCore::CloneSerializer::serialize):
23885        (WebCore::CloneSerializer::dumpIfTerminal):
23886        (WebCore::CloneDeserializer::deserialize):
23887        (WebCore::SerializedScriptValue::create):
23888        (WebCore::SerializedScriptValue::deserialize):
23889        (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
23890        (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully):
23891        * bindings/js/SerializedScriptValue.h:
23892
23893        * bindings/js/JSWorkerContextBase.cpp: header include fix
23894        * loader/FrameLoader.h: header include fix
23895        * page/Frame.cpp: header include fix
23896
238972011-03-28  Adam Barth  <abarth@webkit.org>
23898
23899        Reviewed by Kenneth Russell.
23900
23901        Move libtess from WebCore/thirdparty to ThirdParty
23902        https://bugs.webkit.org/show_bug.cgi?id=57288
23903
23904        * WebCore.gyp/WebCore.gyp:
23905            - Add libtess as a legit dependency.
23906        * WebCore.gypi:
23907            - Remove libtess files from the gypi.
23908        * thirdparty/glu: Removed.
23909
239102011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
23911
23912        Reviewed by David Hyatt.
23913
23914        Bundle w and tmpW in findNextLineBreak together as a class
23915        https://bugs.webkit.org/show_bug.cgi?id=58362
23916
23917        Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth,
23918        and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class
23919        named LineWidth.
23920
23921        * rendering/RenderBlockLineLayout.cpp:
23922        (WebCore::LineWidth::LineWidth): Added.
23923        (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width.
23924        (WebCore::LineWidth::uncommittedWidth): Added.
23925        (WebCore::LineWidth::committedWidth): Added.
23926        (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width.
23927        (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width.
23928        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
23929
239302011-04-12  Yael Aharon  <yael.aharon@nokia.com>
23931
23932        Reviewed by Eric Seidel.
23933
23934        REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html
23935        https://bugs.webkit.org/show_bug.cgi?id=57459
23936
23937        Slightly change the way we decide if a InlineFlowBox is the last box for its renderer.
23938        We include the border in that box under these conditions:
23939        (1) The next line was not created, or it is constructed. We check the previous line for rtl.
23940        (2) The logicallyLastRun is not a descendant of this renderer.
23941        (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line.
23942        I added the tests from bug 47210, because now the draw the borders correctly.
23943
23944        Tests: fast/borders/bidi-002.html
23945               fast/borders/bidi-004.html
23946               fast/borders/bidi-009a.html
23947
23948        * rendering/InlineFlowBox.cpp:
23949        (WebCore::InlineFlowBox::onEndChain):
23950        (WebCore::isAnsectorAndWithinBlock):
23951        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
23952        * rendering/InlineFlowBox.h:
23953        * rendering/RenderBlock.h:
23954        * rendering/RenderBlockLineLayout.cpp:
23955        (WebCore::RenderBlock::constructLine):
23956        (WebCore::RenderBlock::layoutInlineChildren):
23957
239582011-04-12  Geoffrey Garen  <ggaren@apple.com>
23959
23960        Reviewed by Sam Weinig.
23961
23962        Cleaned up some Vector traits, and added missing Vector traits for handles
23963        https://bugs.webkit.org/show_bug.cgi?id=58372
23964
23965        * platform/graphics/BitmapImage.h: Added a FIXME because the current
23966        Vector traits for FrameData are logically incorrect, but I couldn't find
23967        a place where this currently results in bad behavior, and it's not
23968        immediately obvious what the right solution is.
23969
239702011-04-12  Dimitri Glazkov  <dglazkov@chromium.org>
23971
23972        Reviewed by Eric Seidel.
23973
23974        Move MediaControlElements to html/shadow.
23975        https://bugs.webkit.org/show_bug.cgi?id=58347
23976
23977        Mechanical move of the files.
23978
23979        * Android.mk: Updated the build file.
23980        * CMakeLists.txt: Ditto.
23981        * GNUmakefile.list.am: Ditto.
23982        * WebCore.gypi: Ditto.
23983        * WebCore.pro: Ditto.
23984        * WebCore.vcproj/WebCore.vcproj: Ditto.
23985        * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files.
23986        * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp.
23987        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
23988        * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h.
23989        * rendering/MediaControlElements.cpp: Removed.
23990        * rendering/MediaControlElements.h: Removed.
23991        * rendering/RenderingAllInOne.cpp: Removed the files that were moved.
23992
239932011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23994
23995        Reviewed by Andreas Kling.
23996
23997        [Qt] QNetworkReplyHandler refactoring: signal queue
23998        https://bugs.webkit.org/show_bug.cgi?id=57075
23999
24000        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
24001        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
24002        from QNetworkReplyHandler class and encapsulated in its own class.
24003
24004        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
24005        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
24006        This together with empting the queue at wrapper destruction time makes sure that the handler will
24007        not receive calls from a dead wrapper.
24008
24009        The new class is named QNetworkReplyHandlerCallQueue.
24010
24011        * platform/network/qt/QNetworkReplyHandler.cpp:
24012        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
24013        (WebCore::QNetworkReplyHandlerCallQueue::push):
24014        (WebCore::QNetworkReplyHandlerCallQueue::lock):
24015        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
24016        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
24017        (WebCore::QueueLocker::QueueLocker):
24018        (WebCore::QueueLocker::~QueueLocker):
24019        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
24020        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
24021        (WebCore::QNetworkReplyWrapper::receiveMetaData):
24022        (WebCore::QNetworkReplyWrapper::readyRead):
24023        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
24024        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
24025        (WebCore::QNetworkReplyHandler::resetState):
24026        (WebCore::QNetworkReplyHandler::release):
24027        (WebCore::QNetworkReplyHandler::finish):
24028        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
24029        (WebCore::QNetworkReplyHandler::forwardData):
24030        (WebCore::QNetworkReplyHandler::start):
24031        (WebCore::QNetworkReplyHandler::synchronousLoad):
24032        * platform/network/qt/QNetworkReplyHandler.h:
24033        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
24034        (WebCore::QNetworkReplyHandlerCallQueue::clear):
24035        (WebCore::QNetworkReplyWrapper::synchronousLoad):
24036        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
24037        * platform/network/qt/ResourceHandleQt.cpp:
24038        (WebCore::ResourceHandle::loadResourceSynchronously):
24039
240402011-04-12  David Hyatt  <hyatt@apple.com>
24041
24042        Reviewed by Dan Bernstein.
24043
24044        https://bugs.webkit.org/show_bug.cgi?id=58176
24045
24046        Inline replaced elements following positioned elements on lines are not rendered. Make sure the
24047        logic for skipping run construction in appendRunsForObject matches the new logic that I added
24048        to findNextLineBreak. If they don't match up, you risk confusing the run construction code and
24049        causing it to not make runs for objects that follow the positioned object on the line.
24050
24051        Added fast/inline/positioned-object-between-replaced-elements.html
24052
24053        * rendering/RenderBlockLineLayout.cpp:
24054        (WebCore::RenderBlock::appendRunsForObject):
24055
240562011-04-12  Alice Liu  <alice.liu@apple.com>
24057
24058        Reviewed by Sam Weinig.
24059
24060        https://bugs.webkit.org/show_bug.cgi?id=58292
24061        Provide new setting to allow site icon loading despite disabling automatic image loading in general.
24062
24063        Test: http/tests/misc/favicon-loads-with-icon-loading-override.html
24064
24065        * WebCore.exp.in: Added export symbol
24066        * loader/FrameLoader.cpp:
24067        (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded.
24068        * page/Settings.cpp:
24069        (WebCore::Settings::Settings): Add initializer for new setting
24070        (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting.
24071        * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting.
24072        (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter.
24073
240742011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
24075
24076        Reviewed by Eric Seidel.
24077
24078        Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle
24079        https://bugs.webkit.org/show_bug.cgi?id=55974
24080
24081        Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand
24082        to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue,
24083        setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles,
24084        diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn.
24085
24086        Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp
24087
24088        * editing/ApplyStyleCommand.cpp:
24089        * editing/ApplyStyleCommand.h:
24090        * editing/EditingStyle.cpp:
24091        (WebCore::reconcileTextDecorationProperties):
24092        (WebCore::StyleChange::StyleChange):
24093        (WebCore::setTextDecorationProperty):
24094        (WebCore::getRGBAFontColor):
24095        (WebCore::StyleChange::extractTextStyles):
24096        (WebCore::diffTextDecorations):
24097        (WebCore::fontWeightIsBold):
24098        (WebCore::getTextAlignment):
24099        (WebCore::getPropertiesNotIn):
24100        (WebCore::getIdentifierValue):
24101        (WebCore::isCSSValueLength):
24102        (WebCore::legacyFontSizeFromCSSValue):
24103        * editing/EditingStyle.h:
24104        (WebCore::StyleChange::cssStyle):
24105        (WebCore::StyleChange::applyBold):
24106        (WebCore::StyleChange::applyItalic):
24107        (WebCore::StyleChange::applyUnderline):
24108        (WebCore::StyleChange::applyLineThrough):
24109        (WebCore::StyleChange::applySubscript):
24110        (WebCore::StyleChange::applySuperscript):
24111        (WebCore::StyleChange::applyFontColor):
24112        (WebCore::StyleChange::applyFontFace):
24113        (WebCore::StyleChange::applyFontSize):
24114        (WebCore::StyleChange::fontColor):
24115        (WebCore::StyleChange::fontFace):
24116        (WebCore::StyleChange::fontSize):
24117        (WebCore::StyleChange::operator==):
24118        (WebCore::StyleChange::operator!=):
24119
241202011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
24121
24122        Reviewed by Kenneth Rohde Christiansen.
24123
24124        [Qt] Better padding for inputs and comboxes in mobile theme
24125        https://bugs.webkit.org/show_bug.cgi?id=58248
24126
24127        * platform/qt/RenderThemeQt.cpp:
24128        (WebCore::RenderThemeQt::setButtonPadding):
24129        (WebCore::RenderThemeQt::adjustTextFieldStyle):
24130        (WebCore::RenderThemeQt::paintTextField):
24131        (WebCore::RenderThemeQt::adjustMenuListStyle):
24132
241332011-04-11  Abhishek Arya  <inferno@chromium.org>
24134
24135        Reviewed by Dave Hyatt.
24136
24137        Replace insertChildNode with addChild in handleRunIn's reparenting
24138        of inlineRunIn to currBlock.
24139        https://bugs.webkit.org/show_bug.cgi?id=58228
24140
24141        Use addChild instead of insertChildNode since it handles
24142        correct placement of the children, esp where we cannot insert
24143        anything before the first child. e.g. details tag requires that its
24144        first child be a summary child and won't be able to remove child if
24145        that is not the case.
24146
24147        Test: fast/runin/runin-reparent-crash.html
24148
24149        * rendering/RenderBlock.cpp:
24150        (WebCore::RenderBlock::handleRunInChild):
24151
241522011-04-12  Chris Fleizach  <cfleizach@apple.com>
24153
24154        Unreviewed. Fixing Leopard build.
24155
24156        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
24157        https://bugs.webkit.org/show_bug.cgi?id=58304
24158
24159        checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING).
24160
24161        * accessibility/mac/AccessibilityObjectWrapper.mm:
24162        (AXAttributeStringSetSpelling):
24163
241642011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
24165
24166        Unreviewed. Added missing files to GNUmakefile.list.am.
24167
24168        * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp].
24169
241702011-04-12  Cris Neckar  <cdn@chromium.org>
24171
24172        Reviewed by Nikolas Zimmermann.
24173
24174        Add handling for non-svg inline text boxes in text box lists.
24175        https://bugs.webkit.org/show_bug.cgi?id=57933
24176
24177        Test: svg/text/svg-rtl-text-crash.html
24178
24179        * rendering/svg/RenderSVGInlineText.cpp:
24180        (WebCore::RenderSVGInlineText::positionForPoint):
24181        * rendering/svg/SVGInlineFlowBox.cpp:
24182        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
24183        * rendering/svg/SVGRenderTreeAsText.cpp:
24184        (WebCore::writeSVGInlineTextBoxes):
24185        * rendering/svg/SVGRootInlineBox.cpp:
24186        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
24187        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
24188        * rendering/svg/SVGTextQuery.cpp:
24189        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
24190
241912011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
24192
24193        Reviewed by Chris Fleizach.
24194
24195        [GTK] Expose menu items and menus as children of a menu bar
24196        https://bugs.webkit.org/show_bug.cgi?id=56659
24197
24198        Ensure menu items get exposed when they're children of menu bars.
24199
24200        * accessibility/AccessibilityRenderObject.cpp:
24201        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
24202        Consider menu bars as potential parent objects for menu items.
24203
242042011-04-12  Pavel Feldman  <pfeldman@google.com>
24205
24206        Reviewed by Yury Semikhatsky.
24207
24208        Web Inspector: remove scriptWorldType from the protocol.
24209        https://bugs.webkit.org/show_bug.cgi?id=58324
24210
24211        * inspector/Inspector.json:
24212        * inspector/InspectorDebuggerAgent.cpp:
24213        (WebCore::InspectorDebuggerAgent::didParseSource):
24214        * inspector/ScriptDebugListener.h:
24215        (WebCore::ScriptDebugListener::~ScriptDebugListener):
24216        * inspector/front-end/DebuggerModel.js:
24217        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
24218        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
24219        * inspector/front-end/Script.js:
24220        (WebInspector.Script):
24221        * inspector/front-end/ScriptsPanel.js:
24222        * inspector/front-end/SourceFile.js:
24223        (WebInspector.SourceFile):
24224
242252011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
24226
24227        Reviewed by Eric Carlson.
24228
24229        Should MediaControls::changedNetworkState fiddle with Fullscreen controls?
24230        https://bugs.webkit.org/show_bug.cgi?id=58163
24231
24232        Covered by existing tests and manual-tests/media-controls.html.
24233
24234        * html/shadow/MediaControls.cpp:
24235        (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here.
24236        (WebCore::MediaControls::changedNetworkState): ... from here.
24237
242382011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
24239
24240        Reviewed by Pavel Feldman.
24241
24242        Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
24243        https://bugs.webkit.org/show_bug.cgi?id=58335
24244
24245        It was the method for Inspector layout tests.
24246        We can use RuntimeAgent.evaluate instead.
24247
24248        * inspector/Inspector.json:
24249        * inspector/InspectorAgent.cpp:
24250        * inspector/InspectorAgent.h:
24251        * inspector/InspectorController.cpp:
24252        (WebCore::InspectorController::connectFrontend):
24253        * inspector/front-end/TestController.js:
24254        (WebInspector.TestController.prototype.notifyDone):
24255
242562011-04-12  Philippe Normand  <pnormand@igalia.com>
24257
24258        Reviewed by Martin Robinson.
24259
24260        [GStreamer] some public callbacks remain
24261        https://bugs.webkit.org/show_bug.cgi?id=58307
24262
24263        Cleanup of the player public/private APIs. Moving the GstMessage
24264        handling code inside of the player allowed some APIs to move to
24265        the private scope of the class.
24266
24267        No new tests, this patch is a cleanup and should not affect
24268        current tests coverage.
24269
24270        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24271        (WebCore::mediaPlayerPrivateMessageCallback):
24272        (WebCore::mediaPlayerPrivateSourceChangedCallback):
24273        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
24274        (WebCore::mediaPlayerPrivateMuteChangedCallback):
24275        (WebCore::mediaPlayerPrivateRepaintCallback):
24276        (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
24277        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
24278        (WebCore::MediaPlayerPrivateGStreamer::seek):
24279        (WebCore::MediaPlayerPrivateGStreamer::setRate):
24280        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
24281        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
24282        (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
24283        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
24284
242852011-04-12  Philippe Normand  <pnormand@igalia.com>
24286
24287        Reviewed by Martin Robinson.
24288
24289        [GStreamer] advertize HTTP Live Streaming mime-type
24290        https://bugs.webkit.org/show_bug.cgi?id=58318
24291
24292        Register the hls mime-type in the internal cache if found in the
24293        typefind factories.
24294
24295        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24296        (WebCore::mimeTypeCache):
24297
242982011-04-11  MORITA Hajime  <morrita@google.com>
24299
24300        Reviewed by Ryosuke Niwa.
24301
24302        RenderIndicator and ShadowBlockElement are no longer used.
24303        https://bugs.webkit.org/show_bug.cgi?id=58277
24304
24305        Removed RenderIndicator and ShadowBlockElement.
24306
24307        No new tests. Just removed unused code.
24308
24309        * CMakeLists.txt:
24310        * GNUmakefile.list.am:
24311        * WebCore.gypi:
24312        * WebCore.pro:
24313        * WebCore.vcproj/WebCore.vcproj:
24314        * WebCore.xcodeproj/project.pbxproj:
24315        * rendering/RenderIndicator.cpp: Removed.
24316        * rendering/RenderIndicator.h: Removed.
24317        * rendering/RenderMeter.h:
24318        * rendering/RenderingAllInOne.cpp:
24319        * rendering/ShadowElement.cpp:
24320        * rendering/ShadowElement.h:
24321
243222011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
24323
24324        Reviewed by Benjamin Poulain.
24325
24326        fast/css/dashboard-regions-attr-crash.html asserts
24327        https://bugs.webkit.org/show_bug.cgi?id=58233
24328
24329        Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
24330        not to generate incorrect properties into CSSPropertyNames.h.
24331
24332        * CodeGenerators.pri:
24333        * features.pri:
24334
243352011-04-12  Chris Fleizach  <cfleizach@apple.com>
24336
24337        Reviewed by Dan Bernstein.
24338
24339        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
24340        https://bugs.webkit.org/show_bug.cgi?id=58304
24341
24342        checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
24343        checkTextOfParagraph in order to retrieve misspelled ranges.
24344
24345        Existing tests cover this functionality.
24346
24347        * accessibility/mac/AccessibilityObjectWrapper.mm:
24348        (AXAttributeStringSetSpelling):
24349
243502011-04-12  Sergio Villar Senin  <svillar@igalia.com>
24351
24352        Reviewed by Martin Robinson.
24353
24354        [GTK] Remove m_idleHandler from ResourceHandleSoup
24355        https://bugs.webkit.org/show_bug.cgi?id=58319
24356
24357        The m_idleHandler attribute is no longer used in ResourceHandleSoup.
24358        No new tests needed, no functionality change.
24359
24360        * platform/network/ResourceHandleInternal.h:
24361        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
24362        * platform/network/soup/ResourceHandleSoup.cpp:
24363        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
24364
243652011-04-12  Andrey Adaikin  <aandrey@google.com>
24366
24367        Reviewed by Yury Semikhatsky.
24368
24369        Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
24370        https://bugs.webkit.org/show_bug.cgi?id=58314
24371
24372        * inspector/front-end/SourceFrame.js:
24373        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
24374
243752011-04-11  Pavel Podivilov  <podivilov@chromium.org>
24376
24377        Reviewed by Pavel Feldman.
24378
24379        Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
24380        https://bugs.webkit.org/show_bug.cgi?id=58238
24381
24382        Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
24383
24384        * inspector/front-end/SourceFrame.js:
24385        (WebInspector.SourceFrame):
24386        (WebInspector.SourceFrame.prototype.isContentEditable):
24387        (WebInspector.SourceFrame.prototype._createTextViewer):
24388        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
24389        (WebInspector.SourceFrame.prototype.commitEditing):
24390        (WebInspector.SourceFrame.prototype.cancelEditing):
24391        * inspector/front-end/TextViewer.js:
24392        (WebInspector.TextViewer.prototype._doubleClick):
24393        (WebInspector.TextViewer.prototype._registerShortcuts):
24394        (WebInspector.TextViewer.prototype._handleKeyDown):
24395        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
24396        (WebInspector.TextViewer.prototype._commitEditing):
24397        (WebInspector.TextViewer.prototype._cancelEditing):
24398        (WebInspector.TextViewerDelegate.prototype.endEditing):
24399        (WebInspector.TextViewerDelegate.prototype.commitEditing):
24400        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
24401
244022011-04-12  Pavel Feldman  <pfeldman@google.com>
24403
24404        Reviewed by Yury Semikhatsky.
24405
24406        Web Inspector: cookies view is empty even for sites with cookies.
24407        https://bugs.webkit.org/show_bug.cgi?id=58316
24408
24409        Test: http/tests/inspector/resource-tree-model.html
24410
24411        * inspector/front-end/ResourceTreeModel.js:
24412        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
24413
244142011-04-11  Stephen White  <senorblanco@chromium.org>
24415
24416        Reviewed by James Robinson.
24417
24418        [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
24419        https://bugs.webkit.org/show_bug.cgi?id=58258
24420
24421        When one accelerated canvas is drawn to another via drawImage(), if the
24422        prior call in the source canvas was non-accelerated, the
24423        hardware canvas is not up-to-date, and the results will be incorrect.
24424        Fixed by calling prepareForHardwareDraw() on the source context.
24425
24426        Test: fast/canvas/canvas-to-canvas.html
24427
24428        * platform/graphics/skia/ImageBufferSkia.cpp:
24429        (WebCore::ImageBuffer::draw):
24430
244312011-04-12  Mikhail Naganov  <mnaganov@chromium.org>
24432
24433        Reviewed by Pavel Feldman.
24434
24435        Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
24436        https://bugs.webkit.org/show_bug.cgi?id=58146
24437
24438        Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
24439               inspector/profiler/detailed-heapshots-comparison-show-all.html
24440               inspector/profiler/detailed-heapshots-comparison-show-next.html
24441               inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
24442               inspector/profiler/detailed-heapshots-comparison-sorting.html
24443               inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
24444               inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
24445               inspector/profiler/detailed-heapshots-dominators-show-all.html
24446               inspector/profiler/detailed-heapshots-dominators-show-next.html
24447               inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
24448               inspector/profiler/detailed-heapshots-dominators-sorting.html
24449               inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
24450
24451        * inspector/front-end/DetailedHeapshotView.js:
24452        (WebInspector.HeapSnapshotDiffDataGrid):
24453
244542011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
24455
24456        Reviewed by Yury Semikhatsky.
24457
24458        Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
24459        https://bugs.webkit.org/show_bug.cgi?id=58305
24460
24461        It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
24462
24463        * inspector/CodeGeneratorInspector.pm:
24464
244652011-04-11  Pavel Podivilov  <podivilov@chromium.org>
24466
24467        Reviewed by Pavel Feldman.
24468
24469        Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
24470        https://bugs.webkit.org/show_bug.cgi?id=58232
24471
24472        * WebCore.gypi:
24473
244742011-04-12  Pavel Podivilov  <podivilov@chromium.org>
24475
24476        Reviewed by Pavel Feldman.
24477
24478        Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
24479        https://bugs.webkit.org/show_bug.cgi?id=58273
24480
24481        * inspector/front-end/SourceFrame.js:
24482        (WebInspector.SourceFrame):
24483        (WebInspector.SourceFrame.prototype.get visible):
24484        (WebInspector.SourceFrame.prototype.set visible):
24485        (WebInspector.SourceFrame.prototype.show):
24486        (WebInspector.SourceFrame.prototype.hide):
24487        (WebInspector.SourceFrame.prototype.detach):
24488        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
24489        (WebInspector.SourceFrame.prototype.markDiff):
24490        (WebInspector.SourceFrame.prototype.addMessage):
24491        (WebInspector.SourceFrame.prototype.clearMessages):
24492        (WebInspector.SourceFrame.prototype.get scrollTop):
24493        (WebInspector.SourceFrame.prototype.set scrollTop):
24494        (WebInspector.SourceFrame.prototype.highlightLine):
24495        (WebInspector.SourceFrame.prototype._clearLineHighlight):
24496        (WebInspector.SourceFrame.prototype._initializeTextViewer):
24497        (WebInspector.SourceFrame.prototype.performSearch):
24498        (WebInspector.SourceFrame.prototype.searchCanceled):
24499        (WebInspector.SourceFrame.prototype._jumpToSearchResult):
24500        (WebInspector.SourceFrame.prototype.setExecutionLine):
24501        (WebInspector.SourceFrame.prototype.clearExecutionLine):
24502        (WebInspector.SourceFrame.prototype.resize):
24503
245042011-04-12  Pavel Feldman  <pfeldman@google.com>
24505
24506        Reviewed by Yury Semikhatsky.
24507
24508        Web Inspector: document runtime agent, share remote object definition between domains.
24509        https://bugs.webkit.org/show_bug.cgi?id=58246
24510
24511        * inspector/Inspector.json:
24512
245132011-04-12  Pavel Feldman  <pfeldman@google.com>
24514
24515        Reviewed by Yury Semikhatsky.
24516
24517        Web Inspector: document console domain, support cross-domain type references.
24518        https://bugs.webkit.org/show_bug.cgi?id=58240
24519
24520        * inspector/ConsoleMessage.cpp:
24521        (WebCore::messageSourceValue):
24522        (WebCore::messageTypeValue):
24523        (WebCore::messageLevelValue):
24524        (WebCore::ConsoleMessage::addToFrontend):
24525        * inspector/Inspector.json:
24526        * inspector/ScriptCallFrame.cpp:
24527        (WebCore::ScriptCallFrame::buildInspectorObject):
24528        * inspector/front-end/ConsoleView.js:
24529        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
24530        (WebInspector.ConsoleMessage):
24531        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
24532        (WebInspector.ConsoleMessage.prototype.isEqual):
24533        * inspector/front-end/NetworkManager.js:
24534        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
24535        * inspector/generate-inspector-idl:
24536        * page/Console.h:
24537
245382011-04-06  Philippe Normand  <pnormand@igalia.com>
24539
24540        Reviewed by Martin Robinson.
24541
24542        [GStreamer] RTSP playback broken
24543        https://bugs.webkit.org/show_bug.cgi?id=56930
24544
24545        Rely on {audio,video}-changed playbin2 signals instead of the
24546        -tags-changed signals because some media don't provide tags and
24547        then can trick the media-player to not paint video, for instance.
24548
24549        Also trigger a video size calculation after the video sink
24550        negotiated its caps. This is useful in the cases where
24551        audio-changed signal is emitted but the video sink takes more time
24552        to negociate caps with its peer.
24553
24554        This patch also fixes the rtsp manual-test with a new stream url
24555        which seems to be more permanent than the previous WWDC keynote
24556        stream.
24557
24558        * manual-tests/video-rtsp.html:
24559        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24560        (WebCore::mediaPlayerPrivateVideoChangedCallback):
24561        (WebCore::mediaPlayerPrivateAudioChangedCallback):
24562        (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
24563        (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
24564        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
24565        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
24566        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
24567        (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
24568        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
24569        (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
24570        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
24571        (WebCore::MediaPlayerPrivateGStreamer::paint):
24572        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
24573        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
24574
245752011-04-12  Vsevolod Vlasov  <vsevik@chromium.org>
24576
24577        Reviewed by Pavel Feldman.
24578
24579        Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
24580        https://bugs.webkit.org/show_bug.cgi?id=58135
24581
24582        Added statuses for failed/canceled resource loading.
24583
24584        * English.lproj/localizedStrings.js:
24585        * inspector/Inspector.json:
24586        * inspector/InspectorResourceAgent.cpp:
24587        (WebCore::InspectorResourceAgent::didFailLoading):
24588        * inspector/front-end/NetworkManager.js:
24589        * inspector/front-end/NetworkPanel.js:
24590        * inspector/front-end/Resource.js:
24591
245922011-04-12  Steve Block  <steveblock@google.com>
24593
24594        Reviewed by Oliver Hunt.
24595
24596        Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
24597        https://bugs.webkit.org/show_bug.cgi?id=40012
24598
24599        Covered by fast/dom/Geolocation/argument-types.html
24600
24601        * bindings/js/CallbackFunction.cpp:
24602        (WebCore::checkFunctionOnlyCallback):
24603
246042011-04-07  Philippe Normand  <pnormand@igalia.com>
24605
24606        Reviewed by Martin Robinson.
24607
24608        [GStreamer] report playback statistics
24609        https://bugs.webkit.org/show_bug.cgi?id=58033
24610
24611        Provide media playback statistics using fpsdisplaysink and
24612        position queries.
24613
24614        * manual-tests/video-statistics.html: Added.
24615        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24616        (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
24617        (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
24618        (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
24619        (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
24620        (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
24621        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
24622        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
24623        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
24624
246252011-04-11  Philippe Normand  <pnormand@igalia.com>
24626
24627        Reviewed by Martin Robinson.
24628
24629        [GStreamer] warnings in media/video-set-rate-from-pause.html
24630        https://bugs.webkit.org/show_bug.cgi?id=58220
24631
24632        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24633        (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
24634        pipeline if new rate is zero, like advised in the GStreamer
24635        documentation of gst_event_new_seek().
24636
246372011-04-11  Vangelis Kokkevis  <vangelis@chromium.org>
24638
24639        Reviewed by James Robinson.
24640
24641        [chromium] Properly invalidate the contents of ImageLayerChromium's
24642        when the actual image contents change.
24643        https://bugs.webkit.org/show_bug.cgi?id=58181
24644
24645        Test: compositing/images/content-image-change.html
24646
24647        * platform/graphics/chromium/ContentLayerChromium.cpp:
24648        (WebCore::ContentLayerChromium::updateTexture):
24649        * platform/graphics/chromium/ImageLayerChromium.cpp:
24650        (WebCore::ImageLayerChromium::ImageLayerChromium):
24651        (WebCore::ImageLayerChromium::setContents):
24652        (WebCore::ImageLayerChromium::paintContentsIfDirty):
24653        * platform/graphics/chromium/ImageLayerChromium.h:
24654
246552011-04-11  Simon Fraser  <simon.fraser@apple.com>
24656
24657        Reviewed by Dan Bernstein.
24658
24659        -webkit-box-shadow:inset does not animate transform as an inset shadow
24660        https://bugs.webkit.org/show_bug.cgi?id=45176
24661
24662        Two fixes:
24663        1. Don't run transitions between different shadow styles (normal vs. inset).
24664        2. When either source or destination is null, use a default shadow with a
24665        matching style so that the transition runs.
24666
24667        Test: transitions/mismatched-shadow-styles.html
24668
24669        * page/animation/AnimationBase.cpp:
24670        (WebCore::blendFunc):
24671        (WebCore::PropertyWrapperShadow::blend):
24672
246732011-04-11  John Bates  <jbates@google.com>
24674
24675        Reviewed by Kenneth Russell.
24676
24677        chromium support for glSetLatch and glWaitLatch between 3D contexts
24678        https://bugs.webkit.org/show_bug.cgi?id=58003
24679
24680        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
24681        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
24682        (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
24683        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
24684        * platform/graphics/chromium/Canvas2DLayerChromium.h:
24685        * platform/graphics/chromium/Extensions3DChromium.h:
24686        * platform/graphics/chromium/GLES2Canvas.cpp:
24687        (WebCore::Cubic::Cubic):
24688        * platform/graphics/chromium/LayerRendererChromium.cpp:
24689        (WebCore::LayerRendererChromium::LayerRendererChromium):
24690        (WebCore::LayerRendererChromium::updateAndDrawLayers):
24691        (WebCore::LayerRendererChromium::updateLayers):
24692        (WebCore::LayerRendererChromium::addChildContext):
24693        (WebCore::LayerRendererChromium::removeChildContext):
24694        * platform/graphics/chromium/LayerRendererChromium.h:
24695        * platform/graphics/chromium/WebGLLayerChromium.cpp:
24696        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
24697        (WebCore::WebGLLayerChromium::updateCompositorResources):
24698        (WebCore::WebGLLayerChromium::setContext):
24699        (WebCore::WebGLLayerChromium::setLayerRenderer):
24700        * platform/graphics/chromium/WebGLLayerChromium.h:
24701
247022011-04-11  Alexey Marinichev  <amarinichev@chromium.org>
24703
24704        Reviewed by James Robinson.
24705
24706        LayerChromium/CCLayerImpl ownership fix
24707        https://bugs.webkit.org/show_bug.cgi?id=58283
24708
24709        CCLayerImpl's m_owner field lifetime should match the lifetime of the
24710        corresponding LayerChromium.  This change moves resetting of m_owner
24711        into LayerChromium's destructor.
24712
24713        Tested similarly to bug 57577.
24714
24715        * platform/graphics/chromium/LayerChromium.cpp:
24716        (WebCore::LayerChromium::~LayerChromium):
24717        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
24718        (WebCore::CCLayerImpl::cleanupResources):
24719        * platform/graphics/chromium/cc/CCLayerImpl.h:
24720        (WebCore::CCLayerImpl::resetOwner):
24721
247222011-04-11  Daniel Bates  <dbates@rim.com>
24723
24724        Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
24725        (https://bugs.webkit.org/show_bug.cgi?id=53556).
24726
24727        * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
24728
247292011-04-11  Brady Eidson  <beidson@apple.com>
24730
24731        Reviewed by Maciej Stachowiak.
24732
24733        <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
24734        URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
24735
24736        Test: fast/loader/stateobjects/state-url-sets-links-visited.html
24737
24738        * loader/HistoryController.cpp:
24739        (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
24740        (WebCore::HistoryController::replaceState): Ditto.
24741
247422011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
24743
24744        Reviewed by Eric Carlson.
24745
24746        Rename MediaControls to MediaControlRootElement.
24747        https://bugs.webkit.org/show_bug.cgi?id=58250
24748
24749        Mechanical move using do-webcore-rename.
24750
247512011-04-11  Dean Jackson  <dino@apple.com>
24752
24753        Reviewed by Simon Fraser.
24754
24755        https://bugs.webkit.org/show_bug.cgi?id=58285
24756        CompositeAnimation is cleared while an AnimationBase is waiting for notification
24757
24758        Occasionally hardware animations would trigger a state where
24759        they would tell the AnimationControllerPrivate that it should notify
24760        any waiting animations that they are ready to start, even though
24761        the RenderObject had gone away and hence the CompositeAnimation
24762        had been destroyed. The fix is to zero the pointer from AnimationBase
24763        when the CompositeAnimation destructor runs (or its animations are
24764        cleared) and test the validity of the CompositeAnimation before it
24765        is used in AnimationBase.
24766
24767        * page/animation/AnimationBase.cpp:
24768        (WebCore::AnimationBase::updateStateMachine):
24769        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
24770        (WebCore::AnimationBase::updatePlayState):
24771        (WebCore::AnimationBase::freezeAtTime):
24772        (WebCore::AnimationBase::beginAnimationUpdateTime):
24773        - test that the CompositeAnimation exists
24774        * page/animation/AnimationBase.h:
24775        (WebCore::AnimationBase::clear):
24776        - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
24777        * page/animation/CompositeAnimation.cpp:
24778        (WebCore::CompositeAnimation::clearRenderer):
24779        (WebCore::CompositeAnimation::updateKeyframeAnimations):
24780        - call clear() rather than clearRenderer()
24781
247822011-04-11  Justin Novosad  <junov@chromium.org>
24783
24784        Reviewed by Kenneth Russell.
24785
24786        [Chromium] Text anti-aliasing fails when rendering text with shadow
24787        https://bugs.webkit.org/show_bug.cgi?id=57584
24788
24789        * platform/graphics/chromium/FontChromiumWin.cpp:
24790        (WebCore::drawGlyphsWin): new static function, code factored-out
24791        from WebCore::Font::drawGlyphs
24792        (WebCore::Font::drawGlyphs): may separate font rendering into two
24793        passes to allow foreground glyphs to be rendered with GDI when Skia
24794        is required for rendering shadows
24795        * platform/graphics/skia/SkiaFontWin.cpp:
24796        (WebCore::windowsCanHandleDrawTextShadow):
24797        Modified method so that it does not assume a shadow is present, and
24798        returns true if there is no shadow (GDI can draw 'no shadow')
24799        (WebCore::windowsCanHandleTextDrawing):
24800        Factored out into sub methods so that the the shadow and foregound
24801        glyph properties can be tested separately independently.
24802        (WebCore::windowsCanHandleTextDrawingWithoutShadow):
24803        New method returns true if the foreground glyph only has effect
24804        that can be draw with GDI
24805        (WebCore::paintSkiaText):
24806        * platform/graphics/skia/SkiaFontWin.h:
24807
248082011-04-11  Ryosuke Niwa  <rniwa@webkit.org>
24809
24810        Unreviewed, rolling out r83515.
24811        http://trac.webkit.org/changeset/83515
24812        https://bugs.webkit.org/show_bug.cgi?id=57178
24813
24814        Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
24815
24816        * rendering/InlineBox.cpp:
24817        (WebCore::InlineBox::nextOnLineExists):
24818        (WebCore::InlineBox::prevOnLineExists):
24819        * rendering/InlineBox.h:
24820        (WebCore::InlineBox::InlineBox):
24821
248222011-04-11  Brady Eidson  <beidson@apple.com>
24823
24824        Reverting, seeing something else still broken.  Sorry.
24825
24826        * html/HTMLTrackElement.cpp:
24827
248282011-04-11  Brady Eidson  <beidson@apple.com>
24829
24830        Fix the build.
24831
24832        * html/HTMLTrackElement.cpp: Case-sensitive, please.
24833
248342011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
24835
24836        Unreviewed build fix for Mac.
24837
24838        An idl file was added in the wrong place.
24839
24840        * WebCore.xcodeproj/project.pbxproj:
24841
248422011-04-11  Chris Marrin  <cmarrin@apple.com>
24843
24844        Rubberstamped by Dan Bernstein.
24845
24846        xhr.responseType = 'arraybuffer' works on Mac but not on Windows
24847        https://bugs.webkit.org/show_bug.cgi?id=50334
24848
24849        Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
24850        are always turned on now, so there's not need for the guard. I reenabled the
24851        test that was Skipped on Windows and it works now.
24852
24853        * bindings/js/JSXMLHttpRequestCustom.cpp:
24854        (WebCore::JSXMLHttpRequest::markChildren):
24855        (WebCore::JSXMLHttpRequest::send):
24856        (WebCore::JSXMLHttpRequest::response):
24857        * xml/XMLHttpRequest.cpp:
24858        (WebCore::XMLHttpRequest::responseArrayBuffer):
24859        (WebCore::XMLHttpRequest::setResponseType):
24860        (WebCore::XMLHttpRequest::send):
24861        (WebCore::XMLHttpRequest::clearResponseBuffers):
24862        (WebCore::XMLHttpRequest::didReceiveData):
24863        * xml/XMLHttpRequest.h:
24864        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
24865
248662011-04-11  Anna Cavender  <annacc@chromium.org>
24867
24868        Reviewed by Eric Carlson.
24869
24870        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
24871        https://bugs.webkit.org/show_bug.cgi?id=53556
24872
24873        No new tests. No real functionality added just yet.
24874
24875        * CMakeLists.txt:
24876        * CodeGenerators.pri:
24877        * Configurations/FeatureDefines.xcconfig:
24878        * DerivedSources.make:
24879        * GNUmakefile.am:
24880        * GNUmakefile.list.am:
24881        * WebCore.gypi:
24882        * WebCore.xcodeproj/project.pbxproj:
24883        * features.pri:
24884        * html/HTMLAttributeNames.in:
24885        * html/HTMLTagNames.in:
24886        * html/HTMLTrackElement.cpp: Added.
24887        (WebCore::HTMLTrackElement::HTMLTrackElement):
24888        (WebCore::HTMLTrackElement::create):
24889        (WebCore::HTMLTrackElement::insertedIntoTree):
24890        (WebCore::HTMLTrackElement::willRemove):
24891        (WebCore::HTMLTrackElement::src):
24892        (WebCore::HTMLTrackElement::setSrc):
24893        (WebCore::HTMLTrackElement::kind):
24894        (WebCore::HTMLTrackElement::setKind):
24895        (WebCore::HTMLTrackElement::srclang):
24896        (WebCore::HTMLTrackElement::setSrclang):
24897        (WebCore::HTMLTrackElement::label):
24898        (WebCore::HTMLTrackElement::setLabel):
24899        (WebCore::HTMLTrackElement::isDefault):
24900        (WebCore::HTMLTrackElement::setIsDefault):
24901        (WebCore::HTMLTrackElement::isURLAttribute):
24902        * html/HTMLTrackElement.h: Added.
24903        * html/HTMLTrackElement.idl: Added.
24904
249052011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
24906
24907        Reviewed by David Levin.
24908
24909        https://bugs.webkit.org/show_bug.cgi?id=57535
24910
24911        Better compile fix for Solaris 10/Sun Studio 12 CC
24912        needing <sys/time.h>
24913
24914        * loader/icon/IconRecord.h:
24915        * page/Page.h:
24916        * platform/network/ResourceResponseBase.h:
24917
249182011-04-11  Alexey Proskuryakov  <ap@apple.com>
24919
24920        Reviewed by Maciej Stachowiak.
24921
24922        WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
24923        https://bugs.webkit.org/show_bug.cgi?id=58265
24924        <rdar://problem/9221468>
24925
24926        * page/EventHandler.cpp:
24927        (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
24928        (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
24929        other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
24930        (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
24931        goes forward. All browsers do it.
24932        (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
24933        for a correct event.
24934        (WebCore::EventHandler::defaultTabEventHandler): Ditto.
24935
24936        * page/EventHandler.h: Added defaultBackspaceEventHandler.
24937
249382011-04-11  Matthew Delaney  <mdelaney@apple.com>
24939
24940        Reviewed by Dan Bernstein.
24941
24942        [CG] drawImage with a subimage bleeds pixel data at borders
24943        https://bugs.webkit.org/show_bug.cgi?id=58267
24944
24945        Test: fast/canvas/DrawImageSinglePixelStretch.html
24946
24947        * platform/graphics/cg/ImageCG.cpp:
24948        (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
24949
249502011-04-11  Chris Marrin  <cmarrin@apple.com>
24951
24952        Reviewed by Simon Fraser.
24953
24954        iframe/compositing propagation should also work for <object> and framesets
24955        https://bugs.webkit.org/show_bug.cgi?id=39037
24956
24957        Generalized the code that handles the parenting of composited <iframe> elements
24958        to include <frame> and <object> elements. This includes forcing the parent
24959        element to be composited and constructing the layer tree in the child document
24960        and properly parenting it. Much of the change is giving the function calls more
24961        generic names (from ...IFrame... to ...Frame...)
24962
24963        Compositing tests that were done in RenderIFrame have been moved to RenderPart
24964        since this is the highest base class common to all 3 elements.
24965
24966        I also renamed several ...IFrame... functions to
24967        ...Frame... and changed them so they work on a RenderPart for determining
24968        if the renderer is composited. One other detail is that <iframe> and
24969        <object> never share style since they might be composited. I had to add
24970        <frame> to that list.
24971
24972        Tests: compositing/framesets/composited-frame-alignment.html
24973               compositing/objects/composited-object-alignment.html
24974
24975        * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
24976        (WebCore::CSSStyleSelector::canShareStyleWithElement):
24977        * page/FrameView.cpp:
24978        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
24979        (WebCore::FrameView::setIsOverlapped):
24980        * rendering/RenderIFrame.cpp: Moved methods to RenderPart
24981        * rendering/RenderIFrame.h:
24982        * rendering/RenderLayerBacking.cpp:
24983        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
24984        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
24985        (WebCore::RenderLayerBacking::paintingGoesToWindow):
24986        * rendering/RenderLayerCompositor.cpp:
24987        (WebCore::RenderLayerCompositor::updateBacking):
24988        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
24989        (WebCore::RenderLayerCompositor::frameContentsCompositor):
24990        (WebCore::RenderLayerCompositor::parentFrameContentLayers):
24991        (WebCore::RenderLayerCompositor::didMoveOnscreen):
24992        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
24993        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
24994        (WebCore::RenderLayerCompositor::enclosingFrameElement):
24995        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
24996        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
24997        (WebCore::RenderLayerCompositor::requiresScrollLayer):
24998        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
24999        (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
25000        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
25001        * rendering/RenderLayerCompositor.h:
25002        * rendering/RenderPart.cpp: Functions moved from RenderIFrame
25003        (WebCore::RenderPart::requiresLayer):
25004        (WebCore::RenderPart::requiresAcceleratedCompositing):
25005        * rendering/RenderPart.h:
25006
250072011-04-11  Yael Aharon  <yael.aharon@nokia.com>
25008
25009        Reviewed by Eric Seidel.
25010
25011        InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
25012        https://bugs.webkit.org/show_bug.cgi?id=57178
25013
25014        Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
25015        No new tests needed because this is cleanup only.
25016
25017        * rendering/InlineBox.cpp:
25018        * rendering/InlineBox.h:
25019        (WebCore::InlineBox::InlineBox):
25020        (WebCore::InlineBox::setPrevOnLine):
25021
250222011-04-11  David Hyatt  <hyatt@apple.com>
25023
25024        Reviewed by Dan Bernstein.
25025
25026        https://bugs.webkit.org/show_bug.cgi?id=58261
25027
25028        Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
25029        to the new overflow model, I messed up the math and passed a bottom value where I should have
25030        passed a height value. This patch fixes the code to be logically equivalent to the way it
25031        was prior to my changes.
25032
25033        Added fast/overflow/trailing-float-linebox.html.
25034
25035        * rendering/RenderBlockLineLayout.cpp:
25036        (WebCore::RenderBlock::layoutInlineChildren):
25037
250382011-04-11  Adrienne Walker  <enne@google.com>
25039
25040        Unreviewed, rolling out r83500.
25041        http://trac.webkit.org/changeset/83500
25042        https://bugs.webkit.org/show_bug.cgi?id=57113
25043
25044        Regresses huge-layer-rotated test
25045
25046        * platform/graphics/chromium/ContentLayerChromium.cpp:
25047        (WebCore::ContentLayerChromium::ContentLayerChromium):
25048        (WebCore::ContentLayerChromium::~ContentLayerChromium):
25049        (WebCore::ContentLayerChromium::cleanupResources):
25050        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
25051        (WebCore::ContentLayerChromium::paintContentsIfDirty):
25052        (WebCore::ContentLayerChromium::resizeUploadBuffer):
25053        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
25054        (WebCore::ContentLayerChromium::updateTexture):
25055        (WebCore::ContentLayerChromium::draw):
25056        (WebCore::ContentLayerChromium::updateCompositorResources):
25057        (WebCore::ContentLayerChromium::unreserveContentsTexture):
25058        (WebCore::ContentLayerChromium::bindContentsTexture):
25059        (WebCore::ContentLayerChromium::dumpLayerProperties):
25060        * platform/graphics/chromium/ContentLayerChromium.h:
25061        (WebCore::ContentLayerChromium::drawsContent):
25062        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
25063        (WebCore::GraphicsLayerChromium::setMaskLayer):
25064        * platform/graphics/chromium/ImageLayerChromium.cpp:
25065        (WebCore::ImageLayerChromium::paintContentsIfDirty):
25066        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
25067        * platform/graphics/chromium/ImageLayerChromium.h:
25068        * platform/graphics/chromium/LayerChromium.h:
25069        (WebCore::LayerChromium::draw):
25070        * platform/graphics/chromium/LayerRendererChromium.cpp:
25071        (WebCore::LayerRendererChromium::drawRootLayer):
25072        (WebCore::LayerRendererChromium::drawLayers):
25073        (WebCore::LayerRendererChromium::paintContentsRecursive):
25074        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
25075        (WebCore::LayerRendererChromium::drawLayer):
25076        (WebCore::LayerRendererChromium::initializeSharedObjects):
25077        (WebCore::LayerRendererChromium::cleanupSharedObjects):
25078        * platform/graphics/chromium/LayerRendererChromium.h:
25079        (WebCore::LayerRendererChromium::contentLayerProgram):
25080        * platform/graphics/chromium/LayerTilerChromium.cpp:
25081        (WebCore::LayerTilerChromium::invalidateRect):
25082        (WebCore::LayerTilerChromium::update):
25083        (WebCore::LayerTilerChromium::updateFromPixels):
25084        (WebCore::LayerTilerChromium::draw):
25085        * platform/graphics/chromium/LayerTilerChromium.h:
25086        * platform/graphics/chromium/PlatformCanvas.cpp:
25087        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
25088        (WebCore::PlatformCanvas::Painter::Painter):
25089        * platform/graphics/chromium/PlatformCanvas.h:
25090        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
25091        (WebCore::RenderSurfaceChromium::draw):
25092        * platform/graphics/chromium/RenderSurfaceChromium.h:
25093        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
25094        (WebCore::CCCanvasLayerImpl::draw):
25095        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
25096        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
25097        (WebCore::CCHeadsUpDisplay::draw):
25098        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
25099        (WebCore::CCLayerImpl::draw):
25100        * platform/graphics/chromium/cc/CCLayerImpl.h:
25101        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
25102        (WebCore::CCPluginLayerImpl::draw):
25103        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
25104        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
25105        (WebCore::CCVideoLayerImpl::draw):
25106        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
25107
251082011-04-11  Jon Honeycutt  <jhoneycutt@apple.com>
25109
25110        <rdar://problem/9267042> Assertion failure on launch in
25111        LayerChangesFlusher::setHook().
25112
25113        https://bugs.webkit.org/show_bug.cgi?id=58270
25114
25115        Reviewed by Adam Roben.
25116
25117        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
25118        (WebCore::LayerChangesFlusher::setHook):
25119        MSDN says that the HINSTANCE passed in must be null if the thread ID
25120        passed is a thread created by this process and the hook procedure is
25121        within this process.
25122
251232011-04-11  MORITA Hajime  <morrita@google.com>
25124
25125        Unreviewed build fix.
25126
25127        Changeset 83492 broke Leopard build.
25128        https://bugs.webkit.org/show_bug.cgi?id=58268
25129
25130        * editing/Editor.cpp:
25131        (WebCore::Editor::markMisspellingsAfterTypingToWord):
25132
251332011-03-25  Adrienne Walker  <enne@google.com>
25134
25135        Reviewed by James Robinson.
25136
25137        [chromium] Tile content and image layers
25138        https://bugs.webkit.org/show_bug.cgi?id=57113
25139
25140        Layers tile by default if any dimension is larger than 512.  Smaller
25141        layers are contained within a single texture but still use the tiler
25142        infrastructure so that there's only one code path.
25143
25144        Remove large layer support from content layers.  Content layers no
25145        longer own a platform canvas--they own a tiler.  Refactor tiler to
25146        allow for better separation of update/upload/paint.  Add rect
25147        parameter to update and draw functions on layers for the layer-space
25148        rect of interest.  This is necessary to know which tiles need to be
25149        drawn.
25150
25151        * platform/graphics/chromium/ContentLayerChromium.cpp:
25152        (WebCore::ContentLayerChromium::ContentLayerChromium):
25153        (WebCore::ContentLayerChromium::~ContentLayerChromium):
25154        (WebCore::ContentLayerPainter::ContentLayerPainter):
25155        (WebCore::ContentLayerPainter::paint):
25156        (WebCore::ContentLayerChromium::paintContentsIfDirty):
25157        (WebCore::ContentLayerChromium::setLayerRenderer):
25158        (WebCore::ContentLayerChromium::tilingTransform):
25159        (WebCore::ContentLayerChromium::visibleLayerRect):
25160        (WebCore::ContentLayerChromium::layerBounds):
25161        (WebCore::ContentLayerChromium::updateLayerSize):
25162        (WebCore::ContentLayerChromium::draw):
25163        (WebCore::ContentLayerChromium::createTilerIfNeeded):
25164        (WebCore::ContentLayerChromium::updateCompositorResources):
25165        (WebCore::ContentLayerChromium::setTilingOption):
25166        (WebCore::ContentLayerChromium::bindContentsTexture):
25167        (WebCore::ContentLayerChromium::unreserveContentsTexture):
25168        (WebCore::ContentLayerChromium::setIsMask):
25169        (WebCore::ContentLayerChromium::dumpLayerProperties):
25170        * platform/graphics/chromium/ContentLayerChromium.h:
25171        (WebCore::ContentLayerChromium::drawsContent):
25172        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
25173        (WebCore::GraphicsLayerChromium::setMaskLayer):
25174        * platform/graphics/chromium/ImageLayerChromium.cpp:
25175        (WebCore::ImageLayerChromium::paintContentsIfDirty):
25176        (WebCore::ImageLayerChromium::updateCompositorResources):
25177        (WebCore::ImageLayerChromium::layerBounds):
25178        (WebCore::ImageLayerChromium::tilingTransform):
25179        * platform/graphics/chromium/ImageLayerChromium.h:
25180        * platform/graphics/chromium/LayerChromium.h:
25181        (WebCore::LayerChromium::invalidateRect):
25182        (WebCore::LayerChromium::paintContentsIfDirty):
25183        (WebCore::LayerChromium::setIsMask):
25184        (WebCore::LayerChromium::draw):
25185        * platform/graphics/chromium/LayerRendererChromium.cpp:
25186        (WebCore::LayerRendererChromium::drawRootLayer):
25187        (WebCore::LayerRendererChromium::drawLayers):
25188        (WebCore::LayerRendererChromium::paintContentsRecursive):
25189        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
25190        (WebCore::LayerRendererChromium::drawLayer):
25191        (WebCore::LayerRendererChromium::initializeSharedObjects):
25192        (WebCore::LayerRendererChromium::cleanupSharedObjects):
25193        * platform/graphics/chromium/LayerRendererChromium.h:
25194        * platform/graphics/chromium/LayerTilerChromium.cpp:
25195        (WebCore::LayerTilerChromium::getSingleTexture):
25196        (WebCore::LayerTilerChromium::invalidateRect):
25197        (WebCore::LayerTilerChromium::update):
25198        (WebCore::LayerTilerChromium::uploadCanvas):
25199        (WebCore::LayerTilerChromium::updateFromPixels):
25200        (WebCore::LayerTilerChromium::draw):
25201        (WebCore::LayerTilerChromium::unreserveTextures):
25202        * platform/graphics/chromium/LayerTilerChromium.h:
25203        (WebCore::LayerTilerChromium::setLayerRenderer):
25204        (WebCore::LayerTilerChromium::skipsDraw):
25205        * platform/graphics/chromium/PlatformCanvas.cpp:
25206        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
25207        (WebCore::PlatformCanvas::Painter::Painter):
25208        * platform/graphics/chromium/PlatformCanvas.h:
25209        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
25210        (WebCore::RenderSurfaceChromium::draw):
25211        * platform/graphics/chromium/RenderSurfaceChromium.h:
25212        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
25213        (WebCore::CCCanvasLayerImpl::draw):
25214        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
25215        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
25216        (WebCore::CCHeadsUpDisplay::draw):
25217        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
25218        (WebCore::CCLayerImpl::draw):
25219        * platform/graphics/chromium/cc/CCLayerImpl.h:
25220        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
25221        (WebCore::CCPluginLayerImpl::draw):
25222        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
25223        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
25224        (WebCore::CCVideoLayerImpl::draw):
25225        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
25226
252272011-04-11  Eric Carlson  <eric.carlson@apple.com>
25228
25229        Reviewed by Simon Fraser.
25230
25231        Ignore context change callbacks when not on the main thread
25232        https://bugs.webkit.org/show_bug.cgi?id=58256
25233        <rdar://problem/9266090>
25234
25235        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
25236        (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
25237            on the main thread. This should only happen when no changes have actually
25238            been committed to the context, eg. when a video frame has been added to an image
25239            queue, so return without triggering animations etc.
25240
252412011-04-11  Daniel Cheng  <dcheng@chromium.org>
25242
25243        Reviewed by Dmitry Titov.
25244
25245        [chromium] Implement image/png support in DataTransferItems
25246        https://bugs.webkit.org/show_bug.cgi?id=58106
25247
25248        This patch implements DataTransferItem::getAsFile() using Blobs. In
25249        addition, plumbing for image/png has been added so image paste will be
25250        supported as long as the renderer makes that data available.
25251
25252        Tests: editing/pasteboard/data-transfer-items-image-png.html
25253
25254        * dom/DataTransferItem.h:
25255        * dom/DataTransferItem.idl:
25256        * platform/chromium/ClipboardMimeTypes.cpp:
25257        * platform/chromium/ClipboardMimeTypes.h:
25258        * platform/chromium/DataTransferItemChromium.cpp:
25259        (WebCore::DataTransferItemChromium::getAsString):
25260        (WebCore::DataTransferItemChromium::getAsFile):
25261        * platform/chromium/DataTransferItemChromium.h:
25262        * platform/chromium/PlatformBridge.h:
25263
252642011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
25265
25266        Reviewed by Chris Fleizach.
25267
25268        [Gtk] Implement support for Embedded Objects
25269        https://bugs.webkit.org/show_bug.cgi?id=52148
25270
25271        Expose special OBJECT character for replaced elements, implementing
25272        AtkText and AtkHyperlink when required.
25273
25274        * accessibility/AccessibilityRenderObject.cpp:
25275        (WebCore::textIteratorBehaviorForTextRange): New helper function,
25276        to return the right behavior, depending on the platform, so it
25277        ensures that object replacement characters get emitted for GTK.
25278        (WebCore::AccessibilityRenderObject::textUnderElement): Use the
25279        new helper function textIteratorBehaviorForTextRange.
25280        (WebCore::AccessibilityRenderObject::stringValue): Ditto.
25281        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
25282        Consider replaced elements when calculating range length in GTK.
25283
25284        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
25285        (textForRenderer): Ouput the 'object replacement character' for
25286        replaced objects.
25287        (getSelectionOffsetsForObject): Consider replaced elements when
25288        calculating range length in GTK.
25289        (webkitAccessibleHypertextGetLink): Remove wrong extra check that
25290        were causing only links to be considered.
25291        (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
25292        check with the right one, by checking that the right ATK interface
25293        is being implemented by the AtkObject.
25294        (getInterfaceMaskFromObject): Implement the Hyperlink interface
25295        both for links and replaced objects.
25296        (objectAndOffsetUnignored): Consider replaced elements when
25297        calculating range length in GTK.
25298
25299        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
25300        (getRangeLengthForObject): Ensure spaces are used for replaced
25301        elements when calling to TextIterator::rangeLength().
25302
25303        * editing/TextIterator.h: New value in the TextIteratorBehavior
25304        enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
25305        private variable to consider that new option internally.
25306        * editing/TextIterator.cpp:
25307        (WebCore::TextIterator::TextIterator): Initialize the new private
25308        attribute m_emitsObjectReplacementCharacters in constructors.
25309        (WebCore::TextIterator::handleReplacedElement): Emit the 'object
25310        replacement character' when m_emitsObjectReplacementCharacters.
25311
253122011-04-11  Jia Pu  <jpu@apple.com>
25313
25314        Reviewed by Adele Peterson.
25315
25316        Shouldn't carry out autocorrection when start typing a new word
25317        https://bugs.webkit.org/show_bug.cgi?id=58241
25318        <rdar://problem/9264736>
25319
25320        Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
25321               platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
25322
25323        In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
25324        only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
25325        character.
25326
25327        * editing/Editor.cpp:
25328        (WebCore::Editor::markMisspellingsAfterTypingToWord):
25329        * editing/Editor.h:
25330        * editing/TypingCommand.cpp:
25331        (WebCore::TypingCommand::markMisspellingsAfterTyping):
25332
253332011-04-11  Vsevolod Vlasov  <vsevik@chromium.org>
25334
25335        Reviewed by Pavel Feldman.
25336
25337        PerformanceTiming returns inconsistent values when timing is null.
25338        https://bugs.webkit.org/show_bug.cgi?id=58143
25339
25340        Made PerformanceTiming returned values consistent when there is no timing object.
25341
25342        * page/PerformanceTiming.cpp:
25343        (WebCore::PerformanceTiming::domainLookupStart):
25344        (WebCore::PerformanceTiming::domainLookupEnd):
25345        (WebCore::PerformanceTiming::connectStart):
25346        (WebCore::PerformanceTiming::connectEnd):
25347        (WebCore::PerformanceTiming::requestStart):
25348        (WebCore::PerformanceTiming::responseStart):
25349        (WebCore::PerformanceTiming::domLoading):
25350
253512011-04-05  Stephen White  <senorblanco@chromium.org>
25352
25353        Fix for jittering when animating a rotated image.
25354        https://bugs.webkit.org/show_bug.cgi?id=50775
25355
25356        Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
25357
25358        * platform/graphics/cg/GraphicsContextCG.cpp:
25359        (WebCore::GraphicsContext::roundToDevicePixels):
25360
253612011-04-06  Xiaomei Ji  <xji@chromium.org>
25362
25363        Reviewed by Ryosuke Niwa.
25364
25365        Continue experiment with moving caret by word in visual order.
25366        https://bugs.webkit.org/show_bug.cgi?id=57806
25367
25368        This is the 2nd patch, which adds implementation when caret is inside box
25369        (not at boundaries). If the word break is inside the same box and not at the boundaries
25370        either, the word break will be returned. If need to search the adjacent boxes for word
25371        breaks, then, only the cases implemented in bug 57336 work.
25372
25373        * editing/visible_units.cpp:
25374        (WebCore::leftmostPositionInRTLBoxInLTRBlock):
25375        (WebCore::rightmostPositionInLTRBoxInRTLBlock):
25376        (WebCore::lastWordBreakInBox):
25377        (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
25378        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
25379        (WebCore::WordBoundaryEntry::WordBoundaryEntry):
25380        (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
25381        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
25382        (WebCore::greatestValueUnder):
25383        (WebCore::smallestOffsetAbove):
25384        (WebCore::positionIsInsideBox):
25385        (WebCore::positionBeforeNextWord):
25386        (WebCore::positionAfterPreviousWord):
25387        (WebCore::leftWordPosition):
25388        (WebCore::rightWordPosition):
25389
253902011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
25391
25392        Reviewed by Chris Fleizach.
25393
25394        [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
25395        https://bugs.webkit.org/show_bug.cgi?id=58040
25396
25397        Don't expose objects of role SliderThumbRoles in GTK.
25398
25399        * accessibility/AccessibilitySlider.cpp:
25400        (WebCore::AccessibilitySlider::addChildren): Allow the platform
25401        make a final decision before including children in the hierarchy.
25402        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
25403        Implemented by relying on accessibilityPlatformIncludesObject().
25404
25405        * accessibility/gtk/AccessibilityObjectAtk.cpp:
25406        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
25407        Ignore accessibility objects with role SliderThumbRole.
25408
254092011-04-11  Simon Fraser  <simon.fraser@apple.com>
25410
25411        Reviewed by Dan Bernstein.
25412
25413        Divide by zero in calcColumnWidth
25414        https://bugs.webkit.org/show_bug.cgi?id=58230
25415
25416        Test: fast/multicol/huge-column-count.html
25417
25418        Make sure we have at least one column, to avoid divide by zero.
25419
25420        * rendering/RenderBlock.cpp:
25421        (WebCore::RenderBlock::calcColumnWidth):
25422
254232011-04-09  Gavin Barraclough  <barraclough@apple.com>
25424
25425        Reviewed by Sam Weinig.
25426
25427        Bug 58198 - Clean up JSValue implementation for JSVALUE64
25428
25429        JSNumberCell.h has been deprecated.
25430
25431        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
25432        * bindings/scripts/CodeGeneratorJS.pm:
25433        * bridge/c/c_instance.cpp:
25434
254352011-04-11  Dan Bernstein  <mitz@apple.com>
25436
25437        Build fix.
25438
25439        * html/canvas/CanvasRenderingContext2D.cpp:
25440        (WebCore::CanvasRenderingContext2D::State::State):
25441
254422011-04-11  Antti Koivisto  <antti@apple.com>
25443
25444        Reviewed by Tony Gentilcore.
25445
25446        Document source preload scanned repeatedly
25447        https://bugs.webkit.org/show_bug.cgi?id=58123
25448
25449        Don't clear the preload scanner after execution resumes. This would lose the current
25450        scanning point and lead to rescanning when the preload scanner would get reconstructed
25451        due to main parser blocking again.
25452
25453        Instead clear the scanner only in the specific case of receiving new data while the main
25454        parser has already reached the end of the current input.
25455
25456        Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
25457
25458        The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by
25459        http/tests/loading/preload-slow-loading.php.
25460
25461        * html/parser/HTMLDocumentParser.cpp:
25462        (WebCore::HTMLDocumentParser::insert):
25463        (WebCore::HTMLDocumentParser::append):
25464        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
25465
254662011-04-11  Dan Bernstein  <mitz@apple.com>
25467
25468        Build fix.
25469
25470        * html/canvas/CanvasRenderingContext2D.cpp:
25471        (WebCore::CanvasRenderingContext2D::State::State):
25472
254732011-04-11  Dan Bernstein  <mitz@apple.com>
25474
25475        Reviewed by Alexey Proskuryakov.
25476
25477        Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
25478        https://bugs.webkit.org/show_bug.cgi?id=58229
25479
25480        * html/canvas/CanvasRenderingContext2D.cpp:
25481        (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
25482        the font selector if needed.
25483        (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
25484        registration with the font selector as needed.
25485        * html/canvas/CanvasRenderingContext2D.h:
25486
254872011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
25488
25489        Reviewed by Chris Fleizach.
25490
25491        [GTK] ARIA tables not exposing cells as HTML tables do
25492        https://bugs.webkit.org/show_bug.cgi?id=57463
25493
25494        Expose cells for ARIA grids consistently with HTML tables in GTK,
25495        keeping the same behaviour for the other platforms.
25496
25497        * accessibility/AccessibilityARIAGrid.cpp:
25498        (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
25499        to the accessibility hierarchy when accessibility objects for rows
25500        are ignoring accessibility, otherwise add the row.
25501        (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
25502        this point whether every child of the table ignores or not
25503        accessibility, letting addChild() make the proper decision later.
25504
25505        * accessibility/AccessibilityARIAGridCell.cpp:
25506        (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
25507        rows could be ignoring accessibility, hence the parent could be
25508        retrieved in the first call to parentObjectUnignored().
25509        (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
25510        (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
25511
25512        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
25513        (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
25514
255152011-04-11  Sergio Villar Senin  <svillar@igalia.com>
25516
25517        Reviewed by Martin Robinson.
25518
25519        [GTK] Fix make distcheck
25520        https://bugs.webkit.org/show_bug.cgi?id=58224
25521
25522        Removed a file that is no longer in the source tree.
25523
25524        * GNUmakefile.list.am:
25525
255262011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
25527
25528        Reviewed by Martin Robinson.
25529
25530        REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
25531        https://bugs.webkit.org/show_bug.cgi?id=58204
25532
25533        Covered by existing tests.
25534
25535        * platform/gtk/RenderThemeGtk.h:
25536        (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
25537            the the state of media controls.
25538
255392011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
25540
25541        Remove obsolete comment, which was mistakenly landed in r83397.
25542
25543        Though potentially a work of art, the comment lost its functional meaning a long time ago.
25544
25545        * html/shadow/MediaControls.cpp:
25546        (WebCore::MediaControls::create): Removed comment.
25547
255482011-04-05  Hans Wennborg  <hans@chromium.org>
25549
25550        Reviewed by Steve Block.
25551
25552        IndexedDB: Introduce skeleton for LevelDB backend
25553        https://bugs.webkit.org/show_bug.cgi?id=57827
25554
25555        No new tests: no new functionality (yet).
25556
25557        * WebCore.gyp/WebCore.gyp:
25558            Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
25559        * WebCore.gypi:
25560            Add new files.
25561        * storage/IDBBackingStore.h:
25562        (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
25563            Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
25564            backend uses integers to refer to a specific row in a table, but
25565            the LevelDB backend will use something else.
25566        * storage/IDBDatabaseBackendImpl.cpp:
25567        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
25568        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
25569        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
25570        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
25571            Change functions to pass along the database id for operations that
25572            concern object stores. We want to be able to group object stores
25573            ids per database.
25574        * storage/IDBFactoryBackendImpl.cpp:
25575        (WebCore::IDBFactoryBackendImpl::open):
25576            Decide which backend to use based on the backingStoreType
25577            parameter.
25578        * storage/IDBIndexBackendImpl.cpp:
25579        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
25580        (WebCore::IDBIndexBackendImpl::openCursorInternal):
25581        (WebCore::IDBIndexBackendImpl::getInternal):
25582        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
25583        * storage/IDBIndexBackendImpl.h:
25584        (WebCore::IDBIndexBackendImpl::create):
25585            Pass database and object store id to backend functions concerning
25586            indexes.
25587        * storage/IDBLevelDBBackingStore.cpp: Added.
25588        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
25589        (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
25590        (WebCore::IDBLevelDBBackingStore::open):
25591        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
25592        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
25593        (WebCore::IDBLevelDBBackingStore::getObjectStores):
25594        (WebCore::IDBLevelDBBackingStore::createObjectStore):
25595        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
25596        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
25597        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
25598        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
25599        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
25600        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
25601        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
25602        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
25603        (WebCore::IDBLevelDBBackingStore::getIndexes):
25604        (WebCore::IDBLevelDBBackingStore::createIndex):
25605        (WebCore::IDBLevelDBBackingStore::deleteIndex):
25606        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
25607        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
25608        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
25609        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
25610        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
25611        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
25612        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
25613        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
25614        (WebCore::IDBLevelDBBackingStore::createTransaction):
25615        * storage/IDBLevelDBBackingStore.h: Added.
25616            Add an empty implementation of the LevelDB backend.
25617        * storage/IDBObjectStoreBackendImpl.cpp:
25618            Keep track of database id, use the new RecordIdentifier.
25619        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
25620        (WebCore::IDBObjectStoreBackendImpl::getInternal):
25621        (WebCore::IDBObjectStoreBackendImpl::putInternal):
25622        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
25623        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
25624        (WebCore::populateIndex):
25625        (WebCore::IDBObjectStoreBackendImpl::createIndex):
25626        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
25627        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
25628        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
25629        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
25630        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
25631        * storage/IDBObjectStoreBackendImpl.h:
25632        (WebCore::IDBObjectStoreBackendImpl::create):
25633        (WebCore::IDBObjectStoreBackendImpl::databaseId):
25634        * storage/IDBSQLiteBackingStore.cpp:
25635        (WebCore::IDBSQLiteBackingStore::open):
25636        (WebCore::IDBSQLiteBackingStore::createObjectStore):
25637        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
25638        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
25639        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
25640        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
25641        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
25642        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
25643        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
25644        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
25645        (WebCore::IDBSQLiteBackingStore::getIndexes):
25646        (WebCore::IDBSQLiteBackingStore::createIndex):
25647        (WebCore::IDBSQLiteBackingStore::deleteIndex):
25648        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
25649        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
25650        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
25651        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
25652        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
25653        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
25654        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
25655        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
25656        * storage/IDBSQLiteBackingStore.h:
25657
256582011-04-11  Alexander Pavlov  <apavlov@chromium.org>
25659
25660        Reviewed by Yury Semikhatsky.
25661
25662        Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
25663        https://bugs.webkit.org/show_bug.cgi?id=58226
25664
25665        * inspector/InspectorStyleSheet.cpp:
25666        (WebCore::InspectorStyle::populateAllProperties):
25667
256682011-04-07  Pavel Podivilov  <podivilov@chromium.org>
25669
25670        Reviewed by Pavel Feldman.
25671
25672        Web Inspector: get rid of source frame delegates for resources panel.
25673        https://bugs.webkit.org/show_bug.cgi?id=58041
25674
25675        Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
25676
25677        * inspector/front-end/ResourceView.js:
25678        (WebInspector.ResourceView.createResourceView):
25679        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
25680        (WebInspector.ResourceSourceFrame):
25681        (WebInspector.ResourceSourceFrame.prototype.get resource):
25682        (WebInspector.ResourceSourceFrame.prototype.contentEditable):
25683        (WebInspector.ResourceSourceFrame.prototype._requestContent):
25684        (WebInspector.CSSSourceFrame):
25685        (WebInspector.CSSSourceFrame.prototype.contentEditable):
25686        (WebInspector.CSSSourceFrame.prototype._editContent):
25687        (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
25688        (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
25689        * inspector/front-end/SourceFrame.js:
25690        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
25691        (WebInspector.SourceFrame.prototype._requestContent):
25692        (WebInspector.SourceFrame.prototype._handleSave):
25693        (WebInspector.SourceFrame.prototype._editContent):
25694
256952011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
25696
25697        Reviewed by Andreas Kling.
25698
25699        [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
25700        https://bugs.webkit.org/show_bug.cgi?id=58076
25701
25702        State_Sunken is more generic than pressed. It is used by items such as frames or
25703        line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
25704        by some style like Oxygen. Therefore only in the mobile theme we check if the object
25705        is pressed.
25706
25707        * platform/qt/RenderThemeQt.cpp:
25708        (WebCore::RenderThemeQt::paintTextField):
25709
257102011-04-11  Pavel Feldman  <pfeldman@chromium.org>
25711
25712        Reviewed by Yury Semikhatsky.
25713
25714        Web Inspector: add support for optional output parameters.
25715        https://bugs.webkit.org/show_bug.cgi?id=58207
25716
25717        Output parameters such as "redirectResponse" are optional, but
25718        do not allow specifying them as such.
25719
25720        * inspector/CodeGeneratorInspector.pm:
25721        * inspector/Inspector.json:
25722        * inspector/InspectorResourceAgent.cpp:
25723        (WebCore::buildObjectForResourceResponse):
25724        (WebCore::buildObjectForCachedResource):
25725        * inspector/front-end/NetworkManager.js:
25726        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
25727        * inspector/generate-inspector-idl:
25728
257292011-04-11  Pavel Feldman  <pfeldman@chromium.org>
25730
25731        Reviewed by Yury Semikhatsky.
25732
25733        Web Inspector: refactor / document call frames in debugger domain.
25734        https://bugs.webkit.org/show_bug.cgi?id=58187
25735
25736        Note that we are not special casing with(element) and with(document) anymore
25737        and do not tell user that it is "Event target" and "Event document". Strictly speaking,
25738        we should not have done it for with(element) not necessarily being related to an event.
25739
25740        * English.lproj/localizedStrings.js:
25741        * inspector/InjectedScriptSource.js:
25742        * inspector/Inspector.json:
25743        * inspector/front-end/ScopeChainSidebarPane.js:
25744        (WebInspector.ScopeChainSidebarPane.prototype.update):
25745
257462011-04-10  ChangSeok Oh  <shivamidow@gmail.com>
25747
25748        Reviewed by Eric Seidel.
25749
25750        Make correspondence of file name related with event to other port.
25751        https://bugs.webkit.org/show_bug.cgi?id=57416
25752
25753        Some file names are changed to make correspondence naming rule.
25754        Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
25755        This has made user hard to find a specific file related with event for GTK port.
25756
25757        No test required. This patch just changes some file names.
25758
25759        * GNUmakefile.list.am:
25760        * platform/gtk/KeyEventGtk.cpp: Removed.
25761        * platform/gtk/MouseEventGtk.cpp: Removed.
25762        * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
25763        * platform/gtk/PlatformMouseEventGtk.cpp: Added.
25764        * platform/gtk/PlatformWheelEventGtk.cpp: Added.
25765        * platform/gtk/WheelEventGtk.cpp: Removed.
25766
257672011-04-10  Simon Fraser  <simon.fraser@apple.com>
25768
25769        Revert the FloatRect.cpp part of r83422, since
25770        clampToInteger() is broken for some inputs. I filed
25771        https://bugs.webkit.org/show_bug.cgi?id=58216
25772
25773        * platform/graphics/FloatRect.cpp:
25774        (WebCore::safeFloatToInt):
25775        (WebCore::enclosingIntRect):
25776
257772011-04-10  Simon Fraser  <simon.fraser@apple.com>
25778
25779        Reviewed by Maciej Stachowiak.
25780
25781        Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
25782        https://bugs.webkit.org/show_bug.cgi?id=56660
25783
25784        When overflow on an element changes, we need to inform compositing
25785        layers which create and position an "ancestor clipping" layer based
25786        on that overflow. Do this by triggering a rebuild of compositing layers
25787        when overflow changes on a layer whose stacking context has compositing
25788        descendants. (We can't just check whether the layer itself has compositing
25789        descendants, because overflow follows the render tree, but compositing
25790        follows the z-order tree.)
25791
25792        Test: compositing/geometry/ancestor-overflow-change.html
25793
25794        * rendering/RenderLayer.cpp:
25795        (WebCore::RenderLayer::styleChanged):
25796        * rendering/RenderLayer.h:
25797        * rendering/RenderLayerBacking.cpp:
25798        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
25799
258002011-04-10  Simon Fraser  <simon.fraser@apple.com>
25801
25802        Reviewed by Ariya Hidayat.
25803
25804        Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
25805        https://bugs.webkit.org/show_bug.cgi?id=58161
25806
25807        ShadowBlur already has a singleton scratch buffer that is re-used
25808        between shadows. Enhance use of this scratch buffer to avoid drawing
25809        and blurring the shadow if the results will match what is already
25810        in the buffer.
25811
25812        Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
25813        which ended up with little reusable code after adding the re-use logic.
25814
25815        * platform/graphics/FloatRect.cpp:
25816        (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
25817        clampToInteger() from MathExtras.h
25818
25819        * platform/graphics/FloatSize.h:
25820        (WebCore::expandedIntSize): New method to safely ceil() the size.
25821
25822        * platform/graphics/RoundedIntRect.h:
25823        Add operator== for Radii and RoundedIntRect.
25824
25825        * platform/graphics/ShadowBlur.cpp:
25826        (WebCore::ScratchBuffer::ScratchBuffer):
25827        (WebCore::ScratchBuffer::setLastShadowValues):
25828        (WebCore::ScratchBuffer::setLastInsetShadowValues):
25829        (WebCore::ScratchBuffer::matchesLastShadow):
25830        (WebCore::ScratchBuffer::matchesLastInsetShadow):
25831        (WebCore::ScratchBuffer::clearScratchBuffer):
25832        Have the scratch buffer remember what shadow parameters were used
25833        to render the buffer contents.
25834
25835        (WebCore::ShadowBlur::drawShadowBuffer):
25836        Renamed from endShadowLayer(), and only contains the drawing
25837        logic now.
25838
25839        (WebCore::ShadowBlur::drawRectShadow):
25840        Promote some code from beginShadowLayer().
25841
25842        (WebCore::ShadowBlur::drawInsetShadow):
25843        Promote some code from beginShadowLayer().
25844
25845        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
25846        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
25847        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
25848        (WebCore::ShadowBlur::drawRectShadowWithTiling):
25849        These methods now check to see if the buffer already matches
25850        their required parameters, and avoid work if it does.
25851
25852        (WebCore::ShadowBlur::blurShadowBuffer):
25853        Factored some code into this new method.
25854
25855        (WebCore::ShadowBlur::blurAndColorShadowBuffer):
25856        Minor refactoring.
25857
25858        * platform/graphics/ShadowBlur.h:
25859
258602011-04-10  Geoffrey Garen  <ggaren@apple.com>
25861
25862        Build fix: Updated for file move.
25863
25864        * bindings/js/GCController.cpp:
25865        * bindings/js/ScriptGCEvent.cpp:
25866
258672011-04-10  Geoffrey Garen  <ggaren@apple.com>
25868
25869        Rubber-stamped by Beth Dakin.
25870
25871        Moved Heap.h and Heap.cpp to the heap folder, because anything less
25872        would be uncivilized.
25873
25874        * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
25875        * ForwardingHeaders/runtime/Heap.h: Removed.
25876
258772011-04-10  Luke Macpherson   <macpherson@chromium.org>
25878
25879        Reviewed by Simon Fraser.
25880
25881        Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
25882        https://bugs.webkit.org/show_bug.cgi?id=58212
25883
25884        No new tests - function renaming only / no functionality changes.
25885
25886        * css/CSSStyleApplyProperty.cpp:
25887        Rename all instances of inherit, initial and value.
25888        * css/CSSStyleApplyProperty.h:
25889        Rename all instances of inherit, initial and value.
25890        * css/CSSStyleSelector.cpp:
25891        Rename all instances of inherit, initial and value.
25892
258932011-04-10  Mike Lawther  <mikelawther@chromium.org>
25894
25895        Reviewed by Ojan Vafai.
25896
25897        flex/bison tokens and grammar for CSS calc
25898        https://bugs.webkit.org/show_bug.cgi?id=54412
25899
25900        Tests: css3/calc/calc-errors.html
25901               css3/calc/lexer-regression-57581-2.html
25902               css3/calc/lexer-regression-57581-3.html
25903               css3/calc/lexer-regression-57581.html
25904               css3/calc/minmax-errors.html
25905               css3/calc/nested-rounded-corners.html
25906               css3/calc/simple-calcs.html
25907               css3/calc/simple-minmax.html
25908
25909        * css/CSSGrammar.y:
25910        * css/CSSParserValues.cpp:
25911        (WebCore::CSSParserValueList::insertValueAt):
25912        (WebCore::CSSParserValueList::extend):
25913        * css/CSSParserValues.h:
25914        * css/tokenizer.flex:
25915
259162011-04-10  Alice Boxhall  <aboxhall@chromium.org>
25917
25918        Reviewed by Ryosuke Niwa.
25919
25920        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
25921        https://bugs.webkit.org/show_bug.cgi?id=57923
25922
25923        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
25924        rather than a Node* and an IntPoint&, as the selection may actually not
25925        extend into the Node found by the HitTest.
25926
25927        No new tests. Refactoring only.
25928
25929        * page/EventHandler.cpp:
25930        (WebCore::EventHandler::handleMouseDraggedEvent):
25931        (WebCore::EventHandler::updateSelectionForMouseDrag):
25932        * page/EventHandler.h:
25933
259342011-04-10  Kent Tamura  <tkent@chromium.org>
25935
25936        Unreviewed, rolling out r83353.
25937        http://trac.webkit.org/changeset/83353
25938        https://bugs.webkit.org/show_bug.cgi?id=58106
25939
25940        The new test doesn't pass on all Chromium platforms.
25941
25942        * dom/DataTransferItem.h:
25943        * dom/DataTransferItem.idl:
25944        * platform/chromium/ClipboardMimeTypes.cpp:
25945        * platform/chromium/ClipboardMimeTypes.h:
25946        * platform/chromium/DataTransferItemChromium.cpp:
25947        (WebCore::DataTransferItemChromium::getAsString):
25948        * platform/chromium/DataTransferItemChromium.h:
25949        * platform/chromium/PlatformBridge.h:
25950
259512011-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25952
25953        Reviewed by Eric Carlson.
25954
25955        [EFL] Add seek forward / backward buttons to MediaControl UI.
25956        https://bugs.webkit.org/show_bug.cgi?id=56810
25957
25958        Add seek forward / backward buttons to media control. And, change formType name
25959        for media control.
25960
25961        * platform/efl/RenderThemeEfl.cpp:
25962        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
25963        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
25964        (WebCore::RenderThemeEfl::paintMediaMuteButton):
25965        (WebCore::RenderThemeEfl::paintMediaPlayButton):
25966        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
25967        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
25968        * platform/efl/RenderThemeEfl.h:
25969
259702011-04-10  Chris Guillory  <chris.guillory@google.com>
25971
25972        Reviewed by Eric Seidel.
25973
25974        Remove unused function declaration in PlatformContextSkia.h.
25975        https://bugs.webkit.org/show_bug.cgi?id=55983
25976
25977        * platform/graphics/skia/PlatformContextSkia.h:
25978
259792011-04-10  Patrick Gansterer  <paroga@webkit.org>
25980
25981        Unreviewed build fix for !ENABLE(XSLT) after r82562.
25982
25983        * dom/XMLDocumentParserLibxml2.cpp:
25984        (WebCore::XMLDocumentParser::doEnd):
25985
259862011-04-10  Patrick Gansterer  <paroga@webkit.org>
25987
25988        Unreviewed build fix for !ENABLE(XSLT) after r82562.
25989
25990        * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
25991
259922011-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
25993
25994        Reviewed by Anders Carlsson.
25995
25996        REGRESSION(r83256): Text-decoration bleeds into shadow DOM
25997        https://bugs.webkit.org/show_bug.cgi?id=58205
25998
25999        Now that the shadow root is a never-styled element, we need to walk to
26000        parent to find out if we're inside of a shadow DOM subtree.
26001
26002        Test: media/controls-styling.html
26003
26004        * css/CSSStyleSelector.cpp:
26005        (WebCore::isAtShadowBoundary): Added helper function.
26006        (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
26007
260082011-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
26009
26010        Reviewed by Eric Carlson.
26011
26012        [Meta] Convert HTMLMediaElement to use the new shadow DOM
26013        https://bugs.webkit.org/show_bug.cgi?id=53020
26014
26015        This conversion is non-trivial, for several reasons:
26016
26017        1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
26018        and showing controls does not result in destroying and re-creating the
26019        shadow DOM tree. Instead, the tree is created as needed and shown/hidden
26020        using inline styles.
26021
26022        2) Instead of detaching/attaching on each style change, the control parts
26023        are now using a set of higher fidelity callbacks that notify MediaControls
26024        about changes to which it should react. Each reaction results in hiding,
26025        showing, or changing the state of the control parts using inline styles
26026        and DOM APIs.
26027
26028        3) Hiding and showing controls is accomplished using inline styles, rather
26029        than wiring rendererIsNeeded, because renderers are now re-created less
26030        frequently.
26031
26032        4) Instead of constantly querying RenderTheme about visibility of a particular
26033        control part, we let the theme determine which parts are supported and
26034        which parts are visible in certain conditions.
26035
26036        5) Custom hit-testing, event forwarding, and style updates are completely
26037        removed, since they are now unnecessary.
26038
26039        6) Fading controls in/out is now done as CSS animation, since shadow DOM
26040        supports it.
26041
26042        Test: manual-tests/media-controls.html
26043
260442011-04-09  Dan Bernstein  <mitz@apple.com>
26045
26046        Reviewed by Beth Dakin.
26047
26048        <rdar://problem/9215280> Detached canvas draws with incorrect font
26049
26050        Test: fast/canvas/font-update.html
26051
26052        The existing mechanism for updating the font in a canvas 2D context was lacking in at least
26053        two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
26054        was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
26055        was not attached.
26056
26057        This change takes the responsibility for font updates away from the canvas element and gives it
26058        to the canvas context and its graphics state.
26059
26060        * css/CSSFontSelector.cpp:
26061        (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
26062        font selector clients.
26063        (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
26064        registered font selector clients.
26065        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
26066        clients and forces a style recalc on the document.
26067        (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
26068        (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
26069        * css/CSSFontSelector.h:
26070        * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
26071        * html/HTMLCanvasElement.h:
26072        * html/canvas/CanvasRenderingContext2D.cpp:
26073        (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
26074        (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
26075        when its fonts need to be updated. Updates the font.
26076        (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
26077        * html/canvas/CanvasRenderingContext2D.h:
26078        * platform/graphics/FontSelector.h:
26079        (WebCore::FontSelectorClient::~FontSelectorClient):
26080
260812011-04-09  Geoffrey Garen  <ggaren@apple.com>
26082
26083        Not reviewed.
26084
26085        Try recommitting some things svn left out of my last commit.
26086
26087        * bridge/qt/qt_runtime.h:
26088
260892011-04-09  Geoffrey Garen  <ggaren@apple.com>
26090
26091        Not reviewed.
26092
26093        Try recommitting some things svn left out of my last commit.
26094
26095        * ForwardingHeaders/collector: Removed.
26096        * ForwardingHeaders/collector/handles: Removed.
26097        * ForwardingHeaders/collector/handles/Global.h: Removed.
26098
260992011-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
26100
26101        Reviewed by Ojan Vafai.
26102
26103        Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
26104        https://bugs.webkit.org/show_bug.cgi?id=55515
26105
26106        This implements XBL 2.0's specified handling of mouseover/mouseout events:
26107        http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
26108
26109        To do this, we:
26110        1) calculate lowest common ancestor between relatedTarget and target, and
26111           the nearest boundaries around them: the outer (common) boundary, and the
26112           inner (specific to relatedTarget) boundary. Then, we
26113        2) ensure that events only propagate up to the common boundary (or
26114           all the way if boundary is not found), while
26115        3) updating relatedTarget be the inner boundary.
26116
26117        We also detect the most common case when no common boundary could exist
26118        and provide a fast path to short-circuit most of the boundary detection
26119        logic.
26120
26121        Test: fast/events/shadow-boundary-crossing.html
26122
26123        * dom/EventDispatcher.cpp:
26124        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
26125            common ancestor, the boundaries around it, and compute adjustments
26126            to relatedTarget and event target ancestor chain.
26127        (WebCore::ancestorsCrossShadowBoundaries): Added.
26128        (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
26129            inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
26130        (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
26131        (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
26132            converted to use initialization flag, rather than testing for empty.
26133        * dom/EventDispatcher.h: Adjusted decls.
26134        * dom/MouseEvent.cpp:
26135        (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
26136            to adjustRelatedTarget.
26137
261382011-04-08  Geoffrey Garen  <ggaren@apple.com>
26139
26140        Reviewed by Oliver Hunt.
26141
26142        A few heap-related renames and file moves.
26143
26144        WeakGCPtr<T> => Weak<T>
26145        Global<T> => Strong<T>
26146        collector/ => heap/
26147        collector/* => heap/*
26148        runtime/WeakGCPtr.h => heap/Weak.h
26149
26150        (Eventually, even more files should move into the heap directory. Like
26151        Heap.h and Heap.cpp, for example.)
26152
26153        * CMakeLists.txt:
26154        * ForwardingHeaders/collector: Removed.
26155        * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
26156        * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
26157        * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
26158        * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
26159        * WebCore.vcproj/WebCore.vcproj:
26160        * WebCore.vcproj/copyForwardingHeaders.cmd:
26161        * bindings/js/JSCallbackData.h:
26162        * bindings/js/JSCustomVoidCallback.h:
26163        * bindings/js/JSDOMWindowBase.h:
26164        * bindings/js/JSDOMWindowShell.cpp:
26165        (WebCore::JSDOMWindowShell::setWindow):
26166        * bindings/js/JSDataGridDataSource.h:
26167        * bindings/js/JSEventListener.h:
26168        * bindings/js/ScheduledAction.cpp:
26169        (WebCore::ScheduledAction::ScheduledAction):
26170        * bindings/js/ScheduledAction.h:
26171        * bindings/js/ScriptCachedFrameData.cpp:
26172        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
26173        * bindings/js/ScriptCachedFrameData.h:
26174        * bindings/js/ScriptController.cpp:
26175        (WebCore::ScriptController::createWindowShell):
26176        * bindings/js/ScriptController.h:
26177        * bindings/js/ScriptObject.h:
26178        * bindings/js/ScriptState.h:
26179        * bindings/js/ScriptValue.cpp:
26180        * bindings/js/ScriptValue.h:
26181        * bindings/js/ScriptWrappable.h:
26182        * bindings/js/WorkerScriptController.cpp:
26183        (WebCore::WorkerScriptController::initScript):
26184        * bindings/js/WorkerScriptController.h:
26185        * bridge/jsc/BridgeJSC.h:
26186        * bridge/qt/qt_runtime.h:
26187        * bridge/runtime_root.h:
26188        * xml/XMLHttpRequest.cpp:
26189
261902011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>
26191
26192        Reviewed by Laszlo Gombos.
26193
26194        [Qt] Don't link against fontconfig or X11 if embedded
26195        https://bugs.webkit.org/show_bug.cgi?id=58104
26196
26197        No functional change so no new tests.
26198
26199        * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
26200
262012011-04-09  Csaba Osztrogonác  <ossy@webkit.org>
26202
26203        [Qt] Unreviewed trivial fix after r83344.
26204
26205        * WebCore.pro: Update HEADERS list.
26206
262072011-04-09  Jon Lee  <jonlee@apple.com>
26208
26209        Reviewed by Beth Dakin.
26210
26211        Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
26212        https://bugs.webkit.org/show_bug.cgi?id=58180
26213        <rdar://problem/9047984>
26214
26215        * platform/mac/ScrollAnimatorMac.mm:
26216        (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
26217        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
26218        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
26219
262202011-04-09  Sreeram Ramachandran  <sreeram@google.com>
26221
26222        Reviewed by Ryosuke Niwa.
26223
26224        Gather data on modal dialogs shown during unload events
26225        https://bugs.webkit.org/show_bug.cgi?id=58115
26226
26227        Add a new method to the ChromeClient API to allow clients to receive
26228        notifications of modal dialogs dispatched during page dismissal events.
26229        The new method has a default empty definition; only chromium overrides
26230        it to keep track of histograms.
26231
26232        No tests because this is a no-op for all ports except chromium (and it's
26233        not clear how to test chromium histograms from webkit).
26234
26235        * page/Chrome.cpp:
26236        (WebCore::isDuringPageDismissal):
26237        (WebCore::willRunModalDialog):
26238        (WebCore::Chrome::runJavaScriptAlert):
26239        (WebCore::Chrome::runJavaScriptConfirm):
26240        (WebCore::Chrome::runJavaScriptPrompt):
26241        (WebCore::Chrome::willRunModalHTMLDialog):
26242        * page/Chrome.h:
26243        * page/ChromeClient.h:
26244        (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
26245        * page/DOMWindow.cpp:
26246        (WebCore::DOMWindow::showModalDialog):
26247
262482011-04-08  David Humphrey  <david.humphrey@senecac.on.ca>
26249
26250        Reviewed by Eric Carlson.
26251
26252        Fix call order of media element muted and play(), such that setting muted before play() works.
26253        https://bugs.webkit.org/show_bug.cgi?id=57673
26254        https://code.google.com/p/chromium/issues/detail?id=70777
26255
26256        Manual test added: manual-tests/media-muted.html
26257
26258        * html/HTMLMediaElement.cpp:
26259        (WebCore::HTMLMediaElement::updatePlayState):
26260        * manual-tests/media-muted.html: Added.
26261
262622011-04-08  Nat Duca  <nduca@chromium.org>
26263
26264        Reviewed by David Levin.
26265
26266        [chromium] Fix windows assertion on ~CCThread
26267        https://bugs.webkit.org/show_bug.cgi?id=58153
26268
26269        Because ~CCThread uses waitForThreadCompletion,
26270        calling detachThread is not necessary.
26271
26272        * platform/graphics/chromium/cc/CCThread.cpp:
26273        (WebCore::CCThread::runLoop):
26274
262752011-04-08  Jian Li  <jianli@chromium.org>
26276
26277        Unreviewed, rolling out r83348.
26278        http://trac.webkit.org/changeset/83348
26279        https://bugs.webkit.org/show_bug.cgi?id=49508
26280
26281        Breaks layout tests in QT, Win7 and Chromium.
26282
26283        * rendering/RenderText.cpp:
26284        (WebCore::RenderText::localCaretRect):
26285
262862011-04-08  MORITA Hajime  <morrita@google.com>
26287
26288        Reviewed by Simon Fraser.
26289
26290        Negative spread should not make a sharp corner rounded
26291        https://bugs.webkit.org/show_bug.cgi?id=58162
26292
26293        Handled inset shadow path for rounded and non-rounded rect
26294        differently as normal shadow path is doing.
26295
26296        * rendering/RenderBoxModelObject.cpp:
26297        (WebCore::RenderBoxModelObject::paintBoxShadow):
26298
262992011-04-07  Simon Fraser  <simon.fraser@apple.com>
26300
26301        Reviewed by Martin Robinson.
26302
26303        REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
26304        https://bugs.webkit.org/show_bug.cgi?id=55180
26305
26306        The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
26307        data we get back from ImageBuffer::getImageData() do not vary in
26308        endianness.
26309
26310        * platform/graphics/ShadowBlur.cpp:
26311        (WebCore::ShadowBlur::blurLayerImage):
26312
263132011-04-08  Erik Arvidsson  <arv@chromium.org>
26314
26315        Reviewed by Dimitri Glazkov.
26316
26317        IFrame is getting the focus even though it is hidden
26318        https://bugs.webkit.org/show_bug.cgi?id=55861
26319
26320        Test: fast/dom/hidden-iframe-no-focus.html
26321
26322        * html/HTMLFrameOwnerElement.cpp:
26323        (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
26324        * html/HTMLFrameOwnerElement.h:
26325
263262011-04-08  Jeff Timanus  <twiz@chromium.org>
26327
26328        Reviewed by Kenneth Russell.
26329
26330        Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
26331        https://bugs.webkit.org/show_bug.cgi?id=57768
26332
26333        * html/canvas/CanvasRenderingContext2D.cpp:
26334        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
26335        (WebCore::CanvasRenderingContext2D::reset):
26336        * platform/graphics/gpu/DrawingBuffer.cpp:
26337        (WebCore::DrawingBuffer::reset):
26338        * platform/graphics/gpu/DrawingBuffer.h:
26339
263402011-04-08  Daniel Cheng  <dcheng@chromium.org>
26341
26342        Reviewed by Dmitry Titov.
26343
26344        [chromium] Implement image/png support in DataTransferItems
26345        https://bugs.webkit.org/show_bug.cgi?id=58106
26346
26347        This patch implements DataTransferItem::getAsFile() using Blobs. In
26348        addition, plumbing for image/png has been added so image paste will be
26349        supported as long as the renderer makes that data available.
26350
26351        Tests: editing/pasteboard/data-transfer-items-image-png.html
26352
26353        * dom/DataTransferItem.h:
26354        * dom/DataTransferItem.idl:
26355        * platform/chromium/ClipboardMimeTypes.cpp:
26356        * platform/chromium/ClipboardMimeTypes.h:
26357        * platform/chromium/DataTransferItemChromium.cpp:
26358        (WebCore::DataTransferItemChromium::getAsString):
26359        (WebCore::DataTransferItemChromium::getAsFile):
26360        * platform/chromium/DataTransferItemChromium.h:
26361        * platform/chromium/PlatformBridge.h:
26362
263632011-04-08 MORITA Hajime  <morrita@google.com>
26364
26365        Unreviewed windows build fix.
26366
26367        * editing/SpellingCorrectionController.h:
26368        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
26369
263702011-04-08  Enrica Casucci  <enrica@apple.com>
26371
26372        Reviewed by Maciej Stachowiak.
26373
26374        Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
26375        https://bugs.webkit.org/show_bug.cgi?id=57595
26376        <rdar://problem/9222122>
26377
26378        Test: editing/style/bold-with-dom-changes.html
26379
26380        * editing/ReplaceNodeWithSpanCommand.cpp:
26381        (WebCore::swapInNodePreservingAttributesAndChildren):
26382
263832011-04-07  Roland Steiner  <rolandsteiner@chromium.org>
26384
26385        Reviewed by Dimitri Glazkov.
26386
26387        Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
26388        https://bugs.webkit.org/show_bug.cgi?id=58060
26389
26390        Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
26391        However, in case the containing scope is the document, this is not set, and the
26392        document pointer within Node is used instead.
26393
26394        In an object derived from TreeScope (currently Document), the tree scope pointer
26395        points to itself. Such objects also contain a parent tree scope pointer that
26396        points to the containing scope. For Document, this is 0.
26397
26398        Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
26399        in public usage. setDocument[Recursively] are now only used internally and are
26400        thererfore protected.
26401
26402        No new tests. (no new functionality)
26403
26404        * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
26405        (WebCore::ContainerNode::insertBefore):
26406        (WebCore::ContainerNode::replaceChild):
26407        (WebCore::ContainerNode::appendChild):
26408        * dom/Document.cpp:
26409        (WebCore::Document::~Document):
26410        (WebCore::Document::setDocType): Ditto
26411        (WebCore::Document::adoptNode): Ditto
26412        * dom/Document.h:
26413        * dom/Node.cpp:
26414        (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
26415        (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
26416        (WebCore::Node::setTreeScopeRecursively):
26417        (WebCore::Node::setDocumentRecursively):
26418        * dom/Node.h:
26419        * dom/NodeRareData.h: add scope pointer
26420        (WebCore::NodeRareData::NodeRareData):
26421        (WebCore::NodeRareData::treeScope):
26422        (WebCore::NodeRareData::setTreeScope):
26423        * dom/TreeScope.cpp: add parentTreeScope pointer
26424        (WebCore::TreeScope::TreeScope):
26425        (WebCore::TreeScope::setParentTreeScope):
26426        * dom/TreeScope.h:
26427        (WebCore::TreeScope::parentTreeScope):
26428
264292011-04-08  Xiaomei Ji  <xji@chromium.org>
26430
26431        Reviewed by David Hyatt.
26432
26433        Local caret rectangle calculation should be relative to its containing block.
26434        https://bugs.webkit.org/show_bug.cgi?id=49508.
26435
26436        InlineBox and caret rectangle are positioned relative to its containing block.
26437        So its left and right edge value should be relative to its containing block as well.
26438
26439        Test: fast/forms/cursor-at-editable-content-boundary.html
26440
26441        * rendering/RenderText.cpp:
26442        (WebCore::RenderText::localCaretRect):
26443
264442011-04-08  MORITA Hajime  <morrita@google.com>
26445
26446        Unreviewed build fix.
26447
26448        * editing/Editor.cpp:
26449        (WebCore::Editor::markMisspellingsAfterTypingToWord):
26450
264512011-04-08  David Hyatt  <hyatt@apple.com>
26452
26453        Reviewed by Simon Fraser.
26454
26455        https://bugs.webkit.org/show_bug.cgi?id=57971
26456
26457        Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
26458        them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
26459        either, so that the styles are consistent.
26460
26461        Added fast/history/visited-generated-content-test.html
26462
26463        * css/CSSStyleSelector.cpp:
26464        (WebCore::CSSStyleSelector::styleForElement):
26465        (WebCore::CSSStyleSelector::pseudoStyleForElement):
26466
264672011-04-06  MORITA Hajime  <morrita@google.com>
26468
26469        Reviewed by Darin Adler.
26470
26471        [Refactoring] Auto correction panel should be handled by its own class.
26472        https://bugs.webkit.org/show_bug.cgi?id=55571
26473
26474        Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
26475        SpellingCorrectionController class.
26476        This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
26477        code paths inside the never reached without autocorrection support.
26478        Removing guards reduces unintentional build breakage.
26479
26480        No new tests, no behavior chagne.
26481
26482        * CMakeLists.txt:
26483        * GNUmakefile.am:
26484        * WebCore.gypi:
26485        * WebCore.pro:
26486        * WebCore.vcproj/WebCore.vcproj:
26487        * WebCore.xcodeproj/project.pbxproj:
26488        * editing/CorrectionPanelInfo.h: Removed.
26489        * editing/EditingAllInOne.cpp:
26490        * editing/Editor.cpp:
26491        (WebCore::Editor::respondToChangedSelection):
26492        (WebCore::Editor::respondToChangedContents):
26493        (WebCore::Editor::appliedEditing):
26494        (WebCore::Editor::Editor):
26495        (WebCore::Editor::~Editor):
26496        (WebCore::Editor::insertTextWithoutSendingTextEvent):
26497        (WebCore::Editor::insertLineBreak):
26498        (WebCore::Editor::insertParagraphSeparator):
26499        (WebCore::Editor::cut):
26500        (WebCore::Editor::paste):
26501        (WebCore::Editor::pasteAsPlainText):
26502        (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
26503        (WebCore::Editor::markMisspellingsAfterTypingToWord):
26504        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
26505        (WebCore::Editor::changeBackToReplacedString):
26506        (WebCore::Editor::unappliedSpellCorrection):
26507        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
26508        (WebCore::Editor::startCorrectionPanelTimer):
26509        (WebCore::Editor::handleCorrectionPanelResult):
26510        (WebCore::Editor::dismissCorrectionPanelAsIgnored):
26511        * editing/Editor.h:
26512        * editing/SpellingCorrectionCommand.cpp:
26513        * editing/SpellingCorrectionController.cpp: Added.
26514        (WebCore::markerTypesForAutocorrection):
26515        (WebCore::markerTypesForReplacement):
26516        (WebCore::markersHaveIdenticalDescription):
26517        (WebCore::SpellingCorrectionController::SpellingCorrectionController):
26518        (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
26519        (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
26520        (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
26521        (WebCore::SpellingCorrectionController::stopPendingCorrection):
26522        (WebCore::SpellingCorrectionController::applyPendingCorrection):
26523        (WebCore::SpellingCorrectionController::hasPendingCorrection):
26524        (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
26525        (WebCore::SpellingCorrectionController::show):
26526        (WebCore::SpellingCorrectionController::handleCancelOperation):
26527        (WebCore::SpellingCorrectionController::dismiss):
26528        (WebCore::SpellingCorrectionController::dismissSoon):
26529        (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
26530        (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
26531        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
26532        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
26533        (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
26534        (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
26535        (WebCore::SpellingCorrectionController::windowRectForRange):
26536        (WebCore::SpellingCorrectionController::respondToChangedSelection):
26537        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
26538        (WebCore::SpellingCorrectionController::client):
26539        (WebCore::SpellingCorrectionController::textChecker):
26540        (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
26541        (WebCore::SpellingCorrectionController::markReversed):
26542        (WebCore::SpellingCorrectionController::markCorrection):
26543        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
26544        * editing/SpellingCorrectionController.h: Added.
26545        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
26546        (WebCore::SpellingCorrectionController::shouldStartTimeFor):
26547        (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
26548        * editing/TypingCommand.cpp:
26549        (WebCore::TypingCommand::insertText):
26550        (WebCore::TypingCommand::markMisspellingsAfterTyping):
26551        (WebCore::TypingCommand::deleteKeyPressed):
26552        (WebCore::TypingCommand::forwardDeleteKeyPressed):
26553        * editing/htmlediting.h:
26554        (WebCore::isAmbiguousBoundaryCharacter):
26555        * page/EditorClient.h:
26556        * page/Frame.cpp:
26557        (WebCore::Frame::setPageAndTextZoomFactors):
26558
265592011-04-08  Alpha Lam  <hclam@chromium.org>
26560
26561        Unreviewed, rolling out r83335.
26562        http://trac.webkit.org/changeset/83335
26563        https://bugs.webkit.org/show_bug.cgi?id=53556
26564
26565        GTK and QT bots are broken
26566
26567        * CMakeLists.txt:
26568        * Configurations/FeatureDefines.xcconfig:
26569        * DerivedSources.make:
26570        * GNUmakefile.am:
26571        * WebCore.gypi:
26572        * WebCore.xcodeproj/project.pbxproj:
26573        * features.pri:
26574        * html/HTMLAttributeNames.in:
26575        * html/HTMLTagNames.in:
26576        * html/HTMLTrackElement.cpp: Removed.
26577        * html/HTMLTrackElement.h: Removed.
26578        * html/HTMLTrackElement.idl: Removed.
26579
265802011-04-08  Brady Eidson  <beidson@apple.com>
26581
26582        Reviewed by Adam Roben.
26583
26584        https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
26585        BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
26586
26587        * platform/graphics/cg/ImageCG.cpp:
26588        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
26589          make sure the frames are properly tallied first.
26590
265912011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
26592
26593        Reviewed by Andreas Kling.
26594
26595        [Qt] Dragging and dropping an image in edit mode does not work
26596        https://bugs.webkit.org/show_bug.cgi?id=19385
26597
26598        When adding an image to the clipboard, we should also include the HTML code of that image so
26599        it can be used for internal drag and drop.
26600
26601        This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
26602        another, or inside the same browser.
26603
26604        * platform/qt/ClipboardQt.cpp:
26605        (WebCore::ClipboardQt::declareAndWriteDragImage):
26606
266072011-04-07  Anna Cavender  <annacc@chromium.org>
26608
26609        Reviewed by Eric Carlson.
26610
26611        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
26612        https://bugs.webkit.org/show_bug.cgi?id=53556
26613
26614        No new tests. No real functionality added just yet.
26615
26616        * CMakeLists.txt:
26617        * Configurations/FeatureDefines.xcconfig:
26618        * DerivedSources.make:
26619        * GNUmakefile.am:
26620        * WebCore.gypi:
26621        * WebCore.xcodeproj/project.pbxproj:
26622        * features.pri:
26623        * html/HTMLAttributeNames.in:
26624        * html/HTMLTagNames.in:
26625        * html/HTMLTrackElement.cpp: Added.
26626        (WebCore::HTMLTrackElement::HTMLTrackElement):
26627        (WebCore::HTMLTrackElement::create):
26628        (WebCore::HTMLTrackElement::insertedIntoTree):
26629        (WebCore::HTMLTrackElement::willRemove):
26630        (WebCore::HTMLTrackElement::src):
26631        (WebCore::HTMLTrackElement::setSrc):
26632        (WebCore::HTMLTrackElement::kind):
26633        (WebCore::HTMLTrackElement::setKind):
26634        (WebCore::HTMLTrackElement::srclang):
26635        (WebCore::HTMLTrackElement::setSrclang):
26636        (WebCore::HTMLTrackElement::label):
26637        (WebCore::HTMLTrackElement::setLabel):
26638        (WebCore::HTMLTrackElement::isDefault):
26639        (WebCore::HTMLTrackElement::setIsDefault):
26640        (WebCore::HTMLTrackElement::isURLAttribute):
26641        * html/HTMLTrackElement.h: Added.
26642        * html/HTMLTrackElement.idl: Added.
26643
266442011-04-07  Jer Noble  <jer.noble@apple.com>
26645
26646        Reviewed by Eric Carlson.
26647
26648        Logic error in HTMLMediaElement::exitFullscreen()
26649        https://bugs.webkit.org/show_bug.cgi?id=58085
26650
26651        The new full screen API case could fall through to the legacy API case
26652        unintentionally if a script calls exitFullscreen on an element which is
26653        not the current full screen element.
26654
26655        * html/HTMLMediaElement.cpp:
26656        (WebCore::HTMLMediaElement::enterFullscreen):
26657        (WebCore::HTMLMediaElement::exitFullscreen):
26658
266592011-04-08  Mike Reed  <reed@google.com>
26660
26661        Reviewed by Eric Seidel.
26662
26663        Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
26664        https://bugs.webkit.org/show_bug.cgi?id=57782
26665
26666        No new tests. This change only affects print-preview and build option SKIA_GPU
26667
26668        * platform/graphics/skia/SkiaFontWin.cpp:
26669        (WebCore::paintSkiaText):
26670
266712011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
26672
26673        Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
26674
26675        REGRESSION(r81887): Crash in SplitElement
26676        https://bugs.webkit.org/show_bug.cgi?id=57743
26677
26678        The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
26679        even when the position was after the last node in it container. Since all we are doing here is to splitting tree
26680        up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
26681        and highestEnclosingNodeOfType.
26682
26683        Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
26684        which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
26685        it incorrectly called deprecatedNode instead of containerNode.
26686
26687        Test: editing/inserting/insert-images-in-pre-x-crash.html
26688
26689        * editing/CompositeEditCommand.cpp:
26690        (WebCore::CompositeEditCommand::splitTreeToNode):
26691        * editing/ReplaceSelectionCommand.cpp:
26692        (WebCore::ReplaceSelectionCommand::doApply):
26693        * editing/htmlediting.cpp:
26694        (WebCore::highestEnclosingNodeOfType):
26695
266962011-04-08  Antti Koivisto  <antti@apple.com>
26697
26698        Reviewed by Tony Gentilcore.
26699
26700        Incoming source should be preload scanned when the parser is blocked
26701        https://bugs.webkit.org/show_bug.cgi?id=58117
26702
26703        Scan the appended source if parser is blocked.
26704
26705        Test: http/tests/loading/preload-append-scan.php
26706
26707        * html/parser/HTMLDocumentParser.cpp:
26708        (WebCore::HTMLDocumentParser::append):
26709
267102011-04-08  Martin Robinson  <mrobinson@igalia.com>
26711
26712        Reviewed by Xan Lopez.
26713
26714        [GTK] Fix the WebKit2 build for older versions of GTK+
26715        https://bugs.webkit.org/show_bug.cgi?id=58095
26716
26717        No new tests. This is just a build fix.
26718
26719        * platform/gtk/GtkVersioning.c:
26720        (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
26721        * platform/gtk/GtkVersioning.h: Add the new method to the header.
26722
267232011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
26724
26725        Reviewed by Laszlo Gombos.
26726
26727        [Qt] Plugin is not scrolled together with page content or jumping
26728        when content is rendered using cache (backing store).
26729        https://bugs.webkit.org/show_bug.cgi?id=56130
26730
26731        This is a Symbian portion of the fix. For Linux it looks like
26732        it's enough to call set geometry which should be addressed in
26733        https://bugs.webkit.org/show_bug.cgi?id=57179
26734
26735        No new tests required. This can be tested with manual tests from
26736        WebCore/manual-tests/qt and WebCore/manual-tests/plugins
26737
26738        * plugins/symbian/PluginViewSymbian.cpp:
26739        (WebCore::PluginView::updatePluginWidget):
26740
267412011-04-08  Abhishek Arya  <inferno@chromium.org>
26742
26743        Unreviewed. Remove accidental printf added in r83306.
26744
26745        * page/EventHandler.cpp:
26746        (WebCore::EventHandler::sendContextMenuEvent):
26747
267482011-04-08  Enrica Casucci  <enrica@apple.com>
26749
26750        Reviewed by Darin Adler.
26751
26752        Dragging text in a WebKit2 window results in a copy instead of a move.
26753        https://bugs.webkit.org/show_bug.cgi?id=56772
26754        <rdar://problem/9165140>
26755
26756        cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
26757        the call to startDrag is asynchronous.
26758
26759        * page/mac/DragControllerMac.mm:
26760        (WebCore::DragController::cleanupAfterSystemDrag):
26761
267622011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
26763
26764        Reviewed by Darin Adler.
26765
26766        Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
26767        https://bugs.webkit.org/show_bug.cgi?id=57642
26768
26769        Covered by existing tests, no functional change.
26770
26771        * dom/Event.cpp:
26772        * dom/Event.h:
26773        (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
26774            constructor.
26775        (WebCore::EventDispatchMediator::event): Inlined.
26776        (WebCore::EventDispatchMediator::setEvent): Added.
26777        * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
26778        * dom/EventDispatcher.h: Updated decls.
26779        * dom/Node.cpp:
26780        (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
26781            return a bool, like other dispatch event functions.
26782        * dom/Node.h: Changed decl.
26783        * dom/WheelEvent.cpp:
26784        (WebCore::granularity): Moved from EventDispatcher.
26785        (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
26786        (WebCore::WheelEventDispatchMediator::event): Added.
26787        (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
26788        * dom/WheelEvent.h: Updated decls.
26789        * page/EventHandler.cpp:
26790        (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
26791            to the return value.
26792
267932011-04-08  Jessie Berlin  <jberlin@apple.com>
26794
26795        Windows build warning fix.
26796
26797        * WebCore.vcproj/WebCore.vcproj:
26798        Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
26799        the build.
26800
268012011-04-07  Pavel Podivilov  <podivilov@chromium.org>
26802
26803        Reviewed by Pavel Feldman.
26804
26805        Web Inspector: update breakpoints according to source frame decorations after live edit.
26806        https://bugs.webkit.org/show_bug.cgi?id=58029
26807
26808        * inspector/front-end/DebuggerPresentationModel.js:
26809        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
26810        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
26811        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
26812        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
26813        * inspector/front-end/SourceFile.js:
26814        (WebInspector.SourceFile.prototype.set content):
26815        * inspector/front-end/SourceFrame.js:
26816        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
26817        (WebInspector.SourceFrame.prototype._handleSave):
26818
268192011-04-08  Pavel Podivilov  <podivilov@chromium.org>
26820
26821        Reviewed by Pavel Feldman.
26822
26823        Web Inspector: fix scripts concatenation in scripts panel.
26824        https://bugs.webkit.org/show_bug.cgi?id=58138
26825
26826        When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
26827
26828        * inspector/front-end/SourceFile.js:
26829        (WebInspector.SourceFile.prototype._loadResourceContent):
26830        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
26831
268322011-04-08  Pavel Feldman  <pfeldman@chromium.org>
26833
26834        Reviewed by Yury Semikhatsky.
26835
26836        Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
26837        https://bugs.webkit.org/show_bug.cgi?id=58118
26838
26839        This change reuses location for call frames in the protocol + structures script
26840        location <-> source lines interaction better. When we need UI columns, we will add
26841        them, but we should distinguish between script and UI terms on the type level, not naming.
26842
26843        * English.lproj/localizedStrings.js:
26844        * bindings/v8/DebuggerScript.js:
26845        * inspector/InjectedScriptSource.js:
26846        * inspector/Inspector.json:
26847        * inspector/front-end/CallStackSidebarPane.js:
26848        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
26849        (WebInspector.CallStackSidebarPane.prototype.update):
26850        * inspector/front-end/DebuggerPresentationModel.js:
26851        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
26852        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
26853        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
26854        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
26855        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
26856        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
26857        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
26858        (WebInspector.PresenationCallFrame):
26859        (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
26860        (WebInspector.PresenationCallFrame.prototype.sourceLine):
26861        * inspector/front-end/ScriptFormatter.js:
26862        (WebInspector.ScriptFormatter.locationToPosition):
26863        (WebInspector.ScriptFormatter.lineToPosition):
26864        * inspector/front-end/ScriptsPanel.js:
26865        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
26866        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
26867        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
26868        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
26869        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
26870        * inspector/front-end/SourceFile.js:
26871        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
26872        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
26873        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
26874        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
26875
268762011-04-08  Pavel Podivilov  <podivilov@chromium.org>
26877
26878        Reviewed by Pavel Feldman.
26879
26880        Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
26881        https://bugs.webkit.org/show_bug.cgi?id=58133
26882
26883        * inspector/front-end/DebuggerPresentationModel.js:
26884        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
26885        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
26886        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
26887        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
26888        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
26889        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
26890        (WebInspector.DebuggerPresentationModel.prototype._reset):
26891
268922011-04-07  Pavel Podivilov  <podivilov@chromium.org>
26893
26894        Reviewed by Pavel Feldman.
26895
26896        Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
26897        https://bugs.webkit.org/show_bug.cgi?id=58026
26898
26899        This is the first step of decoupling TextViewer from SourceFrame.
26900
26901        * inspector/front-end/SourceFrame.js:
26902        (WebInspector.SourceFrame):
26903        (WebInspector.SourceFrame.prototype.show):
26904        (WebInspector.SourceFrame.prototype.hide):
26905        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
26906        (WebInspector.SourceFrame.prototype.contentEditable):
26907        (WebInspector.SourceFrame.prototype.startEditing):
26908        (WebInspector.SourceFrame.prototype.endEditing):
26909        (WebInspector.SourceFrame.prototype._createTextViewer):
26910        (WebInspector.SourceFrame.prototype._handleSave):
26911        (WebInspector.SourceFrame.prototype._handleRevertEditing):
26912        * inspector/front-end/TextViewer.js:
26913        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
26914        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
26915        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
26916        (WebInspector.TextViewer.prototype._doubleClick):
26917        (WebInspector.TextViewerDelegate):
26918        (WebInspector.TextViewerDelegate.prototype.contentEditable):
26919        (WebInspector.TextViewerDelegate.prototype.startEditing):
26920        (WebInspector.TextViewerDelegate.prototype.endEditing):
26921        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
26922        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
26923        * inspector/front-end/inspector.html:
26924
269252011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
26926
26927        Reviewed by Steve Block.
26928
26929        Media Stream API: add the getUserMedia method and the Javascript bindings.
26930        https://bugs.webkit.org/show_bug.cgi?id=56586
26931
26932        Add the getUserMedia method to the navigator and its new Javascript types.
26933        Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
26934
26935        Tests: fast/dom/MediaStream/argument-types.html
26936               fast/dom/MediaStream/enabled.html
26937               fast/dom/MediaStream/no-interface-object.html
26938
26939        * Android.derived.jscbindings.mk:
26940        * Android.derived.v8bindings.mk:
26941        * Android.v8bindings.mk:
26942        * CMakeLists.txt:
26943        * CodeGenerators.pri:
26944        * DerivedSources.cpp:
26945        * DerivedSources.make:
26946        * GNUmakefile.list.am:
26947        * WebCore.gypi:
26948        * WebCore.pro:
26949        * WebCore.vcproj/WebCore.vcproj:
26950        * WebCore.xcodeproj/project.pbxproj:
26951        * bindings/js/JSNavigatorCustom.cpp:
26952        (WebCore::JSNavigator::webkitGetUserMedia):
26953        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
26954        (WebCore::V8Navigator::webkitGetUserMediaCallback):
26955        * page/Navigator.cpp:
26956        (WebCore::Navigator::webkitGetUserMedia):
26957        * page/Navigator.h:
26958        * page/Navigator.idl:
26959        * page/NavigatorUserMediaError.h: Added.
26960        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
26961        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
26962        (WebCore::NavigatorUserMediaError::code):
26963        * page/NavigatorUserMediaError.idl: Added.
26964        * page/NavigatorUserMediaErrorCallback.h: Added.
26965        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
26966        * page/NavigatorUserMediaErrorCallback.idl: Added.
26967        * page/NavigatorUserMediaSuccessCallback.h: Added.
26968        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
26969        * page/NavigatorUserMediaSuccessCallback.idl: Added.
26970
269712011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
26972
26973        Reviewed by Pavel Feldman.
26974
26975        Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
26976        https://bugs.webkit.org/show_bug.cgi?id=58010
26977        https://bugs.webkit.org/show_bug.cgi?id=58011
26978
26979        Added tests for "Containment" view. Minor refactorings, bugs fixed.
26980        Split one large tests into smaller ones to avoid timing out in debug mode.
26981
26982        Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
26983               inspector/profiler/detailed-heapshots-containment-show-all.html
26984               inspector/profiler/detailed-heapshots-containment-show-next.html
26985               inspector/profiler/detailed-heapshots-containment-sorting.html
26986               inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
26987               inspector/profiler/detailed-heapshots-summary-show-all.html
26988               inspector/profiler/detailed-heapshots-summary-show-next.html
26989               inspector/profiler/detailed-heapshots-summary-sorting.html
26990
26991        * inspector/front-end/DetailedHeapshotGridNodes.js:
26992        (WebInspector.HeapSnapshotGridNode):
26993        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
26994        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
26995        (WebInspector.HeapSnapshotGridNode.prototype.sort):
26996        (WebInspector.HeapSnapshotGenericObjectNode):
26997        (WebInspector.HeapSnapshotObjectNode):
26998        (WebInspector.HeapSnapshotInstanceNode):
26999        (WebInspector.HeapSnapshotConstructorNode):
27000        (WebInspector.HeapSnapshotDiffNode):
27001        (WebInspector.HeapSnapshotDominatorObjectNode):
27002        * inspector/front-end/DetailedHeapshotView.js:
27003        (WebInspector.HeapSnapshotContainmentDataGrid):
27004        (WebInspector.HeapSnapshotDominatorsDataGrid):
27005
270062011-04-08  Andrey Adaikin  <aandrey@google.com>
27007
27008        Reviewed by Pavel Feldman.
27009
27010        Web Inspector: Bugs in some corner cases in the text editor
27011        https://bugs.webkit.org/show_bug.cgi?id=58025
27012
27013        This solves the following bugs:
27014        1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
27015        2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
27016
27017        * inspector/front-end/TextViewer.js:
27018        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
27019        (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
27020        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
27021        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
27022        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
27023
270242011-04-07  Pavel Podivilov  <podivilov@chromium.org>
27025
27026        Reviewed by Pavel Feldman.
27027
27028        Web Inspector: add test for script formatter worker.
27029        https://bugs.webkit.org/show_bug.cgi?id=57447
27030
27031        Test: inspector/debugger/script-formatter.html
27032
27033        * GNUmakefile.am:
27034        * WebCore.xcodeproj/project.pbxproj:
27035        * gyp/streamline-inspector-source.sh:
27036        * inspector/front-end/DebuggerPresentationModel.js:
27037        (WebInspector.DebuggerPresentationModel.prototype._addScript):
27038        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
27039        (WebInspector.DebuggerPresentationModel.prototype._formatter):
27040        * inspector/front-end/ScriptFormatterWorker.js:
27041
270422011-04-08  Andrey Adaikin  <aandrey@google.com>
27043
27044        Reviewed by Pavel Feldman.
27045
27046        Web Inspector: Tweak dynamically constants for the async highlighting in text editor
27047        https://bugs.webkit.org/show_bug.cgi?id=58035
27048
27049        * inspector/front-end/TextViewer.js:
27050        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
27051        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
27052        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
27053        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
27054        (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
27055
270562011-04-08  Andrey Kosyakov  <caseq@chromium.org>
27057
27058        Reviewed by Yury Semikhatsky.
27059
27060        Web Inspector: HAR compliance fixes
27061        https://bugs.webkit.org/show_bug.cgi?id=58124
27062
27063        - Always provide some values for queryString and cookies, even though arrays may be empty
27064        - Always provide an empty cache object
27065        - Added entire HARLog to test
27066        - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
27067
27068        * inspector/front-end/HAREntry.js:
27069        (WebInspector.HAREntry.prototype.build):
27070        (WebInspector.HAREntry.prototype._buildRequest):
27071        (WebInspector.HAREntry.prototype._buildResponse):
27072
270732011-04-08  Adam Barth  <abarth@webkit.org>
27074
27075        Attempt to fix the Qt build.
27076
27077        * css/CSSStyleApplyProperty.cpp:
27078
270792011-04-07  Adam Barth  <abarth@webkit.org>
27080
27081        Reviewed by Eric Seidel.
27082
27083        Refactor WebCore/GNUMakefile.am to separate list of files
27084        https://bugs.webkit.org/show_bug.cgi?id=58116
27085
27086        This change is similar to the cooresponding to change to
27087        JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
27088        using GYP.
27089
27090        * GNUmakefile.am:
27091        * GNUmakefile.list.am: Added.
27092
270932011-04-07  Geoffrey Garen  <ggaren@apple.com>
27094
27095        Not reviewed.
27096
27097        Rolled out some accidentally-committed changes in my last commit.
27098
27099        * dom/EventTarget.cpp:
27100        (WebCore::EventTarget::addEventListener):
27101        (WebCore::EventTarget::removeEventListener):
27102        * dom/EventTarget.h:
27103
271042011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
27105
27106        Reviewed by Alexey Proskuryakov.
27107
27108        EventSource should only accept UTF-8 charset
27109        https://bugs.webkit.org/show_bug.cgi?id=56942
27110
27111        Following the discussion on bug 45372, this change implements the recommended
27112        way of handling "charset". We only accept UTF-8 but no other encoding. This matches
27113        the encoding of the EventSource and also may fix TomCat that automatically send this
27114        charset.
27115
27116        * page/EventSource.cpp:
27117        (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
27118        not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
27119        is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
27120
271212011-04-07  Geoffrey Garen  <ggaren@apple.com>
27122
27123        Reviewed by Maciej Stachowiak.
27124
27125        Some Handle<T> cleanup
27126        https://bugs.webkit.org/show_bug.cgi?id=58109
27127
27128        * bindings/js/ScriptValue.h:
27129        (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
27130        (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
27131
271322011-04-07  Dominic Cooney  <dominicc@google.com>
27133
27134        Reviewed by Dimitri Glazkov.
27135
27136        Let shadow DOM have a list of nodes at the top level of a shadow.
27137        https://bugs.webkit.org/show_bug.cgi?id=57813
27138
27139        Adds ShadowRoot, a list of nodes, to be a parent for top-level
27140        shadow children. Forwards rendering through the root and into the
27141        host's renderer.
27142
27143        Covered by existing tests of elements that use this style of shadow.
27144
27145        * Android.mk: add ShadowRoot.h/cpp
27146        * CMakeLists.txt:
27147        * GNUmakefile.am:
27148        * WebCore.exp.in:
27149        * WebCore.gypi:
27150        * WebCore.pro:
27151        * WebCore.vcproj/WebCore.vcproj:
27152        * WebCore.xcodeproj/project.pbxproj:
27153        * css/CSSStyleSelector.cpp:
27154        (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
27155        * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
27156        (WebCore::ContainerNode::insertBefore):
27157        (WebCore::ContainerNode::replaceChild):
27158        (WebCore::ContainerNode::removeChild):
27159        (WebCore::ContainerNode::appendChild):
27160        * dom/DocumentFragment.cpp:
27161        (WebCore::DocumentFragment::DocumentFragment):
27162        * dom/DocumentFragment.h:
27163        * dom/Element.cpp:
27164        (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
27165        (WebCore::Element::shadowRoot): should be const
27166        (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
27167        * dom/Element.h:
27168        * dom/ElementRareData.h:
27169        * dom/Node.cpp:
27170        (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
27171          ShadowRoot can forward to the host's renderer
27172        (WebCore::Node::createRendererAndStyle):
27173        (WebCore::Node::createRendererIfNeeded):
27174        * dom/Node.h:
27175        (WebCore::Node::isShadowBoundary): temporary, to differentiate
27176          old- and new-style, until all roots are ShadowRoot instances
27177        * dom/ShadowRoot.cpp: Added.
27178        (WebCore::ShadowRoot::ShadowRoot):
27179        (WebCore::ShadowRoot::recalcStyle): forward recalc to children
27180        * dom/ShadowRoot.h: Added.
27181        (WebCore::ShadowRoot::isShadowBoundary):
27182        (WebCore::ShadowRoot::create):
27183        * html/HTMLKeygenElement.cpp: use ensureShadowRoot
27184        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
27185        (WebCore::HTMLKeygenElement::parseMappedAttribute):
27186        (WebCore::HTMLKeygenElement::appendFormData):
27187        (WebCore::HTMLKeygenElement::reset):
27188        (WebCore::HTMLKeygenElement::shadowSelect):
27189        * html/HTMLKeygenElement.h:
27190        * html/HTMLMeterElement.cpp: use ensureShadowRoot
27191        (WebCore::HTMLMeterElement::createShadowSubtree):
27192        * html/HTMLProgressElement.cpp: use ensureShadowRoot
27193        (WebCore::HTMLProgressElement::createShadowSubtree):
27194        * html/InputType.cpp: use ensureShadowRoot
27195        (WebCore::InputType::destroyShadowSubtree):
27196        * html/RangeInputType.cpp: use ensureShadowRoot
27197        (WebCore::RangeInputType::handleMouseDownEvent):
27198        (WebCore::RangeInputType::createShadowSubtree):
27199        (WebCore::RangeInputType::valueChanged):
27200        (WebCore::RangeInputType::shadowSliderThumb):
27201        * html/RangeInputType.h:
27202        * html/ValidationMessage.cpp: use ensureShadowRoot
27203        (WebCore::ValidationMessage::buildBubbleTree):
27204        (WebCore::ValidationMessage::deleteBubbleTree):
27205        * html/shadow/SliderThumbElement.cpp:
27206        (WebCore::SliderThumbElement::setPositionFromPoint):
27207        (WebCore::SliderThumbElement::hostInput):
27208        * html/shadow/SliderThumbElement.h:
27209        * rendering/MediaControlElements.cpp: use ensureShadowRoot
27210        (WebCore::MediaControlInputElement::attach):
27211        (WebCore::MediaControlInputElement::updateStyle):
27212        * rendering/RenderSlider.cpp: use ensureShadowRoot
27213        (WebCore::RenderSlider::thumbRect):
27214        (WebCore::RenderSlider::layout):
27215        (WebCore::RenderSlider::shadowSliderThumb):
27216        (WebCore::RenderSlider::inDragMode):
27217        * rendering/RenderSlider.h:
27218
272192011-04-07  Maciej Stachowiak  <mjs@apple.com>
27220
27221        Reviewed by Simon Fraser.
27222
27223        REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
27224        https://bugs.webkit.org/show_bug.cgi?id=56297
27225        <rdar://problem/9131597>
27226
27227        Test: fast/css-generated-content/table-row-after-no-crash.html
27228
27229        * rendering/RenderTableRow.cpp:
27230        (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
27231        content, and only do it if the row already has a parent. For construction of
27232        anonymous cells to work correctly, the row needs to already have a parent, so
27233        in that case wait a bit.
27234        (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
27235        * rendering/RenderTableRow.h:
27236        * rendering/RenderTableSection.cpp:
27237        (WebCore::RenderTableSection::addChild): When adding a row, update its
27238        before/after content, in case it had any.
27239
272402011-04-07  Beth Dakin  <bdakin@apple.com>
27241
27242        Reviewed by Simon Fraser.
27243
27244        Probable fix for <rdar://problem/9251443>  Crashing on exception: -
27245        [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized
27246        selector sent to instance ADDRESS.
27247
27248       Need to implement new delegate method.
27249        * platform/mac/ScrollAnimatorMac.mm:
27250        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
27251
272522011-04-07  Ian Henderson  <ianh@apple.com>
27253
27254        Reviewed by Simon Fraser.
27255
27256        Optimize filling rounded rects that are actually ellipses
27257        https://bugs.webkit.org/show_bug.cgi?id=58098
27258
27259        In CG, drawing an ellipse directly is faster than constructing and
27260        filling a rounded rect path.  Detect when the given rounded rect is
27261        actually an ellipse and draw it directly in this case.
27262
27263        * platform/graphics/cg/GraphicsContextCG.cpp:
27264        (WebCore::GraphicsContext::fillRoundedRect):
27265
272662011-04-07  Ned Holbrook  <nholbrook@apple.com>
27267
27268        Reviewed by Dan Bernstein.
27269
27270        CTLine objects should outlive their CTRuns
27271        https://bugs.webkit.org/show_bug.cgi?id=58063
27272
27273        * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
27274        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
27275        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
27276        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
27277
272782011-04-07  Nat Duca  <nduca@chromium.org>
27279
27280        Reviewed by David Levin.
27281
27282        [chromium] Compositor thread infrastructure
27283        https://bugs.webkit.org/show_bug.cgi?id=56131
27284
27285        Introduce chrome compositor thread and related
27286        infrastructure.
27287
27288        * WebCore.gypi:
27289        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
27290        (WebCore::CCMainThread::performTask):
27291        (WebCore::CCMainThread::postTask):
27292        * platform/graphics/chromium/cc/CCMainThread.h: Added.
27293        (WebCore::CCMainThread::Task::~Task):
27294        (WebCore::CCMainThread::Task::instance):
27295        (WebCore::CCMainThread::Task::Task):
27296        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
27297        (WebCore::MainThreadTask0::create):
27298        (WebCore::MainThreadTask0::MainThreadTask0):
27299        (WebCore::MainThreadTask0::performTask):
27300        (WebCore::MainThreadTask1::create):
27301        (WebCore::MainThreadTask1::MainThreadTask1):
27302        (WebCore::MainThreadTask1::performTask):
27303        (WebCore::MainThreadTask2::create):
27304        (WebCore::MainThreadTask2::MainThreadTask2):
27305        (WebCore::MainThreadTask2::performTask):
27306        (WebCore::MainThreadTask3::create):
27307        (WebCore::MainThreadTask3::MainThreadTask3):
27308        (WebCore::MainThreadTask3::performTask):
27309        (WebCore::createMainThreadTask):
27310        * platform/graphics/chromium/cc/CCThread.cpp: Added.
27311        (WebCore::CCThread::create):
27312        (WebCore::CCThread::CCThread):
27313        (WebCore::CCThread::~CCThread):
27314        (WebCore::CCThread::postTask):
27315        (WebCore::CCThread::compositorThreadStart):
27316        (WebCore::CCThread::runLoop):
27317        * platform/graphics/chromium/cc/CCThread.h: Added.
27318        (WebCore::CCThread::Task::~Task):
27319        (WebCore::CCThread::Task::instance):
27320        (WebCore::CCThread::Task::Task):
27321        (WebCore::CCThread::threadID):
27322        (WebCore::CCCompletionEvent::CCCompletionEvent):
27323        (WebCore::CCCompletionEvent::~CCCompletionEvent):
27324        (WebCore::CCCompletionEvent::wait):
27325        (WebCore::CCCompletionEvent::signal):
27326        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
27327        (WebCore::CCThreadTask0::create):
27328        (WebCore::CCThreadTask0::CCThreadTask0):
27329        (WebCore::CCThreadTask0::performTask):
27330        (WebCore::CCThreadTask1::create):
27331        (WebCore::CCThreadTask1::CCThreadTask1):
27332        (WebCore::CCThreadTask1::performTask):
27333        (WebCore::CCThreadTask2::create):
27334        (WebCore::CCThreadTask2::CCThreadTask2):
27335        (WebCore::CCThreadTask2::performTask):
27336        (WebCore::CCThreadTask3::create):
27337        (WebCore::CCThreadTask3::CCThreadTask3):
27338        (WebCore::CCThreadTask3::performTask):
27339        (WebCore::createCCThreadTask):
27340
273412011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
27342
27343        Reviewed by Eric Seidel.
27344
27345        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
27346        https://bugs.webkit.org/show_bug.cgi?id=57872
27347
27348        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
27349        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
27350
27351        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
27352        avoiding the tab span.
27353
27354        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
27355        Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
27356        we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
27357        before moving the nodes.
27358
27359        Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
27360               editing/inserting/insert-paragraph-separator-tab-span.html
27361
27362        * editing/DeleteSelectionCommand.cpp:
27363        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
27364        no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
27365        * editing/EditingStyle.cpp:
27366        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
27367        * editing/InsertParagraphSeparatorCommand.cpp:
27368        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
27369        separator into a paragraph separator.
27370        * editing/htmlediting.cpp:
27371        (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
27372        node after the tab span if the position was at the end of the tab span.
27373        * editing/htmlediting.h:
27374
273752011-04-07  Jia Pu  <jpu@apple.com>
27376
27377        Reviewed by Darin Adler.
27378
27379        [Mac] Editor::setComposition() should not trigger correction panel timer.
27380        https://bugs.webkit.org/show_bug.cgi?id=58049
27381         <rdar://problem/9226305>
27382
27383        On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
27384        should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
27385        When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
27386        m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
27387
27388        No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
27389        autocorrection panel timer, which can not be easily done in automated fashion.
27390
27391        * editing/Editor.cpp:
27392        (WebCore::Editor::deleteWithDirection):
27393        (WebCore::Editor::insertTextWithoutSendingTextEvent):
27394        (WebCore::Editor::confirmComposition):
27395        (WebCore::Editor::setComposition):
27396        * editing/EditorCommand.cpp:
27397        (WebCore::executeDelete):
27398        * editing/TypingCommand.cpp:
27399        (WebCore::TypingCommand::TypingCommand):
27400        (WebCore::TypingCommand::deleteSelection):
27401        (WebCore::TypingCommand::deleteKeyPressed):
27402        (WebCore::TypingCommand::forwardDeleteKeyPressed):
27403        (WebCore::TypingCommand::insertText):
27404        (WebCore::TypingCommand::insertLineBreak):
27405        (WebCore::TypingCommand::insertParagraphSeparator):
27406        (WebCore::TypingCommand::typingAddedToOpenCommand):
27407        * editing/TypingCommand.h:
27408        (WebCore::TypingCommand::create):
27409        (WebCore::TypingCommand::setShouldPreventSpellChecking):
27410
274112011-04-07  John Bauman  <jbauman@chromium.org>
27412
27413        Reviewed by Kenneth Russell.
27414
27415        clearIfComposited call is really slow
27416        https://bugs.webkit.org/show_bug.cgi?id=57999
27417
27418        Move getContextAttributes call after the if, so it isn't called nearly as often.
27419
27420        No new tests.
27421
27422        * html/canvas/WebGLRenderingContext.cpp:
27423        (WebCore::WebGLRenderingContext::clearIfComposited):
27424
274252011-04-07  Luke Macpherson   <macpherson@chromium.org>
27426
27427        Reviewed by Dimitri Glazkov.
27428
27429        Implement Backgroun and Mask properties in CSSStyleApplyProperty
27430        https://bugs.webkit.org/show_bug.cgi?id=57922
27431
27432        No tests added as no behavioral changes.
27433
27434        * css/CSSStyleApplyProperty.cpp:
27435        Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
27436        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
27437        Added constructor calls to set up:
27438          CSSPropertyBackgroundAttachment
27439          CSSPropertyBackgroundClip
27440          CSSPropertyWebkitBackgroundClip
27441          CSSPropertyWebkitBackgroundComposite
27442          CSSPropertyBackgroundOrigin
27443          CSSPropertyWebkitBackgroundOrigin
27444          CSSPropertyBackgroundSize
27445          CSSPropertyWebkitBackgroundSize
27446          CSSPropertyWebkitMaskAttachment
27447          CSSPropertyWebkitMaskClip
27448          CSSPropertyWebkitMaskComposite
27449          CSSPropertyWebkitMaskOrigin
27450          CSSPropertyWebkitMaskSize
27451        * css/CSSStyleApplyProperty.h:
27452        (WebCore::CSSStyleApplyProperty::setPropertyValue):
27453        Add function to specify an equivalent property value in the lookup table.
27454        * css/CSSStyleSelector.cpp:
27455        (WebCore::CSSStyleSelector::applyProperty):
27456        Remove sections now implemented by CSSStyleApplyProperty.
27457        * css/CSSStyleSelector.h:
27458        Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
27459
274602011-04-04  Eric Seidel  <eric@webkit.org>
27461
27462        Reviewed by Ryosuke Niwa.
27463
27464        Split run storage out from BidiResolver into a new BidiRunList class
27465        https://bugs.webkit.org/show_bug.cgi?id=57764
27466
27467        Part of what makes BidiResolver and InlineIterator so difficult to understand
27468        (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
27469        for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
27470        BidiRuns from the algorithm.  This patch breaks the storage aspect off
27471        into its own class BidiRunList.
27472
27473        This patch is only a start.  It does not actually fix the problematic ownership
27474        relationship, but it does make it possible to fix such in a second patch.
27475
27476        The run pointers and addRun/prependRun, etc. were already a tightly coupled
27477        logical subset of the BidiResolver class, so moving them into their own class
27478        was both obvious and easy.  The only piece of logic I had to move was that
27479        deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
27480
27481        I believe this deleteRuns side-effect was only ever used for one place
27482        (right after findNextLineBreak) and that it's only needed because
27483        findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
27484        an unintentional side-effect of how InlineIterator calls through to BidiResolver
27485        as part of bidiNext and not a desired effect of the code.  I have added the call
27486        to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
27487        could get re-used) as a safety precaution.  We could replace both with ASSERTs
27488        in a later patch.
27489
27490        I suspect there may be a small performance win from further refactoring so that
27491        findNextLineBreak does not need to create BidiRuns.
27492
27493        As I commented in the code, callers should own their own BidiRunList which they
27494        pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
27495        an earlier version of this patch, but it was too complicated with the current
27496        twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
27497        raise/lowerExplicitEmbeddingLevel are called unconditionally
27498        from commitExplicitEmbedding (which is called by bidiNext) and expect to have
27499        access to a runs list even in cases where we don't want any runs (findNextLineBreak).
27500
27501        I also cleaned up some of the callers to pass around BidiRunList objects instead
27502        of InlineBidiResolvers now that they're separate objects.
27503
27504        * GNUmakefile.am:
27505        * WebCore.gypi:
27506        * WebCore.pro:
27507        * WebCore.vcproj/WebCore.vcproj:
27508        * WebCore.xcodeproj/project.pbxproj:
27509        * platform/graphics/GraphicsContext.cpp:
27510        (WebCore::GraphicsContext::drawBidiText):
27511        * platform/text/BidiResolver.h:
27512        (WebCore::BidiResolver::BidiResolver):
27513        (WebCore::BidiResolver::runs):
27514        (WebCore::BidiResolver::markCurrentRunEmpty):
27515        (WebCore::::appendRun):
27516        (WebCore::::lowerExplicitEmbeddingLevel):
27517        (WebCore::::raiseExplicitEmbeddingLevel):
27518        (WebCore::::reorderRunsFromLevels):
27519        (WebCore::::createBidiRunsForLine):
27520        * rendering/InlineIterator.h:
27521        (WebCore::InlineBidiResolver::appendRun):
27522        * rendering/RenderBlock.h:
27523        * rendering/RenderBlockLineLayout.cpp:
27524        (WebCore::createRun):
27525        (WebCore::RenderBlock::appendRunsForObject):
27526        (WebCore::reachedEndOfTextRenderer):
27527        (WebCore::RenderBlock::handleTrailingSpaces):
27528        (WebCore::RenderBlock::layoutInlineChildren):
27529
275302011-04-07  Naoki Takano  <takano.naoki@gmail.com>
27531
27532        Reviewed by Adam Barth.
27533
27534        [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
27535        https://bugs.webkit.org/show_bug.cgi?id=57911
27536        http://code.google.com/p/chromium/issues/detail?id=78073
27537
27538        Manual test added: manual-tests/autofill-popup-location.html
27539
27540        Originally only height is checked so that it introduces the bug.
27541        So I changed it to check both width and height as size.
27542
27543        * manual-tests/autofill-popup-location.html: Added.
27544        * platform/chromium/PopupMenuChromium.cpp:
27545        (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
27546
275472011-04-07  Adam Barth  <abarth@webkit.org>
27548
27549        Reviewed by Eric Seidel.
27550
27551        Implement img-src style-src and font-src
27552        https://bugs.webkit.org/show_bug.cgi?id=58018
27553
27554        These are pretty straight forward given the rest of the infrastructure
27555        we've built so far.
27556
27557        Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
27558               http/tests/security/contentSecurityPolicy/image-blocked.html
27559               http/tests/security/contentSecurityPolicy/style-allowed.html
27560               http/tests/security/contentSecurityPolicy/style-blocked.html
27561               http/tests/security/contentSecurityPolicy/xsl-allowed.php
27562               http/tests/security/contentSecurityPolicy/xsl-blocked.php
27563
27564        * loader/cache/CachedResourceLoader.cpp:
27565        (WebCore::CachedResourceLoader::canRequest):
27566        * page/ContentSecurityPolicy.cpp:
27567        (WebCore::ContentSecurityPolicy::allowImageFromSource):
27568        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
27569        (WebCore::ContentSecurityPolicy::allowFontFromSource):
27570        (WebCore::ContentSecurityPolicy::addDirective):
27571        * page/ContentSecurityPolicy.h:
27572
275732011-04-07  David Levin  <levin@chromium.org>
27574
27575        Reviewed by Darin Adler.
27576
27577        Make IconSnapshot and PageURLRecord member variables private.
27578        https://bugs.webkit.org/show_bug.cgi?id=58080
27579
27580        No change in functionality so no new tests.
27581
27582        * loader/icon/IconDatabase.cpp:
27583        (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
27584        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
27585        * loader/icon/IconRecord.h:
27586        (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
27587        (WebCore::IconSnapshot::iconURL): Expose the property.
27588        (WebCore::IconSnapshot::timestamp): Ditto.
27589        (WebCore::IconSnapshot::data): Ditto.
27590        * loader/icon/PageURLRecord.h:
27591        (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
27592        (WebCore::PageURLSnapshot::pageURL): Expose the property.
27593        (WebCore::PageURLSnapshot::iconURL): Ditto.
27594
275952011-04-07  Dan Bernstein  <mitz@apple.com>
27596
27597        Build fix.
27598
27599        * platform/graphics/cairo/GraphicsContextCairo.cpp:
27600        (WebCore::GraphicsContext::roundToDevicePixels):
27601
276022011-04-07  Eric Seidel  <eric@webkit.org>
27603
27604        Reviewed by Adam Barth.
27605
27606        Add stub support for generating Gtk build system from gyp
27607        https://bugs.webkit.org/show_bug.cgi?id=58086
27608
27609        This does not produce a buildable WebCore, but it
27610        does allow running gyp/configure --port=gtk and having
27611        it generate a gtk.Makefile which we can use for testing
27612        the rest of the plumbing.
27613
27614        * gyp/gtk.gyp: Added.
27615
276162011-04-07  David Hyatt  <hyatt@apple.com>
27617
27618        Reviewed by Dan Bernstein.
27619
27620        https://bugs.webkit.org/show_bug.cgi?id=57736
27621
27622        Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
27623        optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
27624        layout finished. This would eventually lead to an inability to properly determine the correct layout root and
27625        would cause a deleted root to be used later on.
27626
27627        Added fast/block/positioning/complex-positioned-movement.html.
27628
27629        * page/FrameView.cpp:
27630        (WebCore::FrameView::scheduleRelayoutOfSubtree):
27631        Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
27632
27633        * rendering/RenderBlock.cpp:
27634        (WebCore::RenderBlock::simplifiedLayout):
27635        Change simplified layout so that the positioned movement optimization no longer clears the other layout
27636        flags. This will ensure that we still lay out our descendants if they need it.
27637
27638        (WebCore::RenderBlock::layoutPositionedObjects):
27639        Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
27640        no longer does the clear.
27641
27642        * rendering/RenderBox.h:
27643        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
27644        tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
27645        does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
27646        the other flags in case other kinds of layout are still needed.
27647
27648        * rendering/RenderObject.h:
27649        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
27650        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
27651        Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
27652
276532011-04-07  Andrew Scherkus  <scherkus@chromium.org>
27654
27655        Revert ENABLE_TRACK patch due to compile failures.
27656
27657        * CMakeLists.txt:
27658        * Configurations/FeatureDefines.xcconfig:
27659        * DerivedSources.make:
27660        * GNUmakefile.am:
27661        * WebCore.gypi:
27662        * WebCore.xcodeproj/project.pbxproj:
27663        * features.pri:
27664        * html/HTMLAttributeNames.in:
27665        * html/HTMLTagNames.in:
27666        * html/HTMLTrackElement.cpp: Removed.
27667        * html/HTMLTrackElement.h: Removed.
27668        * html/HTMLTrackElement.idl: Removed.
27669
276702011-04-07  Dan Bernstein  <mitz@apple.com>
27671
27672        Reviewed by Simon Fraser.
27673
27674        <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
27675        https://bugs.webkit.org/show_bug.cgi?id=58083
27676
27677        Test: fast/text/decorations-transformed.html
27678
27679        * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
27680        is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
27681        gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
27682        the width and the height. In this new mode, translating a rectangle in user space never changes
27683        its dimensions in device pixels.
27684        * platform/graphics/cg/GraphicsContextCG.cpp:
27685        (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
27686        (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
27687        all underlines have the same thickness in device pixels.
27688        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
27689        (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
27690        * platform/graphics/qt/GraphicsContextQt.cpp:
27691        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27692        * platform/graphics/skia/GraphicsContextSkia.cpp:
27693        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27694        * platform/graphics/wince/GraphicsContextWinCE.cpp:
27695        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27696        * platform/graphics/wx/GraphicsContextWx.cpp:
27697        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27698        * rendering/InlineTextBox.cpp:
27699        (WebCore::InlineTextBox::paintDecoration):
27700
277012011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
27702
27703        Reviewed by Nate Chapin.
27704
27705        [V8] Remove custom DOMImplementation getter on Document.
27706        https://bugs.webkit.org/show_bug.cgi?id=57991
27707
27708        The custom getter is no longer required because DOMImplementation
27709        objects are now created per document.
27710
27711        Test: fast/dom/DOMImplementation/implementation-identity.html
27712
27713        * bindings/scripts/CodeGeneratorV8.pm:
27714        * bindings/v8/custom/V8DocumentCustom.cpp:
27715        * dom/Document.idl:
27716
277172011-04-07  Sergey Glazunov  <serg.glazunov@gmail.com>
27718
27719        Reviewed by Dimitri Glazkov.
27720
27721        setHasID() is only called for styled elements
27722        https://bugs.webkit.org/show_bug.cgi?id=57267
27723
27724        Test: fast/dom/non-styled-element-id-crash.html
27725
27726        * dom/Element.cpp:
27727        (WebCore::Element::attributeChanged):
27728        (WebCore::Element::idAttributeChanged):
27729        * dom/Element.h:
27730        * dom/StyledElement.cpp:
27731        (WebCore::StyledElement::parseMappedAttribute):
27732
277332011-04-07  Jer Noble  <jer.noble@apple.com>
27734
27735        Reviewed by Eric Carlson.
27736
27737        HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
27738        https://bugs.webkit.org/show_bug.cgi?id=58070
27739
27740        Make the HTMLMediaElement full screen functions call into the new Full Screen API when
27741        FULLSCREEN_API is enabled.
27742
27743        * html/HTMLMediaElement.cpp:
27744        (WebCore::HTMLMediaElement::enterFullscreen):
27745        (WebCore::HTMLMediaElement::exitFullscreen):
27746
277472011-04-07  Adam Barth  <abarth@webkit.org>
27748
27749        Reviewed by Eric Seidel.
27750
27751        Implement CSP's options directive
27752        https://bugs.webkit.org/show_bug.cgi?id=58014
27753
27754        This patch contains the full options parser, but we only have enough of
27755        CSP implemented to see the effects of disable-xss-protection.  Will
27756        need to do some more work before we can see eval-script in action.
27757
27758        Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
27759               http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
27760
27761        * page/ContentSecurityPolicy.cpp:
27762        (WebCore::CSPOptions::CSPOptions):
27763        (WebCore::CSPOptions::disableXSSProtection):
27764        (WebCore::CSPOptions::evalScript):
27765        (WebCore::CSPOptions::parse):
27766        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
27767        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
27768        (WebCore::ContentSecurityPolicy::allowInlineScript):
27769        (WebCore::ContentSecurityPolicy::addDirective):
27770        * page/ContentSecurityPolicy.h:
27771
277722011-04-07  Alexey Proskuryakov  <ap@apple.com>
27773
27774        Reviewed by Anders Carlsson.
27775
27776        REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
27777        https://bugs.webkit.org/show_bug.cgi?id=58066
27778        <rdar://problem/8965302>
27779
27780        * platform/mac/HTMLConverter.h:
27781        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
27782        Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
27783        it's now used in WebKit2.
27784
277852011-04-07  Andy Estes  <aestes@apple.com>
27786
27787        Reviewed by Darin Adler.
27788
27789        REGRESSION (r64712): Microsoft Outlook 2011: original message contents
27790        not included when replying to an email.
27791        https://bugs.webkit.org/show_bug.cgi?id=57794
27792
27793        * WebCore.exp.in:
27794        * loader/FrameLoader.cpp:
27795        (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
27796        before checking if the FrameLoader is parsing the initial empty document.
27797        This allows user scripts to be injected at the end of document parsing
27798        (if the setting is enabled).
27799        * page/Frame.cpp:
27800        (WebCore::Frame::injectUserScripts): Do not inject scripts if this
27801        feature is disabled on the initial empty document.
27802        * page/Settings.cpp:
27803        (WebCore::Settings::Settings):
27804        * page/Settings.h: Add a setting for injecting user scripts into the
27805        initial empty document (defaults to false).
27806        (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
27807        (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
27808        * platform/mac/RuntimeApplicationChecks.h:
27809        * platform/mac/RuntimeApplicationChecks.mm:
27810        (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
27811        application is Microsoft Outlook.
27812
278132011-04-06  Jer Noble  <jer.noble@apple.com>
27814
27815        Reviewed by Maciej Stachowiak.
27816
27817        AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
27818        https://bugs.webkit.org/show_bug.cgi?id=57962
27819
27820        Add support for a new AVPlayerItem API which will notify clients when their
27821        seek completes.  This requires a new Notification type to be passed to the main
27822        thread in MediaPlayerPrivateAVFoundation.
27823
27824        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
27825        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
27826        (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
27827            overloaded functions which take a Notification; and a Notification::Type and boolean.
27828        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted
27829            Notification type.
27830        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
27831        (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
27832        (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
27833        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
27834        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
27835        (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
27836
278372011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>
27838
27839        Reviewed by Eric Carlson.
27840
27841        Parse quotes from content type parameters
27842        https://bugs.webkit.org/show_bug.cgi?id=53275
27843
27844        This functionality is tested in video-can-play-type.html layout test
27845        where I've added codecs parameter with good and bad formatting.
27846
27847        * platform/ContentType.cpp:
27848        (WebCore::ContentType::parameter):
27849
278502011-04-07  Pavel Feldman  <pfeldman@google.com>
27851
27852        Reviewed by Yury Semikhatsky.
27853
27854        Web Inspector: remove "enabled" from the setBreakpoint protocol.
27855        https://bugs.webkit.org/show_bug.cgi?id=58047
27856
27857        * bindings/js/ScriptDebugServer.cpp:
27858        (WebCore::ScriptDebugServer::hasBreakpoint):
27859        * bindings/v8/DebuggerScript.js:
27860        ():
27861        * bindings/v8/ScriptDebugServer.cpp:
27862        (WebCore::ScriptDebugServer::setBreakpoint):
27863        * inspector/Inspector.json:
27864        * inspector/InspectorDebuggerAgent.cpp:
27865        (WebCore::buildObjectForBreakpointCookie):
27866        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
27867        (WebCore::InspectorDebuggerAgent::setBreakpoint):
27868        (WebCore::InspectorDebuggerAgent::continueToLocation):
27869        (WebCore::InspectorDebuggerAgent::didParseSource):
27870        * inspector/InspectorDebuggerAgent.h:
27871        * inspector/ScriptBreakpoint.h:
27872        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
27873        * inspector/front-end/DebuggerModel.js:
27874        (WebInspector.DebuggerModel.prototype.setBreakpoint):
27875        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
27876        * inspector/front-end/DebuggerPresentationModel.js:
27877        (WebInspector.DebuggerPresentationModel):
27878        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
27879        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
27880        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
27881        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
27882        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
27883        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
27884        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
27885        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
27886        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
27887        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
27888        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
27889        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
27890        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
27891        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
27892        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
27893        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
27894        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
27895        (WebInspector.DebuggerPresentationModel.prototype._reset):
27896        (WebInspector.PresentationBreakpoint):
27897
278982011-04-07  Dan Bernstein  <mitz@apple.com>
27899
27900        Reviewed by Adam Roben.
27901
27902        Removed a redundant line of code.
27903
27904        * rendering/RenderInline.cpp:
27905        (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
27906        this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
27907
279082011-04-07  Liang Qi  <liang.qi@nokia.com>
27909
27910        Reviewed by Laszlo Gombos.
27911
27912        [Qt][Symbian] Enable webkit build with GCCE on Symbian.
27913        https://bugs.webkit.org/show_bug.cgi?id=57841
27914
27915        * WebCore.pri: Thanks for Norbert Leser  <norbert.leser@nokia.com> who checked RVCT part.
27916        --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
27917        to 0x1000000 together. They need to be updated in the future when WebKit grows.
27918
279192011-04-06  Pavel Feldman  <pfeldman@google.com>
27920
27921        Reviewed by Yury Semikhatsky.
27922
27923        Web Inspector: get rid of Breakpoint.js.
27924        https://bugs.webkit.org/show_bug.cgi?id=57949
27925
27926        * WebCore.gypi:
27927        * WebCore.vcproj/WebCore.vcproj:
27928        * inspector/front-end/Breakpoint.js: Removed.
27929        * inspector/front-end/BreakpointsSidebarPane.js:
27930        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
27931        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
27932        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
27933        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
27934        * inspector/front-end/DebuggerModel.js:
27935        (WebInspector.DebuggerModel):
27936        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
27937        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
27938        (WebInspector.DebuggerModel.prototype.setBreakpoint):
27939        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
27940        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
27941        (WebInspector.DebuggerModel.prototype._breakpointResolved):
27942        (WebInspector.DebuggerModel.prototype.reset):
27943        * inspector/front-end/DebuggerPresentationModel.js:
27944        (WebInspector.DebuggerPresentationModel):
27945        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
27946        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
27947        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
27948        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
27949        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
27950        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
27951        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
27952        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
27953        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
27954        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
27955        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
27956        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
27957        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
27958        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
27959        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
27960        (WebInspector.DebuggerPresentationModel.prototype._reset):
27961        (WebInspector.PresentationBreakpoint):
27962        (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
27963        (WebInspector.PresentationBreakpoint.prototype.get url):
27964        (WebInspector.PresentationBreakpoint.prototype.get resolved):
27965        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
27966        * inspector/front-end/ResourceTreeModel.js:
27967        (WebInspector.ResourceTreeModel):
27968        (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
27969        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
27970        * inspector/front-end/ScriptsPanel.js:
27971        (WebInspector.ScriptsPanel):
27972        (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
27973        (WebInspector.ScriptsPanel.prototype.reset):
27974        * inspector/front-end/WebKit.qrc:
27975        * inspector/front-end/inspector.html:
27976
279772011-04-07  Yury Semikhatsky  <yurys@chromium.org>
27978
27979        Reviewed by Pavel Feldman.
27980
27981        Web Inspector: console messages names should adhere to the common naming style
27982        https://bugs.webkit.org/show_bug.cgi?id=58042
27983
27984        * inspector/ConsoleMessage.cpp:
27985        (WebCore::ConsoleMessage::addToFrontend):
27986        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
27987        * inspector/Inspector.json:
27988        * inspector/InspectorConsoleAgent.cpp:
27989        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
27990        * inspector/front-end/ConsoleView.js:
27991        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
27992        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
27993        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
27994        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
27995
279962011-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
27997
27998        Reviewed by Yury Semikhatsky.
27999
28000        Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
28001        https://bugs.webkit.org/show_bug.cgi?id=57957
28002
28003        There is not a significant difference between  inspector messages spec and and JSON-RPC 2.0 messages spec.
28004        Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
28005        It was decided that we will use it.
28006
28007        the list of renames:
28008        1) type-> /dev/null
28009        2) domain + '.' + event => method // for events
28010        3) domain + '.' + command => method // for requests
28011        4) requestId => id // for responses
28012        5) arguments => params // for requests
28013        6) data => params // for events
28014        7) body => result // for responses
28015
28016        protocolErrors and error properties will be converted to JSON-RPC error format.
28017        The order of properties in messages also will be adjusted.
28018        The only thing that looks unnecessary is jsonrpc property.
28019
28020        * inspector/CodeGeneratorInspector.pm:
28021
280222011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
28023
28024        Reviewed by Eric Seidel.
28025
28026        Add functions to update left and right offsets to LineOffsets
28027        https://bugs.webkit.org/show_bug.cgi?id=58028
28028
28029        Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
28030        which are used to update m_left and m_right. Also added m_block and m_isFirstLine
28031        member variables to LineOffsets so that users of LineOffsets don't have to pass them around.
28032
28033        * rendering/RenderBlock.h:
28034        * rendering/RenderBlockLineLayout.cpp:
28035        (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
28036        (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
28037        (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
28038        (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
28039        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
28040        (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
28041        no longer passes firstLine around.
28042
280432011-04-06  Pavel Feldman  <pfeldman@google.com>
28044
28045        Reviewed by Yury Semikhatsky.
28046
28047        Web Inspector: migrate debugger domain to the unified breakpoint location notion.
28048        https://bugs.webkit.org/show_bug.cgi?id=57928
28049
28050        * inspector/Inspector.json:
28051        * inspector/InspectorDebuggerAgent.cpp:
28052        (WebCore::buildObjectForBreakpointCookie):
28053        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
28054        (WebCore::InspectorDebuggerAgent::setBreakpoint):
28055        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
28056        (WebCore::InspectorDebuggerAgent::didParseSource):
28057        * inspector/InspectorDebuggerAgent.h:
28058        * inspector/front-end/Breakpoint.js:
28059        (WebInspector.Breakpoint):
28060        * inspector/front-end/DebuggerModel.js:
28061        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
28062        (WebInspector.DebuggerModel.prototype._breakpointResolved):
28063
280642011-04-07  Andreas Kling  <andreas.kling@nokia.com>
28065
28066        Reviewed by Benjamin Poulain.
28067
28068        [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
28069
28070        When initializing a QStyleOptionSlider from a widget, the State_Horizontal
28071        hint may get set depending on how that widget is laid out in its parent.
28072        If this happens when drawing a vertical scrollbar, the hint is never
28073        cleared and we end up painting a vertical scrollbar with horizontal arrows.
28074
28075        Covered by pixel tests which should no longer paint silly scrollbars.
28076
28077        * platform/qt/ScrollbarThemeQt.cpp:
28078        (WebCore::styleOptionSlider):
28079
280802011-04-07  Adam Barth  <abarth@webkit.org>
28081
28082        Reviewed by Eric Seidel.
28083
28084        script-src should block inline script
28085        https://bugs.webkit.org/show_bug.cgi?id=58012
28086
28087        Block inline scripts at the ScriptElement layer.  This should catch
28088        exactly the scripts we want to catch.
28089
28090        Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html
28091
28092        * dom/Document.cpp:
28093        (WebCore::Document::processHttpEquiv):
28094            - This patch also adds the ability to supply a CSP policy via a
28095              <meta> tag.  We'll update the name of the header once we've
28096              finished implementing the spec.
28097        * dom/ScriptElement.cpp:
28098        (WebCore::ScriptElement::executeScript):
28099        * page/ContentSecurityPolicy.cpp:
28100        (WebCore::ContentSecurityPolicy::allowInlineScript):
28101        * page/ContentSecurityPolicy.h:
28102
281032011-04-07  Alice Boxhall  <aboxhall@chromium.org>
28104
28105        Reviewed by Ryosuke Niwa.
28106
28107        Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
28108        https://bugs.webkit.org/show_bug.cgi?id=57921
28109
28110        Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
28111        that the same logic can be used for a HitTestResult.
28112
28113        No visible changes, just cleanup, so no tests.
28114
28115        * page/EventHandler.cpp:
28116        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
28117        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
28118        (WebCore::EventHandler::handleMousePressEventTripleClick):
28119        (WebCore::EventHandler::handleMousePressEventSingleClick):
28120        (WebCore::EventHandler::handleMousePressEvent):
28121        (WebCore::EventHandler::handleMouseDraggedEvent):
28122        (WebCore::EventHandler::handleMouseReleaseEvent):
28123        (WebCore::EventHandler::subframeForHitTestResult):
28124        Made public static member, so that it can access targetNode(), and be accessed by
28125        webkitwebview in gtk.
28126        (WebCore::EventHandler::selectCursor):
28127        (WebCore::EventHandler::targetNode):
28128        (WebCore::EventHandler::handleMouseDoubleClickEvent):
28129        (WebCore::EventHandler::handleMouseMoveEvent):
28130        (WebCore::EventHandler::updateDragAndDrop):
28131        (WebCore::EventHandler::sendContextMenuEvent):
28132        * page/EventHandler.h:
28133        * page/MouseEventWithHitTestResults.cpp:
28134        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
28135        * page/MouseEventWithHitTestResults.h:
28136        * page/android/EventHandlerAndroid.cpp:
28137        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28138        * page/brew/EventHandlerBrew.cpp:
28139        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28140        * page/chromium/EventHandlerChromium.cpp:
28141        (WebCore::EventHandler::passMousePressEventToSubframe):
28142        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28143        * page/efl/EventHandlerEfl.cpp:
28144        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28145        * page/gtk/EventHandlerGtk.cpp:
28146        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28147        * page/haiku/EventHandlerHaiku.cpp:
28148        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28149        * page/mac/EventHandlerMac.mm:
28150        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28151        (WebCore::EventHandler::passSubframeEventToSubframe):
28152        * page/wx/EventHandlerWx.cpp:
28153        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
28154
281552011-04-07  Pavel Podivilov  <podivilov@chromium.org>
28156
28157        Reviewed by Pavel Feldman.
28158
28159        Web Inspector: build mapping for formatted scripts based on keywords positions.
28160        https://bugs.webkit.org/show_bug.cgi?id=57936
28161
28162        Mapping based on [\$\.\w]+ was not accurate because string literals representation
28163        may be different in original and formatted scripts.
28164
28165        * inspector/front-end/ScriptFormatterWorker.js:
28166        (buildMapping.regexp.b):
28167        (buildMapping):
28168
281692011-04-07  Kent Tamura  <tkent@chromium.org>
28170
28171        Reviewed by Dimitri Glazkov.
28172
28173        Spinbuttons become unclickable if right padding is large.
28174        https://bugs.webkit.org/show_bug.cgi?id=56298
28175
28176        An inner-spin-button is put on the right border and ignores right
28177        padding in RenderTextControlSingleLine::layout(), but forwardEvent()
28178        checks if a point is in an area just right of an internal text block.
28179        This inconsistency caused a bug that an inner-spin-button with large
28180        padding didn't receive mouse events.
28181
28182        To fix this bug, we render spin buttons as layers, and remove manual
28183        event forwarding code.
28184
28185        Test: fast/forms/input-number-large-padding.html
28186
28187        * css/html.css: Add "position:relative" to make a spin-button a layer.
28188        (input::-webkit-inner-spin-button):
28189        (input::-webkit-outer-spin-button):
28190        * rendering/RenderTextControlSingleLine.cpp:
28191        (WebCore::RenderTextControlSingleLine::forwardEvent):
28192          Remove manual event forwarding code.
28193
281942011-04-06  Adam Barth  <abarth@webkit.org>
28195
28196        Reviewed by Eric Seidel.
28197
28198        CSP object-src should block plugin loads
28199        https://bugs.webkit.org/show_bug.cgi?id=57283
28200
28201        This change is pretty straight-forward.  It's slighly unclear to me
28202        whether this patch is correct w.r.t. the code in DocumentWriter.  I've
28203        added a FIXME comment, and I'll investigate that case more in the future.
28204
28205        Test: http/tests/security/contentSecurityPolicy/object-src-none.html
28206
28207        * loader/DocumentWriter.cpp:
28208        (WebCore::DocumentWriter::begin):
28209        * loader/SubframeLoader.cpp:
28210        (WebCore::SubframeLoader::requestPlugin):
28211        * page/ContentSecurityPolicy.cpp:
28212        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
28213        (WebCore::ContentSecurityPolicy::addDirective):
28214        * page/ContentSecurityPolicy.h:
28215
282162011-04-06  Beth Dakin  <bdakin@apple.com>
28217
28218        Reviewed by Dan Bernstein.
28219
28220        https://bugs.webkit.org/show_bug.cgi?id=58009
28221        Frame::scalePage() results in visual artifacts with scale factors less than 1
28222        -and corresponding-
28223        <rdar://problem/8683230>
28224
28225        Fall into the case where we fill with a background base color when there is a page
28226        scale factor that is less than 1.
28227        * rendering/RenderView.cpp:
28228        (WebCore::RenderView::paintBoxDecorations):
28229
282302011-04-06  Jer Noble  <jer.noble@apple.com>
28231
28232        Reviewed by Darin Adler.
28233
28234        AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
28235        https://bugs.webkit.org/show_bug.cgi?id=57982
28236
28237        Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
28238
28239        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
28240        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
28241
282422011-04-06  Jer Noble  <jer.noble@apple.com>
28243
28244        Reviewed by Eric Carlson.
28245
28246        MediaPlayerPrivateAVFoundation does not change rate due to setRate().
28247        https://bugs.webkit.org/show_bug.cgi?id=57919
28248
28249        Test: media/video-set-rate-from-pause.html
28250
28251        The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
28252        of the media; instead a subclass must do that work.  So when setRate() is called,
28253        inform a subclass through a new pure virtual updateRate() function that there's
28254        work to be done.
28255
28256        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
28257        (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
28258        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
28259        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
28260        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
28261        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.
28262
282632011-04-06  Dai Mikurube  <dmikurube@chromium.org>
28264
28265        Reviewed by David Levin.
28266
28267        Add QUOTA build flag for unified quota API
28268        https://bugs.webkit.org/show_bug.cgi?id=57918
28269
28270        * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
28271        * GNUmakefile.am: Added QUOTA build flag
28272        * WebCore.pri: Added QUOTA build flag
28273
282742011-04-06  Stephanie Lewis  <slewis@apple.com>
28275
28276        Reviewed by Darin Adler.
28277
28278        https://bugs.webkit.org/show_bug.cgi?id=57997
28279        <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
28280        Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
28281        Cancel all enqueued events when detaching the Document the events cannot keep the Document
28282        alive.
28283
28284        No change in functionality so no new tests.
28285
28286        * dom/Document.cpp:
28287        (WebCore::Document::detach):
28288        * dom/EventQueue.cpp:
28289        (WebCore::EventQueue::cancelQueuedEvents):
28290        * dom/EventQueue.h:
28291
282922011-04-06  Dan Bernstein  <mitz@apple.com>
28293
28294        Reviewed by Darin Adler.
28295
28296        <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
28297        https://bugs.webkit.org/show_bug.cgi?id=58002
28298
28299        * platform/graphics/mac/SimpleFontDataMac.mm:
28300        (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
28301        does not require the vertical metrics tweaks that were needed in Leopard. That the
28302        tweaks were being applied went mostly unnoticed until r73993, because until then it
28303        only affected cases where Geeza Pro was specified, not when it occurred as a fallback
28304        font.
28305
283062011-04-06  Roland Steiner  <rolandsteiner@chromium.org>
28307
28308        Reviewed by Dimitri Glazkov.
28309
28310        Bug 57994 - Move guardRef functionality back to Document
28311        https://bugs.webkit.org/show_bug.cgi?id=57994
28312
28313        Move the relevant code parts from TreeScope back into Document.
28314
28315        No new tests. (no new functionality)
28316
28317        * dom/Document.cpp:
28318        (WebCore::Document::removedLastRef):
28319        * dom/Document.h:
28320        * dom/TreeScope.cpp:
28321        (WebCore::TreeScope::destroyTreeScopeData):
28322        * dom/TreeScope.h:
28323
283242011-04-06  Ian Henderson  <ianh@apple.com>
28325
28326        Reviewed by Simon Fraser, Antti Koivisto.
28327
28328        Fast path for parsing simple CSS values
28329        https://bugs.webkit.org/show_bug.cgi?id=57964
28330
28331        Add functions to parse simple color or dimension values, skipping the
28332        overhead of full CSS parsing.
28333
28334        Change parseValue to a static method to avoid unnecessary allocation
28335        of a CSSParser in the fast case.
28336
28337        * css/CSSMutableStyleDeclaration.cpp:
28338        (WebCore::CSSMutableStyleDeclaration::setProperty):
28339        Changed to use the new, static parseValue method.
28340        * css/CSSParser.cpp:
28341        (WebCore::isColorPropertyID):
28342        (WebCore::parseColorValue):
28343        Parses any color accepted by the existing parseColor() static method.
28344        We must handle color identifiers separately, since parseColor() will
28345        change 'red' into 'rgb(255, 0, 0)'.
28346        (WebCore::isSimpleLengthPropertyID):
28347        (WebCore::parseSimpleLengthValue):
28348        Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
28349        false, or 'NN' is '0').  Returns false to fall back to the slow path.
28350        (WebCore::CSSParser::parseValue):
28351        * css/CSSParser.h:
28352        * css/WebKitCSSMatrix.cpp:
28353        (WebCore::WebKitCSSMatrix::setMatrixValue):
28354        Changed to use the new, static parseValue method.
28355
283562011-04-06  Kevin Ollivier  <kevino@theolliviers.com>
28357
28358        Reviewed by Darin Adler.
28359
28360        Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.
28361
28362        https://bugs.webkit.org/show_bug.cgi?id=27551
28363
28364        * config.h:
28365
283662011-04-06  Simon Fraser  <simon.fraser@apple.com>
28367
28368        Reviewed by Antti Koivisto.
28369
28370        Some minor style resolution optimizations
28371        https://bugs.webkit.org/show_bug.cgi?id=57996
28372
28373        A couple of minor optimizations to style-related code.
28374
28375        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
28376        (WebCore::isCSSPropertyName):
28377        (WebCore::JSCSSStyleDeclaration::putDelegate):
28378        Avoid calling cssPropertyName() twice when setting style on an element.
28379
28380        * css/CSSStyleSelector.cpp:
28381        (WebCore::useSVGZoomRules):
28382        (WebCore::CSSStyleSelector::applyProperty):
28383        Avoid calling isSVGElement() for every property, since only a two properties
28384        care about it.
28385
283862011-04-06  Ian Henderson  <ianh@apple.com>
28387
28388        Reviewed by Antti Koivisto.
28389
28390        Unnecessary string allocation in CSSStyleDeclaration::setProperty
28391        https://bugs.webkit.org/show_bug.cgi?id=57995
28392
28393        Pass the bool representing the property's importance directly instead
28394        of constructing a string.
28395
28396        * css/CSSStyleDeclaration.cpp:
28397        (WebCore::CSSStyleDeclaration::setProperty):
28398
283992011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
28400
28401        Reviewed by Steve Block.
28402
28403        Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
28404        https://bugs.webkit.org/show_bug.cgi?id=57963
28405
28406        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
28407
28408        * bindings/v8/V8Utilities.h:
28409        (WebCore::createFunctionOnlyCallback):
28410        * bindings/v8/custom/V8GeolocationCustom.cpp:
28411        (WebCore::V8Geolocation::getCurrentPositionCallback):
28412        (WebCore::V8Geolocation::watchPositionCallback):
28413
284142011-04-06  Brian Weinstein  <bweinstein@apple.com>
28415
28416        Reviewed by Adam Roben.
28417
28418        WebKit2: Support Windows 7 Gestures
28419        https://bugs.webkit.org/show_bug.cgi?id=49824
28420        <rdar://problem/8689728>
28421
28422        Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
28423
28424        * WebCore.vcproj/WebCore.vcproj:
28425        * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
28426
284272011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
28428
28429        Reviewed by Andreas Kling.
28430
28431        [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
28432        https://bugs.webkit.org/show_bug.cgi?id=57974
28433
28434        We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
28435
28436        No new tests needed, just a config flag rename.
28437
28438        * features.pri:
28439
284402011-04-06  Tyler Close  <tjclose@chromium.org>
28441
28442        Reviewed by Nate Chapin.
28443
28444        run-bindings-tests reference files out of sync with CodeGenerator*.pm
28445        https://bugs.webkit.org/show_bug.cgi?id=57967
28446
28447        * bindings/scripts/test/V8/V8TestCallback.cpp:
28448
284492011-04-06  Asanka Herath  <asanka@chromium.org>
28450
28451        Reviewed by Darin Fisher.
28452
28453        Add new TargetType: TargetIsFavicon
28454
28455        https://bugs.webkit.org/show_bug.cgi?id=57659
28456
28457        No new functionality added, so no additional tests.
28458
28459        * platform/network/ResourceRequestBase.h:
28460
284612011-04-06  David Hyatt  <hyatt@apple.com>
28462
28463        Reviewed by Simon Fraser.
28464
28465        https://bugs.webkit.org/show_bug.cgi?id=57981
28466
28467        Update the column count and width computation algorithm for CSS3 multi-column layout
28468        to match the revised pseudo-algorithm in the latest draft of the spec.
28469
28470        * rendering/RenderBlock.cpp:
28471        (WebCore::RenderBlock::calcColumnWidth):
28472
284732011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28474
28475        Reviewed by Eric Seidel.
28476
28477        borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
28478        https://bugs.webkit.org/show_bug.cgi?id=57965
28479
28480        Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
28481        from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
28482        instead of marginStartForChild and marginEndForChild respectively.
28483
28484        Calling these two functions on RenderInline is okay because writing-mode cannot differ
28485        from that of the containing block.
28486
28487        * rendering/RenderBlockLineLayout.cpp:
28488        (WebCore::borderPaddingMarginStart):
28489        (WebCore::borderPaddingMarginEnd):
28490        (WebCore::inlineLogicalWidth):
28491
284922011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
28493
28494        Unreviewed, rolling out r83039.
28495        http://trac.webkit.org/changeset/83039
28496        https://bugs.webkit.org/show_bug.cgi?id=57978
28497
28498        introduced a new regression in conjunction to
28499        ReplaceSelectionCommand (Requested by rniwa on #webkit).
28500
28501        * editing/EditingStyle.cpp:
28502        (WebCore::EditingStyle::init):
28503        * editing/InsertParagraphSeparatorCommand.cpp:
28504        (WebCore::InsertParagraphSeparatorCommand::doApply):
28505
285062011-04-06  Naoki Takano  <takano.naoki@gmail.com>
28507
28508        Reviewed by David Levin.
28509
28510        Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
28511        https://bugs.webkit.org/show_bug.cgi?id=27658
28512
28513        Test: fast/events/select-element.html
28514
28515        * dom/SelectElement.cpp:
28516        (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
28517        (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
28518        (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
28519        And converted to a normal static function from a private function of SelectElement.
28520        (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
28521        And converted to a normal static function from a private function of SelectElement.
28522        (WebCore::firstSelectableListIndex): Returns the first selectable index.
28523        (WebCore::lastSelectableListIndex): Returns the last selectable index.
28524        (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
28525        (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
28526
28527        * dom/SelectElement.h:
28528        (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
28529
28530        * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
28531        They can differ due to the minimum size imposed by RenderListBox.
28532
285332011-04-06  David Hyatt  <hyatt@apple.com>
28534
28535        Reviewed by Dan Bernstein.
28536
28537        https://bugs.webkit.org/show_bug.cgi?id=57975
28538
28539        The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
28540        to just look at the style, so that it can find the InlineTextBox and not care that it's a child
28541        of the link element and not the line box for the link element itself (since that line box got
28542        culled).
28543
28544        * rendering/RenderFlexibleBox.cpp:
28545        (WebCore::RenderFlexibleBox::applyLineClamp):
28546
285472011-04-06  Brady Eidson  <beidson@apple.com>
28548
28549        Reviewed by Anders Carlsson.
28550
28551        https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
28552        WK2 icon database should be able to get a CGImage of a specific size
28553
28554        * platform/graphics/BitmapImage.h:
28555        * platform/graphics/Image.h:
28556        (WebCore::Image::getFirstCGImageRefOfSize):
28557
28558        * platform/graphics/cg/ImageCG.cpp:
28559        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
28560          first frame of the requested size.
28561
285622011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
28563
28564        Reviewed by Kevin Ollivier.
28565
28566        [wx] Fix cursor handling so that we always call the chrome to set it.
28567
28568        https://bugs.webkit.org/show_bug.cgi?id=57972
28569
28570        * platform/wx/WidgetWx.cpp:
28571        (WebCore::Widget::setCursor):
28572
285732011-04-06  David Hyatt  <hyatt@apple.com>
28574
28575        Reviewed by Dan Bernstein.
28576
28577        https://bugs.webkit.org/show_bug.cgi?id=41445
28578
28579        Visited links painting with black background. Make sure that if the visited style has
28580        the initial background color (transparent) set that we just use the unvisited color.
28581
28582        Added fast/history/visited-link-background-color.html
28583
28584        * rendering/style/RenderStyle.cpp:
28585        (WebCore::RenderStyle::visitedDependentColor):
28586
285872011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
28588
28589        Unreviewed Qt buildfix after r83079.
28590
28591        * WebCore.pro:
28592
285932011-04-06  Dean Jackson  <dino@apple.com>
28594
28595        Reviewed by Chris Marrin.
28596
28597        https://bugs.webkit.org/show_bug.cgi?id=56936
28598        Crash in ImplicitAnimation::~ImplicitAnimation
28599
28600        Make sure the style and start time waiting lists
28601        are cleared in the CompositeAnimation destructor. This
28602        way, no running transitions can be left in a state
28603        where they are destroyed as the AnimationControllerPrivate
28604        cleans up.
28605
28606        * page/animation/CompositeAnimation.cpp:
28607        (WebCore::CompositeAnimation::~CompositeAnimation):
28608
286092011-04-06  Robert Sesek  <rsesek@chromium.org>
28610
28611        Reviewed by Alexey Proskuryakov.
28612
28613        Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
28614        https://bugs.webkit.org/show_bug.cgi?id=54969
28615
28616        No change in behavior; no new tests.
28617
28618        * editing/TextIterator.cpp:
28619        (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
28620        * editing/TextIterator.h:
28621        * page/Frame.cpp:
28622        (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
28623
286242011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
28625
28626        Reviewed by Steve Block.
28627
28628        Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
28629        https://bugs.webkit.org/show_bug.cgi?id=57770
28630
28631        Create a template from an existing functionality in JSGeolocationCustom.cpp
28632        to be used by the custom bindings of both Geolocation and the Media Stream API.
28633        V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
28634
28635        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
28636
28637        * Android.jscbindings.mk:
28638        * CMakeLists.txt:
28639        * GNUmakefile.am:
28640        * WebCore.gypi:
28641        * WebCore.pro:
28642        * WebCore.vcproj/WebCore.vcproj:
28643        * WebCore.xcodeproj/project.pbxproj:
28644        * bindings/js/CallbackFunction.cpp: Added.
28645        (WebCore::checkFunctionOnlyCallback):
28646        * bindings/js/CallbackFunction.h: Added.
28647        (WebCore::createFunctionOnlyCallback):
28648        * bindings/js/JSBindingsAllInOne.cpp:
28649        * bindings/js/JSGeolocationCustom.cpp:
28650        (WebCore::JSGeolocation::getCurrentPosition):
28651        (WebCore::JSGeolocation::watchPosition):
28652
286532011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
28654
28655        Reviewed by Andreas Kling.
28656
28657        [Qt] Implement fullscreen playback for the GStreamer backend.
28658        https://bugs.webkit.org/show_bug.cgi?id=56826
28659
28660        Implement support for fullscreen playback when building the
28661        Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
28662        The implementation is done in FullScreenVideoQt alongside with
28663        the Qt Multimedia support.
28664
28665        No new tests because layout tests cover it. They are not yet activated
28666        but will be any time soon.
28667
28668        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
28669        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
28670        (FullScreenVideoWindow::FullScreenVideoWindow):
28671        (FullScreenVideoWindow::setVideoElement):
28672        (FullScreenVideoWindow::closeEvent):
28673        (FullScreenVideoWindow::keyPressEvent):
28674        (FullScreenVideoWindow::event):
28675        (FullScreenVideoWindow::showFullScreen):
28676        (FullScreenVideoWindow::hideCursor):
28677        (FullScreenVideoWindow::showCursor):
28678
286792011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28680
28681        Reviewed by Dimitri Glazkov.
28682
28683        Bundle lineLeftOffset and lineRightOffset as a class
28684        https://bugs.webkit.org/show_bug.cgi?id=57851
28685
28686        Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
28687        The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
28688        and only the difference is used to compute the width.
28689
28690        * rendering/RenderBlock.h:
28691        * rendering/RenderBlockLineLayout.cpp:
28692        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
28693        (WebCore::LineOffsets::LineOffsets): Added.
28694        (WebCore::LineOffsets::width): Added.
28695        (WebCore::LineOffsets::setLeft): Added.
28696        (WebCore::LineOffsets::setRight): Added.
28697        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
28698        (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
28699
287002011-04-06  David Hyatt  <hyatt@apple.com>
28701
28702        Reviewed by Dan Bernstein.
28703
28704        https://bugs.webkit.org/show_bug.cgi?id=57916
28705
28706        Implement an optimization to the line box tree to cull out most of the intermediate
28707        line boxes that can occur between the root line box and the leaves of the tree (images
28708        and text).
28709
28710        RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
28711        that starts off as false. Only if it gets flipped to true will there be any line boxes
28712        created for that RenderInline.
28713
28714        * page/FocusController.cpp:
28715        (WebCore::FocusController::advanceFocusDirectionally):
28716        Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
28717        is up to date.
28718
28719        * page/SpatialNavigation.cpp:
28720        (WebCore::hasOffscreenRect):
28721        (WebCore::nodeRectInAbsoluteCoordinates):
28722        Add asserts in spatial navigation code to catch any future bad queries that might be made
28723        for rectangles without layout being up to date.
28724
28725        * platform/graphics/FloatRect.cpp:
28726        (WebCore::FloatRect::uniteIfNonZero):
28727        * platform/graphics/FloatRect.h:
28728        * platform/graphics/IntRect.cpp:
28729        (WebCore::IntRect::uniteIfNonZero):
28730        * platform/graphics/IntRect.h:
28731        Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
28732        version allows rect unites to happen if either width or height is nonzero.
28733
28734        * rendering/HitTestResult.cpp:
28735        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
28736        Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
28737        if content inside those inlines is hit.
28738
28739        * rendering/InlineBox.h:
28740        (WebCore::InlineBox::logicalFrameRect):
28741        Fix a bug in this function for obtaining the logical frame rect of an inline box.
28742
28743        * rendering/InlineFlowBox.cpp:
28744        (WebCore::InlineFlowBox::addToLine):
28745        addToLine now also checks line gap in the line box tree optimization checks.
28746
28747        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
28748        (WebCore::InlineFlowBox::computeOverflow):
28749        * rendering/InlineFlowBox.h:
28750        Rewritten to add the text box overflow to the text box itself.
28751
28752         * rendering/InlineTextBox.cpp:
28753        (WebCore::InlineTextBox::destroy):
28754        Destroy has been changed to call a helper function to remove and destroy the line boxes that
28755        is now called from one additional spot.
28756
28757        (WebCore::InlineTextBox::logicalOverflowRect):
28758        (WebCore::InlineTextBox::setLogicalOverflowRect):
28759        Text boxes now cache their own overflow in a global hash table.
28760
28761        (WebCore::InlineTextBox::baselinePosition):
28762        (WebCore::InlineTextBox::lineHeight):
28763        Changed to not assume that the parent line box's renderer is the RenderText's immediate
28764        parent, since intermediate line boxes may have been culled.
28765
28766        (WebCore::InlineTextBox::paint):
28767        Paint now properly checks only the text box overflow instead of the parent line box's overflow.
28768
28769        * rendering/InlineTextBox.h:
28770        (WebCore::InlineTextBox::logicalTopVisualOverflow):
28771        (WebCore::InlineTextBox::logicalBottomVisualOverflow):
28772        (WebCore::InlineTextBox::logicalLeftVisualOverflow):
28773        (WebCore::InlineTextBox::logicalRightVisualOverflow):
28774        New accessors to obtain overflow for inline text boxes.
28775
28776        * rendering/RenderBlock.cpp:
28777        (WebCore::RenderBlock::updateFirstLetter):
28778        updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
28779        text boxes may not have anything in between them and the block that contains the inline first letter
28780        container.
28781
28782        * rendering/RenderBlockLineLayout.cpp:
28783        (WebCore::RenderBlock::createLineBoxes):
28784        The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
28785        be created.
28786
28787        (WebCore::RenderBlock::layoutInlineChildren):
28788        The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
28789        This is done before any lines are built.
28790
28791        * rendering/RenderInline.cpp:
28792        (WebCore::RenderInline::RenderInline):
28793        The new m_alwaysCreateLineBoxes flag has been added to the constructor.
28794
28795        (WebCore::RenderInline::styleDidChange):
28796        An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
28797        (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
28798        the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
28799
28800        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
28801        The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
28802        vertical alignment, line height, etc.).
28803
28804        (WebCore::RenderInline::absoluteRects):
28805        (WebCore::RenderInline::culledInlineAbsoluteRects):
28806        absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
28807
28808        (WebCore::RenderInline::absoluteQuads):
28809        (WebCore::RenderInline::culledInlineAbsoluteQuads):
28810        absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
28811
28812        (WebCore::RenderInline::offsetLeft):
28813        (WebCore::RenderInline::offsetTop):
28814        offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
28815
28816        (WebCore::RenderInline::linesBoundingBox):
28817        (WebCore::RenderInline::culledInlineBoundingBox):
28818        lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
28819
28820        (WebCore::RenderInline::culledInlineFirstLineBox):
28821        (WebCore::RenderInline::culledInlineLastLineBox):
28822        Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
28823        lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
28824
28825        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
28826        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
28827        linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
28828
28829        (WebCore::RenderInline::clippedOverflowRectForRepaint):
28830        The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
28831
28832        (WebCore::RenderInline::dirtyLineBoxes):
28833        dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
28834        m_alwaysCreateLineBoxes is false.
28835
28836        (WebCore::RenderInline::createAndAppendInlineFlowBox):
28837        Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
28838        when line-box-contain is set to an unusual value.
28839
28840        (WebCore::RenderInline::addFocusRingRects):
28841        Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
28842
28843        * rendering/RenderInline.h:
28844        (WebCore::RenderInline::firstLineBoxIncludingCulling):
28845        (WebCore::RenderInline::lastLineBoxIncludingCulling):
28846        Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
28847        is all that needs checking.
28848
28849        (WebCore::RenderInline::alwaysCreateLineBoxes):
28850        (WebCore::RenderInline::setAlwaysCreateLineBoxes):
28851        Functions for getting and setting the m_alwaysCreateLineBoxes flag.
28852
28853        * rendering/RenderLineBoxList.cpp:
28854        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
28855        Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
28856        lines get dirtied.
28857
28858        * rendering/RenderText.cpp:
28859        (WebCore::RenderText::removeAndDestroyTextBoxes):
28860        New helper invoked by destroy and also from updateFirstLetter.
28861
28862        (WebCore::RenderText::destroy):
28863        Changed to call removeAndDestroyTextBoxes.
28864
28865        (WebCore::RenderText::absoluteRects):
28866        Fixed to be properly physical instead of logical.
28867
28868        (WebCore::RenderText::linesVisualOverflowBoundingBox):
28869        New implementation for RenderText that gives the bounding box of the text boxes including overflow from
28870        shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
28871
28872        * rendering/RenderText.h:
28873        * rendering/svg/RenderSVGInline.cpp:
28874        (WebCore::RenderSVGInline::RenderSVGInline):
28875        RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
28876
28877        * rendering/svg/SVGRootInlineBox.cpp:
28878        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
28879        (WebCore::SVGRootInlineBox::layoutChildBoxes):
28880        Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
28881        now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
28882
288832011-04-05  Enrica Casucci  <enrica@apple.com>
28884
28885        Reviewed by Darin Adler.
28886
28887        REGRESSION: Drag & Drop Gmail Attachments doesn't work.
28888        https://bugs.webkit.org/show_bug.cgi?id=57909
28889        <rdar://problem/9103220>
28890
28891        In WebKit2 we cannot rely on the value returned by platformData() that
28892        on Mac returns an NSDraggingInfo object. This is available only in the UI
28893        process. Therefore we should use m_pasteboard instead.
28894        We cannot change what platformData() returns on Mac, since there are
28895        delegate methods that receive a NSDraggingInfo object (only in WebKit).
28896
28897        * platform/DragData.h:
28898        (WebCore::DragData::pasteboard): Added.
28899        * platform/mac/ClipboardMac.mm:
28900        (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
28901        * platform/mac/DragDataMac.mm:
28902        (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
28903        (WebCore::DragData::asURL): Same as above.
28904
289052011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>
28906
28907        Reviewed by Darin Adler.
28908
28909        ClipboardWin has unused variables "ExceptionCode ec"
28910        https://bugs.webkit.org/show_bug.cgi?id=57952
28911
28912        Remove the unused variable.
28913
28914        * platform/win/ClipboardWin.cpp:
28915        (WebCore::ClipboardWin::declareAndWriteDragImage):
28916        (WebCore::ClipboardWin::writePlainText):
28917
289182011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28919
28920        Reviewed by Dimitri Glazkov.
28921
28922        Split getBorderPaddingMargin into two functions
28923        https://bugs.webkit.org/show_bug.cgi?id=57947
28924
28925        * rendering/RenderBlockLineLayout.cpp:
28926        (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
28927        (WebCore::borderPaddingMarginEnd): Ditto.
28928        (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
28929        (WebCore::RenderBlock::findNextLineBreak): Ditto.
28930
289312011-04-06  MORITA Hajime  <morrita@google.com>
28932
28933        Reviewed by Dimitri Glazkov.
28934
28935        [Refactoring] <progress> should not have manual layout code.
28936        https://bugs.webkit.org/show_bug.cgi?id=57801
28937
28938        - Simplified RenderProgress, removing its custom layout code
28939        - Introducing ProgressValueElement and ProgressBarElement, replacing
28940          ProgressBarValueElement.
28941
28942        Now the structure is almost identical to <meter>,
28943        other than:
28944        - RenderProgress has animated painting, thus manages its own timer.
28945        - Both ProgressValueElement and ProgressBarElement has pseudo classes
28946          which don't changes during its lifetime.
28947
28948        * Android.mk:
28949        * CMakeLists.txt:
28950        * GNUmakefile.am:
28951        * WebCore.gypi:
28952        * WebCore.pro:
28953        * WebCore.vcproj/WebCore.vcproj:
28954        * WebCore.xcodeproj/project.pbxproj:
28955        * css/html.css:
28956        (progress):
28957        (progress::-webkit-progress-bar):
28958        (progress::-webkit-progress-value):
28959        * html/HTMLProgressElement.cpp:
28960        (WebCore::HTMLProgressElement::~HTMLProgressElement):
28961        (WebCore::HTMLProgressElement::create):
28962        (WebCore::HTMLProgressElement::attach):
28963        (WebCore::HTMLProgressElement::didElementStateChange):
28964        (WebCore::HTMLProgressElement::createShadowSubtree):
28965        * html/HTMLProgressElement.h:
28966        * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
28967        (WebCore::ProgressShadowElement::ProgressShadowElement):
28968        (WebCore::ProgressShadowElement::progressElement):
28969        (WebCore::ProgressShadowElement::rendererIsNeeded):
28970        (WebCore::ProgressBarElement::shadowPseudoId):
28971        (WebCore::ProgressValueElement::shadowPseudoId):
28972        (WebCore::ProgressValueElement::setWidthPercentage):
28973        * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
28974        (WebCore::ProgressBarElement::ProgressBarElement):
28975        (WebCore::ProgressBarElement::create):
28976        (WebCore::ProgressValueElement::ProgressValueElement):
28977        (WebCore::ProgressValueElement::create):
28978        * rendering/RenderProgress.cpp:
28979        (WebCore::RenderProgress::RenderProgress):
28980        (WebCore::RenderProgress::updateFromElement):
28981        (WebCore::RenderProgress::animationTimerFired):
28982        * rendering/RenderProgress.h:
28983        (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
28984        (WebCore::RenderProgress::canHaveChildren):
28985
289862011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>
28987
28988        Reviewed by Chris Fleizach.
28989
28990        [GTK] Do not reference AccessibilityRenderObject from platform dependent code
28991        https://bugs.webkit.org/show_bug.cgi?id=57955
28992
28993        Do not reference AccessibilityRenderObject from platform specific code
28994
28995        Added new virtual functions to AccessibilityObject.h and removed
28996        explicit references to AccessibilityRenderObject from GTK code.
28997
28998        * accessibility/AccessibilityObject.h:
28999        (WebCore::AccessibilityObject::renderer): New virtual method,
29000        returning 0 by default. Overriden by AccessibilityRenderObject.
29001        (WebCore::AccessibilityObject::correspondingLabelForControlElement):
29002        New virtual method, returning 0 by default. It complements the
29003        already present method correspondingControlForLabelElement().
29004
29005        * accessibility/AccessibilityRenderObject.h:
29006        (WebCore::AccessibilityRenderObject::renderer): Made virtual.
29007
29008        * accessibility/gtk/AXObjectCacheAtk.cpp:
29009        (WebCore::emitTextChanged): Reference  AccessibilityObject,
29010        instead of AccessibilityRenderObject.
29011        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
29012        Ditto.
29013
29014        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
29015        (webkit_accessible_get_name): Do not reference
29016        AccessibilityRenderObject.
29017        (webkit_accessible_get_description): Ditto.
29018        (setAtkRelationSetFromCoreObject): Ditto.
29019        (optionFromList): Ditto.
29020        (optionFromSelection): Ditto.
29021        (webkit_accessible_selection_clear_selection): Ditto.
29022        (webkit_accessible_selection_get_selection_count): Ditto.
29023        (webkit_accessible_selection_select_all_selection): Ditto.
29024        (textForObject): Ditto.
29025        (webkit_accessible_text_get_text): Ditto.
29026        (getPangoLayoutForAtk): Ditto.
29027        (webkit_accessible_text_get_caret_offset): Ditto.
29028        (baselinePositionForRenderObject): Ditto.
29029        (getAttributeSetForAccessibilityObject): Ditto.
29030        (accessibilityObjectLength): Ditto.
29031        (getSelectionOffsetsForObject): Ditto.
29032        (webkit_accessible_text_set_selection): Ditto.
29033        (webkit_accessible_text_set_caret_offset): Ditto.
29034        (webkit_accessible_table_get_caption): Ditto.
29035        (getInterfaceMaskFromObject): Ditto.
29036
29037        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
29038        (getRangeLengthForObject): Ditto.
29039
29040        Removed unused renderer() method from AccessibilityMenuList.
29041
29042        * accessibility/AccessibilityMenuList.h: Removed unused method.
29043        * accessibility/AccessibilityMenuList.cpp: Removed unused method.
29044
290452011-04-06  Alexander Pavlov  <apavlov@chromium.org>
29046
29047        Reviewed by Pavel Feldman.
29048
29049        Web Inspector: Javascipt warning link expand and overlap with icons in js console
29050        https://bugs.webkit.org/show_bug.cgi?id=57939
29051
29052        * inspector/front-end/inspector.js:
29053        (WebInspector.linkifyURLAsNode):
29054
290552011-04-06  Alexander Pavlov  <apavlov@chromium.org>
29056
29057        Reviewed by Pavel Feldman.
29058
29059        Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
29060        https://bugs.webkit.org/show_bug.cgi?id=57931
29061
29062        * inspector/Inspector.json:
29063
290642011-04-06  Jia Pu  <jpu@apple.com>
29065
29066        Reviewed by Darin Adler.
29067
29068        [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
29069        https://bugs.webkit.org/show_bug.cgi?id=57665
29070        <rdar://problem/7350477>
29071
29072        We need to track how user modified an autocorrected word. If he changed it back to original
29073        text, we want to record AutocorrectionReverted response. And if he changed it to something
29074        else, we want to record AutocorrectionEdited response.
29075
29076        To achieve this, we need to distringuish between text replacement caused by autocorrection
29077        from that due to other causes, such as reversion, text substitution, etc. So we added a new
29078        marker type "Autocorrected". We also need to be able to check for correction, even when we
29079        don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
29080        value, "CheckForCorrection".
29081
29082        We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
29083        specified range, and of specified type.
29084
29085        * dom/DocumentMarker.h:
29086        * dom/DocumentMarkerController.cpp:
29087        (WebCore::DocumentMarkerController::markersInRange):
29088        (WebCore::DocumentMarkerController::hasMarkers):
29089        * dom/DocumentMarkerController.h:
29090        * editing/Editor.cpp:
29091        (WebCore::markerTypesForAutocorrection):
29092        (WebCore::markersHaveIdenticalDescription):
29093        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
29094        (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
29095        (WebCore::Editor::changeBackToReplacedString):
29096        (WebCore::Editor::markMisspellingsAndBadGrammar):
29097        (WebCore::Editor::applyCorrectionPanelInfo):
29098        (WebCore::Editor::unappliedSpellCorrection):
29099        (WebCore::Editor::textCheckingTypeMaskFor):
29100        * editing/Editor.h:
29101        * editing/SpellingCorrectionCommand.cpp:
29102        (WebCore::SpellingCorrectionCommand::doApply):
29103
291042011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
29105
29106        Unreviewed, rolling out r83045.
29107        http://trac.webkit.org/changeset/83045
29108        https://bugs.webkit.org/show_bug.cgi?id=57953
29109
29110        Broke win layout tests (Requested by podivilov on #webkit).
29111
29112        * GNUmakefile.am:
29113        * inspector/front-end/DebuggerPresentationModel.js:
29114        (WebInspector.DebuggerPresentationModel.prototype._addScript):
29115        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
29116
291172011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
29118
29119        Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
29120
29121        * rendering/RenderBlock.h:
29122
291232011-03-27  Diego Gonzalez  <diegohcg@webkit.org>
29124
29125        Reviewed by Kenneth Rohde Christiansen.
29126
29127        [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
29128        https://bugs.webkit.org/show_bug.cgi?id=57007
29129
29130        * CodeGenerators.pri:
29131        * css/themeQtMobile.css: Removed.
29132        * platform/qt/QtMobileWebStyle.cpp:
29133        (drawRectangularControlBackground):
29134        (QtMobileWebStyle::drawPrimitive):
29135        (QtMobileWebStyle::drawComplexControl):
29136        * platform/qt/QtMobileWebStyle.h:
29137        * platform/qt/RenderThemeQt.cpp:
29138        (WebCore::RenderThemeQt::isControlStyled):
29139        (WebCore::RenderThemeQt::paintTextField):
29140
291412011-04-06  Jia Pu  <jpu@apple.com>
29142
29143        Reviewed by Darin Adler.
29144
29145        [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
29146        https://bugs.webkit.org/show_bug.cgi?id=57800
29147        <rdar://problem/9218223>
29148
29149        Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
29150        now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
29151
29152        * accessibility/AXObjectCache.h:
29153        * accessibility/chromium/AXObjectCacheChromium.cpp:
29154        (WebCore::AXObjectCache::postPlatformNotification):
29155        * accessibility/mac/AXObjectCacheMac.mm:
29156        (WebCore::AXObjectCache::postPlatformNotification):
29157        * editing/Editor.cpp:
29158        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
29159
291602011-04-06  Martin Robinson  <mrobinson@igalia.com>
29161
29162        Build fix for debug Cairo builds.
29163
29164        * platform/graphics/cairo/PlatformContextCairo.cpp:
29165        (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
29166
291672011-04-06  Diego Gonzalez  <diegohcg@webkit.org>
29168
29169        Reviewed by Antonio Gomes.
29170
29171        [Qt] Style fix for QtMobileWebStyle.h
29172        https://bugs.webkit.org/show_bug.cgi?id=57708
29173
29174        * platform/qt/QtMobileWebStyle.h:
29175
291762011-04-06  Andras Becsi  <abecsi@webkit.org>
29177
29178        Reviewed by Darin Adler.
29179
29180        Invalid color #{predefined colorName} is accepted by the CSS parser.
29181        https://bugs.webkit.org/show_bug.cgi?id=15360
29182
29183        Test: fast/css/invalid-predefined-color.html
29184
29185        * css/CSSGrammar.y: Remove superfluous hexcolor production.
29186        * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
29187
291882011-03-30  Pavel Podivilov  <podivilov@chromium.org>
29189
29190        Reviewed by Pavel Feldman.
29191
29192        Web Inspector: add test for script formatter worker.
29193        https://bugs.webkit.org/show_bug.cgi?id=57447
29194
29195        Test: inspector/debugger/script-formatter.html
29196
29197        * GNUmakefile.am:
29198        * inspector/front-end/DebuggerPresentationModel.js:
29199        (WebInspector.DebuggerPresentationModel):
29200        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
29201
292022011-04-06  Martin Robinson  <mrobinson@igalia.com>
29203
29204        Reviewed by Xan Lopez.
29205
29206        [Cairo] Hide the details of image masking in PlatformContextCairo
29207        https://bugs.webkit.org/show_bug.cgi?id=57878
29208
29209        No new tests. This is just a refactor.
29210
29211        * platform/graphics/GraphicsContext.h:
29212        * platform/graphics/cairo/GraphicsContextCairo.cpp:
29213        (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
29214        do the actual cairo_save. Remove information about image masking.
29215        (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
29216        do the actual cairo_restore. Remove information about image masking.
29217        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
29218        * platform/graphics/cairo/ImageBufferCairo.cpp:
29219        (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
29220        * platform/graphics/cairo/PlatformContextCairo.cpp:
29221        (WebCore::PlatformContextCairo::restore): Added.
29222        (WebCore::PlatformContextCairo::save): Added.
29223        (WebCore::PlatformContextCairo::pushImageMask): Added.
29224        * platform/graphics/cairo/PlatformContextCairo.h:
29225        (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
29226        (WebCore::ImageMaskInformation::isValid): Ditto.
29227        (WebCore::ImageMaskInformation::maskSurface): Ditto.
29228        (WebCore::ImageMaskInformation::maskRect): Ditto.
29229
292302011-04-02  Diego Gonzalez  <diegohcg@webkit.org>
29231
29232        Reviewed by Csaba Osztrogonác.
29233
29234        [Qt] Radio buttons are showing wrong with mobile theme
29235        https://bugs.webkit.org/show_bug.cgi?id=57706
29236
29237        * platform/qt/QtMobileWebStyle.cpp:
29238        (QtMobileWebStyle::drawRadio):
29239
292402011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
29241
29242        Reviewed by Eric Seidel.
29243
29244        Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
29245        https://bugs.webkit.org/show_bug.cgi?id=57943
29246
29247        * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
29248        * rendering/RenderBlockLineLayout.cpp:
29249        (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
29250
292512011-04-05  Diego Gonzalez  <diegohcg@webkit.org>
29252
29253        Buildfix after r82125.
29254
29255        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
29256        https://bugs.webkit.org/show_bug.cgi?id=57087
29257
29258        * platform/qt/QtMobileWebStyle.cpp:
29259        (QtMobileWebStyle::findChecker):
29260        (QtMobileWebStyle::findRadio):
29261        (QtMobileWebStyle::findComboButton):
29262
292632011-04-06  Pavel Podivilov  <podivilov@chromium.org>
29264
29265        Reviewed by Yury Semikhatsky.
29266
29267        Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
29268        https://bugs.webkit.org/show_bug.cgi?id=57641
29269
29270        * WebCore.xcodeproj/project.pbxproj:
29271        * gyp/streamline-inspector-source.sh:
29272        * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
29273        * inspector/inline-javascript-imports.py: Added.
29274
292752011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
29276
29277        Reviewed by Eric Seidel.
29278
29279        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
29280        https://bugs.webkit.org/show_bug.cgi?id=57872
29281
29282        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
29283        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
29284
29285        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
29286        avoiding the tab span.
29287
29288        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
29289
29290        Test: editing/inserting/insert-paragraph-separator-tab-span.html
29291
29292        * editing/EditingStyle.cpp:
29293        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
29294        * editing/InsertParagraphSeparatorCommand.cpp:
29295        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
29296        separator into a paragraph separator.
29297
292982011-04-06  Levi Weintraub  <leviw@chromium.org>
29299
29300        Reviewed by Ryosuke Niwa.
29301
29302        Add member functions for determining line/paragraph separation to InlineIterator
29303        https://bugs.webkit.org/show_bug.cgi?id=57938
29304
29305        Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
29306        InlineIterator, where it makes far more sense for them to be. Also moving
29307        shouldPreserveNewline to RenderObject and renaming it preservesNewline.
29308
29309        No new tests as this provides no new functionality.
29310
29311        * rendering/InlineIterator.h:
29312        (WebCore::InlineIterator::atTextParagraphSeparator):
29313        (WebCore::InlineIterator::atParagraphSeparator):
29314        * rendering/RenderBlockLineLayout.cpp:
29315        (WebCore::RenderBlock::requiresLineBox):
29316        (WebCore::RenderBlock::findNextLineBreak):
29317        * rendering/RenderObject.h:
29318        (WebCore::RenderObject::preservesNewline):
29319
293202011-04-05  Alexander Pavlov  <apavlov@chromium.org>
29321
29322        Reviewed by Pavel Feldman.
29323
29324        Web Inspector: Range insertNode function does not update content in the inspector
29325        https://bugs.webkit.org/show_bug.cgi?id=57829
29326
29327        * inspector/InspectorDOMAgent.cpp:
29328        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
29329        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
29330
293312011-04-06  Alejandro G. Castro  <alex@igalia.com>
29332
29333        Fix GTK3 compilation after r82962.
29334
29335        * platform/gtk/RenderThemeGtk3.cpp:
29336        (WebCore::paintToggle):
29337        (WebCore::renderButton):
29338        (WebCore::RenderThemeGtk::paintMenuList):
29339        (WebCore::RenderThemeGtk::paintTextField):
29340        (WebCore::RenderThemeGtk::paintSliderTrack):
29341        (WebCore::RenderThemeGtk::paintSliderThumb):
29342        (WebCore::RenderThemeGtk::paintProgressBar):
29343        (WebCore::paintSpinArrowButton):
29344        * platform/gtk/ScrollbarThemeGtk3.cpp:
29345        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
29346        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
29347        (WebCore::ScrollbarThemeGtk::paintThumb):
29348        (WebCore::ScrollbarThemeGtk::paintButton):
29349
293502011-04-06  Andrey Kosyakov  <caseq@chromium.org>
29351
29352        Reviewed by Yury Semikhatsky.
29353
29354        Web Inspector: [Extensions API] remove inspectedPage.* events
29355        https://bugs.webkit.org/show_bug.cgi?id=57763
29356
29357        - Removed webInspector.inspectedPage.* events
29358        - moved onNavigated to webInspector.resources
29359
29360        * inspector/front-end/ExtensionAPI.js:
29361        (WebInspector.injectedExtensionAPI):
29362        (WebInspector.injectedExtensionAPI.InspectedWindow):
29363        * inspector/front-end/ExtensionAPISchema.json:
29364        * inspector/front-end/ExtensionServer.js:
29365        (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
29366        * inspector/front-end/inspector.js:
29367        (WebInspector.domContentEventFired):
29368        (WebInspector.loadEventFired):
29369        (WebInspector.inspectedURLChanged):
29370
293712011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
29372
29373        Reviewed by Antti Koivisto.
29374
29375        Add <head> to the simpleUserAgentStyleSheet
29376        https://bugs.webkit.org/show_bug.cgi?id=57915
29377
29378        * css/CSSStyleSelector.cpp:
29379        (WebCore::elementCanUseSimpleDefaultStyle): add head to the
29380        simple stylesheet, display:none.
29381
293822011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
29383
29384        Reviewed by Pavel Feldman.
29385
29386        Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
29387        https://bugs.webkit.org/show_bug.cgi?id=57856
29388
29389        Test: inspector/profiler/detailed-heapshots-summary.html
29390
29391        * inspector/front-end/DataGrid.js:
29392        (WebInspector.DataGrid):
29393        * inspector/front-end/DetailedHeapshotGridNodes.js:
29394        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
29395        (WebInspector.HeapSnapshotGridNode.prototype._populate):
29396        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
29397        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
29398        (WebInspector.HeapSnapshotGridNode.prototype.sort):
29399        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
29400        * inspector/front-end/DetailedHeapshotView.js:
29401        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
29402        * inspector/front-end/ProfilesPanel.js:
29403        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
29404        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
29405
294062011-04-06  Anders Bakken  <agbakken@gmail.com>
29407
29408        Reviewed by David Levin.
29409
29410        [Qt] SmartReplaceQt.cpp has coding-style errors
29411        https://bugs.webkit.org/show_bug.cgi?id=40261
29412
29413        This patch does not require new test cases.
29414
29415        * editing/qt/SmartReplaceQt.cpp:
29416        (WebCore::isCharacterSmartReplaceExempt):
29417
294182011-04-06  Naoki Takano  <takano.naoki@gmail.com>
29419
29420        Reviewed by Ryosuke Niwa.
29421
29422        REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
29423        https://bugs.webkit.org/show_bug.cgi?id=57755
29424
29425        Test: editing/execCommand/insert-line-break-onload.html
29426
29427        * editing/TypingCommand.cpp:
29428        (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
29429
294302011-04-05  Antti Koivisto  <antti@apple.com>
29431
29432        Reviewed by Cameron Zwarich.
29433
29434        Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
29435        https://bugs.webkit.org/show_bug.cgi?id=57914
29436
29437        Don't call adjustedDeferredRepaintDelay unnecessarily.
29438
29439        * page/FrameView.cpp:
29440        (WebCore::FrameView::repaintContentRectangle):
29441        (WebCore::FrameView::adjustedDeferredRepaintDelay):
29442
294432011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
29444
29445        Reviewed by David Levin.
29446
29447        Update call to SkAdvancedTypefaceMetrics to new API.
29448        https://bugs.webkit.org/show_bug.cgi?id=57887
29449
29450        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
29451        (WebCore::FontPlatformData::emSizeInFontUnits):
29452
294532011-04-05  Alexey Proskuryakov  <ap@apple.com>
29454
29455        Reviewed by Darin Adler.
29456
29457        Rename event dispatching functions after form event removal
29458        https://bugs.webkit.org/show_bug.cgi?id=57908
29459
29460        * dom/InputElement.cpp:
29461        (WebCore::InputElement::setValueFromRenderer):
29462        * dom/Node.cpp:
29463        (WebCore::Node::dispatchChangeEvent):
29464        (WebCore::Node::dispatchInputEvent):
29465        (WebCore::Node::defaultEventHandler):
29466        * dom/Node.h:
29467        * html/HTMLFormControlElement.cpp:
29468        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
29469        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
29470        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
29471        Renamed "events" to "event", since there is only one event to dispatch now.
29472
294732011-04-05  Anders Bakken  <agbakken@gmail.com>
29474
29475        Reviewed by David Levin.
29476
29477        [Qt] DragControllerQt.cpp has coding-style errors
29478        https://bugs.webkit.org/show_bug.cgi?id=40258
29479
29480        This patch does not require new test cases.
29481
29482        * page/qt/DragControllerQt.cpp:
29483        (WebCore::DragController::dragOperation):
29484
294852011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
29486
29487        Reviewed by David Levin.
29488
29489        Update deprecated include: platform_canvas_win.h to platform_canvas.h.
29490        https://bugs.webkit.org/show_bug.cgi?id=57896
29491
29492        * platform/graphics/chromium/FontChromiumWin.cpp:
29493
294942011-04-05  Darin Adler  <darin@apple.com>
29495
29496        Try to fix Leopard bots.
29497
29498        * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems
29499        to have intended it.
29500
295012011-04-05  Darin Adler  <darin@apple.com>
29502
29503        Try to fix Leopard bots.
29504
29505        * platform/mac/HTMLConverter.mm: Move declarations of new functions
29506        inside the appropriate #if.
29507
295082011-04-05  Adrienne Walker  <enne@google.com>
29509
29510        Reviewed by Tony Chang.
29511
29512        Correctly set color when using skia's fillRoundedRect.
29513        https://bugs.webkit.org/show_bug.cgi?id=57907
29514
29515        * platform/graphics/skia/GraphicsContextSkia.cpp:
29516        (WebCore::GraphicsContext::fillRoundedRect):
29517
295182011-04-05  Alexey Proskuryakov  <ap@apple.com>
29519
29520        Reviewed by Darin Adler.
29521
29522        Move attributedStringFromRange down to WebCore
29523        https://bugs.webkit.org/show_bug.cgi?id=57905
29524
29525        No change in behavior, so no new tests.
29526
29527        Also tweaked HTMLConverter to not use methods defined in WebKit.
29528
29529        * WebCore.exp.in:
29530        * WebCore.xcodeproj/project.pbxproj:
29531        * platform/mac/HTMLConverter.h:
29532        * platform/mac/HTMLConverter.mm:
29533        (-[WebHTMLConverter _newTabForElement:]):
29534        (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
29535        (+[WebHTMLConverter editingAttributedStringFromRange:]):
29536        (fileWrapperForURL):
29537        (fileWrapperForElement):
29538        * platform/mac/PasteboardMac.mm:
29539        (WebCore::Pasteboard::writeSelection):
29540        * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h.
29541        * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm.
29542        (WebCore::attributedStringByStrippingAttachmentCharacters):
29543
295442011-04-05  Simon Fraser  <simon.fraser@apple.com>
29545
29546        Reviewed by Darin Adler.
29547
29548        Rename variables in border drawing code for readability
29549        https://bugs.webkit.org/show_bug.cgi?id=57894
29550
29551        * rendering/RenderObject.cpp:
29552        (WebCore::RenderObject::drawLineForBoxSide):
29553        (WebCore::RenderObject::drawBoxSideFromPath):
29554        (WebCore::RenderObject::drawArcForBoxSide):
29555
295562011-04-05  Antti Koivisto  <antti@apple.com>
29557
29558        Reviewed by Darin Adler.
29559
29560        Defer repaints during style recalc
29561        https://bugs.webkit.org/show_bug.cgi?id=57886
29562
29563        This reduces the need to do (often expensive) platform surface invalidation.
29564        We already do this during layout but style recalculation may trigger
29565        invalidation as well.
29566
29567        * dom/Document.cpp:
29568        (WebCore::Document::recalcStyle):
29569
295702011-04-05  Jer Noble  <jer.noble@apple.com>
29571
29572        Reviewed by Darin Adler.
29573
29574        HTML5 Player Has no Fullscreen Mode
29575        https://bugs.webkit.org/show_bug.cgi?id=57795
29576
29577        * html/HTMLVideoElement.cpp:
29578        (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API
29579            supportsFullScreenForElement() before the old supportsFullScreenForNode() API.
29580
295812011-04-05  Vsevolod Vlasov  <vsevik@chromium.org>
29582
29583        Reviewed by Pavel Feldman.
29584
29585        Web Inspector: fix data url's status and timing the network panel.
29586        https://bugs.webkit.org/show_bug.cgi?id=53066
29587
29588        Added data url support for status of network resources.
29589
29590        * English.lproj/localizedStrings.js:
29591        * inspector/front-end/NetworkPanel.js:
29592        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
29593        * inspector/front-end/Resource.js:
29594        (WebInspector.Resource.prototype.isDataURL):
29595
295962011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
29597
29598        Reviewed by Adam Barth.
29599
29600        [V8] Keep dirty primitive CSS values alive.
29601        https://bugs.webkit.org/show_bug.cgi?id=57810
29602
29603        * bindings/v8/V8GCController.cpp:
29604        (WebCore::GrouperVisitor::visitDOMWrapper):
29605
296062011-04-05  Simon Fraser  <simon.fraser@apple.com>
29607
29608        Reviewed by Adele Peterson.
29609
29610        Add a fast path for simple color backgrounds
29611        https://bugs.webkit.org/show_bug.cgi?id=57773
29612
29613        Add a fast path for drawing simple color backgrounds. It's
29614        faster to fill a path or rect than it is to set up a clip,
29615        and then paint the rect.
29616
29617        No visible behavior change so no new tests.
29618
29619        * rendering/RenderBoxModelObject.cpp:
29620        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
29621
296222011-04-05  Patrick Gansterer  <paroga@webkit.org>
29623
29624        Unreviewed EFL build fix for r82962.
29625
29626        * CMakeListsEfl.txt:
29627
296282011-04-05  Chris Rogers  <crogers@google.com>
29629
29630        Reviewed by Kenneth Russell.
29631
29632        Add support for offline audio rendering to AudioContext API
29633        https://bugs.webkit.org/show_bug.cgi?id=57676
29634
29635        No new tests since audio API is not yet implemented.
29636
29637        * DerivedSources.make:
29638        * WebCore.gypi:
29639        * WebCore.xcodeproj/project.pbxproj:
29640        * bindings/js/JSAudioContextCustom.cpp:
29641        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
29642        * bindings/js/JSEventCustom.cpp:
29643        (WebCore::toJS):
29644        * bindings/js/JSEventTarget.cpp:
29645        (WebCore::toJS):
29646        * bindings/v8/V8DOMWrapper.cpp:
29647        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
29648        * bindings/v8/custom/V8AudioContextCustom.cpp:
29649        (WebCore::V8AudioContext::constructorCallback):
29650        * bindings/v8/custom/V8EventCustom.cpp:
29651        (WebCore::toV8):
29652        * dom/Event.cpp:
29653        (WebCore::Event::isOfflineAudioCompletionEvent):
29654        * dom/Event.h:
29655        * dom/EventTarget.cpp:
29656        (WebCore::EventTarget::toAudioContext):
29657        * dom/EventTarget.h:
29658        * platform/audio/HRTFDatabaseLoader.cpp:
29659        (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
29660        * platform/audio/HRTFDatabaseLoader.h:
29661        (WebCore::HRTFDatabaseLoader::loader):
29662        * webaudio/AudioContext.cpp:
29663        (WebCore::AudioContext::createOfflineContext):
29664        (WebCore::AudioContext::AudioContext):
29665        (WebCore::AudioContext::constructCommon):
29666        (WebCore::AudioContext::document):
29667        (WebCore::AudioContext::scriptExecutionContext):
29668        (WebCore::AudioContext::toAudioContext):
29669        (WebCore::AudioContext::startRendering):
29670        (WebCore::AudioContext::fireCompletionEvent):
29671        * webaudio/AudioContext.h:
29672        (WebCore::AudioContext::isOfflineContext):
29673        (WebCore::AudioContext::eventTargetData):
29674        (WebCore::AudioContext::ensureEventTargetData):
29675        (WebCore::AudioContext::refEventTarget):
29676        (WebCore::AudioContext::derefEventTarget):
29677        * webaudio/AudioContext.idl:
29678        * webaudio/AudioDestinationNode.cpp:
29679        (WebCore::AudioDestinationNode::AudioDestinationNode):
29680        * webaudio/AudioDestinationNode.h:
29681        (WebCore::AudioDestinationNode::reset):
29682        (WebCore::AudioDestinationNode::numberOfChannels):
29683        * webaudio/ConvolverNode.cpp:
29684        (WebCore::ConvolverNode::setBuffer):
29685        * webaudio/DefaultAudioDestinationNode.cpp: Added.
29686        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
29687        (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
29688        (WebCore::DefaultAudioDestinationNode::initialize):
29689        (WebCore::DefaultAudioDestinationNode::uninitialize):
29690        (WebCore::DefaultAudioDestinationNode::startRendering):
29691        * webaudio/DefaultAudioDestinationNode.h: Added.
29692        (WebCore::DefaultAudioDestinationNode::create):
29693        (WebCore::DefaultAudioDestinationNode::sampleRate):
29694        * webaudio/OfflineAudioCompletionEvent.cpp: Added.
29695        (WebCore::OfflineAudioCompletionEvent::create):
29696        (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
29697        (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent):
29698        (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent):
29699        * webaudio/OfflineAudioCompletionEvent.h: Added.
29700        (WebCore::OfflineAudioCompletionEvent::renderedBuffer):
29701        * webaudio/OfflineAudioCompletionEvent.idl: Added.
29702        * webaudio/OfflineAudioDestinationNode.cpp: Added.
29703        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
29704        (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
29705        (WebCore::OfflineAudioDestinationNode::initialize):
29706        (WebCore::OfflineAudioDestinationNode::uninitialize):
29707        (WebCore::OfflineAudioDestinationNode::startRendering):
29708        (WebCore::OfflineAudioDestinationNode::renderEntry):
29709        (WebCore::OfflineAudioDestinationNode::render):
29710        (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
29711        (WebCore::OfflineAudioDestinationNode::notifyComplete):
29712        * webaudio/OfflineAudioDestinationNode.h: Added.
29713        (WebCore::OfflineAudioDestinationNode::create):
29714        (WebCore::OfflineAudioDestinationNode::sampleRate):
29715
297162011-04-05  Martin Robinson  <mrobinson@igalia.com>
29717
29718        Reviewed by Eric Seidel.
29719
29720        [Cairo] Better separate the concerns of GraphicsContextCairo
29721        https://bugs.webkit.org/show_bug.cgi?id=55150
29722
29723        Add a PlatformContextCairo which right now stores the cairo_t* for a
29724        GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
29725        and image masking layers into this PlatformContextCairo class.
29726
29727        No new tests. This patch is only a code cleanup.
29728
29729        * GNUmakefile.am:
29730        * platform/graphics/GraphicsContext.h: The platform context is no longer a
29731        cairo_t, but our new class the PlatformContextCairo.
29732        * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
29733        * platform/graphics/cairo/FontCairo.cpp: Ditto.
29734        * platform/graphics/cairo/GradientCairo.cpp: Ditto.
29735        * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
29736        changes which now reference platformContext()->cr() to get the cairo_t.
29737        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
29738        PlatformContextCairo instead of the cairo_t.
29739        * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
29740        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
29741        * platform/graphics/cairo/PathCairo.cpp: Ditto.
29742        * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
29743        * platform/graphics/cairo/PlatformContextCairo.h: Added.
29744        * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
29745        * platform/graphics/gtk/IconGtk.cpp: Ditto.
29746        * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
29747        m_data with a private section containing the platform context instead of
29748        just a cairo_t.
29749        * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
29750        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
29751        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
29752        * plugins/gtk/PluginViewGtk.cpp: Ditto.
29753
297542011-04-05  David Dorwin  <ddorwin@chromium.org>
29755
29756        Reviewed by David Levin.
29757
29758        Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
29759        https://bugs.webkit.org/show_bug.cgi?id=57400
29760
29761        Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid.
29762        Accelerated compositing may be compiled in but disabled at runtime or for some elements.
29763
29764        Tests: Fullscreen layout tests on Chromium.
29765
29766        * dom/Document.cpp:
29767        (WebCore::Document::webkitWillEnterFullScreenForElement):
29768        (WebCore::Document::webkitDidEnterFullScreenForElement):
29769        (WebCore::Document::webkitWillExitFullScreenForElement):
29770
297712011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29772
29773        Reviewed by Dirk Schulze.
29774
29775        Regression: Invalid write in SVGTextLayoutEngine
29776        https://bugs.webkit.org/show_bug.cgi?id=57721
29777
29778        Properly stop layout if all metrics object refer to zero-width/height characters,
29779        which can happen for instance when using <text font-size="0">.
29780
29781        Test: svg/text/font-size-null-assertion.svg
29782
29783        * rendering/svg/SVGTextLayoutEngine.cpp:
29784        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
29785        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
29786
297872011-04-04 MORITA Hajime  <morrita@google.com>
29788
29789        Reviewed by Ryosuke Niwa.
29790
29791        [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
29792        https://bugs.webkit.org/show_bug.cgi?id=56085
29793
29794        Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult.
29795        This change also added TextCheckerClient::requestCheckingOfString() should have
29796        TextCheckingTypeMask as a parameter to control text checking type.
29797
29798        * WebCore.exp.in:
29799        * editing/Editor.cpp:
29800        (WebCore::Editor::replaceSelectionWithFragment):
29801        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
29802        (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges()
29803        * editing/SpellChecker.cpp:
29804        (WebCore::SpellChecker::requestCheckingFor): Added a parameter.
29805        (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object.
29806        (WebCore::SpellChecker::didCheck):
29807        * editing/SpellChecker.h:
29808        * loader/EmptyClients.h:
29809        (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
29810        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
29811        * platform/text/TextCheckerClient.h:
29812
298132011-04-04  Antti Koivisto  <antti@apple.com>
29814
29815        Reviewed by Sam Weinig.
29816
29817        Print stylesheet on nytimes.com loads too early
29818        https://bugs.webkit.org/show_bug.cgi?id=57814
29819
29820        Don't load resources with Very Low priority until there are no other resources to
29821        load for the host (or until document is complete enough that we stop limiting requests).
29822
29823        No tests, this is  difficult to observe reliably with our current testing infrastructure.
29824        Verified working with Wireshark.
29825
29826        * loader/ResourceLoadScheduler.cpp:
29827        (WebCore::ResourceLoadScheduler::servePendingRequests):
29828        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
29829        * loader/ResourceLoadScheduler.h:
29830
298312011-04-04  Steve Block  <steveblock@google.com>
29832
29833        Reviewed by Dimitri Glazkov.
29834
29835        JavaInstance should be a pure interface
29836        https://bugs.webkit.org/show_bug.cgi?id=55383
29837
29838        This patch fixes JavaInstance for V8 only.
29839
29840        It factors out a JavaInstance interface which does not use JNI
29841        types. This will allow the Java bridge to be used with objects
29842        that don't use JNI directly. The existing jobject-backed
29843        implementation is moved to a new JavaInstanceJobject class which
29844        implements the interface.
29845
29846        No new tests, refactoring only.
29847
29848        * Android.v8bindings.mk:
29849        * WebCore.gypi:
29850        * bridge/jni/JobjectWrapper.h:
29851        * bridge/jni/v8/JNIUtilityPrivate.cpp:
29852        (JSC::Bindings::jvalueToJavaValue):
29853        (JSC::Bindings::javaValueToJvalue):
29854        * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
29855        (JavaInstanceJobject::JavaInstanceJobject):
29856        (JavaInstanceJobject::~JavaInstanceJobject):
29857        (JavaInstanceJobject::begin):
29858        (JavaInstanceJobject::end):
29859        (JavaInstanceJobject::getClass):
29860        (JavaInstanceJobject::invokeMethod):
29861        (JavaInstanceJobject::getField):
29862        * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h.
29863        (JSC::Bindings::JavaInstanceJobject::javaInstance):
29864        * bridge/jni/v8/JavaInstanceV8.h:
29865        (JSC::Bindings::JavaInstance::~JavaInstance):
29866
298672011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
29868
29869       Reviewed by Darin Adler.
29870
29871        Move MouseEvent-dispatching logic into MouseEventDispatchMediator.
29872        https://bugs.webkit.org/show_bug.cgi?id=57639
29873
29874        Refactoring, covered by existing tests.
29875
29876        * dom/EventDispatcher.cpp:
29877        (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here
29878            from dispatchMouseEvent.
29879        (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method.
29880        * dom/EventDispatcher.h: Adjusted decls.
29881        (WebCore::EventDispatcher::node): Added.
29882        * dom/MouseEvent.cpp:
29883        (WebCore::MouseEvent::create): Moved useful assertion here from
29884            dispatchMouseEvent.
29885        (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added.
29886        (WebCore::MouseEventDispatchMediator::event): Added.
29887        (WebCore::MouseEventDispatchMediator::dispatchEvent): Added.
29888        * dom/MouseEvent.h:
29889        (WebCore::MouseEvent::setRelatedTarget): Added.
29890        * dom/Node.cpp:
29891        (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator.
29892
298932011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29894
29895        Reviewed by Adam Roben & Dirk Schulze.
29896
29897        text-tspan-02-b.svg from SVG 1.1 2nd edition fails
29898        https://bugs.webkit.org/show_bug.cgi?id=57831
29899
29900        We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering.
29901        While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and
29902        should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler
29903        to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the
29904        required memory.
29905
29906        Example:
29907        <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text>
29908
29909        text:   A  B  C  D  E  F  G  H
29910        rotate="10 20 30 30 30 50 50 50"
29911
29912        Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg
29913               svg/text/text-midpoint-split-bug.svg
29914
29915        * rendering/RenderBlockLineLayout.cpp:     Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an
29916        (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase.
29917        * rendering/svg/SVGTextLayoutAttributes.cpp:
29918        (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization).
29919        (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder.
29920        (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto.
29921        (WebCore::safeValueAtPosition): Ditto. (Inline helper)
29922        (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto.
29923        * rendering/svg/SVGTextLayoutAttributes.h: Ditto.
29924        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above.
29925        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
29926        (WebCore::processRenderSVGInlineText):
29927        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
29928        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters):
29929        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
29930        (WebCore::fillListAtPosition):
29931        (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition):
29932        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
29933        (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition):
29934
299352011-04-05  Levi Weintraub  <leviw@chromium.org>
29936
29937        Reviewed by Ryosuke Niwa.
29938
29939        DeleteButtonController is given invalid style
29940        https://bugs.webkit.org/show_bug.cgi?id=57853
29941
29942        DeleteButtonController was assigned an invalid style that can lead to assertions
29943        in debug builds. This matches up the code with its intent.
29944
29945        No new tests as this changes nothing on release builds.
29946
29947        * editing/DeleteButtonController.cpp:
29948        (WebCore::DeleteButtonController::createDeletionUI):
29949
299502011-04-05  Anders Bakken  <agbakken@gmail.com>
29951
29952        Reviewed by Laszlo Gombos.
29953
29954        [Qt] EditorQt.cpp has coding-style errors
29955        https://bugs.webkit.org/show_bug.cgi?id=40260
29956
29957        This patch does not require new test cases.
29958
29959        * editing/qt/EditorQt.cpp:
29960
299612011-04-05  Pavel Podivilov  <podivilov@chromium.org>
29962
29963        Reviewed by Pavel Feldman.
29964
29965        Web Inspector: go to line dialog highlights wrong line.
29966        https://bugs.webkit.org/show_bug.cgi?id=57845
29967
29968        * inspector/front-end/GoToLineDialog.js:
29969        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
29970
299712011-04-05  Luke Macpherson   <macpherson@chromium.org>
29972
29973        Reviewed by Dimitri Glazkov.
29974
29975        Implement CSSPropertyDirection in CSSStyleApplyProperty
29976        https://bugs.webkit.org/show_bug.cgi?id=57608
29977
29978        No new tests required as no new functionality introduced.
29979
29980        * css/CSSStyleApplyProperty.cpp:
29981        Add implementation class for CSSPropertyDirection
29982        * css/CSSStyleSelector.cpp:
29983        Remove existing implementation for CSSPropertyDirection
29984        * css/CSSStyleSelector.h:
29985        Add getter for element
29986
299872011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
29988
29989        Reviewed by Steve Block.
29990
29991        Factoring the creation of 'FunctionOnly' callbacks in V8.
29992        https://bugs.webkit.org/show_bug.cgi?id=57760
29993
29994        This method creates a template from an existing functionality in V8GeolocationCustom.cpp
29995        to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
29996
29997        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
29998
29999        * bindings/v8/V8Utilities.cpp:
30000        (WebCore::throwTypeMismatchException):
30001        * bindings/v8/V8Utilities.h:
30002        (WebCore::createFunctionOnlyCallback):
30003        * bindings/v8/custom/V8GeolocationCustom.cpp:
30004        (WebCore::V8Geolocation::getCurrentPositionCallback):
30005        (WebCore::V8Geolocation::watchPositionCallback):
30006
300072011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
30008
30009        Reviewed by Andreas Kling.
30010
30011        Switch from Vector<UChar> to StringBuilder in bindings/
30012        https://bugs.webkit.org/show_bug.cgi?id=57838
30013
30014        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
30015        (WebCore::cssPropertyName):
30016        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
30017        (WebCore::cssPropertyInfo):
30018
300192011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
30020
30021        Reviewed by Andreas Kling.
30022
30023        Switch from Vector<UChar> to StringBuilder in accessibility/
30024        https://bugs.webkit.org/show_bug.cgi?id=57837
30025
30026        * accessibility/AccessibilityObject.cpp:
30027        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
30028        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
30029        * accessibility/AccessibilityRenderObject.cpp:
30030        (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
30031
300322011-04-05  Andrey Adaikin  <aandrey@google.com>
30033
30034        Reviewed by Pavel Feldman.
30035
30036        Web Inspector: Scripts with syntax errors are cropped in the UI
30037        https://bugs.webkit.org/show_bug.cgi?id=57828
30038
30039        * inspector/front-end/SourceFrame.js:
30040        (WebInspector.SourceFrame.prototype.addMessageToSource):
30041
300422011-04-05  Alexey Proskuryakov  <ap@apple.com>
30043
30044        Reviewed by Darin Adler.
30045
30046        Remove onformchange and onforminput events/event handlers
30047        https://bugs.webkit.org/show_bug.cgi?id=55755
30048        <rdar://problem/9087969>
30049
30050        Covered by existing tests.
30051
30052        * dom/Document.h:
30053        * dom/Document.idl:
30054        * dom/Element.h:
30055        * dom/Element.idl:
30056        * dom/Event.cpp:
30057        (WebCore::Event::fromUserGesture):
30058        * dom/EventNames.h:
30059        * html/FormAssociatedElement.h:
30060        * html/HTMLAttributeNames.in:
30061        * html/HTMLElement.cpp:
30062        (WebCore::HTMLElement::parseMappedAttribute):
30063        * html/HTMLElement.h:
30064        * html/HTMLFormControlElement.h:
30065        (WebCore::HTMLFormControlElement::isEnumeratable):
30066        * html/HTMLFormElement.cpp:
30067        * html/HTMLFormElement.h:
30068        * html/HTMLFormElement.idl:
30069        * html/HTMLInputElement.h:
30070        * html/HTMLKeygenElement.h:
30071        * html/HTMLObjectElement.h:
30072        (WebCore::HTMLObjectElement::isEnumeratable):
30073        * html/HTMLOutputElement.h:
30074        (WebCore::HTMLOutputElement::isEnumeratable):
30075        * html/HTMLSelectElement.h:
30076        (WebCore::HTMLSelectElement::isEnumeratable):
30077        * html/HTMLTextAreaElement.h:
30078        (WebCore::HTMLTextAreaElement::isEnumeratable):
30079        * page/DOMWindow.h:
30080        * page/DOMWindow.idl:
30081
300822011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
30083
30084        Unreviewed, rolling out r82915.
30085        http://trac.webkit.org/changeset/82915
30086        https://bugs.webkit.org/show_bug.cgi?id=57825
30087
30088        Broke 270 chromium tests on win and linux (Requested by
30089        podivilov on #webkit).
30090
30091        * rendering/RenderThemeChromiumSkia.cpp:
30092        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
30093
300942011-04-05  James Simonsen  <simonjam@chromium.org>
30095
30096        Reviewed by Adam Barth.
30097
30098        Stop preload scanning CSS when it&apos;s impossible to have another @import.
30099        https://bugs.webkit.org/show_bug.cgi?id=57664
30100
30101        @import statements are only allowed at the beginning of a CSS file.
30102        Only comments or @charset can precede them. After seeing anything else,
30103        abort early so that we:
30104        - don't have to parse the rest of the CSS.
30105        - don't preload something that the regular parser won't load.
30106
30107        * html/parser/CSSPreloadScanner.cpp:
30108        (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
30109        (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
30110        (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
30111        * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
30112
301132011-04-05  Takayoshi Kochi <kochi@chromium.org>
30114
30115        Reviewed by Tony Chang.
30116
30117        [chromium] Specify 'sans-serif' as a fallback to the default UI font
30118        'Arial' for non-latin UI scripts (e.g. CJK).
30119        https://bugs.webkit.org/show_bug.cgi?id=55035
30120
30121        No new tests, because it may still fail if the system is not configured
30122        properly to resolve 'sans-serif' to existing real font file, thus even
30123        manual test is hard to systematically tell it is working properly.
30124
30125        * rendering/RenderThemeChromiumSkia.cpp
30126
301272011-04-05  Kent Tamura  <tkent@chromium.org>
30128
30129        Reviewed by Dimitri Glazkov.
30130
30131        Setting defaultValue on a textarea with a modified value still clobbers the value
30132        https://bugs.webkit.org/show_bug.cgi?id=57636
30133
30134        If the dirty flag is true, we shouldn't update the value when the
30135        defaultValue is updated
30136
30137        Test: fast/forms/textarea-set-defaultvalue-after-value.html
30138
30139        * html/HTMLTextAreaElement.cpp:
30140        (WebCore::HTMLTextAreaElement::childrenChanged):
30141        (WebCore::HTMLTextAreaElement::setDefaultValue):
30142
301432011-04-04  Kent Tamura  <tkent@chromium.org>
30144
30145        Add a case label which was unexpectedly removed in r82899.
30146        https://bugs.webkit.org/show_bug.cgi?id=50661
30147
30148        * css/CSSSelector.cpp:
30149        (WebCore::CSSSelector::extractPseudoType):
30150
301512011-04-04  Dan Bernstein  <mitz@apple.com>
30152
30153        Reviewed by Simon Fraser.
30154
30155        <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
30156        https://bugs.webkit.org/show_bug.cgi?id=49334
30157
30158        Tests: fast/ruby/overhang-horizontal.html
30159               fast/ruby/overhang-vertical.html
30160
30161        This is a first cut at ruby overhang. It allows ruby text to hang over other
30162        text of equal or smaller size. Two notable omissions are that max preferred
30163        width computation was not patched, so it will overshoot, and that overhang
30164        ignores the width of the adjoining text runs.
30165
30166        * rendering/RenderBlock.h:
30167        * rendering/RenderBlockLineLayout.cpp:
30168        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
30169        of ruby runs for overhang.
30170        (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
30171        compensate for overhang.
30172        (WebCore::RenderBlock::findNextLineBreak): When encountering
30173        a ruby run, increase the line width to account for the fact that overhang will be
30174        collapsed.
30175        * rendering/RenderRubyRun.cpp:
30176        (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
30177        the adjoining renderer is text with equal or smaller font size.
30178        * rendering/RenderRubyRun.h:
30179        (WebCore::toRenderRubyRun):
30180
301812011-04-04  David Kilzer  <ddkilzer@apple.com>
30182
30183        <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
30184
30185        Reviewed by Alexey Proskuryakov.
30186
30187        * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
30188        * platform/mac/WebCoreSystemInterface.h:
30189        (wkSetHTTPPipeliningMaximumPriority): Added function pointer
30190        declaration.
30191        * platform/mac/WebCoreSystemInterface.mm:
30192        (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
30193        * platform/network/cf/ResourceRequestCFNet.cpp:
30194        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
30195        wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
30196        pipelining priority.
30197        * platform/network/cf/ResourceRequestCFNet.h:
30198        (WebCore::toResourceLoadPriority): Renamed from
30199        mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
30200        to handle Unresolved case.
30201        (WebCore::toHTTPPipeliningPriority): Renamed from
30202        mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
30203        handle Unresolved case.
30204        * platform/network/mac/ResourceRequestMac.mm:
30205        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
30206        use toResourceLoadPriority().
30207        (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
30208        use toHTTPPipeliningPriority().  Moved
30209        shouldForceHTTPPipeliningPriorityHigh() check into the argument
30210        of toHTTPPipeliningPriority() instead of hard-coding a
30211        now-incorrect value.
30212
302132011-04-04  MORITA Hajime  <morrita@google.com>
30214
30215        Reviewed by Kent Tamura.
30216
30217        Convert <meter> shadow DOM to a DOM-based shadow.
30218        https://bugs.webkit.org/show_bug.cgi?id=50661
30219
30220        Eliminated a large part of <meter> custom layout code,
30221        which is replaced by a shadow tree.
30222        Note that the shadow tree is created on construction time and
30223        will remain during the host HTMLMeterElement lifecycle.
30224
30225        * Android.mk:
30226        * CMakeLists.txt:
30227        * GNUmakefile.am:
30228        * WebCore.gypi:
30229        * WebCore.pro:
30230        * WebCore.vcproj/WebCore.vcproj:
30231        * WebCore.xcodeproj/project.pbxproj:
30232        * css/CSSMutableStyleDeclaration.cpp:
30233        (WebCore::CSSMutableStyleDeclaration::setProperty):
30234        * css/CSSMutableStyleDeclaration.h:
30235        * css/CSSSelector.cpp:
30236        (WebCore::CSSSelector::pseudoId):
30237        (WebCore::nameToPseudoTypeMap):
30238        (WebCore::CSSSelector::extractPseudoType):
30239        * css/CSSSelector.h:
30240        * css/html.css:
30241        (meter):
30242        (meter::-webkit-meter-bar):
30243        (meter::-webkit-meter-optimum-value):
30244        (meter::-webkit-meter-suboptimum-value):
30245        (meter::-webkit-meter-even-less-good-value):
30246        * html/HTMLMeterElement.cpp:
30247        (WebCore::HTMLMeterElement::~HTMLMeterElement):
30248        (WebCore::HTMLMeterElement::parseMappedAttribute):
30249        (WebCore::HTMLMeterElement::attach):
30250        (WebCore::HTMLMeterElement::valueRatio):
30251        (WebCore::HTMLMeterElement::didElementStateChange):
30252        (WebCore::HTMLMeterElement::createShadowSubtree):
30253        * html/HTMLMeterElement.h:
30254        * html/shadow/MeterShadowElement.cpp: Added.
30255        (WebCore::MeterShadowElement::MeterShadowElement):
30256        (WebCore::MeterShadowElement::meterElement):
30257        (WebCore::MeterShadowElement::rendererIsNeeded):
30258        (WebCore::MeterBarElement::shadowPseudoId):
30259        (WebCore::MeterValueElement::shadowPseudoId):
30260        (WebCore::MeterValueElement::setWidthPercentage):
30261        * html/shadow/MeterShadowElement.h: Added.
30262        (WebCore::MeterBarElement::MeterBarElement):
30263        (WebCore::MeterBarElement::create):
30264        (WebCore::MeterValueElement::MeterValueElement):
30265        (WebCore::MeterValueElement::create):
30266        * rendering/RenderMeter.cpp:
30267        (WebCore::RenderMeter::RenderMeter):
30268        (WebCore::RenderMeter::~RenderMeter):
30269        (WebCore::RenderMeter::valueRatio):
30270        * rendering/RenderMeter.h:
30271        (WebCore::RenderMeter::renderName):
30272        (WebCore::RenderMeter::isMeter):
30273        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
30274        (WebCore::RenderMeter::canHaveChildren):
30275
302762011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
30277
30278        Reviewed by Adam Barth.
30279
30280        Introduce EventDispatchMediator abstraction, which encapsulate all
30281        non-trivial logic around firing a specific type of an event.
30282        https://bugs.webkit.org/show_bug.cgi?id=57562
30283
30284        Refactoring, covered by existing tests.
30285
30286        * dom/Event.cpp:
30287        (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
30288        (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
30289        (WebCore::EventDispatchMediator::dispatchEvent): Added.
30290        (WebCore::EventDispatchMediator::event): Added.
30291        * dom/Event.h: Added decl.
30292        * dom/EventDispatcher.cpp:
30293        (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
30294        * dom/EventDispatcher.h: Updated decls.
30295        * dom/KeyboardEvent.cpp:
30296        (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
30297        (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
30298        * dom/KeyboardEvent.h: Updated decls
30299        * dom/Node.cpp:
30300        (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
30301        (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
30302
303032011-04-04  Martin Robinson  <mrobinson@igalia.com>
30304
30305        Reviewed by Xan Lopez.
30306
30307        [Cairo] Memory leak in RefPtrCairo
30308        https://bugs.webkit.org/show_bug.cgi?id=57758
30309
30310        No new tests. This just fixes a memory leak.
30311
30312        * platform/graphics/cairo/RefPtrCairo.cpp:
30313        (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
30314
303152011-04-04  Adrienne Walker  <enne@google.com>
30316
30317        Unreviewed, rolling out r82880.
30318        http://trac.webkit.org/changeset/82880
30319        https://bugs.webkit.org/show_bug.cgi?id=50661
30320
30321        Meter elements not rendered in Chromium Linux layout tests
30322
30323        * Android.mk:
30324        * CMakeLists.txt:
30325        * GNUmakefile.am:
30326        * WebCore.gypi:
30327        * WebCore.pro:
30328        * WebCore.vcproj/WebCore.vcproj:
30329        * WebCore.xcodeproj/project.pbxproj:
30330        * css/CSSMutableStyleDeclaration.cpp:
30331        * css/CSSMutableStyleDeclaration.h:
30332        * css/CSSSelector.cpp:
30333        (WebCore::CSSSelector::pseudoId):
30334        (WebCore::nameToPseudoTypeMap):
30335        (WebCore::CSSSelector::extractPseudoType):
30336        * css/CSSSelector.h:
30337        * css/html.css:
30338        (meter):
30339        (meter::-webkit-meter):
30340        (meter::-webkit-meter-bar):
30341        (meter::-webkit-meter-optimum-value):
30342        (meter::-webkit-meter-suboptimal-value):
30343        (meter::-webkit-meter-even-less-good-value):
30344        * html/HTMLMeterElement.cpp:
30345        (WebCore::HTMLMeterElement::create):
30346        (WebCore::HTMLMeterElement::parseMappedAttribute):
30347        (WebCore::HTMLMeterElement::attach):
30348        * html/HTMLMeterElement.h:
30349        * html/shadow/MeterShadowElement.cpp: Removed.
30350        * html/shadow/MeterShadowElement.h: Removed.
30351        * rendering/RenderMeter.cpp:
30352        (WebCore::RenderMeter::RenderMeter):
30353        (WebCore::RenderMeter::~RenderMeter):
30354        (WebCore::RenderMeter::createPart):
30355        (WebCore::RenderMeter::updateFromElement):
30356        (WebCore::RenderMeter::layoutParts):
30357        (WebCore::RenderMeter::styleDidChange):
30358        (WebCore::RenderMeter::shouldHaveParts):
30359        (WebCore::RenderMeter::valueRatio):
30360        (WebCore::RenderMeter::barPartRect):
30361        (WebCore::RenderMeter::valuePartRect):
30362        (WebCore::RenderMeter::valuePseudoId):
30363        (WebCore::RenderMeter::barPseudoId):
30364        (WebCore::RenderMeter::detachShadows):
30365        (WebCore::RenderMeter::updateShadows):
30366        * rendering/RenderMeter.h:
30367        (WebCore::RenderMeter::renderName):
30368        (WebCore::RenderMeter::isMeter):
30369        (WebCore::RenderMeter::shadowAttached):
30370
303712011-04-04  Chang Shu  <cshu@webkit.org>
30372
30373        Reviewed by Ryosuke Niwa.
30374
30375        setContentEditable with true/false/inherit string is not working properly
30376        https://bugs.webkit.org/show_bug.cgi?id=52058
30377
30378        Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
30379        checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
30380        which does NOT trigger layout and only checks the render style of usermodify. The latter
30381        updates the layout first to make sure the render style syncs with DOM contenteditable
30382        attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
30383        are also updated in the patch. But a complete fix will follow up in bug 57244.
30384
30385        This patch fixes all the failed layout tests related to set contenteditable.
30386
30387        * accessibility/AccessibilityRenderObject.cpp:
30388        (WebCore::AccessibilityRenderObject::isReadOnly):
30389        * dom/Node.cpp:
30390        (WebCore::Node::isContentEditable):
30391        (WebCore::Node::shouldUseInputMethod):
30392        * dom/Node.h:
30393        * html/HTMLElement.cpp:
30394        * html/HTMLElement.h:
30395
303962011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
30397
30398        Reviewed by Dimitri Glazkov.
30399
30400        Bug 57689 - Extract scoping functionality from Document
30401        https://bugs.webkit.org/show_bug.cgi?id=57689
30402
30403        Moved selfOnlyRef (renamed to guardRef), element ID, image map
30404        and accesss key functionalities from Document to a new base
30405        class TreeScope.
30406
30407        TreeShared: made removedLastRef protected
30408
30409        No new tests. (refactoring)
30410
30411        * Android.mk:
30412        * CMakeLists.txt:
30413        * GNUmakefile.am:
30414        * WebCore.gypi:
30415        * WebCore.pro:
30416        * WebCore.vcproj/WebCore.vcproj:
30417        * WebCore.xcodeproj/project.pbxproj:
30418        * dom/Document.cpp:
30419        (WebCore::Document::Document):
30420        (WebCore::Document::destroyScope):
30421        (WebCore::Document::getElementById):
30422        (WebCore::Document::childrenChanged):
30423        (WebCore::Document::scheduleStyleRecalc):
30424        (WebCore::Document::attach):
30425        (WebCore::Document::detach):
30426        * dom/Document.h:
30427        (WebCore::Node::Node):
30428        * dom/DocumentOrderedMap.cpp:
30429        (WebCore::DocumentOrderedMap::get):
30430        (WebCore::DocumentOrderedMap::getElementById):
30431        (WebCore::DocumentOrderedMap::getElementByMapName):
30432        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
30433        * dom/DocumentOrderedMap.h:
30434        * dom/DOMAllInOne.cpp:
30435        * dom/Node.cpp:
30436        (WebCore::Node::~Node):
30437        (WebCore::Node::setDocument):
30438        * dom/Node.h:
30439        * dom/TreeScope.cpp: Added.
30440        * dom/TreeScope.h: Added.
30441        * platform/TreeShared.h:
30442        (WebCore::TreeShared::removedLastRef): made protected
30443
304442011-04-04  MORITA Hajime  <morrita@google.com>
30445
30446        Reviewed by Dimitri Glazkov.
30447
30448        Convert <meter> shadow DOM to a DOM-based shadow.
30449        https://bugs.webkit.org/show_bug.cgi?id=50661
30450
30451        Eliminated a large part of <meter> custom layout code,
30452        which is replaced by a shadow tree.
30453        Note that the shadow tree is created on construction time and
30454        will remain during the host HTMLMeterElement lifecycle.
30455
30456        * Android.mk:
30457        * CMakeLists.txt:
30458        * GNUmakefile.am:
30459        * WebCore.gypi:
30460        * WebCore.pro:
30461        * WebCore.vcproj/WebCore.vcproj:
30462        * WebCore.xcodeproj/project.pbxproj:
30463        * css/CSSMutableStyleDeclaration.cpp:
30464        (WebCore::CSSMutableStyleDeclaration::setProperty):
30465        * css/CSSMutableStyleDeclaration.h:
30466        * css/CSSSelector.cpp:
30467        (WebCore::CSSSelector::pseudoId):
30468        (WebCore::nameToPseudoTypeMap):
30469        (WebCore::CSSSelector::extractPseudoType):
30470        * css/CSSSelector.h:
30471        * css/html.css:
30472        (meter):
30473        (meter::-webkit-meter-bar):
30474        (meter::-webkit-meter-optimum-value):
30475        (meter::-webkit-meter-suboptimum-value):
30476        (meter::-webkit-meter-even-less-good-value):
30477        * html/HTMLMeterElement.cpp:
30478        (WebCore::HTMLMeterElement::~HTMLMeterElement):
30479        (WebCore::HTMLMeterElement::parseMappedAttribute):
30480        (WebCore::HTMLMeterElement::attach):
30481        (WebCore::HTMLMeterElement::valueRatio):
30482        (WebCore::HTMLMeterElement::didElementStateChange):
30483        (WebCore::HTMLMeterElement::createShadowSubtree):
30484        * html/HTMLMeterElement.h:
30485        * html/shadow/MeterShadowElement.cpp: Added.
30486        (WebCore::MeterShadowElement::MeterShadowElement):
30487        (WebCore::MeterShadowElement::meterElement):
30488        (WebCore::MeterShadowElement::rendererIsNeeded):
30489        (WebCore::MeterBarElement::shadowPseudoId):
30490        (WebCore::MeterValueElement::shadowPseudoId):
30491        (WebCore::MeterValueElement::setWidthPercentage):
30492        * html/shadow/MeterShadowElement.h: Added.
30493        (WebCore::MeterBarElement::MeterBarElement):
30494        (WebCore::MeterBarElement::create):
30495        (WebCore::MeterValueElement::MeterValueElement):
30496        (WebCore::MeterValueElement::create):
30497        * rendering/RenderMeter.cpp:
30498        (WebCore::RenderMeter::RenderMeter):
30499        (WebCore::RenderMeter::~RenderMeter):
30500        (WebCore::RenderMeter::valueRatio):
30501        * rendering/RenderMeter.h:
30502        (WebCore::RenderMeter::renderName):
30503        (WebCore::RenderMeter::isMeter):
30504        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
30505        (WebCore::RenderMeter::canHaveChildren):
30506
305072011-04-04  Martin Robinson  <mrobinson@igalia.com>
30508
30509        Reviewed by Gustavo Noronha Silva.
30510
30511        [GTK] WebGL support
30512        https://bugs.webkit.org/show_bug.cgi?id=31517
30513
30514        Add WebGL support for the GTK+ bits of WebCore.
30515
30516        No new tests. This will be covered by the existing WebGL tests once
30517        the bots are capable of running WebGL tests.
30518
30519        * GNUmakefile.am: Added new files required for WebGL support.
30520        * html/HTMLCanvasElement.cpp:
30521        (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
30522        yet support accelerated compositing.
30523        * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
30524        a framework for GTK+.
30525        * platform/graphics/GraphicsContext3D.h:
30526        (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
30527        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
30528        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
30529        (WebCore::GraphicsContext3D::getImageData): Added.
30530        (WebCore::GraphicsContext3D::paintToCanvas): Added.
30531        * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
30532        functions dynamically. They have different names across the different vendors' GL implementations.
30533        (WebCore::lookupOpenGLFunctionAddress): Added
30534        (WebCore::openGLFunctionTable): Added
30535        (WebCore::initializeOpenGLShims): Added
30536        * platform/graphics/cairo/OpenGLShims.h: Added.
30537        * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
30538        (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
30539        (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
30540        (WebCore::DrawingBuffer::didReset): Ditto.
30541        (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
30542        * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
30543        (WebCore::GraphicsContext3D::create): Initial implementation.
30544        (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
30545        (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
30546        (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
30547        (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
30548        (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
30549        * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
30550        (sharedDisplay): Added this shared display which is required by some
30551        display drivers.
30552        (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
30553        contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
30554        (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
30555        (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
30556        (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
30557        (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
30558        context given the current environment.
30559        (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
30560        (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
30561        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
30562        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
30563        (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
30564        * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
30565        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
30566        (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
30567        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
30568        (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
30569        the private bits that are specific to the Apple port.
30570
305712011-04-04  Alexey Proskuryakov  <ap@apple.com>
30572
30573        Reviewed by Dan Bernstein.
30574
30575        REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
30576        https://bugs.webkit.org/show_bug.cgi?id=51230
30577        <rdar://problem/8780989>
30578
30579        <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
30580
30581        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
30582        WebKits to WebCore, because WebKit shouldn't be smart.
30583
305842011-04-04  Steve Falkenburg  <sfalken@apple.com>
30585
30586        Fix Windows build warning.
30587
30588        * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
30589
305902011-04-04  Adam Roben  <aroben@apple.com>
30591
30592        Attempted Mac build fix, part III
30593
30594        * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
30595
305962011-04-04  Andy Estes  <aestes@apple.com>
30597
30598        Fix the Mac build.
30599
30600        * WebCore.exp.in:
30601
306022011-04-04  David Dorwin  <ddorwin@chromium.org>
30603
30604        Reviewed by David Levin.
30605
30606        Chromium Mac crashes when entering fullscreen
30607        https://bugs.webkit.org/show_bug.cgi?id=57483
30608
30609        Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
30610
30611        * WebCore.gyp/WebCore.gyp:
30612        * rendering/RenderThemeChromiumMac.h:
30613        * rendering/RenderThemeChromiumMac.mm:
30614        (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
30615
306162011-04-04  Adam Roben  <aroben@apple.com>
30617
30618        Attempted Mac build fix, part II
30619
30620        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
30621        PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
30622
306232011-04-04  Steve Falkenburg  <sfalken@apple.com>
30624
30625        Reviewed by Adam Roben.
30626
30627        Remove unused AnalyzeWithLargeStack code from Windows build files
30628        https://bugs.webkit.org/show_bug.cgi?id=57771
30629
30630        This was used for us to build with prefast automatically,
30631        but it is out-of-date and hasn't been used for some time.
30632        Removing completely for now.
30633
30634        * WebCore.vcproj/WebCore.vcproj:
30635        * WebCore.vcproj/WebCorePreBuild.cmd:
30636
306372011-04-01  Matthew Delaney  <mdelaney@apple.com>
30638
30639        Reviewed by Simon Fraser.
30640
30641        [CG] Do not accelerate small canvases
30642        https://bugs.webkit.org/show_bug.cgi?id=57596
30643
30644        No new tests. No outward behavior changes.
30645
30646        * platform/graphics/cg/ImageBufferCG.cpp:
30647
306482011-04-04  Adam Roben  <aroben@apple.com>
30649
30650        Attempted Mac build fix
30651
30652        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
30653        so that WebKit can #include them.
30654
306552011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
30656
30657        Reviewed by Kevin Ollivier.
30658
30659        [wx] Implement support for temporary files.
30660
30661        https://bugs.webkit.org/show_bug.cgi?id=57772
30662
30663        * platform/FileSystem.h:
30664        * platform/wx/FileSystemWx.cpp:
30665        (WebCore::getFileModificationTime):
30666        (WebCore::openTemporaryFile):
30667        (WebCore::closeFile):
30668        (WebCore::writeToFile):
30669
306702011-04-01  Oliver Hunt  <oliver@apple.com>
30671
30672        Reviewed by Geoffrey Garen.
30673
30674        Make StructureChain GC allocated
30675        https://bugs.webkit.org/show_bug.cgi?id=56695
30676
30677        Update for new Structure marking function
30678
30679        * bindings/js/JSDOMGlobalObject.cpp:
30680        (WebCore::JSDOMGlobalObject::markChildren):
30681
306822011-04-04  Pavel Feldman  <pfeldman@google.com>
30683
30684        Reviewed by Yury Semikhatsky.
30685
30686        Web Inspector: add support for the enumerated types in the protocol.
30687        https://bugs.webkit.org/show_bug.cgi?id=57761
30688
30689        * inspector/Inspector.json:
30690        * inspector/InspectorDebuggerAgent.cpp:
30691        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
30692        * inspector/InspectorDebuggerAgent.h:
30693        * inspector/InspectorInstrumentation.cpp:
30694        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
30695        (WebCore::InspectorInstrumentation::scriptImportedImpl):
30696        * inspector/InspectorResourceAgent.cpp:
30697        (WebCore::cachedResourceTypeString):
30698        (WebCore::InspectorResourceAgent::didReceiveResponse):
30699        (WebCore::InspectorResourceAgent::setInitialScriptContent):
30700        (WebCore::InspectorResourceAgent::setInitialXHRContent):
30701        * inspector/InspectorResourceAgent.h:
30702        * inspector/front-end/ScriptsPanel.js:
30703        * inspector/generate-inspector-idl:
30704
307052011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30706
30707        Reviewed by Pavel Feldman.
30708
30709        Web Inspector: InspectorRuntimeAgent should not depend on Page
30710        https://bugs.webkit.org/show_bug.cgi?id=57759
30711
30712        Descendants of InspectorRuntimeAgent should implement a method providing access to the default
30713        inspected state used for console evaluations.
30714
30715        * inspector/InspectorAgent.cpp:
30716        (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
30717        (WebCore::InspectorAgent::setFrontend):
30718        * inspector/InspectorAgent.h:
30719        * inspector/InspectorRuntimeAgent.cpp:
30720        (WebCore::InspectorRuntimeAgent::create):
30721        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
30722        (WebCore::InspectorRuntimeAgent::evaluate):
30723        * inspector/InspectorRuntimeAgent.h:
30724        (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
30725
307262011-04-04  Yong Li  <yoli@rim.com>
30727
30728        Reviewed by Antonio Gomes.
30729
30730        https://bugs.webkit.org/show_bug.cgi?id=55969
30731        Fix the issue that document state is not saved when
30732        going backward and ending up with error page.
30733
30734        Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
30735
30736        (For manual test, load a non-existent html first, then load
30737        fast/history/resources/check-scroll-position.html, then go
30738        back and go forward. If it doesn't show "SUCCESS" at the bottom
30739        of the page, your browser has failed the test)
30740
30741        * loader/FrameLoader.cpp:
30742        (WebCore::FrameLoader::load):
30743
307442011-04-04  Sergio Villar Senin  <svillar@igalia.com>
30745
30746        Reviewed by Martin Robinson.
30747
30748        [GTK] Fix make distcheck for 1.4.0
30749        https://bugs.webkit.org/show_bug.cgi?id=57750
30750
30751        Added a missing header file to the Makefile
30752
30753        * GNUmakefile.am:
30754
307552011-04-04  Martin Robinson  <mrobinson@igalia.com>
30756
30757        Reviewed by Xan Lopez.
30758
30759        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
30760        https://bugs.webkit.org/show_bug.cgi?id=55826
30761
30762        Correct the implementation of handlePostReadFile which uses GIO APIs and
30763        actually resizes the buffer to fit the entire size of the file data. This
30764        was likely leading to memory corruption until now.
30765
30766        * plugins/gtk/PluginViewGtk.cpp:
30767        (WebCore::PluginView::handlePostReadFile): Fix this method.
30768
307692011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30770
30771        Reviewed by Yury Semikhatsky.
30772
30773        Web Inspector: [Extensions API] add notifications on panels shown/hidden
30774        https://bugs.webkit.org/show_bug.cgi?id=57752
30775
30776        * inspector/front-end/ExtensionAPI.js:
30777        (WebInspector.injectedExtensionAPI.PanelImpl):
30778        * inspector/front-end/ExtensionServer.js:
30779        (WebInspector.ExtensionServer.prototype.notifyPanelShown):
30780        (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
30781        * inspector/front-end/Panel.js:
30782        (WebInspector.Panel.prototype.show):
30783        (WebInspector.Panel.prototype.hide):
30784
307852011-04-04  Pavel Podivilov  <podivilov@chromium.org>
30786
30787        Reviewed by Yury Semikhatsky.
30788
30789        Web Inspector: search in resources panel is broken.
30790        https://bugs.webkit.org/show_bug.cgi?id=57631
30791
30792        Search in resources panel should trigger source frame content load.
30793
30794        * inspector/front-end/Panel.js:
30795        (WebInspector.Panel.prototype.jumpToNextSearchResult):
30796        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
30797        * inspector/front-end/ResourcesPanel.js:
30798        * inspector/front-end/SearchController.js:
30799        (WebInspector.SearchController.prototype.handleShortcut):
30800        (WebInspector.SearchController.prototype.focusSearchField):
30801        * inspector/front-end/SourceFrame.js:
30802        (WebInspector.SourceFrame.prototype.show):
30803        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
30804        (WebInspector.SourceFrame.prototype.performSearch):
30805
308062011-04-03  Eric Seidel  <eric@webkit.org>
30807
30808        Reviewed by Ryosuke Niwa.
30809
30810        Split out UnicodeBidi enum into its own header (to allow use in platform)
30811        https://bugs.webkit.org/show_bug.cgi?id=57722
30812
30813        unicode-bidi is a CSS concept.  However the same concept is really needed throughout
30814        the bidi code in platform as well.  So I'm moving the enum to platform.
30815        The only part of the enum which doesn't make much sense to platform/ is "normal".
30816
30817        * WebCore.xcodeproj/project.pbxproj:
30818        * css/CSSPrimitiveValueMappings.h:
30819        * platform/text/UnicodeBidi.h: Added.
30820        * rendering/style/RenderStyle.h:
30821        * rendering/style/RenderStyleConstants.h:
30822
308232011-04-04  Andrey Adaikin  <aandrey@google.com>
30824
30825        Reviewed by Yury Semikhatsky.
30826
30827        Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
30828        https://bugs.webkit.org/show_bug.cgi?id=57749
30829
30830        * inspector/front-end/TextViewer.js:
30831        (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
30832        (WebInspector.TextEditorMainPanel.prototype._paintLine):
30833
308342011-04-04  Alexander Pavlov  <apavlov@chromium.org>
30835
30836        Reviewed by Yury Semikhatsky.
30837
30838        Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
30839        https://bugs.webkit.org/show_bug.cgi?id=48525
30840
30841        * inspector/front-end/Resource.js:
30842        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
30843
308442011-04-01  Alexander Pavlov  <apavlov@chromium.org>
30845
30846        Reviewed by Yury Semikhatsky.
30847
30848        Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
30849        https://bugs.webkit.org/show_bug.cgi?id=57632
30850
30851        Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
30852
30853        * inspector/front-end/DOMAgent.js:
30854        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
30855        * inspector/front-end/EventListenersSidebarPane.js:
30856        ():
30857        * inspector/front-end/StylesSidebarPane.js:
30858        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
30859        * inspector/front-end/utilities.js:
30860
308612011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30862
30863        Unreviewed. Followup to an incomplete commit in r82806.
30864
30865        * inspector/front-end/ExtensionAPI.js:
30866        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
30867        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
30868        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
30869        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
30870        (WebInspector.injectedExtensionAPI):
30871        * inspector/front-end/ExtensionPanel.js:
30872        (WebInspector.ExtensionSidebarPane):
30873        (WebInspector.ExtensionSidebarPane.prototype.setPage):
30874        (WebInspector.ExtensionSidebarPane.prototype._setObject):
30875        * inspector/front-end/ExtensionServer.js:
30876        (WebInspector.ExtensionServer):
30877        (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
30878        (WebInspector.ExtensionServer.prototype._onCreatePanel):
30879        (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
30880        (WebInspector.ExtensionServer.prototype.createClientIframe):
30881        (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
30882
308832011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30884
30885        Unreviewed. Fix Qt minimal build.
30886
30887        * inspector/InspectorFrontendChannel.h:
30888
308892011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
30890
30891        Reviewed by Yury Semikhatsky.
30892
30893        Web Inspector: Separate sendMessageToFrontend function
30894        from InspectorClient to individual interface.
30895        https://bugs.webkit.org/show_bug.cgi?id=57548
30896
30897        Refactoring - covered with existing inspector tests.
30898
30899        * GNUmakefile.am:
30900        * WebCore.gypi:
30901        * WebCore.vcproj/WebCore.vcproj:
30902        * WebCore.xcodeproj/project.pbxproj:
30903        * inspector/CodeGeneratorInspector.pm:
30904        * inspector/InspectorClient.h:
30905        * inspector/InspectorFrontendChannel.h: Added.
30906        (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
30907
309082011-04-04  Nico Weber  <thakis@chromium.org>
30909
30910        Reviewed by Eric Seidel.
30911
30912        Prefer a using directive over qualified names in LocalizedNumberICU.cpp
30913        https://bugs.webkit.org/show_bug.cgi?id=57742
30914
30915        Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
30916
30917        * platform/text/LocalizedNumberICU.cpp:
30918        (WebCore::createFormatterForCurrentLocale):
30919        (WebCore::numberFormatter):
30920        (WebCore::parseLocalizedNumber):
30921        (WebCore::formatLocalizedNumber):
30922
309232011-04-04  Andrey Adaikin  <aandrey@google.com>
30924
30925        Reviewed by Yury Semikhatsky.
30926
30927        Web Inspector: Breakpoints in the gutter stay static while editing the text
30928        https://bugs.webkit.org/show_bug.cgi?id=57616
30929
30930        * inspector/front-end/SourceFrame.js:
30931        (WebInspector.SourceFrame):
30932        (WebInspector.SourceFrame.prototype._saveViewerState):
30933        (WebInspector.SourceFrame.prototype._restoreViewerState):
30934        (WebInspector.SourceFrame.prototype._endEditing):
30935        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
30936        (WebInspector.SourceFrame.prototype.addBreakpoint):
30937        (WebInspector.SourceFrame.prototype.removeBreakpoint):
30938        * inspector/front-end/TextViewer.js:
30939        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
30940        (WebInspector):
30941        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
30942        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
30943        (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
30944        (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
30945
309462011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
30947
30948        Reviewed by Yury Semikhatsky.
30949
30950        Web Inspector: remove obsolete doc generating code from CodeGenerator.
30951        https://bugs.webkit.org/show_bug.cgi?id=57748
30952
30953        * inspector/CodeGeneratorInspector.pm:
30954
309552011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30956
30957        Reviewed by Yury Semikhatsky.
30958
30959        Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
30960        https://bugs.webkit.org/show_bug.cgi?id=57622
30961
30962        Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
30963        Fixed wrong getter in schema (scripts -> elements)
30964
30965        * inspector/front-end/ExtensionAPI.js:
30966        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
30967        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
30968        * inspector/front-end/ExtensionAPISchema.json:
30969        * inspector/front-end/ExtensionServer.js:
30970        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
30971
309722011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
30973
30974        Reviewed by Pavel Feldman.
30975
30976        Web Inspector: introduce support of 'optional' flag for command arguments.
30977        https://bugs.webkit.org/show_bug.cgi?id=57698
30978
30979        * inspector/CodeGeneratorInspector.pm:
30980        * inspector/Inspector.json:
30981        * inspector/InspectorDebuggerAgent.cpp:
30982        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
30983        (WebCore::InspectorDebuggerAgent::setBreakpoint):
30984        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
30985        * inspector/InspectorDebuggerAgent.h:
30986        * inspector/InspectorPageAgent.cpp:
30987        (WebCore::InspectorPageAgent::reloadPage):
30988        * inspector/InspectorPageAgent.h:
30989        * inspector/InspectorResourceAgent.cpp:
30990        (WebCore::InspectorResourceAgent::getResourceContent):
30991        * inspector/InspectorResourceAgent.h:
30992        * inspector/InspectorRuntimeAgent.cpp:
30993        (WebCore::InspectorRuntimeAgent::evaluate):
30994        * inspector/InspectorRuntimeAgent.h:
30995        * inspector/generate-inspector-idl:
30996
309972011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30998
30999        Reviewed by Pavel Feldman.
31000
31001        Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
31002        https://bugs.webkit.org/show_bug.cgi?id=57637
31003
31004        * bindings/js/JSInjectedScriptManager.cpp:
31005        (WebCore::InjectedScriptManager::injectedScriptFor):
31006        * bindings/v8/custom/V8InjectedScriptManager.cpp:
31007        (WebCore::InjectedScriptManager::injectedScriptFor):
31008        * inspector/InjectedScript.cpp:
31009        (WebCore::InjectedScript::InjectedScript):
31010        (WebCore::InjectedScript::canAccessInspectedWindow):
31011        * inspector/InjectedScript.h:
31012        * inspector/InjectedScriptManager.cpp:
31013        (WebCore::InjectedScriptManager::createForPage):
31014        (WebCore::InjectedScriptManager::createForWorker):
31015        (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
31016        and it depends on which type of context we're inspecting(worker or page).
31017        (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
31018        * inspector/InjectedScriptManager.h:
31019        * inspector/InspectorController.cpp:
31020        (WebCore::InspectorController::InspectorController):
31021
310222011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
31023
31024        Reviewed by Eric Seidel.
31025
31026        V8StringCallback.cpp requires V8Binding.h
31027        https://bugs.webkit.org/show_bug.cgi?id=57699
31028
31029        No new tests required because of just adding header file.
31030
31031        * bindings/scripts/CodeGeneratorV8.pm:
31032
310332011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
31034
31035        Reviewed by Eric Seidel.
31036
31037        [CMAKE] Clean duplicated files in WebCore_Sources
31038        https://bugs.webkit.org/show_bug.cgi?id=57741
31039
31040        No new tests, Only duplicated files were removed.
31041
31042        * CMakeLists.txt:
31043
310442011-04-03  Luke Macpherson   <macpherson@chromium.org>
31045
31046        Reviewed by Darin Adler.
31047
31048        Fix 2-space indentation introduced in bug 54706.
31049        https://bugs.webkit.org/show_bug.cgi?id=57740
31050
31051        No new tests - whitespace changes only.
31052
31053        * css/CSSStyleSelector.cpp:
31054        (WebCore::CSSStyleSelector::applyProperty):
31055        Convert 2-space indentation to 4-space indentation.
31056
310572011-04-03  Luke Macpherson   <macpherson@chromium.org>
31058
31059        Reviewed by Dimitri Glazkov.
31060
31061        Make CSSStyleApplyProperty non-copyable
31062        https://bugs.webkit.org/show_bug.cgi?id=57738
31063
31064        No new functionality added so no new tests required.
31065
31066        * css/CSSStyleApplyProperty.h:
31067        Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
31068
310692011-04-03  Dan Bernstein  <mitz@apple.com>
31070
31071        Reviewed by Maciej Stachowiak.
31072
31073        fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
31074        https://bugs.webkit.org/show_bug.cgi?id=57733
31075
31076        The crash happens because resetting the page scale as part of preparing the WebView for the
31077        next test triggered layout, which in turn caused a plug-in to make a resource request, and
31078        DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
31079        tests, and it references the layout test controller, which is null.
31080
31081        * page/Frame.cpp:
31082        (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
31083        is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
31084        DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
31085        I think there are currently no such tests, so I am not fixing DumpRenderTree.
31086
310872011-04-03  Eric Seidel  <eric@webkit.org>
31088
31089        Reviewed by Ryosuke Niwa.
31090
31091        Teach InlineIterator how to work from any root, not just a RenderBlock
31092        https://bugs.webkit.org/show_bug.cgi?id=57726
31093
31094        For implementing bidi-unicode: isolate, we need to be able to run the
31095        bidi algorithm over a subtree of inlines, not just from a block root.
31096        This is the first step in making this possible.
31097
31098        * rendering/InlineIterator.h:
31099        (WebCore::InlineIterator::InlineIterator):
31100        (WebCore::InlineIterator::root):
31101        (WebCore::bidiNext):
31102        (WebCore::bidiFirst):
31103        (WebCore::InlineIterator::increment):
31104        (WebCore::InlineBidiResolver::appendRun):
31105        * rendering/RenderBlockLineLayout.cpp:
31106        (WebCore::RenderBlock::findNextLineBreak):
31107
311082011-04-03  Eric Seidel  <eric@webkit.org>
31109
31110        Reviewed by Dan Bernstein.
31111
31112        Split out handling of trailing spaces from layoutInlineChildren
31113        https://bugs.webkit.org/show_bug.cgi?id=57432
31114
31115        There is much more we could split out from this function, but this is a start.
31116
31117        I suspect this is very hot code.  Hopefully the compiler will do the right thing.
31118        If it doesn't the Chromium PLT bots will tell us.
31119
31120        * rendering/RenderBlock.h:
31121        * rendering/RenderBlockLineLayout.cpp:
31122        (WebCore::RenderBlock::handleTrailingSpaces):
31123        (WebCore::RenderBlock::layoutInlineChildren):
31124
311252011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
31126
31127        Reviewed by Eric Seidel.
31128
31129        editing commands shouldn't run when there's no body
31130        https://bugs.webkit.org/show_bug.cgi?id=56771
31131
31132        The bug was caused by WebKit's not checking the existence of root editable element
31133        in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
31134        we should not run editing commands in a document without a body element editable because
31135        doing so results in appending a non-body element to the document node.
31136
31137        Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
31138        New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
31139        when there are no body element. Since StyleWithCSS is a document's state or property, we allow
31140        execCommand('StyleWithCSS') even in a document without a body element.
31141
31142        WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
31143        Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
31144        the selection when document.write("x") is ran and successfully inserts image.
31145
31146        Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
31147        while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
31148
31149        Since Internet Explorer does not allow execCommand to run under design mode properly, we could
31150        not test its behavior.
31151
31152        Tests: editing/editability/empty-document-delete.html
31153               editing/editability/empty-document-justify-right.html
31154               editing/editability/empty-document-stylewithcss.html
31155               editing/execCommand/insert-image-with-selecting-document.html
31156
31157        * editing/Editor.cpp:
31158        (WebCore::Editor::canEdit): Verify that the root editable element exists
31159        instead of just checking that selection endpoints are editable because
31160        selection endpoints could be document node without a body element in design mode
31161        and we don't want to consider such a document editable.
31162        (WebCore::Editor::canDelete): Ditto.
31163        * editing/EditorCommand.cpp:
31164        (WebCore::enabledInEditableText): Ditto.
31165        (WebCore::enabledInRichlyEditableText): Ditto.
31166        (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
31167        of duplicating the code in order to fix the same bug.
31168
311692011-04-02  Dan Bernstein  <mitz@apple.com>
31170
31171        Reviewed by Maciej Stachowiak.
31172
31173        REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
31174        https://bugs.webkit.org/show_bug.cgi?id=57719
31175
31176        r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
31177        that the timeline container is the parent of the time display. This is not true
31178        with the GTK media style, where the current time display is an inline box, and
31179        thus wrapped in an anonymous flexible box. The code was incorrectly considering
31180        the width of the anonymous box and deciding to hide the time display. Prior to
31181        r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
31182
31183        * rendering/MediaControlElements.cpp:
31184        (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
31185
311862011-04-02  Nico Weber  <thakis@chromium.org>
31187
31188        Reviewed by Adam Barth.
31189
31190        Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
31191
31192        By default, ICU includes |using namespace icu;| in its header files
31193        for backwards compatibility. Clients can define
31194        U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
31195        classes with |icu::| makes this file compile no matter what
31196        U_USING_ICU_NAMESPACE is set to.
31197
31198        https://bugs.webkit.org/show_bug.cgi?id=57715
31199
31200        * platform/text/LocalizedNumberICU.cpp:
31201        (WebCore::createFormatterForCurrentLocale):
31202        (WebCore::numberFormatter):
31203        (WebCore::parseLocalizedNumber):
31204        (WebCore::formatLocalizedNumber):
31205
312062011-04-02  Dan Bernstein  <mitz@apple.com>
31207
31208        Reviewed by Dave Hyatt.
31209
31210        Remove an unnecessary extra computeLogicalWidth() from line layout
31211        https://bugs.webkit.org/show_bug.cgi?id=57711
31212
31213        Changes in behavior (MathML progression) covered by existing layout tests.
31214
31215        * rendering/RenderBlockLineLayout.cpp:
31216        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
31217        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
31218        actually prevents MathML rows from reverting to an incorrect width.
31219
312202011-04-02  Dan Bernstein  <mitz@apple.com>
31221
31222        Reviewed by Beth Dakin.
31223
31224        <details> marker loses its margin
31225        https://bugs.webkit.org/show_bug.cgi?id=57713
31226
31227        * rendering/RenderDetails.cpp:
31228        (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
31229        the marker location.
31230        * rendering/RenderDetails.h:
31231        (WebCore::RenderDetails::renderName): Made private.
31232        (WebCore::RenderDetails::isDetails): Ditto.
31233        * rendering/RenderDetailsMarker.cpp:
31234        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
31235        in the style, like RenderListMarker does.
31236        (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
31237
312382011-04-02  Andy Estes  <aestes@apple.com>
31239
31240        Reviewed by Oliver Hunt.
31241
31242        REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
31243        https://bugs.webkit.org/show_bug.cgi?id=52518
31244
31245        Test: fast/images/imagemap-focus-ring-zero-outline-width.html
31246
31247        * rendering/RenderImage.cpp:
31248        (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
31249
312502011-04-02  Beth Dakin  <bdakin@apple.com>
31251
31252        Reviewed by Sam Weinig.
31253
31254        https://bugs.webkit.org/show_bug.cgi?id=57605
31255        Frame::pageScaleFactor() should not affect getBoundingClientRect() or
31256        getClientRects()
31257        -and corresponding-
31258        <rdar://problem/9194541>
31259
31260        New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
31261        * dom/Element.cpp:
31262        (WebCore::Element::getClientRects):
31263        (WebCore::Element::getBoundingClientRect):
31264        * dom/Range.cpp:
31265        (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
31266        (WebCore::Range::getBorderAndTextQuads):
31267        * rendering/RenderObject.h:
31268        (WebCore::adjustFloatPointForPageScale):
31269        (WebCore::adjustFloatQuadForPageScale):
31270        (WebCore::adjustFloatRectForPageScale):
31271
312722011-04-02  Dan Bernstein  <mitz@apple.com>
31273
31274        Reverted r82775 due to changes in <details> test results, which are
31275        likely progressions.
31276
31277        * rendering/RenderBlockLineLayout.cpp:
31278        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
31279
312802011-04-02  Dan Bernstein  <mitz@apple.com>
31281
31282        Reviewed by Dave Hyatt.
31283
31284        Remove an unnecessary extra computeLogicalWidth() from line layout
31285        https://bugs.webkit.org/show_bug.cgi?id=57711
31286
31287        Changes in behavior (MathML progression) covered by existing layout tests.
31288
31289        * rendering/RenderBlockLineLayout.cpp:
31290        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
31291        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
31292        actually prevents MathML rows from reverting to an incorrect width.
31293
312942011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
31295
31296        Reviewed by Martin Robinson.
31297
31298        [GTK] Fix leaked pointer in FontGtk.cpp
31299        https://bugs.webkit.org/show_bug.cgi?id=57307
31300
31301        Fix a memory leak.
31302
31303        No new functionality, so no new tests.
31304
31305        * platform/graphics/gtk/FontGtk.cpp:
31306        (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
31307        (WebCore::convertUniCharToUTF8):
31308
313092011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
31310
31311        Reviewed by Pavel Feldman.
31312
31313        Web Inspector: we should be able to have in and out arguments of a command with same name.
31314        https://bugs.webkit.org/show_bug.cgi?id=57701
31315
31316        * inspector/CodeGeneratorInspector.pm:
31317        * inspector/Inspector.json:
31318
313192011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
31320
31321        Not reviewed trivial change.
31322
31323        Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
31324        Followup change for r82281.
31325        https://bugs.webkit.org/show_bug.cgi?id=57327
31326
31327        * inspector/InspectorPageAgent.cpp:
31328        * inspector/InspectorPageAgent.h:
31329
313302011-04-01  Michael Saboff  <msaboff@apple.com>
31331
31332        Reviewed by Darin Adler.
31333
31334        Cached Resource Overhead Space Usage and Accounting Inaccurate
31335        https://bugs.webkit.org/show_bug.cgi?id=57488
31336
31337        Fixed windows test failures.
31338        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
31339        Modified ResourceResponse::platformLazyInit() to handle "base" level
31340        attributes or all attributes.  The base attributes, like URL, status
31341        code, mime type and a few header fields (mostly cache related) are
31342        suitable for most resources.  This reduces the per resource memory
31343        needs by over 1K bytes per resource thus saving memory in the cache.
31344        Collectively, these two changes bring the overhead memory calculation
31345        in line with reality.
31346
31347        No new tests added due to existing tests cover areas of change and
31348        there is no functional change.  The change is limited to reducing
31349        memory usage along existing paths.
31350
31351        * loader/cache/CachedResource.cpp:
31352        (WebCore::CachedResource::canUseCacheValidator):
31353        * platform/network/ResourceResponseBase.cpp:
31354        (WebCore::ResourceResponseBase::adopt):
31355        (WebCore::ResourceResponseBase::isHTTP):
31356        (WebCore::ResourceResponseBase::url):
31357        (WebCore::ResourceResponseBase::setURL):
31358        (WebCore::ResourceResponseBase::mimeType):
31359        (WebCore::ResourceResponseBase::setMimeType):
31360        (WebCore::ResourceResponseBase::expectedContentLength):
31361        (WebCore::ResourceResponseBase::setExpectedContentLength):
31362        (WebCore::ResourceResponseBase::textEncodingName):
31363        (WebCore::ResourceResponseBase::setTextEncodingName):
31364        (WebCore::ResourceResponseBase::suggestedFilename):
31365        (WebCore::ResourceResponseBase::setSuggestedFilename):
31366        (WebCore::ResourceResponseBase::httpStatusCode):
31367        (WebCore::ResourceResponseBase::setHTTPStatusCode):
31368        (WebCore::ResourceResponseBase::httpStatusText):
31369        (WebCore::ResourceResponseBase::setHTTPStatusText):
31370        (WebCore::ResourceResponseBase::httpHeaderField):
31371        (WebCore::ResourceResponseBase::setHTTPHeaderField):
31372        (WebCore::ResourceResponseBase::httpHeaderFields):
31373        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
31374        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
31375        (WebCore::ResourceResponseBase::date):
31376        (WebCore::ResourceResponseBase::age):
31377        (WebCore::ResourceResponseBase::expires):
31378        (WebCore::ResourceResponseBase::lastModified):
31379        (WebCore::ResourceResponseBase::isAttachment):
31380        (WebCore::ResourceResponseBase::setLastModifiedDate):
31381        (WebCore::ResourceResponseBase::lastModifiedDate):
31382        (WebCore::ResourceResponseBase::wasCached):
31383        (WebCore::ResourceResponseBase::connectionReused):
31384        (WebCore::ResourceResponseBase::setConnectionReused):
31385        (WebCore::ResourceResponseBase::connectionID):
31386        (WebCore::ResourceResponseBase::setConnectionID):
31387        (WebCore::ResourceResponseBase::resourceLoadTiming):
31388        (WebCore::ResourceResponseBase::setResourceLoadTiming):
31389        (WebCore::ResourceResponseBase::resourceLoadInfo):
31390        (WebCore::ResourceResponseBase::setResourceLoadInfo):
31391        (WebCore::ResourceResponseBase::lazyInit):
31392        * platform/network/ResourceResponseBase.h:
31393        (WebCore::ResourceResponseBase::platformLazyInit):
31394        * platform/network/cf/ResourceResponse.h:
31395        (WebCore::ResourceResponse::ResourceResponse):
31396        (WebCore::ResourceResponse::memoryUsage):
31397        * platform/network/cf/ResourceResponseCFNet.cpp:
31398        (WebCore::ResourceResponse::platformLazyInit):
31399        * platform/network/mac/ResourceResponseMac.mm:
31400        (WebCore::ResourceResponse::platformLazyInit):
31401
314022011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
31403
31404        Reviewed by Adam Barth.
31405
31406        https://bugs.webkit.org/show_bug.cgi?id=45855
31407        Windowless plugins added dynamically to the DOM should receive paint events.
31408        This is done by ensuring that the plugin widget is marked for painting when
31409        it is added.
31410
31411        Test: plugins/windowless_plugin_paint_test.html
31412
31413        * rendering/RenderWidget.cpp:
31414        (WebCore::RenderWidget::setWidget):
31415
314162011-04-01  Mike Reed  <reed@google.com>
31417
31418        Reviewed by James Robinson.
31419
31420        always use native font rendering on skia_gpu
31421        fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
31422        https://bugs.webkit.org/show_bug.cgi?id=57663
31423
31424        No new tests. existing rendering tests will exercise this
31425
31426        * platform/graphics/skia/PlatformContextSkia.cpp:
31427        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
31428
314292011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31430
31431        Unreviewed, rolling out r82712, r82729, and r82746.
31432        http://trac.webkit.org/changeset/82712
31433        http://trac.webkit.org/changeset/82729
31434        http://trac.webkit.org/changeset/82746
31435        https://bugs.webkit.org/show_bug.cgi?id=57682
31436
31437        fast/frames/frame-programmatic-noresize.html is failing on
31438        Windows bots. Will look into this offline. (Requested by dydx
31439        on #webkit).
31440
31441        * html/HTMLFrameElement.cpp:
31442        (WebCore::HTMLFrameElement::HTMLFrameElement):
31443        (WebCore::HTMLFrameElement::attach):
31444        (WebCore::HTMLFrameElement::parseMappedAttribute):
31445        * html/HTMLFrameElement.h:
31446        (WebCore::HTMLFrameElement::noResize):
31447        * rendering/RenderFrame.cpp:
31448        * rendering/RenderFrame.h:
31449        * rendering/RenderFrameSet.cpp:
31450        * rendering/RenderFrameSet.h:
31451
314522011-04-01  Adam Barth  <abarth@webkit.org>
31453
31454        Reviewed by Tony Chang.
31455
31456        Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
31457        https://bugs.webkit.org/show_bug.cgi?id=57656
31458
31459        We should initialize memory when constructing objects.
31460
31461        * platform/text/StringWithDirection.h:
31462        (WebCore::StringWithDirection::StringWithDirection):
31463
314642011-04-01  Jer Noble  <jer.noble@apple.com>
31465
31466        Reviewed by Darin Adler.
31467
31468        WebKit2: Link from PDF opens in a new tab instead of in the same tab
31469        https://bugs.webkit.org/show_bug.cgi?id=57528
31470
31471        * WebCore.exp.in: Export MouseEvent::create().
31472
314732011-04-01  John Bauman  <jbauman@chromium.org>
31474
31475        Reviewed by Kenneth Russell.
31476
31477        Avoid decoding images twice in texImage2D
31478        https://bugs.webkit.org/show_bug.cgi?id=51498
31479
31480        Make sure to redecode the image only if it's not opaque and texImage2D
31481        wouldn't premultiply it anyway.
31482
31483        * platform/graphics/BitmapImage.h:
31484        * platform/graphics/cg/GraphicsContext3DCG.cpp:
31485        (WebCore::GraphicsContext3D::getImageData):
31486        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
31487        (WebCore::GraphicsContext3D::getImageData):
31488
314892011-04-01  Alexey Proskuryakov  <ap@apple.com>
31490
31491        32-bit Mac build fix.
31492
31493        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
31494        to avoid ambiguity.
31495
314962011-04-01  Alexey Proskuryakov  <ap@apple.com>
31497
31498        Reviewed by Darin Adler.
31499
31500        Make WebKit2 text input handling more like WebKit1
31501        https://bugs.webkit.org/show_bug.cgi?id=57649
31502
31503        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
31504        we used to have. It is dangerous to confuse editor commands and selector names - besides the
31505        presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
31506
315072011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31508
31509        Unreviewed, rolling out r82711.
31510        http://trac.webkit.org/changeset/82711
31511        https://bugs.webkit.org/show_bug.cgi?id=57657
31512
31513        Made every test crash on XP and Win7 (Requested by
31514        abarth|gardening on #webkit).
31515
31516        * loader/cache/CachedResource.cpp:
31517        (WebCore::CachedResource::canUseCacheValidator):
31518        * platform/network/ResourceResponseBase.cpp:
31519        (WebCore::ResourceResponseBase::adopt):
31520        (WebCore::ResourceResponseBase::isHTTP):
31521        (WebCore::ResourceResponseBase::url):
31522        (WebCore::ResourceResponseBase::setURL):
31523        (WebCore::ResourceResponseBase::mimeType):
31524        (WebCore::ResourceResponseBase::setMimeType):
31525        (WebCore::ResourceResponseBase::expectedContentLength):
31526        (WebCore::ResourceResponseBase::setExpectedContentLength):
31527        (WebCore::ResourceResponseBase::textEncodingName):
31528        (WebCore::ResourceResponseBase::setTextEncodingName):
31529        (WebCore::ResourceResponseBase::suggestedFilename):
31530        (WebCore::ResourceResponseBase::setSuggestedFilename):
31531        (WebCore::ResourceResponseBase::httpStatusCode):
31532        (WebCore::ResourceResponseBase::setHTTPStatusCode):
31533        (WebCore::ResourceResponseBase::httpStatusText):
31534        (WebCore::ResourceResponseBase::setHTTPStatusText):
31535        (WebCore::ResourceResponseBase::httpHeaderField):
31536        (WebCore::ResourceResponseBase::setHTTPHeaderField):
31537        (WebCore::ResourceResponseBase::httpHeaderFields):
31538        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
31539        (WebCore::ResourceResponseBase::date):
31540        (WebCore::ResourceResponseBase::age):
31541        (WebCore::ResourceResponseBase::expires):
31542        (WebCore::ResourceResponseBase::lastModified):
31543        (WebCore::ResourceResponseBase::isAttachment):
31544        (WebCore::ResourceResponseBase::setLastModifiedDate):
31545        (WebCore::ResourceResponseBase::lastModifiedDate):
31546        (WebCore::ResourceResponseBase::wasCached):
31547        (WebCore::ResourceResponseBase::connectionReused):
31548        (WebCore::ResourceResponseBase::setConnectionReused):
31549        (WebCore::ResourceResponseBase::connectionID):
31550        (WebCore::ResourceResponseBase::setConnectionID):
31551        (WebCore::ResourceResponseBase::resourceLoadTiming):
31552        (WebCore::ResourceResponseBase::setResourceLoadTiming):
31553        (WebCore::ResourceResponseBase::resourceLoadInfo):
31554        (WebCore::ResourceResponseBase::setResourceLoadInfo):
31555        (WebCore::ResourceResponseBase::lazyInit):
31556        * platform/network/ResourceResponseBase.h:
31557        (WebCore::ResourceResponseBase::platformLazyInit):
31558        * platform/network/cf/ResourceResponse.h:
31559        (WebCore::ResourceResponse::ResourceResponse):
31560        (WebCore::ResourceResponse::memoryUsage):
31561        * platform/network/cf/ResourceResponseCFNet.cpp:
31562        (WebCore::ResourceResponse::platformLazyInit):
31563        * platform/network/mac/ResourceResponseMac.mm:
31564        (WebCore::ResourceResponse::platformLazyInit):
31565
315662011-04-01  Matthew Delaney  <mdelaney@apple.com>
31567
31568        Reviewed by Simon Fraser.
31569
31570        Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
31571        https://bugs.webkit.org/show_bug.cgi?id=57651
31572
31573        No new tests. This patch does not affect outward behavior.
31574
31575        * html/canvas/CanvasRenderingContext2D.cpp:
31576        (WebCore::CanvasRenderingContext2D::isAccelerated):
31577        * platform/graphics/ImageBuffer.h:
31578        (WebCore::ImageBuffer::isAccelerated):
31579
315802011-04-01  Daniel Bates  <dbates@rim.com>
31581
31582        Reviewed by Darin Adler.
31583
31584        Frame's noResize attribute can not be set by JavaScript
31585        https://bugs.webkit.org/show_bug.cgi?id=14845
31586
31587        Tests: fast/frames/frame-inherit-noresize-from-frameset.html
31588               fast/frames/frame-programmatic-noresize.html
31589               fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
31590               fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
31591
31592        Implements support to programmatically allow and disallow frame resizing.
31593
31594        Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
31595        m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
31596        point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
31597        frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
31598        attribute.
31599
31600        * html/HTMLFrameElement.cpp:
31601        (WebCore::HTMLFrameElement::HTMLFrameElement):
31602        (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
31603        code path isn't performance critical.
31604        (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
31605        parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
31606        (WebCore::HTMLFrameElement::parseMappedAttribute):
31607        * html/HTMLFrameElement.h:
31608        * rendering/RenderFrame.cpp:
31609        (WebCore::RenderFrame::updateFromElement): Added.
31610        * rendering/RenderFrame.h:
31611        * rendering/RenderFrameSet.cpp:
31612        (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
31613        * rendering/RenderFrameSet.h:
31614
316152011-04-01  Michael Saboff  <msaboff@apple.com>
31616
31617        Reviewed by Darin Adler.
31618
31619        Cached Resource Overhead Space Usage and Accounting Inaccurate
31620        https://bugs.webkit.org/show_bug.cgi?id=57488
31621
31622        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
31623        Modified ResourceResponse::platformLazyInit() to handle "base" level
31624        attributes or all attributes.  The base attributes, like URL, status
31625        code, mime type and a few header fields (mostly cache related) are
31626        suitable for most resources.  This reduces the per resource memory
31627        needs by over 1K bytes per resource thus saving memory in the cache.
31628        Collectively, these two changes bring the overhead memory calculation
31629        in line with reality.
31630
31631        No new tests added due to existing tests cover areas of change and
31632        there is no functional change.  The change is limited to reducing
31633        memory usage along existing paths.
31634
31635        * loader/cache/CachedResource.cpp:
31636        (WebCore::CachedResource::canUseCacheValidator):
31637        * platform/network/ResourceResponseBase.cpp:
31638        (WebCore::ResourceResponseBase::isHTTP):
31639        (WebCore::ResourceResponseBase::url):
31640        (WebCore::ResourceResponseBase::setURL):
31641        (WebCore::ResourceResponseBase::mimeType):
31642        (WebCore::ResourceResponseBase::setMimeType):
31643        (WebCore::ResourceResponseBase::expectedContentLength):
31644        (WebCore::ResourceResponseBase::setExpectedContentLength):
31645        (WebCore::ResourceResponseBase::textEncodingName):
31646        (WebCore::ResourceResponseBase::setTextEncodingName):
31647        (WebCore::ResourceResponseBase::suggestedFilename):
31648        (WebCore::ResourceResponseBase::setSuggestedFilename):
31649        (WebCore::ResourceResponseBase::httpStatusCode):
31650        (WebCore::ResourceResponseBase::setHTTPStatusCode):
31651        (WebCore::ResourceResponseBase::httpHeaderField):
31652        (WebCore::ResourceResponseBase::setHTTPHeaderField):
31653        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
31654        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
31655        (WebCore::ResourceResponseBase::date):
31656        (WebCore::ResourceResponseBase::age):
31657        (WebCore::ResourceResponseBase::expires):
31658        (WebCore::ResourceResponseBase::lastModified):
31659        (WebCore::ResourceResponseBase::lazyInit):
31660        * platform/network/ResourceResponseBase.h:
31661        (WebCore::ResourceResponseBase::platformLazyInit):
31662        * platform/network/cf/ResourceResponse.h:
31663        (WebCore::ResourceResponse::ResourceResponse):
31664        (WebCore::ResourceResponse::memoryUsage):
31665        * platform/network/cf/ResourceResponseCFNet.cpp:
31666        * platform/network/mac/ResourceResponseMac.mm:
31667        (WebCore::ResourceResponse::platformLazyInit):
31668
316692011-04-01  Timothy Hatcher  <timothy@apple.com>
31670
31671        Make momentum scroll event latching work in WebKit2 on Mac.
31672
31673        <rdar://problem/8751861>
31674
31675        Reviewed by Darin Adler.
31676
31677        * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
31678        * page/EventHandler.cpp:
31679        (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
31680        event's momentumPhase.
31681        * page/mac/EventHandlerMac.mm:
31682        (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
31683        It is now done in EventHandler::handleWheelEvent.
31684        * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
31685        * platform/mac/WebCoreSystemInterface.mm: Ditto.
31686        * platform/mac/WheelEventMac.mm:
31687        (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
31688
316892011-04-01  Steve Block  <steveblock@google.com>
31690
31691        Reviewed by Jeremy Orlow.
31692
31693        JavaClass should be an interface and free of JNI types
31694        https://bugs.webkit.org/show_bug.cgi?id=57533
31695
31696        This patch fixes JavaClass for V8 only.
31697
31698        It factors out a JavaClass interface which does not use JNI types.
31699        This will allow the Java bridge to be used with objects that
31700        don't use JNI directly. The existing jobject-backed
31701        implementation is moved to a new JavaClassJobject class which
31702        implements the interface.
31703
31704        No new tests, refactoring only.
31705
31706        * Android.v8bindings.mk:
31707        * WebCore.gypi:
31708        * bridge/jni/v8/JavaClassJobjectV8.cpp:
31709        (JavaClassJobject::JavaClassJobject):
31710        (JavaClassJobject::~JavaClassJobject):
31711        (JavaClassJobject::methodsNamed):
31712        (JavaClassJobject::fieldNamed):
31713        * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
31714        * bridge/jni/v8/JavaClassV8.h:
31715        (JSC::Bindings::JavaClass::~JavaClass):
31716        * bridge/jni/v8/JavaInstanceV8.cpp:
31717        (JavaInstance::getClass):
31718
317192011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
31720
31721        Unreviewed build fix.
31722
31723        Fix build break when font backend is Pango.
31724        Pango is missed in changeset 80589.
31725
31726        https://bugs.webkit.org/show_bug.cgi?id=57609
31727
31728        * platform/graphics/pango/FontPlatformData.h:
31729        (WebCore::FontPlatformData::setOrientation):
31730
317312011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31732
31733        Unreviewed, rolling out r82687.
31734        http://trac.webkit.org/changeset/82687
31735        https://bugs.webkit.org/show_bug.cgi?id=57643
31736
31737        This patch broke accessibility aria-treegrid test in Mac
31738        (Requested by msanchez on #webkit).
31739
31740        * accessibility/AccessibilityARIAGrid.cpp:
31741        * accessibility/AccessibilityARIAGrid.h:
31742        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31743        (atkRole):
31744        * accessibility/mac/AccessibilityObjectWrapper.mm:
31745
317462011-03-31  Abhishek Arya  <inferno@chromium.org>
31747
31748        Reviewed by Andreas Kling.
31749
31750        Whenever a relayout is trigger for SVGPath, make sure
31751        to clear its previous marker layout info. This helps
31752        to prevent removed markers from being used.
31753        https://bugs.webkit.org/show_bug.cgi?id=57492
31754
31755        Test: svg/dom/path-marker-removed-crash.svg
31756
31757        * rendering/svg/RenderSVGPath.cpp:
31758        (WebCore::RenderSVGPath::layout):
31759        * rendering/svg/SVGMarkerLayoutInfo.cpp:
31760        (WebCore::SVGMarkerLayoutInfo::clear):
31761        * rendering/svg/SVGMarkerLayoutInfo.h:
31762
317632011-04-01  Rob Buis  <rwlbuis@gmail.com>
31764
31765        Reviewed by Nikolas Zimmermann.
31766
31767        https://bugs.webkit.org/show_bug.cgi?id=55750
31768        SVG <image> referenced by <use> is displayed incorrectly
31769
31770        Reintroduce old behaviour for valid base URI, for invalid
31771        keep using document base URI.
31772        Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
31773
31774        Test: svg/custom/image-base-uri.svg
31775
31776        * svg/SVGImageLoader.cpp:
31777        (WebCore::SVGImageLoader::sourceURI):
31778
317792011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
31780
31781        Reviewed by Chris Fleizach.
31782
31783        ARIA Grid tables should return GridRole in roleValue() method
31784        https://bugs.webkit.org/show_bug.cgi?id=57614
31785
31786        This change does not need any test since it doesn't change anything
31787        from the point of view of the consumers (Assistive Technoglogies).
31788        It's just an internal change to simplify identifying HTML and ARIA
31789        tables by calling to the AccessibilityObject::roleValue method.
31790
31791        * accessibility/AccessibilityARIAGrid.h:
31792        * accessibility/AccessibilityARIAGrid.cpp:
31793        (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
31794
31795        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31796        (atkRole): Removed unneeded comment.
31797
31798        * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
31799        NSAccessibilityTableRole, to keep the same behaviour.
31800
318012011-04-01  MORITA Hajime  <morrita@google.com>
31802
31803        Reviewed by Dimitri Glazkov.
31804
31805        <meter> can only support horizontal indicator
31806        https://bugs.webkit.org/show_bug.cgi?id=56001
31807
31808        - Removed code which deals with the direction and
31809          left the horizontal path.
31810        - Removed "horizontal" from related names which is now
31811          redundant.
31812
31813        * css/CSSSelector.cpp:
31814        (WebCore::CSSSelector::pseudoId):
31815        (WebCore::nameToPseudoTypeMap):
31816        (WebCore::CSSSelector::extractPseudoType):
31817        * css/CSSSelector.h:
31818        * css/html.css:
31819        (meter::-webkit-meter-bar):
31820        (meter::-webkit-meter-optimum-value):
31821        (meter::-webkit-meter-suboptimal-value):
31822        (meter::-webkit-meter-even-less-good-value):
31823        * rendering/RenderMeter.cpp:
31824        (WebCore::RenderMeter::~RenderMeter):
31825        (WebCore::RenderMeter::createPart):
31826        (WebCore::RenderMeter::updateFromElement):
31827        (WebCore::RenderMeter::layoutParts):
31828        (WebCore::RenderMeter::styleDidChange):
31829        (WebCore::RenderMeter::shouldHaveParts):
31830        (WebCore::RenderMeter::valuePartRect):
31831        (WebCore::RenderMeter::valuePseudoId):
31832        (WebCore::RenderMeter::barPseudoId):
31833        (WebCore::RenderMeter::detachShadows):
31834        (WebCore::RenderMeter::updateShadows):
31835        * rendering/RenderMeter.h:
31836        (WebCore::RenderMeter::shadowAttached):
31837        * rendering/RenderTheme.cpp:
31838        (WebCore::RenderTheme::supportsMeter):
31839        * rendering/RenderTheme.h:
31840        * rendering/RenderThemeMac.h:
31841        * rendering/RenderThemeMac.mm:
31842        (WebCore::RenderThemeMac::paintMeter):
31843        (WebCore::RenderThemeMac::supportsMeter):
31844        * rendering/style/RenderStyleConstants.h:
31845
318462011-03-23  Pavel Podivilov  <podivilov@chromium.org>
31847
31848        Reviewed by Pavel Feldman.
31849
31850        Web Inspector: fix reveal line in formatted script.
31851        https://bugs.webkit.org/show_bug.cgi?id=56941
31852
31853        * inspector/front-end/BreakpointsSidebarPane.js:
31854        (WebInspector.JavaScriptBreakpointsSidebarPane):
31855        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
31856        * inspector/front-end/DebuggerPresentationModel.js:
31857        (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
31858        * inspector/front-end/NetworkPanel.js:
31859        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
31860        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
31861        * inspector/front-end/Panel.js:
31862        (WebInspector.Panel.prototype.canShowAnchorLocation):
31863        (WebInspector.Panel.prototype.showAnchorLocation):
31864        * inspector/front-end/ResourcesPanel.js:
31865        (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
31866        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
31867        (WebInspector.ResourcesPanel.prototype.showResource):
31868        * inspector/front-end/ScriptsPanel.js:
31869        (WebInspector.ScriptsPanel):
31870        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
31871        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
31872        (WebInspector.ScriptsPanel.prototype._showSourceLine):
31873        * inspector/front-end/SourceFrame.js:
31874        (WebInspector.SourceFrame.prototype.highlightLine):
31875        (WebInspector.SourceFrame.prototype._createTextViewer):
31876        * inspector/front-end/inspector.js:
31877        (WebInspector.documentClick.followLink):
31878        (WebInspector.documentClick):
31879        (WebInspector._showAnchorLocation):
31880
318812011-04-01  Pavel Podivilov  <podivilov@chromium.org>
31882
31883        Reviewed by Yury Semikhatsky.
31884
31885        Web Inspector: make editScriptSource a Script's method.
31886        https://bugs.webkit.org/show_bug.cgi?id=57615
31887
31888        * inspector/front-end/DebuggerModel.js:
31889        (WebInspector.DebuggerModel.prototype.editScriptSource):
31890        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
31891        * inspector/front-end/Script.js:
31892        (WebInspector.Script.prototype.requestSource):
31893        (WebInspector.Script.prototype.editSource):
31894
318952011-04-01  Pavel Feldman  <pfeldman@google.com>
31896
31897        Reviewed by Yury Semikhatsky.
31898
31899        Web Inspector: event should have "data" attribute, not "body"
31900        https://bugs.webkit.org/show_bug.cgi?id=57628
31901
31902        * inspector/CodeGeneratorInspector.pm:
31903
319042011-04-01  Pavel Podivilov  <podivilov@chromium.org>
31905
31906        Reviewed by Yury Semikhatsky.
31907
31908        Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
31909        https://bugs.webkit.org/show_bug.cgi?id=57610
31910
31911        * inspector/front-end/BreakpointsSidebarPane.js:
31912        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
31913
319142011-04-01  Alexander Pavlov  <apavlov@chromium.org>
31915
31916        Reviewed by Yury Semikhatsky.
31917
31918        Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
31919        https://bugs.webkit.org/show_bug.cgi?id=40522
31920
31921        Drive-by: fix inc/dec for numbers like ".5"
31922
31923        Test: inspector/styles/up-down-numerics-and-colors.html
31924
31925        * inspector/front-end/StylesSidebarPane.js:
31926        (WebInspector.StylePropertyTreeElement.prototype):
31927
319282011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31929
31930        Reviewed by Pavel Feldman.
31931
31932        Web Inspector: remove dead code from Script.js.
31933        https://bugs.webkit.org/show_bug.cgi?id=57454
31934
31935        * inspector/front-end/DebuggerModel.js:
31936        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
31937        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
31938        * inspector/front-end/Script.js:
31939        (WebInspector.Script):
31940        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
31941        (WebInspector.Script.prototype.requestSource):
31942
319432011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31944
31945        Unreviewed, rolling out r82667.
31946        http://trac.webkit.org/changeset/82667
31947        https://bugs.webkit.org/show_bug.cgi?id=57612
31948
31949        Breaks Leopard layout tests (Requested by podivilov on
31950        #webkit).
31951
31952        * GNUmakefile.am:
31953        * inspector/front-end/DebuggerPresentationModel.js:
31954        (WebInspector.DebuggerPresentationModel):
31955        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
31956
319572011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31958
31959        Reviewed by Pavel Feldman.
31960
31961        Web Inspector: remove unused SourceFrameContent class.
31962        https://bugs.webkit.org/show_bug.cgi?id=57453
31963
31964        * WebCore.gypi:
31965        * WebCore.vcproj/WebCore.vcproj:
31966        * inspector/front-end/ResourceView.js:
31967        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
31968        * inspector/front-end/ScriptsPanel.js:
31969        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
31970        * inspector/front-end/SourceFrame.js:
31971        (WebInspector.SourceFrame.prototype._createTextViewer):
31972        * inspector/front-end/SourceFrameContent.js: Removed.
31973        * inspector/front-end/WebKit.qrc:
31974        * inspector/front-end/inspector.html:
31975
319762011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31977
31978        Reviewed by Pavel Feldman.
31979
31980        Web Inspector: add test for script formatter worker.
31981        https://bugs.webkit.org/show_bug.cgi?id=57447
31982
31983        Test: inspector/debugger/script-formatter.html
31984
31985        * GNUmakefile.am:
31986        * inspector/front-end/DebuggerPresentationModel.js:
31987        (WebInspector.DebuggerPresentationModel):
31988        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
31989
319902011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31991
31992        Reviewed by Pavel Feldman.
31993
31994        Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
31995        https://bugs.webkit.org/show_bug.cgi?id=57446
31996
31997        * inspector/front-end/ScriptFormatterWorker.js:
31998
319992011-04-01  Pavel Podivilov  <podivilov@chromium.org>
32000
32001        Reviewed by Pavel Feldman.
32002
32003        Web Inspector: allow file access from inspector page so inspector can use workers.
32004        https://bugs.webkit.org/show_bug.cgi?id=57339
32005
32006        * inspector/InspectorFrontendClientLocal.cpp:
32007        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
32008
320092011-03-31  Yury Semikhatsky  <yurys@chromium.org>
32010
32011        Reviewed by Pavel Feldman.
32012
32013        Web Inspector: inspected page crashes on attempt to log object with broken .toString
32014        https://bugs.webkit.org/show_bug.cgi?id=57557
32015
32016        If ScriptValue.toString causes a JavaScript exception, the exception is cleared
32017        before returning from the toString method.
32018
32019        Test: inspector/console/console-log-toString-object.html
32020
32021        * bindings/js/ScriptValue.cpp:
32022        (WebCore::ScriptValue::toString):
32023        * bindings/js/ScriptValue.h:
32024        * bindings/v8/ScriptValue.cpp:
32025        (WebCore::ScriptValue::toString):
32026
320272011-03-31  Andrey Kosyakov  <caseq@chromium.org>
32028
32029        Reviewed by Pavel Feldman.
32030
32031        - removed documentWide parameter to querySelector[All]() (user document node id instead)
32032        - factor out document request logic within DOMAgent into separate method
32033        - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
32034        - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
32035        - minor style fixes in Inspector.json
32036        - more error logging
32037
32038        Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
32039        https://bugs.webkit.org/show_bug.cgi?id=57466
32040
32041        * inspector/Inspector.json:
32042        * inspector/InspectorDOMAgent.cpp:
32043        (WebCore::InspectorDOMAgent::querySelector):
32044        (WebCore::InspectorDOMAgent::querySelectorAll):
32045        * inspector/InspectorDOMAgent.h:
32046        * inspector/front-end/AuditRules.js:
32047        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
32048        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
32049        * inspector/front-end/CSSStyleModel.js:
32050        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
32051        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
32052        (WebInspector.CSSStyleModel.prototype.addRule.callback):
32053        (WebInspector.CSSStyleModel.prototype.addRule):
32054        * inspector/front-end/DOMAgent.js:
32055        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
32056        (WebInspector.DOMAgent.prototype.requestDocument):
32057        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
32058        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
32059        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
32060        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
32061        (WebInspector.DOMAgent.prototype.cancelSearch):
32062        (WebInspector.DOMAgent.prototype.querySelector):
32063        (WebInspector.DOMAgent.prototype.querySelectorAll):
32064
320652011-04-01  Kent Tamura  <tkent@chromium.org>
32066
32067        Apply sort-Xcode-project-file.
32068
32069        * WebCore.xcodeproj/project.pbxproj:
32070
320712011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32072
32073        Unreviewed, rolling out r82652.
32074        http://trac.webkit.org/changeset/82652
32075        https://bugs.webkit.org/show_bug.cgi?id=57603
32076
32077        Test still fails (Requested by abarth|gardener on #webkit).
32078
32079        * rendering/RenderWidget.cpp:
32080        (WebCore::RenderWidget::setWidget):
32081
320822011-03-31  Naoki Takano  <takano.naoki@gmail.com>
32083
32084        Reviewed by Kent Tamura.
32085
32086        REGRESSION (r64712): Safari removes the first blank line in a textarea
32087        https://bugs.webkit.org/show_bug.cgi?id=56434
32088
32089        Test: fast/forms/textarea-newline.html
32090
32091        A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
32092        But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
32093        And devalutValue() removal is not needed anymore.
32094
32095        * html/HTMLTextAreaElement.cpp:
32096        (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
32097        (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
32098
320992011-03-31  Luke Macpherson   <macpherson@chromium.org>
32100
32101        Reviewed by Dimitri Glazkov.
32102
32103        Remove refcounting of CSSStyleApplyProperty singleton
32104        https://bugs.webkit.org/show_bug.cgi?id=57592
32105
32106        No new tests required as no functionality changes.
32107
32108        * css/CSSStyleApplyProperty.h:
32109
321102011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
32111
32112        Reviewed by Adam Barth.
32113
32114        https://bugs.webkit.org/show_bug.cgi?id=45855
32115        Windowless plugins added dynamically to the DOM should receive paint events.
32116        This is done by ensuring that the plugin widget is marked for painting when
32117        it is added.
32118
32119        Test: plugins/windowless_plugin_paint_test.html
32120
32121        * rendering/RenderWidget.cpp:
32122        (WebCore::RenderWidget::setWidget):
32123
321242011-03-31  Adam Roben  <aroben@apple.com>
32125
32126        Add a new AbstractCACFLayerTreeHost base class
32127
32128        This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
32129        CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
32130        LayerTreeHostCA will also derive from it (on Windows).
32131
32132        This should cause no change in behavior.
32133
32134        Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
32135        code is too high
32136
32137        Reviewed by Anders Carlsson.
32138
32139        * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
32140
32141        * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
32142
32143        * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
32144        AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
32145        AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
32146        PlatformCALayer.
32147
32148        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
32149        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
32150        (WebCore::LayerChangesFlusher::cancelPendingFlush):
32151        (WebCore::LayerChangesFlusher::hookFired):
32152        * platform/graphics/ca/win/LayerChangesFlusher.h:
32153        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
32154        (layerTreeHostForLayer):
32155        (PlatformCALayer::rootLayer):
32156        (PlatformCALayer::setNeedsCommit):
32157        (PlatformCALayer::addAnimationForKey):
32158        (PlatformCALayer::removeAnimationForKey):
32159        Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
32160
321612011-03-31  Andy Estes  <aestes@apple.com>
32162
32163        Reviewed by Alexey Proskuryakov.
32164
32165        REGRESSION: Java applet fails to load when <object> has a classid attribute.
32166        https://bugs.webkit.org/show_bug.cgi?id=52703
32167
32168        Java applets embedded with the object element sometimes use classid to
32169        specify their main resource. When this is done, the classid is prefixed
32170        with "java:". Treat these as supported classids in WebKit.
32171
32172        Test: java/embedding-java-with-object.html
32173
32174        * html/HTMLObjectElement.cpp:
32175        (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
32176        Java Applet type and the classid starts with "java:", the classid
32177        should be considered valid.
32178
321792011-03-31  Brent Fulgham  <bfulgham@webkit.org>
32180
32181        Reviewed Adam Roben.
32182
32183        [WinCairo] Implement Missing drawWindowsBitmap method.
32184        https://bugs.webkit.org/show_bug.cgi?id=57409
32185
32186        * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
32187        * platform/graphics/GraphicsContext.h:
32188        (WebCore::GraphicsContext::WindowsBitmap::buffer):
32189        (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
32190        (WebCore::GraphicsContext::WindowsBitmap::size):
32191        (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
32192        (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
32193        (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
32194        * platform/graphics/win/GraphicsContextCGWin.cpp:
32195        (WebCore::CGContextWithHDC):
32196        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
32197        new common routines.
32198        * platform/graphics/win/GraphicsContextCairoWin.cpp:
32199        (WebCore::drawBitmapToContext): New common drawing implementation.
32200        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
32201        new common routines.
32202        (WebCore::GraphicsContext::drawWindowsBitmap):
32203        * platform/graphics/win/GraphicsContextWin.cpp:
32204        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
32205        to use new DIBPixelData data type.
32206        * platform/graphics/win/DIBPixelData.cpp: Added.
32207        (WebCore::DIBPixelData::DIBPixelData):
32208        (WebCore::DIBPixelData::initialize):
32209        * platform/graphics/win/DIBPixelData.h: Added.
32210        (WebCore::DIBPixelData::DIBPixelData):
32211        (WebCore::DIBPixelData::buffer):
32212        (WebCore::DIBPixelData::bufferLength):
32213        (WebCore::DIBPixelData::size):
32214        (WebCore::DIBPixelData::bytesPerRow):
32215        (WebCore::DIBPixelData::bitsPerPixel):
32216
322172011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32218
32219        Unreviewed, rolling out r81849.
32220        http://trac.webkit.org/changeset/81849
32221        https://bugs.webkit.org/show_bug.cgi?id=57588
32222
32223        CSS Parsing broke with -webkit-calc and introduced crashes
32224        (Requested by inferno-sec on #webkit).
32225
32226        * css/CSSGrammar.y:
32227        * css/CSSParserValues.cpp:
32228        * css/CSSParserValues.h:
32229        * css/tokenizer.flex:
32230
322312011-03-31  Adam Roben  <aroben@apple.com>
32232
32233        Don't ref CACFLayerTreeHosts when telling them to flush layer changes
32234
32235        LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
32236        have protected us if calling out to one CACFLayerTreeHost could cause a different
32237        CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
32238        associated with its own page, and flushing layer changes doesn't touch any other page. So it
32239        isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
32240        changes.
32241
32242        One benefit of this change is that it will make it easier to make LayerChangesFlusher
32243        interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
32244
32245        This should cause no change in behavior.
32246
32247        Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
32248        before calling out to it
32249
32250        Reviewed by Darin Adler.
32251
32252        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
32253        (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
32254        CACFLayerTreeHosts.
32255
322562011-03-31  Antti Koivisto  <antti@apple.com>
32257
32258        Reviewed by Oliver Hunt.
32259
32260        https://bugs.webkit.org/show_bug.cgi?id=57574
32261        Preload scanner fails to pick up resources from document.write() output
32262
32263        - Scan script inserted source using a separate preload scanner.
32264        - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
32265
32266        Tests: fast/preloader/document-write-2.html
32267               fast/preloader/document-write.html
32268
32269        * html/parser/HTMLDocumentParser.cpp:
32270        (WebCore::HTMLDocumentParser::insert):
32271        (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
32272        * html/parser/HTMLDocumentParser.h:
32273        (WebCore::HTMLDocumentParser::hasPreloadScanner):
32274        * html/parser/HTMLScriptRunner.cpp:
32275        (WebCore::HTMLScriptRunner::execute):
32276        * html/parser/HTMLScriptRunnerHost.h:
32277
322782011-03-31  Tony Gentilcore  <tonyg@chromium.org>
32279
32280        Build fix: Add missing include
32281        https://bugs.webkit.org/show_bug.cgi?id=57587
32282
32283        * loader/cache/CachedResourceLoader.cpp:
32284
322852011-03-31  Tony Gentilcore  <tonyg@chromium.org>
32286
32287        Reviewed by Antti Koivisto.
32288
32289        PreloadScanner doesn&apos;t find image while executing script in head
32290        https://bugs.webkit.org/show_bug.cgi?id=45072
32291
32292        Previously, while parsing the head, no resources in the body would be
32293        preloaded. After this patch, we will preload scripts and styles in the
32294        body, although we continue to hold off on all images until the page is
32295        first rendered.
32296
32297        To evaluate this change, I've recorded a sampling of 45 of alexa's top
32298        sites and replayed them under simulated bandwidth conditions, loading
32299        each 5-15 times until stddev is small enough.
32300
32301        Time to the load event improved at the overall average by 3%.
32302        Most sites are unchanged, but sites with certain blocking patterns had
32303        big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
32304        nytimes 7% (182ms).
32305
32306        Time to DOM content loaded event improved by 6% with some even bigger
32307        individual wins.
32308
32309        First paint time held steady.
32310
32311        Note that I originally wanted to allow preloading of images while in the
32312        head, but that regressed first paint time (even though it was better for
32313        overall load time).
32314
32315        Test: fast/preloader/scan-body-from-head.html
32316
32317        * loader/cache/CachedResourceLoader.cpp:
32318        (WebCore::CachedResourceLoader::preload):
32319
323202011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32321
32322        Unreviewed, rolling out r82616.
32323        http://trac.webkit.org/changeset/82616
32324        https://bugs.webkit.org/show_bug.cgi?id=57585
32325
32326        New test does not pass on Gtk, chromium-mac, chromium-linux
32327        and possibly elsewhere (Requested by abarth|gardener on
32328        #webkit).
32329
32330        * rendering/RenderWidget.cpp:
32331        (WebCore::RenderWidget::setWidget):
32332
323332011-03-31  Adrienne Walker  <enne@google.com>
32334
32335        Reviewed by James Robinson.
32336
32337        [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
32338        https://bugs.webkit.org/show_bug.cgi?id=57577
32339
32340        LayerRendererChromium now uses a RefPtr to preserve ownership of all
32341        of the CCLayerImpl layers that it is using during the update/draw
32342        pass.  Addtionally, when a LayerChromium is destroyed, the weak
32343        owner pointer from its CCLayerImpl is correctly unset.
32344
32345        * platform/graphics/chromium/LayerRendererChromium.cpp:
32346        (WebCore::LayerRendererChromium::compareLayerZ):
32347        (WebCore::LayerRendererChromium::updateAndDrawLayers):
32348        (WebCore::LayerRendererChromium::updateLayers):
32349        (WebCore::LayerRendererChromium::drawLayers):
32350        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
32351        (WebCore::LayerRendererChromium::drawLayer):
32352        * platform/graphics/chromium/LayerRendererChromium.h:
32353        * platform/graphics/chromium/RenderSurfaceChromium.h:
32354        * platform/graphics/chromium/VideoLayerChromium.cpp:
32355        (WebCore::VideoLayerChromium::updateCompositorResources):
32356        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
32357        (WebCore::CCLayerImpl::drawsContent):
32358        (WebCore::CCLayerImpl::cleanupResources):
32359
323602011-03-31  Sam Weinig  <sam@webkit.org>
32361
32362        Reviewed by Anders Carlsson.
32363
32364        Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
32365        https://bugs.webkit.org/show_bug.cgi?id=57582
32366
32367        * platform/DefaultLocalizationStrategy.cpp:
32368        * platform/LocalizedStrings.h:
32369
323702011-03-31  Eric Seidel  <eric@webkit.org>
32371
32372        Reviewed by Ryosuke Niwa.
32373
32374        Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
32375        https://bugs.webkit.org/show_bug.cgi?id=57550
32376
32377        * platform/text/BidiResolver.h:
32378        (WebCore::::createBidiRunsForLine):
32379
323802011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
32381
32382        Reviewed by James Robinson.
32383
32384        https://bugs.webkit.org/show_bug.cgi?id=45855
32385        Windowless plugins added dynamically to the DOM should receive paint events.
32386        This is done by ensuring that the plugin widget is marked for painting when
32387        it is added.
32388
32389        Test: plugins/windowless_plugin_paint_test.html
32390
32391        * rendering/RenderWidget.cpp:
32392        (WebCore::RenderWidget::setWidget):
32393
323942011-03-31  Stephen White  <senorblanco@chromium.org>
32395
32396        Reviewed by Kenneth Russell.
32397
32398        Speed up accelerated path drawing.
32399        https://bugs.webkit.org/show_bug.cgi?id=57371
32400        This CL does three things:  re-uses the same vertex and index buffer
32401        for all path draws, converts all vertex layouts from vec3 to vec2, and
32402        does a convexity check for polygons before passing them to the
32403        tesselator.
32404
32405        Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
32406
32407        * platform/graphics/chromium/GLES2Canvas.cpp:
32408        Replace the Vector<double> for interpolated curves with a
32409        Vector<FloatPoint>.
32410        (WebCore::Cubic::evaluate):
32411        Inline the evaluation function (as Quadratic does).
32412        (WebCore::GLES2Canvas::GLES2Canvas):
32413        Initialize the m_pathIndexBuffer.
32414        (WebCore::GLES2Canvas::~GLES2Canvas):
32415        Delete the path vertex and index buffers on destruction.
32416        (WebCore::interpolateQuadratic):
32417        (WebCore::interpolateCubic):
32418        Interpolate directly to a Vector<FloatPoint>, rather than
32419        Vector<double>.
32420        (WebCore::PolygonData::PolygonData):
32421        (WebCore::combineData):
32422        Replace the DoubleVector with a FloatPointVector.
32423        (WebCore::GLES2Canvas::tesselateAndFillPath):
32424        Move curve drawing into this function, and rename it to reflect the
32425        new behaviour.  Re-use the common vertex and index buffers.  If the
32426        curve consists of a single convex polygon, draw the curve as a single
32427        triangle fan.  Otherwise, convert it to doubles and pass it to the
32428        tesselator.
32429        (WebCore::GLES2Canvas::fillPathInternal):
32430        * platform/graphics/chromium/GLES2Canvas.h:
32431        Rename createVertexBufferFromPath() -> tesselateAndFillPath().
32432        Add a persistent index buffer for all path draws.
32433        * platform/graphics/gpu/BicubicShader.cpp:
32434        (WebCore::BicubicShader::create):
32435        (WebCore::BicubicShader::use):
32436        * platform/graphics/gpu/ConvolutionShader.cpp:
32437        (WebCore::ConvolutionShader::create):
32438        (WebCore::ConvolutionShader::use):
32439        Use vec2s instead of vec3s for all vertex data.
32440        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
32441        (WebCore::LoopBlinnMathUtils::convexCompare):
32442        (WebCore::LoopBlinnMathUtils::convexCross):
32443        (WebCore::LoopBlinnMathUtils::convexCheckTriple):
32444        (WebCore::LoopBlinnMathUtils::isConvex):
32445        * platform/graphics/gpu/LoopBlinnMathUtils.h:
32446        Implement a convexity check, based on the code in Graphics Gems IV.
32447        * platform/graphics/gpu/Shader.cpp:
32448        (WebCore::Shader::generateVertex):
32449        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
32450        (WebCore::SharedGraphicsContext3D::useQuadVertices):
32451        * platform/graphics/gpu/SolidFillShader.cpp:
32452        (WebCore::SolidFillShader::use):
32453        * platform/graphics/gpu/TexShader.cpp:
32454        (WebCore::TexShader::use):
32455        Use vec2s instead of vec3s for all vertex data.
32456
324572011-03-31  David Hyatt  <hyatt@apple.com>
32458
32459        Reviewed by Simon Fraser.
32460
32461        https://bugs.webkit.org/show_bug.cgi?id=57565
32462
32463        Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
32464        to check the line for overflow in the first place.
32465
32466        For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
32467        all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
32468        replaced objects to be inside spans without triggering overflow allocation.
32469
32470        The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
32471        dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
32472        lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
32473        back up to the root box to fetch them.
32474
32475        Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
32476        possibly be present.  When the bit is set, computeOverflow will just immediately return.
32477
32478        This change speeds up line layout by ~10%.
32479
32480        * rendering/EllipsisBox.cpp:
32481        (WebCore::EllipsisBox::paint):
32482        (WebCore::EllipsisBox::nodeAtPoint):
32483        * rendering/EllipsisBox.h:
32484        * rendering/InlineBox.cpp:
32485        (WebCore::InlineBox::paint):
32486        (WebCore::InlineBox::nodeAtPoint):
32487        (WebCore::InlineBox::clearKnownToHaveNoOverflow):
32488        * rendering/InlineBox.h:
32489        (WebCore::InlineBox::InlineBox):
32490        (WebCore::InlineBox::logicalFrameRect):
32491        (WebCore::InlineBox::knownToHaveNoOverflow):
32492        * rendering/InlineFlowBox.cpp:
32493        (WebCore::InlineFlowBox::addToLine):
32494        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
32495        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
32496        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
32497        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
32498        (WebCore::InlineFlowBox::addReplacedChildOverflow):
32499        (WebCore::InlineFlowBox::computeOverflow):
32500        (WebCore::InlineFlowBox::setLayoutOverflow):
32501        (WebCore::InlineFlowBox::setVisualOverflow):
32502        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
32503        (WebCore::InlineFlowBox::nodeAtPoint):
32504        (WebCore::InlineFlowBox::paint):
32505        * rendering/InlineFlowBox.h:
32506        (WebCore::InlineFlowBox::layoutOverflowRect):
32507        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
32508        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
32509        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
32510        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
32511        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
32512        (WebCore::InlineFlowBox::visualOverflowRect):
32513        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
32514        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
32515        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
32516        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
32517        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
32518        (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
32519        (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
32520        * rendering/InlineTextBox.cpp:
32521        (WebCore::InlineTextBox::nodeAtPoint):
32522        (WebCore::InlineTextBox::paint):
32523        * rendering/InlineTextBox.h:
32524        * rendering/RenderBlock.cpp:
32525        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
32526        (WebCore::RenderBlock::paintEllipsisBoxes):
32527        (WebCore::RenderBlock::adjustLinePositionForPagination):
32528        * rendering/RenderBlock.h:
32529        * rendering/RenderBlockLineLayout.cpp:
32530        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
32531        (WebCore::RenderBlock::layoutInlineChildren):
32532        (WebCore::RenderBlock::determineStartPosition):
32533        (WebCore::RenderBlock::matchedEndLine):
32534        (WebCore::RenderBlock::addOverflowFromInlineChildren):
32535        * rendering/RenderBox.h:
32536        (WebCore::RenderBox::hasRenderOverflow):
32537        * rendering/RenderBoxModelObject.cpp:
32538        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
32539        * rendering/RenderInline.cpp:
32540        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
32541        * rendering/RenderLineBoxList.cpp:
32542        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
32543        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
32544        (WebCore::RenderLineBoxList::paint):
32545        (WebCore::RenderLineBoxList::hitTest):
32546        * rendering/RenderListItem.cpp:
32547        (WebCore::RenderListItem::positionListMarker):
32548        * rendering/RootInlineBox.cpp:
32549        (WebCore::RootInlineBox::paintEllipsisBox):
32550        (WebCore::RootInlineBox::addHighlightOverflow):
32551        (WebCore::RootInlineBox::paint):
32552        (WebCore::RootInlineBox::nodeAtPoint):
32553        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
32554        * rendering/RootInlineBox.h:
32555        (WebCore::RootInlineBox::logicalTopVisualOverflow):
32556        (WebCore::RootInlineBox::logicalBottomVisualOverflow):
32557        (WebCore::RootInlineBox::logicalTopLayoutOverflow):
32558        (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
32559        * rendering/svg/SVGInlineFlowBox.cpp:
32560        (WebCore::SVGInlineFlowBox::paint):
32561        * rendering/svg/SVGInlineFlowBox.h:
32562        * rendering/svg/SVGInlineTextBox.cpp:
32563        (WebCore::SVGInlineTextBox::paint):
32564        * rendering/svg/SVGInlineTextBox.h:
32565        * rendering/svg/SVGRootInlineBox.cpp:
32566        (WebCore::SVGRootInlineBox::paint):
32567        * rendering/svg/SVGRootInlineBox.h:
32568
325692011-03-31  Pavel Feldman  <pfeldman@chromium.org>
32570
32571        Reviewed by Yury Semikhatsky.
32572
32573        Web Inspector: disable properties abbreviation.
32574        https://bugs.webkit.org/show_bug.cgi?id=57525
32575
32576        * inspector/InjectedScript.cpp:
32577        (WebCore::InjectedScript::getProperties):
32578        * inspector/InjectedScript.h:
32579        * inspector/InjectedScriptSource.js:
32580        (.):
32581        ():
32582        * inspector/Inspector.json:
32583        * inspector/InspectorRuntimeAgent.cpp:
32584        (WebCore::InspectorRuntimeAgent::getProperties):
32585        * inspector/InspectorRuntimeAgent.h:
32586        * inspector/front-end/ConsoleView.js:
32587        (WebInspector.ConsoleView.prototype.completions.evaluated):
32588        (WebInspector.ConsoleView.prototype._formatarray):
32589        * inspector/front-end/ObjectPropertiesSection.js:
32590        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
32591        (WebInspector.ObjectPropertiesSection.prototype.update):
32592        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
32593        (WebInspector.ObjectPropertyTreeElement.prototype.update):
32594        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
32595        * inspector/front-end/PropertiesSidebarPane.js:
32596        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
32597        * inspector/front-end/RemoteObject.js:
32598        (WebInspector.RemoteObject.prototype.getOwnProperties):
32599        (WebInspector.RemoteObject.prototype.getAllProperties):
32600        (WebInspector.RemoteObject.prototype._getProperties):
32601        (WebInspector.LocalJSONObject.prototype.getOwnProperties):
32602        (WebInspector.LocalJSONObject.prototype.getAllProperties):
32603        * inspector/front-end/inspector.css:
32604        (.console-formatted-string, .console-formatted-regexp):
32605
326062011-03-31  Adam Roben  <aroben@apple.com>
32607
32608        Update WKCACFViewLayerTreeHost for changes to WKCACFView API
32609
32610        This should not result in any change in behavior.
32611
32612        Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
32613        render
32614
32615        Reviewed by Darin Adler.
32616
32617        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
32618        (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
32619        render into the window we give it.
32620
326212011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
32622
32623        Reviewed by Kenneth Rohde Christiansen.
32624
32625        [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
32626        https://bugs.webkit.org/show_bug.cgi?id=57017
32627
32628        Build fix. No new tests.
32629
32630        * WebCore.pri:
32631
326322011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
32633
32634        Reviewed by Pavel Feldman.
32635
32636        XML viewer is not shown when frame has non-null opener
32637        https://bugs.webkit.org/show_bug.cgi?id=56384
32638
32639        Removed opener check in XML viewer
32640
32641        Test: http/tests/xmlviewer/extensions-api.html
32642
32643        * xml/XMLTreeViewer.cpp:
32644        (WebCore::XMLTreeViewer::hasNoStyleInformation):
32645        * xml/XMLViewer.js:
32646
326472011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32648
32649        Unreviewed, rolling out r82589.
32650        http://trac.webkit.org/changeset/82589
32651        https://bugs.webkit.org/show_bug.cgi?id=57564
32652
32653        This patch requires many more updated results than it contains
32654        (Requested by abarth|gardener on #webkit).
32655
32656        * css/CSSSelector.cpp:
32657        (WebCore::CSSSelector::pseudoId):
32658        (WebCore::nameToPseudoTypeMap):
32659        (WebCore::CSSSelector::extractPseudoType):
32660        * css/CSSSelector.h:
32661        * css/html.css:
32662        (meter::-webkit-meter-horizontal-bar):
32663        (meter::-webkit-meter-vertical-bar):
32664        (meter::-webkit-meter-horizontal-optimum-value):
32665        (meter::-webkit-meter-horizontal-suboptimal-value):
32666        (meter::-webkit-meter-horizontal-even-less-good-value):
32667        (meter::-webkit-meter-vertical-optimum-value):
32668        (meter::-webkit-meter-vertical-suboptimal-value):
32669        (meter::-webkit-meter-vertical-even-less-good-value):
32670        * rendering/RenderMeter.cpp:
32671        (WebCore::MeterPartElement::MeterPartElement):
32672        (WebCore::MeterPartElement::createForPart):
32673        (WebCore::MeterPartElement::hide):
32674        (WebCore::MeterPartElement::restoreVisibility):
32675        (WebCore::MeterPartElement::updateStyleForPart):
32676        (WebCore::MeterPartElement::saveVisibility):
32677        (WebCore::RenderMeter::~RenderMeter):
32678        (WebCore::RenderMeter::createPart):
32679        (WebCore::RenderMeter::updateFromElement):
32680        (WebCore::RenderMeter::layoutParts):
32681        (WebCore::RenderMeter::shouldHaveParts):
32682        (WebCore::RenderMeter::valuePartRect):
32683        (WebCore::RenderMeter::orientation):
32684        (WebCore::RenderMeter::valuePseudoId):
32685        (WebCore::RenderMeter::barPseudoId):
32686        * rendering/RenderMeter.h:
32687        (WebCore::RenderMeter::shadowAttached):
32688        * rendering/RenderTheme.cpp:
32689        (WebCore::RenderTheme::supportsMeter):
32690        * rendering/RenderTheme.h:
32691        * rendering/RenderThemeMac.h:
32692        * rendering/RenderThemeMac.mm:
32693        (WebCore::RenderThemeMac::paintMeter):
32694        (WebCore::RenderThemeMac::supportsMeter):
32695        * rendering/style/RenderStyleConstants.h:
32696
326972011-03-31  Xan Lopez  <xlopez@igalia.com>
32698
32699        Reviewed by Martin Robinson.
32700
32701        [GTK] Link explicitly with XRender on Linux/Unix
32702        https://bugs.webkit.org/show_bug.cgi?id=57558
32703
32704        * GNUmakefile.am: add XRender CFLAGS.
32705
327062011-03-31  Eric Seidel  <eric@webkit.org>
32707
32708        Reviewed by Ryosuke Niwa.
32709
32710        Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
32711        https://bugs.webkit.org/show_bug.cgi?id=57549
32712
32713        * platform/text/BidiResolver.h:
32714        (WebCore::BidiResolver::BidiResolver):
32715        (WebCore::::appendRun):
32716        (WebCore::::lowerExplicitEmbeddingLevel):
32717        (WebCore::::raiseExplicitEmbeddingLevel):
32718        (WebCore::::deleteRuns):
32719        (WebCore::::createBidiRunsForLine):
32720        * rendering/InlineIterator.h:
32721        (WebCore::InlineBidiResolver::appendRun):
32722
327232011-03-31  Tom Sepez  <tsepez@chromium.org>
32724
32725        Reviewed by Eric Seidel.
32726
32727        Make ContainerNode::insertIntoDocument() collect all nodes before
32728        operating on any of them.  Add small helper function and use it
32729        througout the file where this action is already taking place.
32730        https://bugs.webkit.org/show_bug.cgi?id=57265
32731
32732        Test: svg/dom/range-delete.html
32733
32734        * dom/ContainerNode.cpp:
32735        (WebCore::collectNodes):
32736        (WebCore::collectTargetNodes):
32737        (WebCore::ContainerNode::takeAllChildrenFrom):
32738        (WebCore::willRemoveChildren):
32739        (WebCore::ContainerNode::insertedIntoDocument):
32740
327412011-03-31  Satish Sampath  <satish@chromium.org>
32742
32743        Reviewed by Steve Block.
32744
32745        While drawing a speech input button, validate that the node is really a speech input button.
32746        https://bugs.webkit.org/show_bug.cgi?id=57469
32747
32748        Test: fast/speech/speech-style-on-non-speech-elements.html
32749
32750        * dom/Element.h:
32751        (WebCore::Element::isInputFieldSpeechButtonElement):
32752        * html/shadow/TextControlInnerElements.h:
32753        (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
32754        (WebCore::toInputFieldSpeechButtonElement):
32755        * rendering/RenderInputSpeech.cpp:
32756        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
32757
327582011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
32759
32760        Build fix after r82588. Reverted unintentional change.
32761
32762        * editing/SelectionController.cpp:
32763        (WebCore::SelectionController::modifyMovingLeft):
32764
327652011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
32766
32767        Reviewed by Xan Lopez.
32768
32769        [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
32770        https://bugs.webkit.org/show_bug.cgi?id=57534
32771
32772        Fix compilation warnings.
32773
32774        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
32775        (getAttributeSetForAccessibilityObject): Add unhandled cases.
32776
327772011-03-30  Pavel Podivilov  <podivilov@chromium.org>
32778
32779        Reviewed by Pavel Feldman.
32780
32781        Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
32782        https://bugs.webkit.org/show_bug.cgi?id=57444
32783
32784        * bindings/js/ScriptDebugServer.cpp:
32785        (WebCore::ScriptDebugServer::editScriptSource):
32786        * bindings/js/ScriptDebugServer.h:
32787        * bindings/v8/ScriptDebugServer.cpp:
32788        (WebCore::ScriptDebugServer::editScriptSource):
32789        * bindings/v8/ScriptDebugServer.h:
32790        * inspector/Inspector.json:
32791        * inspector/InspectorDebuggerAgent.cpp:
32792        (WebCore::InspectorDebuggerAgent::editScriptSource):
32793        * inspector/InspectorDebuggerAgent.h:
32794        * inspector/front-end/DebuggerModel.js:
32795        (WebInspector.DebuggerModel.prototype.editScriptSource):
32796        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
32797        * inspector/front-end/DebuggerPresentationModel.js:
32798        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
32799        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
32800        * inspector/front-end/SourceFrame.js:
32801        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
32802        (WebInspector.SourceFrame.prototype._handleSave):
32803
328042011-03-30  MORITA Hajime <morrita@google.com>
32805
32806        Reviewed by Dimitri Glazkov.
32807
32808        <meter> can only support horizontal indicator
32809        https://bugs.webkit.org/show_bug.cgi?id=56001
32810
32811        - Removed code which deals with the direction and
32812          left the horizontal path.
32813        - Removed "horizontal" from related names which is now
32814          redundant.
32815
32816        * css/CSSSelector.cpp:
32817        (WebCore::CSSSelector::pseudoId):
32818        (WebCore::nameToPseudoTypeMap):
32819        (WebCore::CSSSelector::extractPseudoType):
32820        * css/CSSSelector.h:
32821        * css/html.css:
32822        (meter::-webkit-meter-bar):
32823        (meter::-webkit-meter-optimum-value):
32824        (meter::-webkit-meter-suboptimal-value):
32825        (meter::-webkit-meter-even-less-good-value):
32826        * rendering/RenderMeter.cpp:
32827        (WebCore::RenderMeter::~RenderMeter):
32828        (WebCore::RenderMeter::createPart):
32829        (WebCore::RenderMeter::updateFromElement):
32830        (WebCore::RenderMeter::layoutParts):
32831        (WebCore::RenderMeter::styleDidChange):
32832        (WebCore::RenderMeter::shouldHaveParts):
32833        (WebCore::RenderMeter::valuePartRect):
32834        (WebCore::RenderMeter::valuePseudoId):
32835        (WebCore::RenderMeter::barPseudoId):
32836        (WebCore::RenderMeter::detachShadows):
32837        (WebCore::RenderMeter::updateShadows):
32838        * rendering/RenderMeter.h:
32839        (WebCore::RenderMeter::shadowAttached):
32840        * rendering/RenderTheme.cpp:
32841        (WebCore::RenderTheme::supportsMeter):
32842        * rendering/RenderTheme.h:
32843        * rendering/RenderThemeMac.h:
32844        * rendering/RenderThemeMac.mm:
32845        (WebCore::RenderThemeMac::paintMeter):
32846        (WebCore::RenderThemeMac::supportsMeter):
32847        * rendering/style/RenderStyleConstants.h:
32848
328492011-03-30  Xiaomei Ji  <xji@chromium.org>
32850
32851        Reviewed by Ryosuke Niwa.
32852
32853        Experiment with moving caret by word in visual order.
32854        https://bugs.webkit.org/show_bug.cgi?id=57336
32855
32856        Follow Firefox's convention in Windows,
32857        In LTR block, word break visually moves cursor to the left boundary of words,
32858        In RTL block, word break visually moves cursor to the right boundary of words.
32859
32860        This is the 1st version of implementing "move caret by word in visual order".
32861        It only works in the following situation:
32862        1. For a LTR box in a LTR block or a RTL box in RTL block,
32863        when caret is at the left boundary of the box and we are looking for
32864        the word boundary in right.
32865        2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
32866        of the box and we are looking for the word boundary in left and
32867        previous box is a LTR box.
32868        3. For a LTR or RTL box in a RTL block, when the caret is at the right
32869        boundary of the box and we are looking for the word boundary in right and next box is RTL box.
32870
32871        An experimental granularity is introduced, as a side effect, functions having switch statements
32872        to handle those granularities have to add more one case to handle this new granularity.
32873        The experimental granularity is exposed though JS by '-webkit-visual-word".
32874
32875        The overall algorithm is looping through inline boxes visually and looking
32876        for the visually nearest word break position.
32877
32878        Test: editing/selection/move-by-word-visually.html
32879
32880        * editing/SelectionController.cpp:
32881        (WebCore::SelectionController::modifyExtendingRight):
32882        (WebCore::SelectionController::modifyExtendingForward):
32883        (WebCore::SelectionController::modifyMovingRight):
32884        (WebCore::SelectionController::modifyMovingForward):
32885        (WebCore::SelectionController::modifyExtendingLeft):
32886        (WebCore::SelectionController::modifyExtendingBackward):
32887        (WebCore::SelectionController::modifyMovingLeft):
32888        (WebCore::SelectionController::modifyMovingBackward):
32889        * editing/TextGranularity.h:
32890        * editing/VisibleSelection.cpp:
32891        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
32892        * editing/visible_units.cpp:
32893        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
32894        (WebCore::wordBoundaryInBox):
32895        (WebCore::wordBoundaryInAdjacentBoxes):
32896        (WebCore::leftWordBoundary):
32897        (WebCore::rightWordBoundary):
32898        (WebCore::leftWordPosition):
32899        (WebCore::rightWordPosition):
32900        * editing/visible_units.h:
32901        * page/DOMSelection.cpp:
32902        (WebCore::DOMSelection::modify):
32903
329042011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
32905
32906        Reviewed by Darin Adler.
32907
32908        Move coordinate-computing logic into MouseRelatedEvent.
32909        https://bugs.webkit.org/show_bug.cgi?id=57521
32910
32911        Refactoring, covered by existing tests.
32912
32913        * dom/EventDispatcher.cpp:
32914        (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
32915            coordinates out.
32916        (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
32917        * dom/MouseEvent.cpp:
32918        (WebCore::MouseEvent::create): Add coordinate-computing logic.
32919        * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
32920        * dom/MouseRelatedEvent.cpp:
32921        (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
32922        * page/EventHandler.cpp:
32923        (WebCore::EventHandler::dispatchDragEvent): Ditto.
32924
329252011-03-30  Alexander Pavlov  <apavlov@chromium.org>
32926
32927        Reviewed by Pavel Feldman.
32928
32929        Web Inspector: document CSS agent.
32930        https://bugs.webkit.org/show_bug.cgi?id=57435
32931
32932        * inspector/Inspector.json:
32933
329342011-03-31  Andrey Kosyakov  <caseq@chromium.org>
32935
32936        Reviewed by Yury Semikhatsky.
32937
32938        Web Inspector: remove periods at the end of error messages
32939        https://bugs.webkit.org/show_bug.cgi?id=57544
32940
32941        * inspector/InjectedScript.cpp:
32942        (WebCore::InjectedScript::getProperties):
32943        (WebCore::InjectedScript::makeObjectCall):
32944        * inspector/InspectorCSSAgent.cpp:
32945        (WebCore::InspectorCSSAgent::elementForId):
32946        (WebCore::InspectorCSSAgent::styleSheetForId):
32947        * inspector/InspectorDOMAgent.cpp:
32948        (WebCore::InspectorDOMAgent::assertNode):
32949        (WebCore::InspectorDOMAgent::assertElement):
32950        (WebCore::InspectorDOMAgent::assertHTMLElement):
32951        (WebCore::InspectorDOMAgent::querySelector):
32952        (WebCore::InspectorDOMAgent::querySelectorAll):
32953        (WebCore::InspectorDOMAgent::setAttribute):
32954        (WebCore::InspectorDOMAgent::removeAttribute):
32955        (WebCore::InspectorDOMAgent::removeNode):
32956        (WebCore::InspectorDOMAgent::setNodeValue):
32957        * inspector/InspectorDebuggerAgent.cpp:
32958        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
32959        * inspector/InspectorResourceAgent.cpp:
32960        (WebCore::InspectorResourceAgent::resourceContent):
32961        (WebCore::InspectorResourceAgent::resourceContentBase64):
32962        (WebCore::InspectorResourceAgent::getResourceContent):
32963        * inspector/InspectorRuntimeAgent.cpp:
32964        (WebCore::InspectorRuntimeAgent::setPropertyValue):
32965
329662011-03-31  Evan Martin  <evan@chromium.org>
32967
32968        Reviewed by Eric Seidel.
32969
32970        <title> should support dir attribute
32971        https://bugs.webkit.org/show_bug.cgi?id=50961
32972
32973        Introduce a new StringWithDirection object that carries a String along
32974        with the TextDirection associated with the String.  Use this object for
32975        document titles used within WebCore, because in HTML the direction of
32976        a title can be set with the 'dir' attribute.
32977
32978        Put FIXMEs at the WebKit level to expose the new direction information
32979        to clients.
32980
32981        No behavioral change intended, so no new tests.  A follow-up will expose
32982        the title direction and hopefully can be accompanied by tests that
32983        verify it is correct.
32984
32985        * dom/Document.cpp:
32986        (WebCore::Document::Document):
32987        (WebCore::Document::updateTitle):
32988        (WebCore::Document::setTitle):
32989        (WebCore::Document::removeTitle):
32990        * dom/Document.h:
32991        (WebCore::Document::title):
32992        * html/HTMLTitleElement.cpp:
32993        (WebCore::HTMLTitleElement::HTMLTitleElement):
32994        (WebCore::HTMLTitleElement::childrenChanged):
32995        (WebCore::HTMLTitleElement::text):
32996        (WebCore::HTMLTitleElement::textWithDirection):
32997        * html/HTMLTitleElement.h:
32998        * loader/DocumentLoader.cpp:
32999        (WebCore::DocumentLoader::setTitle):
33000        * loader/DocumentLoader.h:
33001        (WebCore::DocumentLoader::title):
33002        * loader/EmptyClients.h:
33003        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
33004        (WebCore::EmptyFrameLoaderClient::setTitle):
33005        * loader/FrameLoader.cpp:
33006        (WebCore::FrameLoader::receivedFirstData):
33007        (WebCore::FrameLoader::commitProvisionalLoad):
33008        (WebCore::FrameLoader::setTitle):
33009        * loader/FrameLoader.h:
33010        * loader/FrameLoaderClient.h:
33011        * loader/HistoryController.cpp:
33012        (WebCore::HistoryController::updateForBackForwardNavigation):
33013        (WebCore::HistoryController::updateForReload):
33014        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
33015        (WebCore::HistoryController::updateForClientRedirect):
33016        (WebCore::HistoryController::updateForCommit):
33017        (WebCore::HistoryController::setCurrentItemTitle):
33018        (WebCore::HistoryController::initializeItem):
33019        * loader/HistoryController.h:
33020        * platform/text/StringWithDirection.h: Added.
33021        (WebCore::StringWithDirection::StringWithDirection):
33022        (WebCore::StringWithDirection::operator==):
33023        (WebCore::StringWithDirection::operator!=):
33024        * svg/SVGTitleElement.cpp:
33025        (WebCore::SVGTitleElement::insertedIntoDocument):
33026        (WebCore::SVGTitleElement::childrenChanged):
33027
330282011-03-31  Alexander Pavlov  <apavlov@chromium.org>
33029
33030        Reviewed by Yury Semikhatsky.
33031
33032        Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
33033        https://bugs.webkit.org/show_bug.cgi?id=57538
33034
33035        * inspector/InspectorStyleSheet.cpp:
33036        (WebCore::buildSourceRangeObject):
33037        (WebCore::InspectorStyle::buildObjectForStyle):
33038        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
33039        * inspector/front-end/AuditRules.js:
33040        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
33041        * inspector/front-end/CSSStyleModel.js:
33042        (WebInspector.CSSStyleDeclaration):
33043
330442011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
33045
33046        Unreviewed, rolling out r82565.
33047        http://trac.webkit.org/changeset/82565
33048        https://bugs.webkit.org/show_bug.cgi?id=57541
33049
33050        Caused assertion failures. (Requested by bbandix on #webkit).
33051
33052        * platform/graphics/filters/FEFlood.cpp:
33053        (WebCore::FEFlood::setFloodColor):
33054        (WebCore::FEFlood::setFloodOpacity):
33055        * platform/graphics/filters/FEFlood.h:
33056        * platform/graphics/filters/FESpecularLighting.cpp:
33057        (WebCore::FESpecularLighting::setLightingColor):
33058        * platform/graphics/filters/FESpecularLighting.h:
33059        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
33060        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
33061        * rendering/svg/SVGResourcesCache.cpp:
33062        (WebCore::SVGResourcesCache::clientStyleChanged):
33063        * svg/SVGFEDiffuseLightingElement.cpp:
33064        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
33065        * svg/SVGFEFloodElement.cpp:
33066        * svg/SVGFEFloodElement.h:
33067        * svg/SVGFESpecularLightingElement.cpp:
33068        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
33069
330702011-03-31  Renata Hodovan  <reni@webkit.org>
33071
33072        Reviewed by Dirk Schulze.
33073
33074        CSS related SVG*Element changes doesn't require relayout
33075        https://bugs.webkit.org/show_bug.cgi?id=56906
33076
33077        The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
33078        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
33079        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
33080        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
33081
33082        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
33083               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
33084               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
33085               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
33086
33087        * platform/graphics/filters/FEFlood.cpp:
33088        (WebCore::FEFlood::setFloodColor):
33089        (WebCore::FEFlood::setFloodOpacity):
33090        * platform/graphics/filters/FEFlood.h:
33091        * platform/graphics/filters/FESpecularLighting.cpp:
33092        (WebCore::FESpecularLighting::setLightingColor):
33093        * platform/graphics/filters/FESpecularLighting.h:
33094        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
33095        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
33096        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
33097        * rendering/svg/SVGResourcesCache.cpp:
33098        (WebCore::SVGResourcesCache::clientStyleChanged):
33099        * svg/SVGFEDiffuseLightingElement.cpp:
33100        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
33101        * svg/SVGFEFloodElement.cpp:
33102        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
33103        * svg/SVGFEFloodElement.h:
33104        * svg/SVGFESpecularLightingElement.cpp:
33105        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
33106
331072011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
33108
33109        Reviewed by Pavel Feldman.
33110
33111        XML Viewer: declared namespaces are not rendered.
33112        https://bugs.webkit.org/show_bug.cgi?id=56262
33113
33114        XML viewer rewritten on javascript.
33115
33116        * CMakeLists.txt:
33117        * DerivedSources.make:
33118        * GNUmakefile.am:
33119        * WebCore.gyp/WebCore.gyp:
33120        * WebCore.gypi:
33121        * WebCore.vcproj/WebCore.vcproj:
33122        * WebCore.xcodeproj/project.pbxproj:
33123        * dom/XMLDocumentParserLibxml2.cpp:
33124        (WebCore::XMLDocumentParser::doEnd):
33125        * xml/XMLTreeViewer.cpp:
33126        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
33127        * xml/XMLViewer.css: Added.
33128        * xml/XMLViewer.js: Added.
33129        * xml/XMLViewer.xsl: Removed.
33130        * xml/XSLStyleSheet.h:
33131
331322011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
33133
33134        Unreviewed build fix.
33135
33136        Fix build break after rolling out r82496
33137        https://bugs.webkit.org/show_bug.cgi?id=57536
33138
33139        * platform/efl/RenderThemeEfl.cpp:
33140
331412011-03-31  Andrey Adaikin  <aandrey@google.com>
33142
33143        Reviewed by Pavel Feldman.
33144
33145        Web Inspector: execution line is displayed incorrectly after source editing.
33146        https://bugs.webkit.org/show_bug.cgi?id=57229
33147
33148        * inspector/front-end/SourceFrame.js:
33149        (WebInspector.SourceFrame.prototype._saveViewerState):
33150        (WebInspector.SourceFrame.prototype._restoreViewerState):
33151        (WebInspector.SourceFrame.prototype._startEditing):
33152        (WebInspector.SourceFrame.prototype._endEditing):
33153        (WebInspector.SourceFrame.prototype._createTextViewer):
33154        (WebInspector.SourceFrame.prototype.setExecutionLine):
33155        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
33156        (WebInspector.SourceFrame.prototype._handleSave):
33157        (WebInspector.SourceFrame.prototype._handleRevertEditing):
33158        * inspector/front-end/TextViewer.js:
33159        (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
33160        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
33161        (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
33162        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
33163
331642011-03-30  Alexander Pavlov  <apavlov@chromium.org>
33165
33166        Reviewed by Pavel Feldman.
33167
33168        Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
33169        https://bugs.webkit.org/show_bug.cgi?id=57452
33170
33171        No new tests, as this is a refactoring.
33172
33173        * inspector/InspectorCSSAgent.cpp:
33174        * inspector/InspectorStyleSheet.cpp:
33175        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
33176        * inspector/front-end/CSSStyleModel.js:
33177        (WebInspector.CSSStyleDeclaration):
33178        (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
33179
331802011-03-30  Steve Block  <steveblock@google.com>
33181
33182        Reviewed by Jeremy Orlow.
33183
33184        JavaField should not expose JavaString in its API
33185        https://bugs.webkit.org/show_bug.cgi?id=55766
33186
33187        This patch fixes JavaField for V8 only.
33188        - Factors out a JavaField interface which does not use JNI types.
33189          This will allow the Java bridge to be used with objects that
33190          don't use JNI directly. The existing jobject-backed
33191          implementation is moved to a new JavaFieldJobject class which
33192          implements the interface.
33193        - Use WTF::String in place of JavaString in the API, as JavaString
33194          exposes JNI types in its interface.
33195
33196        No new tests, refactoring only.
33197
33198        * Android.v8bindings.mk:
33199        * WebCore.gypi:
33200        * bridge/jni/JavaMethod.h:
33201        (JSC::Bindings::JavaMethod::~JavaMethod):
33202        * bridge/jni/JobjectWrapper.h:
33203        * bridge/jni/v8/JavaClassV8.cpp:
33204        (JavaClass::JavaClass):
33205        * bridge/jni/v8/JavaFieldJobjectV8.cpp:
33206        (JavaFieldJobject::JavaFieldJobject):
33207        * bridge/jni/v8/JavaFieldJobjectV8.h:
33208        (JSC::Bindings::JavaFieldJobject::name):
33209        (JSC::Bindings::JavaFieldJobject::typeClassName):
33210        (JSC::Bindings::JavaFieldJobject::type):
33211        * bridge/jni/v8/JavaFieldV8.h:
33212        (JSC::Bindings::JavaField::~JavaField):
33213        * bridge/jni/v8/JavaInstanceV8.cpp:
33214        (JavaInstance::getField):
33215
332162011-03-31  Levi Weintraub  <leviw@chromium.org>
33217
33218        Reviewed by Ryosuke Niwa.
33219
33220        Clean up from r82447.
33221        https://bugs.webkit.org/attachment.cgi?bugid=57532
33222
33223        No new tests since this doesn't change behavior.
33224
33225        * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
33226        * rendering/RootInlineBox.cpp:
33227        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
33228        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
33229        * rendering/RootInlineBox.h:
33230
332312011-03-31  Benjamin Kalman  <kalman@chromium.org>
33232
33233        Reviewed by Ojan Vafai.
33234
33235        DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
33236        https://bugs.webkit.org/show_bug.cgi?id=57079
33237
33238        Test: editing/execCommand/delete-table-with-empty-contents.html
33239
33240        This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
33241        of WebKit.
33242
33243        * editing/DeleteSelectionCommand.cpp:
33244        (WebCore::firstEditablePositionInNode):
33245        (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
33246        to find anchor node for the placeholder's position, if any.
33247
332482011-03-30  Ojan Vafai  <ojan@chromium.org>
33249
33250        Reviewed by Adam Roben.
33251
33252        REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
33253        https://bugs.webkit.org/show_bug.cgi?id=57478
33254
33255        * css/CSSGrammar.y:
33256        * css/CSSParser.cpp:
33257        (WebCore::CSSParser::sinkFloatingSelectorVector):
33258        * css/CSSParser.h:
33259
332602011-03-30  Dominic Cooney  <dominicc@google.com>
33261
33262        Reviewed by Dimitri Glazkov.
33263
33264        Adds layoutTestController.shadowRoot accessor to Mac DRT.
33265        https://bugs.webkit.org/show_bug.cgi?id=57415
33266
33267        * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
33268
332692011-03-30  Kent Tamura  <tkent@chromium.org>
33270
33271        Reviewed by Dimitri Glazkov.
33272
33273        Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
33274        https://bugs.webkit.org/show_bug.cgi?id=57424
33275
33276        r75555 made 'scroll' event asynchronous. So we don't need to worry about
33277        deleting or moving a target node in scrollIntoViewIfNeeded().
33278
33279        * html/HTMLFormElement.cpp:
33280        (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
33281
332822011-03-30  Kent Tamura  <tkent@chromium.org>
33283
33284        Reviewed by Darin Adler.
33285
33286        REGRESSION (r74895): Crash if input.type = 'file' twice
33287        https://bugs.webkit.org/show_bug.cgi?id=57343
33288
33289        * html/HTMLInputElement.cpp:
33290        (WebCore::HTMLInputElement::updateType):
33291          Don't call setAttribute() if the type is not changed.
33292
332932011-03-30  Jia Pu  <jpu@apple.com>
33294
33295        Reviewed by Darin Adler.
33296
33297        Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
33298        https://bugs.webkit.org/show_bug.cgi?id=57353
33299        <rdar://problem/9163983>
33300
33301        We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
33302        panel. The latter function compensates for zooming, which we don't need in this case. We also
33303        dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
33304
33305        * WebCore.exp.in:
33306        * dom/Range.cpp:
33307        (WebCore::Range::textQuads):
33308        * dom/Range.h:
33309        * editing/Editor.cpp:
33310        (WebCore::Editor::windowRectForRange):
33311        * editing/Editor.h:
33312        * page/Frame.cpp:
33313        (WebCore::Frame::setPageAndTextZoomFactors):
33314
333152011-03-30  Chris Guillory  <chris.guillory@google.com>
33316
33317        Reviewed by Dimitri Glazkov.
33318
33319        Render fonts using skia when requested by platform context.
33320        https://bugs.webkit.org/show_bug.cgi?id=56441
33321
33322        * platform/graphics/skia/PlatformContextSkia.cpp:
33323        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
33324        * platform/graphics/skia/PlatformContextSkia.h:
33325        * platform/graphics/skia/SkiaFontWin.cpp:
33326        (WebCore::windowsCanHandleTextDrawing):
33327        (WebCore::skiaDrawText):
33328        (WebCore::setupPaintForFont):
33329        (WebCore::paintSkiaText):
33330
333312011-03-30  Dan Bernstein  <mitz@apple.com>
33332
33333        Reviewed by Darin Adler.
33334
33335        <rdar://problem/9199518> Crash when focusing a styled editable element
33336
33337        Test: editing/deleting/delete-button-background-image-none.html
33338
33339        * editing/DeleteButtonController.cpp:
33340        (WebCore::isDeletableElement): Check all background layers for background images.
33341        * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
33342        in the above function.
33343
333442011-03-30  Martin Robinson  <mrobinson@igalia.com>
33345
33346        Try once more to fix the EFL build.
33347
33348        * platform/efl/RenderThemeEfl.cpp:
33349
333502011-03-30  Chris Fleizach  <cfleizach@apple.com>
33351
33352        Reviewed by Darin Adler.
33353
33354        Regression: VO cursor doesn't follow KB focus back into HTML view
33355        https://bugs.webkit.org/show_bug.cgi?id=57509
33356
33357        In WK2, because the web area never believes focus leave the area, sending the initial
33358        focus change when moving back into the web area, does not trigger a notification.
33359
33360        That behavior needs to be overridden by explicitly posting a focused UI element change
33361        at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
33362
33363        * page/FocusController.cpp:
33364        (WebCore::FocusController::setInitialFocus):
33365
333662011-03-30  MORITA Hajime  <morrita@google.com>
33367
33368        Reviewed by Simon Fraser.
33369
33370        box-shadow radii stays the same regardless of any spread set
33371        https://bugs.webkit.org/show_bug.cgi?id=49726
33372
33373        - Removed special shadowSpread handling path
33374        - Fixed broken multple inset shadow border computation.
33375
33376        Test: fast/box-shadow/spread-multiple-inset.html
33377
33378        * rendering/RenderBoxModelObject.cpp:
33379        (WebCore::RenderBoxModelObject::paintBoxShadow):
33380
333812011-03-29  Matthew Delaney  <mdelaney@apple.com>
33382
33383        Reviewed by Simon Fraser.
33384
33385        Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
33386
33387        https://bugs.webkit.org/show_bug.cgi?id=53134
33388
33389        Test: fast/canvas/getPutImageDataPairTest.html
33390
33391        * platform/graphics/cg/ImageBufferCG.cpp:
33392
333932011-03-30  Steve Falkenburg  <sfalken@apple.com>
33394
33395        Reviewed by Adam Roben.
33396
33397        Share most vsprops between Release and Production builds in releaseproduction.vsprops
33398        https://bugs.webkit.org/show_bug.cgi?id=57508
33399
33400        * WebCore.vcproj/QTMovieWinProduction.vsprops:
33401        * WebCore.vcproj/QTMovieWinRelease.vsprops:
33402        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
33403        * WebCore.vcproj/WebCoreProduction.vsprops:
33404        * WebCore.vcproj/WebCoreRelease.vsprops:
33405        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
33406
334072011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
33408
33409        Reviewed by Alexey Proskuryakov.
33410
33411        Add some dynamic annotations to JavaScriptCore/wtf
33412        https://bugs.webkit.org/show_bug.cgi?id=53747
33413
33414        By using these annotations we can improve the precision of finding
33415        WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
33416        These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
33417
33418        These files don't add new functionality, so don't need extra tests.
33419
33420        * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
33421
334222011-03-30  Abhishek Arya  <inferno@chromium.org>
33423
33424        Reviewed by Simon Fraser.
33425
33426        Fix wrong type assumptions in editing code. Move code
33427        from ASSERTs to hard checks.
33428        https://bugs.webkit.org/show_bug.cgi?id=57348
33429
33430        Test: editing/execCommand/remove-format-non-html-element-crash.html
33431
33432        * css/CSSStyleSelector.cpp:
33433        (WebCore::CSSStyleSelector::applyProperty):
33434        * editing/ApplyStyleCommand.cpp:
33435        (WebCore::getRGBAFontColor):
33436        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
33437        * editing/DeleteButtonController.cpp:
33438        (WebCore::enclosingDeletableElement):
33439        * editing/EditingStyle.cpp:
33440        (WebCore::EditingStyle::textDirection):
33441        (WebCore::EditingStyle::prepareToApplyAt):
33442        * editing/Editor.cpp:
33443        (WebCore::Editor::textDirectionForSelection):
33444        * editing/FormatBlockCommand.cpp:
33445        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
33446
334472011-03-30  Stephen White  <senorblanco@chromium.org>
33448
33449        Reviewed by Kenneth Russell.
33450
33451        Speed up clipping in accelerated 2D canvas.
33452        https://bugs.webkit.org/show_bug.cgi?id=57464
33453
33454        Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
33455        Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
33456
33457        * platform/graphics/chromium/GLES2Canvas.cpp:
33458        (WebCore::PathAndTransform::PathAndTransform):
33459        New structure to keep track of the CTM at the time the clipping path was added.
33460        (WebCore::GLES2Canvas::State::State):
33461        Replace m_clippingEnabled with a count of total clipping paths.
33462        (WebCore::GLES2Canvas::clearRect):
33463        Check the total clipping path count, instead of m_clippingEnabled.
33464        (WebCore::GLES2Canvas::fillPath):
33465        (WebCore::GLES2Canvas::fillRect):
33466        Perform state application after doing shadows.  This is necessary
33467        since restore() may now leave clipping enabled.
33468        (WebCore::GLES2Canvas::clipPath):
33469        Explicitly specify the stencil operation as INCR.  Store the current
33470        transformation when saving clipping paths.
33471        (WebCore::GLES2Canvas::restore):
33472        Don't clear the stencil buffer and re-draw active paths on each restore.
33473        Erase the old paths with DECR.
33474        (WebCore::GLES2Canvas::drawTexturedRect):
33475        Check m_numClippingPaths instead of m_clippingEnabled.
33476        (WebCore::GLES2Canvas::beginShadowDraw):
33477        Perform state application when drawing hard shadows.
33478        (WebCore::GLES2Canvas::endShadowDraw):
33479        Check m_numClippingPaths instead of m_clippingEnabled.
33480        (WebCore::GLES2Canvas::beginStencilDraw):
33481        Make the stencil op a parameter to beginShadowDraw().
33482        (WebCore::GLES2Canvas::applyClipping):
33483        Compare against the total number of stencil paths, not just the ones in
33484        the current state.
33485        * platform/graphics/chromium/GLES2Canvas.h:
33486        Make the stencil op a parameter to beginShadowDraw().
33487
334882011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
33489
33490        Reviewed by Darin Adler.
33491
33492        Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
33493        https://bugs.webkit.org/show_bug.cgi?id=57419
33494
33495        Refactoring, covered by existing tests.
33496
33497        * dom/EventDispatcher.cpp:
33498        (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
33499        * dom/MouseEvent.cpp:
33500        (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
33501        * dom/MouseEvent.h: Added decl.
33502
335032011-03-30  Erik Arvidsson  <arv@chromium.org>
33504
33505        Reviewed by Alexey Proskuryakov.
33506
33507        Missing DOM bindings for a ping
33508        https://bugs.webkit.org/show_bug.cgi?id=51955
33509
33510        Test: fast/dom/ping-attribute-dom-binding.html
33511
33512        * html/HTMLAnchorElement.idl:
33513        * html/HTMLAreaElement.idl:
33514
335152011-03-30  Patrick Gansterer  <paroga@webkit.org>
33516
33517        Unreviewed WinCE build fix for r82465.
33518
33519        * CMakeListsWinCE.txt:
33520
335212011-03-30  Steve Falkenburg  <sfalken@apple.com>
33522
33523        Reviewed by Adam Roben.
33524
33525        Update Windows production build logic for new production configurations
33526        https://bugs.webkit.org/show_bug.cgi?id=57494
33527
33528        * WebCore.vcproj/QTMovieWinProduction.vsprops:
33529        * WebCore.vcproj/WebCore.make:
33530        * WebCore.vcproj/WebCoreProduction.vsprops:
33531
335322011-03-30  Sam Weinig  <sam@webkit.org>
33533
33534        Reviewed by Brady Eidson.
33535
33536        WebKit2: Attempting to view css file from url causes it to download
33537        <rdar://problem/9102611>
33538        https://bugs.webkit.org/show_bug.cgi?id=57501
33539
33540        * WebCore.exp.in:
33541        * platform/MIMETypeRegistry.cpp:
33542        (WebCore::initializeUnsupportedTextMIMETypes):
33543        (WebCore::initializeMIMETypeRegistry):
33544        (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
33545        (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
33546        * platform/MIMETypeRegistry.h:
33547        Add set of unsupported text MIME types, taken from WebKit/mac.
33548
335492011-03-30  Brian Weinstein  <bweinstein@apple.com>
33550
33551        Reviewed by Darin Adler.
33552
33553        Crash when closing "Add Bookmark" dialog using the Enter Key
33554        https://bugs.webkit.org/show_bug.cgi?id=57294
33555        <rdar://problem/9044756>
33556
33557        Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
33558        functions that could destroy the frame.
33559
33560        * page/EventHandler.cpp:
33561        (WebCore::EventHandler::keyEvent):
33562
335632011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
33564
33565        Unreviewed, rolling out r82463.
33566        http://trac.webkit.org/changeset/82463
33567        https://bugs.webkit.org/show_bug.cgi?id=57482
33568
33569        Assertion failure in Node::rendererIsEditable on multiple
33570        editing tests (Requested by aroben|meeting on #webkit).
33571
33572        * css/CSSParser.cpp:
33573        (WebCore::CSSParser::parseValue):
33574        * css/CSSPrimitiveValueMappings.h:
33575        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
33576        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
33577        * css/CSSValueKeywords.in:
33578        * rendering/style/RenderStyle.h:
33579        * rendering/style/RenderStyleConstants.h:
33580
335812011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
33582
33583        Reviewed by Kenneth Rohde Christiansen.
33584
33585        [Qt] QNetworkReplyHandler refactoring: signal sequence.
33586        https://bugs.webkit.org/show_bug.cgi?id=57049
33587
33588        This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
33589
33590            1 - that the signals metadatachanged, readyRead and finished will come in this order.
33591            2 - that signals metadatachanged and finished will be called exactly once.
33592
33593        Having these invariants further simplifications will be possible and will come in future patches.
33594
33595        Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
33596        instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
33597        QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
33598        metadatachanged signal.
33599
33600        * platform/network/qt/QNetworkReplyHandler.cpp:
33601        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
33602        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
33603        (WebCore::QNetworkReplyWrapper::release):
33604        (WebCore::QNetworkReplyWrapper::resetConnections):
33605        (WebCore::QNetworkReplyWrapper::receiveMetaData):
33606        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
33607        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
33608        (WebCore::QNetworkReplyHandler::resetState):
33609        (WebCore::QNetworkReplyHandler::release):
33610        (WebCore::QNetworkReplyHandler::finish):
33611        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
33612        (WebCore::QNetworkReplyHandler::redirect):
33613        (WebCore::QNetworkReplyHandler::forwardData):
33614        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
33615        (WebCore::QNetworkReplyHandler::start):
33616        * platform/network/qt/QNetworkReplyHandler.h:
33617        (WebCore::QNetworkReplyWrapper::reply):
33618        (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
33619        (WebCore::QNetworkReplyWrapper::encoding):
33620        (WebCore::QNetworkReplyWrapper::advertisedMimeType):
33621        (WebCore::QNetworkReplyHandler::reply):
33622
336232011-03-30  Steve Falkenburg  <sfalken@apple.com>
33624
33625        Reviewed by Adam Roben.
33626
33627        Rename Windows configuration Release_LTCG to Production for clarity
33628        https://bugs.webkit.org/show_bug.cgi?id=57465
33629
33630        * WebCore.vcproj/QTMovieWin.vcproj:
33631        * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
33632        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
33633        * WebCore.vcproj/WebCore.sln:
33634        * WebCore.vcproj/WebCore.submit.sln:
33635        * WebCore.vcproj/WebCore.vcproj:
33636        * WebCore.vcproj/WebCoreGenerated.vcproj:
33637        * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
33638        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
33639
336402011-03-30  Brian Weinstein  <bweinstein@apple.com>
33641
33642        Reviewed by Anders Carlsson.
33643
33644        ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
33645        https://bugs.webkit.org/show_bug.cgi?id=57477
33646        <rdar://problem/9178751>
33647
33648        If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
33649        will call stopObservingCookieChanges when cookieStorageAdapter is nil.
33650
33651        The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
33652        so remove the assert.
33653
33654        * platform/network/mac/CookieStorageMac.mm:
33655        (WebCore::stopObservingCookieChanges):
33656
336572011-03-30  Sam Weinig  <sam@webkit.org>
33658
33659        Fix Leopard build.
33660
33661        * platform/DefaultLocalizationStrategy.cpp:
33662        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
33663
336642011-03-30  Sam Weinig  <sam@webkit.org>
33665
33666        Reviewed by Anders Carlsson.
33667
33668        Add default localization strategy that can be shared by WebKit1 and WebKit2
33669        https://bugs.webkit.org/show_bug.cgi?id=57406
33670
33671        Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
33672        to adopt it soon.
33673
33674        * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
33675        (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
33676        * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
33677        Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
33678
33679        * platform/LocalizedStrings.cpp:
33680        (WebCore::localizedString):
33681        Add default implementation of localization bottleneck function.
33682
33683        * platform/LocalizedStrings.h:
33684        Add localization macros here, instead of defining them in the above layer.
33685
33686        * platform/PlatformStrategies.cpp:
33687        (WebCore::PlatformStrategies::createLocalizationStrategy):
33688        * platform/PlatformStrategies.h:
33689        Add default implementation of strategy creation function which creates the default strategy.
33690
33691        * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
33692        (WebCore::localizedString):
33693        Add stub for windows, this will be update to pull from the bundle in a follow up patch.
33694
33695        * Android.mk:
33696        * CMakeLists.txt:
33697        * GNUmakefile.am:
33698        * WebCore.exp.in:
33699        * WebCore.gypi:
33700        * WebCore.pro:
33701        * WebCore.vcproj/WebCore.vcproj:
33702        * WebCore.xcodeproj/project.pbxproj:
33703        Add new files.
33704
337052011-03-30  Andras Becsi  <abecsi@webkit.org>
33706
33707        Reviewed by Darin Adler.
33708
33709        CSS: Slow parsing of rgb() with percent values
33710        https://bugs.webkit.org/show_bug.cgi?id=16708
33711
33712        Implement fast-path parsing for percentage color values.
33713
33714        Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
33715
33716        Relanding with rounding fix after it was rolled out in r82315.
33717
33718        * css/CSSParser.cpp:
33719        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
33720        (WebCore::parseDouble): Function for parsing double values if they are valid.
33721        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
33722        (WebCore::parseAlphaValue): Use the new functions.
33723        (WebCore::CSSParser::parseColor): Ditto.
33724
337252011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
33726
33727        Reviewed by Eric Seidel.
33728
33729        Add support for parsing unicode-bidi: -webkit-plaintext.
33730        https://bugs.webkit.org/show_bug.cgi?id=57457
33731
33732        Test: css3/unicode-bidi-plaintext-parse.html
33733
33734        * css/CSSParser.cpp:
33735        (WebCore::CSSParser::parseValue):
33736        * css/CSSPrimitiveValueMappings.h:
33737        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
33738        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
33739        * css/CSSValueKeywords.in:
33740        * rendering/style/RenderStyle.h:
33741        * rendering/style/RenderStyleConstants.h:
33742
337432011-03-30  Andreas Kling  <kling@webkit.org>
33744
33745        Reviewed by Benjamin Poulain.
33746
33747        [Qt] Remove unused variables in GraphicsContext::fillRect()
33748
33749        * platform/graphics/qt/GraphicsContextQt.cpp:
33750        (WebCore::GraphicsContext::fillRect):
33751
337522011-03-30  Yael Aharon  <yael.aharon@nokia.com>
33753
33754        Reviewed by Eric Seidel.
33755
33756        REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
33757        https://bugs.webkit.org/show_bug.cgi?id=57442
33758
33759        When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
33760
33761        No new tests as existing test covers this case.
33762
33763        * rendering/RenderBlockLineLayout.cpp:
33764        (WebCore::reachedEndOfTextRenderer):
33765
337662011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
33767
33768        Reviewed by Chris Fleizach.
33769
33770        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
33771        https://bugs.webkit.org/show_bug.cgi?id=47636
33772
33773        Define new roles in WebCore and map them to ATK accordingly.
33774
33775        Test: platform/gtk/accessibility/aria-roles-unignored.html
33776
33777        * accessibility/AccessibilityObject.h: Added new roles to
33778        represent paragraphs, labels, forms and div sections.
33779        * accessibility/AccessibilityRenderObject.cpp:
33780        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
33781        Return ParagraphRole, LabelRole, FormRole and DivRole when needed
33782        for the GTK platform only.
33783        * accessibility/gtk/AccessibilityObjectAtk.cpp:
33784        (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
33785        roles now that those kind of nodes won't return true to isGroup().
33786        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
33787        (atkRole): Map new WebCore roles to ATK Roles.
33788        (webkit_accessible_get_role): Remove code to define roles for
33789        paragraphs, labels, forms and divs based on node's tag name.
33790
33791        Update mappings for the Mac platform.
33792
33793        * accessibility/mac/AccessibilityObjectWrapper.mm:
33794        (createAccessibilityRoleMap): Add explicit mappings from the new
33795        roles introduced to NSAccessibilityGroupRole.
33796
337972011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33798
33799        Unreviewed. Build fix for Efl and Qt Win.
33800
33801        * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
33802
338032011-03-30  Andrey Kosyakov  <caseq@chromium.org>
33804
33805        Reviewed by Pavel Feldman.
33806
33807        Web Inspector: audit run never completes, fails in DOMAgent.js
33808        https://bugs.webkit.org/show_bug.cgi?id=57349
33809
33810        - assure document is present before calling DOMAgent.querySelectAll()
33811
33812        * inspector/front-end/AuditRules.js:
33813        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
33814
338152011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33816
33817        Unreviewed. Build fix.
33818
33819        * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
33820
338212011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33822
33823        Reviewed by Pavel Feldman.
33824
33825        Web Inspector: split debugger agent into Page and Worker-specific ones
33826        https://bugs.webkit.org/show_bug.cgi?id=57345
33827
33828        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
33829        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
33830        and Page/WorkerDebuggerAgent.
33831
33832        * CMakeLists.txt:
33833        * GNUmakefile.am:
33834        * UseJSC.cmake:
33835        * WebCore.gypi:
33836        * WebCore.pro:
33837        * WebCore.vcproj/WebCore.vcproj:
33838        * WebCore.xcodeproj/project.pbxproj:
33839        * bindings/js/JSBindingsAllInOne.cpp:
33840        * bindings/js/JSInjectedScriptHostCustom.cpp:
33841        (WebCore::JSInjectedScriptHost::currentCallFrame):
33842        * bindings/js/PageScriptDebugServer.cpp: Added.
33843        (WebCore::toPage):
33844        (WebCore::PageScriptDebugServer::shared):
33845        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33846        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33847        (WebCore::PageScriptDebugServer::addListener):
33848        (WebCore::PageScriptDebugServer::removeListener):
33849        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
33850        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
33851        (WebCore::PageScriptDebugServer::didPause):
33852        (WebCore::PageScriptDebugServer::didContinue):
33853        (WebCore::PageScriptDebugServer::didRemoveLastListener):
33854        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
33855        * bindings/js/PageScriptDebugServer.h: Added.
33856        * bindings/js/ScriptDebugServer.cpp:
33857        (WebCore::ScriptDebugServer::ScriptDebugServer):
33858        (WebCore::ScriptDebugServer::sourceParsed):
33859        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
33860        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
33861        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
33862        (WebCore::ScriptDebugServer::pauseIfNeeded):
33863        * bindings/js/ScriptDebugServer.h:
33864        * bindings/js/WorkerScriptDebugServer.cpp: Added.
33865        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33866        (WebCore::WorkerScriptDebugServer::addListener):
33867        (WebCore::WorkerScriptDebugServer::removeListener):
33868        * bindings/js/WorkerScriptDebugServer.h: Added.
33869        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33870        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
33871        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
33872        (WebCore::WorkerScriptDebugServer::didPause):
33873        (WebCore::WorkerScriptDebugServer::didContinue):
33874        * bindings/v8/PageScriptDebugServer.cpp: Added.
33875        (WebCore::retrieveFrame):
33876        (WebCore::PageScriptDebugServer::shared):
33877        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33878        (WebCore::PageScriptDebugServer::addListener):
33879        (WebCore::PageScriptDebugServer::removeListener):
33880        (WebCore::PageScriptDebugServer::setClientMessageLoop):
33881        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
33882        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
33883        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
33884        * bindings/v8/PageScriptDebugServer.h: Added.
33885        (WebCore::PageScriptDebugServer::setEnabled):
33886        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
33887        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33888        * bindings/v8/ScriptDebugServer.cpp:
33889        (WebCore::ScriptDebugServer::ScriptDebugServer):
33890        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
33891        (WebCore::ScriptDebugServer::breakProgram):
33892        (WebCore::ScriptDebugServer::continueProgram):
33893        (WebCore::ScriptDebugServer::stepIntoStatement):
33894        (WebCore::ScriptDebugServer::stepOverStatement):
33895        (WebCore::ScriptDebugServer::stepOutOfFunction):
33896        (WebCore::ScriptDebugServer::editScriptSource):
33897        (WebCore::toScriptDebugServer):
33898        (WebCore::ScriptDebugServer::breakProgramCallback):
33899        (WebCore::ScriptDebugServer::v8DebugEventCallback):
33900        (WebCore::ScriptDebugServer::handleV8DebugEvent):
33901        (WebCore::ScriptDebugServer::isPaused):
33902        * bindings/v8/ScriptDebugServer.h:
33903        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
33904        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33905        (WebCore::WorkerScriptDebugServer::addListener):
33906        (WebCore::WorkerScriptDebugServer::removeListener):
33907        * bindings/v8/WorkerScriptDebugServer.h: Added.
33908        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33909        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
33910        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
33911        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
33912        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
33913        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
33914        * inspector/InjectedScriptHost.h:
33915        (WebCore::InjectedScriptHost::init):
33916        (WebCore::InjectedScriptHost::debuggerAgent):
33917        * inspector/InspectorAgent.cpp:
33918        (WebCore::InspectorAgent::InspectorAgent):
33919        * inspector/InspectorDebuggerAgent.cpp:
33920        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
33921        (WebCore::InspectorDebuggerAgent::enable):
33922        (WebCore::InspectorDebuggerAgent::disable):
33923        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
33924        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
33925        (WebCore::InspectorDebuggerAgent::continueToLocation):
33926        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
33927        (WebCore::InspectorDebuggerAgent::editScriptSource):
33928        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
33929        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
33930        (WebCore::InspectorDebuggerAgent::resume):
33931        (WebCore::InspectorDebuggerAgent::stepOver):
33932        (WebCore::InspectorDebuggerAgent::stepInto):
33933        (WebCore::InspectorDebuggerAgent::stepOut):
33934        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
33935        (WebCore::InspectorDebuggerAgent::didPause):
33936        (WebCore::InspectorDebuggerAgent::breakProgram):
33937        * inspector/InspectorDebuggerAgent.h:
33938        * inspector/InspectorProfilerAgent.cpp:
33939        (WebCore::InspectorProfilerAgent::disable):
33940        (WebCore::InspectorProfilerAgent::enable):
33941        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
33942        * inspector/PageDebuggerAgent.cpp: Added.
33943        (WebCore::PageDebuggerAgent::create):
33944        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
33945        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
33946        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
33947        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
33948        (WebCore::PageDebuggerAgent::scriptDebugServer):
33949        * inspector/PageDebuggerAgent.h: Added.
33950        * inspector/WorkerDebuggerAgent.cpp: Added.
33951        (WebCore::WorkerDebuggerAgent::create):
33952        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
33953        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
33954        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
33955        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
33956        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
33957        * inspector/WorkerDebuggerAgent.h: Added.
33958
339592011-03-30  Levi Weintraub  <leviw@chromium.org>
33960
33961        Reviewed by Ryosuke Niwa.
33962
33963        Clicking below last line of right-to-left editable text that puts caret in the wrong place
33964        https://bugs.webkit.org/show_bug.cgi?id=38087
33965
33966        Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
33967        instead of lastLeafChild, which wasn't correct in the RTL case.
33968
33969        Test: editing/selection/click-below-rtl-text.html
33970
33971        * editing/visible_units.cpp:
33972        (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
33973        (WebCore::logicalEndPositionForLine): Ditto.
33974        * editing/visible_units.h:
33975        * rendering/RenderBlock.cpp:
33976        (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
33977        of lastLeafChild.
33978        * rendering/RootInlineBox.cpp:
33979        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
33980        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
33981        * rendering/RootInlineBox.h:
33982
339832011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33984
33985        Unreviewed. Rollout r82438 and r82436.
33986
33987        * CMakeLists.txt:
33988        * GNUmakefile.am:
33989        * UseJSC.cmake:
33990        * WebCore.gypi:
33991        * WebCore.pro:
33992        * WebCore.vcproj/WebCore.vcproj:
33993        * WebCore.xcodeproj/project.pbxproj:
33994        * bindings/js/JSBindingsAllInOne.cpp:
33995        * bindings/js/JSInjectedScriptHostCustom.cpp:
33996        (WebCore::JSInjectedScriptHost::currentCallFrame):
33997        * bindings/js/PageScriptDebugServer.cpp: Removed.
33998        * bindings/js/PageScriptDebugServer.h: Removed.
33999        * bindings/js/ScriptDebugServer.cpp:
34000        (WebCore::ScriptDebugServer::shared):
34001        (WebCore::ScriptDebugServer::ScriptDebugServer):
34002        (WebCore::ScriptDebugServer::addListener):
34003        (WebCore::ScriptDebugServer::removeListener):
34004        (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
34005        (WebCore::toPage):
34006        (WebCore::ScriptDebugServer::sourceParsed):
34007        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
34008        (WebCore::ScriptDebugServer::setJavaScriptPaused):
34009        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
34010        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
34011        (WebCore::ScriptDebugServer::pauseIfNeeded):
34012        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
34013        (WebCore::ScriptDebugServer::didAddListener):
34014        (WebCore::ScriptDebugServer::didRemoveListener):
34015        * bindings/js/ScriptDebugServer.h:
34016        * bindings/js/WorkerScriptDebugServer.cpp: Removed.
34017        * bindings/js/WorkerScriptDebugServer.h: Removed.
34018        * bindings/v8/PageScriptDebugServer.cpp: Removed.
34019        * bindings/v8/PageScriptDebugServer.h: Removed.
34020        * bindings/v8/ScriptDebugServer.cpp:
34021        (WebCore::retrieveFrame):
34022        (WebCore::ScriptDebugServer::shared):
34023        (WebCore::ScriptDebugServer::ScriptDebugServer):
34024        (WebCore::ScriptDebugServer::addListener):
34025        (WebCore::ScriptDebugServer::removeListener):
34026        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
34027        (WebCore::ScriptDebugServer::breakProgram):
34028        (WebCore::ScriptDebugServer::continueProgram):
34029        (WebCore::ScriptDebugServer::stepIntoStatement):
34030        (WebCore::ScriptDebugServer::stepOverStatement):
34031        (WebCore::ScriptDebugServer::stepOutOfFunction):
34032        (WebCore::ScriptDebugServer::editScriptSource):
34033        (WebCore::ScriptDebugServer::setEnabled):
34034        (WebCore::ScriptDebugServer::breakProgramCallback):
34035        (WebCore::ScriptDebugServer::v8DebugEventCallback):
34036        (WebCore::ScriptDebugServer::handleV8DebugEvent):
34037        (WebCore::ScriptDebugServer::didResume):
34038        * bindings/v8/ScriptDebugServer.h:
34039        (WebCore::ScriptDebugServer::pageCreated):
34040        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
34041        (WebCore::ScriptDebugServer::setClientMessageLoop):
34042        * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
34043        * bindings/v8/WorkerScriptDebugServer.h: Removed.
34044        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
34045        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
34046        * inspector/InjectedScriptHost.h:
34047        (WebCore::InjectedScriptHost::init):
34048        * inspector/InspectorAgent.cpp:
34049        (WebCore::InspectorAgent::InspectorAgent):
34050        * inspector/InspectorDebuggerAgent.cpp:
34051        (WebCore::InspectorDebuggerAgent::create):
34052        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
34053        (WebCore::InspectorDebuggerAgent::enable):
34054        (WebCore::InspectorDebuggerAgent::disable):
34055        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
34056        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
34057        (WebCore::InspectorDebuggerAgent::continueToLocation):
34058        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
34059        (WebCore::InspectorDebuggerAgent::editScriptSource):
34060        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
34061        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
34062        (WebCore::InspectorDebuggerAgent::resume):
34063        (WebCore::InspectorDebuggerAgent::stepOver):
34064        (WebCore::InspectorDebuggerAgent::stepInto):
34065        (WebCore::InspectorDebuggerAgent::stepOut):
34066        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
34067        (WebCore::InspectorDebuggerAgent::didPause):
34068        (WebCore::InspectorDebuggerAgent::breakProgram):
34069        * inspector/InspectorDebuggerAgent.h:
34070        * inspector/InspectorProfilerAgent.cpp:
34071        (WebCore::InspectorProfilerAgent::disable):
34072        (WebCore::InspectorProfilerAgent::enable):
34073        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
34074        * inspector/PageDebuggerAgent.cpp: Removed.
34075        * inspector/PageDebuggerAgent.h: Removed.
34076        * inspector/WorkerDebuggerAgent.cpp: Removed.
34077        * inspector/WorkerDebuggerAgent.h: Removed.
34078
340792011-03-30  Yury Semikhatsky  <yurys@chromium.org>
34080
34081        Unreviewed. Fix compilation on Windows and EFL.
34082
34083        * CMakeLists.txt:
34084        * bindings/js/JSBindingsAllInOne.cpp:
34085
340862011-03-30  Yury Semikhatsky  <yurys@chromium.org>
34087
34088        Reviewed by Pavel Feldman.
34089
34090        Web Inspector: split debugger agent into Page and Worker-specific ones
34091        https://bugs.webkit.org/show_bug.cgi?id=57345
34092
34093        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
34094        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
34095        and Page/WorkerDebuggerAgent.
34096
34097        * GNUmakefile.am:
34098        * UseJSC.cmake:
34099        * WebCore.gypi:
34100        * WebCore.pro:
34101        * WebCore.vcproj/WebCore.vcproj:
34102        * WebCore.xcodeproj/project.pbxproj:
34103        * bindings/js/JSInjectedScriptHostCustom.cpp:
34104        (WebCore::JSInjectedScriptHost::currentCallFrame):
34105        * bindings/js/PageScriptDebugServer.cpp: Added.
34106        (WebCore::toPage):
34107        (WebCore::PageScriptDebugServer::shared):
34108        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
34109        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
34110        (WebCore::PageScriptDebugServer::addListener):
34111        (WebCore::PageScriptDebugServer::removeListener):
34112        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
34113        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
34114        (WebCore::PageScriptDebugServer::didPause):
34115        (WebCore::PageScriptDebugServer::didContinue):
34116        (WebCore::PageScriptDebugServer::didRemoveLastListener):
34117        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
34118        * bindings/js/PageScriptDebugServer.h: Added.
34119        * bindings/js/ScriptDebugServer.cpp:
34120        (WebCore::ScriptDebugServer::ScriptDebugServer):
34121        (WebCore::ScriptDebugServer::sourceParsed):
34122        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
34123        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
34124        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
34125        (WebCore::ScriptDebugServer::pauseIfNeeded):
34126        * bindings/js/ScriptDebugServer.h:
34127        * bindings/js/WorkerScriptDebugServer.cpp: Added.
34128        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
34129        (WebCore::WorkerScriptDebugServer::addListener):
34130        (WebCore::WorkerScriptDebugServer::removeListener):
34131        * bindings/js/WorkerScriptDebugServer.h: Added.
34132        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
34133        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
34134        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
34135        (WebCore::WorkerScriptDebugServer::didPause):
34136        (WebCore::WorkerScriptDebugServer::didContinue):
34137        * bindings/v8/PageScriptDebugServer.cpp: Added.
34138        (WebCore::retrieveFrame):
34139        (WebCore::PageScriptDebugServer::shared):
34140        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
34141        (WebCore::PageScriptDebugServer::addListener):
34142        (WebCore::PageScriptDebugServer::removeListener):
34143        (WebCore::PageScriptDebugServer::setClientMessageLoop):
34144        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
34145        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
34146        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
34147        * bindings/v8/PageScriptDebugServer.h: Added.
34148        (WebCore::PageScriptDebugServer::setEnabled):
34149        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
34150        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
34151        * bindings/v8/ScriptDebugServer.cpp:
34152        (WebCore::ScriptDebugServer::ScriptDebugServer):
34153        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
34154        (WebCore::ScriptDebugServer::breakProgram):
34155        (WebCore::ScriptDebugServer::continueProgram):
34156        (WebCore::ScriptDebugServer::stepIntoStatement):
34157        (WebCore::ScriptDebugServer::stepOverStatement):
34158        (WebCore::ScriptDebugServer::stepOutOfFunction):
34159        (WebCore::ScriptDebugServer::editScriptSource):
34160        (WebCore::toScriptDebugServer):
34161        (WebCore::ScriptDebugServer::breakProgramCallback):
34162        (WebCore::ScriptDebugServer::v8DebugEventCallback):
34163        (WebCore::ScriptDebugServer::handleV8DebugEvent):
34164        (WebCore::ScriptDebugServer::isPaused):
34165        * bindings/v8/ScriptDebugServer.h:
34166        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
34167        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
34168        (WebCore::WorkerScriptDebugServer::addListener):
34169        (WebCore::WorkerScriptDebugServer::removeListener):
34170        * bindings/v8/WorkerScriptDebugServer.h: Added.
34171        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
34172        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
34173        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
34174        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
34175        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
34176        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
34177        * inspector/InjectedScriptHost.h:
34178        (WebCore::InjectedScriptHost::init):
34179        (WebCore::InjectedScriptHost::debuggerAgent):
34180        * inspector/InspectorAgent.cpp:
34181        (WebCore::InspectorAgent::InspectorAgent):
34182        * inspector/InspectorDebuggerAgent.cpp:
34183        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
34184        (WebCore::InspectorDebuggerAgent::enable):
34185        (WebCore::InspectorDebuggerAgent::disable):
34186        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
34187        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
34188        (WebCore::InspectorDebuggerAgent::continueToLocation):
34189        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
34190        (WebCore::InspectorDebuggerAgent::editScriptSource):
34191        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
34192        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
34193        (WebCore::InspectorDebuggerAgent::resume):
34194        (WebCore::InspectorDebuggerAgent::stepOver):
34195        (WebCore::InspectorDebuggerAgent::stepInto):
34196        (WebCore::InspectorDebuggerAgent::stepOut):
34197        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
34198        (WebCore::InspectorDebuggerAgent::didPause):
34199        (WebCore::InspectorDebuggerAgent::breakProgram):
34200        * inspector/InspectorDebuggerAgent.h:
34201        * inspector/InspectorProfilerAgent.cpp:
34202        (WebCore::InspectorProfilerAgent::disable):
34203        (WebCore::InspectorProfilerAgent::enable):
34204        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
34205        * inspector/PageDebuggerAgent.cpp: Added.
34206        (WebCore::PageDebuggerAgent::create):
34207        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
34208        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
34209        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
34210        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
34211        (WebCore::PageDebuggerAgent::scriptDebugServer):
34212        * inspector/PageDebuggerAgent.h: Added.
34213        * inspector/WorkerDebuggerAgent.cpp: Added.
34214        (WebCore::WorkerDebuggerAgent::create):
34215        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
34216        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
34217        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
34218        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
34219        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
34220        * inspector/WorkerDebuggerAgent.h: Added.
34221
342222011-03-30  Alexander Pavlov  <apavlov@chromium.org>
34223
34224        Reviewed by Pavel Feldman.
34225
34226        Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
34227        https://bugs.webkit.org/show_bug.cgi?id=57440
34228
34229        * inspector/InspectorCSSAgent.cpp:
34230        (WebCore::InspectorCSSAgent::getStylesForNode):
34231        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
34232        * inspector/InspectorCSSAgent.h:
34233        * inspector/front-end/CSSStyleModel.js:
34234        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
34235
342362011-03-30  Evan Martin  <evan@chromium.org>
34237
34238        Reviewed by Ryosuke Niwa.
34239
34240        Fix a last-second ASSERT in previous change that was wrong.
34241
34242        * dom/Document.cpp:
34243        (WebCore::Document::setTitle):
34244
342452011-03-30  Levi Weintraub  <leviw@chromium.org>
34246
34247        Reviewed by Eric Seidel.
34248
34249        RTL:  Directionality always reset on hard line break
34250        https://bugs.webkit.org/show_bug.cgi?id=23124
34251
34252        No longer clearing all BidiContexts when we hit a hard line break.
34253        Instead, directionality applied by DOM elements is preserved by
34254        reconstructing the context stack ignoring those that didn't come
34255        from the DOM.
34256
34257        Test: fast/text/international/bidi-br-as-paragraph-separator.html
34258
34259        * platform/text/BidiContext.cpp:
34260        (WebCore::BidiContext::createUncached):
34261        (WebCore::BidiContext::create):
34262        (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
34263        and recalculate its bidi level.
34264        (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
34265        a BidiContext stack that's equivalent but without contexts from Unicode directional
34266        characters.
34267        (WebCore::operator==): Now takes into account embedding source.
34268        * platform/text/BidiContext.h:
34269        (WebCore::BidiContext::source): Enum to specify whether an embedded
34270        bidirectional control came from the DOM/Style or Unicode characters
34271        (WebCore::BidiContext::BidiContext):
34272        * platform/text/BidiResolver.h:
34273        (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
34274        and a hint about where it came from so we can differentiate DOM directions
34275        from unicode direction control characters.
34276        (WebCore::BidiEmbedding::direction):
34277        (WebCore::BidiEmbedding::source):
34278        (WebCore::::embed): Now takes a source as well as a direction.
34279        (WebCore::::commitExplicitEmbedding):
34280        (WebCore::::createBidiRunsForLine):
34281        * rendering/InlineIterator.h:
34282        (WebCore::bidiNext):
34283        (WebCore::bidiFirst):
34284        * rendering/RenderBlockLineLayout.cpp:
34285        (WebCore::RenderBlock::determineStartPosition):
34286
342872011-03-30  Steve Block  <steveblock@google.com>
34288
34289        Reviewed by Jeremy Orlow.
34290
34291        JavaMethod should not expose JavaString in its API
34292        https://bugs.webkit.org/show_bug.cgi?id=55765
34293
34294        - Factors out a JavaMethod interface which does not use JNI types.
34295          This will allow the Java bridge to be used with objects that
34296          don't use JNI directly. The existing jobject-backed
34297          implementation is moved to a new JavaMethodJobject class which
34298          implements the interface.
34299        - Use WTF::String in place of JavaString in the API, as JavaString
34300          exposes JNI types in its interface.
34301        - Remove the method ID as it uses JNI types.
34302
34303        No new tests, refactoring only.
34304
34305        * Android.jscbindings.mk:
34306        * Android.v8bindings.mk:
34307        * GNUmakefile.am:
34308        * WebCore.gypi:
34309        * WebCore.xcodeproj/project.pbxproj:
34310        * bridge/jni/JavaMethod.h:
34311        * bridge/jni/JavaMethodJobject.cpp:
34312        (JavaMethodJobject::JavaMethodJobject):
34313        (JavaMethodJobject::~JavaMethodJobject):
34314        (appendClassName):
34315        (JavaMethodJobject::signature):
34316        * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
34317        (JSC::Bindings::JavaMethodJobject::name):
34318        (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
34319        (JSC::Bindings::JavaMethodJobject::parameterAt):
34320        (JSC::Bindings::JavaMethodJobject::returnType):
34321        (JSC::Bindings::JavaMethodJobject::isStatic):
34322        (JSC::Bindings::JavaMethodJobject::numParameters):
34323        * bridge/jni/jsc/JavaClassJSC.cpp:
34324        (JavaClass::JavaClass):
34325        * bridge/jni/jsc/JavaInstanceJSC.cpp:
34326        (JavaInstance::invokeMethod):
34327        * bridge/jni/v8/JavaClassV8.cpp:
34328        (JavaClass::JavaClass):
34329        * bridge/jni/v8/JavaInstanceV8.cpp:
34330        (JavaInstance::invokeMethod):
34331
343322011-03-30  Evan Martin  <evan@chromium.org>
34333
34334        Reviewed by Ryosuke Niwa.
34335
34336        clean up Document's handling of title changes
34337        https://bugs.webkit.org/show_bug.cgi?id=57433
34338
34339        Document::setTitle has two entry points:
34340        1) from DOM bindings, like document.title="foo"
34341        2) from title tags, like <title>foo</title> in HTML
34342
34343        Split these two code paths to make the code easier to follow.
34344        Also, replace the repeated pattern of
34345            m_rawTitle = "foo"; updateTitle();
34346        with
34347            updateTitle("foo");
34348
34349        * dom/Document.cpp:
34350        (WebCore::Document::updateTitle):
34351        (WebCore::Document::setTitle):
34352        (WebCore::Document::setTitleElement):
34353        (WebCore::Document::removeTitle):
34354        * dom/Document.h:
34355        * html/HTMLTitleElement.cpp:
34356        (WebCore::HTMLTitleElement::insertedIntoDocument):
34357        (WebCore::HTMLTitleElement::childrenChanged):
34358        * svg/SVGTitleElement.cpp:
34359        (WebCore::SVGTitleElement::insertedIntoDocument):
34360        (WebCore::SVGTitleElement::childrenChanged):
34361
343622011-03-30  Levi Weintraub  <leviw@chromium.org>
34363
34364        Reviewed by Ryosuke Niwa.
34365
34366        BreakBlockQuoteCommand assumes all li tags have list item renderers
34367        https://bugs.webkit.org/show_bug.cgi?id=57253
34368
34369        Checking that the renderers of li nodes are actually RenderListItems
34370        before treating them as such.
34371
34372        Test: editing/execCommand/crash-breaking-blockquote-with-list.html
34373
34374        * editing/BreakBlockquoteCommand.cpp:
34375        (WebCore::BreakBlockQuoteCommand::doApply):
34376
343772011-03-30  Pavel Feldman  <pfeldman@chromium.org>
34378
34379        Not reviewed: fixing typo in the inspector front-end.
34380
34381        Web Inspector: REGRESSION: Broken live edit errors handling
34382        https://bugs.webkit.org/show_bug.cgi?id=57436
34383
34384        * inspector/front-end/DebuggerModel.js:
34385        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
34386
343872011-03-30  Yael Aharon  <yael.aharon@nokia.com>
34388
34389        Reviewed by Eric Seidel.
34390
34391        Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
34392        https://bugs.webkit.org/show_bug.cgi?id=9272
34393
34394
34395        Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
34396
34397        Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
34398        to decide if there is more text in the next line.
34399
34400        Tests: fast/borders/rtl-border-01.html
34401               fast/borders/rtl-border-02.html
34402               fast/borders/rtl-border-03.html
34403               fast/borders/rtl-border-04.html
34404               fast/borders/rtl-border-05.html
34405
34406        * rendering/InlineFlowBox.cpp:
34407        (WebCore::isAnsectorAndWithinBlock):
34408        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
34409        * rendering/InlineFlowBox.h:
34410        * rendering/RenderBlock.h:
34411        * rendering/RenderBlockLineLayout.cpp:
34412        (WebCore::RenderBlock::constructLine):
34413        (WebCore::reachedEndOfTextRenderer):
34414        (WebCore::RenderBlock::layoutInlineChildren):
34415
344162011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
34417
34418        Reviewed by Eric Seidel.
34419
34420        REGRESSION (r68976): Incorrect bidi rendering in SVG text
34421        https://bugs.webkit.org/show_bug.cgi?id=53980
34422
34423        Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
34424        in visual and logical order. Added several helper methods to make the code more readable.
34425
34426        Fix Unicode directional formatting characters support, now works as expected.
34427
34428        Test: svg/text/bidi-embedded-direction.svg
34429
34430        * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
34431        (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
34432        (WebCore::getLogicalEndBoxAndNode): Ditto.
34433        * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
34434        (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
34435        * rendering/InlineFlowBox.h:
34436        * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
34437        (WebCore::RenderSVGText::RenderSVGText):
34438        (WebCore::RenderSVGText::layout):
34439        * rendering/svg/RenderSVGText.h: Ditto.
34440        (WebCore::RenderSVGText::layoutAttributes):
34441        (WebCore::RenderSVGText::needsReordering):
34442        * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
34443                                              which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
34444        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
34445        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
34446        (WebCore::swapItems):
34447        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
34448        (WebCore::SVGRootInlineBox::reorderValueLists):
34449        * rendering/svg/SVGRootInlineBox.h:
34450        * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
34451        (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
34452        (WebCore::SVGTextLayoutAttributes::dump):
34453        * rendering/svg/SVGTextLayoutAttributes.h:
34454        (WebCore::SVGTextLayoutAttributes::context):
34455        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
34456        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
34457        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
34458        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
34459        * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
34460        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
34461        (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
34462        (WebCore::SVGTextLayoutEngine::recordTextFragment):
34463        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
34464        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
34465        (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
34466        (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
34467        (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
34468        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
34469        * rendering/svg/SVGTextLayoutEngine.h:
34470
344712011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
34472
34473        Not reviewed trivial change.
34474
34475        Web Inspector: Remove unnecessary function arguments after r82281.
34476        https://bugs.webkit.org/show_bug.cgi?id=57327
34477
34478        * inspector/InspectorAgent.cpp:
34479        (WebCore::InspectorAgent::didCommitLoad):
34480        (WebCore::InspectorAgent::domContentLoadedEventFired):
34481        * inspector/InspectorAgent.h:
34482        * inspector/InspectorInstrumentation.cpp:
34483        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
34484        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
34485
344862011-03-30  Kent Tamura  <tkent@chromium.org>
34487
34488        Reviewed by Ojan Vafai.
34489
34490        H1 element should have different default style if it is in HTML5 sectioning elements.
34491        https://bugs.webkit.org/show_bug.cgi?id=52693
34492
34493        Test: fast/css/h1-in-section-elements.html
34494
34495        * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
34496        (:-webkit-any(article,aside,nav,section) h1):
34497        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
34498        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
34499        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
34500        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
34501
345022011-03-29  Beth Dakin  <bdakin@apple.com>
34503
34504        Reviewed by Maciej Stachowiak.
34505
34506        Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
34507        webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
34508        -and corresponding-
34509        <rdar://problem/8665411>
34510
34511        * platform/mac/PlatformScreenMac.mm:
34512        (WebCore::windowScaleFactor):
34513        (WebCore::toUserSpace):
34514        (WebCore::toDeviceSpace):
34515
345162011-03-29  Eric Seidel  <eric@webkit.org>
34517
34518        Reviewed by Dimitri Glazkov.
34519
34520        Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
34521        https://bugs.webkit.org/show_bug.cgi?id=57369
34522
34523        I considered renaming these to m_endOfRun and m_startOfRun but decided
34524        that was too verbose for now (given how often they're used).  I suspect
34525        with a bit more refactoring we'll find they're not used very often and can be renamed
34526        if so desired.
34527
34528        * platform/text/BidiResolver.h:
34529        (WebCore::::appendRun):
34530        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
34531        (WebCore::::lowerExplicitEmbeddingLevel):
34532        (WebCore::::raiseExplicitEmbeddingLevel):
34533        (WebCore::::createBidiRunsForLine):
34534        * rendering/InlineIterator.h:
34535        (WebCore::InlineBidiResolver::appendRun):
34536
345372011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
34538
34539        Reviewed by Pavel Feldman.
34540
34541        Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
34542        https://bugs.webkit.org/show_bug.cgi?id=57351
34543
34544        * bindings/js/ScriptHeapSnapshot.h:
34545        * bindings/v8/ScriptHeapSnapshot.cpp:
34546        * bindings/v8/ScriptHeapSnapshot.h:
34547        * inspector/Inspector.json:
34548        * inspector/InspectorProfilerAgent.cpp:
34549        * inspector/InspectorProfilerAgent.h:
34550        * inspector/front-end/DetailedHeapshotGridNodes.js:
34551        (WebInspector.HeapSnapshotGenericObjectNode):
34552        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
34553        * inspector/front-end/DetailedHeapshotView.js:
34554        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
34555
345562011-03-29  Eric Seidel  <eric@webkit.org>
34557
34558        Reviewed by Ryosuke Niwa.
34559
34560        Split more logic out from createBidiRunsForLine for readability
34561        https://bugs.webkit.org/show_bug.cgi?id=57341
34562
34563        I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
34564        This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
34565
34566        * platform/text/BidiResolver.h:
34567        (WebCore::::reorderRunsFromLevels):
34568        (WebCore::::createBidiRunsForLine):
34569
345702011-03-29  Kent Tamura  <tkent@chromium.org>
34571
34572        Reviewed by Dimitri Glazkov.
34573
34574        Make validation message bubble testable
34575        https://bugs.webkit.org/show_bug.cgi?id=57290
34576
34577        Introduce a setting for validation message timer so that we can configure
34578        how long we show a validation message bubble.
34579
34580        Test: fast/forms/validation-message-appearance.html
34581
34582        * html/ValidationMessage.cpp:
34583        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
34584          Don't set a timer if the timer magnification value is 0 or negative.
34585          Otherwise, hides the bubble length * magnification / 1000 seconds.
34586        * page/Settings.cpp:
34587        (WebCore::Settings::Settings): Initialize the timer magnification value.
34588        * page/Settings.h:
34589        (WebCore::Settings::setValidationMessageTimerMagnification): Added.
34590        (WebCore::Settings::validationMessageTimerMaginification): Added.
34591
345922011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34593
34594        Remove the extraneous declaration I accidentally added in r82376.
34595
34596        * dom/MouseEvent.h: Removed createSimulated decl.
34597
345982011-03-29  James Robinson  <jamesr@chromium.org>
34599
34600        Reviewed by Kenneth Russell.
34601
34602        [chromium] Compositor crash with show-layer-borders flag
34603        https://bugs.webkit.org/show_bug.cgi?id=57292
34604
34605        Synchronize the debug border color/width with other properties to ensure the appropriate
34606        CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
34607        test.
34608
34609        * platform/graphics/chromium/LayerChromium.cpp:
34610        (WebCore::LayerChromium::pushPropertiesTo):
34611        (WebCore::LayerChromium::setBorderColor):
34612        (WebCore::LayerChromium::setBorderWidth):
34613        * platform/graphics/chromium/LayerChromium.h:
34614
346152011-03-29  Tony Gentilcore  <tonyg@chromium.org>
34616
34617        Reviewed by Adam Barth.
34618
34619        Teach the preload scanner about &lt;input type=image&gt;
34620        https://bugs.webkit.org/show_bug.cgi?id=57404
34621
34622        I did a very rough sample of the top 50 web pages to see how many of each
34623        HTML resource type they include:
34624        img src: 1,359
34625        script src: 276
34626        link href: 256
34627        iframe src: 104
34628        input src: 50
34629        embed src: 37
34630        @import: 13
34631        object data: 11
34632
34633        Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
34634        This patch only does inputs.
34635
34636        Test: fast/preloader/input.html
34637
34638        * html/parser/HTMLPreloadScanner.cpp:
34639        (WebCore::HTMLNames::PreloadTask::PreloadTask):
34640        (WebCore::HTMLNames::PreloadTask::processAttributes):
34641        (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
34642        (WebCore::HTMLNames::PreloadTask::preload):
34643
346442011-03-29  Luke Macpherson   <macpherson@chromium.org>
34645
34646        Reviewed by David Levin.
34647
34648        Improve the massive switch statement in CSSStyleSelector::applyProperty.
34649        https://bugs.webkit.org/show_bug.cgi?id=56288
34650
34651        No new tests are needed because no new functionality exposed.
34652
34653        * css/CSSStyleSelector.cpp:
34654        (WebCore::CSSStyleSelector::applyProperty):
34655        Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
34656        Updated comment.
34657
346582011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34659
34660        Reviewed by Darin Adler.
34661
34662        Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
34663        https://bugs.webkit.org/show_bug.cgi?id=57402
34664
34665        No functional changes, covered by existing tests.
34666
34667        * dom/EventDispatcher.cpp:
34668        (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
34669        (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
34670            into one, now that simulated-click events don't need one.
34671        * dom/EventDispatcher.h: Updated decls.
34672        * dom/MouseEvent.cpp:
34673        (WebCore::SimulatedMouseEvent::create): Added.
34674        (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
34675        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
34676        * dom/MouseEvent.h: Made constructor protected.
34677
346782011-03-29  Anders Carlsson  <andersca@apple.com>
34679
34680        Fix build.
34681
34682        * WebCore.exp.in:
34683
346842011-03-29  Steve Block  <steveblock@google.com>
34685
34686        Reviewed by Jeremy Orlow.
34687
34688        JavaInstance should not use jvalue in its API
34689        https://bugs.webkit.org/show_bug.cgi?id=57019
34690
34691        This change updates JavaInstance for V8 to use JavaValue, rather than
34692        jvalue, in its API. This will allow us to create an API for
34693        JavaInstance that is independent of JNI, to allow it to be
34694        implemented on platforms that do not use JNI directly.
34695
34696        Refactoring only, no new tests.
34697
34698        * bridge/jni/v8/JavaInstanceV8.cpp:
34699        (JavaInstance::invokeMethod):
34700        (JavaInstance::getField):
34701        * bridge/jni/v8/JavaInstanceV8.h:
34702        * bridge/jni/v8/JavaNPObjectV8.cpp:
34703        (JSC::Bindings::JavaNPObjectInvoke):
34704        (JSC::Bindings::JavaNPObjectGetProperty):
34705        * bridge/jni/v8/JavaValueV8.h:
34706
347072011-03-29  Eric Seidel  <eric@webkit.org>
34708
34709        Reviewed by Dimitri Glazkov.
34710
34711        Rename BidiResolver::last to m_last to match modern style
34712        https://bugs.webkit.org/show_bug.cgi?id=57367
34713
34714        * platform/text/BidiResolver.h:
34715        (WebCore::::lowerExplicitEmbeddingLevel):
34716        (WebCore::::raiseExplicitEmbeddingLevel):
34717        (WebCore::::createBidiRunsForLine):
34718
347192011-03-29  Justin Schuh  <jschuh@chromium.org>
34720
34721        Reviewed by Maciej Stachowiak.
34722
34723        SVGComponentTransferFunctionElement should validate type
34724        https://bugs.webkit.org/show_bug.cgi?id=56960
34725
34726        Test: svg/filters/feComponentTransfer-style-crash.xhtml
34727
34728        * svg/SVGComponentTransferFunctionElement.cpp:
34729        (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
34730        * svg/SVGComponentTransferFunctionElement.h:
34731
347322011-03-29  Thomas Klausner  <tk@giga.or.at>
34733
34734        Reviewed by David Levin.
34735
34736        png-1.5 fixes
34737        https://bugs.webkit.org/show_bug.cgi?id=54406
34738
34739        Fix compilation with png-1.5: struct members were hidden, and
34740        a new API to terminate data processing was added (especially for
34741        WebKit).
34742
34743        Compilation fixes, so no new tests.
34744
34745        * platform/image-decoders/png/PNGImageDecoder.cpp:
34746        (WebCore::PNGImageDecoder::headerAvailable):
34747        (WebCore::PNGImageDecoder::rowAvailable):
34748
347492011-03-29  Gavin Peters  <gavinp@chromium.org>
34750
34751        Reviewed by Tony Gentilcore.
34752
34753        Add beforeload to icon and prefetch link rel types
34754        https://bugs.webkit.org/show_bug.cgi?id=56424
34755
34756        Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
34757        thread, I've discussed my hopes for the link element, and adding the link header.  This
34758        change helps improve the link header by making it participate in the beforeload event in
34759        two more important cases.
34760
34761        Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
34762               http/tests/misc/link-rel-icon-beforeload.html
34763               webarchive/test-link-rel-icon-beforeload.html
34764
34765        * html/HTMLLinkElement.cpp:
34766        (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
34767        (WebCore::HTMLLinkElement::process):
34768        * html/HTMLLinkElement.h:
34769
347702011-03-29  Eric Seidel  <eric@webkit.org>
34771
34772        Reviewed by Dimitri Glazkov.
34773
34774        Rename BidiResolver::current to BidiResolver::m_current to match modern style
34775        https://bugs.webkit.org/show_bug.cgi?id=57363
34776
34777        I was very confused by current until I realized it was a member variable.
34778        I also did m_reachedEndOfLine since that was small.
34779
34780        * platform/text/BidiResolver.h:
34781        (WebCore::BidiResolver::position):
34782        (WebCore::BidiResolver::setPosition):
34783        (WebCore::BidiResolver::increment):
34784        (WebCore::::createBidiRunsForLine):
34785
347862011-03-29  Geoff Pike  <gpike@chromium.org>
34787
34788        Reviewed by Dimitri Glazkov.
34789
34790        In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
34791        lazily.  In my informal testing it seems to be used hardly at all, so
34792        it's wasteful to create it eagerly.  Initializing a ListHashSet
34793        is expensive because a ListHashSet initially has space for 256
34794        elements, and that space is memset to 0.
34795
34796        This change should improve performance but have no impact on
34797        correctness.  On x86-64, for example, the change cuts the
34798        cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
34799        from ~1700 cycles to ~300 cycles.
34800
34801        * rendering/HitTestResult.cpp:
34802        (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
34803        (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
34804        (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
34805        (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
34806        * rendering/HitTestResult.h:
34807        (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability.  Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same.  Modify rectBasedTestResult() and add mutableRectBasedTestResult().
34808
348092011-03-29  Timothy Hatcher  <timothy@apple.com>
34810
34811        Update the order of the context menu to better match AppKit on Mac.
34812
34813        <rdar://problem/9054893>
34814
34815        Reviewed by John Sullivan.
34816
34817        * English.lproj/Localizable.strings: Updated.
34818        * page/ContextMenuController.cpp:
34819        (WebCore::ContextMenuController::populate): Update the order of items on Mac.
34820        * platform/LocalizationStrategy.h:
34821        * platform/LocalizedStrings.cpp:
34822        (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
34823        * platform/LocalizedStrings.h:
34824        * platform/android/LocalizedStringsAndroid.cpp:
34825        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34826        * platform/brew/LocalizedStringsBrew.cpp:
34827        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34828        * platform/efl/LocalizedStringsEfl.cpp:
34829        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34830        * platform/gtk/LocalizedStringsGtk.cpp:
34831        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34832        * platform/haiku/LocalizedStringsHaiku.cpp:
34833        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34834        * platform/wx/LocalizedStringsWx.cpp:
34835        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34836
348372011-03-29  Dean Jackson  <dino@apple.com>
34838
34839        Reviewed by Chris Marrin and Ken Russell.
34840
34841        https://bugs.webkit.org/show_bug.cgi?id=57248
34842        Occlusion issues with WebGL in Safari
34843
34844        The depth buffer on Safari ports was being set up with a
34845        maximum of 16 bits. Now we use a combined 24/8 depth/stencil
34846        buffer on Mac ports.
34847
34848        No new tests as this is the setting for a particular port. Other
34849        ports may use different defaults.
34850
34851        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
34852        (WebCore::GraphicsContext3D::validateAttributes):
34853        - use Extensions3D to test for depth and multisample extensions
34854          rather than querying OpenGL directly.
34855        (WebCore::GraphicsContext3D::reshape):
34856        - use a 24bit depth buffer when the extension is enabled.
34857
348582011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34859
34860        Sorted XCode project. It's gotten quite out of sorts.
34861
34862        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
34863
348642011-03-29  Emil A Eklund  <eae@chromium.org>
34865
34866        Reviewed by Dimitri Glazkov.
34867
34868        DatasetDOMStringMap::item and ::contains copies attribute name string
34869        https://bugs.webkit.org/show_bug.cgi?id=55645
34870
34871        Change propertyNameMatchesAttributeName to match without creating a copy
34872        of the string.
34873
34874        * dom/DatasetDOMStringMap.cpp:
34875        (WebCore::propertyNameMatchesAttributeName):
34876
348772011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
34878
34879        Unreviewed rollout r82282, part of r82288, r82298.
34880
34881        * css/CSSParser.cpp:
34882        (WebCore::parseColorInt):
34883        (WebCore::isValidDouble):
34884        (WebCore::parseAlphaValue):
34885        (WebCore::CSSParser::parseColor):
34886
348872011-03-25  Brent Fulgham  <bfulgham@webkit.org>
34888
34889        Reviewed by Dave Hyatt.
34890
34891        https://bugs.webkit.org/show_bug.cgi?id=55981
34892        Second round of clean-ups, aimed at supporting GTK with the
34893        same unified FontPlatformData header.  This version removes
34894        some unneeded WinCairo code, and aligns the WinCairo and
34895        GTK ports to reduce code duplication.
34896
34897        * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
34898          to an old WinCairo file.
34899        * platform/graphics/FontPlatformData.h: Remove unneeded member
34900          for m_fontFace, which is a member of m_scaledFont.  Switch to
34901          standard Cairo hashing.
34902        (WebCore::FontPlatformData::FontPlatformData):
34903        (WebCore::FontPlatformData::font):
34904        (WebCore::FontPlatformData::scaledFont):
34905        (WebCore::FontPlatformData::hash):
34906        (WebCore::FontPlatformData::isHashTableDeletedValue):
34907        (WebCore::FontPlatformData::hashTableDeletedFontValue):
34908        * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
34909          the unnecessary fontFace() accessor.
34910        (WebCore::FontCache::createFontPlatformData):
34911        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
34912        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
34913        (WebCore::FontPlatformData::platformDataInit):
34914        (WebCore::FontPlatformData::FontPlatformData):
34915        (WebCore::FontPlatformData::~FontPlatformData):
34916        (WebCore::FontPlatformData::platformDataAssign):
34917        (WebCore::FontPlatformData::platformIsEqual):
34918        * platform/graphics/win/FontPlatformDataWin.cpp:
34919        (WebCore::FontPlatformData::FontPlatformData):
34920
349212011-03-29  Jian Li  <jianli@chromium.org>
34922
34923        Reviewed by Adam Barth.
34924
34925        Inline worker powered by blob URL does not work with files URL even if
34926        allowFileAccessFromFileURLs is enabled
34927        https://bugs.webkit.org/show_bug.cgi?id=56063
34928
34929        Test: fast/files/workers/inline-worker-via-blob-url.html
34930
34931        * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
34932        * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
34933        * page/SecurityOrigin.cpp:
34934        (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
34935        filesystem URL also to blob URL. Also fixed the problem that m_isUnique
34936        is incorrectly set for blob and filesystem URLs.
34937        (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
34938        since we use the same logic in SecurityOrigin constructor as filesystem
34939        URL.
34940        (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
34941        URL since it is not needed with the fix in SecurityOrigin constructor.
34942
349432011-03-29  Timothy Hatcher  <timothy@apple.com>
34944
34945        Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
34946
34947        https://webkit.org/b/57354
34948
34949        Reviewed by Sam Weinig.
34950
34951        * English.lproj/Localizable.strings: Updated.
34952        * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
34953        * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
34954        extract-localizable-strings does not complain about unbalanced single quotes.
34955
349562011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
34957
34958        Unreviewed, rolling out r82295 and r82300.
34959        http://trac.webkit.org/changeset/82295
34960        http://trac.webkit.org/changeset/82300
34961        https://bugs.webkit.org/show_bug.cgi?id=57380
34962
34963        This patch breaks compile on Chromium (Requested by
34964        abarth|gardener on #webkit).
34965
34966        * accessibility/AccessibilityObject.h:
34967        * accessibility/AccessibilityRenderObject.cpp:
34968        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
34969        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34970        (atkRole):
34971        (webkit_accessible_get_role):
34972        * accessibility/mac/AccessibilityObjectWrapper.mm:
34973
349742011-03-29  Anders Carlsson  <andersca@apple.com>
34975
34976        Fix clang build.
34977
34978        * platform/text/BidiResolver.h:
34979        (WebCore::::createBidiRunsForLine):
34980
349812011-03-29  Steve Falkenburg  <sfalken@apple.com>
34982
34983        Reviewed by Adam Roben.
34984
34985        Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
34986        https://bugs.webkit.org/show_bug.cgi?id=57378
34987
34988        Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
34989        InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
34990        the IDE. To avoid this, add a separate vsprops file for each project configuration that
34991        contains the required inherited property sheets.
34992
34993        * WebCore.vcproj/QTMovieWin.vcproj:
34994        * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
34995        * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
34996        * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
34997        * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
34998        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
34999        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
35000        * WebCore.vcproj/WebCore.vcproj:
35001        * WebCore.vcproj/WebCoreDebug.vsprops: Added.
35002        * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
35003        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
35004        * WebCore.vcproj/WebCoreRelease.vsprops: Added.
35005        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
35006        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
35007
350082011-03-29  David Hyatt  <hyatt@apple.com>
35009
35010        Reviewed by Simon Fraser.
35011
35012        <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
35013
35014        Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
35015        and can't be done without more work.
35016
35017        Added fast/block/float/float-forced-below-other-floats.html
35018
35019        * rendering/RenderBlock.cpp:
35020        (WebCore::RenderBlock::logicalLeftOffsetForLine):
35021        (WebCore::RenderBlock::logicalRightOffsetForLine):
35022
350232011-03-29  Eric Seidel  <eric@webkit.org>
35024
35025        Reviewed by Ryosuke Niwa.
35026
35027        Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
35028        https://bugs.webkit.org/show_bug.cgi?id=57338
35029
35030        I'm attempting to break createBidiRunsForLine into understandable pieces
35031        so that we can tell what it's actually doing.  Our implementation of the
35032        unicode bidi algorithm is slightly different from the spec in that we
35033        run it per-line (instead of over the entire paragraph at once).  This is
35034        great for performance (our implementation is resumable), but it makes
35035        things a bit tricky to understand.  Splitting createBidiRunsForLine into
35036        pieces should help make our UBA implementation more readable.
35037
35038        * platform/text/BidiResolver.h:
35039        (WebCore::::updateStatusLastFromCurrentDirection):
35040        (WebCore::::createBidiRunsForLine):
35041
350422011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
35043
35044        Reviewed by Martin Robinson.
35045
35046        [Gtk] Consistent crash from Google/ARIA combobox click
35047        https://bugs.webkit.org/show_bug.cgi?id=55883
35048
35049        Do not call to firstChild() to avoid entering into infinite loops.
35050
35051        This would happen when current item is a WebCore Group and some of
35052        its children have either role 'option' or 'menuitem'. Other than
35053        that the logic behind that call to firstChild() seems to be no
35054        longer needed so it's safe to remove it.
35055
35056        Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
35057
35058        * accessibility/gtk/AccessibilityObjectAtk.cpp:
35059        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
35060        Remove call to firsChild, which was leading to crashes sometimes.
35061
350622011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
35063
35064        Reviewed by Chris Fleizach.
35065
35066        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
35067        https://bugs.webkit.org/show_bug.cgi?id=47636
35068
35069        Define new roles in WebCore and map them to ATK accordingly.
35070
35071        Test: platform/gtk/accessibility/aria-roles-unignored.html
35072
35073        * accessibility/AccessibilityObject.h: Added new roles to
35074        represent paragraphs, labels, forms and div sections.
35075        * accessibility/AccessibilityRenderObject.cpp:
35076        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
35077        Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
35078        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35079        (atkRole): Map new WebCore roles to ATK Roles.
35080        (webkit_accessible_get_role): Remove code to define roles for
35081        paragraphs, labels, forms and divs based on node's tag name.
35082
35083        Update mappings for the Mac platform.
35084
35085        * accessibility/mac/AccessibilityObjectWrapper.mm:
35086        (createAccessibilityRoleMap): Add explicit mappings from the new
35087        roles introduced to NSAccessibilityGroupRole.
35088
350892011-03-29  Philippe Normand  <pnormand@igalia.com>
35090
35091        Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
35092
35093        * rendering/InlineIterator.h:
35094        (WebCore::InlineIterator::moveToStartOf):
35095
350962011-03-29  Darin Adler  <darin@apple.com>
35097
35098        Fix some just-introduced build failures.
35099
35100        * WebCore.pro: Correct spelling of filename.
35101
35102        * css/CSSParser.cpp:
35103        (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
35104        on Leopard. Also renamed one local variabel.
35105
35106        * inspector/InspectorAgent.cpp:
35107        (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
35108        (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
35109
351102011-03-29  Andras Becsi  <abecsi@webkit.org>
35111
35112        Reviewed by Darin Adler.
35113
35114        CSS: Slow parsing of rgb() with percent values
35115        https://bugs.webkit.org/show_bug.cgi?id=16708
35116
35117        Implement fast-path parsing for percentage color values.
35118
35119        Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
35120
35121        * css/CSSParser.cpp:
35122        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
35123        (WebCore::parseDouble): Function for parsing double values if they are valid.
35124        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
35125        (WebCore::parseAlphaValue): Use the new functions.
35126        (WebCore::CSSParser::parseColor): Ditto.
35127
351282011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
35129
35130        Reviewed by Pavel Feldman.
35131
35132        Web Inspector: extract InspectorPageAgent from InspectorAgent.
35133        https://bugs.webkit.org/show_bug.cgi?id=57327
35134
35135        There are page related methods and inspector related methods in InspectorAgent.
35136        It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
35137
35138        * GNUmakefile.am:
35139        * WebCore.gypi:
35140        * inspector/CodeGeneratorInspector.pm:
35141        * inspector/Inspector.json:
35142        * inspector/InspectorAgent.cpp:
35143        (WebCore::InspectorAgent::InspectorAgent):
35144        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
35145        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
35146        (WebCore::InspectorAgent::setFrontend):
35147        (WebCore::InspectorAgent::disconnectFrontend):
35148        (WebCore::InspectorAgent::didCommitLoad):
35149        (WebCore::InspectorAgent::domContentLoadedEventFired):
35150        * inspector/InspectorAgent.h:
35151        (WebCore::InspectorAgent::pageAgent):
35152        * inspector/InspectorPageAgent.cpp: Added.
35153        (WebCore::InspectorPageAgent::create):
35154        (WebCore::InspectorPageAgent::InspectorPageAgent):
35155        (WebCore::InspectorPageAgent::setFrontend):
35156        (WebCore::InspectorPageAgent::clearFrontend):
35157        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
35158        (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
35159        (WebCore::InspectorPageAgent::reloadPage):
35160        (WebCore::InspectorPageAgent::openInInspectedWindow):
35161        (WebCore::InspectorPageAgent::setUserAgentOverride):
35162        (WebCore::buildObjectForCookie):
35163        (WebCore::buildArrayForCookies):
35164        (WebCore::InspectorPageAgent::getCookies):
35165        (WebCore::InspectorPageAgent::deleteCookie):
35166        (WebCore::InspectorPageAgent::inspectedURLChanged):
35167        (WebCore::InspectorPageAgent::restore):
35168        (WebCore::InspectorPageAgent::didCommitLoad):
35169        (WebCore::InspectorPageAgent::domContentEventFired):
35170        (WebCore::InspectorPageAgent::loadEventFired):
35171        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
35172        (WebCore::InspectorPageAgent::applyUserAgentOverride):
35173        * inspector/InspectorPageAgent.h: Added.
35174        * inspector/InspectorController.cpp:
35175        (WebCore::InspectorController::connectFrontend):
35176        * inspector/InspectorInstrumentation.cpp:
35177        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
35178        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
35179        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
35180        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
35181        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
35182        (WebCore::InspectorInstrumentation::retrievePageAgent):
35183        * inspector/InspectorInstrumentation.h:
35184        * inspector/InstrumentingAgents.h:
35185        (WebCore::InstrumentingAgents::InstrumentingAgents):
35186        (WebCore::InstrumentingAgents::inspectorPageAgent):
35187        (WebCore::InstrumentingAgents::setInspectorPageAgent):
35188        * inspector/front-end/AuditsPanel.js:
35189        (WebInspector.AuditsPanel.prototype._reloadResources):
35190        * inspector/front-end/CookieItemsView.js:
35191        (WebInspector.CookieItemsView.prototype._deleteCookie):
35192        (WebInspector.Cookies.getCookiesAsync):
35193        * inspector/front-end/ExtensionServer.js:
35194        (WebInspector.ExtensionServer.prototype._onReload):
35195        * inspector/front-end/NetworkPanel.js:
35196        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
35197        * inspector/front-end/ResourcesPanel.js:
35198        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
35199        * inspector/front-end/WorkersSidebarPane.js:
35200        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
35201        * inspector/front-end/inspector.js:
35202        (WebInspector.openResource):
35203        (WebInspector.documentKeyDown):
35204
352052011-03-29  David Hyatt  <hyatt@apple.com>
35206
35207        Reviewed by Darin Adler.
35208
35209        https://bugs.webkit.org/show_bug.cgi?id=57276
35210
35211        Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
35212        to a line, compare it with the parent box. If we can determine that the child box has the exact
35213        same height and baseline position as the parent box, then we keep a boolean flag set called
35214        descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
35215        flag up the line box parent chain.
35216
35217        When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
35218        a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
35219        can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
35220        without doing anything else.
35221
35222        Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
35223        to track whether a box has text descendants now as well.  When we avoid doing the recursion
35224        this flag tells us whether the collection of boxes should have an effect on the ascent and descent
35225        of the line in quirks mode.
35226
35227        * rendering/InlineFlowBox.cpp:
35228        (WebCore::InlineFlowBox::addToLine):
35229        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
35230        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
35231        (WebCore::InlineFlowBox::nodeAtPoint):
35232        (WebCore::InlineFlowBox::paintBoxDecorations):
35233        (WebCore::InlineFlowBox::paintMask):
35234        * rendering/InlineFlowBox.h:
35235        (WebCore::InlineFlowBox::InlineFlowBox):
35236        (WebCore::InlineFlowBox::hasTextDescendants):
35237        (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
35238        (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
35239        * rendering/RenderBlock.h:
35240        * rendering/RenderBlockLineLayout.cpp:
35241        (WebCore::RenderBlock::createLineBoxes):
35242        (WebCore::RenderBlock::constructLine):
35243        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
35244
352452011-03-29  Eric Seidel  <eric@webkit.org>
35246
35247        Reviewed by Ryosuke Niwa.
35248
35249        Remove a bunch of duplicate code by adding some InlineIterator helper methods
35250        https://bugs.webkit.org/show_bug.cgi?id=57326
35251
35252        Once I started adding these it became clear how much crazy duplicated code
35253        we had due to treating InlineIterator as a struct and accessing its
35254        members directly.  We can't quite make the members private yet since
35255        findNextLineBreak still splits out the members.  But this change
35256        makes the code much cleaner.
35257
35258        * rendering/InlineIterator.h:
35259        (WebCore::InlineIterator::clear):
35260        (WebCore::InlineIterator::moveToStartOf):i
35261        (WebCore::InlineIterator::moveTo):
35262        (WebCore::InlineIterator::increment):
35263        * rendering/RenderBlockLineLayout.cpp:
35264        (WebCore::tryHyphenating):
35265        (WebCore::RenderBlock::findNextLineBreak):
35266
352672011-03-29  Eric Seidel  <eric@webkit.org>
35268
35269        Reviewed by Ryosuke Niwa.
35270
35271        Clean up bidiNext by abstracting repeated code
35272        https://bugs.webkit.org/show_bug.cgi?id=57335
35273
35274        I also added a comment to explain what bidiNext is actually doing.
35275        This whole area of code is confusing but need not be.
35276
35277        * rendering/InlineIterator.h:
35278        (WebCore::embedCharFromDirection):
35279        (WebCore::notifyResolverEnteredObject):
35280        (WebCore::notifyResolverWillExitObject):
35281        (WebCore::bidiNext):
35282        (WebCore::bidiFirst):
35283
352842011-03-29  Alexander Pavlov  <apavlov@chromium.org>
35285
35286        Reviewed by Yury Semikhatsky.
35287
35288        Web Inspector: Support external CSS stylesheet freeflow text editing
35289        https://bugs.webkit.org/show_bug.cgi?id=54397
35290
35291        In this implementation, Ctrl/Cmd-S commits the current changes into the model.
35292
35293        * inspector/front-end/ResourceView.js:
35294        (WebInspector.ResourceView.createResourceView):
35295        (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
35296        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
35297        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
35298        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
35299        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
35300        * inspector/front-end/ResourcesPanel.js:
35301        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
35302        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
35303        * inspector/front-end/SourceFrame.js:
35304        (WebInspector.SourceFrame.prototype._createTextViewer):
35305
353062011-03-29  Eric Carlson  <eric.carlson@apple.com>
35307
35308        Reviewed by Dan Bernstein.
35309
35310        playbackRate should not be set to defaultPlaybackRate in play()
35311        https://bugs.webkit.org/show_bug.cgi?id=55943
35312
35313        Test: media/video-playbackrate.html
35314
35315        * html/HTMLMediaElement.cpp:
35316        (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
35317            rate, we already have the current value cached.
35318        (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to
35319            the default rate.
35320        (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to
35321            the default rate before triggering playback.
35322        * manual-tests/media-default-playback-rate.html: Added.
35323
353242011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
35325
35326        Reviewed by Eric Seidel.
35327
35328        Remove specialization of EventDispatcher with inversion of control.
35329        https://bugs.webkit.org/show_bug.cgi?id=57285
35330
35331        Since some events have extra logic around their dispatch, allow them
35332        to dispatch themselves and specialize the logic. This change only
35333        converts KeyboardEvent to this model.
35334
35335        No functional change, covered by existing tests.
35336
35337        * dom/Event.cpp:
35338        (WebCore::Event::dispatch): Added.
35339        * dom/Event.h: Updated decls.
35340        * dom/EventDispatcher.cpp:
35341        (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
35342            itself.
35343        * dom/EventDispatcher.h: Updated decls.
35344        * dom/KeyboardEvent.cpp:
35345        (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
35346        * dom/KeyboardEvent.h: Updated decls.
35347        * dom/Node.cpp:
35348        (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
35349
353502011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
35351
35352        Reviewed by Yury Semikhatsky.
35353
35354        Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
35355        https://bugs.webkit.org/show_bug.cgi?id=57329
35356
35357        * inspector/InspectorAgent.cpp:
35358        (WebCore::InspectorAgent::InspectorAgent):
35359        (WebCore::InspectorAgent::setFrontend):
35360        * inspector/InspectorAgent.h:
35361        * inspector/InspectorController.cpp:
35362        (WebCore::InspectorController::inspect):
35363        * inspector/InspectorDOMAgent.cpp:
35364        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
35365        (WebCore::InspectorDOMAgent::setFrontend):
35366        (WebCore::InspectorDOMAgent::handleMousePress):
35367        (WebCore::InspectorDOMAgent::inspect):
35368        (WebCore::InspectorDOMAgent::focusNode):
35369        (WebCore::InspectorDOMAgent::highlight):
35370        (WebCore::InspectorDOMAgent::hideHighlight):
35371        * inspector/InspectorDOMAgent.h:
35372        (WebCore::InspectorDOMAgent::create):
35373
353742011-03-29  Eric Seidel  <eric@webkit.org>
35375
35376        Reviewed by Nikolas Zimmermann.
35377
35378        Rename InlineIterator::pos to m_pos to match modern style
35379        https://bugs.webkit.org/show_bug.cgi?id=57342
35380
35381        Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
35382
35383        * rendering/InlineIterator.h:
35384        (WebCore::InlineIterator::InlineIterator):
35385        (WebCore::operator==):
35386        (WebCore::operator!=):
35387        (WebCore::InlineIterator::increment):
35388        (WebCore::InlineIterator::current):
35389        (WebCore::InlineBidiResolver::appendRun):
35390        * rendering/RenderBlockLineLayout.cpp:
35391        (WebCore::checkMidpoints):
35392        (WebCore::RenderBlock::appendRunsForObject):
35393        (WebCore::RenderBlock::layoutInlineChildren):
35394        (WebCore::RenderBlock::matchedEndLine):
35395        (WebCore::tryHyphenating):
35396        (WebCore::RenderBlock::findNextLineBreak):
35397
353982011-03-29  Pavel Feldman  <pfeldman@chromium.org>
35399
35400        Reviewed by Yury Semikhatsky.
35401
35402        Web Inspector: document BrowserDebugger agent.
35403        https://bugs.webkit.org/show_bug.cgi?id=57331
35404
35405        * inspector/Inspector.json:
35406
354072011-03-29  Alexander Pavlov  <apavlov@chromium.org>
35408
35409        Reviewed by Pavel Feldman.
35410
35411        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
35412        https://bugs.webkit.org/show_bug.cgi?id=56310
35413
35414        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
35415        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
35416        by CSSAgent.getStyleSheet() anymore.
35417
35418        Test: inspector/styles/get-set-stylesheet-text.html
35419
35420        * inspector/Inspector.json:
35421        * inspector/InspectorCSSAgent.cpp:
35422        (WebCore::InspectorCSSAgent::getAllStyleSheets):
35423        * inspector/InspectorCSSAgent.h:
35424        * inspector/InspectorStyleSheet.cpp:
35425        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
35426        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
35427        * inspector/InspectorStyleSheet.h:
35428        * inspector/front-end/AuditRules.js:
35429        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
35430        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
35431        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
35432        * inspector/front-end/CSSStyleModel.js:
35433        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
35434        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
35435        (WebInspector.CSSStyleModel.prototype._onRevert):
35436        (WebInspector.CSSStyleSheet):
35437        (WebInspector.CSSStyleSheet.prototype.setText):
35438
354392011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
35440
35441        Reviewed by Eric Seidel.
35442
35443        Implement text-align:match-parent as -webkit-match-parent.
35444        https://bugs.webkit.org/show_bug.cgi?id=50951
35445
35446        Add support to the CSS parser.
35447
35448        Tests: fast/css/text-align-webkit-match-parent-parse.html
35449               fast/css/text-align-webkit-match-parent.html
35450
35451        * css/CSSParser.cpp:
35452        (WebCore::CSSParser::parseValue):
35453        * css/CSSStyleSelector.cpp:
35454        (WebCore::CSSStyleSelector::applyProperty):
35455        * css/CSSValueKeywords.in:
35456
354572011-03-29  Eric Seidel  <eric@webkit.org>
35458
35459        Reviewed by Ryosuke Niwa.
35460
35461        Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
35462        https://bugs.webkit.org/show_bug.cgi?id=57323
35463
35464        All of these m_nextBreakablePosition = -1 could probably be replaced with
35465        some new methods.  But I'll do that in a separate change.  Clearly
35466        m_nextBreakablePosition is just a cached value which should be cleared
35467        at the right times.  I suspect we may even fail to clear it sometimes when
35468        we should due to the current used of direct access instead of smarter functions.
35469
35470        * rendering/InlineIterator.h:
35471        (WebCore::InlineIterator::InlineIterator):
35472        (WebCore::InlineIterator::increment):
35473        * rendering/RenderBlockLineLayout.cpp:
35474        (WebCore::tryHyphenating):
35475        (WebCore::RenderBlock::findNextLineBreak):
35476
354772011-03-29  Jeff Miller  <jeffm@apple.com>
35478
35479        Reviewed by Jon Honeycutt.
35480
35481        Add WebCore::copyCertificateToData() on Windows
35482        https://bugs.webkit.org/show_bug.cgi?id=57296
35483
35484        Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
35485
35486        * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
35487        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
35488        * platform/cf/win: Added.
35489        * platform/cf/win/CertificateCFWin.cpp: Added.
35490        (WebCore::deallocCertContext): Added.
35491        (WebCore::createCertContextDeallocator): Added.
35492        (WebCore::copyCertificateToData): Added.
35493        * platform/cf/win/CertificateCFWin.h: Added.
35494
354952011-03-29  Eric Seidel  <eric@webkit.org>
35496
35497        Reviewed by Ryosuke Niwa.
35498
35499        Rename InlineIterator::block to m_block to match modern style
35500        https://bugs.webkit.org/show_bug.cgi?id=57321
35501
35502        I could have made m_block private, since it's only accessed in
35503        one place outside of InlineIterator (for an ASSERT).  But I chose
35504        not to do so in this change.
35505
35506        * rendering/InlineIterator.h:
35507        (WebCore::InlineIterator::InlineIterator):
35508        (WebCore::InlineIterator::increment):
35509        (WebCore::InlineBidiResolver::appendRun):
35510        * rendering/RenderBlockLineLayout.cpp:
35511        (WebCore::RenderBlock::findNextLineBreak):
35512
355132011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
35514
35515        Reviewed by Nikolas Zimmermann.
35516
35517        Incorrect offset of svg <use> element which is in <symbol> element
35518        https://bugs.webkit.org/show_bug.cgi?id=57318
35519
35520        When webkit expanded a svg <symbol> element in the shadow tree it
35521        would clone the children of the <symbol>. The children may contain
35522        SVGShadowTreeContainerElement which was expanded from svg <use>
35523        element. But the clone operation would clone a
35524        SVGShadowTreeContainerElement as a svg <g> element. This resulted
35525        that updateContainerOffset wouldn't update offset for those elements
35526        which were expand from <use> elements.
35527
35528        This patch implements cloneElementWithoutAttributesAndChildren for
35529        SVGShadowTreeContainerElement to make the container clone itself
35530        correctly.
35531
35532        Test: svg/custom/use-in-symbol-with-offset.svg
35533
35534        * rendering/svg/SVGShadowTreeElements.cpp:
35535        (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
35536        * rendering/svg/SVGShadowTreeElements.h:
35537
355382011-03-29  Eric Seidel  <eric@webkit.org>
35539
35540        Reviewed by Ryosuke Niwa.
35541
35542        Rename InlineIterator::obj to m_obj to match modern style
35543        https://bugs.webkit.org/show_bug.cgi?id=57319
35544
35545        I started this rename after confusion in InlineBidiResolver::appendRun.
35546        (Which uses an "obj" local in InlineIterator.h.  It's not actually
35547        masking m_obj because it's a separate class, but I didn't realize
35548        that at the time because it's in InlineIterator.h which is itself confusing!)
35549
35550        * rendering/InlineIterator.h:
35551        (WebCore::InlineIterator::InlineIterator):
35552        (WebCore::operator==):
35553        (WebCore::operator!=):
35554        (WebCore::InlineIterator::increment):
35555        (WebCore::InlineIterator::atEnd):
35556        (WebCore::InlineIterator::current):
35557        (WebCore::InlineIterator::direction):
35558        (WebCore::InlineBidiResolver::appendRun):
35559        * rendering/RenderBlockLineLayout.cpp:
35560        (WebCore::checkMidpoints):
35561        (WebCore::RenderBlock::appendRunsForObject):
35562        (WebCore::RenderBlock::layoutInlineChildren):
35563        (WebCore::RenderBlock::matchedEndLine):
35564        (WebCore::skipNonBreakingSpace):
35565        (WebCore::RenderBlock::requiresLineBox):
35566        (WebCore::RenderBlock::skipTrailingWhitespace):
35567        (WebCore::RenderBlock::skipLeadingWhitespace):
35568        (WebCore::tryHyphenating):
35569        (WebCore::RenderBlock::findNextLineBreak):
35570
355712011-03-29  Pavel Feldman  <pfeldman@chromium.org>
35572
35573        Reviewed by Yury Semikhatsky.
35574
35575        Web Inspector: document Timeline domain, make timeline event types of type string.
35576        https://bugs.webkit.org/show_bug.cgi?id=57299
35577
35578        * inspector/Inspector.json:
35579        * inspector/InspectorTimelineAgent.cpp:
35580        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
35581        (WebCore::InspectorTimelineAgent::start):
35582        (WebCore::InspectorTimelineAgent::stop):
35583        (WebCore::InspectorTimelineAgent::willCallFunction):
35584        (WebCore::InspectorTimelineAgent::didCallFunction):
35585        (WebCore::InspectorTimelineAgent::willDispatchEvent):
35586        (WebCore::InspectorTimelineAgent::didDispatchEvent):
35587        (WebCore::InspectorTimelineAgent::willLayout):
35588        (WebCore::InspectorTimelineAgent::didLayout):
35589        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
35590        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
35591        (WebCore::InspectorTimelineAgent::willPaint):
35592        (WebCore::InspectorTimelineAgent::didPaint):
35593        (WebCore::InspectorTimelineAgent::willWriteHTML):
35594        (WebCore::InspectorTimelineAgent::didWriteHTML):
35595        (WebCore::InspectorTimelineAgent::didInstallTimer):
35596        (WebCore::InspectorTimelineAgent::didRemoveTimer):
35597        (WebCore::InspectorTimelineAgent::willFireTimer):
35598        (WebCore::InspectorTimelineAgent::didFireTimer):
35599        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
35600        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
35601        (WebCore::InspectorTimelineAgent::willLoadXHR):
35602        (WebCore::InspectorTimelineAgent::didLoadXHR):
35603        (WebCore::InspectorTimelineAgent::willEvaluateScript):
35604        (WebCore::InspectorTimelineAgent::didEvaluateScript):
35605        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
35606        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
35607        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
35608        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
35609        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
35610        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
35611        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
35612        (WebCore::InspectorTimelineAgent::didMarkTimeline):
35613        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
35614        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
35615        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
35616        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
35617        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
35618        * inspector/InspectorTimelineAgent.h:
35619        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
35620        * inspector/front-end/TimelineAgent.js:
35621        * inspector/front-end/TimelinePanel.js:
35622        (WebInspector.TimelinePanel.prototype.get _recordStyles):
35623        (WebInspector.TimelinePanel.prototype._createEventDivider):
35624        (WebInspector.TimelinePanel.prototype._findParentRecord):
35625        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
35626        (WebInspector.TimelineDispatcher.prototype.started):
35627        (WebInspector.TimelineDispatcher.prototype.stopped):
35628        (WebInspector.TimelineDispatcher.prototype.eventRecorded):
35629        (WebInspector.TimelinePanel.FormattedRecord):
35630        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
35631        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
35632
356332011-03-29  Andrey Adaikin  <aandrey@google.com>
35634
35635        Reviewed by Pavel Feldman.
35636
35637        Web Inspector: Fixing live edits tests on chromium.
35638        https://bugs.webkit.org/show_bug.cgi?id=57316
35639
35640        * inspector/front-end/ScriptsPanel.js:
35641        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
35642        * inspector/front-end/SourceFrame.js:
35643        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
35644        (WebInspector.SourceFrame.prototype._handleSave):
35645        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
35646
356472011-03-29  Pavel Podivilov  <podivilov@chromium.org>
35648
35649        Reviewed by Yury Semikhatsky.
35650
35651        Web Inspector: fix call frames positions in formatted scripts.
35652        https://bugs.webkit.org/show_bug.cgi?id=57036
35653
35654        Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
35655
35656        * inspector/front-end/CallStackSidebarPane.js:
35657        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
35658        (WebInspector.CallStackSidebarPane.prototype.update):
35659        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
35660        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
35661        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
35662        (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
35663        * inspector/front-end/DebuggerModel.js:
35664        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
35665        (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
35666        (WebInspector.DebuggerModel.prototype._pausedScript):
35667        * inspector/front-end/DebuggerPresentationModel.js:
35668        (WebInspector.DebuggerPresentationModel):
35669        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
35670        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
35671        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
35672        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
35673        (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
35674        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
35675        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
35676        (WebInspector.DebuggerPresentationModel.prototype._reset):
35677        (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
35678        * inspector/front-end/ScriptsPanel.js:
35679        (WebInspector.ScriptsPanel):
35680        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
35681        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
35682        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
35683        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
35684        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
35685        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
35686        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
35687        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
35688        * inspector/front-end/SourceFile.js:
35689        (WebInspector.SourceFile.prototype.get content):
35690        * inspector/front-end/SourceFrame.js:
35691        (WebInspector.SourceFrame.prototype._createTextViewer):
35692        (WebInspector.SourceFrame.prototype.setExecutionLine):
35693        (WebInspector.SourceFrame.prototype.clearExecutionLine):
35694        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
35695        (WebInspector.SourceFrame.prototype._showPopup):
35696
356972011-03-29  Emil A Eklund  <eae@chromium.org>
35698
35699        Reviewed by Darin Adler.
35700
35701        Fix for execCommand("Delete") with an empty selection.
35702        https://bugs.webkit.org/show_bug.cgi?id=56652
35703
35704        Test: editing/execCommand/delete-empty-container.html
35705
35706        * editing/TypingCommand.cpp:
35707        (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
35708
357092011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
35710
35711        Reviewed by Pavel Feldman.
35712
35713        Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
35714        make sure we don't return big amounts of data to forms.
35715        https://bugs.webkit.org/show_bug.cgi?id=57227
35716
35717        * inspector/front-end/DetailedHeapshotGridNodes.js:
35718        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
35719        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
35720        (WebInspector.HeapSnapshotObjectNode):
35721        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
35722        (WebInspector.HeapSnapshotInstanceNode):
35723        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
35724        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
35725        (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
35726        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
35727        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
35728        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
35729        * inspector/front-end/DetailedHeapshotView.js:
35730        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
35731        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
35732        * inspector/front-end/HeapSnapshot.js:
35733        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
35734        (WebInspector.HeapSnapshotNode.prototype.get retainers):
35735        (WebInspector.HeapSnapshot):
35736        (WebInspector.HeapSnapshot.prototype.get _allNodes):
35737        (WebInspector.HeapSnapshot.prototype.get nodeCount):
35738        (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
35739        (WebInspector.HeapSnapshot.prototype.hasId):
35740        (WebInspector.HeapSnapshot.prototype.get nodeIds):
35741        (WebInspector.HeapSnapshot.prototype._retainersForNode):
35742        (WebInspector.HeapSnapshot.prototype._buildRetainers):
35743        (WebInspector.HeapSnapshot.prototype._buildAggregates):
35744        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
35745        (WebInspector.HeapSnapshot.prototype._buildIdsList):
35746        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
35747        (WebInspector.HeapSnapshotFilteredOrderedIterator):
35748        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
35749        (WebInspector.HeapSnapshotEdgesProvider):
35750        (WebInspector.HeapSnapshotNodesProvider):
35751
357522011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
35753
35754        Reviewed by Pavel Feldman.
35755
35756        Web Inspector: [Chromium] Fix detailed heap snapshots UI.
35757        https://bugs.webkit.org/show_bug.cgi?id=57235
35758
35759        Fix two problems:
35760          1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
35761          2. Long strings need to be truncated in grid, their contents can be shown on hover.
35762
35763        * inspector/front-end/DetailedHeapshotView.js:
35764        (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
35765        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
35766        * inspector/front-end/heapProfiler.css:
35767        (.detailed-heapshot-view .console-formatted-string):
35768        (.detailed-heapshot-view .data-grid tr.selected *):
35769        (.detailed-heapshot-view .data-grid:focus tr.selected *):
35770
357712011-03-29  Andrey Adaikin  <aandrey@google.com>
35772
35773        Reviewed by Yury Semikhatsky.
35774
35775        Web Inspector: Highlight visible lines first
35776        https://bugs.webkit.org/show_bug.cgi?id=57013
35777
35778        * inspector/front-end/TextViewer.js:
35779        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
35780        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
35781        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
35782        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
35783        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
35784        (WebInspector.TextEditorMainPanel.prototype._paintLines):
35785        (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
35786        (WebInspector.TextEditorMainPanel.prototype._paintLine):
35787        (WebInspector.TextEditorMainChunk.prototype.set expanded):
35788
357892011-03-29  Emil A Eklund  <eae@chromium.org>
35790
35791        Reviewed by Dimitri Glazkov.
35792
35793        Relative mouse coordinates recalculated for each target
35794        https://bugs.webkit.org/show_bug.cgi?id=57130
35795
35796        Calculate relative coordinates lazily for mouse events instead of doing
35797        it for each target. Speeds up dispatching of mouse events in deep dom
35798        structures significantly, O(n^2) to O(n).
35799
35800        Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
35801
35802        Tests: fast/events/mouse-relative-position.html
35803               perf/mouse-event.html
35804
35805        * dom/Event.cpp:
35806        (WebCore::Event::setTarget):
35807        * dom/MouseRelatedEvent.cpp:
35808        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
35809        (WebCore::MouseRelatedEvent::initCoordinates):
35810        (WebCore::pageZoomFactor):
35811        (WebCore::MouseRelatedEvent::receivedTarget):
35812        (WebCore::MouseRelatedEvent::computeRelativePosition):
35813        (WebCore::MouseRelatedEvent::layerX):
35814        (WebCore::MouseRelatedEvent::layerY):
35815        (WebCore::MouseRelatedEvent::offsetX):
35816        (WebCore::MouseRelatedEvent::offsetY):
35817        * dom/MouseRelatedEvent.h:
35818        * dom/UIEvent.cpp:
35819        (WebCore::UIEvent::layerX):
35820        (WebCore::UIEvent::layerY):
35821        * dom/UIEvent.h:
35822
358232011-03-29  Emil A Eklund  <eae@chromium.org>
35824
35825        Reviewed by Darin Adler.
35826
35827        getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
35828        https://bugs.webkit.org/show_bug.cgi?id=57266
35829
35830        Add null check to counterToCSSValue.
35831
35832        Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
35833
35834        * css/CSSComputedStyleDeclaration.cpp:
35835        (WebCore::counterToCSSValue):
35836
358372011-03-29  Gavin Peters  <gavinp@chromium.org>
35838
35839        Reviewed by Tony Gentilcore.
35840
35841        Implement onerror events for <link rel=prefetch>
35842        https://bugs.webkit.org/show_bug.cgi?id=57182
35843
35844        These events are equired on link elements, see
35845        http://dev.w3.org/html5/spec/Overview.html#the-link-element
35846
35847        After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
35848        to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
35849        more uniformly supported.  See the thread at
35850        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
35851
35852        It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
35853        abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
35854        implementation, and this CL continues that by adding a default checkNotify method to it.  As it
35855        happens there were already two subclasses using what amounted to the generic checkNotify, so I
35856        also removed those, buying us some code cleanup with the change.
35857
35858        Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
35859
35860        * html/HTMLLinkElement.cpp:
35861        (WebCore::HTMLLinkElement::parseMappedAttribute):
35862        (WebCore::HTMLLinkElement::onloadTimerFired):
35863        (WebCore::HTMLLinkElement::notifyFinished):
35864        * loader/cache/CachedImage.cpp:
35865        * loader/cache/CachedImage.h:
35866        * loader/cache/CachedResource.cpp:
35867        (WebCore::CachedResource::checkNotify):
35868        (WebCore::CachedResource::data):
35869        (WebCore::CachedResource::error):
35870        * loader/cache/CachedResource.h:
35871        * loader/cache/CachedScript.cpp:
35872        * loader/cache/CachedScript.h:
35873
358742011-03-29  Eric Seidel  <eric@webkit.org>
35875
35876        Reviewed by Ryosuke Niwa.
35877
35878        Add support for parsing unicode-bidi: -webkit-isolate
35879        https://bugs.webkit.org/show_bug.cgi?id=57181
35880
35881        Test: css3/unicode-bidi-insolate-parse.html
35882
35883        * WebCore.xcodeproj/project.pbxproj:
35884        * css/CSSParser.cpp:
35885        (WebCore::CSSParser::parseValue):
35886        * css/CSSPrimitiveValueMappings.h:
35887        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
35888        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
35889        * css/CSSValueKeywords.in:
35890        * rendering/style/RenderStyleConstants.h:
35891
358922011-03-29  Patrick Gansterer  <paroga@webkit.org>
35893
35894        Unreviewed WinCE build fix for r82193.
35895
35896        * platform/wince/FileSystemWinCE.cpp:
35897        (WebCore::openTemporaryFile):
35898
358992011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
35900
35901        Unreviewed, rolling out r82198.
35902        http://trac.webkit.org/changeset/82198
35903        https://bugs.webkit.org/show_bug.cgi?id=57304
35904
35905        Broke Chromium Win build. (Requested by dave_levin on
35906        #webkit).
35907
35908        * platform/image-decoders/png/PNGImageDecoder.cpp:
35909        (WebCore::PNGImageDecoder::headerAvailable):
35910        (WebCore::PNGImageDecoder::rowAvailable):
35911
359122011-03-28  Ofri Wolfus  <ofri@google.com>
35913
35914        Reviewed by Eric Seidel.
35915
35916        RTL: Select elements with a size attribute are always left aligned.
35917        https://bugs.webkit.org/show_bug.cgi?id=50928
35918
35919        Added support for alignment in RenderListBox.
35920
35921        Test: fast/forms/listbox-bidi-align.html
35922
35923        * rendering/RenderListBox.cpp:
35924        (WebCore::itemOffsetForAlignment):
35925        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
35926
359272011-03-28  Kwang Yul Seo  <skyul@company100.net>
35928
35929        Reviewed by Benjamin Poulain.
35930
35931        [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
35932        https://bugs.webkit.org/show_bug.cgi?id=57142
35933
35934        TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
35935        Remove ENABLE(VIDEO) guard.
35936
35937        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
35938        * platform/graphics/qt/MediaPlayerPrivateQt.h:
35939        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
35940        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
35941        * platform/graphics/texmap/TextureMapperNode.h:
35942        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
35943        (WebCore::TextureMapperMediaLayer::layerType):
35944
359452011-03-28  Thomas Klausner  <tk@giga.or.at>
35946
35947        Reviewed by David Levin.
35948
35949        png-1.5 fixes
35950        https://bugs.webkit.org/show_bug.cgi?id=54406
35951
35952        Fix compilation with png-1.5: struct members were hidden, and
35953        a new API to terminate data processing was added (especially for
35954        WebKit).
35955
35956        Compilation fixes, so no new tests.
35957
35958        * platform/image-decoders/png/PNGImageDecoder.cpp:
35959        (WebCore::PNGImageDecoder::headerAvailable):
35960        (WebCore::PNGImageDecoder::rowAvailable):
35961
359622011-03-28  Kwang Yul Seo  <skyul@company100.net>
35963
35964        Reviewed by Adam Barth.
35965
35966        Replace fprintf(stderr, ...) with LOG_ERROR
35967        https://bugs.webkit.org/show_bug.cgi?id=57216
35968
35969        LOG_ERROR is a better choice here.
35970
35971        * bridge/jni/v8/JavaClassV8.cpp:
35972        (JavaClass::JavaClass):
35973
359742011-03-28  Steve Block  <steveblock@google.com>
35975
35976        Reviewed by Jeremy Orlow.
35977
35978        Add a new JavaValue to type to represent a Java value in the Java bridge
35979        https://bugs.webkit.org/show_bug.cgi?id=57022
35980
35981        This change introduces a new JavaValue type and uses it in place of jvalue
35982        in the conversions to and from JavaNPObject used in the V8 Java bridge.
35983
35984        Refactoring only, no new tests.
35985
35986        * WebCore.gypi:
35987        * bridge/jni/JNIUtility.cpp:
35988        (JSC::Bindings::javaTypeFromClassName):
35989        (JSC::Bindings::signatureFromJavaType):
35990        (JSC::Bindings::getJNIField):
35991        (JSC::Bindings::callJNIMethod):
35992        * bridge/jni/JavaType.h:
35993        * bridge/jni/v8/JNIUtilityPrivate.cpp:
35994        (JSC::Bindings::convertNPVariantToJavaValue):
35995        (JSC::Bindings::convertJavaValueToNPVariant):
35996        (JSC::Bindings::jvalueToJavaValue):
35997        (JSC::Bindings::javaValueToJvalue):
35998        * bridge/jni/v8/JNIUtilityPrivate.h:
35999        * bridge/jni/v8/JavaNPObjectV8.cpp:
36000        (JSC::Bindings::JavaNPObjectInvoke):
36001        (JSC::Bindings::JavaNPObjectGetProperty):
36002        * bridge/jni/v8/JavaValueV8.h: Added.
36003        (JSC::Bindings::JavaValue::JavaValue):
36004
360052011-03-28  Patrick Gansterer  <paroga@webkit.org>
36006
36007        Reviewed by Darin Adler.
36008
36009        Use String instead of CString as return value of openTemporaryFile
36010        https://bugs.webkit.org/show_bug.cgi?id=55332
36011
36012        We usually store all paths as UTF-16. Do this for temporary files too.
36013
36014        * WebCore.exp.in
36015        * platform/FileSystem.h:
36016        * platform/android/FileSystemAndroid.cpp:
36017        * platform/brew/FileSystemBrew.cpp:
36018        * platform/efl/FileSystemEfl.cpp:
36019        * platform/gtk/FileSystemGtk.cpp:
36020        * platform/haiku/FileSystemHaiku.cpp:
36021        * platform/mac/FileSystemMac.mm:
36022        * platform/qt/FileSystemQt.cpp:
36023        * platform/win/FileSystemWin.cpp:
36024        * platform/wince/FileSystemWinCE.cpp:
36025        * platform/wx/FileSystemWx.cpp:
36026        * plugins/PluginStream.cpp:
36027        (WebCore::PluginStream::destroyStream):
36028        * plugins/PluginStream.h:
36029
360302011-03-28  Jeff Johnson  <opendarwin@lapcatsoftware.com>
36031
36032        Reviewed by Pavel Feldman.
36033
36034        Web Inspector: empty, non-functional window
36035        https://bugs.webkit.org/show_bug.cgi?id=56354
36036
36037        Check whether DOM local storage is enabled
36038        before attempting to access window.localStorage.
36039
36040        No new tests.
36041
36042        * inspector/front-end/Settings.js:
36043        (WebInspector.Settings.prototype.findSettingForAllProjects):
36044        (WebInspector.Settings.prototype._get):
36045        (WebInspector.Settings.prototype._set):
36046
360472011-03-28  Beth Dakin  <bdakin@apple.com>
36048
36049        Reviewed by Darin Adler.
36050
36051        Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for:
36052        Horizontal scroller stops appearing after going Forward
36053        -and corresponding-
36054        <rdar://problem/9026946>
36055
36056        This patch rolls out revision 79053 and fixes the same bug in a  better way.
36057
36058        New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then
36059        sets the contents size to 0. This is called when a document is going into the page
36060        cache.
36061        * dom/Document.cpp:
36062        (WebCore::Document::setInPageCache):
36063        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
36064
36065        Roll-out of 79053.
36066        * history/CachedFrame.cpp:
36067        (WebCore::CachedFrameBase::restore):
36068        * page/FrameView.cpp:
36069        (WebCore::FrameView::FrameView):
36070        (WebCore::FrameView::reset):
36071        (WebCore::FrameView::layout):
36072        * page/FrameView.h:
36073
360742011-03-28  Ojan Vafai  <ojan@chromium.org>
36075
36076        Reviewed by Antti Koivisto.
36077
36078        fix style sharing with :any and sibling selectors
36079        https://bugs.webkit.org/show_bug.cgi?id=57211
36080
36081        Test: fast/css/sibling-selectors.html
36082
36083        * css/CSSStyleSelector.cpp:
36084        (WebCore::collectFeaturesFromList):
36085
360862011-03-27  Ojan Vafai  <ojan@chromium.org>
36087
36088        Reviewed by Antti Koivisto.
36089
36090        fix :-webkit-any(:last-child)
36091        https://bugs.webkit.org/show_bug.cgi?id=57207
36092
36093        We were passing the wrong arguments to checkSelector. Also, we were not
36094        passing through the encounteredLink bool.
36095
36096        * css/CSSStyleSelector.cpp:
36097        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
36098        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
36099        * css/CSSStyleSelector.h:
36100
361012011-03-27  Ojan Vafai  <ojan@chromium.org>
36102
36103        Reviewed by Antti Koivisto.
36104
36105        fix :-webkit-any(:last-child)
36106        https://bugs.webkit.org/show_bug.cgi?id=57207
36107
36108        We were passing the wrong arguments to checkSelector. Also, we were not
36109        passing through the encounteredLink bool.
36110
36111        * css/CSSStyleSelector.cpp:
36112        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
36113        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
36114        * css/CSSStyleSelector.h:
36115
361162011-03-28  Maciej Stachowiak  <mjs@apple.com>
36117
36118        Reviewed by Darin Adler.
36119
36120        REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
36121        https://bugs.webkit.org/show_bug.cgi?id=57291
36122
36123        * platform/KURL.cpp:
36124        (WebCore::KURL::parse): Instead of considering URLs with
36125        credentials but no host invalid, consider them to have a host
36126        ending in @ (which fails down the line)/
36127
361282011-03-28  Kent Tamura  <tkent@chromium.org>
36129
36130        Reviewed by Dimitri Glazkov.
36131
36132        Fix some problems of the appearance of form validation message bubble.
36133        https://bugs.webkit.org/show_bug.cgi?id=57208
36134
36135        No new tests. Validation message bubble appearance is not testable
36136        because it depends on a timer.
36137
36138        * css/html.css:
36139        (::-webkit-validation-bubble):
36140        (::-webkit-validation-bubble-message):
36141        (::-webkit-validation-bubble-arrow):
36142        (::-webkit-validation-bubble-arrow-clipper):
36143          - Explicitly set margin, padding, and color.
36144          - Make the shadow darker.
36145          - Make the background color darker.
36146          - Make opacity larger.
36147          - Make the border color lighter.
36148          - Add inset shadows
36149          - Change the implementation of an arrow.
36150            Stop making a right triangle by the border trick.
36151            Use -webkit-transform instead.
36152          - Make min-width workable by changing display property of
36153            -webkit-validation-bubble to "inline-block".
36154        * html/ValidationMessage.cpp:
36155        (WebCore::ValidationMessage::buildBubbleTree):
36156          Change the node structure. Before this change, -webkit-validation-bubble
36157          had three DIVs inside. After this change, it has two DIVs;
36158          -webkit-validation-bubble-arrow-clipper and
36159          -webkit-validation-bubble-message, and
36160          -webkit-validation-bubble-arrow-clipper contains
36161          -webkit-validation-bubble-arrow.
36162
361632011-03-28  Enrica Casucci  <enrica@apple.com>
36164
36165        Reviewed by Sam Weinig.
36166
36167        REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser.
36168        https://bugs.webkit.org/show_bug.cgi?id=57275
36169        <rdar://problem/8246691>
36170
36171        We need to classify cut and paste actions as user typing actions even when
36172        the action is triggered by a context menu selection to
36173        allow the propagation of the textDidChangeInTextField event.
36174
36175        * editing/EditorCommand.cpp:
36176        The following methods have been modified to properly set up
36177        the UserTypingGestureAction when the command source is the
36178        menu or a key binding sequence.
36179        (WebCore::executeCut):
36180        (WebCore::executePaste):
36181        (WebCore::executePasteAndMatchStyle):
36182        (WebCore::executePasteAsPlainText):
36183        (WebCore::executeDelete):
36184        * page/ContextMenuController.cpp:
36185        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
36186        call execute command instead of referring to the specific method in
36187        the editor class.
36188
361892011-03-28  Oliver Hunt  <oliver@apple.com>
36190
36191        Reviewed by Geoffrey Garen.
36192
36193        instanceof Array test fails when using iframes
36194        https://bugs.webkit.org/show_bug.cgi?id=17250
36195
36196        Update for new function and date apis
36197
36198        Test: fast/js/js-constructors-use-correct-global.html
36199
36200        * WebCore.xcodeproj/project.pbxproj:
36201        * bindings/js/JSDOMBinding.cpp:
36202        (WebCore::jsDateOrNull):
36203        * bindings/js/JSLazyEventListener.cpp:
36204        (WebCore::JSLazyEventListener::initializeJSFunction):
36205
362062011-03-28  Beth Dakin  <bdakin@apple.com>
36207
36208        Reviewed by Darin Adler.
36209
36210        Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is
36211        changed via delegate method, the page needs a full relayout and repaint
36212        -and corresponding-
36213        <rdar://problem/9059129>
36214
36215        Call into WebKitSystemInterface to associate the new painter with the existing
36216        painter controller. Reset the scrollbar frame rects to the new thickness -- normally
36217        this only happens when a scrollbar is created, so we have to reset the thickness
36218        here to pick up the new theme thickness. Finally, force a full relayout and style
36219        recall with setNeedsRecalcStyleInAllFrames()
36220        * platform/mac/ScrollAnimatorMac.mm:
36221        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
36222
36223        setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This
36224        patch moves it to be a member function on Page so that it can be called from
36225        FrameView when the scrollbar style changes.
36226        * page/FrameView.cpp:
36227        (WebCore::FrameView::setNeedsRecalcStyleInAllFrames):
36228        * page/FrameView.h:
36229        * page/Page.cpp:
36230        (WebCore::Page::setNeedsRecalcStyleInAllFrames):
36231        * page/Page.h:
36232        * page/Settings.cpp:
36233        (WebCore::Settings::setStandardFontFamily):
36234        (WebCore::Settings::setFixedFontFamily):
36235        (WebCore::Settings::setSerifFontFamily):
36236        (WebCore::Settings::setSansSerifFontFamily):
36237        (WebCore::Settings::setCursiveFontFamily):
36238        (WebCore::Settings::setFantasyFontFamily):
36239        (WebCore::Settings::setMinimumFontSize):
36240        (WebCore::Settings::setMinimumLogicalFontSize):
36241        (WebCore::Settings::setDefaultFontSize):
36242        (WebCore::Settings::setDefaultFixedFontSize):
36243        (WebCore::Settings::setTextAreasAreResizable):
36244        (WebCore::Settings::setAuthorAndUserStylesEnabled):
36245        (WebCore::Settings::setFontRenderingMode):
36246        (WebCore::Settings::setAcceleratedCompositingEnabled):
36247        (WebCore::Settings::setShowDebugBorders):
36248        (WebCore::Settings::setShowRepaintCounter):
36249        * platform/ScrollableArea.h:
36250        (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames):
36251
362522011-03-28  Dirk Pranke  <dpranke@chromium.org>
36253
36254        RS=Tony Chang.
36255
36256        r81977 moved FontPlatformData.h from
36257        WebCore/platform/graphics/cocoa to platform/graphics. This
36258        change updates the chromium build accordingly.
36259
36260        https://bugs.webkit.org/show_bug.cgi?id=57281
36261
36262        * platform/graphics/chromium/CrossProcessFontLoading.mm:
36263
362642011-03-28  Jer Noble  <jer.noble@apple.com>
36265
36266        Reviewed by Darin Adler.
36267
36268        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
36269        https://bugs.webkit.org/show_bug.cgi?id=57249
36270
36271        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
36272        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
36273        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
36274
362752011-03-28  Jer Noble  <jer.noble@apple.com>
36276
36277        Reviewed by Darin Adler.
36278
36279        AVFoundation can indeed support full screen.
36280
36281        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
36282        https://bugs.webkit.org/show_bug.cgi?id=57249
36283
36284        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
36285        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using
36286            the new full screen APIs.
36287        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
36288
362892011-03-28  Eric Carlson  <eric.carlson@apple.com>
36290
36291        Reviewed by Darin Adler.
36292
36293        http streams don't always display video with AVFoundation backend
36294        https://bugs.webkit.org/show_bug.cgi?id=57203
36295
36296        No new tests, we don't currently have tests for http live streams. Changes verified manually.
36297
36298        * platform/graphics/MediaPlayer.cpp:
36299        (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender.
36300        (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine
36301            if m_shouldPrepareToRender is set.
36302        (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender.
36303        * platform/graphics/MediaPlayer.h:
36304
36305        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
36306        (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until
36307            m_isAllowedToRender has been set.
36308        (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering,
36309            it has logic to figure out when setup is required.
36310        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't
36311            using the preferred rendering mode because if we get a file's metadata between the
36312            time supportsAcceleratedRendering() and paint() are called, we will allocate a software
36313            renderer even when we prefer a layer backed renderer.
36314        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata.
36315
36316        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
36317        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
36318        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of
36319            an explicit list of key path names.
36320        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto.
36321        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed
36322            to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the
36323            callers need.
36324        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the
36325            player item, not the asset, because AVAsset.duration always returns an indefinite time
36326            for all streaming files.
36327        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed
36328            to assetMetadataKeyNames.
36329        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until
36330            metadata is available.
36331        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
36332        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off
36333            into sizeChanged().
36334        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize
36335            until tracks is non-NULL so we have a size as early as possible.
36336        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames.
36337        (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of
36338            KVO observable properties.
36339        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to
36340            presentationSize change.
36341
363422011-03-28  Anders Carlsson  <andersca@apple.com>
36343
36344        Reviewed by Sam Weinig.
36345
36346        Search field focus ring is missing
36347        https://bugs.webkit.org/show_bug.cgi?id=57270
36348        <rdar://problem/8765555>
36349
36350        Add an _automaticFocusRingDisabled method which returns YES.
36351
36352        * platform/mac/ThemeMac.mm:
36353        (-[WebCoreFlippedView _automaticFocusRingDisabled]):
36354
363552011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
36356
36357        Reviewed by Darin Adler.
36358
36359        Move more events to EventDispatcher.
36360        https://bugs.webkit.org/show_bug.cgi?id=57247
36361
36362        No functional changes, covered by existing tests.
36363
36364        * dom/EventDispatcher.cpp:
36365        (WebCore::eventTargetRespectingSVGTargetRules): Made a static function,
36366            since it's not used anywhere outside of the EventDispatcher.
36367        (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp.
36368        (WebCore::EventDispatcher::dispatchKeyEvent): Ditto.
36369        (WebCore::EventDispatcher::dispatchWheelEvent): Ditto.
36370        (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules
36371            as a static function.
36372        * dom/EventDispatcher.h: Updated decls.
36373        * dom/Node.cpp:
36374        (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher.
36375        (WebCore::Node::dispatchKeyEvent): Ditto.
36376        (WebCore::Node::dispatchWheelEvent): Ditto.
36377
363782011-03-28  Adele Peterson  <adele@apple.com>
36379
36380        Reviewed by Eric Seidel.
36381
36382        Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
36383        https://bugs.webkit.org/show_bug.cgi?id=57173
36384
36385        Test: editing/spelling/grammar.html
36386
36387        * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method.
36388        * editing/Editor.cpp:
36389        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar,
36390         so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph.  In the case of this bug,
36391         when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used
36392         in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph
36393         is the only one operated on when this information is used.
36394         (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling.
36395        * editing/Editor.h:
36396
363972011-03-28  Dan Bernstein  <mitz@apple.com>
36398
36399        Reviewed by Darin Adler.
36400
36401        <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements
36402        https://bugs.webkit.org/show_bug.cgi?id=48983
36403
36404        Test: fast/multicol/paginated-layer-crash.html
36405
36406        * rendering/RenderLayer.cpp:
36407        (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers
36408        into sync with updatePagination() after r68069.
36409        (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto.
36410
364112011-03-28  Maciej Stachowiak  <mjs@apple.com>
36412
36413        Reviewed by Darin Adler' .
36414
36415        URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS
36416        https://bugs.webkit.org/show_bug.cgi?id=57220
36417
36418        Test: http/tests/uri/username-with-no-hostname.html
36419
36420        * platform/KURL.cpp:
36421        (WebCore::hostPortIsEmptyButUserPassIsNot):
36422        (WebCore::KURL::parse):
36423
364242011-03-28  Adam Barth  <abarth@webkit.org>
36425
36426        Reviewed by Eric Seidel.
36427
36428        script-src should block inline event handlers
36429        https://bugs.webkit.org/show_bug.cgi?id=57212
36430
36431        I considered wrapping this into the canExecute check, but that approach
36432        would require passing that function a bunch of context information to
36433        behave correctly once we add support for the "options" directive that
36434        re-enables these features.
36435
36436        Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html
36437
36438        * bindings/js/JSLazyEventListener.cpp:
36439        (WebCore::JSLazyEventListener::initializeJSFunction):
36440            - This function was a mess.  I couldn't resist cleaning it up a
36441              bunch.  Notice that we ASSERT at the beginning of the function
36442              that scriptExecutionContext is a document and that both ways of
36443              getting the global object are the same when document->frame() is
36444              non-zero because the document must be active and there is a
36445              one-to-one relation between Frames and active Documents.
36446        * bindings/v8/V8LazyEventListener.cpp:
36447        (WebCore::V8LazyEventListener::prepareListenerObject):
36448        * page/ContentSecurityPolicy.cpp:
36449        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
36450        * page/ContentSecurityPolicy.h:
36451
364522011-03-28  Jeff Miller  <jeffm@apple.com>
36453
36454        Reviewed by Adam Roben.
36455
36456        ResourceError::certificate() should return a PCCERT_CONTEXT
36457        https://bugs.webkit.org/show_bug.cgi?id=57262
36458
36459        * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT.
36460        * platform/network/cf/ResourceErrorCF.cpp:
36461        (WebCore::ResourceError::certificate): Added.
36462
364632011-03-28  David Hyatt  <hyatt@apple.com>
36464
36465        Reviewed by Simon Fraser and Darin Adler.
36466
36467        https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects
36468        occur at the end of a line.
36469
36470        The old code and new code for dealing with a trailing space object midpoint manipulated a raw
36471        array instead of the Vector. Otherwise this corruption would have been caught prior to check-in.
36472
36473        I have patched the code to only go through the Vector and to make it handle the case that led to
36474        the corruption. Trailing positioned objects can occur both prior to and following the trailing space
36475        object's midpoint, so we have to be prepared to deal with both cases.
36476
36477        This is already tested by fast/block/positioning/052.html, and that test now properly progresses
36478        like the other positioning tests did.
36479
36480        * rendering/RenderBlockLineLayout.cpp:
36481        (WebCore::RenderBlock::findNextLineBreak):
36482
364832011-03-28  Andrei Popescu  <andreip@google.com>
36484
36485        Reviewed by Steve Block.
36486
36487        V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled
36488        https://bugs.webkit.org/show_bug.cgi?id=57100
36489
36490        Close the ENABLE guard and the namespace in the right order.
36491
36492        No new tests, just cleanup.
36493
36494        * bindings/v8/custom/V8IDBAnyCustom.cpp:
36495        * bindings/v8/custom/V8IDBKeyCustom.cpp:
36496
364972011-03-28  Jeff Miller  <jeffm@apple.com>
36498
36499        Reviewed by Adam Roben.
36500
36501        Include certificate when sending a WebCore::ResourceError to UI process on Windows
36502        https://bugs.webkit.org/show_bug.cgi?id=57195
36503
36504        Add support for tracking the certificate in WebCore::ResourceError.
36505
36506        * platform/network/ResourceErrorBase.cpp:
36507        (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields.
36508        * platform/network/ResourceErrorBase.h:
36509        (WebCore::ResourceErrorBase::platformCopy): Added.
36510        * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate.
36511        (WebCore::ResourceError::certificate): Added.
36512        * platform/network/cf/ResourceErrorCF.cpp:
36513        (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data.
36514        (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary.
36515        (WebCore::ResourceError::platformCopy): Copy m_certificate.
36516        (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef.
36517
365182011-03-28  Jessie Berlin  <jberlin@apple.com>
36519
36520        Rubber-stamped by Adam Roben.
36521
36522        Add an extra newline to the end of the generated Inspector.idl file so that it does not
36523        trigger the Windows "no newline at at end of file" warning.
36524
36525        * inspector/generate-inspector-idl:
36526
365272011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
36528
36529        Buildfix after r82125.
36530
36531        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
36532        https://bugs.webkit.org/show_bug.cgi?id=57087
36533
36534        * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly.
36535        (WebCore::MediaPlayerPrivateQt::getSupportedTypes):
36536        (WebCore::MediaPlayerPrivateQt::commitLoad):
36537
365382011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
36539
36540        Unreviewed, rolling out r82099.
36541        http://trac.webkit.org/changeset/82099
36542        https://bugs.webkit.org/show_bug.cgi?id=57245
36543
36544        Breaks live edits tests on chromium. (Requested by pfeldman on
36545        #webkit).
36546
36547        * inspector/front-end/ScriptsPanel.js:
36548        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
36549        * inspector/front-end/SourceFrame.js:
36550        (WebInspector.SourceFrame.prototype._handleSave):
36551        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
36552
365532011-03-28  Pavel Feldman  <pfeldman@chromium.org>
36554
36555        Reviewed by Yury Semikhatsky.
36556
36557        Web Inspector: brush up and rename debugger domain functions.
36558        https://bugs.webkit.org/show_bug.cgi?id=57240
36559
36560        * inspector/Inspector.json:
36561        * inspector/InspectorAgent.cpp:
36562        (WebCore::InspectorAgent::setFrontend):
36563        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
36564        * inspector/InspectorDebuggerAgent.cpp:
36565        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
36566        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
36567        (WebCore::InspectorDebuggerAgent::setBreakpoint):
36568        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
36569        (WebCore::InspectorDebuggerAgent::editScriptSource):
36570        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
36571        (WebCore::InspectorDebuggerAgent::didParseSource):
36572        (WebCore::InspectorDebuggerAgent::failedToParseSource):
36573        (WebCore::InspectorDebuggerAgent::didPause):
36574        (WebCore::InspectorDebuggerAgent::didContinue):
36575        * inspector/InspectorDebuggerAgent.h:
36576        * inspector/front-end/DebuggerModel.js:
36577        (WebInspector.DebuggerModel.prototype.setBreakpoint):
36578        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
36579        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
36580        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
36581        (WebInspector.DebuggerDispatcher.prototype.paused):
36582        (WebInspector.DebuggerDispatcher.prototype.resumed):
36583        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
36584        (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse):
36585        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
36586        * inspector/front-end/ScriptsPanel.js:
36587        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
36588        * inspector/front-end/inspector.js:
36589        (WebInspector.didCreateWorker):
36590        (WebInspector.didDestroyWorker):
36591
365922011-03-28  David Kilzer  <ddkilzer@apple.com>
36593
36594        <http://webkit.org/b/57239> Use forward class declaration instead of including header
36595
36596        Reviewed by Dan Bernstein.
36597
36598        Adding a "using namespace WebCore;" statement in a header may
36599        cause issues when <WebCore/Length.h> is included before
36600        <CoreText/CoreText.h>.
36601
36602        Length.h defines the LengthType enum with a 'Fixed' value.
36603        CoreText.h includes MacTypes.h, which has a
36604        "typedef SInt32 Fixed;" statement, and then CoreText.h includes
36605        other headers that also use 'Fixed', but expect the typedef to
36606        be defined, not the enum.  If another header includes
36607        "using namespace WebCore;" before CoreText.h, the
36608        following compiler errors result (paths abbreviated):
36609
36610            CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous
36611            MacTypes.h:184: error: candidates are: typedef SInt32 Fixed
36612            Length.h:37: error:                 WebCore::LengthType WebCore::Fixed
36613            SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type
36614
36615        * platform/mac/HTMLConverter.h: Use forward declaration of
36616        DocumentLoader class instead of including header.  Remove the
36617        unused "using namespace WebCore;" statement.
36618
366192011-03-26  Dimitri Glazkov  <dglazkov@chromium.org>
36620
36621        Reviewed by Eric Seidel.
36622
36623        Introduce EventDispatcher, the new common way to fire events.
36624        https://bugs.webkit.org/show_bug.cgi?id=57168
36625
36626        The goal here is two-fold:
36627        1) reduce the need to randomly sprinkle guards around the dispatch code
36628        by creating a well-scoped abstraction for dispatching events.
36629        2) create a place where fiddly event-related things like creating event
36630        contexts for ancestors can be done lazily.
36631
36632        Additionally, with all the free-standing static functions, this code was
36633        just begging to come out of Node.cpp.
36634
36635        The first step is a near-mechanical extraction of mouse-related events
36636        from Node.cpp to EventDispatcher. For now, the call sites are just
36637        replaced with invoking EventDispatcher. Later, we can remove these methods
36638        from Node.
36639
36640        Refactoring, no functional changes.
36641
36642        * Android.mk: Added EventDispatcher to build system.
36643        * CMakeLists.txt: Ditto.
36644        * GNUmakefile.am: Ditto.
36645        * WebCore.gypi: Ditto.
36646        * WebCore.pro: Ditto.
36647        * WebCore.vcproj/WebCore.vcproj: Ditto.
36648        * WebCore.xcodeproj/project.pbxproj: Ditto.
36649        * dom/DOMAllInOne.cpp: Ditto.
36650        * dom/EventDispatcher.cpp: Added.
36651        * dom/EventDispatcher.h: Added.
36652        * dom/Node.cpp:
36653        (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher.
36654        (WebCore::Node::dispatchEvent): Ditto.
36655        (WebCore::Node::dispatchMouseEvent): Ditto.
36656        (WebCore::Node::dispatchSimulatedClick): Ditto.
36657        * dom/Node.h: Updated decls.
36658
366592011-03-28  Dan Bernstein  <mitz@apple.com>
36660
36661        Reviewed by Maciej Stachowiak.
36662
36663        <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes
36664        https://bugs.webkit.org/show_bug.cgi?id=57197
36665
36666        Tests: fast/repaint/overflow-flipped-writing-mode-block.html
36667               fast/repaint/overflow-flipped-writing-mode-table.html
36668
36669        * rendering/RenderBlock.cpp:
36670        (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection
36671        with the damage rect.
36672        * rendering/RenderTable.cpp:
36673        (WebCore::RenderTable::paint): Made the intersection check more like the one in
36674        RenderBlock::paint().
36675
366762011-03-28  Xiaomei Ji  <xji@chromium.org>
36677
36678        Reviewed by Ryosuke Niwa.
36679
36680        move directionOfEnclosingBlock() to be global so that it could be reused.
36681        https://bugs.webkit.org/show_bug.cgi?id=57233.
36682
36683        Provide global function directionOfEnclosingBlock(Node*) so that it could be
36684        reused in SelectionController and other functionalities that need enclosing
36685        block's direcionality, such as moving caret by word in visual order.
36686
36687        No new functionality, so no new tests.
36688
36689        * editing/SelectionController.cpp:
36690        (WebCore::SelectionController::directionOfEnclosingBlock):
36691        * editing/htmlediting.cpp:
36692        (WebCore::directionOfEnclosingBlock):
36693        * editing/htmlediting.h:
36694
366952011-03-28  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
36696
36697        Reviewed by Benjamin Poulain.
36698
36699        [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails
36700        https://bugs.webkit.org/show_bug.cgi?id=56825
36701
36702        Fixes for context attribute handling:
36703        - Initialize depth and stencil buffer depending on whether they
36704        are enabled in context attributes.
36705        - Always enable depth buffer when stencil buffer is enabled.
36706        - Disable stencil buffer on OpenGL ES 2.0
36707        - Cleaned up clutter code from initialization. Made code paths
36708        more sane.
36709        - Clear mask is now set correctly in reshape().
36710
36711        Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
36712
36713        * platform/graphics/qt/GraphicsContext3DQt.cpp:
36714        (WebCore::GraphicsContext3DInternal::isValid):
36715        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
36716        (WebCore::GraphicsContext3DInternal::reshape):
36717        (WebCore::GraphicsContext3DInternal::paint):
36718        (WebCore::GraphicsContext3DInternal::getProcAddress):
36719        (WebCore::GraphicsContext3D::GraphicsContext3D):
36720        (WebCore::GraphicsContext3D::reshape):
36721        (WebCore::GraphicsContext3D::bindFramebuffer):
36722
367232011-03-28  Pavel Feldman  <pfeldman@chromium.org>
36724
36725        Reviewed by Yury Semikhatsky.
36726
36727        Web Inspector: rename network domain events from didHappenSomething to somethingHappened.
36728        https://bugs.webkit.org/show_bug.cgi?id=57226
36729
36730        * inspector/Inspector.json:
36731        * inspector/InspectorResourceAgent.cpp:
36732        (WebCore::InspectorResourceAgent::willSendRequest):
36733        (WebCore::InspectorResourceAgent::markResourceAsCached):
36734        (WebCore::InspectorResourceAgent::didReceiveResponse):
36735        (WebCore::InspectorResourceAgent::didReceiveContentLength):
36736        (WebCore::InspectorResourceAgent::didFinishLoading):
36737        (WebCore::InspectorResourceAgent::didFailLoading):
36738        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
36739        (WebCore::InspectorResourceAgent::setInitialContent):
36740        (WebCore::InspectorResourceAgent::didCommitLoad):
36741        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
36742        (WebCore::InspectorResourceAgent::didCreateWebSocket):
36743        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
36744        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
36745        (WebCore::InspectorResourceAgent::didCloseWebSocket):
36746        * inspector/front-end/NetworkManager.js:
36747        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
36748        (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
36749        (WebInspector.NetworkDispatcher.prototype.responseReceived):
36750        (WebInspector.NetworkDispatcher.prototype.dataReceived):
36751        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
36752        (WebInspector.NetworkDispatcher.prototype.loadingFailed):
36753        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
36754        (WebInspector.NetworkDispatcher.prototype.frameDetached):
36755        (WebInspector.NetworkDispatcher.prototype.initialContentSet):
36756        (WebInspector.NetworkDispatcher.prototype.frameNavigated):
36757        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
36758        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
36759        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
36760        (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
36761
367622011-03-28  Mikhail Naganov  <mnaganov@chromium.org>
36763
36764        Reviewed by Pavel Feldman.
36765
36766        WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal.
36767        https://bugs.webkit.org/show_bug.cgi?id=57099
36768
36769        * bindings/v8/ScriptHeapSnapshot.cpp:
36770        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
36771        * bindings/v8/ScriptHeapSnapshot.h:
36772        * bindings/v8/ScriptProfile.cpp:
36773        (WebCore::ScriptProfile::~ScriptProfile):
36774        * bindings/v8/ScriptProfile.h:
36775        * inspector/InspectorProfilerAgent.cpp:
36776        (WebCore::InspectorProfilerAgent::resetState):
36777
367782011-03-24  Pavel Podivilov  <podivilov@chromium.org>
36779
36780        Reviewed by Yury Semikhatsky.
36781
36782        Web Inspector: fix console messages positions in formatted scripts.
36783        https://bugs.webkit.org/show_bug.cgi?id=57010
36784
36785        * inspector/front-end/DebuggerPresentationModel.js:
36786        (WebInspector.DebuggerPresentationModel):
36787        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
36788        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping):
36789        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
36790        (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages):
36791        (WebInspector.DebuggerPresentationModel.prototype._reset):
36792        * inspector/front-end/ResourceTreeModel.js:
36793        (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
36794        * inspector/front-end/ScriptsPanel.js:
36795        (WebInspector.ScriptsPanel):
36796        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
36797        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
36798        (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
36799        (WebInspector.ScriptsPanel.prototype.reset):
36800        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
36801        * inspector/front-end/SourceFile.js:
36802        (WebInspector.SourceFile):
36803        * inspector/front-end/SourceFrame.js:
36804        (WebInspector.SourceFrame.prototype.addMessage):
36805        (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
36806        (WebInspector.SourceFrame.prototype.addMessageToSource):
36807
368082011-03-27  Pavel Feldman  <pfeldman@chromium.org>
36809
36810        Reviewed by Yury Semikhatsky.
36811
36812        Web Inspector: refactor ResourceTreeModel to remove poor dependencies.
36813        https://bugs.webkit.org/show_bug.cgi?id=57186
36814
36815        - ResourceTreeModel is now event target (Object)
36816        - There is no ResourceTreeModel -> UI dependencies
36817        - NetworkManager -> ResourceTreeModel dependencies has been removed
36818        - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events
36819        - ResourceTreeModel requests tree structure from the backend separately
36820        - Cached resources tree payload is now limited to url and type (no headers involved)
36821        - Resources tree is being rendered lazily upon request from the panel.
36822
36823        * inspector/Inspector.json:
36824        * inspector/InspectorResourceAgent.cpp:
36825        (WebCore::InspectorResourceAgent::resourceContent):
36826        (WebCore::InspectorResourceAgent::resourceContentBase64):
36827        (WebCore::buildObjectForFrameTree):
36828        (WebCore::InspectorResourceAgent::enable):
36829        (WebCore::InspectorResourceAgent::getCachedResources):
36830        (WebCore::InspectorResourceAgent::getResourceContent):
36831        * inspector/InspectorResourceAgent.h:
36832        * inspector/InspectorStyleSheet.cpp:
36833        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
36834        * inspector/front-end/InspectorFrontendHostStub.js:
36835        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
36836        (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
36837        * inspector/front-end/NetworkManager.js:
36838        (WebInspector.NetworkManager):
36839        (WebInspector.NetworkManager.prototype.frontendReused):
36840        (WebInspector.NetworkManager.prototype.requestContent):
36841        (WebInspector.NetworkDispatcher):
36842        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
36843        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
36844        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
36845        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
36846        * inspector/front-end/NetworkPanel.js:
36847        (WebInspector.NetworkPanel):
36848        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
36849        (WebInspector.NetworkPanel.prototype._onFrameCommitLoad):
36850        * inspector/front-end/ResourceTreeModel.js:
36851        (WebInspector.ResourceTreeModel):
36852        (WebInspector.ResourceTreeModel.prototype.frontendReused):
36853        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
36854        (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame):
36855        (WebInspector.ResourceTreeModel.prototype.frames):
36856        (WebInspector.ResourceTreeModel.prototype.subframes):
36857        (WebInspector.ResourceTreeModel.prototype.resources):
36858        (WebInspector.ResourceTreeModel.prototype._onCommitLoad):
36859        (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent):
36860        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
36861        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
36862        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
36863        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
36864        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
36865        (WebInspector.ResourceTreeModel.prototype._clearResources):
36866        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
36867        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
36868        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
36869        (WebInspector.ResourceTreeModel.prototype._createResource):
36870        * inspector/front-end/ResourcesPanel.js:
36871        (WebInspector.ResourcesPanel):
36872        (WebInspector.ResourcesPanel.prototype.show):
36873        (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
36874        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
36875        (WebInspector.ResourcesPanel.prototype._frameAdded):
36876        (WebInspector.ResourcesPanel.prototype._frameDetached):
36877        (WebInspector.ResourcesPanel.prototype._resourceAdded):
36878        (WebInspector.ResourcesPanel.prototype._frameNavigated):
36879        (WebInspector.FrameTreeElement.prototype.setTitles):
36880        * inspector/front-end/inspector.js:
36881        (WebInspector.frontendReused):
36882
368832011-03-27  Ryosuke Niwa  <rniwa@webkit.org>
36884
36885        Reviewed by Eric Seidel.
36886
36887        WebKit's behavior for text-align inherit differs from other browsers
36888        https://bugs.webkit.org/show_bug.cgi?id=56377
36889
36890        The bug was caused by WebKit's resolving text-align: start and text-align: end too early.
36891        As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes,
36892        the alignment of the text in those nodes should be determined based on the directionality of the text,
36893        not by the directionality of the ancestor node from which text-align property is inherited.
36894
36895        Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will
36896        align text to the left in a LTR context and to the right in a RTL context respectively.
36897
36898        * css/CSSPrimitiveValueMappings.h:
36899        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND.
36900        (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto.
36901        * css/CSSStyleSelector.cpp:
36902        (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd.
36903        * rendering/RenderBlock.cpp:
36904        (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND.
36905        * rendering/RenderBlockLineLayout.cpp:
36906        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND.
36907        * rendering/RenderText.cpp:
36908        (WebCore::RenderText::localCaretRect): Ditto.
36909        * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits.
36910        * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign.
36911
369122011-03-28  Pavel Podivilov  <podivilov@chromium.org>
36913
36914        Reviewed by Yury Semikhatsky.
36915
36916        Web Inspector: fix breakpoints positions in formatted scripts.
36917        https://bugs.webkit.org/show_bug.cgi?id=56931
36918
36919        Add async requestMapping method to SourceFile interface as required for populating
36920        breakpoints sidebar pane when in "format all scripts" mode.
36921
36922        * inspector/front-end/DebuggerPresentationModel.js:
36923        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
36924        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping):
36925        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
36926        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
36927        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
36928        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping):
36929        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
36930        (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI.
36931        (WebInspector.PresentationBreakpoint.prototype.get sourceFileId):
36932        (WebInspector.PresentationBreakpoint.prototype.get lineNumber):
36933        (WebInspector.PresentationBreakpoint.prototype.get condition):
36934        (WebInspector.PresentationBreakpoint.prototype.get enabled):
36935        (WebInspector.PresentationBreakpoint.prototype.get url):
36936        (WebInspector.PresentationBreakpoint.prototype.get resolved):
36937        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
36938        * inspector/front-end/ScriptFormatter.js:
36939        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
36940        (WebInspector.ScriptFormatter.prototype.formatContent):
36941        * inspector/front-end/SourceFile.js:
36942        (WebInspector.SourceFile.prototype.requestSourceMapping):
36943        (WebInspector.FormattedSourceFile.prototype.requestSourceMapping):
36944        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
36945        (WebInspector.SourceMapping):
36946        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation):
36947        (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation):
36948        (WebInspector.FormattedSourceMapping):
36949        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation):
36950        (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation):
36951        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
36952
369532011-03-28  Nancy Piedra  <nancy.piedra@nokia.com>
36954
36955        Reviewed by Csaba Osztrogonác.
36956
36957        This patch fixes linking errors on Qt Webkit Windows MinGW builds.
36958        This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that
36959        QWEBKIT_EXPORT is defined as follows:
36960        #define QWEBKIT_EXPORT Q_DECL_EXPORT
36961
36962        No new tests needed since only changing .pro file.
36963
36964        * WebCore.pro:
36965
369662011-03-28  Andrey Adaikin  <aandrey@google.com>
36967
36968        Reviewed by Yury Semikhatsky.
36969
36970        Web Inspector: source frame should show the error to user when live edit is failed
36971        https://bugs.webkit.org/show_bug.cgi?id=57002
36972
36973        * inspector/front-end/ScriptsPanel.js:
36974        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
36975        * inspector/front-end/SourceFrame.js:
36976        (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource):
36977        (WebInspector.SourceFrame.prototype._handleSave):
36978        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
36979
369802011-03-26  Mario Sanchez Prada  <msanchez@igalia.com>
36981
36982        Reviewed by Martin Robinson.
36983
36984        [GTK] Expose the AtkValue interface for WAI-ARIA sliders
36985        https://bugs.webkit.org/show_bug.cgi?id=56655
36986
36987        Implement AtkValue interface for WAI-ARIA sliders.
36988
36989        Test: platform/gtk/accessibility/aria-slider-required-attributes.html
36990
36991        * accessibility/gtk/AXObjectCacheAtk.cpp:
36992        (WebCore::AXObjectCache::postPlatformNotification): Emit the
36993        'property-change::accessible-value' signal when needed.
36994
36995        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36996        (core): New, returns a core object from an AtkValue.
36997        (webkitAccessibleValueGetCurrentValue): New, implements AtkValue.
36998        (webkitAccessibleValueGetMaximumValue): Ditto.
36999        (webkitAccessibleValueGetMinimumValue): Ditto.
37000        (webkitAccessibleValueSetCurrentValue): Ditto.
37001        (webkitAccessibleValueGetMinimumIncrement): Ditto.
37002        (atkValueInterfaceInit): Ditto.
37003        (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE.
37004        (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders.
37005
370062011-03-28  Maciej Stachowiak  <mjs@apple.com>
37007
37008        Reviewed by Dan Bernstein.
37009
37010        Assigning location.path to something that doesn't start with / mangles the authority
37011        https://bugs.webkit.org/show_bug.cgi?id=57209
37012        <rdar://problem/9195132>
37013
37014        Tests: http/tests/uri/assign-path-with-leading-slash.html
37015               http/tests/uri/assign-path-without-leading-slash.html
37016
37017        * platform/KURL.cpp:
37018        (WebCore::KURL::setPath): If the new path does not have a leading slash, add one.
37019
370202011-03-28  Ryosuke Niwa  <rniwa@webkit.org>
37021
37022        Reviewed by Eric Seidel.
37023
37024        Extract functions to update logical width from computeInlineDirectionPositionsForLine
37025        https://bugs.webkit.org/show_bug.cgi?id=57213
37026
37027        Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock,
37028        and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine.
37029
37030        They are used to update logical widths, logical left, and total logical width for left,
37031        right, and center aligned blocks.
37032
37033        * rendering/RenderBlockLineLayout.cpp:
37034        (WebCore::updateLogicalWidthForLeftAlignedBlock):
37035        (WebCore::updateLogicalWidthForRightAlignedBlock):
37036        (WebCore::updateLogicalWidthForCenterAlignedBlock):
37037        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
37038
370392011-03-28  Evan Martin  <evan@chromium.org>
37040
37041        Reviewed by Ryosuke Niwa.
37042
37043        Refactor duplicate code in HTMLTextElement
37044        https://bugs.webkit.org/show_bug.cgi?id=57215
37045
37046        * html/HTMLTitleElement.cpp:
37047        (WebCore::HTMLTitleElement::childrenChanged):
37048        This method did an equivalent loop to the text() method on
37049        the same object.
37050
370512011-03-27  Fumitoshi Ukai  <ukai@chromium.org>
37052
37053        Reviewed by Alexey Proskuryakov.
37054
37055        Don't call WebSocket::didClose() more than once.
37056        https://bugs.webkit.org/show_bug.cgi?id=57081
37057
37058        If WebSocket close() is called, and connection is established, then
37059        it will call didClose() that resets m_channel to 0.
37060        After that, when connection is closed, WebSocketChannel will call
37061        didClose for the WebSocket instance.
37062
37063        Call WebSocketChannel::disconnect() before m_channel = 0 to make sure
37064        WebSocketChannel suppress the second didClose().
37065
37066        Test: http/tests/websocket/tests/close-unref-websocket.html
37067
37068        * websockets/WebSocket.cpp:
37069        (WebCore::WebSocket::didClose):
37070
370712011-03-27  Adam Barth  <abarth@webkit.org>
37072
37073        Reviewed by Eric Seidel.
37074
37075        Fix script-src redirect handling
37076        https://bugs.webkit.org/show_bug.cgi?id=57196
37077
37078        Resource-loading requirements in CSP apply to each hop in the redirect
37079        chain.  To make that work properly, we need to move enforcement into
37080        the loader.  Fortunately, we already have a choke-point in the loader
37081        for enforcing this kind of policy.
37082
37083        * dom/ScriptElement.cpp:
37084        (WebCore::ScriptElement::requestScript):
37085        * html/parser/HTMLDocumentParser.cpp:
37086        * html/parser/HTMLDocumentParser.h:
37087        * html/parser/HTMLScriptRunnerHost.h:
37088        * loader/cache/CachedResourceLoader.cpp:
37089        (WebCore::CachedResourceLoader::canRequest):
37090        * page/ContentSecurityPolicy.cpp:
37091        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
37092        * page/ContentSecurityPolicy.h:
37093
370942011-03-27  Jer Noble  <jer.noble@apple.com>
37095
37096        Reviewed by Maciej Stachowiak.
37097
37098        Full Screen: disable keyboard access by default
37099        https://bugs.webkit.org/show_bug.cgi?id=56684
37100
37101        Pass whether keyboard access was requested up to ChromeClient when asking
37102        if fullscreen mode is supported.
37103
37104        * dom/Document.cpp:
37105        (WebCore::Document::webkitRequestFullScreenForElement):
37106        * page/ChromeClient.h:
37107        (WebCore::ChromeClient::supportsFullscreenForElement):
37108
371092011-03-27  Patrick Gansterer  <paroga@webkit.org>
37110
37111        Reviewed by Andreas Kling.
37112
37113        [CMake] Generate WebKitVersion.h
37114        https://bugs.webkit.org/show_bug.cgi?id=57128
37115
37116        This file will be used for the user agent string by the CMake based ports.
37117
37118        * CMakeLists.txt:
37119
371202011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
37121
37122        Reviewed by Alexey Proskuryakov.
37123
37124        https://bugs.webkit.org/show_bug.cgi?id=57170  Fix last elements
37125        in an enum to remove a trailing comma. Sun Studio 12 CC errors out.
37126
37127        Compile fix only, no actual code change.
37128
37129        * dom/ExceptionCode.h:
37130        * editing/EditorInsertAction.h:
37131        * loader/FrameLoaderTypes.h:
37132        * platform/PlatformKeyboardEvent.h:
37133        * platform/ScrollTypes.h:
37134        * platform/graphics/BitmapImage.h:
37135        * platform/image-decoders/ImageDecoder.h:
37136        * platform/network/ProtectionSpace.h:
37137        * platform/network/ResourceHandleClient.h:
37138        * platform/network/ResourceRequestBase.h:
37139        * platform/text/TextCodec.h:
37140
371412011-03-27  Rob Buis  <rwlbuis@gmail.com>
37142
37143        Reviewed by Nikolas Zimmermann.
37144
37145        Text on path positioning at zero startOffset
37146        https://bugs.webkit.org/show_bug.cgi?id=56245
37147
37148        Since for length 0 no previous point is set, choose epsilon
37149        length to get normal at starting point of the path.
37150
37151        Test: svg/text/text-path-middle-align.svg
37152
37153        * platform/graphics/Path.cpp:
37154        (WebCore::Path::normalAngleAtLength):
37155
371562011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
37157
37158        Reviewed by Oliver Hunt.
37159
37160        https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set
37161        created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932
37162
37163        Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions
37164
37165        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
37166        (WebCore::JSJavaScriptCallFrame::thisObject):
37167
371682011-03-26  Jer Noble  <jer.noble@apple.com>
37169
37170        Unreviewed build fix.
37171
37172        Fix a bug which was causing the "skip back" button to be missing, causing
37173        the media layout tests to fail.
37174
37175        * rendering/RenderThemeMac.mm:
37176        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
37177
371782011-03-26  Dan Bernstein  <mitz@apple.com>
37179
37180        Reviewed by Maciej Stachowiak.
37181
37182        <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode
37183        https://bugs.webkit.org/show_bug.cgi?id=57169
37184
37185        Test: fast/blockflow/fallback-orientation.html
37186
37187        * platform/graphics/FontFastPath.cpp:
37188        (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather
37189        than continuing down the fallback list.
37190
371912011-03-26  Maciej Stachowiak  <mjs@apple.com>
37192
37193        Reviewed by Darin Adler.
37194
37195        Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test
37196        https://bugs.webkit.org/show_bug.cgi?id=56150
37197
37198        Test: fast/css/giant-stylesheet-crash.html
37199
37200        * dom/StyleElement.cpp:
37201        (WebCore::StyleElement::process):
37202
372032011-03-22  Jer Noble  <jer.noble@apple.com>
37204
37205        Reviewed by Eric Carlson.
37206
37207        Media controls must use full screen style when in new full screen mode.
37208        https://bugs.webkit.org/show_bug.cgi?id=56851
37209
37210        Add new full screen styles for the full screen media elements.
37211
37212        * DerivedSources.make: Add fullScreenQuickTime.css.
37213        * WebCore.xcodeproj/project.pbxproj: Ditto.
37214        * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded().
37215        (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto.
37216        (WebCore::CSSStyleSelector::styleForElement): Load full screen rules
37217            if needed.
37218        * css/fullscreenQuickTime.css: Added.
37219        * css/mediaControls.css:
37220        * html/shadow/MediaControls.cpp:
37221        (WebCore::isFullScreen): Added.
37222        (WebCore::MediaControls::create): Add new full screen volume controls.
37223        (WebCore::MediaControls::updateStyle): Ditto.
37224        (WebCore::MediaControls::update): Ditto.
37225        (WebCore::MediaControls::updateVolumeSliderContainer): Ditto.
37226        (WebCore::MediaControls::forwardEvent): Ditto.
37227        * rendering/MediaControlElements.cpp:
37228        (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added.
37229        (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added.
37230        (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added.
37231        (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet
37232        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added.
37233        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added.
37234        (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added.
37235        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added.
37236        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added.
37237        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added.
37238        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added.
37239        * rendering/MediaControlElements.h:
37240            Added m_overridePosition.
37241        (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added.
37242        * rendering/MediaControlElements.h:
37243        (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added.
37244        * rendering/RenderTheme.h:
37245        (WebCore::RenderTheme::extraFullScreenStyleSheet): Added.
37246        * rendering/RenderThemeMac.h:
37247        * rendering/RenderThemeMac.mm:
37248        (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added.
37249        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward
37250            buttons.
37251
372522011-03-26  Jer Noble  <jer.noble@apple.com>
37253
37254        Reviewed by Dan Bernstein.
37255
37256        RenderMedia should obey the view's flattening bit.
37257        https://bugs.webkit.org/show_bug.cgi?id=57156
37258
37259        Paint the current frame in software when the associated FrameView
37260        has its flattening bit set.
37261
37262        * rendering/RenderVideo.cpp:
37263        (WebCore::RenderVideo::paintReplaced):
37264
372652011-03-26  Patrick Gansterer  <paroga@webkit.org>
37266
37267        Unreviewed build fix for !ENABLE(DOM_STORAGE).
37268
37269        * storage/StorageTracker.cpp:
37270            Added #if ENABLE(DOM_STORAGE) like in the other storage files.
37271
372722011-03-26  Kwang Yul Seo  <skyul@company100.net>
37273
37274        Reviewed by Benjamin Poulain.
37275
37276        [Qt] Remove GraphicsLayerTextureMapper::nativeLayer
37277        https://bugs.webkit.org/show_bug.cgi?id=57141
37278
37279        GraphicsLayer::nativeLayer was removed in r73380.
37280
37281        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
37282        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
37283
372842011-03-26  Adam Barth  <abarth@webkit.org>
37285
37286        Reviewed by Eric Seidel.
37287
37288        Teach Content Security Policy how to parse source-list
37289        https://bugs.webkit.org/show_bug.cgi?id=54799
37290
37291        This patch is larger than I would like, but I wasn't sure how to make
37292        it any smaller while still being reasonably testable.  I've left out
37293        some features (such as host wildcarding and 'self') so I can add them
37294        in later patches with tests.
37295
37296        Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html
37297
37298        * bindings/ScriptControllerBase.cpp:
37299        * dom/ScriptElement.cpp:
37300        * html/parser/HTMLDocumentParser.cpp:
37301        * loader/FrameLoader.cpp:
37302            - Add include explicitly now that we're not spamming the include
37303              everywhere.
37304        * dom/Document.cpp:
37305        (WebCore::Document::initSecurityContext):
37306            - We need to pass the SecurityOrigin object to
37307              ContentSecurityPolicy so that it can resolve implicit parts of
37308              source patterns, such as the scheme.
37309        * dom/Document.h:
37310            - Forward declare ContentSecurityPolicy rather than including the
37311              header.  Technically this could be a separate change, but I was
37312              getting annoyed at the world re-builds.
37313        * page/ContentSecurityPolicy.cpp:
37314        (WebCore::skipExactly):
37315        (WebCore::skipUtil):
37316        (WebCore::skipWhile):
37317            - Clean up these parser helper functions.  We might consider moving
37318              them to a more general location.  They're very helpful for
37319              writing secure HTTP header parsers.
37320        (WebCore::CSPSource::CSPSource):
37321            - New class to represent one source in a source-list.
37322        (WebCore::CSPSource::matches):
37323        (WebCore::CSPSource::schemeMatches):
37324        (WebCore::CSPSource::hostMatches):
37325        (WebCore::CSPSource::portMatches):
37326        (WebCore::CSPSource::isSchemeOnly):
37327            - Currently we represent scheme-only sources using with an empty
37328              m_host.  Another approach I considered was using another bool,
37329              but that seemed slighly messier.
37330        (WebCore::CSPSourceList::CSPSourceList):
37331            - CSPSourceList doesn't need to ref SecurityOrigin because
37332              CSPSourceList is owned by ContentSecurityPolicy, which holds a
37333              ref.
37334        (WebCore::CSPSourceList::parse):
37335        (WebCore::CSPSourceList::matches):
37336        (WebCore::CSPSourceList::parseSource):
37337        (WebCore::CSPSourceList::parseScheme):
37338        (WebCore::CSPSourceList::parseHost):
37339        (WebCore::CSPSourceList::parsePort):
37340            - A basic "segment and recurse" parser.  This parser causes us to
37341              take more branches than we need, but I don't think we need to
37342              squeeze every last ouch of performance out of this parser.  This
37343              approach is more simple than some of the other approaches I
37344              tried.
37345        (WebCore::CSPSourceList::addSourceSelf):
37346        (WebCore::CSPDirective::CSPDirective):
37347        (WebCore::CSPDirective::allows):
37348        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
37349        (WebCore::ContentSecurityPolicy::parse):
37350        (WebCore::ContentSecurityPolicy::parseDirective):
37351        (WebCore::ContentSecurityPolicy::addDirective):
37352            - I couldn't resist re-writing this parser to use the helper
37353              functions and to match the style of the source-list parser.
37354        * page/ContentSecurityPolicy.h:
37355        (WebCore::ContentSecurityPolicy::create):
37356            - Accept a SecurityOrigin context object.
37357
373582011-03-26  Patrick Gansterer  <paroga@webkit.org>
37359
37360        Unreviewed EFL and WinCE build fix for r81977.
37361
37362        * platform/graphics/FontPlatformData.h:
37363
373642011-03-26  Patrick Gansterer  <paroga@webkit.org>
37365
37366        Unreviewed WinCE build fix for r82000.
37367
37368        * platform/wince/FileSystemWinCE.cpp:
37369        (WebCore::openFile): Added missing function.
37370
373712011-03-25  Kevin Ollivier  <kevino@theolliviers.com>
37372
37373        [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it.
37374
37375        * platform/graphics/FontPlatformData.h:
37376
373772011-03-25  Jer Noble  <jer.noble@apple.com>
37378
37379        Reviewed by Eric Carlson.
37380
37381        MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load.
37382        https://bugs.webkit.org/show_bug.cgi?id=57047
37383
37384        No new tests.
37385
37386        When loading a URL, checkk osee if the Appplication Cache has a version of that URL
37387        stored; if so, use the local path to that cached media instead of the remote URL.
37388
37389        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
37390        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal):
37391        * platform/graphics/win/QTMovie.cpp:
37392        (QTMovie::loadPath):
37393        * platform/graphics/win/QTMovie.h:
37394
373952011-03-25  Dan Bernstein  <mitz@apple.com>
37396
37397        Reviewed by Darin Adler.
37398
37399        <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run
37400        https://bugs.webkit.org/show_bug.cgi?id=57106
37401
37402        Test: fast/text/justify-ideograph-leading-expansion.html
37403
37404        * platform/graphics/TextRun.h:
37405        Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags.
37406        (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter.
37407        (WebCore::TextRun::allowsLeadingExpansion): Added this accessor.
37408        (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member.
37409        * platform/graphics/WidthIterator.cpp:
37410        (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing
37411        leading expansion when appropriate.
37412        (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion
37413        after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code
37414        to handle expansion before the first glyph.
37415        * platform/graphics/mac/ComplexTextController.cpp:
37416        (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the
37417        TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion.
37418        (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion.
37419        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance()
37420        * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable.
37421        * rendering/InlineBox.h:
37422        (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion
37423        to reflect the use of this bit by InlineTextBox.
37424        * rendering/InlineTextBox.cpp:
37425        (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior().
37426        (WebCore::InlineTextBox::paint): Ditto.
37427        (WebCore::InlineTextBox::paintSelection): Ditto.
37428        (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
37429        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
37430        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
37431        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
37432        (WebCore::InlineTextBox::offsetForPosition): Ditto.
37433        (WebCore::InlineTextBox::positionForOffset): Ditto.
37434        * rendering/InlineTextBox.h:
37435        (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor.
37436        (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto.
37437        (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function,
37438        which also considers canHaveLeadingExpansion().
37439        * rendering/RenderBlockLineLayout.cpp:
37440        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on
37441        text boxes that can have leading expansion. Avoid negative expansion.
37442        * rendering/RootInlineBox.cpp:
37443        * rendering/RootInlineBox.h:
37444        (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag.
37445        (WebCore::RootInlineBox::setHasSelectedChildren): Ditto.
37446
374472011-03-23  Jer Noble  <jer.noble@apple.com>
37448
37449        Reviewed by Maciej Stachowiak.
37450
37451        MediaPlayerPrivateAVFoundation should use the Application Cache during load.
37452        https://bugs.webkit.org/show_bug.cgi?id=56997
37453
37454        No new tests.
37455
37456        When loading a URL, check to see if the Application Cache has a version of that URL
37457        stored; if so, use the local path to that cached media instead of the remote URL.
37458
37459        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
37460        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded
37461            from the application cache.
37462        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
37463        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
37464        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
37465        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
37466        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added.
37467        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL.
37468
374692011-03-25  Ben Taylor  <bentaylor.solx86@gmail.com>
37470
37471        Reviewed by Darin Adler.
37472
37473        https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect
37474        both sides of a ?: operation to have the same types.  Extracted from original
37475        https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally
37476        created by Thiago Macieira.
37477
37478        fixes a compile issue on Solaris 10/SunStudio 12
37479
37480        * loader/DocumentLoader.h:
37481        (WebCore::DocumentLoader::serverRedirectSourceForHistory):
37482        * loader/FrameLoader.cpp:
37483        (WebCore::FrameLoader::load):
37484        (WebCore::FrameLoader::loadWithNavigationAction):
37485
374862011-02-03  Jer Noble  <jer.noble@apple.com>
37487
37488        Reviewed by Maciej Stachowiak.
37489
37490        MediaPlayerPrivateQTKit should use the Application Cache during load.
37491        https://bugs.webkit.org/show_bug.cgi?id=53818
37492
37493        No new tests.
37494
37495        When loading a URL, check to see if the Application Cache has a version of that URL
37496        stored; if so, use that data instead of the remote URL.
37497
37498        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
37499        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
37500        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
37501        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
37502        (WebCore::MediaPlayerPrivateQTKit::loadInternal):
37503
375042011-03-25  James Robinson  <jamesr@chromium.org>
37505
37506        Reviewed by Kenneth Russell.
37507
37508        [chromium] Move draw implementations to CCLayerImpl for everything except content layers
37509        https://bugs.webkit.org/show_bug.cgi?id=56793
37510
37511        Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for
37512        all layer types except content layers.  This gets us closer to decoupling the composite step itself from updating the layers.
37513
37514        The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines
37515        and moving the code from each XXXLayerChromium to CCXXXLayerImpl.  In order to render from the CCLayerImpl side all state
37516        needed at draw time also has to be synchronized, which is performed in pushPropertiesTo().
37517
37518        On the LayerRendererChromium side there are a few changes.  I've split the updateContents calls on LayerChromiums into two operations
37519        tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'.  paintContents() is used for any code that calls into WebKit in order to generate
37520        new pixel data.  It's expected that this call may take a long period of time and may involve "odd" side effects.  updateCompositorResources() is used for
37521        code that needs to update the compositor's texture data or other state.  It is not expected that this callback will take long (since it's just inserting
37522        commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents().
37523
37524        The updateAndDrawLayers cycle now looks like this:
37525        1.) update the root content layer
37526        2.) update the root layer scrollbars
37527        3.) for each LayerChromium in tree order:
37528          a.) ensure a CCLayerImpl of the correct type exists for this layer
37529          b.) push all draw time properties from the LayerChromium to the CCLayerImpl
37530          c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists
37531        4.) for each LayerChromium in tree order, paint the layer's contents
37532        5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc)
37533        6.) draw the root layer and its scrollbars
37534        7.) for each CCLayerImpl in render surface order, draw it
37535
37536        Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms
37537        in order to paint.  We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick
37538        up any texture updates.  This will also get fixed when the paint dependency on render surfaces is resolved.
37539
37540        I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area.
37541
37542        Tests: compositing/
37543
37544        * WebCore.gypi:
37545        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
37546        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
37547        * platform/graphics/chromium/Canvas2DLayerChromium.h:
37548        * platform/graphics/chromium/CanvasLayerChromium.cpp:
37549        (WebCore::CanvasLayerChromium::createCCLayerImpl):
37550        (WebCore::CanvasLayerChromium::pushPropertiesTo):
37551        * platform/graphics/chromium/CanvasLayerChromium.h:
37552        * platform/graphics/chromium/ContentLayerChromium.cpp:
37553        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
37554        (WebCore::ContentLayerChromium::paintContentsIfDirty):
37555        (WebCore::ContentLayerChromium::updateCompositorResources):
37556        (WebCore::ContentLayerChromium::bindContentsTexture):
37557        * platform/graphics/chromium/ContentLayerChromium.h:
37558        * platform/graphics/chromium/ImageLayerChromium.cpp:
37559        (WebCore::ImageLayerChromium::paintContentsIfDirty):
37560        * platform/graphics/chromium/ImageLayerChromium.h:
37561        * platform/graphics/chromium/LayerChromium.cpp:
37562        (WebCore::LayerChromium::LayerChromium):
37563        (WebCore::LayerChromium::cleanupResources):
37564        (WebCore::LayerChromium::setLayerRenderer):
37565        (WebCore::LayerChromium::setName):
37566        (WebCore::LayerChromium::pushPropertiesTo):
37567        (WebCore::LayerChromium::dumpLayer):
37568        (WebCore::LayerChromium::createCCLayerImpl):
37569        (WebCore::LayerChromium::createCCLayerImplIfNeeded):
37570        (WebCore::LayerChromium::ccLayerImpl):
37571        (WebCore::LayerChromium::layerRenderer):
37572        * platform/graphics/chromium/LayerChromium.h:
37573        (WebCore::LayerChromium::paintContentsIfDirty):
37574        (WebCore::LayerChromium::updateCompositorResources):
37575        * platform/graphics/chromium/LayerRendererChromium.cpp:
37576        (WebCore::LayerRendererChromium::updateLayers):
37577        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
37578        (WebCore::LayerRendererChromium::paintContentsRecursive):
37579        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
37580        (WebCore::LayerRendererChromium::drawLayer):
37581        (WebCore::LayerRendererChromium::initializeSharedObjects):
37582        * platform/graphics/chromium/LayerRendererChromium.h:
37583        (WebCore::LayerRendererChromium::canvasLayerProgram):
37584        (WebCore::LayerRendererChromium::pluginLayerProgram):
37585        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
37586        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
37587        * platform/graphics/chromium/PluginLayerChromium.cpp:
37588        (WebCore::PluginLayerChromium::createCCLayerImpl):
37589        (WebCore::PluginLayerChromium::setTextureId):
37590        (WebCore::PluginLayerChromium::pushPropertiesTo):
37591        * platform/graphics/chromium/PluginLayerChromium.h:
37592        (WebCore::PluginLayerChromium::textureId):
37593        * platform/graphics/chromium/VideoLayerChromium.cpp:
37594        (WebCore::VideoLayerChromium::createCCLayerImpl):
37595        (WebCore::VideoLayerChromium::updateCompositorResources):
37596        (WebCore::VideoLayerChromium::pushPropertiesTo):
37597        * platform/graphics/chromium/VideoLayerChromium.h:
37598        * platform/graphics/chromium/WebGLLayerChromium.cpp:
37599        (WebCore::WebGLLayerChromium::updateCompositorResources):
37600        * platform/graphics/chromium/WebGLLayerChromium.h:
37601        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
37602        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
37603        (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl):
37604        (WebCore::CCCanvasLayerImpl::draw):
37605        (WebCore::CCCanvasLayerImpl::dumpLayerProperties):
37606        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37607        (WebCore::CCCanvasLayerImpl::create):
37608        (WebCore::CCCanvasLayerImpl::setTextureId):
37609        (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha):
37610        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
37611        (WebCore::CCLayerImpl::descendantsDrawsContent):
37612        (WebCore::CCLayerImpl::updateCompositorResources):
37613        (WebCore::CCLayerImpl::writeIndent):
37614        * platform/graphics/chromium/cc/CCLayerImpl.h:
37615        (WebCore::CCLayerImpl::setAnchorPoint):
37616        (WebCore::CCLayerImpl::setAnchorPointZ):
37617        (WebCore::CCLayerImpl::setMasksToBounds):
37618        (WebCore::CCLayerImpl::setOpacity):
37619        (WebCore::CCLayerImpl::setPosition):
37620        (WebCore::CCLayerImpl::setPreserves3D):
37621        (WebCore::CCLayerImpl::setSublayerTransform):
37622        (WebCore::CCLayerImpl::setTransform):
37623        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
37624        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
37625        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
37626        (WebCore::CCPluginLayerImpl::draw):
37627        (WebCore::CCPluginLayerImpl::dumpLayerProperties):
37628        * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37629        (WebCore::CCPluginLayerImpl::create):
37630        (WebCore::CCPluginLayerImpl::setTextureId):
37631        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added.
37632        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
37633        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
37634        (WebCore::CCVideoLayerImpl::setTexture):
37635        (WebCore::CCVideoLayerImpl::draw):
37636        (WebCore::CCVideoLayerImpl::drawYUV):
37637        (WebCore::CCVideoLayerImpl::drawRGBA):
37638        (WebCore::CCVideoLayerImpl::dumpLayerProperties):
37639        * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37640        (WebCore::CCVideoLayerImpl::create):
37641        (WebCore::CCVideoLayerImpl::setSkipsDraw):
37642        (WebCore::CCVideoLayerImpl::setFrameFormat):
37643
376442011-03-25  Oliver Hunt  <oliver@apple.com>
37645
37646        Reviewed by Darin Adler.
37647
37648        Allow defineOwnProperty to work on DOMObjects
37649        https://bugs.webkit.org/show_bug.cgi?id=57129
37650
37651        As other engines are allowing defineOwnProperty to be applied
37652        to host objects there's no reason for us to retain this
37653        restriction.
37654
37655        * bindings/js/JSDOMWrapper.cpp:
37656        * bindings/js/JSDOMWrapper.h:
37657
376582011-03-25  Andy Estes  <aestes@apple.com>
37659
37660        Reviewed by Adele Peterson.
37661
37662        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
37663        https://bugs.webkit.org/show_bug.cgi?id=49016
37664
37665        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
37666        QuickTime plug-in in web pages. r70748 removed our mapping of classids
37667        to MIME types, which causes WebKit to fall back from the object to the
37668        embed tag when QuickTime is embedded by this script. The script emits
37669        the following embed tag to embed a QuickTime movie with a poster frame:
37670
37671        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
37672
37673        The expectation is that a QuickTime plug-in is instantiated to display the
37674        poster frame, since QuickTime registers for many common image MIME
37675        types. This is how Gecko behaves for embed. However, WebKit prefers to
37676        use its native image rendering for image embeds, in which case no movie
37677        is played when the poster frame is clicked.
37678
37679        Fix this by changing embed to check for a plug-in that can handle the
37680        image type before rendering the image natively. This matches Gecko.
37681
37682        Test: plugins/embed-prefers-plugins-for-images.html
37683
37684        * html/HTMLEmbedElement.cpp:
37685        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
37686        * html/HTMLObjectElement.cpp:
37687        (WebCore::HTMLObjectElement::HTMLObjectElement):
37688        (WebCore::HTMLObjectElement::parametersForPlugin):
37689        * html/HTMLPlugInImageElement.cpp:
37690        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
37691        (WebCore::HTMLPlugInImageElement::isImageType):
37692        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
37693        * html/HTMLPlugInImageElement.h:
37694        (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages):
37695        * loader/EmptyClients.h:
37696        (WebCore::EmptyFrameLoaderClient::objectContentType):
37697        * loader/FrameLoader.cpp:
37698        (WebCore::FrameLoader::defaultObjectContentType):
37699        * loader/FrameLoader.h:
37700        * loader/FrameLoaderClient.h:
37701        * loader/SubframeLoader.cpp:
37702        (WebCore::SubframeLoader::resourceWillUsePlugin):
37703        (WebCore::SubframeLoader::requestPlugin):
37704        (WebCore::SubframeLoader::requestObject):
37705        (WebCore::SubframeLoader::shouldUsePlugin):
37706        * loader/SubframeLoader.h:
37707
377082011-03-23  Jer Noble  <jer.noble@apple.com>
37709
37710        Reviewed by Eric Carlson.
37711
37712        Application Cache should save audio/ and video/ mime types as flat files
37713        https://bugs.webkit.org/show_bug.cgi?id=53784
37714        <rdar://problem/8932473>
37715
37716        No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines.
37717
37718        Store certain mime types as flat files alongside the Application Cache database.
37719        This requires plumbing the saved file path from ApplicationCacheStorage through
37720        to ApplicationCacheResource.
37721
37722        (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and
37723            add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger.
37724        (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in
37725            CacheResourceData, and store media resources as flat files.
37726        (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData
37727            when loading cache items.
37728        (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources.
37729        (WebCore::ApplicationCacheStorage::empty): Ditto.
37730        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
37731        (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
37732        (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData
37733            looking for entries with non-empty "path" columns; if found, delete.
37734        (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows
37735            and sum the file size of those rows with flat file storage.
37736        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of
37737            clearAllTables() directly.
37738        (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables,
37739            so that flat files get deleted.
37740        (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added.
37741        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added.
37742        * loader/appcache/ApplicationCacheStorage.h:
37743        * platform/win/FileSystemWin.cpp:
37744        (WebCore::openFile): Implement openFile on Windows.
37745
377462011-03-24  David Hyatt  <hyatt@apple.com>
37747
37748        Reviewed by Dan Bernstein.
37749
37750        https://bugs.webkit.org/show_bug.cgi?id=56909
37751
37752        Add a simplified normal flow layout path optimization for overflow recomputation
37753        and for positioned objects inside relative positioned containers.
37754
37755        Currently there is an optimized code path for positioned objects, but as soon as
37756        we encounter a normal flow object in the containing block chain, we lose the
37757        optimization.
37758
37759        This patch adds a new type of style difference called SimplifiedLayout that is
37760        returned when only overflow needs to be recomputed. Whenever a transform changes,
37761        this is the hint returned now instead of a full layout.
37762
37763        In addition, when positioned objects need layout and start marking up the
37764        containing block chain, we now propagate the fact that the layout is simplified
37765        all the way up to the root, even when we encounter normal flow containing
37766        blocks.
37767
37768        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
37769        and is now used for all of these cases (in addition to what it handled before).
37770
37771        The simplified layout optimization (even in ToT) did not work correctly when
37772        static distances needed to be recomputed. In order to make static distance
37773        computations work with simplified layout, positioned objects now always compute
37774        their static offsets, even if they explicitly specify left/top.  That way normal
37775        flow layout never has to re-run when the positioned object moves.  This makes
37776        movement of a positioned object along a single non-auto axis much faster when the
37777        other axis is auto. Because this code kicked in more often for absolutely positioned
37778        objects whose original display was inline, I went ahead and fixed the trailing space
37779        issue with those objects.  This causes a bunch of layout tests to progress.
37780
37781        Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html.
37782
37783        * rendering/RenderBlock.cpp:
37784        (WebCore::RenderBlock::layoutBlock):
37785        (WebCore::RenderBlock::adjustPositionedBlock):
37786        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
37787        (WebCore::RenderBlock::simplifiedLayout):
37788        * rendering/RenderBlock.h:
37789        * rendering/RenderBlockLineLayout.cpp:
37790        (WebCore::setStaticPositions):
37791        (WebCore::RenderBlock::findNextLineBreak):
37792        * rendering/RenderBox.cpp:
37793        (WebCore::RenderBox::styleDidChange):
37794        (WebCore::RenderBox::positionLineBox):
37795        * rendering/RenderBoxModelObject.cpp:
37796        (WebCore::RenderBoxModelObject::styleWillChange):
37797        * rendering/RenderFlexibleBox.cpp:
37798        (WebCore::RenderFlexibleBox::layoutBlock):
37799        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
37800        (WebCore::RenderFlexibleBox::layoutVerticalBox):
37801        * rendering/RenderObject.cpp:
37802        (WebCore::RenderObject::RenderObject):
37803        (WebCore::RenderObject::adjustStyleDifference):
37804        (WebCore::RenderObject::setStyle):
37805        (WebCore::RenderObject::styleDidChange):
37806        * rendering/RenderObject.h:
37807        (WebCore::RenderObject::needsLayout):
37808        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
37809        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
37810        (WebCore::RenderObject::setNeedsLayout):
37811        (WebCore::RenderObject::setChildNeedsLayout):
37812        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
37813        (WebCore::RenderObject::markContainingBlocksForLayout):
37814        * rendering/RenderTable.cpp:
37815        (WebCore::RenderTable::layout):
37816        * rendering/style/RenderStyle.cpp:
37817        (WebCore::RenderStyle::diff):
37818        * rendering/style/RenderStyleConstants.h:
37819        * rendering/svg/RenderSVGText.cpp:
37820        (WebCore::RenderSVGText::layout):
37821
378222011-03-25  Martin Robinson  <mrobinson@igalia.com>
37823
37824        Fix the GTK+ build until we can implement the new cross-platform
37825        FontPlatformData.h bits.
37826
37827        * platform/graphics/FontPlatformData.h: Include the proper old font headers.
37828        (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file
37829        which reference our obsolete font implementation.
37830        (WebCore::FontPlatformData::hash): Ditto.
37831
378322011-03-25  Steve Falkenburg  <sfalken@apple.com>
37833
37834        Reviewed by Brian Weinstein.
37835
37836        Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
37837        https://bugs.webkit.org/show_bug.cgi?id=57119
37838        <rdar://problem/9054148>
37839
37840        This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
37841        not available in WebKit. The plug-in is fairly widespread, since it was included in
37842        a Windows Update push at one point.
37843
37844        * plugins/win/PluginPackageWin.cpp:
37845        (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll.
37846
378472011-03-25  Tony Chang  <tony@chromium.org>
37848
37849        Try to fix the chromium mac build.
37850        We used the mac FontPlatformData on chromium mac.
37851
37852        * WebCore.gyp/WebCore.gyp:
37853        * WebCore.gypi:
37854        * platform/graphics/FontPlatformData.h:
37855
378562011-03-25  Tony Chang  <tony@chromium.org>
37857
37858        Build fix:
37859        have chromium and qt use the correct FontPlatformData.h
37860        https://bugs.webkit.org/show_bug.cgi?id=57115
37861
37862        * platform/graphics/FontPlatformData.h:
37863
378642011-03-25  Beth Dakin  <bdakin@apple.com>
37865
37866        Reviewed by Dave Hyatt.
37867
37868        Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow
37869        areas paint behind positive z-index content
37870        -and corresponding-
37871        <rdar://problem/9070500>
37872
37873        Since overlay scrollbars don't clip the scrollable content like other scrollbars do,
37874        the only way to get them to paint on top of all possible scrollable content is to
37875        make them paint on top of everything. To do this, this patch adds a second trip
37876        through the layer tree if it contains overlay scrollbars that need painting.
37877
37878        After calling paint() on the rootLayer, call paintOverlayScrollers() if
37879        containsDirtyOverlayScrollbars() is true.
37880        * page/FrameView.cpp:
37881        (WebCore::FrameView::paintContents):
37882
37883        RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool
37884        that is set on the root layer when it has child layers that need overlay scrollbars
37885        to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty
37886        of the overlay scrollbars on the first (normal) pass through the layer tree. This
37887        prevents us from having to re-enter the render tree during the second (overlay-only)
37888        pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars.
37889        * rendering/RenderLayer.h:
37890        (WebCore::RenderLayer::containsDirtyOverlayScrollbars):
37891        (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars):
37892        * rendering/RenderLayer.cpp:
37893        (WebCore::RenderLayer::RenderLayer):
37894        (WebCore::RenderLayer::paintOverflowControls):
37895        (WebCore::RenderLayer::paintOverlayScrollbars):
37896        (WebCore::RenderLayer::paintLayer):
37897
378982011-03-25  Jessie Berlin  <jberlin@apple.com>
37899
37900        Reviewed by Sam Weinig.
37901
37902        WebKit2: Need to be able to set and get the Cookie Storage Policy.
37903        https://bugs.webkit.org/show_bug.cgi?id=50780
37904
37905        * platform/network/cf/CookieStorageCFNet.cpp:
37906        (WebCore::privateCookieStorage):
37907        Rename privateBrowsingCookieStorage to privateCookieStorage.
37908        (WebCore::currentCookieStorage):
37909        Ditto.
37910        (WebCore::setCurrentCookieStorage):
37911        Ditto.
37912        (WebCore::setCookieStoragePrivateBrowsingEnabled):
37913        Ditto.
37914        (WebCore::defaultCookieStorage):
37915        Return the default cookie storage.
37916        (WebCore::privateBrowsingCookieStorage):
37917        Return privateCookieStorage().get()
37918        * platform/network/cf/CookieStorageCFNet.h:
37919
379202011-03-25  Emil A Eklund  <eae@chromium.org>
37921
37922        Reviewed by Dimitri Glazkov.
37923
37924        Text field "onchange" event is triggered if actual value unchanged
37925        https://bugs.webkit.org/show_bug.cgi?id=36314
37926
37927        Change RenderTextControl::subtreeHasChanged to only return true if the
37928        subtree has changed since the last event was triggered.
37929
37930        * html/HTMLFormControlElement.cpp:
37931        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
37932        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
37933        * html/HTMLFormControlElement.h:
37934        (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent):
37935        * html/HTMLInputElement.cpp:
37936        (WebCore::HTMLInputElement::setChecked):
37937        (WebCore::HTMLInputElement::setValue):
37938        * html/HTMLTextAreaElement.cpp:
37939        (WebCore::HTMLTextAreaElement::setValue):
37940        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
37941
379422011-03-25  Brent Fulgham  <bfulgham@webkit.org>
37943
37944        Reviewed by David Hyatt.
37945
37946        Clean up FontPlatformData structure so that a single implementation
37947        is used across all ports.  This first patch works for the Windows
37948        build (both CG and WinCairo), and Cocoa.
37949
37950        * WebCore.vcproj/WebCore.vcproj:
37951        * platform/graphics/FontPlatformData.cpp: Added.
37952        (WebCore::FontPlatformData::FontPlatformData):
37953        (WebCore::FontPlatformData::operator=):
37954        * platform/graphics/FontPlatformData.h: Added.
37955        (WebCore::toCTFontRef):
37956        (WebCore::FontPlatformData::FontPlatformData):
37957        (WebCore::FontPlatformData::hfont):
37958        (WebCore::FontPlatformData::useGDI):
37959        (WebCore::FontPlatformData::font):
37960        (WebCore::FontPlatformData::cgFont):
37961        (WebCore::FontPlatformData::size):
37962        (WebCore::FontPlatformData::setSize):
37963        (WebCore::FontPlatformData::syntheticBold):
37964        (WebCore::FontPlatformData::syntheticOblique):
37965        (WebCore::FontPlatformData::isColorBitmapFont):
37966        (WebCore::FontPlatformData::orientation):
37967        (WebCore::FontPlatformData::textOrientation):
37968        (WebCore::FontPlatformData::widthVariant):
37969        (WebCore::FontPlatformData::setOrientation):
37970        (WebCore::FontPlatformData::scaledFont):
37971        (WebCore::FontPlatformData::fontFace):
37972        (WebCore::FontPlatformData::hash):
37973        (WebCore::FontPlatformData::operator==):
37974        (WebCore::FontPlatformData::isHashTableDeletedValue):
37975        (WebCore::FontPlatformData::hashTableDeletedFontValue):
37976        * platform/graphics/cg/FontPlatformData.h: Removed.
37977        * platform/graphics/cocoa/FontPlatformData.h: Removed.
37978        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
37979        (WebCore::~FontPlatformData):
37980        (WebCore::FontPlatformData::platformDataInit):
37981        (WebCore::FontPlatformData::platformDataAssign):
37982        * platform/graphics/win/FontPlatformDataCGWin.cpp:
37983        (WebCore::FontPlatformData::FontPlatformData):
37984        (WebCore::FontPlatformData::~FontPlatformData):
37985        (WebCore::FontPlatformData::platformDataInit):
37986        (WebCore::FontPlatformData::platformDataAssign):
37987        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
37988        (WebCore::FontPlatformData::FontPlatformData):
37989        (WebCore::FontPlatformData::~FontPlatformData):
37990        (WebCore::FontPlatformData::platformDataInit):
37991        (WebCore::FontPlatformData::platformDataAssign):
37992        * platform/graphics/win/FontPlatformDataWin.cpp:
37993        (WebCore::FontPlatformData::FontPlatformData):
37994        * platform/graphics/win/cairo/FontPlatformData.h: Removed.
37995
379962011-03-25  Enrica Casucci  <enrica@apple.com>
37997
37998        Reviewed by Oliver Hunt.
37999
38000        Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName.
38001        https://bugs.webkit.org/show_bug.cgi?id=57107
38002        <rdar://problem/9084267>
38003
38004        If the selection is at the beginning of content inside an anchor tag
38005        we move the selection start to include the anchor.
38006
38007        * platform/mac/PasteboardMac.mm:
38008        (WebCore::Pasteboard::writeSelection): Modified to change the selection
38009        start according to the new rule.
38010
380112011-03-25  Pavel Feldman  <pfeldman@chromium.org>
38012
38013        Reviewed by Yury Semikhatsky.
38014
38015        Web Inspector: refactor Network domain's frame tree API
38016        https://bugs.webkit.org/show_bug.cgi?id=57103
38017
38018        * inspector/Inspector.json:
38019        * inspector/InspectorResourceAgent.cpp:
38020        (WebCore::buildObjectForFrameResource):
38021        (WebCore::buildObjectForCachedResource):
38022        (WebCore::InspectorResourceAgent::willSendRequest):
38023        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
38024        (WebCore::buildObjectForFrame):
38025        (WebCore::buildObjectForFrameTree):
38026        (WebCore::InspectorResourceAgent::didCommitLoad):
38027        (WebCore::InspectorResourceAgent::enable):
38028        * inspector/front-end/NetworkManager.js:
38029        (WebInspector.NetworkManager.prototype.requestContent):
38030        (WebInspector.NetworkDispatcher):
38031        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
38032        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
38033        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
38034        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
38035        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
38036        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
38037        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
38038        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
38039        (WebInspector.NetworkDispatcher.prototype._createResource):
38040        * inspector/front-end/ResourceTreeModel.js:
38041        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
38042        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
38043        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
38044        (WebInspector.ResourceTreeModel.prototype._clearResources):
38045        * inspector/front-end/ResourcesPanel.js:
38046        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
38047        (WebInspector.ResourcesPanel.prototype.addResourceToFrame):
38048
380492011-03-25  Dave Hyatt  <hyatt@apple.com>
38050
38051        Reviewed by Adele Peterson.
38052
38053        REGRESSION(r77257): Only first page of a document is printed
38054        https://bugs.webkit.org/show_bug.cgi?id=56958
38055
38056        Test: printing/page-count-layout-overflow.html
38057
38058        * page/FrameView.cpp:
38059        (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow
38060            to the right place.
38061
380622011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
38063
38064        Reviewed by Andreas Kling.
38065
38066        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
38067        https://bugs.webkit.org/show_bug.cgi?id=57087
38068
38069        Use explicit conversion for string to avoid depending on the default codec
38070        installed by the user code.
38071
38072        * bridge/qt/qt_pixmapruntime.cpp:
38073        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
38074        (JSC::Bindings::QtPixmapInstance::valueOf):
38075        * platform/qt/LanguageQt.cpp:
38076        (WebCore::platformDefaultLanguage):
38077        * platform/qt/PasteboardQt.cpp:
38078        (WebCore::Pasteboard::writeSelection):
38079        * plugins/qt/PluginPackageQt.cpp:
38080        (WebCore::initializeGtk):
38081        * plugins/qt/PluginViewQt.cpp:
38082        (WebCore::getPluginDisplay):
38083
380842011-03-25  Chang Shu  <cshu@webkit.org>
38085
38086        Reviewed by Ryosuke Niwa.
38087
38088        rename Node::isContentEditable and all call sites to rendererIsEditable
38089        https://bugs.webkit.org/show_bug.cgi?id=54290
38090
38091        This is part of the effort to separate JS API HTMLElement isContentEditable from
38092        internal Node::rendererIsEditable.
38093
38094        Code refactoring. No new tests.
38095
38096        * accessibility/AccessibilityRenderObject.cpp:
38097        (WebCore::AccessibilityRenderObject::isReadOnly):
38098        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
38099        * dom/Document.cpp:
38100        (WebCore::acceptsEditingFocus):
38101        * dom/Node.cpp:
38102        (WebCore::Node::rendererIsEditable):
38103        (WebCore::Node::shouldUseInputMethod):
38104        (WebCore::Node::canStartSelection):
38105        (WebCore::Node::rootEditableElement):
38106        * dom/Node.h:
38107        (WebCore::Node::isContentEditable):
38108        (WebCore::Node::rendererIsEditable):
38109        (WebCore::Node::rendererIsRichlyEditable):
38110        * dom/Position.cpp:
38111        (WebCore::nextRenderedEditable):
38112        (WebCore::previousRenderedEditable):
38113        (WebCore::Position::atEditingBoundary):
38114        (WebCore::Position::parentEditingBoundary):
38115        (WebCore::Position::upstream):
38116        (WebCore::Position::downstream):
38117        (WebCore::Position::isCandidate):
38118        * dom/PositionIterator.cpp:
38119        (WebCore::PositionIterator::isCandidate):
38120        * editing/AppendNodeCommand.cpp:
38121        (WebCore::AppendNodeCommand::AppendNodeCommand):
38122        (WebCore::AppendNodeCommand::doApply):
38123        (WebCore::AppendNodeCommand::doUnapply):
38124        * editing/ApplyStyleCommand.cpp:
38125        (WebCore::containsNonEditableRegion):
38126        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
38127        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
38128        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
38129        * editing/CompositeEditCommand.cpp:
38130        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
38131        * editing/DeleteButtonController.cpp:
38132        (WebCore::isDeletableElement):
38133        (WebCore::enclosingDeletableElement):
38134        * editing/DeleteFromTextNodeCommand.cpp:
38135        (WebCore::DeleteFromTextNodeCommand::doApply):
38136        (WebCore::DeleteFromTextNodeCommand::doUnapply):
38137        * editing/DeleteSelectionCommand.cpp:
38138        (WebCore::DeleteSelectionCommand::removeNode):
38139        * editing/Editor.cpp:
38140        (WebCore::Editor::canDeleteRange):
38141        (WebCore::Editor::markMisspellingsOrBadGrammar):
38142        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
38143        * editing/EditorCommand.cpp:
38144        (WebCore::verticalScrollDistance):
38145        * editing/FormatBlockCommand.cpp:
38146        (WebCore::enclosingBlockToSplitTreeTo):
38147        * editing/IndentOutdentCommand.cpp:
38148        (WebCore::IndentOutdentCommand::outdentParagraph):
38149        * editing/InsertIntoTextNodeCommand.cpp:
38150        (WebCore::InsertIntoTextNodeCommand::doApply):
38151        (WebCore::InsertIntoTextNodeCommand::doUnapply):
38152        * editing/InsertNodeBeforeCommand.cpp:
38153        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
38154        (WebCore::InsertNodeBeforeCommand::doApply):
38155        (WebCore::InsertNodeBeforeCommand::doUnapply):
38156        * editing/JoinTextNodesCommand.cpp:
38157        (WebCore::JoinTextNodesCommand::doApply):
38158        (WebCore::JoinTextNodesCommand::doUnapply):
38159        * editing/MergeIdenticalElementsCommand.cpp:
38160        (WebCore::MergeIdenticalElementsCommand::doApply):
38161        (WebCore::MergeIdenticalElementsCommand::doUnapply):
38162        * editing/RemoveNodeCommand.cpp:
38163        (WebCore::RemoveNodeCommand::doApply):
38164        (WebCore::RemoveNodeCommand::doUnapply):
38165        * editing/ReplaceSelectionCommand.cpp:
38166        (WebCore::ReplacementFragment::ReplacementFragment):
38167        * editing/SelectionController.cpp:
38168        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
38169        (WebCore::SelectionController::setSelectionFromNone):
38170        * editing/SplitElementCommand.cpp:
38171        (WebCore::SplitElementCommand::executeApply):
38172        (WebCore::SplitElementCommand::doUnapply):
38173        * editing/SplitTextNodeCommand.cpp:
38174        (WebCore::SplitTextNodeCommand::doApply):
38175        (WebCore::SplitTextNodeCommand::doUnapply):
38176        (WebCore::SplitTextNodeCommand::doReapply):
38177        * editing/SplitTextNodeContainingElementCommand.cpp:
38178        (WebCore::SplitTextNodeContainingElementCommand::doApply):
38179        * editing/VisiblePosition.cpp:
38180        (WebCore::VisiblePosition::canonicalPosition):
38181        * editing/WrapContentsInDummySpanCommand.cpp:
38182        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
38183        (WebCore::WrapContentsInDummySpanCommand::doReapply):
38184        * editing/htmlediting.cpp:
38185        (WebCore::highestEditableRoot):
38186        (WebCore::lowestEditableAncestor):
38187        (WebCore::isEditablePosition):
38188        (WebCore::isRichlyEditablePosition):
38189        (WebCore::firstEditablePositionAfterPositionInRoot):
38190        (WebCore::extendRangeToWrappingNodes):
38191        (WebCore::enclosingNodeWithTag):
38192        (WebCore::enclosingNodeOfType):
38193        (WebCore::highestEnclosingNodeOfType):
38194        (WebCore::canMergeLists):
38195        * editing/visible_units.cpp:
38196        (WebCore::previousLeafWithSameEditability):
38197        (WebCore::previousLinePosition):
38198        (WebCore::nextLeafWithSameEditability):
38199        (WebCore::nextLinePosition):
38200        (WebCore::startOfParagraph):
38201        (WebCore::endOfParagraph):
38202        * html/HTMLAnchorElement.cpp:
38203        (WebCore::HTMLAnchorElement::supportsFocus):
38204        (WebCore::HTMLAnchorElement::defaultEventHandler):
38205        (WebCore::HTMLAnchorElement::setActive):
38206        (WebCore::HTMLAnchorElement::canStartSelection):
38207        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
38208        * html/HTMLBodyElement.cpp:
38209        (WebCore::HTMLBodyElement::supportsFocus):
38210        * html/HTMLElement.cpp:
38211        (WebCore::HTMLElement::supportsFocus):
38212        (WebCore::HTMLElement::isContentEditable):
38213        (WebCore::HTMLElement::contentEditable):
38214        * html/HTMLElement.h:
38215        * page/DragController.cpp:
38216        (WebCore::DragController::operationForLoad):
38217        (WebCore::DragController::canProcessDrag):
38218        * page/EventHandler.cpp:
38219        (WebCore::EventHandler::handleMouseReleaseEvent):
38220        (WebCore::EventHandler::selectCursor):
38221        * page/FocusController.cpp:
38222        (WebCore::relinquishesEditingFocus):
38223        * rendering/HitTestResult.cpp:
38224        (WebCore::HitTestResult::isContentEditable):
38225        * rendering/RenderBlock.cpp:
38226        (WebCore::positionForPointRespectingEditingBoundaries):
38227        (WebCore::RenderBlock::hasLineIfEmpty):
38228        * rendering/RenderBlockLineLayout.cpp:
38229        (WebCore::RenderBlock::addOverflowFromInlineChildren):
38230        * rendering/RenderBox.cpp:
38231        (WebCore::RenderBox::canBeProgramaticallyScrolled):
38232        * rendering/RenderObject.cpp:
38233        (WebCore::RenderObject::createVisiblePosition):
38234        * rendering/RootInlineBox.cpp:
38235        (WebCore::isEditableLeaf):
38236        * svg/SVGAElement.cpp:
38237        (WebCore::SVGAElement::supportsFocus):
38238
382392011-03-25  Maciej Stachowiak  <mjs@apple.com>
38240
38241        Reviewed by Antti Koivisto.
38242
38243        Crash when a wbr element is inserted inside mroot
38244        https://bugs.webkit.org/show_bug.cgi?id=56352
38245
38246        Test: mathml/wbr-in-mroot-crash.html
38247
38248        * rendering/mathml/RenderMathMLRoot.cpp:
38249        (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first
38250        child, instead of just assuming.
38251
382522011-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
38253
38254        Reviewed by Pavel Feldman.
38255
38256        XML Viewer: extensions can't render original XML
38257        https://bugs.webkit.org/show_bug.cgi?id=56263
38258
38259        Added source xml to transformed document, renamed onload function.
38260
38261        * xml/XMLTreeViewer.cpp:
38262        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
38263        * xml/XMLViewer.xsl:
38264
382652011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
38266
38267        Reviewed by Andreas Kling.
38268
38269        [Qt] Get rid of the invalid string conversion with ::fromAscii()
38270        https://bugs.webkit.org/show_bug.cgi?id=57102
38271
38272        Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code.
38273
38274        * platform/network/qt/QNetworkReplyHandler.cpp:
38275        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
38276        * platform/qt/CookieJarQt.cpp:
38277        (WebCore::cookies):
38278        (WebCore::cookieRequestHeaderFieldValue):
38279
382802011-03-25  Sheriff Bot  <webkit.review.bot@gmail.com>
38281
38282        Unreviewed, rolling out r81953.
38283        http://trac.webkit.org/changeset/81953
38284        https://bugs.webkit.org/show_bug.cgi?id=57096
38285
38286        "inspector test breakage: part 2/2" (Requested by apavlov on
38287        #webkit).
38288
38289        * inspector/Inspector.json:
38290        * inspector/InspectorCSSAgent.cpp:
38291        (WebCore::InspectorCSSAgent::getAllStyles):
38292        * inspector/InspectorCSSAgent.h:
38293        * inspector/InspectorStyleSheet.cpp:
38294        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
38295        * inspector/InspectorStyleSheet.h:
38296        * inspector/front-end/AuditRules.js:
38297        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
38298        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
38299        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
38300        * inspector/front-end/CSSStyleModel.js:
38301        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
38302        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
38303        (WebInspector.CSSStyleModel.prototype._onRevert):
38304        (WebInspector.CSSStyleSheet):
38305        (WebInspector.CSSStyleSheet.prototype.setText):
38306
383072011-03-15  Alexander Pavlov  <apavlov@chromium.org>
38308
38309        Reviewed by Pavel Feldman.
38310
38311        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
38312        https://bugs.webkit.org/show_bug.cgi?id=56310
38313
38314        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
38315        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
38316        by CSSAgent.getStyleSheet() anymore.
38317
38318        Test: inspector/styles/get-set-stylesheet-text.html
38319
38320        * inspector/Inspector.json:
38321        * inspector/InspectorCSSAgent.cpp:
38322        (WebCore::InspectorCSSAgent::getAllStyleSheets):
38323        * inspector/InspectorCSSAgent.h:
38324        * inspector/InspectorStyleSheet.cpp:
38325        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
38326        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
38327        * inspector/InspectorStyleSheet.h:
38328        * inspector/front-end/AuditRules.js:
38329        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
38330        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
38331        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
38332        * inspector/front-end/CSSStyleModel.js:
38333        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
38334        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
38335        (WebInspector.CSSStyleModel.prototype._onRevert):
38336        (WebInspector.CSSStyleSheet):
38337        (WebInspector.CSSStyleSheet.prototype.setText):
38338
383392011-03-25  Pavel Feldman  <pfeldman@chromium.org>
38340
38341        Reviewed by Yury Semikhatsky.
38342
38343        Web Inspector: extension server should not convert all resources to HAR when there are no extensions.
38344        https://bugs.webkit.org/show_bug.cgi?id=57044
38345
38346        * inspector/front-end/ExtensionServer.js:
38347        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
38348        (WebInspector.ExtensionServer.prototype._hasSubscribers):
38349
383502011-03-25  Leo Yang  <leo.yang@torchmobile.com.cn>
38351
38352        Reviewed by Nikolas Zimmermann.
38353
38354        SVG <use> element performance improvement
38355        https://bugs.webkit.org/show_bug.cgi?id=57077
38356
38357        SVG <use> element was expanding nesting <use> and <symbol> elements
38358        in an inefficient way. After it expanded an <use> or a <symbol>
38359        element it would restart expanding from the shadow tree root.
38360        This behavior was leading about 160 millions of calls to
38361        expandUseElementInShadowTree or expandSymbolElementInShadowTree for
38362        a single shadow tree which is illustrated by
38363        http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg.
38364        But the effective calls, which really expand <use> or <symbol>
38365        elements, were about 5200; others were passing-by calls, which are
38366        recursively down to the children.
38367
38368        This patch is altering the expanding path to reduce the passing-by
38369        calls. It will expand elements in sibling chain where there is an
38370        effective call, because the effective call replaces element which is
38371        expanded and the replacement results lose of the sibling chain of
38372        the replaced on the upper recursion stack. With this patch the
38373        passing-by calls are reduced from about 160 millions to about 30
38374        thousands.
38375
38376        No functionality change, no new tests.
38377
38378        * svg/SVGUseElement.cpp:
38379        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
38380        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
38381        * svg/SVGUseElement.h:
38382
383832011-03-25  Dominic Cooney  <dominicc@google.com>
38384
38385        Reviewed by Kent Tamura.
38386
38387        Makes keygen support autofocus attribute.
38388        https://bugs.webkit.org/show_bug.cgi?id=57091
38389
38390        Test: fast/forms/autofocus-keygen.html
38391
38392        * html/HTMLFormControlElement.cpp:
38393        (WebCore::HTMLFormControlElement::attach):
38394
383952011-03-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
38396
38397        Reviewed by Antonio Gomes.
38398
38399        [EFL] Add sound / mute button to MediaControl UI
38400        https://bugs.webkit.org/show_bug.cgi?id=56726
38401
38402        Add sound / mute button to MediaControl UI.
38403
38404        * platform/efl/RenderThemeEfl.cpp:
38405        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
38406        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
38407        (WebCore::RenderThemeEfl::paintMediaMuteButton):
38408        * platform/efl/RenderThemeEfl.h:
38409
384102011-03-24  Nikolas Zimmermann  <nzimmermann@rim.com>
38411
38412        Reviewed by Darin Adler.
38413
38414        Introduce WTF HexNumber.h
38415        https://bugs.webkit.org/show_bug.cgi?id=56099
38416
38417        Introduce a set of functions that ease converting from a bye or a number to a hex string,
38418        replacing several of these conversions and String::format("%x") usages all over WebCore.
38419
38420        * ForwardingHeaders/wtf/HexNumber.h: Added.
38421        * css/CSSOMUtils.cpp:
38422        (WebCore::serializeCharacterAsCodePoint):
38423        * css/CSSParser.cpp:
38424        (WebCore::quoteCSSString):
38425        * inspector/InspectorResourceAgent.cpp:
38426        (WebCore::createReadableStringFromBinary):
38427        * platform/FileSystem.cpp:
38428        (WebCore::encodeForFileName):
38429        * platform/KURL.cpp:
38430        (WebCore::appendEscapedChar):
38431        * platform/UUID.cpp:
38432        (WebCore::createCanonicalUUIDString):
38433        * platform/graphics/Color.cpp:
38434        (WebCore::Color::serialized):
38435        * platform/network/FormDataBuilder.cpp:
38436        (WebCore::FormDataBuilder::encodeStringAsFormData):
38437        * rendering/RenderTreeAsText.cpp:
38438        (WebCore::quoteAndEscapeNonPrintables):
38439
384402011-03-24  Stephanie Lewis  <slewis@apple.com>
38441
38442        Reviewed by Geoff Garen.
38443
38444        <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts
38445        Add back a call to destroy decoded data after access.  Keep the SourceProviderCache
38446        around as long as their are still clients to use it.
38447
38448        No new tests because there is no change in behavior.  Current tests pass.
38449
38450        * loader/cache/CachedScript.cpp:
38451        (WebCore::CachedScript::script):
38452        (WebCore::CachedScript::destroyDecodedData):
38453
384542011-03-24  Stephanie Lewis  <slewis@apple.com>
38455
38456        Reviewed by Geoff Garen.
38457
38458        https://bugs.webkit.org/show_bug.cgi?id=57073
38459        Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list.
38460        Saves 1.5 MB on Membuster.
38461
38462        No new tests because there was no change in behavior.  Current tests pass.
38463
38464        * html/parser/HTMLToken.h:
38465        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
38466        (WebCore::AtomicHTMLToken::initializeAttributes):
38467
384682011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
38469
38470        Unreviewed, rolling out r81916 and r81917.
38471        http://trac.webkit.org/changeset/81916
38472        http://trac.webkit.org/changeset/81917
38473        https://bugs.webkit.org/show_bug.cgi?id=57071
38474
38475        broke a test on platforms that do not have QuickTime installed
38476        (Requested by estes on #webkit).
38477
38478        * html/HTMLEmbedElement.cpp:
38479        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
38480        * html/HTMLObjectElement.cpp:
38481        (WebCore::HTMLObjectElement::HTMLObjectElement):
38482        (WebCore::HTMLObjectElement::parametersForPlugin):
38483        * html/HTMLPlugInImageElement.cpp:
38484        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
38485        (WebCore::HTMLPlugInImageElement::isImageType):
38486        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
38487        * html/HTMLPlugInImageElement.h:
38488        * loader/EmptyClients.h:
38489        (WebCore::EmptyFrameLoaderClient::objectContentType):
38490        * loader/FrameLoader.cpp:
38491        (WebCore::FrameLoader::defaultObjectContentType):
38492        * loader/FrameLoader.h:
38493        * loader/FrameLoaderClient.h:
38494        * loader/SubframeLoader.cpp:
38495        (WebCore::SubframeLoader::resourceWillUsePlugin):
38496        (WebCore::SubframeLoader::requestObject):
38497        (WebCore::SubframeLoader::shouldUsePlugin):
38498        * loader/SubframeLoader.h:
38499
385002011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
38501
38502        Reviewed by Darin Adler.
38503
38504        Eliminate Node::dispatchGenericEvent.
38505        https://bugs.webkit.org/show_bug.cgi?id=57045
38506
38507        No functional change, covered by existing tests.
38508
38509        * dom/Node.cpp:
38510        (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent,
38511            removed unnecessary extra refs and a stale comment.
38512        * dom/Node.h:
38513        * page/DOMWindow.cpp:
38514        (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent.
38515        * svg/SVGElement.cpp:
38516        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
38517        * svg/SVGElementInstance.cpp:
38518        (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still
38519            works thanks to SVG-aware retargeting in Node.
38520
385212011-03-24  Chris Rogers  <crogers@google.com>
38522
38523        Reviewed by Kenneth Russell.
38524
38525        web audio: Properly sample-rate convert audio assets in chromium port
38526        https://bugs.webkit.org/show_bug.cgi?id=56980
38527
38528        No new tests since audio API is not yet implemented.
38529
38530        * WebCore.gypi:
38531        * platform/audio/AudioBus.cpp:
38532        (WebCore::AudioBus::createBySampleRateConverting):
38533        (WebCore::AudioBus::createByMixingToMono):
38534        * platform/audio/AudioBus.h:
38535        * platform/audio/HRTFKernel.cpp:
38536        (WebCore::extractAverageGroupDelay):
38537        (WebCore::HRTFKernel::HRTFKernel):
38538        * platform/audio/SincResampler.cpp:
38539        * platform/audio/chromium/AudioBusChromium.cpp:
38540        (WebCore::AudioBus::loadPlatformResource):
38541        (WebCore::createBusFromInMemoryAudioFile):
38542
385432011-03-24  Rik Cabanier  <cabanier@adobe.com>
38544
38545        Reviewed by David Hyatt.
38546
38547        REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows
38548        https://bugs.webkit.org/show_bug.cgi?id=56829
38549
38550        Test: fast/css/percentage-non-integer.html
38551
38552        * platform/Length.h:
38553        (WebCore::Length::calcValue):
38554        (WebCore::Length::calcMinValue):
38555        (WebCore::Length::calcFloatValue):
38556
385572011-03-24  Mihai Parparita  <mihaip@chromium.org>
38558
38559        Reviewed by James Robinson.
38560
38561        [Chromium] Vertical Japanese text is not displayed on Snow Leopard
38562        https://bugs.webkit.org/show_bug.cgi?id=56962
38563
38564        Make Snow Leopard check added by r80740 into a runtime check for
38565        Chromium, since it uses the same binary on both Leopard and Snow Leopard.
38566
38567        * platform/graphics/mac/FontMac.mm:
38568        (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
38569        (WebCore::showGlyphsWithAdvances):
38570
385712011-03-24  Brady Eidson  <beidson@apple.com>
38572
38573        Reviewed by Sam Weinig.
38574
38575        https://bugs.webkit.org/show_bug.cgi?id=57058
38576        Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
38577
38578        * loader/icon/IconDatabase.cpp:
38579        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero.
38580        (WebCore::IconDatabase::IconDatabase): Add more logging.
38581        (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods.
38582        (WebCore::FinishedURLImport::FinishedURLImport):
38583        (WebCore::FinishedURLImport::performWork):
38584        (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
38585
38586        * loader/icon/IconDatabase.h:
38587        (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator.
38588
38589        * WebCore.exp.in:
38590
385912011-03-23  Jer Noble  <jer.noble@apple.com>
38592
38593        Reviewed by Maciej Stachowiak.
38594
38595        Application Cache should save audio/ and video/ mime types as flat files
38596        https://bugs.webkit.org/show_bug.cgi?id=53784
38597        <rdar://problem/8932473>
38598
38599        No new tests.
38600
38601        ApplicationCacheResource::create() now takes an additional "path" parameter.  To facilitate
38602        extracting this path information, two functions in ApplicationCacheHost have been made public.
38603
38604        * loader/appcache/ApplicationCacheGroup.cpp:
38605        (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter.
38606        (WebCore::ApplicationCacheGroup::didFail): Ditto.
38607        * loader/appcache/ApplicationCacheHost.h:
38608        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public.
38609        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public.
38610        * loader/appcache/ApplicationCacheResource.cpp:
38611        (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter.
38612        * loader/appcache/ApplicationCacheResource.h:
38613        (WebCore::ApplicationCacheResource::create): Ditto.
38614        (WebCore::ApplicationCacheResource::path): New accessor.
38615
386162011-03-24  Andy Estes  <aestes@apple.com>
38617
38618        Reviewed by Darin Adler.
38619
38620        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
38621        https://bugs.webkit.org/show_bug.cgi?id=49016
38622
38623        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
38624        QuickTime plug-in in web pages. r70748 removed our mapping of classids
38625        to MIME types, which causes WebKit to fall back from the object to the
38626        embed tag when QuickTime is embedded by this script. The script emits
38627        the following embed tag to embed a QuickTime movie with a poster frame:
38628
38629        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
38630
38631        The expectation is that a QuickTime plug-in is instantiated to display the
38632        poster frame, since QuickTime registers for many common image MIME
38633        types. This is how Gecko behaves for embed. However, WebKit prefers to
38634        use its native image rendering for image embeds, in which case no movie
38635        is played when the poster frame is clicked.
38636
38637        Fix this by changing embed to check for a plug-in that can handle the
38638        image type before rendering the image natively. This matches Gecko.
38639
38640        Test: fast/images/embed-image-plugins-disabled.html
38641
38642        * html/HTMLObjectElement.cpp:
38643        (WebCore::HTMLObjectElement::parametersForPlugin):
38644        * html/HTMLPlugInImageElement.cpp:
38645        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
38646        (WebCore::HTMLPlugInImageElement::isImageType):
38647        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
38648        * html/HTMLPlugInImageElement.h:
38649        (WebCore::HTMLPlugInImageElement::preferPluginsForImages):
38650        * loader/EmptyClients.h:
38651        (WebCore::EmptyFrameLoaderClient::objectContentType):
38652        * loader/FrameLoader.cpp:
38653        (WebCore::FrameLoader::defaultObjectContentType):
38654        * loader/FrameLoader.h:
38655        * loader/FrameLoaderClient.h:
38656        * loader/SubframeLoader.cpp:
38657        (WebCore::SubframeLoader::resourceWillUsePlugin):
38658        (WebCore::SubframeLoader::requestPlugin):
38659        (WebCore::SubframeLoader::requestObject):
38660        (WebCore::SubframeLoader::shouldUsePlugin):
38661        * loader/SubframeLoader.h:
38662
386632011-03-24  Mike Reed  <reed@google.com>
38664
38665        Reviewed by James Robinson.
38666
38667        Move lifetime management of grContext from a global to being
38668        per-SharedGraphicsContext3D, which correctly is 1:1 with the
38669        underlying opengl context.
38670        https://bugs.webkit.org/show_bug.cgi?id=54330
38671
38672        No new tests. Existing <canvas> tests exercise this:
38673
38674        * platform/graphics/chromium/DrawingBufferChromium.cpp:
38675        (WebCore::DrawingBuffer::DrawingBuffer):
38676        (WebCore::DrawingBuffer::~DrawingBuffer):
38677        (WebCore::DrawingBuffer::publishToPlatformLayer):
38678        (WebCore::DrawingBuffer::setGrContext):
38679        * platform/graphics/gpu/DrawingBuffer.h:
38680        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38681        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38682        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
38683        (WebCore::SharedGraphicsContext3D::getGrContext):
38684        * platform/graphics/gpu/SharedGraphicsContext3D.h:
38685        * platform/graphics/skia/PlatformContextSkia.cpp:
38686        (WebCore::PlatformContextSkia::~PlatformContextSkia):
38687        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
38688
386892011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
38690
38691        Reviewed by Darin Adler.
38692
38693        Untangle dependency between event ancestor chain computation and InspectorDOMAgent.
38694        https://bugs.webkit.org/show_bug.cgi?id=57050
38695
38696        Inspector's list of event listeners does not need to invoke Node::getEventListeners,
38697        because it simply wants to collect all ancestors and never uses EventContext bits.
38698
38699        No functional change, covered by existing tests.
38700
38701        * dom/Node.cpp:
38702        (WebCore::getEventAncestors): Converted into a static function.
38703        (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors.
38704        * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside.
38705        * inspector/InspectorDOMAgent.cpp:
38706        (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call
38707            to getEventAncestors with a simple ancestor traversal loop.
38708
387092011-03-24  Adam Klein  <adamk@chromium.org>
38710
38711        Reviewed by David Levin.
38712
38713        [fileapi] Make FileError and FileException accessible from WorkerContext
38714        https://bugs.webkit.org/show_bug.cgi?id=57041
38715
38716        * workers/WorkerContext.idl:
38717
387182011-03-24  Sam Weinig  <sam@webkit.org>
38719
38720        Reviewed by Anders Carlsson.
38721
38722        Remove legacy version of findPlainText.
38723        https://bugs.webkit.org/show_bug.cgi?id=57056
38724
38725        * editing/TextIterator.cpp:
38726        * editing/TextIterator.h:
38727        Remove legacy overload of findPlainText that doesn't
38728        take an options parameter.
38729
387302011-03-24  Geoffrey Garen  <ggaren@apple.com>
38731
38732        Reviewed by Oliver Hunt.
38733
38734        Ensure that all compilation takes place within a dynamic global object scope
38735        https://bugs.webkit.org/show_bug.cgi?id=57054
38736
38737        * bindings/js/JSErrorHandler.cpp:
38738        (WebCore::JSErrorHandler::handleEvent):
38739        * bindings/js/JSEventListener.cpp:
38740        (WebCore::JSEventListener::handleEvent): Updated for signature change.
38741
387422011-03-24  John Bauman  <jbauman@chromium.org>
38743
38744        Reviewed by Kenneth Russell.
38745
38746        preserveDrawingBuffer=true is ignored
38747        https://bugs.webkit.org/show_bug.cgi?id=56987
38748
38749        Add code to the V8 and JSC bindings to support grabbing the value of
38750        preserveDrawingBuffer from the input context attributes. Also, in
38751        WebGLRenderingContext use the WebGLContextAttributes that were input
38752        directly, not those from the GraphicsContext3D which could have been
38753        changed.
38754
38755        No new tests, as this can't be tested with DRT. However, this works
38756        when tested manually.
38757
38758        * bindings/js/JSHTMLCanvasElementCustom.cpp:
38759        (WebCore::JSHTMLCanvasElement::getContext):
38760        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
38761        (WebCore::V8HTMLCanvasElement::getContextCallback):
38762        * html/canvas/WebGLRenderingContext.cpp:
38763        (WebCore::WebGLRenderingContext::clearIfComposited):
38764        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
38765
387662011-03-24  Enrica Casucci  <enrica@apple.com>
38767
38768        Reviewed by Alexey Proskuryakov.
38769
38770        WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
38771        https://bugs.webkit.org/show_bug.cgi?id=56975
38772        <rdar://problem/8915066>
38773
38774        Adding support in WebCore to implement readSelectionFromPasteboard
38775        to support Mac OS X services from WebKit2.
38776
38777        * WebCore.exp.in:
38778        * editing/Editor.h:
38779        * editing/mac/EditorMac.mm:
38780        (WebCore::Editor::readSelectionFromPasteboard): Added entry point
38781        to call the paste functions with the specified pasteboard.
38782
387832011-03-24  Vsevolod Vlasov  <vsevik@chromium.org>
38784
38785        Reviewed by Pavel Feldman.
38786
38787        Web Inspector: Inspector does not show correct transfer size for synchronous requests
38788        https://bugs.webkit.org/show_bug.cgi?id=56951
38789
38790        Fixed transfer size for synchronous load.
38791
38792        Test: http/tests/inspector/network/network-size-sync.html
38793
38794        * loader/FrameLoader.cpp:
38795        (WebCore::FrameLoader::willLoadMediaElementURL):
38796        (WebCore::FrameLoader::commitProvisionalLoad):
38797        (WebCore::FrameLoader::loadResourceSynchronously):
38798        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
38799        * loader/ResourceLoadNotifier.cpp:
38800        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
38801        * loader/ResourceLoadNotifier.h:
38802
388032011-03-24  Brady Eidson  <beidson@apple.com>
38804
38805        Reviewed by Adam Roben.
38806
38807        https://bugs.webkit.org/show_bug.cgi?id=57030
38808        REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's
38809        web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message
38810
38811        The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on
38812        a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's
38813        perfectly valid to attempt to performCallback() after the callback function pointer has been cleared.
38814
38815        * loader/icon/IconDatabaseBase.h:
38816        (WebCore::EnumCallback::performCallback):
38817        (WebCore::EnumCallback::invalidate):
38818        (WebCore::EnumCallback::EnumCallback):
38819        (WebCore::ObjectCallback::performCallback):
38820        (WebCore::ObjectCallback::invalidate):
38821        (WebCore::ObjectCallback::ObjectCallback):
38822
388232011-03-24  Sam Weinig  <sam@webkit.org>
38824
38825        Reviewed by Darin Adler.
38826
38827        Dictionary text extraction is not correctly detecting word boundaries on bing.com
38828        <rdar://problem/9078569>
38829        https://bugs.webkit.org/show_bug.cgi?id=56995
38830
38831        * WebCore.exp.in:
38832        Add some editing related exports needed by WebKit2.
38833
388342011-03-24  Andy Estes  <aestes@apple.com>
38835
38836        Reviewed by Eric Seidel.
38837
38838        REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags
38839        https://bugs.webkit.org/show_bug.cgi?id=56836
38840
38841        During fragment parsing, HTMLConstructionSite holds a reference to the
38842        fragment context's closest form ancestor. If a misnested form end tag is
38843        then encountered as the first node of the fragment, we will check to see
38844        if a corresponding form start tag is in scope even though no such tag
38845        exists. This led to isScope() walking the HTMLElementStack all the way
38846        to the root DocumentFragment and attempting to cast it to Element*.
38847
38848        Fix this by ensuring that the inScope() family of functions operate in
38849        terms of ContainerNodes to account for the fragment case.
38850
38851        Test: fast/parser/fragment-closest-form-ancestor.html
38852
38853        * html/parser/HTMLElementStack.cpp:
38854        (WebCore::HTMLNames::isRootNode):
38855        (WebCore::HTMLNames::isScopeMarker):
38856        (WebCore::HTMLNames::isTableScopeMarker):
38857        (WebCore::HTMLNames::isTableBodyScopeMarker):
38858        (WebCore::HTMLNames::isTableRowScopeMarker):
38859        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
38860        (WebCore::HTMLElementStack::inScope):
38861
388622011-03-24  Enrica Casucci  <enrica@apple.com>
38863
38864        Reviewed by Darin Adler.
38865
38866        Repeated copy and paste-in-place operation results in increasingly verbose HTML.
38867        <rdar://problem/8690506>
38868        https://bugs.webkit.org/show_bug.cgi?id=56874
38869
38870        When we calculate the style to apply at the insertion point we compare the initial
38871        style at the insertion point against the style calculated at the span we wrap the
38872        copied markup fragment with. We could end up with a series of unnecessary spans
38873        to remove the initial style that simply grow our markup.
38874        The consists in moving the insertion point outside any inline element that could
38875        affect the fragment being inserted when we are not pasting and matching the style.
38876
38877        Test: editing/pasteboard/paste-text-with-style.html
38878
38879        * editing/ReplaceSelectionCommand.cpp:
38880        (WebCore::isInlineNodeWithStyle): Added.
38881        (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion
38882        point according to the new rules.
38883
388842011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
38885
38886        Reviewed by Kenneth Rohde Christiansen.
38887
38888        [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles
38889        https://bugs.webkit.org/show_bug.cgi?id=40884
38890
38891        The software fallback is now only needed for corner cases like a manual rendering
38892        of the page to QImage.
38893
38894        Keeping the image with the last pixel values is no longer needed. Removing it reduce the
38895        performance for real-time rendering on software surface, but this case should no longer be
38896        supported.
38897
38898        The conversion from OpenGL color space and coordinates is done manually for performance. This
38899        also fix the bug of the inverted X axis due to the transformation.
38900
38901        The tests and benchmarks are done through Qt API tests.
38902
38903        * platform/graphics/qt/GraphicsContext3DQt.cpp:
38904        (WebCore::swapBgrToRgb):
38905        (WebCore::GraphicsContext3DInternal::paint):
38906        (WebCore::GraphicsContext3D::reshape):
38907
389082011-03-24  Nat Duca  <nduca@chromium.org>
38909
38910        Reviewed by James Robinson.
38911
38912        [chromium] Remove bool that forces compositor HUD to always be enabled
38913        https://bugs.webkit.org/show_bug.cgi?id=57034
38914
38915        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
38916        (WebCore::CCHeadsUpDisplay::enabled):
38917
389182011-03-24  Nat Duca  <nduca@chromium.org>
38919
38920        Reviewed by Kenneth Russell.
38921
38922        [chromium] Add traceEvents to compositor
38923        https://bugs.webkit.org/show_bug.cgi?id=56965
38924
38925        * WebCore.gypi:
38926        * platform/chromium/TraceEvent.h: Added.
38927        (WebCore::internal::ScopeTracer::ScopeTracer):
38928        (WebCore::internal::ScopeTracer::~ScopeTracer):
38929        * platform/graphics/chromium/LayerRendererChromium.cpp:
38930        (WebCore::LayerRendererChromium::updateRootLayerContents):
38931        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
38932        (WebCore::LayerRendererChromium::updateLayers):
38933        (WebCore::LayerRendererChromium::drawLayers):
38934        (WebCore::LayerRendererChromium::finish):
38935        (WebCore::LayerRendererChromium::present):
38936        * platform/graphics/chromium/LayerTilerChromium.cpp:
38937        (WebCore::LayerTilerChromium::update):
38938
389392011-03-24  Pavel Feldman  <pfeldman@chromium.org>
38940
38941        Reviewed by Yury Semikhatsky.
38942
38943        Web Inspector: render XHRs matching JSON regex as JSON.
38944        https://bugs.webkit.org/show_bug.cgi?id=57035
38945
38946        * English.lproj/localizedStrings.js:
38947        * WebCore.gypi:
38948        * WebCore.vcproj/WebCore.vcproj:
38949        * inspector/front-end/NetworkItemView.js:
38950        (WebInspector.NetworkItemView):
38951        * inspector/front-end/RemoteObject.js:
38952        (WebInspector.LocalJSONObject.prototype.get description.switch.case):
38953        (WebInspector.LocalJSONObject.prototype.get description):
38954        (WebInspector.LocalJSONObject.prototype._concatenate):
38955        (WebInspector.LocalJSONObject.prototype.getProperties):
38956        (WebInspector.LocalJSONObject.prototype._children):
38957        * inspector/front-end/ResourceJSONView.js: Added.
38958        (WebInspector.ResourceJSONView):
38959        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent):
38960        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show):
38961        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
38962        * inspector/front-end/WebKit.qrc:
38963        * inspector/front-end/inspector.css:
38964        (.resource-view.json):
38965        * inspector/front-end/inspector.html:
38966
389672011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
38968
38969        Reviewed by Darin Adler.
38970
38971        Move media controls subtree creation into one method.
38972        https://bugs.webkit.org/show_bug.cgi?id=56969
38973
38974        Mechanical move, no changes in functionality.
38975
38976        The purpose of this patch is to align existing code closer with its
38977        future version, when MediaControls is an element whose tree is created
38978        at the instantiation.
38979
38980        * html/shadow/MediaControls.cpp:
38981        (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place.
38982        (WebCore::MediaControls::update): Replaced methods with one call.
38983        * html/shadow/MediaControls.h: Updated decls.
38984        * rendering/MediaControlElements.cpp:
38985        (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here.
38986        (WebCore::MediaControlVolumeSliderElement::create): Ditto.
38987
389882011-03-24  Steve Falkenburg  <sfalken@apple.com>
38989
38990        Reviewed by Darin Adler.
38991
38992        Use proper string method to generate webloc string.
38993        https://bugs.webkit.org/show_bug.cgi?id=57028
38994        <rdar://problem/9181955>
38995
38996        * platform/win/ClipboardUtilitiesWin.cpp:
38997        (WebCore::getWebLocData):
38998
389992011-03-24  Ben Taylor  <bentaylor.solx86@gmail.com>
39000
39001        Reviewed by Alexey Proskuryakov.
39002
39003        https://bugs.webkit.org/show_bug.cgi?id=32821
39004        Fix conditionals which had an int for one case and a pointer for another.
39005        Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198
39006
39007        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
39008
39009        * css/CSSComputedStyleDeclaration.cpp:
39010        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
39011
390122011-03-24  Pavel Podivilov  <podivilov@chromium.org>
39013
39014        Reviewed by Yury Semikhatsky.
39015
39016        Web Inspector: provide live edit callback to source frame delegate.
39017        https://bugs.webkit.org/show_bug.cgi?id=57003
39018
39019        * inspector/front-end/DebuggerModel.js:
39020        (WebInspector.DebuggerModel.prototype.editScriptSource):
39021        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
39022        * inspector/front-end/DebuggerPresentationModel.js:
39023        (WebInspector.DebuggerPresentationModel):
39024        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
39025        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
39026        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
39027        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
39028        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
39029        * inspector/front-end/ScriptsPanel.js:
39030        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
39031        (WebInspector.SourceFrameDelegateForScriptsPanel):
39032        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
39033        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
39034
390352011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
39036
39037        Reviewed by Andreas Kling.
39038
39039        Regression: WebKit does not build with Python 3 following 56807
39040        https://bugs.webkit.org/show_bug.cgi?id=56923
39041
39042        The module string does not have the function replace in Python 3. The str.replace function
39043        can do the same operation in this case and works with the versions 2 and 3.
39044
39045        * inspector/generate-inspector-idl:
39046
390472011-03-24  Pavel Feldman  <pfeldman@chromium.org>
39048
39049        Reviewed by Yury Semikhatsky.
39050
39051        Web Inspector: brush up Network agent API.
39052        https://bugs.webkit.org/show_bug.cgi?id=57001
39053
39054        * inspector/Inspector.json:
39055        * inspector/InspectorInstrumentation.cpp:
39056        (WebCore::InspectorInstrumentation::willSendRequestImpl):
39057        * inspector/InspectorInstrumentation.h:
39058        (WebCore::InspectorInstrumentation::willSendRequest):
39059        * inspector/InspectorResourceAgent.cpp:
39060        (WebCore::buildObjectForResourceRequest):
39061        (WebCore::buildObjectForResourceResponse):
39062        (WebCore::buildObjectForCachedResource):
39063        (WebCore::InspectorResourceAgent::willSendRequest):
39064        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
39065        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
39066        (WebCore::InspectorResourceAgent::setExtraHeaders):
39067        * inspector/InspectorResourceAgent.h:
39068        * inspector/TimelineRecordFactory.cpp:
39069        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
39070        * inspector/front-end/NetworkManager.js:
39071        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
39072        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
39073        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
39074        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
39075        (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
39076        (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
39077        * inspector/front-end/Resource.js:
39078        * inspector/front-end/TimelinePanel.js:
39079        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
39080        * loader/ResourceLoadNotifier.cpp:
39081        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
39082        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
39083        * loader/appcache/ApplicationCacheGroup.cpp:
39084        (WebCore::ApplicationCacheGroup::createResourceHandle):
39085
390862011-03-11  Steve Block  <steveblock@google.com>
39087
39088        Reviewed by Jeremy Orlow.
39089
39090        JNIType is not specific to JNI so should be renamed
39091        https://bugs.webkit.org/show_bug.cgi?id=56197
39092
39093        This patch renames JNIType to JavaType, renames the values of
39094        the enum, and moves it out of JNIUtility.h to its own file.
39095        Also renames the corresponding JavaField and JavaMethod getters.
39096
39097        No new tests, refactoring only.
39098
39099        * GNUmakefile.am:
39100        * WebCore.gypi:
39101        * WebCore.xcodeproj/project.pbxproj:
39102        * bridge/jni/JNIUtility.cpp:
39103        (JSC::Bindings::javaTypeFromClassName):
39104        (JSC::Bindings::signatureFromJavaType):
39105        (JSC::Bindings::javaTypeFromPrimitiveType):
39106        (JSC::Bindings::getJNIField):
39107        (JSC::Bindings::callJNIMethod):
39108        * bridge/jni/JNIUtility.h:
39109        * bridge/jni/JavaMethod.cpp:
39110        (JavaMethod::JavaMethod):
39111        (JavaMethod::signature):
39112        * bridge/jni/JavaMethod.h:
39113        (JSC::Bindings::JavaMethod::returnTypeClassName):
39114        (JSC::Bindings::JavaMethod::returnType):
39115        * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
39116        * bridge/jni/jni_jsobject.mm:
39117        (JavaJSObject::toString):
39118        * bridge/jni/jni_objc.mm:
39119        (JSC::Bindings::dispatchJNICall):
39120        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
39121        (JSC::Bindings::convertArrayInstanceToJavaArray):
39122        (JSC::Bindings::convertValueToJValue):
39123        * bridge/jni/jsc/JNIUtilityPrivate.h:
39124        * bridge/jni/jsc/JavaArrayJSC.cpp:
39125        (JavaArray::setValueAt):
39126        (JavaArray::valueAt):
39127        * bridge/jni/jsc/JavaClassJSC.cpp:
39128        * bridge/jni/jsc/JavaFieldJSC.cpp:
39129        (JavaField::JavaField):
39130        (JavaField::dispatchValueFromInstance):
39131        (JavaField::valueFromInstance):
39132        (JavaField::dispatchSetValueToInstance):
39133        (JavaField::setValueToInstance):
39134        * bridge/jni/jsc/JavaFieldJSC.h:
39135        (JSC::Bindings::JavaField::typeClassName):
39136        (JSC::Bindings::JavaField::type):
39137        * bridge/jni/jsc/JavaInstanceJSC.cpp:
39138        (JavaInstance::invokeMethod):
39139        * bridge/jni/v8/JNIUtilityPrivate.cpp:
39140        (JSC::Bindings::convertNPVariantToJValue):
39141        (JSC::Bindings::convertJValueToNPVariant):
39142        * bridge/jni/v8/JNIUtilityPrivate.h:
39143        * bridge/jni/v8/JavaFieldV8.cpp:
39144        (JavaField::JavaField):
39145        * bridge/jni/v8/JavaFieldV8.h:
39146        (JSC::Bindings::JavaField::typeClassName):
39147        (JSC::Bindings::JavaField::type):
39148        * bridge/jni/v8/JavaInstanceV8.cpp:
39149        (JavaInstance::invokeMethod):
39150        (JavaInstance::getField):
39151        * bridge/jni/v8/JavaNPObjectV8.cpp:
39152        (JSC::Bindings::JavaNPObjectInvoke):
39153        (JSC::Bindings::JavaNPObjectGetProperty):
39154
391552011-03-24  Ojan Vafai  <ojan@chromium.org>
39156
39157        Was being a little braindead when I committed this.
39158        Only simple selectors are allowed, but sibling selectors
39159        are sibling selectors.
39160
39161        * css/CSSStyleSelector.cpp:
39162        (WebCore::collectFeaturesFromList):
39163
391642011-03-23  MORITA Hajime  <morrita@google.com>
39165
39166        Reviewed by Kent Tamura.
39167
39168        Spellcheck feature specific symbols should be defined.
39169        https://bugs.webkit.org/show_bug.cgi?id=56818
39170
39171        * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT)
39172        * Replaced a part of of BUILDING_ON_* conditionals with them.
39173
39174        Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING)
39175        because these code path is already built under non-Mac ports and
39176        Keeping them buildable for such platforms reduces the build breakage risk.
39177        These path is guarded by Settings thus should never get reached.
39178
39179        No new tests. No behavioral change.
39180
39181        * WebCore.gypi:
39182        * WebCore.pro:
39183        * WebCore.vcproj/WebCore.vcproj:
39184        * WebCore.xcodeproj/project.pbxproj:
39185        * editing/Editor.cpp:
39186        (WebCore::Editor::advanceToNextMisspelling):
39187        (WebCore::Editor::isSelectionUngrammatical):
39188        (WebCore::Editor::guessesForUngrammaticalSelection):
39189        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
39190        (WebCore::Editor::markMisspellingsAfterTypingToWord):
39191        (WebCore::Editor::markMisspellingsOrBadGrammar):
39192        (WebCore::Editor::markBadGrammar):
39193        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
39194        (WebCore::Editor::changeBackToReplacedString):
39195        (WebCore::Editor::markMisspellingsAndBadGrammar):
39196        * editing/Editor.h:
39197        * editing/TextCheckingHelper.cpp:
39198        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
39199        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
39200        (WebCore::TextCheckingHelper::findFirstBadGrammar):
39201        (WebCore::TextCheckingHelper::isUngrammatical):
39202        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
39203        (WebCore::TextCheckingHelper::markAllBadGrammar):
39204        * loader/EmptyClients.h:
39205        * platform/text/TextCheckerClient.h:
39206        * platform/text/TextChecking.h: Added.
39207
392082011-03-23  Kent Tamura  <tkent@chromium.org>
39209
39210        Reviewed by Dimitri Glazkov.
39211
39212        [Chromium] Force to make validation bubble DIV position:absolute
39213        https://bugs.webkit.org/show_bug.cgi?id=56901
39214
39215        Test: fast/forms/interactive-validation-crash-by-style-override.html
39216
39217        * html/ValidationMessage.cpp:
39218        (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute
39219          because we need to move the validation message to a good position.
39220        * rendering/RenderMenuList.cpp:
39221        (WebCore::RenderMenuList::addChild):
39222
392232011-03-23  Mike Lawther  <mikelawther@chromium.org>
39224
39225        Reviewed by Ojan Vafai.
39226
39227        flex/bison tokens and grammar for CSS calc
39228        https://bugs.webkit.org/show_bug.cgi?id=54412
39229
39230        Tests: css3/calc/calc-errors.html
39231               css3/calc/minmax-errors.html
39232               css3/calc/simple-calcs.html
39233               css3/calc/simple-minmax.html
39234
39235        * css/CSSGrammar.y:
39236        * css/CSSParserValues.cpp:
39237        (WebCore::CSSParserValueList::insertValueAt):
39238        (WebCore::CSSParserValueList::extend):
39239        * css/CSSParserValues.h:
39240        * css/tokenizer.flex:
39241
392422011-03-23  Adam Klein  <adamk@chromium.org>
39243
39244        Reviewed by David Levin.
39245
39246        Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec
39247        https://bugs.webkit.org/show_bug.cgi?id=56961
39248
39249        See error code listing in the Files & Directories spec:
39250        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL
39251
39252        Note that the spec currently only specifies errors for the sync
39253        version; I've used the same codes for the async version.
39254
39255        * page/DOMWindow.cpp:
39256        (WebCore::DOMWindow::resolveLocalFileSystemURL):
39257        * workers/WorkerContext.cpp:
39258        (WebCore::WorkerContext::resolveLocalFileSystemURL):
39259        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
39260
392612011-03-23  Jia Pu  <jpu@apple.com>
39262
39263        Reviewed by Darin Adler.
39264
39265        Hook up new AppKit autocorrection UI with WK2.
39266        https://bugs.webkit.org/show_bug.cgi?id=56055
39267        <rdar://problem/8947463>
39268
39269        This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following
39270        major changes:
39271
39272        1. All but one autocorrection related message is synchronous. Since dismissing autocorrection
39273        panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function
39274        is introduced to ensure all editing commands occur in correct order.
39275
39276        2. Additional condition variable is needed to implement dismissCorrectionPanelSoon().
39277        To improve maintainability, CorrectionPanel class is introduced to manage the
39278        internal state related to correction panel. This change is applied to both WK1 and WK2.
39279
39280        3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow
39281        editor to know when to handle ESC key event. Now this is handled internally in AppKit, so
39282        EditorClient::isShowingCorrectionPanel() isn't necessary anymore.
39283
39284        4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can
39285        access object via WebView or WKView.
39286
39287        * editing/Editor.cpp:
39288        (WebCore::Editor::markMisspellingsAfterTypingToWord):
39289        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
39290        (WebCore::Editor::correctionPanelTimerFired):
39291        (WebCore::Editor::dismissCorrectionPanel):
39292        (WebCore::Editor::dismissCorrectionPanelSoon):
39293        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
39294        * editing/Editor.h:
39295        * editing/EditorCommand.cpp:
39296        (WebCore::createCommandMap):
39297        * loader/EmptyClients.h:
39298        (WebCore::EmptyEditorClient::showCorrectionPanel):
39299        (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
39300        * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added.
39301        * page/EditorClient.h:
39302
393032011-03-22  Ojan Vafai  <ojan@chromium.org>
39304
39305        Reviewed by Antti Koivisto.
39306
39307        move :not over to using selectorList instead of simpleSelector
39308        https://bugs.webkit.org/show_bug.cgi?id=56894
39309
39310        Saves memory and simplifies code.
39311
39312        No new tests since existing tests cover this code.
39313
39314        * css/CSSGrammar.y:
39315        Also removed extranenous calls to updateLastSelectorLineAndPosition in
39316        simple_selector_list. These happened to work, but are only actually
39317        needed in selector_list.
39318        * css/CSSParserValues.h:
39319        * css/CSSSelector.cpp:
39320        (WebCore::CSSSelector::specificityForOneSelector):
39321        Removed null-check. The parser null-checks, I don't see why we need to here.
39322        (WebCore::CSSSelector::selectorText):
39323        Ditto.
39324        (WebCore::CSSSelector::setArgument):
39325        (WebCore::CSSSelector::isSimple):
39326        * css/CSSSelector.h:
39327        * css/CSSSelectorList.cpp:
39328        (WebCore::forEachTagSelector):
39329        * css/CSSStyleSelector.cpp:
39330        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
39331        (WebCore::collectFeaturesFromSelector):
39332        (WebCore::collectFeaturesFromList):
39333
393342011-03-23  Carol Szabo  <carol.szabo@nokia.com>
39335
39336        Reviewed by David Hyatt.
39337
39338        Made sure that renderers displaying counters are invalidated upon
39339        counter destruction.
39340
39341        Assertion and incorrect rendering of counters.
39342        https://bugs.webkit.org/show_bug.cgi?id=56896
39343
39344        Test: fast/css/counters/2displays.html
39345
39346        * rendering/CounterNode.cpp:
39347        (WebCore::CounterNode::~CounterNode):
39348        Added to make sure that its display renderers are always reset when
39349        the node is deleted.
39350        (WebCore::CounterNode::resetRenderers):
39351        Fixed bug that would prevent reset of second and subsequent
39352        display renderers.
39353        * rendering/CounterNode.h:
39354        * rendering/RenderCounter.cpp:
39355        (WebCore::destroyCounterNodeWithoutMapRemoval):
39356        removed unnecessary calls to resetRenderers() as the CounterNode
39357        destructor takes care of that now.
39358
393592011-03-23  Brian Weinstein  <bweinstein@apple.com>
39360
39361        Reviewed by Maciej Stachowiak.
39362
39363        WebKit2: Need API to manage the Media Cache
39364        https://bugs.webkit.org/show_bug.cgi?id=56878
39365        <rdar://problem/9082503>
39366
39367        Add functions that need to be exported.
39368
39369        * WebCore.exp.in:
39370
393712011-03-23  Robert Kroeger  <rjkroege@chromium.org>
39372
39373        Reviewed by James Robinson.
39374
39375        Correct use of ENABLE() Macro
39376
39377        In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE()
39378        macro. This patch corrects.
39379
39380        https://bugs.webkit.org/show_bug.cgi?id=56964
39381
39382        * page/EventHandler.cpp:
39383        (WebCore::EventHandler::EventHandler):
39384        (WebCore::EventHandler::handleTouchEvent):
39385        * page/EventHandler.h:
39386
393872011-03-23  Jer Noble  <jer.noble@apple.com>
39388
39389        Reviewed by Simon Fraser.
39390
39391        Scrubbing <video> with HTTP Live Stream resizes element to 0x0
39392        https://bugs.webkit.org/show_bug.cgi?id=55702
39393
39394        QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing
39395        an HTTP Live Stream.  So we will cache the last valid value returned by QTKit
39396        and use that as our naturalSize until a new valid value is returned.
39397
39398        Unfortunately, QTKit will also fail to generate a notification when the natural size
39399        changes, so we are forced to cache the natural size from within naturalSize(), which
39400        is a const function, necessitating a const_cast to set m_cachedNaturalSize.
39401
39402        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize.
39403        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
39404        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize.
39405        (WebCore::MediaPlayerPrivateQTKit::naturalSize):
39406
394072011-03-23  Alexey Proskuryakov  <ap@apple.com>
39408
39409        Build fix.
39410
39411        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
39412        Removed a stray parenthesis.
39413
394142011-03-23  Alexey Proskuryakov  <ap@apple.com>
39415
39416        Reviewed by Maciej Stachowiak.
39417
39418        REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading()
39419        https://bugs.webkit.org/show_bug.cgi?id=56978
39420        <rdar://problem/9041670>
39421
39422        No new tests, because there is no known way to reproduce.
39423
39424        Removed strange code that was trying to stop a non-loading provisional document loader and
39425        even its subframes (?!). Added assertions to catch it if we can actually be loading here in
39426        some sense.
39427        Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a
39428        recursion guard (but that didn't cause immediate problems then).
39429
39430        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
39431
394322011-03-23  Brady Eidson  <beidson@apple.com>
39433
39434        Attempt to fix the build for platforms that have the icon database
39435        disabled but still provide settings API for it...?
39436
39437        * loader/icon/IconDatabase.h:
39438        (WebCore::IconDatabase::defaultDatabaseFilename):
39439
394402011-03-23  Mark Rowe  <mrowe@apple.com>
39441
39442        Fix the build.
39443
39444        * WebCore.exp.in: Export the new version of IconDatabase::open.
39445
394462011-03-23  Brady Eidson  <beidson@apple.com>
39447
39448        Reviewed by Sam Weinig.
39449
39450        Change IconDatabase opening to allow for arbitrary filenames
39451        https://bugs.webkit.org/show_bug.cgi?id=56977
39452
39453        * WebCore.exp.in:
39454        * loader/icon/IconDatabase.cpp:
39455        (WebCore::IconDatabase::open):
39456        * loader/icon/IconDatabase.h:
39457        * loader/icon/IconDatabaseBase.cpp:
39458        (WebCore::IconDatabaseBase::open):
39459        * loader/icon/IconDatabaseBase.h:
39460        * loader/icon/IconDatabaseClient.h:
39461
394622011-03-23  Kenneth Russell  <kbr@google.com>
39463
39464        Reviewed by James Robinson.
39465
39466        [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled
39467        https://bugs.webkit.org/show_bug.cgi?id=56947
39468
39469        Removed the RuntimeEnabledFeatures setting for WebGL and the
39470        EnabledAtRuntime extended attribute from the WebGL-related
39471        properties on the DOMWindow. WebGL support is now controlled
39472        exclusively through the page's Settings.
39473
39474        No new tests; tested manually in Chromium with --disable-webgl
39475        command line argument and blacklist.
39476
39477        * bindings/generic/RuntimeEnabledFeatures.cpp:
39478        * bindings/generic/RuntimeEnabledFeatures.h:
39479        * page/DOMWindow.idl:
39480
394812011-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
39482
39483        Unreviewed, rolling out r81802.
39484        http://trac.webkit.org/changeset/81802
39485        https://bugs.webkit.org/show_bug.cgi?id=56963
39486
39487        Broke a layout test, and this fix is not trivial. (Requested
39488        by dhyatt on #webkit).
39489
39490        * rendering/RenderBlock.cpp:
39491        (WebCore::RenderBlock::layoutBlock):
39492        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
39493        * rendering/RenderBlock.h:
39494        * rendering/RenderBox.cpp:
39495        (WebCore::RenderBox::styleDidChange):
39496        * rendering/RenderBoxModelObject.cpp:
39497        (WebCore::RenderBoxModelObject::styleWillChange):
39498        * rendering/RenderFlexibleBox.cpp:
39499        (WebCore::RenderFlexibleBox::layoutBlock):
39500        * rendering/RenderObject.cpp:
39501        (WebCore::RenderObject::RenderObject):
39502        (WebCore::RenderObject::adjustStyleDifference):
39503        (WebCore::RenderObject::setStyle):
39504        (WebCore::RenderObject::styleDidChange):
39505        * rendering/RenderObject.h:
39506        (WebCore::RenderObject::needsLayout):
39507        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
39508        (WebCore::RenderObject::setNeedsLayout):
39509        (WebCore::RenderObject::setChildNeedsLayout):
39510        (WebCore::RenderObject::markContainingBlocksForLayout):
39511        * rendering/RenderTable.cpp:
39512        (WebCore::RenderTable::layout):
39513        * rendering/style/RenderStyle.cpp:
39514        (WebCore::RenderStyle::diff):
39515        * rendering/style/RenderStyleConstants.h:
39516        * rendering/svg/RenderSVGText.cpp:
39517        (WebCore::RenderSVGText::layout):
39518
395192011-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
39520
39521        Reviewed by David Hyatt.
39522
39523        REGRESSION(81035): crash in RenderDetails::removeChild
39524        https://bugs.webkit.org/show_bug.cgi?id=56773
39525
39526        Test: fast/html/details-children-merge-crash.html
39527
39528        Preventing merging of RenderDetails's anonymous children.
39529
39530        * rendering/RenderBlock.cpp:
39531        (WebCore::canMergeContiguousAnonymousBlocks):
39532
39533        Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy.
39534
39535        * rendering/RenderDetails.cpp:
39536        (WebCore::RenderDetails::destroy):
39537        (WebCore::RenderDetails::removeChild):
39538
395392011-03-23  Xiaomei Ji  <xji@chromium.org>
39540
39541        Reviewed by David Hyatt.
39542
39543        Preserve unicode-bidi:bidi-override in anonymous block.
39544        https://bugs.webkit.org/show_bug.cgi?id=21440
39545
39546        unicode-bidi:bidi-override should be preserved in anonymous block
39547        according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi.
39548
39549        Introduce a helper function RenderStyle()::createAnonymousStyle() which
39550        creates a default RenderStyle, inherits the inherited style from parent,
39551        and inherit unicode-bidi:bidi-override from parent.
39552        And replace the style creation when anonymous block is created.
39553
39554        Note: the TABLE releated anonymous blocks are untouched, including:
39555        TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in
39556        RenderObject, RenderTable, RenderTableRow, and RenderTableSection,
39557        due to the expected behavior is not clear.
39558        Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594.
39559
39560        Test: fast/css/bidi-override-in-anonymous-block.html
39561
39562        * rendering/RenderBlock.cpp:
39563        (WebCore::RenderBlock::styleDidChange):
39564        (WebCore::RenderBlock::removeChild):
39565        (WebCore::RenderBlock::createAnonymousBlock):
39566        (WebCore::RenderBlock::createAnonymousColumnsBlock):
39567        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
39568        * rendering/RenderInline.cpp:
39569        (WebCore::RenderInline::addChildIgnoringContinuation):
39570        * rendering/RenderRubyRun.cpp:
39571        (WebCore::RenderRubyRun::createRubyBase):
39572        (WebCore::RenderRubyRun::staticCreateRubyRun):
39573        * rendering/style/RenderStyle.cpp:
39574        (WebCore::RenderStyle::createAnonymousStyle):
39575        * rendering/style/RenderStyle.h:
39576
395772011-03-23  David Hyatt  <hyatt@apple.com>
39578
39579        Reviewed by Dan Bernstein.
39580
39581        https://bugs.webkit.org/show_bug.cgi?id=56909
39582
39583        Add a simplified normal flow layout path optimization for overflow recomputation
39584        and for positioned objects inside relative positioned containers.
39585
39586        Currently there is an optimized code path for positioned objects, but as soon as
39587        we encounter a normal flow object in the containing block chain, we lose the
39588        optimization.
39589
39590        This patch adds a new type of style difference called SimplifiedLayout that is
39591        returned when only overflow needs to be recomputed. Whenever opacity changes or
39592        a transform changes, this is the hint returned now instead of a full layout.
39593
39594        In addition, when positioned objects need layout and start marking up the
39595        containing block chain, we now propagate the fact that the layout is simplified
39596        all the way up to the root, even when we encounter normal flow containing
39597        blocks.
39598
39599        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
39600        and is now used for all of these cases (in addition to what it handled before).
39601
39602        No new tests, since existing tests covered this very well (especially the opacity
39603        and transforms repaint tests in fast/repaint).
39604
39605        * rendering/RenderBlock.cpp:
39606        (WebCore::RenderBlock::layoutBlock):
39607        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
39608        (WebCore::RenderBlock::simplifiedLayout):
39609        * rendering/RenderBlock.h:
39610        * rendering/RenderBox.cpp:
39611        (WebCore::RenderBox::styleDidChange):
39612        * rendering/RenderBoxModelObject.cpp:
39613        (WebCore::RenderBoxModelObject::styleWillChange):
39614        * rendering/RenderFlexibleBox.cpp:
39615        (WebCore::RenderFlexibleBox::layoutBlock):
39616        * rendering/RenderObject.cpp:
39617        (WebCore::RenderObject::RenderObject):
39618        (WebCore::RenderObject::adjustStyleDifference):
39619        (WebCore::RenderObject::setStyle):
39620        (WebCore::RenderObject::styleDidChange):
39621        * rendering/RenderObject.h:
39622        (WebCore::RenderObject::needsLayout):
39623        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
39624        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
39625        (WebCore::RenderObject::setNeedsLayout):
39626        (WebCore::RenderObject::setChildNeedsLayout):
39627        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
39628        (WebCore::RenderObject::markContainingBlocksForLayout):
39629        * rendering/RenderTable.cpp:
39630        (WebCore::RenderTable::layout):
39631        * rendering/style/RenderStyle.cpp:
39632        (WebCore::RenderStyle::diff):
39633        * rendering/style/RenderStyleConstants.h:
39634        * rendering/svg/RenderSVGText.cpp:
39635        (WebCore::RenderSVGText::layout):
39636
396372011-03-23  Tyler Close  <tjclose@chromium.org>
39638
39639        Reviewed by Jeremy Orlow.
39640
39641        Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter
39642        https://bugs.webkit.org/show_bug.cgi?id=56950
39643
39644        * bindings/scripts/CodeGeneratorV8.pm:
39645        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
39646        (WebDOMTestCallback::callbackWithStringList):
39647        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
39648        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
39649        (webkit_dom_test_callback_callback_with_string_list):
39650        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
39651        * bindings/scripts/test/JS/JSTestCallback.cpp:
39652        (WebCore::JSTestCallback::callbackWithStringList):
39653        * bindings/scripts/test/JS/JSTestCallback.h:
39654        * bindings/scripts/test/ObjC/DOMTestCallback.h:
39655        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
39656        (-[DOMTestCallback callbackWithStringList:]):
39657        * bindings/scripts/test/TestCallback.idl:
39658        * bindings/scripts/test/V8/V8TestCallback.cpp:
39659        (WebCore::V8TestCallback::callbackWithStringList):
39660        * bindings/scripts/test/V8/V8TestCallback.h:
39661
396622011-03-23  Cris Neckar  <cdn@chromium.org>
39663
39664        Reviewed by Eric Seidel.
39665
39666        Add refptr for widget. Mutations can happen within the event handler.
39667        https://bugs.webkit.org/show_bug.cgi?id=56774
39668
39669        Test: plugins/change-widget-and-click-crash.html
39670
39671        * html/HTMLPlugInElement.cpp:
39672        (WebCore::HTMLPlugInElement::defaultEventHandler):
39673
396742011-03-23  Abhishek Arya  <inferno@chromium.org>
39675
39676        Reviewed by Dave Hyatt.
39677
39678        Add combine text cast checks since style property is insufficient
39679        in telling object types.
39680        https://bugs.webkit.org/show_bug.cgi?id=56358
39681
39682        Test: fast/text/input-box-text-fragment-combine-text-crash.html
39683
39684        * rendering/InlineTextBox.cpp:
39685        (WebCore::InlineTextBox::paint):
39686        * rendering/RenderBlock.cpp:
39687        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
39688        * rendering/RenderBlockLineLayout.cpp:
39689        (WebCore::RenderBlock::findNextLineBreak):
39690        * rendering/RenderText.cpp:
39691        (WebCore::RenderText::widthFromCache):
39692
396932011-03-23  Andreas Kling  <kling@webkit.org>
39694
39695        Reviewed by Kenneth Rohde Christiansen.
39696
39697        [Qt] "Unwavering" HTML5 game freezes the web page.
39698        https://bugs.webkit.org/show_bug.cgi?id=56944
39699
39700        For canvas's getImageData() API, we don't want to make a deep-copy of
39701        the pixels, which is the case on Qt's "raster" graphics system.
39702
39703        To work around this, we trick QPixmap::toImage() into giving us the
39704        QPixmap's backing QImage by temporarily pointing the paint engine to
39705        a null paint device.
39706
39707        * platform/graphics/qt/ImageBufferData.h:
39708        * platform/graphics/qt/ImageBufferQt.cpp:
39709        (WebCore::ImageBufferData::toQImage): Added, returns the
39710        ImageBufferData as a QImage, avoiding a backend deep-copy if possible.
39711        (WebCore::ImageBuffer::platformTransformColorSpace):
39712        (WebCore::getImageData):
39713
397142011-03-23  Viet-Trung Luu  <viettrungluu@chromium.org>
39715
39716        Reviewed by Tony Chang.
39717
39718        [chromium] Add FormatPlainText to WebClipboard::Format enumeration.
39719        https://bugs.webkit.org/show_bug.cgi?id=56868
39720
39721        Chromium's WebClipboard::isFormatAvailable() will be correspondingly
39722        extended.
39723
39724        * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry.
39725            This part of the change is inert and should have no effect.
39726
397272011-03-23  Tyler Close  <tjclose@chromium.org>
39728
39729        Reviewed by Jeremy Orlow.
39730
39731        run-bindings-tests reference files are out of sync with CodeGenerator*.pm
39732        https://bugs.webkit.org/show_bug.cgi?id=56934
39733
39734        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
39735        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
39736        * bindings/scripts/test/JS/JSTestInterface.cpp:
39737        (WebCore::JSTestInterfaceConstructor::createStructure):
39738        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
39739        (WebCore::JSTestInterface::createPrototype):
39740        * bindings/scripts/test/JS/JSTestInterface.h:
39741        (WebCore::JSTestInterface::createStructure):
39742        (WebCore::JSTestInterfacePrototype::createStructure):
39743        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
39744        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
39745        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
39746        (WebCore::JSTestMediaQueryListListener::createPrototype):
39747        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
39748        (WebCore::JSTestMediaQueryListListener::createStructure):
39749        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
39750        * bindings/scripts/test/JS/JSTestObj.cpp:
39751        (WebCore::JSTestObjConstructor::createStructure):
39752        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
39753        (WebCore::JSTestObj::createPrototype):
39754        * bindings/scripts/test/JS/JSTestObj.h:
39755        (WebCore::JSTestObj::createStructure):
39756        (WebCore::JSTestObjPrototype::createStructure):
39757        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
39758        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
39759        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
39760        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
39761        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
39762        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
39763        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
39764        * bindings/scripts/test/V8/V8TestCallback.cpp:
39765        * bindings/scripts/test/V8/V8TestInterface.cpp:
39766        (WebCore::V8TestInterface::wrapSlow):
39767        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
39768        (WebCore::V8TestMediaQueryListListener::wrapSlow):
39769        * bindings/scripts/test/V8/V8TestObj.cpp:
39770        (WebCore::V8TestObj::wrapSlow):
39771        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
39772        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
39773
397742011-03-23  Daniel Bates  <dbates@rim.com>
39775
39776        Reviewed by Antonio Gomes.
39777
39778        Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet}
39779        to conform to the WebKit Code style guidelines
39780        https://bugs.webkit.org/show_bug.cgi?id=56871
39781
39782        No functionality changed. So, no new tests.
39783
39784        * html/HTMLFrameSetElement.cpp:
39785        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
39786        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
39787        (WebCore::HTMLFrameSetElement::attach):
39788        (WebCore::HTMLFrameSetElement::defaultEventHandler):
39789        * html/HTMLFrameSetElement.h:
39790        (WebCore::HTMLFrameSetElement::hasFrameBorder):
39791        (WebCore::HTMLFrameSetElement::noResize):
39792
397932011-03-23  Abhishek Arya  <inferno@chromium.org>
39794
39795        Reviewed by Dan Bernstein.
39796
39797        Replace height with logicalHeight when removing items from
39798        gPercentHeightDescendantMap so that it is writing mode aware.
39799        https://bugs.webkit.org/show_bug.cgi?id=56902
39800
39801        Test: fast/block/percent-height-descendant-not-removed-crash.html
39802
39803        * rendering/RenderBox.cpp:
39804        (WebCore::RenderBox::destroy):
39805        (WebCore::RenderBox::styleDidChange):
39806        * rendering/RenderWidget.cpp:
39807        (WebCore::RenderWidget::destroy):
39808
398092011-03-23  Anders Carlsson  <andersca@apple.com>
39810
39811        Fix clang build.
39812
39813        * inspector/DOMNodeHighlighter.cpp:
39814        Remove an unused function.
39815
398162011-03-22  Brady Eidson  <beidson@apple.com>
39817
39818        Reviewed by Sam Weinig.
39819
39820        Add asynchronous load decision call to WebKit2 IconDatabase
39821        https://bugs.webkit.org/show_bug.cgi?id=56887
39822
39823        Clear the callback when it's made:
39824        * loader/DocumentLoader.cpp:
39825        (WebCore::DocumentLoader::continueIconLoadWithDecision):
39826
39827        Don't load icons when using new-style icon database if in private browsing:
39828        * loader/FrameLoader.cpp:
39829        (WebCore::FrameLoader::continueIconLoadWithDecision):
39830
39831        Enhance the IconDatabase callbacks to have an ID and inherit from a common base:
39832        * loader/icon/IconDatabaseBase.h:
39833        (WebCore::CallbackBase::~CallbackBase):
39834        (WebCore::CallbackBase::callbackID):
39835        (WebCore::CallbackBase::CallbackBase):
39836        (WebCore::CallbackBase::context):
39837        (WebCore::CallbackBase::generateCallbackID):
39838        (WebCore::EnumCallback::performCallback):
39839        (WebCore::EnumCallback::EnumCallback):
39840        (WebCore::ObjectCallback::performCallback):
39841        (WebCore::ObjectCallback::ObjectCallback):
39842
398432011-03-21  Pavel Podivilov  <podivilov@chromium.org>
39844
39845        Reviewed by Yury Semikhatsky.
39846
39847        Web Inspector: move scripts concatenation logic to SourceFile.
39848        https://bugs.webkit.org/show_bug.cgi?id=56756
39849
39850        * inspector/front-end/ScriptsPanel.js:
39851        * inspector/front-end/SourceFile.js:
39852        (WebInspector.SourceFile.prototype._requestContent):
39853        (WebInspector.SourceFile.prototype._loadResourceContent):
39854        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
39855        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
39856
398572011-03-23  Leandro Gracia Gil  <leandrogracia@chromium.org>
39858
39859        Reviewed by Steve Block.
39860
39861        Media Stream API: add a flag to RuntimeEnabledFeatures.
39862        https://bugs.webkit.org/show_bug.cgi?id=56921
39863
39864        Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime.
39865
39866        Tests for the Media Stream API will be provided by the bug 56587.
39867
39868        * bindings/generic/RuntimeEnabledFeatures.cpp:
39869        * bindings/generic/RuntimeEnabledFeatures.h:
39870        (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
39871        (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
39872        (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
39873
398742011-03-23  Carol Szabo  <carol.szabo@nokia.com>
39875
39876        Reviewed by David Hyatt.
39877
39878        Modified RenderCounter::originalText() to correctly attach
39879        the created counter to the before/after container even when
39880        that is not the RenderCounter's direct parent.
39881
39882        CSS 2.1 failure: various before-after-* tests fail
39883        https://bugs.webkit.org/show_bug.cgi?id=47207
39884
39885        Test: fast/css/counters/complex-before.html
39886
39887        * rendering/RenderCounter.cpp:
39888        (WebCore::RenderCounter::originalText):
39889
398902011-03-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
39891
39892        Reviewed by Antonio Gomes.
39893
39894        [EFL] Add play / pause button to media control
39895        https://bugs.webkit.org/show_bug.cgi?id=55463
39896
39897        Add play|pause button to media control.
39898
39899        * platform/efl/RenderThemeEfl.cpp:
39900        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
39901        (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added.
39902        (WebCore::RenderThemeEfl::paintMediaPlayButton):
39903        * platform/efl/RenderThemeEfl.h:
39904
399052011-03-23  Aparna Nandyal  <aparna.nand@wipro.com>
39906
39907        Reviewed by Andreas Kling.
39908
39909        [Qt] QtWebKit rendering problem when maximizing and doing a back
39910        https://bugs.webkit.org/show_bug.cgi?id=56669
39911
39912        Contents of the page are not re-sized on going back after
39913        maximizing. ContentsResized() is not getting called. Hence old
39914        document width and height are used. Corrected this behaviour by
39915        calling setBoundsSize() which calls contentsSize().
39916
39917        * loader/FrameLoader.cpp:
39918        (WebCore::FrameLoader::open):
39919
399202011-03-21  Pavel Podivilov  <podivilov@chromium.org>
39921
39922        Reviewed by Yury Semikhatsky.
39923
39924        Web Inspector: add support for formating source files in debugger presentation model.
39925        https://bugs.webkit.org/show_bug.cgi?id=56558
39926
39927        * inspector/front-end/DebuggerModel.js:
39928        (WebInspector.DebuggerModel.prototype.reset):
39929        (WebInspector.DebuggerModel.prototype.get scripts):
39930        * inspector/front-end/DebuggerPresentationModel.js:
39931        (WebInspector.DebuggerPresentationModel):
39932        (WebInspector.DebuggerPresentationModel.prototype._addScript):
39933        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
39934        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
39935        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
39936        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
39937        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
39938        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
39939        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
39940        (WebInspector.DebuggerPresentationModel.prototype._reset):
39941        * inspector/front-end/ScriptFormatter.js:
39942        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
39943        (WebInspector.ScriptFormatter.prototype.formatContent):
39944        * inspector/front-end/ScriptsPanel.js:
39945        (WebInspector.ScriptsPanel):
39946        (WebInspector.ScriptsPanel.prototype.reset):
39947        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
39948        * inspector/front-end/Settings.js:
39949        * inspector/front-end/SourceFile.js:
39950        (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation):
39951        (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation):
39952        (WebInspector.FormattedSourceFile):
39953        (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation):
39954        (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation):
39955        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
39956
399572011-03-23  Yury Semikhatsky  <yurys@chromium.org>
39958
39959        Reviewed by Pavel Feldman.
39960
39961        Web Inspector: use unsigned char instead of char when storing script source
39962        https://bugs.webkit.org/show_bug.cgi?id=56920
39963
39964        * bindings/v8/DebuggerScript.js:
39965        * bindings/v8/ScriptDebugServer.cpp:
39966        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
39967        * inspector/InjectedScriptManager.cpp:
39968        (WebCore::InjectedScriptManager::injectedScriptSource):
39969        * inspector/InjectedScriptSource.js: whitespace change to trigger compilation
39970        * inspector/xxd.pl:
39971        * xml/XMLViewer.xsl:
39972
399732011-03-23  Ilya Tikhonovsky  <loislo@chromium.org>
39974
39975        Reviewed by Yury Semikhatsky.
39976
39977        Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent.
39978        https://bugs.webkit.org/show_bug.cgi?id=56912
39979
39980        The next functions were moved:
39981            setSearchingForNode
39982            highlightDOMNode
39983            hideDOMNodeHighlight
39984            highlightFrame
39985            hideFrameHighlight
39986            mouseDidMoveOverElement
39987            handleMousePress
39988
39989        The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.*
39990
39991        * CMakeLists.txt:
39992        * GNUmakefile.am:
39993        * WebCore.gypi:
39994        * WebCore.pro:
39995        * WebCore.vcproj/WebCore.vcproj:
39996        * WebCore.xcodeproj/project.pbxproj:
39997        * inspector/DOMNodeHighlighter.cpp: Added.
39998        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
39999        * inspector/DOMNodeHighlighter.h: Added.
40000        * inspector/Inspector.json:
40001        * inspector/InspectorAgent.cpp:
40002        (WebCore::InspectorAgent::InspectorAgent):
40003        (WebCore::InspectorAgent::~InspectorAgent):
40004        (WebCore::InspectorAgent::inspectedPageDestroyed):
40005        (WebCore::InspectorAgent::disconnectFrontend):
40006        * inspector/InspectorAgent.h:
40007        * inspector/InspectorController.cpp:
40008        (WebCore::InspectorController::drawNodeHighlight):
40009        (WebCore::InspectorController::hideHighlight):
40010        * inspector/InspectorDOMAgent.cpp:
40011        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
40012        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
40013        (WebCore::InspectorDOMAgent::clearFrontend):
40014        (WebCore::InspectorDOMAgent::handleMousePress):
40015        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
40016        (WebCore::InspectorDOMAgent::searchingForNodeInPage):
40017        (WebCore::InspectorDOMAgent::setSearchingForNode):
40018        (WebCore::InspectorDOMAgent::highlight):
40019        (WebCore::InspectorDOMAgent::highlightDOMNode):
40020        (WebCore::InspectorDOMAgent::highlightFrame):
40021        (WebCore::InspectorDOMAgent::hideHighlight):
40022        (WebCore::InspectorDOMAgent::drawNodeHighlight):
40023        * inspector/InspectorDOMAgent.h:
40024        (WebCore::InspectorDOMAgent::hideDOMNodeHighlight):
40025        (WebCore::InspectorDOMAgent::hideFrameHighlight):
40026        * inspector/InspectorInstrumentation.cpp:
40027        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
40028        (WebCore::InspectorInstrumentation::handleMousePressImpl):
40029        * inspector/InstrumentingAgents.h:
40030        (WebCore::InstrumentingAgents::InstrumentingAgents):
40031        (WebCore::InstrumentingAgents::inspectorAgent):
40032        (WebCore::InstrumentingAgents::setInspectorAgent):
40033        * inspector/front-end/ElementsPanel.js:
40034        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
40035        * inspector/front-end/ResourcesPanel.js:
40036        (WebInspector.FrameTreeElement.prototype.onselect):
40037        (WebInspector.FrameTreeElement.prototype.set hovered):
40038        * inspector/front-end/inspector.js:
40039        (WebInspector.highlightDOMNode):
40040
400412011-03-23  Yury Semikhatsky  <yurys@chromium.org>
40042
40043        Unreviewed. Rollout r81768 which broke compilation on Win.
40044
40045        * xml/XMLTreeViewer.cpp:
40046        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
40047        * xml/XMLViewer.xsl:
40048
400492011-03-23  Yury Semikhatsky  <yurys@chromium.org>
40050
40051        Reviewed by Pavel Feldman.
40052
40053        Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer
40054        https://bugs.webkit.org/show_bug.cgi?id=56919
40055
40056        * xml/XMLTreeViewer.cpp:
40057        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
40058        * xml/XMLViewer.xsl: whitespace change to trigger compilation.
40059
400602011-03-21  Pavel Podivilov  <podivilov@chromium.org>
40061
40062        Reviewed by Yury Semikhatsky.
40063
40064        Web Inspector: move content loading logic to a new SourceFile class.
40065        https://bugs.webkit.org/show_bug.cgi?id=56748
40066
40067        * WebCore.gypi:
40068        * WebCore.vcproj/WebCore.vcproj:
40069        * inspector/front-end/DebuggerPresentationModel.js:
40070        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
40071        (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
40072        (WebInspector.DebuggerPresentationModel.prototype._addScript):
40073        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
40074        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
40075        * inspector/front-end/SourceFile.js: Added.
40076        (WebInspector.SourceFile):
40077        (WebInspector.SourceFile.prototype.addScript):
40078        (WebInspector.SourceFile.prototype.requestContent):
40079        (WebInspector.SourceFile.prototype.forceLoadContent):
40080        (WebInspector.SourceFile.prototype.reload):
40081        (WebInspector.SourceFile.prototype._requestContent):
40082        (WebInspector.SourceFile.prototype._loadResourceContent):
40083        (WebInspector.SourceFile.prototype._loadScriptContent):
40084        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
40085        (WebInspector.SourceFile.prototype._didRequestContent):
40086        (WebInspector.SourceFile.prototype._hasPendingResource):
40087        * inspector/front-end/WebKit.qrc:
40088        * inspector/front-end/inspector.html:
40089
400902011-03-23  Pavel Podivilov  <podivilov@chromium.org>
40091
40092        Unreviewed, fix compilation broken by r81758.
40093
40094        * xml/XMLTreeViewer.cpp:
40095        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
40096
400972011-03-23  Pavel Feldman  <pfeldman@chromium.org>
40098
40099        Reviewed by Yury Semikhatsky.
40100
40101        Web Inspector: define array types properly in the Inspector.json
40102        https://bugs.webkit.org/show_bug.cgi?id=56915
40103
40104        * inspector/Inspector.json:
40105        * inspector/generate-inspector-idl:
40106
401072011-03-23  Yury Semikhatsky  <yurys@chromium.org>
40108
40109        Reviewed by Pavel Feldman.
40110
40111        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
40112        https://bugs.webkit.org/show_bug.cgi?id=56843
40113
40114        * inspector/front-end/WebKit.qrc:
40115
401162011-03-23  Andrey Adaikin  <aandrey@google.com>
40117
40118        Reviewed by Yury Semikhatsky.
40119
40120        Web Inspector: Add a star while editing a source code
40121        https://bugs.webkit.org/show_bug.cgi?id=56743
40122
40123        * inspector/front-end/ScriptsPanel.js:
40124        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
40125        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
40126        * inspector/front-end/SourceFrame.js:
40127        (WebInspector.SourceFrame.prototype._startEditing):
40128        (WebInspector.SourceFrame.prototype._registerShortcuts):
40129        (WebInspector.SourceFrame.prototype._handleSave):
40130        (WebInspector.SourceFrame.prototype._handleRevertEditing):
40131        (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
40132
401332011-03-23  Andrey Adaikin  <aandrey@google.com>
40134
40135        Reviewed by Yury Semikhatsky.
40136
40137        Web Inspector: Scrolling and navigation is not smooth on a script with many long lines
40138        https://bugs.webkit.org/show_bug.cgi?id=56559
40139
40140        * inspector/front-end/TextViewer.js:
40141        (WebInspector.TextEditorChunkedPanel.prototype._expandChunks):
40142        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
40143        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
40144        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
40145        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
40146        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
40147        (WebInspector.TextEditorMainPanel.prototype._paintLines):
40148        (WebInspector.TextEditorMainPanel.prototype._paintLine):
40149        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
40150
401512011-03-22  Yury Semikhatsky  <yurys@chromium.org>
40152
40153        Reviewed by Pavel Feldman.
40154
40155        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
40156        https://bugs.webkit.org/show_bug.cgi?id=56843
40157
40158        DebuggerScript.js is now translated into a char[] array before inspector compilation.
40159
40160        * WebCore.gyp/WebCore.gyp:
40161        * WebCore.gypi:
40162        * bindings/v8/ScriptDebugServer.cpp:
40163        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
40164        * bindings/v8/ScriptDebugServer.h:
40165        * inspector/InjectedScriptManager.cpp:
40166        (WebCore::InjectedScriptManager::injectedScriptSource):
40167        * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation.
40168        * inspector/xxd.pl:
40169
401702011-03-23  Mark Rowe  <mrowe@apple.com>
40171
40172        Fix the 32-bit build.
40173
40174        * html/canvas/WebGLRenderingContext.cpp:
40175        (WebCore::WebGLRenderingContext::initializeNewContext):
40176
401772011-03-22  Noel Gordon  <noel.gordon@gmail.com>
40178
40179        Reviewed by Ojan Vafai.
40180
40181        [chromium] skia image encoders should use <wtf/Vector.h>
40182        https://bugs.webkit.org/show_bug.cgi?id=56893
40183
40184        No new tests. Covered by existing canvas.toDataURL tests.
40185
40186        * platform/image-encoders/skia/JPEGImageEncoder.h:
40187        * platform/image-encoders/skia/PNGImageEncoder.h:
40188
401892011-03-22  David Hyatt  <hyatt@apple.com>
40190
40191        Reviewed by Beth Dakin.
40192
40193        Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to
40194        free up a bit for another performance optimization I have planned.
40195
40196        * rendering/RenderObject.cpp:
40197        (WebCore::RenderObject::RenderObject):
40198        * rendering/RenderObject.h:
40199        (WebCore::RenderObject::setHasColumns):
40200        * rendering/RenderTableCell.cpp:
40201        (WebCore::RenderTableCell::RenderTableCell):
40202        * rendering/RenderTableCell.h:
40203        (WebCore::RenderTableCell::cellWidthChanged):
40204        (WebCore::RenderTableCell::setCellWidthChanged):
40205
402062011-03-22  David Hyatt  <hyatt@apple.com>
40207
40208        Reviewed by Dan Bernstein.
40209
40210        https://bugs.webkit.org/show_bug.cgi?id=56892
40211
40212        Adding floats to an empty block is O(n^2).
40213
40214        If you just add floats back to back to an empty block, the addition is essentially O(n^2)
40215        once the floats move below your current line position.  This is because we repeatedly ask for the
40216        available width for the line from scratch every time we add a float, regardless of whether the
40217        float even vertically intersected our current line position.
40218
40219        Change positionNewFloatOnLine to update left and right line offsets intelligently and to only
40220        do it based off the single new float that just got added.
40221
40222        This fix cuts the IE MazeSolver time in half.
40223
40224        * rendering/RenderBlock.cpp:
40225        (WebCore::RenderBlock::positionNewFloatOnLine):
40226        * rendering/RenderBlock.h:
40227        * rendering/RenderBlockLineLayout.cpp:
40228        (WebCore::RenderBlock::skipLeadingWhitespace):
40229        (WebCore::RenderBlock::findNextLineBreak):
40230
402312011-03-22  Beth Dakin  <bdakin@apple.com>
40232
40233        Reviewed by Sam Weinig.
40234
40235        Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a
40236        NaN value for "value" in ScrollbarThemeMac::paint()
40237        -and corresponding-
40238        <rdar://problem/9160621>
40239
40240        * platform/mac/ScrollbarThemeMac.mm:
40241        (WebCore::ScrollbarThemeMac::paint):
40242
402432011-03-17  Ojan Vafai  <ojan@chromium.org>
40244
40245        Reviewed by Antti Koivisto.
40246
40247        webkit should implement -moz-any selector (as -webkit-any obviously)
40248        https://bugs.webkit.org/show_bug.cgi?id=38095
40249
40250        For now, match the Mozilla implementation with respect to specificity
40251        and only allowing simple selectors. Both of these are likely to change
40252        pending discussion on www-style@.
40253
40254        Tests: fast/css/pseudo-any.html
40255               fast/dom/SelectorAPI/unknown-pseudo.html
40256
40257        * css/CSSGrammar.y:
40258        Create simple_selector_list. This is exactly like selector_list
40259        except it only allows simple selectors and creates a new vector
40260        instead of a reusable one since there can be multiple in one rule.
40261        * css/CSSParser.cpp:
40262        (WebCore::CSSParser::~CSSParser):
40263        (WebCore::CSSParser::lex):
40264        (WebCore::CSSParser::createFloatingSelectorVector):
40265        (WebCore::CSSParser::sinkFloatingSelectorVector):
40266        * css/CSSParser.h:
40267        * css/CSSParserValues.cpp:
40268        (WebCore::CSSParserSelector::adoptSelectorVector):
40269        * css/CSSParserValues.h:
40270        * css/CSSSelector.cpp:
40271        (WebCore::CSSSelector::specificityForOneSelector):
40272        (WebCore::CSSSelector::pseudoId):
40273        (WebCore::nameToPseudoTypeMap):
40274        (WebCore::CSSSelector::extractPseudoType):
40275        (WebCore::CSSSelector::selectorText):
40276        (WebCore::CSSSelector::setSelectorList):
40277        (WebCore::CSSSelector::RareData::RareData):
40278        (WebCore::CSSSelector::RareData::~RareData):
40279        These need to be moved into the cpp file so that we can
40280        have an OwnPtr<CSSSelectorList> in CSSSelector::RareData.
40281        * css/CSSSelector.h:
40282        (WebCore::CSSSelector::selectorList):
40283        * css/CSSSelectorList.cpp:
40284        (WebCore::forEachTagSelector):
40285        * css/CSSStyleSelector.cpp:
40286        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
40287        (WebCore::collectFeaturesFromSelector):
40288        * css/tokenizer.flex:
40289
402902011-03-22  John Bauman  <jbauman@chromium.org>
40291
40292        Reviewed by Kenneth Russell.
40293
40294        Add support for preserveDrawingBuffer context creation attribute
40295        https://bugs.webkit.org/show_bug.cgi?id=56431
40296
40297        For the accelerated compositing case, only prepare the texture if it
40298        has been updated since the last composite. For the non-accelerated case, make sure to
40299        grab a copy of the image buffer and paint from that if the backbuffer
40300        would be cleared.
40301
40302        In both cases, make sure to clear the context's backbuffer before the
40303        first operation that uses it.
40304
40305        No new tests. It seems to be difficult/impossible to trigger an early
40306        compositing operation in DumpRenderTree, making this hard to
40307        test automatically. However, Chromium and Safari (Mac) have been
40308        tested manually on the webgl conformance test for this.
40309
40310        * html/HTMLCanvasElement.cpp:
40311        (WebCore::HTMLCanvasElement::paint):
40312        (WebCore::HTMLCanvasElement::makePresentationCopy):
40313        (WebCore::HTMLCanvasElement::clearPresentationCopy):
40314        * html/HTMLCanvasElement.h:
40315        * html/canvas/WebGLContextAttributes.cpp:
40316        (WebCore::WebGLContextAttributes::preserveDrawingBuffer):
40317        (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer):
40318        * html/canvas/WebGLContextAttributes.h:
40319        * html/canvas/WebGLContextAttributes.idl:
40320        * html/canvas/WebGLRenderingContext.cpp:
40321        (WebCore::WebGLRenderingContext::initializeNewContext):
40322        (WebCore::WebGLRenderingContext::markContextChanged):
40323        (WebCore::WebGLRenderingContext::clearIfComposited):
40324        (WebCore::WebGLRenderingContext::markLayerComposited):
40325        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
40326        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
40327        (WebCore::WebGLRenderingContext::clear):
40328        (WebCore::WebGLRenderingContext::clearColor):
40329        (WebCore::WebGLRenderingContext::clearDepth):
40330        (WebCore::WebGLRenderingContext::clearStencil):
40331        (WebCore::WebGLRenderingContext::colorMask):
40332        (WebCore::WebGLRenderingContext::disable):
40333        (WebCore::WebGLRenderingContext::drawArrays):
40334        (WebCore::WebGLRenderingContext::drawElements):
40335        (WebCore::WebGLRenderingContext::enable):
40336        (WebCore::WebGLRenderingContext::readPixels):
40337        * html/canvas/WebGLRenderingContext.h:
40338        * platform/graphics/GraphicsContext3D.h:
40339        (WebCore::GraphicsContext3D::Attributes::Attributes):
40340        * platform/graphics/chromium/WebGLLayerChromium.cpp:
40341        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
40342        (WebCore::WebGLLayerChromium::textureUpdated):
40343        (WebCore::WebGLLayerChromium::setContext):
40344        * platform/graphics/chromium/WebGLLayerChromium.h:
40345        * platform/graphics/mac/GraphicsContext3DMac.mm
40346        (WebCore::GraphicsContext3D::GraphicsContext3D):
40347        (WebCore::GraphicsContext3D::~GraphicsContext3D):
40348        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
40349        (WebCore::GraphicsContext3D::reshape):
40350        (WebCore::GraphicsContext3D::prepareTexture):
40351        (WebCore::GraphicsContext3D::activeTexture):
40352        (WebCore::GraphicsContext3D::bindTexture):
40353        (WebCore::GraphicsContext3D::markContextChanged):
40354        (WebCore::GraphicsContext3D::markLayerComposited):
40355        (WebCore::GraphicsContext3D::layerComposited):
40356        * platform/graphics/qt/GraphicsContext3DQt.cpp:
40357        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
40358        (WebCore::GraphicsContext3D::markLayerComposited):
40359        (WebCore::GraphicsContext3D::markContextChanged):
40360        (WebCore::GraphicsContext3D::layerComposited):
40361
403622011-03-22  Sam Weinig  <sam@webkit.org>
40363
40364        Reviewed by Mark Rowe.
40365
40366        Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER.
40367        <rdar://problem/8944718>
40368
40369        * DerivedSources.make:
40370        Remove generation of HeaderDetection.h.
40371
40372        * WebCore.xcodeproj/project.pbxproj:
40373        Remove HeaderDetection.h.
40374
40375        * platform/mac/ScrollAnimatorMac.h:
40376        * platform/mac/ScrollAnimatorMac.mm:
40377        * platform/mac/ScrollbarThemeMac.h:
40378        * platform/mac/ScrollbarThemeMac.mm:
40379        Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER).
40380
403812011-03-22  Victoria Kirst  <vrk@google.com>
40382
40383        Reviewed by Kenneth Russell.
40384
40385        [chromium] Properly reset VideoLayerChromium textures after lost renderer context
40386        https://bugs.webkit.org/show_bug.cgi?id=56514
40387
40388        The VideoLayerChromium textures were still mapped to the old
40389        renderer's context when LayerRendererChromium was being recreated
40390        i.e. when GPU process is killed. This patch allows VideoLayerChromium
40391        it recreate textures in the new context when the old renderer is lost.
40392        Patch also does a bit of refactoring and code clean-up.
40393
40394        * platform/graphics/chromium/VideoLayerChromium.cpp:
40395        (WebCore::VideoLayerChromium::~VideoLayerChromium):
40396        (WebCore::VideoLayerChromium::cleanupResources):
40397        (WebCore::VideoLayerChromium::updateContentsIfDirty):
40398        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
40399        (WebCore::VideoLayerChromium::computeVisibleSize):
40400        (WebCore::VideoLayerChromium::drawYUV):
40401        (WebCore::VideoLayerChromium::drawRGBA):
40402        (WebCore::VideoLayerChromium::resetFrameParameters):
40403        (WebCore::VideoLayerChromium::saveCurrentFrame):
40404        * platform/graphics/chromium/VideoLayerChromium.h:
40405
404062011-03-22  Adam Barth  <abarth@webkit.org>
40407
40408        Reviewed by Eric Seidel.
40409
40410        WebCore GYP build should export the headers needed by WebKit
40411        https://bugs.webkit.org/show_bug.cgi?id=56883
40412
40413        * WebCore.gypi:
40414        * gyp/WebCore.gyp:
40415            - Export a couple more headers.
40416            - Remove FIXME comments for things we've already fixed.
40417
404182011-03-22  Anton D'Auria  <adauria@apple.com>
40419
40420        Reviewed by Alexey Proskuryakov.
40421
40422        Add +[WebApplicationCache getOriginsWithCache]
40423        https://bugs.webkit.org/show_bug.cgi?id=56722
40424
40425        Added test that exercises WebCore API to get origins with application cache.
40426
40427        Test: http/tests/appcache/origins-with-appcache.html
40428
40429        * loader/appcache/ApplicationCacheStorage.cpp:
40430        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
40431        * loader/appcache/ApplicationCacheStorage.h:
40432
404332011-03-22  Carol Szabo  <carol.szabo@nokia.com>
40434
40435        Reviewed by David Hyatt.
40436
40437        Introduced double linkage between a CounterNode and its display renderer.
40438
40439        use of freed pointer in WebCore::RenderCounter::originalText()
40440        https://bugs.webkit.org/show_bug.cgi?id=56065
40441
40442        No new tests. This bug could only be reproduced manually by
40443        refreshing the page during load at a critical point.
40444        See bug attachment for testing.
40445
40446        * rendering/CounterNode.cpp:
40447        Introduced new member "m_owner" to store the renderer that has the
40448        style directives that produce the CounterNode.
40449        Repurposed m_renderer to reffer to the RenderCounter that shows the
40450        CounterNode.
40451        (WebCore::CounterNode::CounterNode):
40452        Updated member initialization.
40453        (WebCore::CounterNode::create):
40454        (WebCore::CounterNode::addRenderer):
40455        (WebCore::CounterNode::removeRenderer):
40456        Introduced to manage the renderer list associated wit this CounterNode.
40457        (WebCore::CounterNode::resetRenderers):
40458        This is the old resetRenderer. Renamed to take into account that there may be
40459        more than one renderer to a CounterNode.
40460        (WebCore::CounterNode::resetThisAndDescendantsRenderers):
40461        This is the old resetRenderers renamed for clarity.
40462        (WebCore::CounterNode::recount):
40463        (WebCore::CounterNode::insertAfter):
40464        (WebCore::CounterNode::removeChild):
40465        No functional changes.
40466        (WebCore::showTreeAndMark):
40467        Added flushing to ensure that the output is complete.
40468        * rendering/CounterNode.h:
40469        (WebCore::CounterNode::owner):
40470        Renamed from renderer()
40471        * rendering/RenderCounter.cpp:
40472        (WebCore::findPlaceForCounter):
40473        Fixed comments. No functional changes.
40474        (WebCore::RenderCounter::~RenderCounter):
40475        Made sure that the CounterNode that this renderers displays is
40476        detached from this.
40477        (WebCore::RenderCounter::originalText):
40478        (WebCore::RenderCounter::invalidate):
40479        Changed to maintain the bidirectional relationship with the displayed CounterNode.
40480        Also made "invalidate" private as it should be used only by CounterNode.
40481        (WebCore::destroyCounterNodeWithoutMapRemoval):
40482        (WebCore::RenderCounter::destroyCounterNodes):
40483        (WebCore::RenderCounter::destroyCounterNode):
40484        (WebCore::updateCounters):
40485        No change, just kept code in line with the changes above.
40486        (showCounterRendererTree):
40487        Added fflush to ensure complete display.
40488        * rendering/RenderCounter.h:
40489        * rendering/RenderObjectChildList.cpp:
40490        * rendering/RenderObjectChildList.h:
40491        Removed unneeded invalidateCounters related functions.
40492
404932011-03-22  Dean Jackson  <dino@apple.com>
40494
40495        Reviewed by Simon Fraser.
40496
40497        https://bugs.webkit.org/show_bug.cgi?id=56242
40498        Interrupted accelerated animations/transitions were causing
40499        subsequent animations to not start (because they were stuck
40500        waiting for a response from the compositing layer). I renamed
40501        the instance variable that indicates whether or not to
40502        notify animations of start time, from m_waitingForStartTimeResponse
40503        to m_waitingForAsyncStartNotification, so that it makes more sense.
40504        The actual bug fix was changing the logic so that the flag is reset
40505        when the list of waiting animations becomes empty. I mistakenly committed
40506        the bad logic in r81613.
40507
40508        * page/animation/AnimationBase.cpp:
40509        (WebCore::AnimationBase::updateStateMachine):
40510        - Always set paused time as we enter the paused state
40511        * page/animation/AnimationController.cpp:
40512        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
40513        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
40514        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
40515        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
40516        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
40517        - reset the waiting flag when the list is empty (rather than not empty)
40518        (WebCore::AnimationControllerPrivate::startTimeResponse):
40519        * page/animation/AnimationControllerPrivate.h:
40520        - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification
40521
405222011-03-22  Brady Eidson  <beidson@apple.com>
40523
40524        Reviewed by Sam Weinig.
40525
40526        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
40527        WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
40528
40529        * loader/icon/IconDatabase.cpp:
40530        Add a dummy client implementation for non-Mac, non-Win ports:
40531        (WebCore::DefaultIconDatabaseClient::performImport):
40532        (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL):
40533        (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL):
40534        (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL):
40535        (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons):
40536        (WebCore::DefaultIconDatabaseClient::didFinishURLImport):
40537        (WebCore::defaultClient):
40538
40539        Either call the client directly when on the main thread, or use the dispatch functions below
40540        if on the background thread:
40541        (WebCore::IconDatabase::setIconDataForIconURL):
40542        (WebCore::IconDatabase::setIconURLForPageURL):
40543        (WebCore::IconDatabase::performURLImport):
40544        (WebCore::IconDatabase::readFromDatabase):
40545        (WebCore::IconDatabase::removeAllIconsOnThread):
40546
40547        Add a very targeted WorkItem interface for dispatching client calls on the main thread:
40548        (WebCore::ClientWorkItem::ClientWorkItem):
40549        (WebCore::ClientWorkItem::~ClientWorkItem):
40550        (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
40551        (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem):
40552        (WebCore::ImportedIconURLForPageURLWorkItem::performWork):
40553        (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
40554        (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem):
40555        (WebCore::ImportedIconDataForPageURLWorkItem::performWork):
40556        (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem):
40557        (WebCore::RemovedAllIconsWorkItem::performWork):
40558        (WebCore::performWorkItem):
40559
40560        Use the client WorkItem interface to perform these callbacks on the main thread:
40561        (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
40562        (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
40563        (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
40564        * loader/icon/IconDatabase.h:
40565        * loader/icon/IconDatabaseClient.h:
40566
405672011-03-22  David Hyatt  <hyatt@apple.com>
40568
40569        Reviewed by Simon Fraser.
40570
40571        https://bugs.webkit.org/show_bug.cgi?id=56869
40572
40573        Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be
40574        a little faster than having to access the information from the RenderStyle's sub-structure.
40575
40576        * rendering/RenderBlock.cpp:
40577        (WebCore::RenderBlock::layoutBlock):
40578        (WebCore::RenderBlock::addOverflowFromChildren):
40579        (WebCore::RenderBlock::computeOverflow):
40580        (WebCore::RenderBlock::adjustPositionedBlock):
40581        (WebCore::RenderBlock::setLogicalLeftForChild):
40582        (WebCore::RenderBlock::setLogicalTopForChild):
40583        (WebCore::RenderBlock::layoutPositionedObjects):
40584        (WebCore::RenderBlock::paintColumnRules):
40585        (WebCore::RenderBlock::paintColumnContents):
40586        (WebCore::RenderBlock::flipFloatForWritingMode):
40587        (WebCore::blockDirectionOffset):
40588        (WebCore::inlineDirectionOffset):
40589        (WebCore::RenderBlock::logicalRectToPhysicalRect):
40590        (WebCore::RenderBlock::inlineSelectionGaps):
40591        (WebCore::RenderBlock::addOverhangingFloats):
40592        (WebCore::RenderBlock::addIntrudingFloats):
40593        (WebCore::RenderBlock::hitTestColumns):
40594        (WebCore::positionForPointRespectingEditingBoundaries):
40595        (WebCore::RenderBlock::positionForPointWithInlineChildren):
40596        (WebCore::RenderBlock::positionForPoint):
40597        (WebCore::RenderBlock::columnRectAt):
40598        (WebCore::RenderBlock::adjustPointToColumnContents):
40599        (WebCore::RenderBlock::adjustRectForColumns):
40600        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
40601        (WebCore::RenderBlock::adjustForColumns):
40602        (WebCore::RenderBlock::lastLineBoxBaseline):
40603        (WebCore::RenderBlock::nextPageLogicalTop):
40604        (WebCore::RenderBlock::adjustForUnsplittableChild):
40605        (WebCore::RenderBlock::adjustLinePositionForPagination):
40606        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
40607        (WebCore::RenderBlock::collapsedMarginAfterForChild):
40608        (WebCore::RenderBlock::marginStartForChild):
40609        (WebCore::RenderBlock::marginEndForChild):
40610        (WebCore::RenderBlock::setMarginStartForChild):
40611        (WebCore::RenderBlock::setMarginEndForChild):
40612        (WebCore::RenderBlock::marginValuesForChild):
40613        * rendering/RenderBlock.h:
40614        (WebCore::RenderBlock::logicalWidthForChild):
40615        (WebCore::RenderBlock::logicalHeightForChild):
40616        (WebCore::RenderBlock::logicalTopForChild):
40617        (WebCore::RenderBlock::logicalRightOffsetForContent):
40618        (WebCore::RenderBlock::logicalLeftOffsetForContent):
40619        (WebCore::RenderBlock::logicalTopForFloat):
40620        (WebCore::RenderBlock::logicalBottomForFloat):
40621        (WebCore::RenderBlock::logicalLeftForFloat):
40622        (WebCore::RenderBlock::logicalRightForFloat):
40623        (WebCore::RenderBlock::logicalWidthForFloat):
40624        (WebCore::RenderBlock::setLogicalTopForFloat):
40625        (WebCore::RenderBlock::setLogicalLeftForFloat):
40626        (WebCore::RenderBlock::setLogicalHeightForFloat):
40627        (WebCore::RenderBlock::setLogicalWidthForFloat):
40628        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
40629        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
40630        * rendering/RenderBlockLineLayout.cpp:
40631        (WebCore::RenderBlock::createLineBoxes):
40632        (WebCore::RenderBlock::layoutInlineChildren):
40633        (WebCore::RenderBlock::checkFloatsInCleanLine):
40634        (WebCore::setStaticPositions):
40635        (WebCore::RenderBlock::findNextLineBreak):
40636        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
40637        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
40638        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
40639        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
40640        * rendering/RenderBox.cpp:
40641        (WebCore::RenderBox::marginStart):
40642        (WebCore::RenderBox::marginEnd):
40643        (WebCore::RenderBox::setMarginStart):
40644        (WebCore::RenderBox::setMarginEnd):
40645        (WebCore::RenderBox::styleDidChange):
40646        (WebCore::RenderBox::logicalScroll):
40647        (WebCore::RenderBox::computeLogicalWidth):
40648        (WebCore::RenderBox::computeLogicalHeight):
40649        (WebCore::RenderBox::availableLogicalHeightUsing):
40650        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
40651        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
40652        (WebCore::RenderBox::computePositionedLogicalWidth):
40653        (WebCore::computeLogicalLeftPositionedOffset):
40654        (WebCore::RenderBox::computePositionedLogicalHeight):
40655        (WebCore::computeLogicalTopPositionedOffset):
40656        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
40657        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
40658        (WebCore::RenderBox::addLayoutOverflow):
40659        (WebCore::RenderBox::flipForWritingMode):
40660        * rendering/RenderBoxModelObject.cpp:
40661        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
40662        * rendering/RenderObject.cpp:
40663        (WebCore::RenderObject::RenderObject):
40664        (WebCore::RenderObject::styleWillChange):
40665        * rendering/RenderObject.h:
40666        (WebCore::RenderObject::isHorizontalWritingMode):
40667        (WebCore::RenderObject::setHorizontalWritingMode):
40668        * rendering/RenderTableCell.cpp:
40669        (WebCore::RenderTableCell::paddingTop):
40670        (WebCore::RenderTableCell::paddingBottom):
40671        (WebCore::RenderTableCell::paddingLeft):
40672        (WebCore::RenderTableCell::paddingRight):
40673        (WebCore::RenderTableCell::scrollbarsChanged):
40674        * rendering/RootInlineBox.cpp:
40675        (WebCore::RootInlineBox::RootInlineBox):
40676        (WebCore::RootInlineBox::lineSelectionGap):
40677        (WebCore::RootInlineBox::verticalPositionForBox):
40678
406792011-03-22  Simon Fraser  <simon.fraser@apple.com>
40680
40681        Reviewed by Beth Dakin.
40682
40683        Incorrect rendering of composited element with negative z-index child
40684        https://bugs.webkit.org/show_bug.cgi?id=56846
40685
40686        When a composited element has a child with negative z-index, we make
40687        a separate layer for that element's foreground content. This layer
40688        was positioned incorrectly (but the content happened to paint at
40689        the right location), resulting in right/bottom clipping.
40690
40691        Fix this, remove the little-used graphicsLayerToContentsCoordinates()
40692        contentsToGraphicsLayerCoordinates() methods, and optimize incremental
40693        repaints in the foreground and mask layers.
40694
40695        Tests: compositing/geometry/foreground-layer.html
40696               compositing/geometry/repaint-foreground-layer.html
40697
40698        * platform/graphics/ca/GraphicsLayerCA.cpp:
40699        (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints
40700        which fall outside the layer bounds, so callers don't have to,
40701        and to avoid unnecessary layer commits.
40702
40703        * rendering/RenderLayerBacking.cpp:
40704        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If
40705        we have a foreground layer inside a clipping layer, the foreground
40706        layer's offset is zero, since the clipping layer is its parent.
40707
40708        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use
40709        offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates().
40710        Also do incremental repaints of the foreground and mask layers.
40711
40712        (WebCore::RenderLayerBacking::paintContents): It was incorrect to always
40713        use compositedBounds() to compute the painting offset, since that's
40714        per-RenderLayerBacking, but a single RenderLayerBacking can have different
40715        GraphicsLayers with different offsets (e.g. the foreground layer).
40716        Instead, use offsetFromRenderer(), which gives has the correct offset.
40717
40718        * rendering/RenderLayerBacking.h: Remove unused methods.
40719
407202011-03-22  Chris Rogers  <crogers@google.com>
40721
40722        Reviewed by Kenneth Russell.
40723
40724        Use default-output instead of default-input to get hardware sample-rate
40725        https://bugs.webkit.org/show_bug.cgi?id=56858
40726
40727        No new tests since audio API is not yet implemented.
40728
40729        * platform/audio/mac/AudioDestinationMac.cpp:
40730        (WebCore::AudioDestination::hardwareSampleRate):
40731
407322011-03-22  Pratik Solanki  <psolanki@apple.com>
40733
40734        Reviewed by David Kilzer.
40735
40736        Implement -connection:didReceiveDataArray: NSURLConnection delegate method
40737        https://bugs.webkit.org/show_bug.cgi?id=56838
40738
40739        Add experimental support for the didReceiveDataArray callback on
40740        NSURLConnection. A RessourceHandleClient indicates its ability to
40741        handle this callback by returning true from supportsDataArray() method.
40742        Currently only SubresourceLoader uses this so we get the benefit for
40743        CSS, JS and image loads. For other clients we call didReceiveData with
40744        the CFData contents as before.
40745
40746        * WebCore.xcodeproj/project.pbxproj:
40747        * loader/ResourceLoader.h:
40748        * loader/SubresourceLoader.h:
40749        (WebCore::SubresourceLoader::supportsDataArray):
40750        * loader/cf/SubresourceLoaderCF.cpp: Added.
40751        (WebCore::SubresourceLoader::didReceiveDataArray):
40752        * loader/mac/ResourceLoaderMac.mm:
40753        (WebCore::ResourceLoader::didReceiveDataArray):
40754        * platform/SharedBuffer.cpp:
40755        (WebCore::SharedBuffer::clear):
40756        (WebCore::SharedBuffer::buffer):
40757        * platform/SharedBuffer.h:
40758        * platform/cf/SharedBufferCF.cpp:
40759        (WebCore::SharedBuffer::append):
40760        (WebCore::SharedBuffer::copyDataArrayAndClear):
40761        * platform/network/ResourceHandleClient.h:
40762        (WebCore::ResourceHandleClient::supportsDataArray):
40763        (WebCore::ResourceHandleClient::didReceiveDataArray):
40764        * platform/network/mac/ResourceHandleMac.mm:
40765        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
40766
407672011-03-22  Eric Seidel  <eric@webkit.org>
40768
40769        Reviewed by Adam Barth.
40770
40771        Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
40772        https://bugs.webkit.org/show_bug.cgi?id=56867
40773
40774        This should make it possible to build the gyp-generated WebCore.xcodeproj
40775        from a WebCore directory outside of Source.
40776
40777        * gyp/WebCore.gyp:
40778        * gyp/run-if-exists.sh: Added.
40779        * gyp/update-info-plist.sh: Added.
40780
407812011-03-22  Anders Carlsson  <andersca@apple.com>
40782
40783        Fix WebKit2 build.
40784
40785        * WebCore.exp.in:
40786        Export a symbol needed by WebKit2.
40787
407882011-03-22  Adam Barth  <abarth@webkit.org>
40789
40790        Reviewed by Eric Seidel.
40791
40792        Add the remaining steps to WebCore GYP build
40793        https://bugs.webkit.org/show_bug.cgi?id=56864
40794
40795        These steps match the normal build.  After this patch, I believe the
40796        WebCore GYP build is complete.
40797
40798        * WebCore.gypi:
40799        * gyp/WebCore.gyp:
40800        * gyp/copy-inspector-resources.sh: Added.
40801
408022011-03-22  Beth Dakin  <bdakin@apple.com>
40803
40804        Reviewed by Simon Fraser.
40805
40806        Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be
40807        added to Page::scrollableAreaSet()
40808
40809        * rendering/RenderListBox.cpp:
40810        (WebCore::RenderListBox::RenderListBox):
40811        (WebCore::RenderListBox::~RenderListBox):
40812        * rendering/RenderListBox.h:
40813        (WebCore::RenderListBox::disconnectFromPage):
40814
408152011-03-22  Chris Rogers  <crogers@google.com>
40816
40817        Reviewed by Kenneth Russell.
40818
40819        Add high-quality band-limited audio resampling algorithm
40820        https://bugs.webkit.org/show_bug.cgi?id=56692
40821
40822        No new tests since audio API is not yet implemented.
40823
40824        * platform/audio/SincResampler.cpp: Added.
40825        (WebCore::SincResampler::SincResampler):
40826        (WebCore::SincResampler::initializeKernel):
40827        (WebCore::SincResampler::consumeSource):
40828        (WebCore::SincResampler::process):
40829        * platform/audio/SincResampler.h: Added.
40830
408312011-03-22  Adam Barth  <abarth@webkit.org>
40832
40833        Reviewed by Eric Seidel.
40834
40835        WebCore GYP build should build without help from normal WebCore build
40836        https://bugs.webkit.org/show_bug.cgi?id=56860
40837
40838        Before this patch, the WebCore GYP build wasn't generating the derived
40839        sources quite right because the ENABLE macros were not being
40840        communicated to the "Derived Sources" target.
40841
40842        This patch also adds the "Copy Forwarding and ICU Headers" as well as
40843        the "Streamline Inspector Source" steps, which are present in the
40844        normal build.  Unlike the normal build, these steps occur in a new
40845        target, called "WebCore Support", which is less than aesthetically
40846        beautiful.  Hopefully we'll be able to move them into the WebCore
40847        target proper in the future, but that will likely require some GYP
40848        changes.
40849
40850        This patch probably could have been broken down into a couple smaller
40851        patches, but that doesn't seem necessary.
40852
40853        * WebCore.gypi:
40854            - This file appears to no longer exist.
40855        * gyp/WebCore.gyp:
40856        * gyp/copy-forwarding-and-icu-headers.sh: Added.
40857        * gyp/streamline-inspector-source.sh: Added.
40858
408592011-03-22  David Hyatt  <hyatt@apple.com>
40860
40861        Reviewed by Simon Fraser.
40862
40863        https://bugs.webkit.org/show_bug.cgi?id=56859
40864
40865        Floats in the floating object list occur in the order that they are positioned. This means
40866        that for a given vertical offset, the last left object in the list that intersects that offset
40867        will be the rightmost float. There is no need to check any previous floats, since they have to be
40868        further left than that rightmost float. The same rules hold true for right-aligned floats.
40869
40870        Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment
40871        they encounter a float that intersects the vertical range.
40872
40873        This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half.
40874
40875        * rendering/RenderBlock.cpp:
40876        (WebCore::RenderBlock::logicalLeftOffsetForLine):
40877        (WebCore::RenderBlock::logicalRightOffsetForLine):
40878
408792011-03-22  Justin Schuh  <jschuh@chromium.org>
40880
40881        Reviewed by Dirk Schulze.
40882
40883        SVG displacement map should validate channel selections
40884        https://bugs.webkit.org/show_bug.cgi?id=56794
40885
40886        Test: svg/filters/feDisplacementMap-crash-test.xhtml
40887
40888        * svg/SVGFEDisplacementMapElement.cpp:
40889        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
40890
408912011-03-22  Huahui Wu  <mediadependent@gmail.com>
40892
40893        Reviewed by Steve Block.
40894
40895        [Android] Update PlatformTouchEvent for android so it can pass IDs and states around.
40896        https://bugs.webkit.org/show_bug.cgi?id=56763
40897
40898        No new tests as no new functionality is exposed.
40899
40900        * platform/PlatformTouchEvent.h:
40901        * platform/android/PlatformTouchEventAndroid.cpp:
40902        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
40903
409042011-03-22  David Hyatt  <hyatt@apple.com>
40905
40906        Reviewed by Simon Fraser.
40907
40908        Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example,
40909        you can fix the height of lines and cause all line contents to be ignored. You can make lines fit to glyphs. You can ignore leading and
40910        fit to the font size. You can ignore replaced elements, etc.
40911
40912        Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox
40913        so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box
40914        height based off the block's line-box-contain value.
40915
40916        GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct.
40917
40918        RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box.
40919
40920        Added new tests in fast/block/lineboxcontain
40921
40922        * GNUmakefile.am:
40923        * WebCore.gypi:
40924        * WebCore.pro:
40925        * WebCore.vcproj/WebCore.vcproj:
40926        * WebCore.xcodeproj/project.pbxproj:
40927        * css/CSSComputedStyleDeclaration.cpp:
40928        (WebCore::createLineBoxContainValue):
40929        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
40930        * css/CSSLineBoxContainValue.cpp: Added.
40931        (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
40932        (WebCore::CSSLineBoxContainValue::cssText):
40933        * css/CSSLineBoxContainValue.h: Added.
40934        (WebCore::CSSLineBoxContainValue::create):
40935        (WebCore::CSSLineBoxContainValue::value):
40936        (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue):
40937        * css/CSSParser.cpp:
40938        (WebCore::CSSParser::parseValue):
40939        (WebCore::CSSParser::parseLineBoxContain):
40940        * css/CSSParser.h:
40941        * css/CSSPropertyNames.in:
40942        * css/CSSStyleSelector.cpp:
40943        (WebCore::CSSStyleSelector::applyProperty):
40944        * css/CSSValue.h:
40945        (WebCore::CSSValue::isCSSLineBoxContainValue):
40946        * css/CSSValueKeywords.in:
40947        * platform/graphics/Font.cpp:
40948        (WebCore::Font::width):
40949        * platform/graphics/Font.h:
40950        (WebCore::GlyphOverflow::GlyphOverflow):
40951        * platform/graphics/FontFastPath.cpp:
40952        (WebCore::Font::floatWidthForSimpleText):
40953        * platform/graphics/mac/FontComplexTextMac.cpp:
40954        (WebCore::Font::floatWidthForComplexText):
40955        * platform/graphics/win/FontWin.cpp:
40956        (WebCore::Font::floatWidthForComplexText):
40957        * rendering/InlineFlowBox.cpp:
40958        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
40959        * rendering/InlineFlowBox.h:
40960        * rendering/RenderBlock.h:
40961        * rendering/RenderBlockLineLayout.cpp:
40962        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
40963        (WebCore::RenderBlock::layoutInlineChildren):
40964        * rendering/RenderInline.cpp:
40965        (WebCore::RenderInline::marginLeft):
40966        (WebCore::RenderInline::marginRight):
40967        (WebCore::RenderInline::marginTop):
40968        (WebCore::RenderInline::marginBottom):
40969        (WebCore::RenderInline::marginBefore):
40970        (WebCore::RenderInline::marginAfter):
40971        * rendering/RenderInline.h:
40972        * rendering/RenderText.cpp:
40973        (WebCore::RenderText::widthFromCache):
40974        (WebCore::RenderText::width):
40975        * rendering/RootInlineBox.cpp:
40976        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
40977        (WebCore::setAscentAndDescent):
40978        (WebCore::RootInlineBox::ascentAndDescentForBox):
40979        (WebCore::RootInlineBox::verticalPositionForBox):
40980        (WebCore::RootInlineBox::includeLeadingForBox):
40981        (WebCore::RootInlineBox::includeFontForBox):
40982        (WebCore::RootInlineBox::includeGlyphsForBox):
40983        (WebCore::RootInlineBox::includeMarginForBox):
40984        (WebCore::RootInlineBox::fitsToGlyphs):
40985        (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading):
40986        * rendering/RootInlineBox.h:
40987        * rendering/style/RenderStyle.cpp:
40988        (WebCore::RenderStyle::diff):
40989        * rendering/style/RenderStyle.h:
40990        (WebCore::InheritedFlags::lineBoxContain):
40991        (WebCore::InheritedFlags::setLineBoxContain):
40992        (WebCore::InheritedFlags::initialLineBoxContain):
40993        * rendering/style/StyleRareInheritedData.cpp:
40994        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
40995        (WebCore::StyleRareInheritedData::operator==):
40996        * rendering/style/StyleRareInheritedData.h:
40997
409982011-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
40999
41000        Unreviewed, rolling out r81653.
41001        http://trac.webkit.org/changeset/81653
41002        https://bugs.webkit.org/show_bug.cgi?id=56839
41003
41004        Breaks fast/text/drawBidiText.html on Chromium. (Requested by
41005        pfeldman on #webkit).
41006
41007        * rendering/RenderListBox.cpp:
41008        (WebCore::RenderListBox::paintItemForeground):
41009
410102011-03-22  Pavel Feldman  <pfeldman@chromium.org>
41011
41012        Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium.
41013
41014        * inspector/Inspector.json:
41015        * inspector/InspectorDatabaseResource.cpp:
41016        (WebCore::InspectorDatabaseResource::bind):
41017        * inspector/front-end/Database.js:
41018        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
41019
410202011-03-21  Pavel Podivilov  <podivilov@chromium.org>
41021
41022        Reviewed by Yury Semikhatsky.
41023
41024        Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened.
41025        https://bugs.webkit.org/show_bug.cgi?id=56747
41026
41027        Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts).
41028
41029        * inspector/Inspector.json:
41030        * inspector/InspectorAgent.cpp:
41031        (WebCore::InspectorAgent::showProfilesPanel):
41032        * inspector/InspectorAgent.h:
41033        * inspector/InspectorController.cpp:
41034        (WebCore::InspectorController::InspectorController):
41035        (WebCore::InspectorController::connectFrontend):
41036        (WebCore::InspectorController::showAndEnableDebugger):
41037        * inspector/InspectorController.h:
41038        * inspector/InspectorDebuggerAgent.cpp:
41039        (WebCore::InspectorDebuggerAgent::setFrontend):
41040        (WebCore::InspectorDebuggerAgent::clearFrontend):
41041        * inspector/InspectorDebuggerAgent.h:
41042
410432011-03-22  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
41044
41045        Reviewed by Benjamin Poulain.
41046
41047        [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4
41048        https://bugs.webkit.org/show_bug.cgi?id=56824
41049
41050        On desktop OpenGL substitute in renderbufferStorage:
41051        - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL
41052        - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16
41053        - GL_RGBA for GL_RGBA4 and GL_RGBA565
41054        - GL_RGB for RGB5_A1.
41055
41056        Tests: fast/canvas/webgl/uninitialized-test.html
41057
41058        * platform/graphics/qt/GraphicsContext3DQt.cpp:
41059        (WebCore::GraphicsContext3D::renderbufferStorage):
41060
410612011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
41062
41063        Reviewed by Eric Seidel.
41064
41065        Move volume slider positioning logic to a custom renderer.
41066        https://bugs.webkit.org/show_bug.cgi?id=56498
41067
41068        No functional change, covered by existing tests.
41069
41070        * html/shadow/MediaControls.cpp:
41071        (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic.
41072        * rendering/MediaControlElements.cpp:
41073        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added.
41074        (WebCore::RenderMediaVolumeSliderContainer::layout): Added.
41075        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates.
41076        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added.
41077        (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates.
41078        * rendering/MediaControlElements.h: Changed corresponding decls.
41079
410802011-03-22  Andrew Wason  <rectalogic@rectalogic.com>
41081
41082        Reviewed by Benjamin Poulain.
41083
41084        [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent
41085        https://bugs.webkit.org/show_bug.cgi?id=54138
41086
41087        * platform/graphics/qt/GraphicsContext3DQt.cpp:
41088        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
41089         Check if we actually have a QWebPageClient before dereferencing it.
41090
410912011-03-22  Pavel Feldman  <pfeldman@chromium.org>
41092
41093        Reviewed by Yury Semikhatsky.
41094
41095        Web Inspector: document DOM domain types and protocol methods.
41096        https://bugs.webkit.org/show_bug.cgi?id=56807
41097
41098        * inspector/InjectedScript.cpp:
41099        (WebCore::InjectedScript::wrapNode):
41100        * inspector/InjectedScript.h:
41101        * inspector/Inspector.json:
41102        * inspector/InspectorBrowserDebuggerAgent.cpp:
41103        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
41104        * inspector/InspectorDOMAgent.cpp:
41105        (WebCore::InspectorDOMAgent::removeNode):
41106        (WebCore::InspectorDOMAgent::setNodeValue):
41107        * inspector/InspectorDOMAgent.h:
41108        * inspector/front-end/ElementsTreeOutline.js:
41109        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
41110        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
41111        * inspector/front-end/EventListenersSidebarPane.js:
41112        * inspector/front-end/PropertiesSidebarPane.js:
41113        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
41114        * inspector/front-end/RemoteObject.js:
41115        (WebInspector.RemoteObject.resolveNode):
41116
411172011-03-22  Adam Barth  <abarth@webkit.org>
41118
41119        Reviewed by Eric Seidel.
41120
41121        Production configuration in GYP isn&apos;t set up correctly
41122        https://bugs.webkit.org/show_bug.cgi?id=56786
41123
41124        Update WebCore.gyp with information mined from WebCore.xcodeproj.
41125
41126        * WebCore.gypi:
41127        * gyp/WebCore.gyp:
41128
411292011-03-22  Ofri Wolfus  <ofri@google.com>
41130
41131        Reviewed by Eric Seidel.
41132
41133        RTL: Select elements with a size attribute are always left aligned.
41134        https://bugs.webkit.org/show_bug.cgi?id=50928
41135
41136        Added support for alignment in RenderListBox.
41137
41138        Test: fast/forms/listbox-bidi-align.html
41139
41140        * rendering/RenderListBox.cpp:
41141        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
41142
411432011-03-22  Ilya Sherman  <isherman@chromium.org>
41144
41145        Reviewed by Kent Tamura.
41146
41147        Clear autofilled flag when reseting a form
41148        In service of https://code.google.com/p/chromium/issues/detail?id=70037
41149        https://bugs.webkit.org/show_bug.cgi?id=56802
41150
41151        Test: fast/forms/reset-autofilled.html
41152
41153        * html/HTMLInputElement.cpp:
41154        (WebCore::HTMLInputElement::reset): Clear the autofilled flag.
41155
411562011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
41157
41158        Reviewed by Yury Semikhatsky.
41159
41160        Web Inspector: protocol cleanup. DatabaseAgent.
41161        https://bugs.webkit.org/show_bug.cgi?id=56815
41162
41163        see protocol metabug:
41164        - All events should use notification wording, not command wording:
41165
41166        addDatabase was renamed to DatabaseOpened.
41167
41168        Test: inspector/protocol/database-agent.html
41169
41170        * inspector/Inspector.json:
41171        * inspector/InspectorDatabaseResource.cpp:
41172        (WebCore::InspectorDatabaseResource::bind):
41173        * inspector/front-end/Database.js:
41174        (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened):
41175
411762011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
41177
41178        Reviewed by Yury Semikhatsky.
41179
41180        Web Inspector: protocol cleanup. ConsoleAgent.
41181        https://bugs.webkit.org/show_bug.cgi?id=56806
41182
41183        renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount);
41184        new method: disable()
41185        deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command.
41186
41187        * inspector/ConsoleMessage.cpp:
41188        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
41189        * inspector/Inspector.json:
41190        * inspector/InspectorConsoleAgent.cpp:
41191        (WebCore::InspectorConsoleAgent::enable):
41192        (WebCore::InspectorConsoleAgent::disable):
41193        * inspector/InspectorConsoleAgent.h:
41194        * inspector/front-end/ConsoleView.js:
41195        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated):
41196        (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount):
41197        * inspector/front-end/inspector.js:
41198
411992011-03-22  Kent Tamura  <tkent@chromium.org>
41200
41201        Reviewed by Eric Seidel.
41202
41203        REGRESSION(r80096): Number type input unexpectedly rounds fractional values
41204        https://bugs.webkit.org/show_bug.cgi?id=56367
41205
41206        Because the default value of the maximum fractional digits of NSNumberFormatter
41207        and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a
41208        localized representation. This bug affects only in Mac and Chromium.
41209
41210        To fix this bug,
41211         - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and
41212         - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces()
41213          instead of parseToDoubleForNumberType().
41214
41215        No automated tests because the behavior is locale-dependent. This change
41216        updates a manual test.
41217
41218        * html/NumberInputType.cpp:
41219        (WebCore::NumberInputType::visibleValue):
41220          Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional
41221          part length to formatLocalizedNumber().
41222        * manual-tests/input-number-localization.html:
41223          Update the test to cover this change.
41224        * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber().
41225        * platform/text/LocalizedNumberICU.cpp:
41226        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
41227        * platform/text/LocalizedNumberNone.cpp:
41228        (WebCore::formatLocalizedNumber):
41229        * platform/text/mac/LocalizedNumberMac.mm:
41230        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
41231
412322011-03-21  Abhishek Arya  <inferno@chromium.org>
41233
41234        Reviewed by Eric Seidel.
41235
41236        Anonymous blocks need isRenderBlock cast check. Also, need
41237        to allow display BOX for flexible boxes.
41238        https://bugs.webkit.org/show_bug.cgi?id=56709
41239
41240        Test: accessibility/anchor-linked-anonymous-block-crash.html
41241
41242        * rendering/RenderBlock.cpp:
41243        (WebCore::canMergeContiguousAnonymousBlocks): remove specific
41244        fix in r81088 which is no longer needed.
41245        * rendering/RenderObject.h:
41246        (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast
41247        check.
41248
412492011-03-21  Abhishek Arya  <inferno@chromium.org>
41250
41251        Reviewed by Eric Seidel.
41252
41253        Revert small change made in r78846 of replacing move with positionLineBox
41254        in the adjusting position function for inline box.
41255        https://bugs.webkit.org/show_bug.cgi?id=56300
41256
41257        The change in r78846 caused positioning line boxes during the step of adjusting
41258        position for inline box, thereby causing line boxes to be nuked. This happens as
41259        part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine.
41260        Later on, we do the positioning of line boxes again later in that function. This
41261        causes use of removed inline box leading to crash. Also, it is unnecessary to do
41262        this twice.
41263
41264        Tests: fast/inline/inline-box-adjust-position-crash.html
41265               fast/inline/inline-box-adjust-position-crash2.html
41266
41267        * rendering/InlineBox.cpp:
41268        (WebCore::InlineBox::adjustPosition):
41269
412702011-03-21  Adam Klein  <adamk@chromium.org>
41271
41272        Reviewed by David Levin.
41273
41274        [fileapi] Add URI resolution support to WorkerContext
41275        https://bugs.webkit.org/show_bug.cgi?id=55644
41276
41277        Tests: http/tests/filesystem/workers/resolve-url-sync.html
41278               http/tests/filesystem/workers/resolve-url.html
41279
41280        * fileapi/LocalFileSystem.cpp:
41281        (WebCore::LocalFileSystem::readFileSystem):
41282        Add support for workers.
41283        * fileapi/LocalFileSystem.h:
41284        * workers/WorkerContext.cpp:
41285        (WebCore::WorkerContext::resolveLocalFileSystemURL):
41286        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
41287        * workers/WorkerContext.h:
41288        * workers/WorkerContext.idl:
41289
412902011-03-21  David Levin  <levin@chromium.org>
41291
41292        Reviewed by Adam Barth.
41293
41294        XHR in Workers doesn't set the referrer correctly.
41295        https://bugs.webkit.org/show_bug.cgi?id=24683
41296
41297        Tests: http/tests/xmlhttprequest/workers/referer.html
41298               http/tests/xmlhttprequest/workers/shared-worker-referer.html
41299
41300        * loader/DocumentThreadableLoader.cpp:
41301        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer.
41302        (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer.
41303        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
41304        (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
41305        * loader/DocumentThreadableLoader.h: Ditto.
41306        * loader/ResourceLoadScheduler.cpp:
41307        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto.
41308        * loader/ResourceLoadScheduler.h: Ditto.
41309        * loader/SubresourceLoader.cpp:
41310        (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in.
41311        * loader/WorkerThreadableLoader.cpp:
41312        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer.
41313        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer.
41314        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer.
41315        * loader/WorkerThreadableLoader.h:
41316
413172011-03-21  Nate Chapin  <japhet@chromium.org>
41318
41319        Reviewed by Brady Eidson.
41320
41321        Do not check the DocumentLoader's request cache policy
41322        in determining whether we should force revalidation of a cached
41323        subresource. If the main resource received headers telling it not
41324        to cache, that policy will be propagated to subresources.
41325
41326        The previous behavior is left in behind a flag in Settings, since
41327        QuickLook depends on it.
41328
41329        https://bugs.webkit.org/show_bug.cgi?id=38690
41330
41331        Tests: http/tests/cache/post-redirect-get.php
41332               http/tests/cache/post-with-cached-subresources.php
41333
41334        * loader/FrameLoader.cpp:
41335        (WebCore::FrameLoader::subresourceCachePolicy):
41336        (WebCore::FrameLoader::loadPostRequest):
41337        * page/Settings.cpp:
41338        (WebCore::Settings::Settings):
41339        * page/Settings.h:
41340        (WebCore::Settings::setUseQuickLookResourceCachingQuirks):
41341        (WebCore::Settings::useQuickLookResourceCachingQuirks):
41342
413432011-03-21  Rik Cabanier  <cabanier@adobe.com>
41344
41345        Reviewed by James Robinson.
41346
41347        bug 56052: percentages are incorrectly rounded in WebKit
41348        https://bugs.webkit.org/show_bug.cgi?id=56052
41349
41350        test: fast/css/percentage-non-integer.html
41351
41352        * css/CSSStyleSelector.cpp:
41353        (WebCore::CSSStyleSelector::applyProperty):
41354        * page/PrintContext.cpp:
41355        (WebCore::PrintContext::pageProperty):
41356        * platform/Length.h:
41357        (WebCore::Length::Length):
41358        (WebCore::Length::operator*=):
41359        (WebCore::Length::value):
41360        (WebCore::Length::percent):
41361        (WebCore::Length::setValue):
41362        (WebCore::Length::calcValue):
41363        (WebCore::Length::calcMinValue):
41364        (WebCore::Length::isUndefined):
41365        (WebCore::Length::isZero):
41366        (WebCore::Length::isPositive):
41367        (WebCore::Length::isNegative):
41368        * rendering/AutoTableLayout.cpp:
41369        (WebCore::AutoTableLayout::recalcColumn):
41370        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
41371        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
41372        (WebCore::AutoTableLayout::layout):
41373        * rendering/FixedTableLayout.cpp:
41374        (WebCore::FixedTableLayout::calcWidthArray):
41375        (WebCore::FixedTableLayout::layout):
41376        * rendering/RenderTableSection.cpp:
41377        (WebCore::RenderTableSection::addCell):
41378        (WebCore::RenderTableSection::layoutRows):
41379        * rendering/style/BorderData.h:
41380        (WebCore::BorderData::hasBorderRadius):
41381
413822011-03-21  Adam Barth  <abarth@webkit.org>
41383
41384        Reviewed by Eric Seidel.
41385
41386        Add WebCoreExportFileGenerator to WebCore GYP build
41387        https://bugs.webkit.org/show_bug.cgi?id=56778
41388
41389        This target mirrors the eponymous target from WebCore.xcodeproj.
41390
41391        * WebCore.gypi:
41392        * gyp/WebCore.gyp:
41393        * generate-webcore-export-file-generator.sh: Added.
41394
413952011-03-21  Adam Barth  <abarth@webkit.org>
41396
41397        Reviewed by Dimitri Glazkov.
41398
41399        WebCore GYP build shouldn&apos;t crash on startup
41400        https://bugs.webkit.org/show_bug.cgi?id=56776
41401
41402        Debug builds shouldn't define NDEBUG.  This same logic exists in the
41403        project.pbxproj file.
41404
41405        * gyp/WebCore.gyp:
41406
414072011-03-21  Daniel Cheng  <dcheng@chromium.org>
41408
41409        Reviewed by Tony Chang.
41410
41411        [chromium] Implement glue between DataTransferItems and the pasteboard.
41412        https://bugs.webkit.org/show_bug.cgi?id=56330
41413
41414        Support retrieving clipboard data in a paste through DataTransferItems.
41415
41416        Test: editing/pasteboard/data-transfer-items.html
41417
41418        * platform/chromium/ClipboardChromium.cpp:
41419        (WebCore::ClipboardChromium::items):
41420        * platform/chromium/DataTransferItemChromium.cpp:
41421        (WebCore::DataTransferItemChromium::createFromPasteboard):
41422        (WebCore::DataTransferItemChromium::create):
41423        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
41424        (WebCore::DataTransferItemChromium::getAsString):
41425        * platform/chromium/DataTransferItemChromium.h:
41426        * platform/chromium/DataTransferItemsChromium.cpp:
41427        (WebCore::DataTransferItemsChromium::addPasteboardItem):
41428        * platform/chromium/DataTransferItemsChromium.h:
41429
414302011-03-21  Chris Fleizach  <cfleizach@apple.com>
41431
41432        Reviewed by Darin Adler.
41433
41434        AX: showContextMenu not working in WK2
41435        https://bugs.webkit.org/show_bug.cgi?id=56734
41436
41437        WebKit2 is not able to directly open a context menu because the UI is in the other process.
41438        Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1
41439        code.
41440
41441        * accessibility/mac/AccessibilityObjectWrapper.mm:
41442        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
41443
414442011-03-21  Robert Kroeger  <rjkroege@chromium.org>
41445
41446        Reviewed by Antonio Gomes.
41447
41448        Add Support to WebCore to optionally call a platform-specific gesture recognizer
41449        https://bugs.webkit.org/show_bug.cgi?id=49345
41450
41451        Added an ability for the EventHandler to invoke an optional platform
41452        specific gesture recognizer.
41453
41454        No tests added because the change should be functionally invisible.
41455
41456        * WebCore.gypi:
41457        * page/EventHandler.cpp:
41458        (WebCore::EventHandler::EventHandler):
41459        (WebCore::EventHandler::handleTouchEvent):
41460        * page/EventHandler.h:
41461        * platform/PlatformGestureRecognizer.cpp: Added.
41462        (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
41463        (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
41464        (WebCore::PlatformGestureRecognizer::create):
41465        * platform/PlatformGestureRecognizer.h: Added.
41466
414672011-03-21  Dean Jackson  <dino@apple.com>
41468
41469        Reviewed by Chris Marrin and Simon Fraser.
41470
41471        https://bugs.webkit.org/show_bug.cgi?id=56325
41472        ASSERTION FAILED: paused() in AnimationBase::updateStateMachine()
41473
41474        AnimationBase had a custom linked-list/self-pointer for keeping
41475        track of animations that needed to be notified of style updates
41476        and start progress. This caused problems when AnimationBase was
41477        destroyed, since the pointer wasn't managed in any way. I replaced
41478        these pointers with HashSets and moved the code that removes animations
41479        from the sets into AnimationControllerPrivate, where it belongs.
41480        CompositeAnimation is also more careful to tell AnimationControllerPrivate
41481        when it no longer needs to keep track of waiting animations.
41482
41483        This should stop the style updates being called on non-active animations
41484        (which was the cause of the state machine error here) and should also
41485        stop a few of the related flakey test failures and occasional crashes.
41486
41487        Test: animations/body-removal-crash.html
41488
41489        * page/animation/AnimationBase.cpp:
41490        (WebCore::AnimationBase::AnimationBase):
41491        (WebCore::AnimationBase::updateStateMachine):
41492        * page/animation/AnimationBase.h:
41493        (WebCore::AnimationBase::~AnimationBase):
41494        - Remove the linked-list
41495        * page/animation/AnimationController.cpp:
41496        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
41497        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle):
41498        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle):
41499        (WebCore::AnimationControllerPrivate::styleAvailable):
41500        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
41501        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
41502        (WebCore::AnimationControllerPrivate::startTimeResponse):
41503        (WebCore::AnimationControllerPrivate::animationWillBeRemoved):
41504        - New method to remove animations from the waiting lists
41505        * page/animation/AnimationControllerPrivate.h:
41506        - use a HashSet rather than an AnimationBase* pointer.
41507        * page/animation/CompositeAnimation.cpp:
41508        (WebCore::CompositeAnimation::~CompositeAnimation):
41509        (WebCore::CompositeAnimation::clearRenderer):
41510        (WebCore::CompositeAnimation::updateTransitions):
41511        (WebCore::CompositeAnimation::updateKeyframeAnimations):
41512        - remove the animations and transitions from the lists when we know
41513          they are no longer active (rather than waiting for the AnimationBase
41514          to do it when destructing)
41515
415162011-03-21  Justin Schuh  <jschuh@chromium.org>
41517
41518        Reviewed by James Robinson.
41519
41520        Stop inserting when the parent is removed
41521        https://bugs.webkit.org/show_bug.cgi?id=56690
41522
41523        Tests: fast/dom/insertedIntoDocument-child.html
41524               fast/dom/insertedIntoDocument-iframe.html
41525               fast/dom/insertedIntoDocument-sibling.html
41526
41527        * dom/ContainerNode.cpp:
41528        (WebCore::ContainerNode::insertedIntoDocument):
41529        * html/HTMLEmbedElement.cpp:
41530        (WebCore::HTMLEmbedElement::insertedIntoDocument):
41531        * html/HTMLObjectElement.cpp:
41532        (WebCore::HTMLObjectElement::insertedIntoDocument):
41533
415342011-03-07  David Levin  <levin@chromium.org>
41535
41536        Reviewed by Adam Barth.
41537
41538        SubresourceLoader should expose a way to set the outgoing referer/origin
41539        https://bugs.webkit.org/show_bug.cgi?id=55903
41540
41541        No new tests as no new functionality is exposed.
41542
41543        * loader/SubresourceLoader.cpp:
41544        (WebCore::SubresourceLoader::create):
41545        * loader/SubresourceLoader.h:
41546
415472011-03-21  Daniel Sievers  <sievers@google.com>
41548
41549        Reviewed by Simon Fraser.
41550
41551        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
41552        https://bugs.webkit.org/show_bug.cgi?id=56139
41553
41554        * WebCore.exp.in:
41555        * WebCore.order:
41556        * page/Frame.cpp:
41557        (WebCore::Frame::layerTreeAsText):
41558        * page/Frame.h:
41559        * rendering/RenderLayerCompositor.cpp:
41560        (WebCore::RenderLayerCompositor::layerTreeAsText):
41561        * rendering/RenderLayerCompositor.h:
41562
415632011-03-21  Chang Shu  <cshu@webkit.org>
41564
41565        Reviewed by Alexey Proskuryakov.
41566
41567        REGRESSION (r79953): Can't type in MS Outlook 2011
41568        https://bugs.webkit.org/show_bug.cgi?id=56665
41569
41570        r79953 removed the WebView level editablity which is persistent no matter whether
41571        underlying document itself is changed and editability gets lost. The resolution is to
41572        set this WebView editable value to WebCore. This avoids the callback from WebCore to
41573        WebKit which was the main goal in r79953 to improve performance.
41574
41575        * WebCore.exp.in:
41576        * accessibility/AccessibilityRenderObject.cpp:
41577        (WebCore::AccessibilityRenderObject::isReadOnly):
41578        * dom/Node.cpp:
41579        (WebCore::Node::isContentEditable):
41580        * editing/SelectionController.cpp:
41581        (WebCore::SelectionController::setSelectionFromNone):
41582        * page/DragController.cpp:
41583        (WebCore::DragController::operationForLoad):
41584        * page/Page.cpp:
41585        (WebCore::Page::Page):
41586        * page/Page.h:
41587        (WebCore::Page::setEditable):
41588        (WebCore::Page::isEditable):
41589
415902011-03-21  Eric Uhrhane <ericu@chromium.org>
41591
41592        Reviewed by David Levin.
41593
41594        [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry*
41595        https://bugs.webkit.org/show_bug.cgi?id=56704
41596
41597        * fileapi/DOMFileSystemSync.cpp
41598        (DOMFileSystemSync::createFile)
41599        (class GetPathHelper): Added, to look up path before creating File.
41600        * fileapi/DOMFileSystem.cpp
41601        (DOMFileSystem::createFile)
41602        (GetPathCallback): Added, to look up path before creating File.
41603        * platform/FileMetadata.h
41604        (struct FileMetadata): Added new field platformPath.
41605
416062011-03-21  Dominic Cooney  <dominicc@google.com>
41607
41608        Reviewed by Jeremy Orlow.
41609
41610        Establishes a V8 context before executing MediaQueryList callbacks.
41611        https://bugs.webkit.org/show_bug.cgi?id=56166
41612
41613        MediaQueryList listener callbacks didn't establish a V8 context
41614        before running script, causing crashes on C++-only
41615        callstacks (such as user resizing, printing, etc.) I believe this
41616        could also be contrived to execute media query list listener
41617        callbacks across domain.
41618
41619        Test: fast/media/media-query-list-callback.html
41620
41621        * css/MediaQueryListListener.cpp:
41622        (WebCore::MediaQueryListListener::queryChanged):
41623
416242011-03-21  Andreas Kling  <kling@webkit.org>
41625
41626        Reviewed by Tor Arne Vestbø.
41627
41628        [Qt] Add QNetworkReplyHandler::wasAborted()
41629
41630        Instead of checking if the ResourceHandle is null everywhere,
41631        use a wasAborted() method to make the code readable.
41632
41633        * platform/network/qt/QNetworkReplyHandler.h:
41634        (WebCore::QNetworkReplyHandler::wasAborted):
41635        * platform/network/qt/QNetworkReplyHandler.cpp:
41636        (WebCore::QNetworkReplyHandler::finish):
41637        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41638        (WebCore::QNetworkReplyHandler::redirect):
41639        (WebCore::QNetworkReplyHandler::forwardData):
41640        (WebCore::QNetworkReplyHandler::uploadProgress):
41641
416422011-03-21  Christian Dywan  <christian@lanedo.com>
41643
41644        Reviewed by Martin Robinson.
41645
41646        WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf
41647        https://bugs.webkit.org/show_bug.cgi?id=56201
41648
41649        * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf
41650            if there is no image.
41651
416522011-03-21  Mario Sanchez Prada  <msanchez@igalia.com>
41653
41654        Reviewed by Martin Robinson.
41655
41656        [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes
41657        https://bugs.webkit.org/show_bug.cgi?id=56737
41658
41659        Only consider parent objects not ignoring accessibility.
41660
41661        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
41662        (webkitAccessibleHyperlinkGetStartIndex): Look for the parent
41663        object not ignoring accessibility for the current hyperlink.
41664        (webkitAccessibleHyperlinkGetEndIndex): Ditto.
41665
416662011-03-21  Andreas Kling  <kling@webkit.org>
41667
41668        Reviewed by Benjamin Poulain.
41669
41670        [Qt] Remove handling of QNetworkAccessManager::UnknownOperation
41671
41672        Now that Qt 4.7 is required we never have to fall back to UnknownOperation.
41673        Custom verb requests are using CustomOperation already, so this was dead code.
41674
41675        * platform/network/qt/QNetworkReplyHandler.cpp:
41676        (WebCore::QNetworkReplyHandler::start):
41677
416782011-03-21  Adam Roben  <aroben@apple.com>
41679
41680        Fix multiple-definition linker warnings on Windows
41681
41682        * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is
41683        already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the
41684        file.
41685
416862011-03-21  Andreas Kling  <kling@webkit.org>
41687
41688        Reviewed by Benjamin Poulain.
41689
41690        [Qt] Clean up QNetworkReplyHandler::release()
41691
41692        Since QNetworkReplyHandler no longer uses queued connections to
41693        the QNetworkReply, it's not necessary to mess with the event
41694        queue when releasing a reply.
41695
41696        * platform/network/qt/QNetworkReplyHandler.cpp:
41697        (WebCore::QNetworkReplyHandler::abort):
41698        (WebCore::QNetworkReplyHandler::release):
41699
417002011-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
41701
41702        Reviewed by Pavel Feldman.
41703
41704        Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data)
41705        https://bugs.webkit.org/show_bug.cgi?id=56691
41706
41707        Added transfer size support in inspector for compressed data.
41708
41709        Test: http/tests/inspector/network/network-size-chunked.html
41710
41711        * inspector/Inspector.idl:
41712        * inspector/InspectorInstrumentation.cpp:
41713        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
41714        * inspector/InspectorInstrumentation.h:
41715        (WebCore::InspectorInstrumentation::didReceiveContentLength):
41716        * inspector/InspectorResourceAgent.cpp:
41717        (WebCore::InspectorResourceAgent::didReceiveResponse):
41718        (WebCore::InspectorResourceAgent::didReceiveContentLength):
41719        * inspector/InspectorResourceAgent.h:
41720        * inspector/front-end/NetworkManager.js:
41721        (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
41722        * inspector/front-end/Resource.js:
41723        (WebInspector.Resource.prototype.get transferSize):
41724        (WebInspector.Resource.prototype.increaseTransferSize):
41725        * loader/ResourceLoadNotifier.cpp:
41726        (WebCore::ResourceLoadNotifier::didReceiveData):
41727        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
41728        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
41729        * loader/ResourceLoadNotifier.h:
41730        * loader/appcache/ApplicationCacheGroup.cpp:
41731        (WebCore::ApplicationCacheGroup::didReceiveData):
41732        * platform/network/mac/ResourceHandleMac.mm:
41733        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
41734        * platform/network/qt/QNetworkReplyHandler.cpp:
41735        (WebCore::QNetworkReplyHandler::forwardData):
41736        * platform/network/soup/ResourceHandleSoup.cpp:
41737        (WebCore::gotChunkCallback):
41738        * platform/network/win/ResourceHandleWin.cpp:
41739        (WebCore::ResourceHandle::onRequestComplete):
41740        (WebCore::ResourceHandle::fileLoadTimer):
41741
417422011-03-21  Leo Yang  <leo.yang@torchmobile.com.cn>
41743
41744        Reviewed by Dirk Schulze.
41745
41746        symbol display <use> at wrong scale
41747        https://bugs.webkit.org/show_bug.cgi?id=54538
41748
41749        SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement
41750        Quotation for referenced <symbol>: "If attributes 'width'
41751        and/or 'height' are provided on the 'use' element, then
41752        these attributes will be transferred to the generated 'svg'."
41753        Quotation for referenced <svg>: "If attributes 'width'
41754        and/or 'height' are provided on the 'use' element, then
41755        these values will override the corresponding attributes
41756        on the 'svg' in the generated tree."
41757        For above quotations, we should treat 'use' element as referencing
41758        'use' element, just like Firefox 3.6 and Opera 11, instead of
41759        corrensponding 'use' element.
41760
41761        Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg
41762               svg/custom/use-transfer-width-height-properties-to-svg1.svg
41763               svg/custom/use-transfer-width-height-properties-to-svg2.svg
41764               svg/custom/use-transfer-width-height-properties-to-symbol.svg
41765               svg/custom/use-transfer-width-height-properties-to-symbol1.svg
41766               svg/custom/use-transfer-width-height-properties-to-symbol2.svg
41767
41768        * svg/SVGElementInstance.cpp:
41769        (WebCore::SVGElementInstance::SVGElementInstance):
41770        * svg/SVGElementInstance.h:
41771        (WebCore::SVGElementInstance::create):
41772        (WebCore::SVGElementInstance::correspondingUseElement):
41773        (WebCore::SVGElementInstance::directUseElement):
41774        (WebCore::SVGElementInstance::clearUseElements):
41775        * svg/SVGUseElement.cpp:
41776        (WebCore::updateContainerSize):
41777        (WebCore::SVGUseElement::updateContainerSizes):
41778        (WebCore::dumpInstanceTree):
41779        (WebCore::SVGUseElement::detachInstance):
41780        (WebCore::SVGUseElement::buildInstanceTree):
41781
417822011-03-21  Jaehun Lim  <ljaehun.lim@samsung.com>
41783
41784        Reviewed by Pavel Feldman.
41785
41786        Fix build break when inspector is enabled.
41787        https://bugs.webkit.org/show_bug.cgi?id=56735
41788
41789        * loader/FrameLoader.cpp:
41790        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR).
41791
417922011-03-21  Philippe Normand  <pnormand@igalia.com>
41793
41794        Unreviewed, GTK distcheck build fix.
41795
41796        * GNUmakefile.am:
41797
417982011-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
41799
41800        Reviewed by Eric Seidel.
41801
41802        Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform
41803        ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4)
41804
41805        Test: fast/css/webkit-empty-transform-preserve3d-crash.html
41806
41807        * rendering/RenderBox.cpp:
41808        (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the
41809        rest of the code and check that the RenderBox has a layer to avoid
41810        crashing on the layer() call.
41811
418122011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41813
41814        Reviewed by Yury Semikhatsky.
41815
41816        Web Inspector: move cookie processing and appcache from DOMAgent.js
41817        https://bugs.webkit.org/show_bug.cgi?id=56713
41818
41819        * inspector/front-end/ApplicationCacheItemsView.js:
41820        (WebInspector.ApplicationCacheDispatcher):
41821        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
41822        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
41823        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
41824        * inspector/front-end/CookieItemsView.js:
41825        (WebInspector.Cookies.getCookiesAsync):
41826        (WebInspector.Cookies.buildCookiesFromString):
41827        (WebInspector.Cookies.cookieMatchesResourceURL):
41828        (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
41829        * inspector/front-end/DOMAgent.js:
41830        (WebInspector.DOMNode.prototype.eventListeners):
41831        * inspector/front-end/EventListenersSidebarPane.js:
41832        (WebInspector.EventListenersSidebarPane.prototype.update):
41833
418342011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41835
41836        Reviewed by Yury Semikhatsky.
41837
41838        Web Inspector: migrate Inspector.json to valid JSON types.
41839        https://bugs.webkit.org/show_bug.cgi?id=56651
41840
41841        This change migrates inspector from long to int as
41842        dom, storage, database and other id types.
41843
41844        * inspector/InjectedScriptHost.cpp:
41845        (WebCore::InjectedScriptHost::inspectedNode):
41846        (WebCore::InjectedScriptHost::databaseIdImpl):
41847        (WebCore::InjectedScriptHost::storageIdImpl):
41848        (WebCore::InjectedScriptHost::didCreateWorker):
41849        (WebCore::InjectedScriptHost::didDestroyWorker):
41850        * inspector/InjectedScriptHost.h:
41851        * inspector/InjectedScriptHost.idl:
41852        * inspector/Inspector.json:
41853        * inspector/InspectorAgent.cpp:
41854        (WebCore::InspectorAgent::highlightDOMNode):
41855        * inspector/InspectorAgent.h:
41856        * inspector/InspectorBrowserDebuggerAgent.cpp:
41857        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
41858        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
41859        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
41860        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
41861        * inspector/InspectorBrowserDebuggerAgent.h:
41862        * inspector/InspectorCSSAgent.cpp:
41863        (WebCore::InspectorCSSAgent::getStylesForNode):
41864        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
41865        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
41866        (WebCore::InspectorCSSAgent::setPropertyText):
41867        (WebCore::InspectorCSSAgent::toggleProperty):
41868        (WebCore::InspectorCSSAgent::addRule):
41869        (WebCore::InspectorCSSAgent::elementForId):
41870        * inspector/InspectorCSSAgent.h:
41871        * inspector/InspectorConsoleAgent.cpp:
41872        (WebCore::InspectorConsoleAgent::count):
41873        (WebCore::InspectorConsoleAgent::addInspectedNode):
41874        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
41875        * inspector/InspectorConsoleAgent.h:
41876        * inspector/InspectorDOMAgent.cpp:
41877        (WebCore::InspectorDOMAgent::bind):
41878        (WebCore::InspectorDOMAgent::unbind):
41879        (WebCore::InspectorDOMAgent::assertNode):
41880        (WebCore::InspectorDOMAgent::assertElement):
41881        (WebCore::InspectorDOMAgent::assertHTMLElement):
41882        (WebCore::InspectorDOMAgent::nodeToSelectOn):
41883        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
41884        (WebCore::InspectorDOMAgent::nodeForId):
41885        (WebCore::InspectorDOMAgent::getChildNodes):
41886        (WebCore::InspectorDOMAgent::querySelector):
41887        (WebCore::InspectorDOMAgent::querySelectorAll):
41888        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
41889        (WebCore::InspectorDOMAgent::boundNodeId):
41890        (WebCore::InspectorDOMAgent::setAttribute):
41891        (WebCore::InspectorDOMAgent::removeAttribute):
41892        (WebCore::InspectorDOMAgent::removeNode):
41893        (WebCore::InspectorDOMAgent::setNodeName):
41894        (WebCore::InspectorDOMAgent::getOuterHTML):
41895        (WebCore::InspectorDOMAgent::setOuterHTML):
41896        (WebCore::InspectorDOMAgent::setNodeValue):
41897        (WebCore::InspectorDOMAgent::getEventListenersForNode):
41898        (WebCore::InspectorDOMAgent::resolveNode):
41899        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
41900        (WebCore::InspectorDOMAgent::buildObjectForNode):
41901        (WebCore::InspectorDOMAgent::loadEventFired):
41902        (WebCore::InspectorDOMAgent::didInsertDOMNode):
41903        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
41904        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
41905        (WebCore::InspectorDOMAgent::characterDataModified):
41906        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
41907        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
41908        (WebCore::InspectorDOMAgent::copyNode):
41909        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
41910        * inspector/InspectorDOMAgent.h:
41911        * inspector/InspectorDOMStorageAgent.cpp:
41912        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
41913        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
41914        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
41915        (WebCore::InspectorDOMStorageAgent::storageId):
41916        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
41917        * inspector/InspectorDOMStorageAgent.h:
41918        * inspector/InspectorDOMStorageResource.cpp:
41919        * inspector/InspectorDOMStorageResource.h:
41920        (WebCore::InspectorDOMStorageResource::id):
41921        * inspector/InspectorDatabaseAgent.cpp:
41922        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
41923        (WebCore::InspectorDatabaseAgent::executeSQL):
41924        (WebCore::InspectorDatabaseAgent::databaseId):
41925        (WebCore::InspectorDatabaseAgent::databaseForId):
41926        * inspector/InspectorDatabaseAgent.h:
41927        * inspector/InspectorDatabaseResource.cpp:
41928        * inspector/InspectorDatabaseResource.h:
41929        (WebCore::InspectorDatabaseResource::id):
41930        * inspector/InspectorDebuggerAgent.cpp:
41931        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
41932        * inspector/InspectorDebuggerAgent.h:
41933        * inspector/InspectorProfilerAgent.cpp:
41934        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
41935        * inspector/InspectorProfilerAgent.h:
41936        * inspector/InspectorResourceAgent.cpp:
41937        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
41938        (WebCore::InspectorResourceAgent::willSendRequest):
41939        (WebCore::InspectorResourceAgent::markResourceAsCached):
41940        (WebCore::InspectorResourceAgent::didReceiveResponse):
41941        (WebCore::InspectorResourceAgent::didReceiveContentLength):
41942        (WebCore::InspectorResourceAgent::didFinishLoading):
41943        (WebCore::InspectorResourceAgent::didFailLoading):
41944        (WebCore::InspectorResourceAgent::setInitialContent):
41945        (WebCore::InspectorResourceAgent::didCreateWebSocket):
41946        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
41947        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
41948        (WebCore::InspectorResourceAgent::didCloseWebSocket):
41949        * inspector/generate-inspector-idl:
41950
419512011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41952
41953        Reviewed by Yury Semikhatsky.
41954
41955        Web Inspector: make frameId in network agent of type string, not unsigned long.
41956        https://bugs.webkit.org/show_bug.cgi?id=56708
41957
41958        * inspector/Inspector.json:
41959        * inspector/InspectorAgent.cpp:
41960        (WebCore::InspectorAgent::highlightFrame):
41961        * inspector/InspectorAgent.h:
41962        * inspector/InspectorResourceAgent.cpp:
41963        (WebCore::pointerAsId):
41964        (WebCore::buildObjectForDocumentLoader):
41965        (WebCore::buildObjectForFrame):
41966        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
41967        (WebCore::InspectorResourceAgent::frameForId):
41968        (WebCore::InspectorResourceAgent::resourceContent):
41969        * inspector/InspectorResourceAgent.h:
41970        * inspector/front-end/ResourcesPanel.js:
41971        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
41972
419732011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41974
41975        Reviewed by Yury Semikhatsky.
41976
41977        Web Inspector: expose object id as string, not JSON struct in the protocol.
41978        https://bugs.webkit.org/show_bug.cgi?id=56681
41979
41980        * bindings/js/JSInjectedScriptHostCustom.cpp:
41981        (WebCore::JSInjectedScriptHost::inspect):
41982        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
41983        (WebCore::V8InjectedScriptHost::inspectCallback):
41984        * inspector/InjectedScript.cpp:
41985        (WebCore::InjectedScript::evaluateOn):
41986        (WebCore::InjectedScript::evaluateOnCallFrame):
41987        (WebCore::InjectedScript::getProperties):
41988        (WebCore::InjectedScript::nodeForObjectId):
41989        (WebCore::InjectedScript::setPropertyValue):
41990        (WebCore::InjectedScript::releaseObject):
41991        * inspector/InjectedScript.h:
41992        * inspector/InjectedScriptHost.cpp:
41993        (WebCore::InjectedScriptHost::inspectImpl):
41994        * inspector/InjectedScriptHost.h:
41995        * inspector/InjectedScriptManager.cpp:
41996        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
41997        (WebCore::InjectedScriptManager::releaseObjectGroup):
41998        * inspector/InjectedScriptManager.h:
41999        * inspector/InjectedScriptSource.js:
42000        * inspector/Inspector.json:
42001        * inspector/InspectorConsoleAgent.cpp:
42002        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
42003        * inspector/InspectorDOMAgent.cpp:
42004        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
42005        * inspector/InspectorDOMAgent.h:
42006        * inspector/InspectorDebuggerAgent.cpp:
42007        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
42008        * inspector/InspectorDebuggerAgent.h:
42009        * inspector/InspectorRuntimeAgent.cpp:
42010        (WebCore::InspectorRuntimeAgent::evaluateOn):
42011        (WebCore::InspectorRuntimeAgent::getProperties):
42012        (WebCore::InspectorRuntimeAgent::setPropertyValue):
42013        (WebCore::InspectorRuntimeAgent::releaseObject):
42014        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
42015        * inspector/InspectorRuntimeAgent.h:
42016        * inspector/front-end/ConsoleView.js:
42017        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
42018        (WebInspector.ConsoleView.prototype.completions):
42019        * inspector/front-end/PropertiesSidebarPane.js:
42020        * inspector/front-end/ScriptsPanel.js:
42021        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
42022        * inspector/front-end/WatchExpressionsSidebarPane.js:
42023        (WebInspector.WatchExpressionsSection.prototype.update):
42024        * inspector/front-end/inspector.js:
42025        (WebInspector.inspect):
42026
420272011-03-20  Bill Budge  <bbudge@chromium.org>
42028
42029        Reviewed by Adam Barth.
42030
42031        Rename ThreadSafeShared to ThreadSafeRefCounted
42032        https://bugs.webkit.org/show_bug.cgi?id=56714
42033
42034        No new tests. Exposes no new functionality.
42035
42036        * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
42037        * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
42038        * bindings/v8/SerializedScriptValue.h:
42039        * dom/Document.cpp:
42040        * dom/default/PlatformMessagePortChannel.h:
42041        * fileapi/FileThread.h:
42042        * loader/ThreadableLoaderClientWrapper.h:
42043        (WebCore::ThreadableLoaderClientWrapper::create):
42044        (WebCore::ThreadableLoaderClientWrapper::clearClient):
42045        (WebCore::ThreadableLoaderClientWrapper::done):
42046        (WebCore::ThreadableLoaderClientWrapper::didSendData):
42047        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
42048        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
42049        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
42050        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
42051        (WebCore::ThreadableLoaderClientWrapper::didFail):
42052        (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
42053        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
42054        (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
42055        * page/SecurityOrigin.h:
42056        * platform/CrossThreadCopier.h:
42057        * platform/network/BlobData.h:
42058        * platform/network/cf/SocketStreamHandle.h:
42059        * storage/AbstractDatabase.h:
42060        * storage/DatabaseAuthorizer.h:
42061        * storage/DatabaseCallback.h:
42062        * storage/DatabaseThread.h:
42063        * storage/IDBCallbacks.h:
42064        * storage/IDBCursorBackendInterface.h:
42065        * storage/IDBDatabaseBackendInterface.h:
42066        * storage/IDBFactoryBackendInterface.h:
42067        * storage/IDBIndexBackendInterface.h:
42068        * storage/IDBKey.h:
42069        * storage/IDBKeyRange.h:
42070        * storage/IDBObjectStoreBackendInterface.h:
42071        * storage/IDBRequest.h:
42072        * storage/IDBTransactionBackendInterface.h:
42073        * storage/SQLError.h:
42074        * storage/SQLResultSet.h:
42075        * storage/SQLStatement.h:
42076        * storage/SQLStatementCallback.h:
42077        * storage/SQLStatementErrorCallback.h:
42078        * storage/SQLTransaction.h:
42079        * storage/SQLTransactionCallback.h:
42080        * storage/SQLTransactionErrorCallback.h:
42081        * websockets/ThreadableWebSocketChannelClientWrapper.h:
42082        * workers/DefaultSharedWorkerRepository.cpp:
42083
420842011-03-20  Andreas Kling  <kling@webkit.org>
42085
42086        Reviewed by Kenneth Rohde Christiansen.
42087
42088        [Qt] Clean up redirection logic in QNetworkReplyHandler
42089        https://bugs.webkit.org/show_bug.cgi?id=56717
42090
42091        * platform/network/qt/QNetworkReplyHandler.cpp:
42092        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
42093        Use resetState() when constructing QNRH as well.
42094
42095        (WebCore::QNetworkReplyHandler::resetState):
42096        Delete (deferred) the m_reply if one exists (only when redirecting.)
42097
42098        (WebCore::QNetworkReplyHandler::finish):
42099        Return early when redirecting.
42100
42101        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
42102        (WebCore::QNetworkReplyHandler::redirect):
42103        Move the redirection logic from sendResponseIfNeeded() into a
42104        separate redirect() method.
42105
421062011-03-19  Andreas Kling  <kling@webkit.org>
42107
42108        Reviewed by Benjamin Poulain.
42109
42110        [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError()
42111
42112        The function doesn't ignore anything, thus it shouldn't have an imperative name.
42113
42114        * platform/network/qt/QNetworkReplyHandler.cpp:
42115        (WebCore::shouldIgnoreHttpError):
42116        (WebCore::QNetworkReplyHandler::finish):
42117        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
42118
421192011-03-19  Andreas Kling  <kling@webkit.org>
42120
42121        Reviewed by Benjamin Poulain.
42122
42123        [Qt] Kill layer violation FIXME in ResourceHandleQt.
42124
42125        We were including qwebframe_p.h from WebKit/qt for no reason.
42126
42127        * platform/network/qt/ResourceHandleQt.cpp:
42128
421292011-03-19  Andreas Kling  <kling@webkit.org>
42130
42131        Reviewed by Benjamin Poulain.
42132
42133        [Qt] Refactor handling of deferred loads
42134        https://bugs.webkit.org/show_bug.cgi?id=56715
42135
42136        Split QNetworkReplyHandler's "load mode" into two parameters
42137        instead of trying to fit the deferral mechanism into it.
42138
42139        Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.)
42140
42141        * platform/network/qt/QNetworkReplyHandler.cpp:
42142        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
42143        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
42144        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
42145        (WebCore::QNetworkReplyHandler::finish):
42146        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
42147        (WebCore::QNetworkReplyHandler::forwardData):
42148        (WebCore::QNetworkReplyHandler::start):
42149        (WebCore::QNetworkReplyHandler::resetState):
42150        * platform/network/qt/QNetworkReplyHandler.h:
42151        * platform/network/qt/ResourceHandleQt.cpp:
42152        (WebCore::ResourceHandle::start):
42153        (WebCore::ResourceHandle::loadResourceSynchronously):
42154        (WebCore::ResourceHandle::platformSetDefersLoading):
42155
421562011-03-19  Anton D'Auria  <adauria@apple.com>
42157
42158        Reviewed by Alexey Proskuryakov.
42159
42160        ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
42161        https://bugs.webkit.org/show_bug.cgi?id=56415
42162
42163        To delete all Application Cache for an origin, we must obsolete all
42164        in-memory cache groups for that origin. If a cache group isn't in memory,
42165        then it must be deleted from disk. The previous implementation correctly
42166        removed on-disk cache groups, but did not mark in-memory cache groups as obsolete.
42167        This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed()
42168        when the DocumentLoader was destroyed.
42169
42170        Test: http/tests/appcache/origin-delete.html
42171
42172        * WebCore.exp.in:
42173        * WebCore.xcodeproj/project.pbxproj:
42174        * loader/appcache/ApplicationCache.cpp:
42175        (WebCore::ApplicationCache::clearStorageID):
42176        (WebCore::ApplicationCache::deleteCacheForOrigin):
42177        * loader/appcache/ApplicationCache.h:
42178        * loader/appcache/ApplicationCacheStorage.cpp:
42179        (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup):
42180        * loader/appcache/ApplicationCacheStorage.h:
42181
421822011-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
42183
42184        Reviewed by Antonio Gomes.
42185
42186        [EFL] Add dummy GeolocationServiceEfl. cpp | h
42187        https://bugs.webkit.org/show_bug.cgi?id=56710
42188
42189        Add dummy GeolocationServiceEfl.cpp | h to platform/efl.
42190
42191        * CMakeListsEfl.txt:
42192        * platform/efl/GeolocationServiceEfl.cpp: Added.
42193        (WebCore::GeolocationServiceEfl::create):
42194        (WebCore::GeolocationServiceEfl::GeolocationServiceEfl):
42195        (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl):
42196        (WebCore::GeolocationServiceEfl::startUpdating):
42197        (WebCore::GeolocationServiceEfl::stopUpdating):
42198        (WebCore::GeolocationServiceEfl::suspend):
42199        (WebCore::GeolocationServiceEfl::resume):
42200        (WebCore::GeolocationServiceEfl::lastPosition):
42201        (WebCore::GeolocationServiceEfl::lastError):
42202        * platform/efl/GeolocationServiceEfl.h: Added.
42203
422042011-03-19  Patrick Gansterer  <paroga@webkit.org>
42205
42206        Unreviewed, rolling out r81551.
42207        http://trac.webkit.org/changeset/81551
42208        https://bugs.webkit.org/show_bug.cgi?id=55336
42209
42210        Broke some storage tests on Win32.
42211
42212        * platform/win/FileSystemWin.cpp:
42213        (WebCore::statFile):
42214        (WebCore::getFileSize):
42215        (WebCore::getFileModificationTime):
42216        (WebCore::fileExists):
42217
422182011-03-19  Andreas Kling  <kling@webkit.org>
42219
42220        Reviewed by Benjamin Poulain.
42221
42222        [Qt] Remove support for Qt 4.6
42223        https://bugs.webkit.org/show_bug.cgi?id=56712
42224
42225        * platform/graphics/qt/FontPlatformDataQt.cpp:
42226        (WebCore::FontPlatformData::FontPlatformData):
42227        * platform/graphics/qt/FontQt.cpp:
42228        (WebCore::drawTextCommon):
42229        (WebCore::Font::drawSimpleText):
42230        (WebCore::Font::floatWidthForSimpleText):
42231        (WebCore::Font::offsetForPositionForSimpleText):
42232        (WebCore::Font::selectionRectForSimpleText):
42233        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42234        (WebCore::GraphicsContext3DInternal::paint):
42235        * platform/graphics/qt/ImageBufferQt.cpp:
42236        (WebCore::getImageData):
42237        * platform/graphics/qt/ImageDecoderQt.cpp:
42238        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
42239        * platform/graphics/qt/PathQt.cpp:
42240        (WebCore::Path::transform):
42241        * platform/network/qt/DnsPrefetchHelper.h:
42242        (WebCore::DnsPrefetchHelper::DnsPrefetchHelper):
42243        (WebCore::DnsPrefetchHelper::lookup):
42244        * platform/network/qt/NetworkStateNotifierPrivate.h:
42245        * platform/network/qt/NetworkStateNotifierQt.cpp:
42246        * platform/network/qt/QNetworkReplyHandler.cpp:
42247        (WebCore::QNetworkReplyHandler::httpMethod):
42248        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
42249        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
42250        (WebCore::QNetworkReplyHandler::start):
42251        * platform/network/qt/ResourceRequestQt.cpp:
42252        (WebCore::ResourceRequest::toNetworkRequest):
42253        * platform/qt/RenderThemeQt.cpp:
42254        (WebCore::RenderThemeQt::paintMediaSliderTrack):
42255
422562011-03-19  Patrick Gansterer  <paroga@webkit.org>
42257
42258        Reviewed by Adam Roben.
42259
42260        Use Win32 API to get file information
42261        https://bugs.webkit.org/show_bug.cgi?id=55336
42262
42263        Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx()
42264        and GetFileAttributesEx() so we can share the code with WinCE.
42265
42266        * platform/win/FileSystemWin.cpp:
42267        (WebCore::createFileHandle):
42268        (WebCore::getFileInformation):
42269        (WebCore::getFileSize):
42270        (WebCore::getFileModificationTime):
42271        (WebCore::fileExists):
42272
422732011-03-19  Xan Lopez  <xlopez@igalia.com>
42274
42275        Reviewed by Martin Robinson.
42276
42277        [GTK] Simplify GObjectEventListener
42278        https://bugs.webkit.org/show_bug.cgi?id=56698
42279
42280        Get rid of special case for DOMWindow, since it's also an
42281        EventTarget.
42282
42283        * bindings/gobject/GObjectEventListener.cpp:
42284        (WebCore::GObjectEventListener::GObjectEventListener): remove
42285        DOMWindow special casing.
42286        (WebCore::GObjectEventListener::~GObjectEventListener): ditto.
42287        (WebCore::GObjectEventListener::gobjectDestroyed):
42288        * bindings/gobject/GObjectEventListener.h:
42289        (WebCore::GObjectEventListener::addEventListener): ditto.
42290        (WebCore::GObjectEventListener::removeEventListener): ditto.
42291
422922011-03-19  Ben Taylor  <bentaylor.solx86@gmail.com>
42293
42294        Reviewed by Nikolas Zimmermann.
42295
42296        https://bugs.webkit.org/show_bug.cgi?id=56195
42297        Fix conditional which had an int for one case and a pointer for another.
42298        Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198
42299
42300        No new tests. Fix compilation on Solaris 10 with Sun Studio C++
42301
42302        * svg/SVGElement.cpp:
42303        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
42304
423052011-03-19  Patrick Gansterer  <paroga@webkit.org>
42306
42307        Reviewed by Darin Adler.
42308
42309        Rename WTF::StringHasher methods
42310        https://bugs.webkit.org/show_bug.cgi?id=53532
42311
42312        Rename createHash to computeHash and createBlobHash to hashMemory.
42313        Also add a using WTF::StringHasher in the header file.
42314
42315        * dom/Document.cpp:
42316        (WebCore::FormElementKeyHash::hash):
42317        * dom/QualifiedName.h:
42318        (WebCore::hashComponents):
42319        * dom/StyledElement.cpp:
42320        (WebCore::MappedAttributeHash::hash):
42321        * loader/appcache/ApplicationCacheStorage.cpp:
42322        (WebCore::urlHostHash):
42323        * page/SecurityOriginHash.h:
42324        (WebCore::SecurityOriginHash::hash):
42325        * platform/LinkHash.cpp:
42326        (WebCore::visitedLinkHashInline):
42327        * platform/cf/BinaryPropertyList.cpp:
42328        (WebCore::IntegerArrayHash::hash):
42329        * platform/cf/SchedulePair.h:
42330        (WebCore::SchedulePairHash::hash):
42331        * platform/graphics/FontCache.cpp:
42332        (WebCore::computeHash):
42333        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
42334        (WebCore::FontPlatformData::RefCountedHFONT::hash):
42335        * platform/graphics/cocoa/FontPlatformData.h:
42336        (WebCore::FontPlatformData::hash):
42337        * platform/graphics/pango/FontPlatformData.h:
42338        (WebCore::FontPlatformData::hash):
42339        * platform/graphics/wince/FontPlatformData.cpp:
42340        (WebCore::FixedSizeFontDataKeyHash::hash):
42341        * platform/graphics/wx/FontPlatformDataWx.cpp:
42342        (WebCore::FontPlatformData::computeHash):
42343        * platform/network/ProtectionSpaceHash.h:
42344        (WebCore::ProtectionSpaceHash::hash):
42345        * plugins/PluginPackage.cpp:
42346        (WebCore::PluginPackage::hash):
42347        * plugins/win/PluginPackageWin.cpp:
42348        (WebCore::PluginPackage::hash):
42349        * svg/properties/SVGAnimatedPropertyDescription.h:
42350        (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
42351
423522011-03-18  David Kilzer  <ddkilzer@apple.com>
42353
42354        <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m
42355
42356        Reviewed by Anders Carlsson.
42357
42358        Fixes the following static analyzer warning:
42359
42360            Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]'
42361                 return self;
42362                 ^
42363
42364        * page/mac/WebCoreViewFactory.m:
42365        (-[WebCoreViewFactory init]): Assign the result of [super init]
42366        to self.
42367
423682011-03-18  Adam Barth  <abarth@webkit.org>
42369
42370        Reviewed by Dimitri Glazkov.
42371
42372        WebCore GYP build should build
42373        https://bugs.webkit.org/show_bug.cgi?id=56696
42374
42375        After this patch, the WebCore GYP build successfully compiles and
42376        links.  I haven't trying executing it yet.
42377
42378        * WebCore.gypi:
42379            - DOMMouseEvent should be included as part of the Objective-C bindings.
42380        * WebCore.xcodeproj/project.pbxproj:
42381            - RenderSVGPath.cpp was mistakenly included directly in the project
42382              instead of being built by RenderSVGAllInOne.
42383        * gyp/WebCore.gyp:
42384            - Exclude some more files from the build.  These files are absent
42385              in the normal build.  I didn't see them earlier because the dead
42386              code stripping was hiding them.  (They're probably unreferenced.)
42387            - Switch to using RenderSVGAllInOne.  I'm not entirely sure if this
42388              part of the patch is necessary, but it matches the normal build
42389              more closely.
42390        * platform/mac/WebCoreObjCExtras.mm:
42391            - The normal build passes the -Wdeprecated-declarations flag when
42392              compiling this file.  The GYP folks explicitly do not want to add
42393              that feature to GYP, and there does not appear to be a way to
42394              remove the deprecated call from this file.
42395        * rendering/svg/RenderSVGAllInOne.cpp:
42396            - Add RenderSVGPath.cpp, which was missing previously.
42397
423982011-03-18  Adam Barth  <abarth@webkit.org>
42399
42400        Reviewed by Dimitri Glazkov.
42401
42402        WebCore GYP build should (almost!) link
42403        https://bugs.webkit.org/show_bug.cgi?id=56689
42404
42405        This patch is a grab-bag of small changes to bring the WebCore GYP
42406        build down to two link errors or one compile error (take your pick).
42407        We might need a GYP change to get this last file to compile, however.
42408
42409        * WebCore.gypi:
42410        * gyp/WebCore.gyp:
42411
424122011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
42413
42414        Reviewed by Ojan Vafai.
42415
42416        Add a test for r81266 and fix HTML Editing for fallback contents in object element
42417        https://bugs.webkit.org/show_bug.cgi?id=56505
42418
42419        The bug was caused by canHaveChildrenForEditing's always returning false even when
42420        object element used fallback content. Fixed the bug by adding a check.
42421
42422        Test: editing/editability/ignored-content.html
42423
42424        * editing/htmlediting.cpp:
42425        (WebCore::canHaveChildrenForEditing):
42426
424272011-03-18  Andy Estes  <aestes@apple.com>
42428
42429        Reviewed by Eric Seidel.
42430
42431        REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag
42432        https://bugs.webkit.org/show_bug.cgi?id=56380
42433
42434        Fix two issues with parsing a fragment that has a foreign content
42435        element as its context element. The first issue is that the parser will
42436        initially be in the InForeignContentMode insertion mode when processing
42437        the first tag in the fragment in this case so one call site needs to
42438        change from currentElement() to currentNode(). The second issue is that
42439        when we changed fragments from using a fake HTML root element to a
42440        DocumentFragment we broke checks that assumed the root element was in
42441        the HTML namespace. Fix this by claiming that the DocumentFragment is
42442        also in the HTML namespace.
42443
42444        Test: fast/parser/fragment-foreign-content-context.html
42445
42446        * html/parser/HTMLElementStack.cpp:
42447        (WebCore::HTMLNames::isForeignContentScopeMarker):
42448        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
42449        * html/parser/HTMLElementStack.h:
42450        (WebCore::isInHTMLNamespace):
42451        * html/parser/HTMLTreeBuilder.cpp:
42452        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
42453        (WebCore::HTMLTreeBuilder::processStartTag):
42454        (WebCore::HTMLTreeBuilder::processEndTag):
42455
424562011-03-18  James Robinson  <jamesr@chromium.org>
42457
42458        Reviewed by Dimitri Glazkov.
42459
42460        REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows
42461        https://bugs.webkit.org/show_bug.cgi?id=56629
42462
42463        Preserves offsets as absolute floating point offsets and rounds to
42464        advances at the last possible second.  I can't prove to myself that
42465        this is sound but it seems to work on the test cases I've constructed.
42466
42467        Will probably change the pixel tests on chromium windows given that we
42468        were horribly broken before this patch.
42469
42470        * platform/graphics/chromium/FontChromiumWin.cpp:
42471        (WebCore::Font::drawGlyphs):
42472        (WebCore::Font::drawComplexText):
42473
424742011-03-18  Ryosuke Niwa  <rniwa@webkit.org>
42475
42476        Reviewed by Eric Seidel.
42477
42478        REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms
42479        https://bugs.webkit.org/show_bug.cgi?id=56599
42480
42481        Debug build fix.
42482
42483        * dom/Position.cpp:
42484        (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node,
42485        then we can't necessarily instantiate a position inside the node.
42486        * editing/VisibleSelection.cpp:
42487        (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e
42488        could be null. Exit early in those cases as well.
42489
424902011-03-18  Adam Barth  <abarth@webkit.org>
42491
42492        Reviewed by Eric Seidel.
42493
42494        Add ObjC bindings to the WebCore GYP build
42495        https://bugs.webkit.org/show_bug.cgi?id=56671
42496
42497        It turns out we generate a bunch of ObjC bindings files that we don't
42498        actually build.  I've manually synced the list of ObjC derived source
42499        files to match the existing list.  This brings us down to 19 link
42500        errors.
42501
42502        * WebCore.gypi:
42503        * gyp/WebCore.gyp:
42504
425052011-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
42506
42507        Reviewed by Eric Seidel.
42508
42509        [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt
42510        https://bugs.webkit.org/show_bug.cgi?id=56624
42511
42512        No new tests, just splitting jsc related configuration.
42513
42514        * CMakeLists.txt:
42515        * UseJSC.cmake: Added.
42516
425172011-03-16  Stephen White  <senorblanco@chromium.org>
42518
42519        Reviewed by Kenneth Russell.
42520
42521        Implement GPU-accelerated shadows.
42522        https://bugs.webkit.org/show_bug.cgi?id=56476
42523
42524        For hard shadows, we simply offset the CTM and draw in the shadow
42525        color.  For soft shadows, we use a separable Gaussian convolution,
42526        with a bilinear downsample and Mitchell-Netravali upsample in order to
42527        preserve quality.
42528
42529        * WebCore.gypi:
42530        Add BicubicShader and ConvolutionShader to the build.
42531        * platform/graphics/chromium/GLES2Canvas.cpp:
42532        (WebCore::GLES2Canvas::State::State):
42533        Add shadow-related members to the GLES2Canvas::State
42534        (WebCore::GLES2Canvas::State::shadowActive):
42535        Add a helper function to know if shadows are active.
42536        (WebCore::GLES2Canvas::clearRect):
42537        (WebCore::GLES2Canvas::scissorClear):
42538        Refactor the scissor clearing function out of clearRect().
42539        (WebCore::GLES2Canvas::fillPath):
42540        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
42541        (WebCore::GLES2Canvas::fillRect):
42542        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
42543        (WebCore::GLES2Canvas::fillRectInternal):
42544        Rename fillRect() -> fillRectInternal(), which does bind its vertex
42545        buffer, but does not bind the framebuffer.
42546        (WebCore::GLES2Canvas::setShadowColor):
42547        (WebCore::GLES2Canvas::setShadowOffset):
42548        (WebCore::GLES2Canvas::setShadowBlur):
42549        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
42550        Implement graphicsContext-style setters for shadow parameters.
42551        (WebCore::GLES2Canvas::clipPath):
42552        Call fillPathInternal(), not fillPath().
42553        (WebCore::GLES2Canvas::restore):
42554        (WebCore::GLES2Canvas::drawTexturedRect):
42555        Bind the framebuffer at this level.  Do not bind vertices here (will
42556        be done in drawTexturedQuad).
42557        (WebCore::GLES2Canvas::drawTexturedRectTile):
42558        drawQuad() -> drawTexturedQuad().
42559        (WebCore::GLES2Canvas::convolveRect):
42560        Implement one pass of a convolution filter (X or Y).
42561        (WebCore::gauss):
42562        (WebCore::buildKernel):
42563        Some helper functions to build a Gaussian convolution kernel.
42564        (WebCore::GLES2Canvas::drawTexturedQuad):
42565        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
42566        bind the framebuffer at this level (it will be done higher).
42567        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
42568        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
42569        (WebCore::GLES2Canvas::fillPathInternal):
42570        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
42571        but does not bind the framebuffer or set the compositing mode.
42572        (WebCore::GLES2Canvas::flipRect):
42573        Implement a helper function to flip a rectangle in Y within the canvas.
42574        (WebCore::GLES2Canvas::clearBorders):
42575        Implement a helper function to clear an n-pixel border around a rect.
42576        (WebCore::GLES2Canvas::beginShadowDraw):
42577        Setup before drawing a primitive's shadow:  for hard shadows, just
42578        offset the CTM by the shadow offset.  For soft shadows, bind to an
42579        offscreen DrawingBuffer.
42580        (WebCore::GLES2Canvas::endShadowDraw):
42581        Tear-down after drawing a primitive's shadow:  for hard shadows, just
42582        restore the CTM.  For soft shadows, downsample (if necessary), then
42583        blur in X, blur in Y, upsample if necessary).
42584        * platform/graphics/chromium/GLES2Canvas.h:
42585        * platform/graphics/gpu/BicubicShader.cpp: Added.
42586        (WebCore::BicubicShader::BicubicShader):
42587        (WebCore::BicubicShader::create):
42588        (WebCore::BicubicShader::use):
42589        * platform/graphics/gpu/BicubicShader.h: Added.
42590        Implement a bicubic image filtering shader.
42591        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
42592        (WebCore::ConvolutionShader::ConvolutionShader):
42593        (WebCore::ConvolutionShader::create):
42594        (WebCore::ConvolutionShader::use):
42595        * platform/graphics/gpu/ConvolutionShader.h: Added.
42596        Implement a 1-dimensional convolution shader.  In order to minimize
42597        texture samples, this shader is parameterized at compile time by the
42598        width of the convolution kernel.
42599        * platform/graphics/gpu/DrawingBuffer.h:
42600        (WebCore::DrawingBuffer::colorBuffer):
42601        Add an accessor to retrieve a DrawingBuffer's texture ID.
42602        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42603        (WebCore::SharedGraphicsContext3D::create):
42604        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
42605        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
42606        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
42607        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
42608        each possible kernel width).
42609        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
42610        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
42611        This is done to minimize the VRAM usage:  only 2 buffers are used for
42612        all canvases.
42613        * platform/graphics/gpu/SharedGraphicsContext3D.h:
42614        Add bicubic and convolution shader members, and useXXX() functions.
42615        * platform/graphics/skia/GraphicsContextSkia.cpp:
42616        (WebCore::GraphicsContext::setPlatformShadow):
42617        Hook into GraphicsContextSkia's platform shadow setters to set
42618        parameters on GLES2Canvas.
42619        * platform/graphics/skia/PlatformContextSkia.cpp:
42620        (WebCore::PlatformContextSkia::canAccelerate):
42621        Remove shadows (loopers) from the list of things we can't accelerate.
42622
426232011-03-18  Andreas Kling  <kling@webkit.org>
42624
42625        Reviewed by Darin Adler.
42626
42627        Remove unused method FontFallbackList::fontDataForCharacters()
42628        https://bugs.webkit.org/show_bug.cgi?id=56657
42629
42630        * platform/graphics/Font.h:
42631        * platform/graphics/FontFallbackList.cpp:
42632        * platform/graphics/FontFallbackList.h:
42633
426342011-03-18  Andreas Kling  <kling@webkit.org>
42635
42636        Reverting accidental changes in r81498.
42637
426382011-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
42639
42640        Reviewed by Yury Semikhatsky.
42641
42642        Web Inspector: rename console agent events.
42643        https://bugs.webkit.org/show_bug.cgi?id=56646
42644
42645        addConsoleMessage -> consoleMessage
42646        updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate
42647        updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate
42648
42649        * inspector/ConsoleMessage.cpp:
42650        (WebCore::ConsoleMessage::addToFrontend):
42651        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
42652        * inspector/Inspector.json:
42653        * inspector/InspectorConsoleAgent.cpp:
42654        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
42655        * inspector/front-end/ConsoleView.js:
42656        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage):
42657        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate):
42658        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate):
42659
426602011-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
42661
42662        Unreviewed, rolling out r81487.
42663        http://trac.webkit.org/changeset/81487
42664        https://bugs.webkit.org/show_bug.cgi?id=56662
42665
42666        "Breaks inspector/styles/styles-add-blank-property.html"
42667        (Requested by apavlov on #webkit).
42668
42669        * inspector/Inspector.json:
42670        * inspector/InspectorCSSAgent.cpp:
42671        (WebCore::InspectorCSSAgent::getAllStyles):
42672        * inspector/InspectorCSSAgent.h:
42673        * inspector/InspectorStyleSheet.cpp:
42674        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
42675        * inspector/InspectorStyleSheet.h:
42676        * inspector/front-end/AuditRules.js:
42677        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
42678        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
42679        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
42680        * inspector/front-end/CSSStyleModel.js:
42681        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
42682        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
42683        (WebInspector.CSSStyleModel.prototype._onRevert):
42684        (WebInspector.CSSStyleSheet):
42685        (WebInspector.CSSStyleSheet.prototype.setText):
42686
426872011-03-18  Justin Novosad  <junov@chromium.org>
42688
42689        Reviewed by Kenneth Russell.
42690
42691        [Chromium] Canvas shadow is not working with drawImage
42692        https://bugs.webkit.org/show_bug.cgi?id=55506
42693
42694        Patch also fixes shadow blur quality and color.
42695        Affects Chromium win/linux. Also fixes the following bugs:
42696        https://bugs.webkit.org/show_bug.cgi?id=50112
42697        https://bugs.webkit.org/show_bug.cgi?id=51989
42698        https://bugs.webkit.org/show_bug.cgi?id=55410
42699        No tests were added, impact is already covered by multiple layout tests.
42700
42701        * platform/graphics/skia/GraphicsContextSkia.cpp:
42702        (WebCore::GraphicsContext::setPlatformShadow):
42703        * platform/graphics/skia/ImageSkia.cpp:
42704        (WebCore::paintSkBitmap):
42705
427062011-03-15  Alexander Pavlov  <apavlov@chromium.org>
42707
42708        Reviewed by Pavel Feldman.
42709
42710        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
42711        https://bugs.webkit.org/show_bug.cgi?id=56310
42712
42713        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
42714        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
42715        by CSSAgent.getStyleSheet() anymore.
42716
42717        Test: inspector/styles/get-set-stylesheet-text.html
42718
42719        * inspector/Inspector.json:
42720        * inspector/InspectorCSSAgent.cpp:
42721        (WebCore::InspectorCSSAgent::getAllStyleSheets):
42722        * inspector/InspectorCSSAgent.h:
42723        * inspector/InspectorStyleSheet.cpp:
42724        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
42725        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
42726        * inspector/InspectorStyleSheet.h:
42727        * inspector/front-end/AuditRules.js:
42728        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
42729        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
42730        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
42731        * inspector/front-end/CSSStyleModel.js:
42732        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
42733        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
42734        (WebInspector.CSSStyleModel.prototype._onRevert):
42735        (WebInspector.CSSStyleSheet):
42736        (WebInspector.CSSStyleSheet.prototype.setText):
42737
427382011-03-18  David Keijser  <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com>
42739
42740        Reviewed by Martin Robinson.
42741
42742        [GTK] On-demand event-listeners for DOM event signals
42743        https://bugs.webkit.org/show_bug.cgi?id=49649
42744
42745        Add explicit EventTarget API to add/remove event listeners instead
42746        of using GSignal, which due to internal limitations in glib makes
42747        us preemptively add listeners for all event types.
42748
42749        * bindings/gobject/GObjectEventListener.cpp: add new
42750        addEventListener/removeEventListener methods, and small
42751        refactoring to store an EventTarget internally instead of a DOM
42752        node, which is more generic and can be reused in more cases.
42753        * bindings/gobject/GObjectEventListener.h: ditto.
42754        * bindings/gobject/WebKitDOMEventTarget.cpp:
42755        (webkit_dom_event_target_add_event_listener): new iface method to
42756        add an event listener.
42757        (webkit_dom_event_target_remove_event_listener): new iface method
42758        to remove an event listener.
42759        * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods.
42760        * bindings/scripts/CodeGeneratorGObject.pm: change code generation
42761        accordingly.
42762
427632011-03-18  Brady Eidson  <beidson@apple.com>
42764
42765        Reviewed by Sam Weinig.
42766
42767        https://bugs.webkit.org/show_bug.cgi?id=56425
42768        More groundwork for WebKit2 IconDatabase
42769
42770        -Update the synchronous method names to be prefixed with "synchronous."
42771        -Call asynchronous versions of the appropriate methods if the IconDatabase supports them.
42772
42773        Update icon database calls to be prefixed with "synchronous":
42774        * loader/archive/cf/LegacyWebArchive.cpp:
42775        (WebCore::LegacyWebArchive::create):
42776        * loader/icon/IconDatabaseBase.h:
42777        (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL):
42778        (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL):
42779        (WebCore::IconDatabaseBase::synchronousIconForPageURL):
42780        * loader/icon/IconDatabase.cpp:
42781        (WebCore::IconDatabase::synchronousIconForPageURL):
42782        (WebCore::IconDatabase::readIconForPageURLFromDisk):
42783        (WebCore::IconDatabase::synchronousIconURLForPageURL):
42784        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
42785        (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
42786        * loader/icon/IconDatabase.h:
42787        * loader/icon/IconDatabaseBase.cpp:
42788        (WebCore::IconDatabaseBase::synchronousIconURLForPageURL):
42789
42790        Add nascent support for an asynchronous icon database mode:
42791        * loader/icon/IconDatabaseBase.h:
42792        (WebCore::EnumCallback::create):
42793        (WebCore::EnumCallback::~EnumCallback):
42794        (WebCore::EnumCallback::performCallback):
42795        (WebCore::EnumCallback::invalidate):
42796        (WebCore::EnumCallback::EnumCallback):
42797        (WebCore::ObjectCallback::create):
42798        (WebCore::ObjectCallback::~ObjectCallback):
42799        (WebCore::ObjectCallback::performCallback):
42800        (WebCore::ObjectCallback::invalidate):
42801        (WebCore::ObjectCallback::ObjectCallback):
42802        (WebCore::IconDatabaseBase::supportsAsynchronousMode):
42803        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
42804        (WebCore::IconDatabaseBase::iconDataForIconURL):
42805
42806        Add interfaces to use the asynchronous versions of certain IconDatabase calls:
42807        * loader/DocumentLoader.cpp:
42808        (WebCore::DocumentLoader::~DocumentLoader):
42809        (WebCore::DocumentLoader::iconLoadDecisionAvailable):
42810        (WebCore::iconLoadDecisionCallback):
42811        (WebCore::DocumentLoader::getIconLoadDecisionForIconURL):
42812        (WebCore::DocumentLoader::continueIconLoadWithDecision):
42813        (WebCore::iconDataCallback):
42814        (WebCore::DocumentLoader::getIconDataForIconURL):
42815        * loader/DocumentLoader.h:
42816
42817        Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous
42818        icon database modes:
42819        * loader/FrameLoader.cpp:
42820        (WebCore::FrameLoader::iconLoadDecisionReceived):
42821        (WebCore::FrameLoader::startIconLoader):
42822        (WebCore::FrameLoader::continueIconLoadWithDecision):
42823        * loader/FrameLoader.h:
42824
42825        * WebCore.exp.in:
42826
428272011-03-18  Pavel Feldman  <pfeldman@chromium.org>
42828
42829        Not reviewed: add missing brace to the generated Inspector.idl.
42830
42831        * inspector/generate-inspector-idl:
42832
428332011-03-18  Pavel Feldman  <pfeldman@chromium.org>
42834
42835        Reviewed by Yury Semikhatsky.
42836
42837        Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug.
42838        https://bugs.webkit.org/show_bug.cgi?id=56294
42839
42840        * CMakeLists.txt:
42841        * CodeGenerators.pri:
42842        * DerivedSources.make:
42843        * GNUmakefile.am:
42844        * WebCore.gyp/WebCore.gyp:
42845        * inspector/Inspector.idl: Removed.
42846        * inspector/Inspector.json: Added.
42847        * inspector/generate-inspector-idl: Added.
42848
428492011-03-18  Pavel Podivilov  <podivilov@chromium.org>
42850
42851        Reviewed by Yury Semikhatsky.
42852
42853        Web Inspector: implement inspector session storage.
42854        https://bugs.webkit.org/show_bug.cgi?id=56643
42855
42856        We would like to enable debugger/profiler from frontend side only.
42857        However, when user clicks "Start Debugging JavaScript" in Safari, we
42858        need to enable debugger when frontend is opened or re-opened for the
42859        same page. The idea is to store debugger-enabled setting in session
42860        storage and check it on frontend load.
42861
42862        * inspector/InspectorFrontendClient.h:
42863        (WebCore::InspectorFrontendClient::saveSessionSetting):
42864        (WebCore::InspectorFrontendClient::loadSessionSetting):
42865        * inspector/InspectorFrontendHost.cpp:
42866        (WebCore::InspectorFrontendHost::saveSessionSetting):
42867        (WebCore::InspectorFrontendHost::loadSessionSetting):
42868        * inspector/InspectorFrontendHost.h:
42869        * inspector/InspectorFrontendHost.idl:
42870
428712011-03-18  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
42872
42873        Reviewed by Kenneth Rohde Christiansen.
42874
42875        [Qt] Enable GraphicsContext3D only when the window surface support OpenGL
42876        https://bugs.webkit.org/show_bug.cgi?id=56555
42877
42878        Allow creation of WebGLRenderingContext in the HTMLCanvasElement
42879        only if accelerated compositing is enabled. In GraphicsContext3D,
42880        while blitting the surface check that viewport hasn't changed from
42881        creation and painter is associated to the viewport.
42882
42883        * html/HTMLCanvasElement.cpp:
42884        (WebCore::HTMLCanvasElement::getContext):
42885        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42886        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
42887        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
42888        (WebCore::GraphicsContext3DInternal::paint):
42889
428902011-03-17  Pavel Podivilov  <podivilov@chromium.org>
42891
42892        Reviewed by Pavel Feldman.
42893
42894        Web Inspector: extract content loading logic from scripts panel.
42895        https://bugs.webkit.org/show_bug.cgi?id=55237
42896
42897        Encapsulate source files creation logic in debugger presentation model
42898        to support source mappings in a pluggable way.
42899
42900        * inspector/front-end/DebuggerPresentationModel.js:
42901        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
42902        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
42903        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
42904        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
42905        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
42906        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
42907        (WebInspector.DebuggerPresentationModel.prototype._addScript):
42908        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
42909        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
42910        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
42911        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
42912        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
42913        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
42914        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
42915        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
42916        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
42917        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
42918        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
42919        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
42920        (WebInspector.DebuggerPresentationModel.prototype.reset):
42921        * inspector/front-end/ScriptsPanel.js:
42922        (WebInspector.ScriptsPanel):
42923        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
42924        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
42925        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
42926        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
42927        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
42928
429292011-03-18  Yury Semikhatsky  <yurys@chromium.org>
42930
42931        Reviewed by Pavel Feldman.
42932
42933        Web Inspector: console doesn&apos;t scroll when multiline expression is being evaluated
42934        https://bugs.webkit.org/show_bug.cgi?id=56639
42935
42936        Always scoll in the console when command result is received.
42937
42938        * inspector/front-end/ConsoleView.js:
42939        (WebInspector.ConsoleView.prototype.addMessage):
42940
429412011-03-18  Adam Roben  <aroben@apple.com>
42942
42943        Fix a CFNumber leak seen on the leaks bot
42944
42945        Reviewed by Gavin Barraclough.
42946
42947        * platform/network/mac/FormDataStreamMac.mm:
42948        (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be
42949        released.
42950
429512011-03-17  Adam Barth  <abarth@webkit.org>
42952
42953        Reviewed by Eric Seidel.
42954
42955        Add some of the remaining platform/mac files to WebCore GYP build
42956        https://bugs.webkit.org/show_bug.cgi?id=56616
42957
42958        These files used to be hard, but are now magically easy.  76 link errors.
42959
42960        * gyp/WebCore.gyp:
42961
429622011-03-17  Adam Klein  <adamk@chromium.org>
42963
42964        Reviewed by Adam Barth.
42965
42966        [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL
42967        https://bugs.webkit.org/show_bug.cgi?id=56502
42968
42969        * fileapi/Entry.idl:
42970        * fileapi/EntryBase.cpp:
42971        (WebCore::EntryBase::toURL):
42972        * fileapi/EntryBase.h:
42973        * fileapi/EntrySync.idl:
42974        * page/DOMWindow.cpp:
42975        (WebCore::DOMWindow::resolveLocalFileSystemURL):
42976        * page/DOMWindow.h:
42977        * page/DOMWindow.idl:
42978
429792011-03-17  Adam Barth  <abarth@webkit.org>
42980
42981        Reviewed by Eric Seidel.
42982
42983        Update CSP directive parser to match spec
42984        https://bugs.webkit.org/show_bug.cgi?id=56582
42985
42986        Brandon updated the CSP spec.  I've updated our implementation to
42987        match.  In the process, I found a couple bugs in the spec, which I've
42988        sent to the working group.  This patch assumes that the bugs will be
42989        fixed in the way I suggested.  If they get fixed a different way, we
42990        might need to update the parser again.
42991
42992        Test: http/tests/security/contentSecurityPolicy/directive-parsing.html
42993
42994        * page/ContentSecurityPolicy.cpp:
42995        (WebCore::isDirectiveNameCharacter):
42996        (WebCore::isDirectiveValueCharacter):
42997        (WebCore::advanceUntil):
42998        (WebCore::ContentSecurityPolicy::parse):
42999        (WebCore::ContentSecurityPolicy::parseDirective):
43000        * page/ContentSecurityPolicy.h:
43001
430022011-03-17  Adam Barth  <abarth@webkit.org>
43003
43004        Reviewed by Eric Seidel.
43005
43006        WebCore GYP build should have PrivateHeaders
43007        https://bugs.webkit.org/show_bug.cgi?id=56604
43008
43009        I've manually verified that this produces the correct set of
43010        PrivateHeaders (modulo the ForwardingHeaders and icu issue).
43011        Unforunately, this patch breakes compile slightly, but I'll fix that
43012        in a followup patch.
43013
43014        * WebCore.gyp/WebCore.gyp:
43015        * WebCore.gypi:
43016        * gyp/WebCore.gyp:
43017
430182011-03-17  Victoria Kirst  <vrk@google.com>
43019
43020        Reviewed by Kenneth Russell.
43021
43022        [chromium] Video colors have wrong brightness/contrast
43023        https://bugs.webkit.org/show_bug.cgi?id=56598
43024
43025        This patch changes the YUV to RGB color conversion matrix
43026        to have brighter whites and darker blacks in accordance to
43027        the BT.601 standard.
43028
43029        * platform/graphics/chromium/ShaderChromium.cpp:
43030        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
43031        (WebCore::FragmentShaderYUVVideo::init):
43032        (WebCore::FragmentShaderYUVVideo::getShaderString):
43033        * platform/graphics/chromium/ShaderChromium.h:
43034        (WebCore::FragmentShaderYUVVideo::yuvAdjLocation):
43035        * platform/graphics/chromium/VideoLayerChromium.cpp:
43036        (WebCore::VideoLayerChromium::drawYUV):
43037        * platform/graphics/chromium/VideoLayerChromium.h:
43038
430392011-03-17  Zhenyao Mo  <zmo@google.com>
43040
43041        Reviewed by Adam Barth.
43042
43043        RequestAnimationFrame callbacks prevent Document from being released on detach
43044        https://bugs.webkit.org/show_bug.cgi?id=56607
43045
43046        * dom/Document.cpp:
43047        (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks.
43048        (WebCore::Document::detach): Ditto.
43049
430502011-03-17  Beth Dakin  <bdakin@apple.com>
43051
43052        Reviewed by Darin Adler.
43053
43054        Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes
43055        fail to appear
43056        -and corresponding-
43057        <rdar://problem/8953779>
43058
43059        * platform/mac/ScrollAnimatorMac.mm:
43060        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
43061
430622011-03-17  Dan Bernstein  <mitz@apple.com>
43063
43064        Reviewed by Beth Dakin.
43065
43066        <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it
43067        https://bugs.webkit.org/show_bug.cgi?id=56480
43068
43069        Test: fast/text/emphasis-combined-text.html
43070
43071        * rendering/InlineTextBox.cpp:
43072        (WebCore::rotation): Added this helper.
43073        (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text,
43074        centered vertically.
43075
430762011-03-17  Jian Li  <jianli@chromium.org>
43077
43078        Reviewed by Adam Barth.
43079
43080        Blob URL should not be allow to get created from the code running from data URI
43081        https://bugs.webkit.org/show_bug.cgi?id=56600
43082
43083        Test: http/tests/fileapi/create-blob-url-from-data-url.html
43084
43085        * dom/ScriptExecutionContext.cpp:
43086        (WebCore::ScriptExecutionContext::createPublicBlobURL):
43087        * fileapi/BlobURL.cpp:
43088        (WebCore::BlobURL::createBlobURL):
43089        * fileapi/EntryBase.cpp:
43090        (WebCore::EntryBase::toURI):
43091        * fileapi/FileReaderLoader.cpp:
43092        (WebCore::FileReaderLoader::start):
43093
430942011-03-17  Jeff Miller  <jeffm@apple.com>
43095
43096        Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
43097
43098        *.mode*
43099        *.pbxuser
43100        *.perspective*
43101        project.xcworkspace
43102        xcuserdata
43103
43104        * WebCore.xcodeproj: Modified property svn:ignore.
43105        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
43106
431072011-03-17  Sam Weinig  <sam@webkit.org>
43108
43109        Fix Mac build.
43110
43111        * WebCore.exp.in:
43112        Add missing symbol.
43113
431142011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
43115
43116        Reviewed by Adele Peterson and Enrica Casucci.
43117
43118        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
43119        https://bugs.webkit.org/show_bug.cgi?id=56027
43120
43121        Debug build fix.
43122
43123        * dom/Element.cpp:
43124        (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate
43125        a position inside the node. Call firstPositionInOrBeforeNode instead.
43126        * editing/ReplaceSelectionCommand.cpp:
43127        (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead
43128        of just when the node is br.
43129        * editing/htmlediting.cpp:
43130        (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element
43131        so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead.
43132
431332011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
43134
43135        Unreviewed, rolling out r81369.
43136        http://trac.webkit.org/changeset/81369
43137        https://bugs.webkit.org/show_bug.cgi?id=56579
43138
43139        breaks debugger test (Requested by podivilov on #webkit).
43140
43141        * inspector/front-end/DebuggerPresentationModel.js:
43142        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
43143        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
43144        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
43145        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
43146        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
43147        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
43148        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
43149        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
43150        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
43151        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
43152        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
43153        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
43154        (WebInspector.DebuggerPresentationModel.prototype.reset):
43155        * inspector/front-end/ScriptsPanel.js:
43156        (WebInspector.ScriptsPanel):
43157        (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
43158        (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource):
43159        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
43160        (WebInspector.ScriptsPanel.prototype._addScript):
43161        (WebInspector.ScriptsPanel.prototype._resourceForURL):
43162        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
43163        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
43164        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
43165        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
43166        (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript):
43167        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
43168        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
43169
431702011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
43171
43172        Reviewed by Justin Garcia.
43173
43174        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
43175        https://bugs.webkit.org/show_bug.cgi?id=56027
43176
43177        Added the assertion in Position::Position and Position::moveToPosition. This assertion catches
43178        places where we instantiate positions inside a node on which editingIgnoresContent returns true.
43179
43180        Test: editing/execCommand/button.html
43181
43182        * dom/Position.cpp:
43183        (WebCore::Position::Position): Added an assertion.
43184        (WebCore::Position::moveToPosition): Ditto.
43185        * dom/PositionIterator.cpp:
43186        (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below
43187        a node whose content is ignored by editing. While this does not avoid creation of positions
43188        inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve
43189        the underlying problem. Without this change, the assertion hits in existing layout tests.
43190        cannot be tested directly.
43191        * editing/ApplyStyleCommand.cpp:
43192        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode
43193        instead of firstPositionInNode because startNode may as well be a br element. Without this change,
43194        the assertion hits in existing layout tests.
43195        * editing/htmlediting.cpp:
43196        (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test
43197        for this.
43198        * editing/visible_units.cpp:
43199        (WebCore::previousBoundary): Added a FIXME.
43200        (WebCore::startPositionForLine): Because br can also have an inline text box, checking that
43201        startBox is an inline text box isn't an adequate to instantiate a position inside startNode.
43202        Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout
43203        tests.
43204
432052011-03-17  Pavel Podivilov  <podivilov@chromium.org>
43206
43207        Reviewed by Pavel Feldman.
43208
43209        Web Inspector: extract content loading logic from scripts panel.
43210        https://bugs.webkit.org/show_bug.cgi?id=55237
43211
43212        Encapsulate source files creation logic in debugger presentation model
43213        to support source mappings in a pluggable way.
43214
43215        * inspector/front-end/DebuggerPresentationModel.js:
43216        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
43217        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
43218        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
43219        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
43220        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
43221        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
43222        (WebInspector.DebuggerPresentationModel.prototype._addScript):
43223        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
43224        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
43225        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
43226        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
43227        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
43228        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
43229        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
43230        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
43231        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
43232        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
43233        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
43234        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
43235        (WebInspector.DebuggerPresentationModel.prototype.reset):
43236        * inspector/front-end/ScriptsPanel.js:
43237        (WebInspector.ScriptsPanel):
43238        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
43239        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
43240        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
43241        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
43242        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
43243
432442011-03-17  Pavel Feldman  <pfeldman@chromium.org>
43245
43246        Reviewed by Yury Semikhatsky.
43247
43248        Web Inspector: add types markup to the IDL, remove Value types from the protocol.
43249        https://bugs.webkit.org/show_bug.cgi?id=56562
43250
43251        * inspector/ConsoleMessage.cpp:
43252        (WebCore::ConsoleMessage::addToFrontend):
43253        * inspector/InjectedScript.cpp:
43254        (WebCore::InjectedScript::evaluate):
43255        (WebCore::InjectedScript::evaluateOn):
43256        (WebCore::InjectedScript::evaluateOnCallFrame):
43257        (WebCore::InjectedScript::getProperties):
43258        (WebCore::InjectedScript::setPropertyValue):
43259        (WebCore::InjectedScript::callFrames):
43260        (WebCore::InjectedScript::makeCall):
43261        (WebCore::InjectedScript::makeObjectCall):
43262        * inspector/InjectedScript.h:
43263        * inspector/InjectedScriptSource.js:
43264        (.):
43265        * inspector/Inspector.idl:
43266        * inspector/InspectorApplicationCacheAgent.cpp:
43267        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
43268        * inspector/InspectorApplicationCacheAgent.h:
43269        * inspector/InspectorCSSAgent.cpp:
43270        (WebCore::InspectorCSSAgent::getStylesForNode):
43271        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
43272        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
43273        (WebCore::InspectorCSSAgent::getStyleSheet):
43274        (WebCore::InspectorCSSAgent::setPropertyText):
43275        (WebCore::InspectorCSSAgent::toggleProperty):
43276        (WebCore::InspectorCSSAgent::setRuleSelector):
43277        (WebCore::InspectorCSSAgent::addRule):
43278        * inspector/InspectorCSSAgent.h:
43279        * inspector/InspectorDOMAgent.cpp:
43280        (WebCore::InspectorDOMAgent::resolveNode):
43281        * inspector/InspectorDOMAgent.h:
43282        * inspector/InspectorDebuggerAgent.cpp:
43283        (WebCore::InspectorDebuggerAgent::editScriptSource):
43284        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
43285        (WebCore::InspectorDebuggerAgent::currentCallFrames):
43286        * inspector/InspectorDebuggerAgent.h:
43287        * inspector/InspectorResourceAgent.cpp:
43288        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
43289        * inspector/InspectorRuntimeAgent.cpp:
43290        (WebCore::InspectorRuntimeAgent::evaluate):
43291        (WebCore::InspectorRuntimeAgent::evaluateOn):
43292        (WebCore::InspectorRuntimeAgent::getProperties):
43293        (WebCore::InspectorRuntimeAgent::setPropertyValue):
43294        * inspector/InspectorRuntimeAgent.h:
43295        * inspector/ScriptCallStack.cpp:
43296        (WebCore::ScriptCallStack::buildInspectorArray):
43297        * inspector/ScriptCallStack.h:
43298        * inspector/TimelineRecordFactory.cpp:
43299        (WebCore::TimelineRecordFactory::createGenericRecord):
43300        * inspector/front-end/NetworkManager.js:
43301        (WebInspector.NetworkDispatcher.prototype._createResource):
43302
433032011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
43304
43305        Unreviewed, rolling out r81350.
43306        http://trac.webkit.org/changeset/81350
43307        https://bugs.webkit.org/show_bug.cgi?id=56560
43308
43309        "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests"
43310        (Requested by apavlov on #webkit).
43311
43312        * WebCore.gypi:
43313        * platform/graphics/chromium/GLES2Canvas.cpp:
43314        (WebCore::GLES2Canvas::State::State):
43315        (WebCore::GLES2Canvas::clearRect):
43316        (WebCore::GLES2Canvas::fillPath):
43317        (WebCore::GLES2Canvas::fillRect):
43318        (WebCore::GLES2Canvas::clipPath):
43319        (WebCore::GLES2Canvas::restore):
43320        (WebCore::GLES2Canvas::drawTexturedRect):
43321        (WebCore::GLES2Canvas::drawTexturedRectTile):
43322        (WebCore::GLES2Canvas::drawQuad):
43323        * platform/graphics/chromium/GLES2Canvas.h:
43324        * platform/graphics/gpu/BicubicShader.cpp: Removed.
43325        * platform/graphics/gpu/BicubicShader.h: Removed.
43326        * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
43327        * platform/graphics/gpu/ConvolutionShader.h: Removed.
43328        * platform/graphics/gpu/DrawingBuffer.h:
43329        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
43330        (WebCore::SharedGraphicsContext3D::create):
43331        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
43332        * platform/graphics/gpu/SharedGraphicsContext3D.h:
43333        * platform/graphics/skia/GraphicsContextSkia.cpp:
43334        (WebCore::GraphicsContext::setPlatformShadow):
43335        * platform/graphics/skia/PlatformContextSkia.cpp:
43336        (WebCore::PlatformContextSkia::canAccelerate):
43337
433382011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
43339
43340        Reviewed by Yury Semikhatsky.
43341
43342        Web Inspector: Clean up Inspector strings.
43343        https://bugs.webkit.org/show_bug.cgi?id=56557
43344
43345        * English.lproj/localizedStrings.js:
43346
433472011-03-14  Pavel Podivilov  <podivilov@chromium.org>
43348
43349        Reviewed by Yury Semikhatsky.
43350
43351        Web Inspector: refactor event listener breakpoints.
43352        https://bugs.webkit.org/show_bug.cgi?id=56305
43353
43354        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
43355        - store event listener breakpoints in a separate separate setting
43356        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
43357
43358        Test: inspector/debugger/event-listener-breakpoints.html
43359
43360        * inspector/Inspector.idl:
43361        * inspector/InspectorAgent.cpp:
43362        (WebCore::InspectorAgent::setFrontend):
43363        * inspector/InspectorBrowserDebuggerAgent.cpp:
43364        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
43365        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
43366        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
43367        (WebCore::InspectorBrowserDebuggerAgent::clear):
43368        * inspector/InspectorBrowserDebuggerAgent.h:
43369        * inspector/InspectorInstrumentation.cpp:
43370        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
43371        * inspector/front-end/BreakpointManager.js:
43372        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
43373        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
43374        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
43375        (WebInspector.BreakpointManager.prototype._projectChanged):
43376        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
43377        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
43378        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
43379        * inspector/front-end/BreakpointsSidebarPane.js:
43380        (WebInspector.EventListenerBreakpointsSidebarPane):
43381        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
43382        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
43383        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
43384        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
43385        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
43386        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
43387        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
43388        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
43389        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
43390        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
43391        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
43392        * inspector/front-end/CallStackSidebarPane.js:
43393        (WebInspector.CallStackSidebarPane.prototype.update):
43394        (WebInspector.CallStackSidebarPane.prototype.setStatus):
43395        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
43396        * inspector/front-end/ScriptsPanel.js:
43397        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
43398        (WebInspector.ScriptsPanel.prototype._clearInterface):
43399        * inspector/front-end/Settings.js:
43400        (WebInspector.Settings):
43401
434022011-03-16  Stephen White  <senorblanco@chromium.org>
43403
43404        Reviewed by Kenneth Russell.
43405
43406        Implement GPU-accelerated shadows.
43407        https://bugs.webkit.org/show_bug.cgi?id=56476
43408
43409        For hard shadows, we simply offset the CTM and draw in the shadow
43410        color.  For soft shadows, we use a separable Gaussian convolution,
43411        with a bilinear downsample and Mitchell-Netravali upsample in order to
43412        preserve quality.
43413
43414        * WebCore.gypi:
43415        Add BicubicShader and ConvolutionShader to the build.
43416        * platform/graphics/chromium/GLES2Canvas.cpp:
43417        (WebCore::GLES2Canvas::State::State):
43418        Add shadow-related members to the GLES2Canvas::State
43419        (WebCore::GLES2Canvas::State::shadowActive):
43420        Add a helper function to know if shadows are active.
43421        (WebCore::GLES2Canvas::clearRect):
43422        (WebCore::GLES2Canvas::scissorClear):
43423        Refactor the scissor clearing function out of clearRect().
43424        (WebCore::GLES2Canvas::fillPath):
43425        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
43426        (WebCore::GLES2Canvas::fillRect):
43427        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
43428        (WebCore::GLES2Canvas::fillRectInternal):
43429        Rename fillRect() -> fillRectInternal(), which does bind its vertex
43430        buffer, but does not bind the framebuffer.
43431        (WebCore::GLES2Canvas::setShadowColor):
43432        (WebCore::GLES2Canvas::setShadowOffset):
43433        (WebCore::GLES2Canvas::setShadowBlur):
43434        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
43435        Implement graphicsContext-style setters for shadow parameters.
43436        (WebCore::GLES2Canvas::clipPath):
43437        Call fillPathInternal(), not fillPath().
43438        (WebCore::GLES2Canvas::restore):
43439        (WebCore::GLES2Canvas::drawTexturedRect):
43440        Bind the framebuffer at this level.  Do not bind vertices here (will
43441        be done in drawTexturedQuad).
43442        (WebCore::GLES2Canvas::drawTexturedRectTile):
43443        drawQuad() -> drawTexturedQuad().
43444        (WebCore::GLES2Canvas::convolveRect):
43445        Implement one pass of a convolution filter (X or Y).
43446        (WebCore::gauss):
43447        (WebCore::buildKernel):
43448        Some helper functions to build a Gaussian convolution kernel.
43449        (WebCore::GLES2Canvas::drawTexturedQuad):
43450        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
43451        bind the framebuffer at this level (it will be done higher).
43452        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
43453        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
43454        (WebCore::GLES2Canvas::fillPathInternal):
43455        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
43456        but does not bind the framebuffer or set the compositing mode.
43457        (WebCore::GLES2Canvas::flipRect):
43458        Implement a helper function to flip a rectangle in Y within the canvas.
43459        (WebCore::GLES2Canvas::clearBorders):
43460        Implement a helper function to clear an n-pixel border around a rect.
43461        (WebCore::GLES2Canvas::beginShadowDraw):
43462        Setup before drawing a primitive's shadow:  for hard shadows, just
43463        offset the CTM by the shadow offset.  For soft shadows, bind to an
43464        offscreen DrawingBuffer.
43465        (WebCore::GLES2Canvas::endShadowDraw):
43466        Tear-down after drawing a primitive's shadow:  for hard shadows, just
43467        restore the CTM.  For soft shadows, downsample (if necessary), then
43468        blur in X, blur in Y, upsample if necessary).
43469        * platform/graphics/chromium/GLES2Canvas.h:
43470        * platform/graphics/gpu/BicubicShader.cpp: Added.
43471        (WebCore::BicubicShader::BicubicShader):
43472        (WebCore::BicubicShader::create):
43473        (WebCore::BicubicShader::use):
43474        * platform/graphics/gpu/BicubicShader.h: Added.
43475        Implement a bicubic image filtering shader.
43476        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
43477        (WebCore::ConvolutionShader::ConvolutionShader):
43478        (WebCore::ConvolutionShader::create):
43479        (WebCore::ConvolutionShader::use):
43480        * platform/graphics/gpu/ConvolutionShader.h: Added.
43481        Implement a 1-dimensional convolution shader.  In order to minimize
43482        texture samples, this shader is parameterized at compile time by the
43483        width of the convolution kernel.
43484        * platform/graphics/gpu/DrawingBuffer.h:
43485        (WebCore::DrawingBuffer::colorBuffer):
43486        Add an accessor to retrieve a DrawingBuffer's texture ID.
43487        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
43488        (WebCore::SharedGraphicsContext3D::create):
43489        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
43490        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
43491        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
43492        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
43493        each possible kernel width).
43494        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
43495        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
43496        This is done to minimize the VRAM usage:  only 2 buffers are used for
43497        all canvases.
43498        * platform/graphics/gpu/SharedGraphicsContext3D.h:
43499        Add bicubic and convolution shader members, and useXXX() functions.
43500        * platform/graphics/skia/GraphicsContextSkia.cpp:
43501        (WebCore::GraphicsContext::setPlatformShadow):
43502        Hook into GraphicsContextSkia's platform shadow setters to set
43503        parameters on GLES2Canvas.
43504        * platform/graphics/skia/PlatformContextSkia.cpp:
43505        (WebCore::PlatformContextSkia::canAccelerate):
43506        Remove shadows (loopers) from the list of things we can't accelerate.
43507
435082011-03-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43509
43510        Reviewed by Andreas Kling.
43511
43512        Tiled backing store should only request repaint for updated areas
43513        https://bugs.webkit.org/show_bug.cgi?id=56464
43514
43515        Reuse updateBackBuffer's dirty rectangle calculations to only
43516        invalidate the necessary parts of the window.
43517
43518        * platform/graphics/Tile.h:
43519        * platform/graphics/TiledBackingStore.cpp:
43520        (WebCore::TiledBackingStore::updateTileBuffers):
43521        * platform/graphics/qt/TileQt.cpp:
43522        (WebCore::Tile::updateBackBuffer):
43523
435242011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
43525
43526        Reviewed by Pavel Feldman.
43527
43528        Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes.
43529        https://bugs.webkit.org/show_bug.cgi?id=56395
43530
43531        * inspector/front-end/DetailedHeapshotGridNodes.js:
43532        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
43533        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
43534        * inspector/front-end/HeapSnapshot.js:
43535        (WebInspector.HeapSnapshotRetainerEdge): Added
43536        (WebInspector.HeapSnapshotRetainerEdgeIterator): Added
43537        (WebInspector.HeapSnapshotNode.prototype.get retainers):
43538        (WebInspector.HeapSnapshot.prototype.dispose):
43539        (WebInspector.HeapSnapshot.prototype.hasId):
43540        (WebInspector.HeapSnapshot.prototype.retainers):
43541        (WebInspector.HeapSnapshot.prototype._buildRetainers):
43542        (WebInspector.HeapSnapshot.prototype._buildIdsList):
43543        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
43544        (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex):
43545        (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
43546        (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
43547        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
43548        (WebInspector.HeapSnapshot.prototype._numbersComparator):
43549        (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge):
43550        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
43551        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
43552        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
43553
435542011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
43555
43556        Unreviewed, rolling out r81243.
43557        http://trac.webkit.org/changeset/81243
43558        https://bugs.webkit.org/show_bug.cgi?id=56471
43559
43560        Breaks GTK 64-bit Debug tests (Requested by podivilov on
43561        #webkit).
43562
43563        * inspector/Inspector.idl:
43564        * inspector/InspectorAgent.cpp:
43565        (WebCore::InspectorAgent::setFrontend):
43566        * inspector/InspectorBrowserDebuggerAgent.cpp:
43567        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
43568        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
43569        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
43570        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
43571        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
43572        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
43573        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
43574        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
43575        (WebCore::InspectorBrowserDebuggerAgent::clear):
43576        * inspector/InspectorBrowserDebuggerAgent.h:
43577        * inspector/InspectorInstrumentation.cpp:
43578        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
43579        * inspector/front-end/BreakpointManager.js:
43580        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
43581        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
43582        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
43583        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
43584        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
43585        (WebInspector.BreakpointManager.prototype._projectChanged):
43586        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
43587        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
43588        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
43589        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
43590        (WebInspector.EventListenerBreakpoint):
43591        (WebInspector.EventListenerBreakpoint.prototype._enable):
43592        (WebInspector.EventListenerBreakpoint.prototype._disable):
43593        (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
43594        (WebInspector.EventListenerBreakpointView):
43595        (WebInspector.EventListenerBreakpointView.eventNameForUI):
43596        (WebInspector.EventListenerBreakpointView.prototype.get eventName):
43597        (WebInspector.EventListenerBreakpointView.prototype.compareTo):
43598        (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement):
43599        (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement):
43600        (WebInspector.EventListenerBreakpointView.prototype._uiEventName):
43601        * inspector/front-end/BreakpointsSidebarPane.js:
43602        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
43603        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
43604        (WebInspector.EventListenerBreakpointsSidebarPane):
43605        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
43606        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
43607        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
43608        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
43609        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged):
43610        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved):
43611        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
43612        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
43613        * inspector/front-end/CallStackSidebarPane.js:
43614        (WebInspector.CallStackSidebarPane.prototype.update):
43615        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
43616        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
43617        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
43618        * inspector/front-end/ScriptsPanel.js:
43619        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
43620        (WebInspector.ScriptsPanel.prototype._clearInterface):
43621        * inspector/front-end/Settings.js:
43622        (WebInspector.Settings):
43623
436242011-03-17  Adam Barth  <abarth@webkit.org>
43625
43626        Reviewed by Eric Seidel.
43627
43628        Add more ObjC++ files to the build
43629        https://bugs.webkit.org/show_bug.cgi?id=56548
43630
43631        96 link errors.
43632
43633        * WebCore.gypi:
43634        * gyp/WebCore.gyp:
43635
436362011-03-17  Adam Barth  <abarth@webkit.org>
43637
43638        Reviewed by Eric Seidel.
43639
43640        Add a few Objective-C++ files to the WebCore GYP build
43641        https://bugs.webkit.org/show_bug.cgi?id=56547
43642
43643        464 link errors.
43644
43645        * gyp/WebCore.gyp:
43646
436472011-03-17  Yuta Kitamura  <yutak@chromium.org>
43648
43649        Unreviewed build fix.
43650
43651        Non-ASCII characters in XMLTreeViewer.{cpp,h}
43652        https://bugs.webkit.org/show_bug.cgi?id=56549
43653
43654        * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents.
43655        * xml/XMLTreeViewer.h: Ditto.
43656
436572011-03-17  Adam Barth  <abarth@webkit.org>
43658
43659        Reviewed by Eric Seidel.
43660
43661        Add plugins and bridge to the WebCore GYP build
43662        https://bugs.webkit.org/show_bug.cgi?id=56546
43663
43664        506 link errors.
43665
43666        * gyp/WebCore.gyp:
43667
436682011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
43669
43670        Reviewed by Alexey Proskuryakov.
43671
43672        Logic error in -[WebHTMLView close]
43673        https://bugs.webkit.org/show_bug.cgi?id=56445
43674
43675        The function setDraggingImageURL() is no longer called and can be deleted.
43676
43677        No new tests. Deleting dead code.
43678
43679        * page/DragController.h:
43680
436812011-03-16  Naoki Takano  <takano.naoki@gmail.com>
43682
43683        Reviewed by Ryosuke Niwa.
43684
43685        Textarea maxlength doesn't account for newlines
43686        https://bugs.webkit.org/show_bug.cgi?id=54443
43687
43688        When a user presses a return key, TypingCommand::insertLineBreak() is called.
43689        So before append a new line, check if we can add the new line.
43690
43691        * editing/TypingCommand.cpp:
43692        (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line.
43693        (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line.
43694        (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line.
43695
436962011-03-16  Adam Barth  <abarth@webkit.org>
43697
43698        Reviewed by Eric Seidel.
43699
43700        WebCore GYP build should build more derived sources
43701        https://bugs.webkit.org/show_bug.cgi?id=56529
43702
43703        This patch brings us down to 597 link errors.
43704
43705        * gyp/WebCore.gyp:
43706
437072011-03-16  Adam Barth  <abarth@webkit.org>
43708
43709        Reviewed by Eric Seidel.
43710
43711        WebCore GYP should build (most) remaining source files
43712        https://bugs.webkit.org/show_bug.cgi?id=56515
43713
43714        We're still not building all the files and we have 1305 link errors,
43715        but this patch is progress.
43716
43717        * WebCore.gypi:
43718        * gyp/WebCore.gyp:
43719        * plugins/PluginStream.cpp:
43720
437212011-03-16  Dan Bernstein  <mitz@apple.com>
43722
43723        Reviewed by Alexey Proskuryakov.
43724
43725        Update the default navigator.vendor value
43726        https://bugs.webkit.org/show_bug.cgi?id=56449
43727
43728        * page/NavigatorBase.cpp: Updated the default value of
43729        WEBCORE_NAVIGATOR_VENDOR.
43730
437312011-03-16  John Bauman  <jbauman@chromium.org>
43732
43733        Reviewed by James Robinson.
43734
43735        texImage2D gets old contents of canvas
43736        https://bugs.webkit.org/show_bug.cgi?id=56414
43737
43738        Always update the canvas contents in copiedImage, as there's no reason
43739        to ask for an out-of-date image.
43740
43741        * html/HTMLCanvasElement.cpp:
43742        (WebCore::HTMLCanvasElement::copiedImage):
43743
437442011-03-16  Adam Barth  <abarth@webkit.org>
43745
43746        Reviewed by James Robinson.
43747
43748        Remove USE(BUILTIN_UTF8_CODEC)
43749        https://bugs.webkit.org/show_bug.cgi?id=56508
43750
43751        * platform/text/TextCodecICU.cpp:
43752        (WebCore::TextCodecICU::registerEncodingNames):
43753        * platform/text/TextEncodingRegistry.cpp:
43754        (WebCore::buildBaseTextCodecMaps):
43755
437562011-03-16  Joseph Pecoraro  <joepeck@webkit.org>
43757
43758        Reviewed by Kenneth Rohde Christiansen.
43759
43760        Viewport no longer allows an auto value for "user-scalable"
43761        https://bugs.webkit.org/show_bug.cgi?id=55416
43762
43763        This restores our behavior before r67376 the default "user-scalable"
43764        behavior can be defined by a WebKit client if a value was not
43765        explicitly provided in web content (via the viewport <meta> tag).
43766        Here, all WebKit ports default to "yes" after computing
43767        viewport arguments. However, in the future they may consider
43768        changing the default user-scalable value based on the type
43769        of the document being viewed, a user preference, or other reasons.
43770
43771        Covered by existing tests. Should be no changes.
43772
43773        * dom/ViewportArguments.cpp:
43774        (WebCore::computeViewportAttributes): be explicit about 0.
43775        (WebCore::findUserScalableValue): convert to return a float, the instance variable type.
43776        * dom/ViewportArguments.h:
43777        (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to
43778        allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the
43779        WebKit client.
43780
437812011-03-16  David Levin  <levin@chromium.org>
43782
43783        Reviewed by Dmitry Titov.
43784
43785        REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test".
43786
43787        Conditional jump or move depends on uninitialised value(s)
43788            WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117)
43789
43790        * page/Settings.cpp:
43791        (WebCore::Settings::Settings):
43792
437932011-03-16  Beth Dakin  <bdakin@apple.com>
43794
43795        Reviewed by Darin Adler.
43796
43797        Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay
43798        scrollbars thumb in overflow regions does not work
43799        -and corresponding-
43800        <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow
43801        regions does not work
43802
43803        Up until now, overlay scrollbars have always been treated in the Render Tree as if
43804        they have a thickness of 0 because they should not affect layout. However, it is
43805        important to consider their size when hit-testing because otherwise, we have this
43806        bug! This patch adds a boolean parameter to overflowClipRect(),
43807        RenderLayer::verticalScrollbarWidth(), and
43808        RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include
43809        the actual overlay scrollbar thickness. It defaults to false and is only sent is
43810        as true from RenderBloc::nodeAtPoint().
43811
43812        * rendering/RenderBlock.cpp:
43813        (WebCore::RenderBlock::nodeAtPoint):
43814        * rendering/RenderBox.cpp:
43815        (WebCore::RenderBox::overflowClipRect):
43816        * rendering/RenderBox.h:
43817        * rendering/RenderLayer.cpp:
43818        (WebCore::RenderLayer::verticalScrollbarWidth):
43819        (WebCore::RenderLayer::horizontalScrollbarHeight):
43820        * rendering/RenderLayer.h:
43821        * rendering/RenderTable.cpp:
43822        (WebCore::RenderTable::overflowClipRect):
43823        * rendering/RenderTable.h:
43824
438252011-03-16  Keith Kyzivat  <keith.kyzivat@nokia.com>
43826
43827        Reviewed by Andreas Kling.
43828
43829        [Qt] Fix std::swap not found issue on mobile Qt devices.
43830        https://bugs.webkit.org/show_bug.cgi?id=56463
43831
43832        Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found
43833        on some Qt mobile devices.
43834
43835        No new tests: No tests needed - compilation verified manually.
43836
43837        * platform/text/qt/TextBreakIteratorQt.cpp:
43838        (WebCore::acquireLineBreakIterator):
43839
438402011-03-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
43841
43842        Reviewed by Kenneth Rohde Christiansen.
43843
43844        [Qt] WebGL content not shown when accelerated compositing is enabled
43845        https://bugs.webkit.org/show_bug.cgi?id=56339
43846
43847        Removed all previously implemented WebGL code from GraphicsLayerQt
43848        because API has changed. GraphicsContext3D provides PlatformLayer
43849        that is added as a child of GraphicsLayer and is therefore painted
43850        through QGraphicsView pipeline.
43851
43852        * platform/graphics/GraphicsContext3D.h:
43853        * platform/graphics/qt/GraphicsContext3DQt.cpp:
43854        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
43855        (WebCore::GraphicsContext3DInternal::paint):
43856        (WebCore::GraphicsContext3DInternal::boundingRect):
43857        (WebCore::GraphicsContext3D::platformLayer):
43858        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
43859        (WebCore::GraphicsContext3D::reshape):
43860        * platform/graphics/qt/GraphicsLayerQt.cpp:
43861        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
43862        (WebCore::GraphicsLayerQtImpl::paint):
43863        (WebCore::GraphicsLayerQtImpl::flushChanges):
43864        (WebCore::GraphicsLayerQt::setContentsToCanvas):
43865        * platform/graphics/qt/GraphicsLayerQt.h:
43866
438672011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
43868
43869        Reviewed by Tony Chang.
43870
43871        Get rid of nearestMailBlockquote
43872        https://bugs.webkit.org/show_bug.cgi?id=56439
43873
43874        Removed nearestMailBlockquote and replaced the calls to the function by calls
43875        to enclosingNodeOfType and highestEnclosingNodeOfType.
43876
43877        Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to
43878        respect editing boundaries.  Added a test for the former command.
43879
43880        Test: editing/execCommand/break-non-editable-blockquote.html
43881
43882        * editing/BreakBlockquoteCommand.cpp:
43883        (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary
43884        when looking for a Mail blockquote.
43885        * editing/DeleteSelectionCommand.cpp:
43886        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
43887        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
43888        * editing/ReplaceSelectionCommand.cpp:
43889        (WebCore::hasMatchingQuoteLevel):
43890        (WebCore::handleStyleSpansBeforeInsertion):
43891        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
43892        (WebCore::ReplaceSelectionCommand::doApply):
43893        * editing/htmlediting.cpp:
43894        (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance.
43895        (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check.
43896        * editing/htmlediting.h:
43897        (WebCore::firstPositionInOrBeforeNode): Added a null pointer check.
43898        (WebCore::lastPositionInOrAfterNode): Ditto.
43899        * editing/markup.cpp:
43900        (WebCore::highestAncestorToWrapMarkup):
43901        (WebCore::createMarkup):
43902
439032011-03-16  Jer Noble  <jer.noble@apple.com>
43904
43905        Reviewed by Beth Dakin.
43906
43907        RenderFullScreen::createFullScreenStyle() leaks
43908        https://bugs.webkit.org/show_bug.cgi?id=53384
43909
43910        Two problems: a) not calling release() on the style returned in setFullScreenRenderer
43911        causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed,
43912        not just detached, when it is no longer needed.
43913
43914        * dom/Document.cpp:
43915        (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set.
43916        * rendering/RenderFullScreen.cpp:
43917        (RenderFullScreen::createFullScreenStyle): release() the return value.
43918
439192011-03-16  Mike Reed  <reed@google.com>
43920
43921        Reviewed by James Robinson.
43922
43923        Reestablish typeface/size/encoding when drawing stroked text
43924        https://bugs.webkit.org/show_bug.cgi?id=56481
43925
43926        No new tests. LayoutTests/svg/css/composite-shadow-text.svg
43927
43928        * platform/graphics/skia/SkiaFontWin.cpp:
43929        (WebCore::paintSkiaText):
43930
439312011-03-16  Daniel Sievers  <sievers@google.com>
43932
43933        Reviewed by James Robinson.
43934
43935        Add setting to always force compositing mode
43936        https://bugs.webkit.org/show_bug.cgi?id=56156
43937
43938        No new tests needed as this defaults to disabled (and is unfeasible
43939        to be tested through property overriding at runtime).
43940
43941        * page/Settings.h:
43942        (WebCore::Settings::setForceCompositingMode):
43943        (WebCore::Settings::forceCompositingMode):
43944        * rendering/RenderLayerCompositor.cpp:
43945        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
43946        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
43947        * rendering/RenderLayerCompositor.h:
43948
439492011-03-16  Vangelis Kokkevis  <vangelis@chromium.org>
43950
43951        Reviewed by Kenneth Russell.
43952
43953        [chromium] Fixing backface visibility for transformed layers.
43954        https://bugs.webkit.org/show_bug.cgi?id=56237
43955
43956        Test: platform/chromium/compositing/backface-visibility-transformed.html
43957
43958        * platform/graphics/chromium/LayerRendererChromium.cpp:
43959        (WebCore::LayerRendererChromium::drawLayer):
43960
439612011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
43962
43963        Reviewed by Darin Adler.
43964
43965        REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts.
43966        https://bugs.webkit.org/show_bug.cgi?id=56469
43967
43968        Technically, this is not a regression, but rather uncovering of an old
43969        problem. When the RenderSlider::layout was written, the layout state was
43970        pushed with a wrong offset. However, since the whole slider track was
43971        always repainted, the problem didn't manifest itself until we actually
43972        started being more precise in our repaints.
43973
43974        Test: fast/repaint/slider-thumb-float.html
43975
43976        * rendering/RenderSlider.cpp:
43977        (WebCore::RenderSlider::layout): Changed to pass actual thumb offset
43978        to the LayoutStateMaintainer, rather than thumb size.
43979
439802011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
43981
43982        Reviewed by Eric Carlson.
43983
43984        Add play state callbacks to MediaControls, kill timeUpdate timer.
43985        https://bugs.webkit.org/show_bug.cgi?id=56473
43986
43987        No change in behavior, covered by existing tests.
43988
43989        * html/HTMLMediaElement.cpp:
43990        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to
43991            media controls.
43992        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
43993        * html/shadow/MediaControls.cpp:
43994        (WebCore::MediaControls::MediaControls): Removed initialization of the timer.
43995        (WebCore::MediaControls::playbackProgressed): Added.
43996        (WebCore::MediaControls::playbackStarted): Added, for now routing to just
43997            call playbackProgressed.
43998        (WebCore::MediaControls::playbackStopped): Ditto.
43999        (WebCore::MediaControls::update): Removed the code to start/stop the
44000            timer that's now gone.
44001        * html/shadow/MediaControls.h: Removed timer decls.
44002
440032011-03-16  Bill Budge  <bbudge@chromium.org>
44004
44005        Reviewed by David Levin.
44006
44007        DocumentThreadableLoaderClient needs a protected default Constructor
44008        https://bugs.webkit.org/show_bug.cgi?id=56479
44009
44010        No new tests. Exposes no new functionality.
44011
44012        * loader/DocumentThreadableLoaderClient.h:
44013        (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient):
44014
440152011-03-16  David Levin  <levin@chromium.org>
44016
44017        Chromium Leopard build fix attempt #2.
44018
44019        Same error as before.
44020        * bindings/v8/V8GCController.cpp:
44021
440222011-03-16  David Levin  <levin@chromium.org>
44023
44024        Chromium Leopard build fix attempt.
44025
44026        The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace.
44027
44028        * bindings/v8/V8GCController.cpp:
44029
440302011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
44031
44032        Reviewed by Dimitri Glazkov and Darin Adler.
44033
44034        Node::isContentEditable should always call parentNode() instead of parentOrHostNode()
44035        https://bugs.webkit.org/show_bug.cgi?id=56472
44036
44037        Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode().
44038        Node::isContentEditable now calls parentNode() on all nodes.
44039
44040        No tests are added since this behavior change is not visible to scripts at the moment.
44041
44042        * dom/Node.cpp:
44043        (WebCore::Node::isContentEditable):
44044
440452011-03-16  Chris Fleizach  <cfleizach@apple.com>
44046
44047        Reviewed by Darin Adler.
44048
44049        WK2: Need to propagate enhanced accessibility flag from UI -> web process
44050        https://bugs.webkit.org/show_bug.cgi?id=56379
44051
44052        Allow the enhanced accessibility flag to be toggleable.
44053
44054        * accessibility/AXObjectCache.h:
44055        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
44056
440572011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
44058
44059        [Qt] Buildfix after r81230.
44060
44061        * WebCore.pri: Missing include path added.
44062
440632011-03-15  Oliver Hunt  <oliver@apple.com>
44064
44065        Reviewed by Geoffrey Garen.
44066
44067        Make Structure creation require a JSGlobalData
44068        https://bugs.webkit.org/show_bug.cgi?id=56438
44069
44070        Mechanical change to make all structure creation use GlobalData
44071
44072        * bindings/js/JSAudioConstructor.cpp:
44073        (WebCore::JSAudioConstructor::JSAudioConstructor):
44074        * bindings/js/JSAudioConstructor.h:
44075        (WebCore::JSAudioConstructor::createStructure):
44076        * bindings/js/JSDOMBinding.h:
44077        (WebCore::DOMObjectWithGlobalPointer::createStructure):
44078        (WebCore::DOMConstructorObject::createStructure):
44079        (WebCore::getDOMStructure):
44080        * bindings/js/JSDOMGlobalObject.h:
44081        (WebCore::JSDOMGlobalObject::createStructure):
44082        * bindings/js/JSDOMWindowBase.h:
44083        (WebCore::JSDOMWindowBase::createStructure):
44084        * bindings/js/JSDOMWindowShell.cpp:
44085        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
44086        (WebCore::JSDOMWindowShell::setWindow):
44087        * bindings/js/JSDOMWindowShell.h:
44088        (WebCore::JSDOMWindowShell::createStructure):
44089        * bindings/js/JSImageConstructor.cpp:
44090        (WebCore::JSImageConstructor::JSImageConstructor):
44091        * bindings/js/JSImageConstructor.h:
44092        (WebCore::JSImageConstructor::createStructure):
44093        * bindings/js/JSImageDataCustom.cpp:
44094        (WebCore::toJS):
44095        * bindings/js/JSOptionConstructor.cpp:
44096        (WebCore::JSOptionConstructor::JSOptionConstructor):
44097        * bindings/js/JSOptionConstructor.h:
44098        (WebCore::JSOptionConstructor::createStructure):
44099        * bindings/js/JSWorkerContextBase.h:
44100        (WebCore::JSWorkerContextBase::createStructure):
44101        * bindings/js/WorkerScriptController.cpp:
44102        (WebCore::WorkerScriptController::initScript):
44103        * bindings/scripts/CodeGeneratorJS.pm:
44104        * bridge/c/CRuntimeObject.h:
44105        (JSC::Bindings::CRuntimeObject::createStructure):
44106        * bridge/c/c_instance.cpp:
44107        (JSC::Bindings::CRuntimeMethod::createStructure):
44108        * bridge/jni/jsc/JavaInstanceJSC.cpp:
44109        (JavaRuntimeMethod::createStructure):
44110        * bridge/jni/jsc/JavaRuntimeObject.h:
44111        (JSC::Bindings::JavaRuntimeObject::createStructure):
44112        * bridge/objc/ObjCRuntimeObject.h:
44113        (JSC::Bindings::ObjCRuntimeObject::createStructure):
44114        * bridge/objc/objc_instance.mm:
44115        (ObjCRuntimeMethod::createStructure):
44116        * bridge/objc/objc_runtime.h:
44117        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
44118        * bridge/runtime_array.h:
44119        (JSC::RuntimeArray::createStructure):
44120        * bridge/runtime_method.h:
44121        (JSC::RuntimeMethod::createStructure):
44122        * bridge/runtime_object.h:
44123        (JSC::Bindings::RuntimeObject::createStructure):
44124
441252011-03-16  Pratik Solanki  <psolanki@apple.com>
44126
44127        Reviewed by Alexey Proskuryakov.
44128
44129        REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001
44130        https://bugs.webkit.org/show_bug.cgi?id=56345
44131
44132        Add NULL check for Content-Type header field.
44133
44134        Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html
44135
44136        * platform/network/mac/WebCoreURLResponse.mm:
44137        (WebCore::adjustMIMETypeIfNecessary):
44138
441392011-03-15  Levi Weintraub  <leviw@chromium.org>
44140
44141        Reviewed by Ryosuke Niwa.
44142
44143        REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior
44144        https://bugs.webkit.org/show_bug.cgi?id=56407
44145
44146        Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that
44147        weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that
44148        have had children appended to them that editing wouldn't normally allow.
44149
44150        Tests: editing/style/iframe-onload-crash-mac.html
44151               editing/style/iframe-onload-crash-unix.html
44152               editing/style/iframe-onload-crash-win.html
44153
44154        * editing/TextIterator.cpp:
44155        (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range.
44156        * editing/htmlediting.cpp:
44157        (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children
44158        for hr and datagrid, as you can append any node to another using javascript.
44159
441602011-03-16  Mikhail Naganov  <mnaganov@chromium.org>
44161
44162        Reviewed by Pavel Feldman.
44163
44164        [Chromium] Report object groups and single DOM-related objects
44165        to the new heap profiler.
44166        https://bugs.webkit.org/show_bug.cgi?id=53659
44167
44168        * Android.v8bindings.mk:
44169        * WebCore.gypi:
44170        * WebCore.pro:
44171        * bindings/scripts/CodeGeneratorV8.pm:
44172        * bindings/v8/RetainedDOMInfo.cpp: Added.
44173        (WebCore::RetainedDOMInfo::RetainedDOMInfo):
44174        * bindings/v8/RetainedDOMInfo.h: Added.
44175        * bindings/v8/RetainedObjectInfo.h: Added.
44176        * bindings/v8/ScriptProfiler.cpp:
44177        (WebCore::retainedDOMInfo):
44178        (WebCore::ScriptProfiler::initialize):
44179        * bindings/v8/ScriptProfiler.h:
44180        * bindings/v8/V8DOMWindowShell.cpp:
44181        (WebCore::V8DOMWindowShell::initContextIfNeeded):
44182        * bindings/v8/V8GCController.cpp:
44183        (WebCore::GroupId::GrouperItem::GrouperItem):
44184        (WebCore::GroupId::GrouperItem::groupId):
44185        (WebCore::GroupId::GrouperItem::createRetainedObjectInfo):
44186        (WebCore::calculateGroupId):
44187        (WebCore::GrouperVisitor::visitDOMWrapper):
44188        (WebCore::GrouperVisitor::applyGrouping):
44189        * bindings/v8/WrapperTypeInfo.h:
44190        * inspector/front-end/DetailedHeapshotGridNodes.js:
44191        (WebInspector.HeapSnapshotConstructorNode):
44192        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
44193        (WebInspector.HeapSnapshotDiffNode):
44194        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
44195        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
44196        * inspector/front-end/DetailedHeapshotView.js:
44197        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
44198        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
44199        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
44200        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
44201        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
44202        (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot):
44203        (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
44204        * inspector/front-end/HeapSnapshot.js:
44205        (WebInspector.HeapSnapshotNode.prototype.get className):
44206        (WebInspector.HeapSnapshot.prototype._buildAggregates):
44207        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
44208        (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
44209        * inspector/front-end/heapProfiler.css:
44210        (.detailed-heapshot-view .retaining-paths-view .title > span):
44211        (.detailed-heapshot-view .retaining-paths-to-windows):
44212
442132011-03-16  Sam Weinig  <sam@webkit.org>
44214
44215        Reviewed by Adam Roben.
44216
44217        Add WebKit2 API to figure out if an input or textarea was edited
44218        https://bugs.webkit.org/show_bug.cgi?id=56474
44219
44220        Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
44221        and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited]
44222        as well as API in WebKit2.
44223
44224        * WebCore.exp.in:
44225        * bindings/objc/DOMHTML.mm:
44226        (-[DOMHTMLInputElement _isEdited]):
44227        (-[DOMHTMLTextAreaElement _isEdited]):
44228        * html/HTMLInputElement.cpp:
44229        (WebCore::HTMLInputElement::lastChangeWasUserEdit):
44230        * html/HTMLInputElement.h:
44231        * html/HTMLTextAreaElement.cpp:
44232        (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit):
44233        * html/HTMLTextAreaElement.h:
44234
442352011-03-15  Pavel Feldman  <pfeldman@chromium.org>
44236
44237        Reviewed by Yury Semikhatsky.
44238
44239        Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
44240        https://bugs.webkit.org/show_bug.cgi?id=56376
44241
44242        * inspector/InspectorBrowserDebuggerAgent.cpp:
44243        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
44244        * inspector/front-end/DOMAgent.js:
44245        (WebInspector.DOMAgent.prototype._setDocument):
44246
442472011-03-16  Dan Bernstein  <mitz@apple.com>
44248
44249        Reviewed by Simon Fraser.
44250
44251        text-combine text retains compressed font after adding characters to it
44252        https://bugs.webkit.org/show_bug.cgi?id=56448
44253
44254        Test: fast/dynamic/text-combine.html
44255
44256        * css/CSSStyleSelector.cpp:
44257        (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since
44258        only the clones on the RenderCombineText will be mutated.
44259        * rendering/RenderCombineText.cpp:
44260        (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
44261        style.
44262        (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
44263        the text cannot be combined.
44264        * rendering/RenderCombineText.h:
44265        (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
44266
442672011-03-14  Pavel Podivilov  <podivilov@chromium.org>
44268
44269        Reviewed by Yury Semikhatsky.
44270
44271        Web Inspector: refactor event listener breakpoints.
44272        https://bugs.webkit.org/show_bug.cgi?id=56305
44273
44274        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
44275        - store event listener breakpoints in a separate separate setting
44276        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
44277
44278        Test: inspector/debugger/event-listener-breakpoints.html
44279
44280        * inspector/Inspector.idl:
44281        * inspector/InspectorAgent.cpp:
44282        (WebCore::InspectorAgent::setFrontend):
44283        * inspector/InspectorBrowserDebuggerAgent.cpp:
44284        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
44285        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
44286        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
44287        (WebCore::InspectorBrowserDebuggerAgent::clear):
44288        * inspector/InspectorBrowserDebuggerAgent.h:
44289        * inspector/InspectorInstrumentation.cpp:
44290        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
44291        * inspector/front-end/BreakpointManager.js:
44292        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
44293        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
44294        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
44295        (WebInspector.BreakpointManager.prototype._projectChanged):
44296        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
44297        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
44298        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
44299        * inspector/front-end/BreakpointsSidebarPane.js:
44300        (WebInspector.EventListenerBreakpointsSidebarPane):
44301        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
44302        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
44303        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
44304        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
44305        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
44306        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
44307        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
44308        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
44309        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
44310        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
44311        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
44312        * inspector/front-end/CallStackSidebarPane.js:
44313        (WebInspector.CallStackSidebarPane.prototype.update):
44314        (WebInspector.CallStackSidebarPane.prototype.setStatus):
44315        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
44316        * inspector/front-end/ScriptsPanel.js:
44317        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
44318        (WebInspector.ScriptsPanel.prototype._clearInterface):
44319        * inspector/front-end/Settings.js:
44320        (WebInspector.Settings):
44321
443222011-03-16  David Kilzer  <ddkilzer@apple.com>
44323
44324        Minor clean-up after r81156, r81172
44325
44326        Follow-up for:
44327        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
44328
44329        * platform/graphics/GraphicsLayer.h: Removed unused @class
44330        WebLayer declaration.
44331        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
44332        struct CAPropertyAnimation to class declaration.
44333
443342011-03-16  Andrey Adaikin  <aandrey@google.com>
44335
44336        Reviewed by Yury Semikhatsky.
44337
44338        Web Inspector: Remove live-edit code
44339        https://bugs.webkit.org/show_bug.cgi?id=56177
44340
44341        * inspector/front-end/Settings.js:
44342        * inspector/front-end/SourceFrame.js:
44343        (WebInspector.SourceFrame):
44344        (WebInspector.SourceFrame.prototype._doubleClick):
44345        * inspector/front-end/TextViewer.js:
44346        (WebInspector.TextEditorMainPanel):
44347        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
44348
443492011-03-16  Alexis Menard  <alexis.menard@openbossa.org>
44350
44351        Reviewed by Martin Robinson.
44352
44353        [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it.
44354        https://bugs.webkit.org/show_bug.cgi?id=56403
44355
44356        In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING);
44357        As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched
44358        i.e the pause() made when beginScrubbing is done is just internal.
44359
44360        No new tests: Verified manually.
44361
44362        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44363        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
44364
443652011-03-16  Adam Barth  <abarth@webkit.org>
44366
44367        Reviewed by Eric Seidel.
44368
44369        WebCore GYP build should build platform/
44370        https://bugs.webkit.org/show_bug.cgi?id=56430
44371
44372        Adding platform/ to the GYP build required disabling
44373        ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent
44374        style issues.  I suspect we'll end up excluding some of these files
44375        from the build in the final analysis, but we might as well fix the
44376        style errors while we're here.
44377
44378        * bindings/js/JSMainThreadExecState.h:
44379        * bindings/js/ScheduledAction.h:
44380        * css/CSSPrimitiveValueCache.cpp:
44381        * gyp/WebCore.gyp:
44382        * platform/KillRingNone.cpp:
44383        (WebCore::KillRing::append):
44384        (WebCore::KillRing::prepend):
44385        * platform/graphics/ContextShadow.h:
44386        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
44387        (WebCore::LoopBlinnPathProcessor::buildContours):
44388        (WebCore::TessellationState::combineCallback):
44389        * platform/graphics/gpu/PODRedBlackTree.h:
44390        (WebCore::PODRedBlackTree::updateNode):
44391        (WebCore::PODRedBlackTree::logIfVerbose):
44392        * platform/graphics/opengl/TextureMapperGL.cpp:
44393        * platform/graphics/opengl/TextureMapperGL.h:
44394        * platform/graphics/texmap/TextureMapper.h:
44395        (WebCore::BitmapTexture::save):
44396        (WebCore::TextureMapper::paintToTarget):
44397        * platform/graphics/texmap/TextureMapperNode.h:
44398
443992011-03-15  Philippe Normand  <pnormand@igalia.com>
44400
44401        Reviewed by Eric Carlson.
44402
44403        [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails
44404        https://bugs.webkit.org/show_bug.cgi?id=56370
44405
44406        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44407        (WebCore::mediaPlayerPrivateMessageCallback): Let the
44408        mediaPlayerClient handle the stream error, in this case the
44409        HTMLMediaElement will emit a stalled event.
44410
444112011-03-10  Philippe Normand  <pnormand@igalia.com>
44412
44413        Reviewed by Martin Robinson.
44414
44415        [GStreamer] Frame accurate seeking isn't always accurate
44416        https://bugs.webkit.org/show_bug.cgi?id=55217
44417
44418        Attempt to build the seek GstClockTime position by converting the
44419        float time value to a GTimeVal value rounded at microsecond
44420        precision. Additionally perform the seek with the ACCURATE seek
44421        flag. These modifications at least fix this manual-test:
44422        http://www.massive-interactive.nl/html5_video/smpte_test_universal.html
44423
44424        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44425        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
44426        (WebCore::MediaPlayerPrivateGStreamer::seek):
44427        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44428
444292011-03-15  Yury Semikhatsky  <yurys@chromium.org>
44430
44431        Reviewed by Pavel Feldman.
44432
44433        Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests
44434        https://bugs.webkit.org/show_bug.cgi?id=56389
44435
44436        Instead of sending one big request populateScriptObjects each agent requests
44437        for initial data in its constructor.
44438
44439        * inspector/Inspector.idl:
44440        * inspector/InspectorAgent.cpp:
44441        (WebCore::InspectorAgent::InspectorAgent):
44442        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
44443        (WebCore::InspectorAgent::setFrontend):
44444        (WebCore::InspectorAgent::pushDataCollectedOffline):
44445        (WebCore::InspectorAgent::getPreferredPanel):
44446        * inspector/InspectorAgent.h:
44447        * inspector/InspectorDOMAgent.cpp:
44448        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
44449        (WebCore::InspectorDOMAgent::setFrontend):
44450        (WebCore::InspectorDOMAgent::restore):
44451        * inspector/InspectorDOMAgent.h:
44452        (WebCore::InspectorDOMAgent::create):
44453        * inspector/InspectorDebuggerAgent.cpp:
44454        (WebCore::InspectorDebuggerAgent::setFrontend):
44455        * inspector/InspectorDebuggerAgent.h:
44456        * inspector/InspectorProfilerAgent.h:
44457        (WebCore::InspectorProfilerAgent::isEnabled):
44458        * inspector/front-end/ProfilesPanel.js:
44459        (WebInspector.ProfilesPanel):
44460        * inspector/front-end/ScriptsPanel.js:
44461        (WebInspector.ScriptsPanel):
44462        * inspector/front-end/inspector.js:
44463
444642011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
44465
44466        Reviewed by Darin Adler.
44467
44468        Devirtualize isContentEditable and isRichlyContentEditable
44469        https://bugs.webkit.org/show_bug.cgi?id=56421
44470
44471        Rewrote Node::isContentEditable as a non-recursive non-virtual function.
44472
44473        * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable.
44474        * dom/Document.h: Ditto.
44475        * dom/Node.cpp:
44476        (WebCore::Node::isContentEditable): Rewritten.
44477        * dom/Node.h:
44478        (WebCore::Node::isContentEditable): Calls isContentEditable(Editable).
44479        (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable).
44480        * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable.
44481        * html/HTMLElement.h: Ditto.
44482
444832011-03-15  Adam Barth  <abarth@webkit.org>
44484
44485        Reviewed by Eric Seidel.
44486
44487        WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/
44488        https://bugs.webkit.org/show_bug.cgi?id=56412
44489
44490        Yay for smooth sailing.
44491
44492        * gyp/WebCore.gyp:
44493
444942011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
44495
44496        Reviewed by Kent Tamura.
44497
44498        REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved
44499        https://bugs.webkit.org/show_bug.cgi?id=56059
44500
44501        Test: fast/dom/HTMLInputElement/input-slider-update-styled.html
44502
44503        * html/RangeInputType.cpp:
44504        (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue.
44505        * html/shadow/SliderThumbElement.cpp:
44506        (WebCore::SliderThumbElement::setPositionFromValue): Added.
44507        (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint.
44508        (WebCore::SliderThumbElement::setPositionFromPoint): Ditto.
44509        (WebCore::SliderThumbElement::defaultEventHandler): Ditto.
44510        * html/shadow/SliderThumbElement.h: Added decls.
44511
445122011-03-15  David Levin  <levin@chromium.org>
44513
44514        Attempted build fix following r81213. Same song second verse.
44515
44516        * platform/image-encoders/skia/PNGImageEncoder.cpp:
44517        (WebCore::encodePixels):
44518
445192011-03-15  David Levin  <levin@chromium.org>
44520
44521        Attempted build fix for Chromium OSX release build following r81213.
44522
44523        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
44524        (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call.
44525
445262011-03-15  John Bauman  <jbauman@chromium.org>
44527
44528        Reviewed by Kenneth Russell.
44529
44530        Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D
44531        https://bugs.webkit.org/show_bug.cgi?id=56238
44532
44533       Attempt to get an ImageData (non-premultiplied) from a WebGL canvas
44534       instead of getting an ImageBuffer, so there's a chance the data can be
44535       passed straight through to the consumer with no premultiplication
44536       necessary. Fixes Chromium and Safari.
44537
44538        Test: fast/canvas/webgl/premultiplyalpha-test.html
44539
44540        * html/HTMLCanvasElement.cpp:
44541        (WebCore::HTMLCanvasElement::toDataURL):
44542        (WebCore::HTMLCanvasElement::getImageData):
44543        * html/HTMLCanvasElement.h:
44544        * html/canvas/WebGLRenderingContext.cpp:
44545        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
44546        (WebCore::WebGLRenderingContext::texImage2D):
44547        (WebCore::WebGLRenderingContext::texSubImage2D):
44548        * html/canvas/WebGLRenderingContext.h:
44549        * platform/graphics/GraphicsContext3D.h:
44550        * platform/graphics/ImageBuffer.h:
44551        * platform/graphics/cg/ImageBufferCG.cpp:
44552        (WebCore::CGImageToDataURL):
44553        (WebCore::ImageBuffer::toDataURL):
44554        (WebCore::ImageDataToDataURL):
44555        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
44556        (WebCore::GraphicsContext3D::validateAttributes):
44557        (WebCore::GraphicsContext3D::readRenderingResults):
44558        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
44559        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
44560        * platform/graphics/qt/GraphicsContext3DQt.cpp:
44561        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
44562        * platform/graphics/skia/ImageBufferSkia.cpp:
44563        (WebCore::ImageToDataURL):
44564        (WebCore::ImageBuffer::toDataURL):
44565        (WebCore::ImageDataToDataURL):
44566        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
44567        (WebCore::preMultipliedBGRAtoRGB):
44568        (WebCore::RGBAtoRGB):
44569        (WebCore::encodePixels):
44570        (WebCore::JPEGImageEncoder::encode):
44571        * platform/image-encoders/skia/JPEGImageEncoder.h:
44572        * platform/image-encoders/skia/PNGImageEncoder.cpp:
44573        (WebCore::preMultipliedBGRAtoRGBA):
44574        (WebCore::encodePixels):
44575        (WebCore::PNGImageEncoder::encode):
44576        * platform/image-encoders/skia/PNGImageEncoder.h:
44577
445782011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
44579
44580        [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled.
44581
44582        * storage/IDBDatabaseCallbacksImpl.cpp:
44583
445842011-03-15  Brady Eidson  <beidson@apple.com>
44585
44586        Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425
44587
44588        * loader/icon/IconDatabaseBase.h: #include instead of forward declare.
44589
445902011-03-15  Beth Dakin  <bdakin@apple.com>
44591
44592        Reviewed by Darin Adler.
44593
44594        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to
44595        send notifications appropriate times (showing up, resizing)
44596        -and corresponding-
44597        https://bugs.webkit.org/show_bug.cgi?id=56067
44598
44599        The general strategy here is to add a HashSet of ScrollableAreas to the page that
44600        can be accessed when necessary to send notifications to all ScrollableAreas. In
44601        turn, all of the ScrollableArea classes that add themselves to the HashSet must
44602        keep a weak pointer to Page so that they can remove themselves without relying on
44603        Frames or Renderers to still have references.
44604
44605        Find layers for relevant node and if the layers are in the Page's ScrollableArea
44606        set, then send the relevant notification.
44607        * page/EventHandler.cpp:
44608        (WebCore::layerForNode):
44609        (WebCore::EventHandler::mouseMoved):
44610        (WebCore::EventHandler::updateMouseEventTargetNode):
44611
44612        When the page is set active or not active, iterate through the Page's
44613        ScrollableAreas to send hide/show notifications.
44614        * page/FocusController.cpp:
44615        (WebCore::FocusController::setActive):
44616
44617        When a FrameView is created, add it to the ScrollableArea set. When it's
44618        destroyed, remove it.
44619        * page/FrameView.cpp:
44620        (WebCore::FrameView::FrameView):
44621        (WebCore::FrameView::~FrameView):
44622
44623        Iterate through the Page's ScrollableAreas to send the paint notification.
44624        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
44625        * page/FrameView.h:
44626        (WebCore::FrameView::disconnectFromPage):
44627
44628        Add the new ScrollableArea set.
44629        * page/Page.cpp:
44630        (WebCore::Page::~Page):
44631        (WebCore::Page::addScrollableArea):
44632(WebCore::Page::removeScrollableArea):
44633        (WebCore::Page::containsScrollableArea):
44634        * page/Page.h:
44635        (WebCore::Page::scrollableAreaSet):
44636
44637        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
44638        * platform/ScrollView.cpp:
44639        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
44640
44641        Call notifyPageThatContentAreaWillPaint() instead of calling
44642        contentAreaWillPaint() just for the ScrollView.
44643        (WebCore::ScrollView::paint):
44644        * platform/ScrollView.h:
44645
44646        Add/remove ScrollableAreas to the set. Add new disconnectFromPage().
44647        * platform/ScrollableArea.h:
44648        (WebCore::ScrollableArea::disconnectFromPage):
44649        * rendering/RenderDataGrid.cpp:
44650        (WebCore::RenderDataGrid::RenderDataGrid):
44651        (WebCore::RenderDataGrid::~RenderDataGrid):
44652        * rendering/RenderDataGrid.h:
44653        (WebCore::RenderDataGrid::disconnectFromPage):
44654        * rendering/RenderLayer.cpp:
44655        (WebCore::RenderLayer::RenderLayer):
44656        (WebCore::RenderLayer::~RenderLayer):
44657        * rendering/RenderLayer.h:
44658        (WebCore::RenderLayer::disconnectFromPage):
44659        * rendering/RenderListBox.cpp:
44660        (WebCore::RenderListBox::RenderListBox):
44661        (WebCore::RenderListBox::~RenderListBox):
44662        * rendering/RenderListBox.h:
44663        (WebCore::RenderListBox::disconnectFromPage):
44664
44665        Should have implemented this ScrollableArea-interface function a while ago.
44666        (WebCore::RenderLayer::currentMousePosition):
44667
446682011-03-15  Brady Eidson  <beidson@apple.com>
44669
44670        Reviewed by Sam Weinig.
44671
44672        https://bugs.webkit.org/show_bug.cgi?id=56425
44673        WebKit2 icon database.
44674
44675        * WebCore.exp.in:
44676
446772011-03-15  Adam Barth  <abarth@webkit.org>
44678
44679        Reviewed by Dimitri Glazkov.
44680
44681        WebCore GYP build should build editing, fileapi, history, and html
44682        https://bugs.webkit.org/show_bug.cgi?id=56411
44683
44684        These all went smoothly.
44685
44686        * gyp/WebCore.gyp:
44687
446882011-03-15  Adam Barth  <abarth@webkit.org>
44689
44690        Reviewed by Eric Seidel.
44691
44692        WebCore GYP build should build dom/
44693        https://bugs.webkit.org/show_bug.cgi?id=56409
44694
44695        * gyp/WebCore.gyp:
44696
446972011-03-15  Adam Barth  <abarth@webkit.org>
44698
44699        Reviewed by Eric Seidel.
44700
44701        WebCore GYP build should build css/
44702        https://bugs.webkit.org/show_bug.cgi?id=56408
44703
44704        CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the
44705        build yet.  I've punted on that problem for now, but we'll come back to
44706        it.
44707
44708        * gyp/WebCore.gyp:
44709
447102011-03-15  Adam Barth  <abarth@webkit.org>
44711
44712        Reviewed by Dimitri Glazkov.
44713
44714        WebCore GYP build should build bindings/
44715        https://bugs.webkit.org/show_bug.cgi?id=56406
44716
44717        I wanted to include bindings/objc in this patch, but they were somewhat
44718        complicated.  It looks like they include headers from the output
44719        directory (via PrivateHeaders), but we haven't wired up the
44720        PrivateHeaders yet.
44721
44722        * gyp/WebCore.gyp:
44723
447242011-03-15  James Simonsen  <simonjam@chromium.org>
44725
44726        Reviewed by Tony Gentilcore.
44727
44728        Need different behavior for ensuring execution order of dynamically loaded scripts
44729        https://bugs.webkit.org/show_bug.cgi?id=50115
44730
44731        Dynamically added scripts with async=false will load in parallel, but execute in order.
44732        See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async
44733
44734        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
44735               http/tests/misc/script-async-load-execute-in-order.html
44736
44737        * Android.mk: Rename AsyncScriptRunner -> ScriptRunner.
44738        * CMakeLists.txt: Ditto.
44739        * GNUmakefile.am: Ditto.
44740        * WebCore.gypi: Ditto.
44741        * WebCore.pro: Ditto.
44742        * WebCore.vcproj/WebCore.vcproj: Ditto.
44743        * WebCore.xcodeproj/project.pbxproj: Ditto.
44744        * dom/DOMAllInOne.cpp: Ditto.
44745        * dom/Document.cpp:
44746        (WebCore::Document::Document): Ditto.
44747        (WebCore::Document::~Document): Ditto.
44748        * dom/Document.h:
44749        (WebCore::Document::scriptRunner): Ditto.
44750        * dom/ScriptElement.cpp:
44751        (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder.
44752        (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes.
44753        (WebCore::ScriptElement::prepareScript): Added support for forceAsync.
44754        (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed.
44755        * dom/ScriptElement.h:
44756        (WebCore::ScriptElement::forceAsync): Added.
44757        * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp.
44758        (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue.
44759        (WebCore::ScriptRunner::~ScriptRunner): Ditto.
44760        (WebCore::ScriptRunner::executeScriptSoon):
44761        (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added.
44762        (WebCore::ScriptRunner::suspend):
44763        (WebCore::ScriptRunner::resume):
44764        (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready.
44765        * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h.
44766        (WebCore::ScriptRunner::create):
44767        (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too.
44768        * html/HTMLScriptElement.cpp:
44769        (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes.
44770        (WebCore::HTMLScriptElement::setAsync): Ditto.
44771        (WebCore::HTMLScriptElement::async): Include forceAsync in calculation.
44772        * html/HTMLScriptElement.h:
44773        * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior.
44774        * page/PageGroupLoadDeferrer.cpp:
44775        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner.
44776        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto.
44777
447782011-03-15  Tony Chang  <tony@chromium.org>
44779
44780        Reviewed by Adam Barth.
44781
44782        pngcrush images used by inspector
44783        https://bugs.webkit.org/show_bug.cgi?id=56426
44784
44785        This saves 120k in WebCore and 8k in WebKit/chromium.  I ran
44786        pngcrush -brute, so none of the meta data (ancillary chunks)
44787        are modified.
44788
44789        No new tests, just compressing png files.
44790
44791        * inspector/front-end/Images/applicationCache.png:
44792        * inspector/front-end/Images/auditsIcon.png:
44793        * inspector/front-end/Images/back.png:
44794        * inspector/front-end/Images/breakpointBorder.png:
44795        * inspector/front-end/Images/breakpointConditionalBorder.png:
44796        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
44797        * inspector/front-end/Images/breakpointCounterBorder.png:
44798        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png:
44799        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png:
44800        * inspector/front-end/Images/checker.png:
44801        * inspector/front-end/Images/clearConsoleButtonGlyph.png:
44802        * inspector/front-end/Images/closeButtons.png:
44803        * inspector/front-end/Images/consoleButtonGlyph.png:
44804        * inspector/front-end/Images/consoleIcon.png:
44805        * inspector/front-end/Images/cookie.png:
44806        * inspector/front-end/Images/database.png:
44807        * inspector/front-end/Images/databaseTable.png:
44808        * inspector/front-end/Images/debuggerContinue.png:
44809        * inspector/front-end/Images/debuggerPause.png:
44810        * inspector/front-end/Images/debuggerStepInto.png:
44811        * inspector/front-end/Images/debuggerStepOut.png:
44812        * inspector/front-end/Images/debuggerStepOver.png:
44813        * inspector/front-end/Images/disclosureTriangleSmallDown.png:
44814        * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png:
44815        * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png:
44816        * inspector/front-end/Images/disclosureTriangleSmallRight.png:
44817        * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png:
44818        * inspector/front-end/Images/disclosureTriangleSmallRightDown.png:
44819        * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png:
44820        * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png:
44821        * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png:
44822        * inspector/front-end/Images/dockButtonGlyph.png:
44823        * inspector/front-end/Images/elementsIcon.png:
44824        * inspector/front-end/Images/enableOutlineButtonGlyph.png:
44825        * inspector/front-end/Images/enableSolidButtonGlyph.png:
44826        * inspector/front-end/Images/errorIcon.png:
44827        * inspector/front-end/Images/errorMediumIcon.png:
44828        * inspector/front-end/Images/errorRedDot.png:
44829        * inspector/front-end/Images/excludeButtonGlyph.png:
44830        * inspector/front-end/Images/focusButtonGlyph.png:
44831        * inspector/front-end/Images/forward.png:
44832        * inspector/front-end/Images/frame.png:
44833        * inspector/front-end/Images/garbageCollectButtonGlyph.png:
44834        * inspector/front-end/Images/gearButtonGlyph.png:
44835        * inspector/front-end/Images/glossyHeader.png:
44836        * inspector/front-end/Images/glossyHeaderPressed.png:
44837        * inspector/front-end/Images/glossyHeaderSelected.png:
44838        * inspector/front-end/Images/glossyHeaderSelectedPressed.png:
44839        * inspector/front-end/Images/goArrow.png:
44840        * inspector/front-end/Images/graphLabelCalloutLeft.png:
44841        * inspector/front-end/Images/graphLabelCalloutRight.png:
44842        * inspector/front-end/Images/helpButtonGlyph.png:
44843        * inspector/front-end/Images/largerResourcesButtonGlyph.png:
44844        * inspector/front-end/Images/localStorage.png:
44845        * inspector/front-end/Images/networkIcon.png:
44846        * inspector/front-end/Images/nodeSearchButtonGlyph.png:
44847        * inspector/front-end/Images/paneAddButtons.png:
44848        * inspector/front-end/Images/paneBottomGrow.png:
44849        * inspector/front-end/Images/paneBottomGrowActive.png:
44850        * inspector/front-end/Images/paneGrowHandleLine.png:
44851        * inspector/front-end/Images/paneSettingsButtons.png:
44852        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png:
44853        * inspector/front-end/Images/percentButtonGlyph.png:
44854        * inspector/front-end/Images/popoverArrows.png:
44855        * inspector/front-end/Images/popoverBackground.png:
44856        * inspector/front-end/Images/profileGroupIcon.png:
44857        * inspector/front-end/Images/profileIcon.png:
44858        * inspector/front-end/Images/profileSmallIcon.png:
44859        * inspector/front-end/Images/profilesIcon.png:
44860        * inspector/front-end/Images/profilesSilhouette.png:
44861        * inspector/front-end/Images/programCounterBorder.png:
44862        * inspector/front-end/Images/radioDot.png:
44863        * inspector/front-end/Images/recordButtonGlyph.png:
44864        * inspector/front-end/Images/recordToggledButtonGlyph.png:
44865        * inspector/front-end/Images/reloadButtonGlyph.png:
44866        * inspector/front-end/Images/resourceCSSIcon.png:
44867        * inspector/front-end/Images/resourceDocumentIcon.png:
44868        * inspector/front-end/Images/resourceDocumentIconSmall.png:
44869        * inspector/front-end/Images/resourceJSIcon.png:
44870        * inspector/front-end/Images/resourcePlainIcon.png:
44871        * inspector/front-end/Images/resourcePlainIconSmall.png:
44872        * inspector/front-end/Images/resourcesIcon.png:
44873        * inspector/front-end/Images/resourcesSizeGraphIcon.png:
44874        * inspector/front-end/Images/resourcesTimeGraphIcon.png:
44875        * inspector/front-end/Images/scriptsIcon.png:
44876        * inspector/front-end/Images/scriptsSilhouette.png:
44877        * inspector/front-end/Images/searchSmallBlue.png:
44878        * inspector/front-end/Images/searchSmallBrightBlue.png:
44879        * inspector/front-end/Images/searchSmallGray.png:
44880        * inspector/front-end/Images/searchSmallWhite.png:
44881        * inspector/front-end/Images/segment.png:
44882        * inspector/front-end/Images/segmentEnd.png:
44883        * inspector/front-end/Images/segmentHover.png:
44884        * inspector/front-end/Images/segmentHoverEnd.png:
44885        * inspector/front-end/Images/segmentSelected.png:
44886        * inspector/front-end/Images/segmentSelectedEnd.png:
44887        * inspector/front-end/Images/sessionStorage.png:
44888        * inspector/front-end/Images/splitviewDimple.png:
44889        * inspector/front-end/Images/splitviewDividerBackground.png:
44890        * inspector/front-end/Images/statusbarButtons.png:
44891        * inspector/front-end/Images/statusbarMenuButton.png:
44892        * inspector/front-end/Images/statusbarMenuButtonSelected.png:
44893        * inspector/front-end/Images/statusbarResizerHorizontal.png:
44894        * inspector/front-end/Images/statusbarResizerVertical.png:
44895        * inspector/front-end/Images/successGreenDot.png:
44896        * inspector/front-end/Images/thumbActiveHoriz.png:
44897        * inspector/front-end/Images/thumbActiveVert.png:
44898        * inspector/front-end/Images/thumbHoriz.png:
44899        * inspector/front-end/Images/thumbHoverHoriz.png:
44900        * inspector/front-end/Images/thumbHoverVert.png:
44901        * inspector/front-end/Images/thumbVert.png:
44902        * inspector/front-end/Images/timelineBarBlue.png:
44903        * inspector/front-end/Images/timelineBarGray.png:
44904        * inspector/front-end/Images/timelineBarGreen.png:
44905        * inspector/front-end/Images/timelineBarOrange.png:
44906        * inspector/front-end/Images/timelineBarPurple.png:
44907        * inspector/front-end/Images/timelineBarRed.png:
44908        * inspector/front-end/Images/timelineBarYellow.png:
44909        * inspector/front-end/Images/timelineCheckmarks.png:
44910        * inspector/front-end/Images/timelineDots.png:
44911        * inspector/front-end/Images/timelineHollowPillBlue.png:
44912        * inspector/front-end/Images/timelineHollowPillGray.png:
44913        * inspector/front-end/Images/timelineHollowPillGreen.png:
44914        * inspector/front-end/Images/timelineHollowPillOrange.png:
44915        * inspector/front-end/Images/timelineHollowPillPurple.png:
44916        * inspector/front-end/Images/timelineHollowPillRed.png:
44917        * inspector/front-end/Images/timelineHollowPillYellow.png:
44918        * inspector/front-end/Images/timelineIcon.png:
44919        * inspector/front-end/Images/timelinePillBlue.png:
44920        * inspector/front-end/Images/timelinePillGray.png:
44921        * inspector/front-end/Images/timelinePillGreen.png:
44922        * inspector/front-end/Images/timelinePillOrange.png:
44923        * inspector/front-end/Images/timelinePillPurple.png:
44924        * inspector/front-end/Images/timelinePillRed.png:
44925        * inspector/front-end/Images/timelinePillYellow.png:
44926        * inspector/front-end/Images/toolbarItemSelected.png:
44927        * inspector/front-end/Images/trackHoriz.png:
44928        * inspector/front-end/Images/trackVert.png:
44929        * inspector/front-end/Images/treeDownTriangleBlack.png:
44930        * inspector/front-end/Images/treeDownTriangleWhite.png:
44931        * inspector/front-end/Images/treeRightTriangleBlack.png:
44932        * inspector/front-end/Images/treeRightTriangleWhite.png:
44933        * inspector/front-end/Images/treeUpTriangleBlack.png:
44934        * inspector/front-end/Images/treeUpTriangleWhite.png:
44935        * inspector/front-end/Images/undockButtonGlyph.png:
44936        * inspector/front-end/Images/userInputIcon.png:
44937        * inspector/front-end/Images/userInputPreviousIcon.png:
44938        * inspector/front-end/Images/userInputResultIcon.png:
44939        * inspector/front-end/Images/warningIcon.png:
44940        * inspector/front-end/Images/warningMediumIcon.png:
44941        * inspector/front-end/Images/warningOrangeDot.png:
44942        * inspector/front-end/Images/warningsErrors.png:
44943
449442011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
44945
44946        Reviewed by Tony Chang.
44947
44948        Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node
44949        https://bugs.webkit.org/show_bug.cgi?id=56372
44950
44951        The bug was caused by insertNodeAfter's calling parentElement on document's child.
44952        Fixed this by changing the node that AppendNodeCommand takes.
44953
44954        There was also a bug that document node always returned false for isContentEditable
44955        and isContentRichlyEditable because they never overrode Node's default implementation.
44956        Fixed this by overriding them in Document.
44957
44958        Test: editing/execCommand/append-node-under-document.html
44959
44960        * dom/Document.cpp:
44961        (WebCore::Document::isContentEditable): Added.
44962        (WebCore::Document::isContentRichlyEditable): Added.
44963        * dom/Document.h:
44964        * editing/AppendNodeCommand.cpp:
44965        (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element.
44966        * editing/AppendNodeCommand.h:
44967        (WebCore::AppendNodeCommand::create): Ditto.
44968        * editing/CompositeEditCommand.cpp:
44969        (WebCore::CompositeEditCommand::appendNode): Ditto.
44970        (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement.
44971        * editing/CompositeEditCommand.h:
44972
449732011-03-15  David Grogan  <dgrogan@chromium.org>
44974
44975        Reviewed by Jeremy Orlow.
44976
44977        Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects
44978        https://bugs.webkit.org/show_bug.cgi?id=56350
44979
44980        When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects
44981        calls stop() on each ActiveDOMObject.
44982
44983        Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed:
44984        * IDBDatabase::stop() causes the chrome message dispatcher to remove
44985        its reference to IDBDatabase, which it has as type
44986        IDBDatabaseCallbacks.
44987        * If that reference is the last one, the IDBDatabase is destroyed.
44988        * Destroying an ActiveDOMObject while they are being iterated over causes
44989        a defensive crash.
44990
44991        This change creates a separate IDBDatabaseCallbacks object that is not
44992        an ActiveDOMObject, so it can be destroyed by
44993        ScriptExecutionContext::stopActiveDOMObjects.
44994
44995        Because the chrome message dispatcher is only used in multi-process
44996        chromium, that's the only platform affected.  Chromium browser tests
44997        forthcoming.
44998
44999        * WebCore.gypi:
45000        * storage/IDBDatabase.cpp:
45001        (WebCore::IDBDatabase::IDBDatabase):
45002        (WebCore::IDBDatabase::~IDBDatabase):
45003        (WebCore::IDBDatabase::setVersion):
45004        (WebCore::IDBDatabase::close):
45005        (WebCore::IDBDatabase::open):
45006        * storage/IDBDatabase.h:
45007        * storage/IDBDatabaseCallbacks.h:
45008        (WebCore::IDBDatabaseCallbacks::unRegisterDatabase):
45009        * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
45010        (WebCore::IDBDatabaseCallbacksImpl::create):
45011        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
45012        (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
45013        (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase):
45014        * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
45015        (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl):
45016
450172011-03-15  Adam Barth  <abarth@webkit.org>
45018
45019        Reviewed by Dimitri Glazkov.
45020
45021        accessibility should build in WebCore GYP build
45022        https://bugs.webkit.org/show_bug.cgi?id=56405
45023
45024        This patch changes our include/exclude strategy to more closely match
45025        the strategy used by the Chromium GYP build system.  Ideally, we'd find
45026        a way to share more of these patterns.  In the meantime, I'm going to
45027        slowly increase the number of translation units in the project and
45028        adjust the include/exclude filters appropriately.
45029
45030        * gyp/WebCore.gyp:
45031
450322011-03-15  Alexey Proskuryakov  <ap@apple.com>
45033
45034        Reviewed by Darin Adler.
45035
45036        REGRESSION (WebKit2): keygen element doesn't work
45037        https://bugs.webkit.org/show_bug.cgi?id=56402
45038        <rdar://problem/9006545>
45039
45040        Covered by existing regresison tests.
45041
45042        * English.lproj/Localizable.strings:
45043
45044        * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added
45045        _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore.
45046
45047        * platform/mac/SSLKeyGeneratorMac.mm: Removed.
45048        * platform/mac/WebCoreKeyGenerator.h: Removed.
45049        * platform/mac/WebCoreKeyGenerator.m: Removed.
45050        * platform/mac/WebCoreSystemInterface.h:
45051        * platform/mac/WebCoreSystemInterface.mm:
45052        * WebCore.xcodeproj/project.pbxproj:
45053        Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more.
45054        Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit.
45055
45056        * platform/LocalizationStrategy.h:
45057        * platform/LocalizedStrings.cpp:
45058        (WebCore::keygenMenuItem512):
45059        (WebCore::keygenMenuItem1024):
45060        (WebCore::keygenMenuItem2048):
45061        (WebCore::keygenKeychainItemName):
45062        * platform/LocalizedStrings.h:
45063        Added strings used by keygen element, now that the code using them is in WebCore.
45064
45065        * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm.
45066        (WebCore::getSupportedKeySizes):
45067        (WebCore::signedPublicKeyAndChallengeString):
45068        Moved the code from WebKit. There is never any need to provide implementation at runtime,
45069        like old code was doing.
45070
45071        * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes):
45072        Added a FIXME about localization. Note that Safari for Windows doesn't support keygen.
45073
450742011-03-15  Anders Carlsson  <andersca@apple.com>
45075
45076        Fix clang build.
45077
45078        * platform/graphics/GraphicsContext3D.h:
45079        * platform/graphics/GraphicsLayer.h:
45080
450812011-03-15  Simon Fraser  <simon.fraser@apple.com>
45082
45083        Fix Lion build after r81161.
45084
45085        Pass the PlatformCALayer down into drawLayerContents()
45086        so we can use its acceleratesDrawing() method.
45087
45088        * platform/graphics/mac/WebLayer.h:
45089        * platform/graphics/mac/WebLayer.mm:
45090        (drawLayerContents):
45091        (-[WebLayer drawInContext:]):
45092        * platform/graphics/mac/WebTiledLayer.mm:
45093        (-[WebTiledLayer drawInContext:]):
45094
450952011-03-15  Alok priyadarshi  <alokp@chromium.org>
45096
45097        Reviewed by James Robinson.
45098
45099        Valgrind error due to uninitialized PluginLayerChromium::m_textureId
45100        https://bugs.webkit.org/show_bug.cgi?id=56390
45101
45102        * platform/graphics/chromium/PluginLayerChromium.cpp:
45103        (WebCore::PluginLayerChromium::PluginLayerChromium):
45104        * platform/graphics/chromium/PluginLayerChromium.h:
45105        (WebCore::PluginLayerChromium::textureId):
45106
451072011-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
45108
45109        Reviewed by Dirk Schulze.
45110
45111        REGRESSION (r68976): Incorrect bidi rendering in SVG text
45112        https://bugs.webkit.org/show_bug.cgi?id=53980
45113
45114        rework the test engine or SVG "text-intro" tests so we can turn them back on
45115        https://bugs.webkit.org/show_bug.cgi?id=6524
45116
45117        svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present
45118        https://bugs.webkit.org/show_bug.cgi?id=11662
45119
45120        svg/batik/text/textBiDi.svg failing
45121        https://bugs.webkit.org/show_bug.cgi?id=17392
45122
45123        SVG bidi examples at w3C I18N WG tutorials are not rendered correctly.
45124        https://bugs.webkit.org/show_bug.cgi?id=24374
45125
45126        Implement proper bidirectionality support for SVG text.
45127
45128        BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in
45129        the order the characters appear in the markup), and when laying out bidi text, we associated the current character
45130        in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout.
45131        The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct.
45132
45133        Long story:
45134        Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics>
45135        for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in
45136        the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with
45137        "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6
45138        width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class).
45139        The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands
45140        that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10").
45141
45142        To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all
45143        characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to
45144        determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the
45145        inline box tree, in _visual order_, as it will appear on screen.
45146
45147        After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the
45148        found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout
45149        rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position
45150        in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order,
45151        the x/y/.. lists are all in logical order.
45152
45153        Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction:
45154                 the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20".
45155
45156        Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine,
45157        before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now
45158        process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order.
45159
45160        Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated,
45161        which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of
45162        shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by
45163        dozens of new tests.
45164
45165        Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg
45166               svg/W3C-I18N/g-dirLTR-ubOverride.svg
45167               svg/W3C-I18N/g-dirRTL-ubNone.svg
45168               svg/W3C-I18N/g-dirRTL-ubOverride.svg
45169               svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg
45170               svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
45171               svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
45172               svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
45173               svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
45174               svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
45175               svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
45176               svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
45177               svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
45178               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
45179               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
45180               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
45181               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
45182               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
45183               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
45184               svg/W3C-I18N/text-anchor-no-markup.svg
45185               svg/W3C-I18N/text-dirLTR-ubNone.svg
45186               svg/W3C-I18N/text-dirLTR-ubOverride.svg
45187               svg/W3C-I18N/text-dirRTL-ubNone.svg
45188               svg/W3C-I18N/text-dirRTL-ubOverride.svg
45189               svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg
45190               svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg
45191               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg
45192               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg
45193               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg
45194               svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg
45195               svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg
45196               svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg
45197               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg
45198               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg
45199               svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg
45200               svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg
45201               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg
45202               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg
45203               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg
45204               svg/W3C-I18N/tspan-direction-ltr.svg
45205               svg/W3C-I18N/tspan-direction-rtl.svg
45206               svg/W3C-SVG-1.1-SE/text-intro-02-b.svg
45207               svg/W3C-SVG-1.1-SE/text-intro-05-t.svg
45208               svg/W3C-SVG-1.1-SE/text-intro-09-b.svg
45209               svg/W3C-SVG-1.1/text-align-08-b.svg
45210               svg/W3C-SVG-1.1/text-fonts-03-t.svg
45211               svg/W3C-SVG-1.1/text-intro-01-t.svg
45212               svg/W3C-SVG-1.1/text-intro-02-b.svg
45213               svg/W3C-SVG-1.1/text-intro-03-b.svg
45214               svg/W3C-SVG-1.1/text-intro-04-t.svg
45215               svg/text/bidi-reorder-value-lists.svg
45216               svg/text/bidi-text-anchor-direction.svg
45217               svg/text/bidi-text-query.svg
45218               svg/text/bidi-tspans.svg
45219
45220        * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text.
45221        (WebCore::RenderBlock::determineStartPosition):
45222        * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/
45223        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
45224        (WebCore::SVGInlineTextBox::constructTextRun):
45225        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
45226        * rendering/svg/SVGRenderTreeAsText.cpp: Ditto.
45227        (WebCore::writeSVGInlineTextBox):
45228        * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup).
45229                                              This is needed as we have to process x/y/dx/dy/rotate value lists of text/tspan/.. elements in logical order, not in visual
45230                                              order as the characters are presented on screen.
45231        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
45232        (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder):
45233        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
45234        * rendering/svg/SVGRootInlineBox.h:
45235        * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption.
45236        (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left.
45237        (WebCore::SVGTextChunk::calculateLength):
45238        (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl).
45239        * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield.
45240        (WebCore::SVGTextChunk::isVerticalText):
45241        (WebCore::SVGTextChunk::hasDesiredTextLength):
45242        (WebCore::SVGTextChunk::hasTextAnchor):
45243        (WebCore::SVGTextChunk::hasLengthAdjustSpacing):
45244        (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs):
45245        * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes.
45246        (WebCore::SVGTextChunkBuilder::addTextChunk):
45247        (WebCore::SVGTextChunkBuilder::processTextChunk):
45248        * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text.
45249        (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array.
45250        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp
45251        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object
45252                                                                              that we cache, refers to the _rendered_ character. For Arabic text that means, that we're
45253                                                                              measuring the shaped width of the glyph, not the glyph in its isolated form. Without that
45254                                                                              fix reordering boxes containing Arabic is wrong.
45255        * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm
45256                                                 has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have
45257                                                 to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine,
45258                                                 to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog.
45259        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
45260        (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph.
45261                                                            The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for
45262                                                            Arabic until now.)
45263        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
45264        (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list.
45265        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
45266        * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct.
45267        (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange):
45268        * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method.
45269        (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed.
45270        * rendering/svg/SVGTextMetrics.h:
45271        (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic).
45272        * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/
45273        (WebCore::SVGTextQuery::subStringLengthCallback):
45274        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
45275        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
45276        (WebCore::calculateGlyphBoundaries):
45277
452782011-03-15  Sergio Villar Senin  <svillar@igalia.com>
45279
45280        Reviewed by Xan Lopez.
45281
45282        [GTK] Fix make distcheck for 1.3.13 release
45283        https://bugs.webkit.org/show_bug.cgi?id=56371
45284
45285        No new tests as this is a build fix.
45286
45287        * GNUmakefile.am: added a couple of missing files.
45288
452892011-03-08  Levi Weintraub  <leviw@chromium.org>
45290
45291        Reviewed by Ryosuke Niwa.
45292
45293        Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode
45294        https://bugs.webkit.org/show_bug.cgi?id=52642
45295
45296        Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous
45297        functions that create new positions. Also fixing various parts of editing code that
45298        incorrectly handled the new positions now being created.
45299
45300        No new tests as this is refactoring/cleanup.
45301
45302        * accessibility/AccessibilityRenderObject.cpp:
45303        (WebCore::AccessibilityRenderObject::visiblePositionRange):
45304        * dom/Position.cpp:
45305        (WebCore::Position::parentAnchoredEquivalent):
45306        (WebCore::Position::previous):
45307        (WebCore::Position::next):
45308        (WebCore::Position::atFirstEditingPositionForNode):
45309        (WebCore::Position::atLastEditingPositionForNode):
45310        (WebCore::Position::upstream):
45311        (WebCore::Position::isCandidate):
45312        (WebCore::Position::getInlineBoxAndOffset):
45313        * dom/Position.h:
45314        (WebCore::operator==):
45315        * dom/PositionIterator.cpp:
45316        (WebCore::PositionIterator::operator Position):
45317        * editing/ApplyBlockElementCommand.cpp:
45318        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
45319        * editing/CompositeEditCommand.cpp:
45320        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
45321        * editing/DeleteSelectionCommand.cpp:
45322        (WebCore::isTableCellEmpty):
45323        (WebCore::DeleteSelectionCommand::removeNode):
45324        * editing/InsertLineBreakCommand.cpp:
45325        (WebCore::InsertLineBreakCommand::doApply):
45326        * editing/InsertListCommand.cpp:
45327        (WebCore::InsertListCommand::unlistifyParagraph):
45328        * editing/ReplaceSelectionCommand.cpp:
45329        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
45330        * editing/TypingCommand.cpp:
45331        (WebCore::TypingCommand::forwardDeleteKeyPressed):
45332        * editing/VisibleSelection.cpp:
45333        (WebCore::VisibleSelection::selectionFromContentsOfNode):
45334        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
45335        * editing/htmlediting.cpp:
45336        (WebCore::firstEditablePositionAfterPositionInRoot):
45337        (WebCore::lastEditablePositionBeforePositionInRoot):
45338        (WebCore::enclosingEmptyListItem):
45339        * editing/htmlediting.h:
45340        * editing/visible_units.cpp:
45341        (WebCore::startOfParagraph):
45342        (WebCore::endOfParagraph):
45343        (WebCore::startOfEditableContent):
45344        (WebCore::endOfEditableContent):
45345        * rendering/RenderBox.cpp:
45346        (WebCore::RenderBox::positionForPoint):
45347
453482011-03-15  Beth Dakin  <bdakin@apple.com>
45349
45350        Attempted build fix.
45351
45352        * platform/mac/ScrollAnimatorMac.mm:
45353        (WebCore::ScrollAnimatorMac::cancelAnimations):
45354
453552011-03-15  David Hyatt  <hyatt@apple.com>
45356
45357        Reviewed by Dave Levin.
45358
45359        https://bugs.webkit.org/show_bug.cgi?id=56329
45360
45361        Fix FontCache problems on Linux.  Make sure not to mutate the platform data passed in to SimpleFontData's
45362        constructor.  Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of
45363        mutating orientation.
45364
45365        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
45366        (WebCore::SimpleFontData::platformInit):
45367
453682011-03-15  Simon Fraser  <simon.fraser@apple.com>
45369
45370        Reviewed by Dan Bernstein.
45371
45372        Disable ShadowBlur shadow drawing in accelerated contexts
45373        https://bugs.webkit.org/show_bug.cgi?id=56392
45374
45375        When drawing into a graphics context that is accelerated, don't use
45376        ShadowBlur, because it may be slower.
45377
45378        * platform/graphics/GraphicsContext.h:
45379        * platform/graphics/cg/GraphicsContextCG.cpp:
45380        (WebCore::GraphicsContext::fillRect):
45381        (WebCore::GraphicsContext::fillRoundedRect):
45382        (WebCore::GraphicsContext::fillRectWithRoundedHole):
45383        (WebCore::GraphicsContext::setIsCALayerContext):
45384        (WebCore::GraphicsContext::isCALayerContext):
45385        (WebCore::GraphicsContext::setIsAcceleratedContext):
45386        (WebCore::GraphicsContext::isAcceleratedContext):
45387        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
45388        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
45389        * platform/graphics/mac/WebLayer.mm:
45390        (drawLayerContents):
45391
453922011-03-15  Beth Dakin  <bdakin@apple.com>
45393
45394        Reviewed by Simon Fraser.
45395
45396        Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
45397
45398        Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new
45399        page.
45400        * loader/FrameLoader.cpp:
45401        (WebCore::FrameLoader::transitionToCommitted):
45402
45403        Scroll animations should be suspended if the FrameLoadState is anything but
45404        complete.
45405        * page/FrameView.cpp:
45406        (WebCore::FrameView::shouldSuspendScrollAnimations):
45407        * page/FrameView.h:
45408        * platform/ScrollableArea.h:
45409        (WebCore::ScrollableArea::shouldSuspendScrollAnimations):
45410        * rendering/RenderDataGrid.cpp:
45411        (WebCore::RenderDataGrid::shouldSuspendScrollAnimations):
45412        * rendering/RenderDataGrid.h:
45413        * rendering/RenderLayer.cpp:
45414        (WebCore::RenderLayer::shouldSuspendScrollAnimations):
45415        * rendering/RenderLayer.h:
45416        * rendering/RenderListBox.cpp:
45417        (WebCore::RenderListBox::shouldSuspendScrollAnimations):
45418        * rendering/RenderListBox.h:
45419
45420        New virtual function cancelAnimations() is only needed on the Mac, so the base
45421        class is empty.
45422        * platform/ScrollAnimator.h:
45423        (WebCore::ScrollAnimator::cancelAnimations):
45424
45425        ScrollAnimatorMac needs to keep track of whether the page has been scrolled since
45426        it started loading. If so, we will override optimizations that wait for the
45427        FrameLoadState to be complete before animating scrollbars.
45428        * platform/mac/ScrollAnimatorMac.h:
45429        (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad):
45430
45431        If the scrollbar animations should be suspended, we start a timer to make sure
45432        that we do flash the scrollbars. Animating the scrollbars is expensive, so this is
45433        both a performance optimization and a UI enhancement since the scrollbar won't
45434        jump around nearly as much on a page load.
45435        * platform/mac/ScrollAnimatorMac.mm:
45436        (-[ScrollbarPainterDelegate cancelAnimations]):
45437        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
45438        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
45439        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
45440        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
45441        (WebCore::ScrollAnimatorMac::scroll):
45442        (WebCore::ScrollAnimatorMac::handleWheelEvent):
45443        (WebCore::ScrollAnimatorMac::cancelAnimations):
45444        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
45445        (WebCore::ScrollAnimatorMac::beginScrollGesture):
45446        (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
45447        (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive):
45448        (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer):
45449        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
45450
45451        New WebCoreSystemInterface function to force the scrollbars to flash
45452        * WebCore.exp.in:
45453        * platform/mac/WebCoreSystemInterface.h:
45454        * platform/mac/WebCoreSystemInterface.mm:
45455
454562011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
45457
45458        Reviewed by Adam Barth.
45459
45460        Remove stale comment at RenderStyle::diff.
45461        https://bugs.webkit.org/show_bug.cgi?id=56387
45462
45463        * rendering/style/RenderStyle.cpp: Removed comment.
45464
454652011-03-15  David Kilzer  <ddkilzer@apple.com>
45466
45467        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
45468
45469        Reviewed by Simon Fraser.
45470
45471        Typedef-ing Objective-C classes as void* for pure C++ makes it
45472        easier for bugs to creep in because compilers can't do any type
45473        checking for void pointers.
45474
45475        * platform/graphics/GraphicsContext3D.h: Changed typedef
45476        declarations for CALayer and WebGLLayer from void* to structs.
45477        (WebCore::GraphicsContext3D::platformLayer): Changed
45478        static_cast<CALayer*> to reinterpret_cast<CALayer*> now that
45479        CALayer and WebGLLayer are not void pointers.
45480        * platform/graphics/GraphicsLayer.h: Changed typedef declaration
45481        for PlatformLayer from void* to struct CALayer.
45482        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
45483        declaration for CAPropertyAnimation from void* to a struct.
45484        Extracted typdef for PlatformAnimationRef.
45485
454862011-03-15  Ilya Sherman  <isherman@chromium.org>
45487
45488        Reviewed by Tony Chang.
45489
45490        Autofilled form elements are assigned fixed background color but not text color
45491        https://bugs.webkit.org/show_bug.cgi?id=48382
45492
45493        Test: fast/forms/input-autofilled.html
45494
45495        * css/html.css:
45496        (input:-webkit-autofill): Added foreground color: #000000
45497        * css/wml.css:
45498        (input:-webkit-autofill): Added foreground color: #000000
45499
455002011-03-15  Alexis Menard  <alexis.menard@openbossa.org>
45501
45502        Reviewed by Eric Carlson.
45503
45504        HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element
45505        if it's an internal pause for example.
45506        https://bugs.webkit.org/show_bug.cgi?id=56374
45507
45508        In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the
45509        change into the DOM.
45510
45511        No new tests: Verified manually.
45512
45513        * html/HTMLMediaElement.cpp:
45514        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
45515
455162011-03-12  Pavel Podivilov  <podivilov@chromium.org>
45517
45518        Reviewed by Yury Semikhatsky.
45519
45520        Web Inspector: re-implement xhr breakpoints.
45521        https://bugs.webkit.org/show_bug.cgi?id=56252
45522
45523        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
45524        - store xhr breakpoints in a separate setting
45525        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
45526
45527        Test: inspector/debugger/xhr-breakpoints.html
45528
45529        * inspector/InspectorBrowserDebuggerAgent.cpp:
45530        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
45531        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
45532        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
45533        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
45534        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
45535        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
45536        (WebCore::InspectorBrowserDebuggerAgent::clear):
45537        * inspector/InspectorBrowserDebuggerAgent.h:
45538        * inspector/front-end/BreakpointManager.js:
45539        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
45540        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
45541        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
45542        (WebInspector.BreakpointManager.prototype._projectChanged):
45543        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
45544        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
45545        * inspector/front-end/BreakpointsSidebarPane.js:
45546        (WebInspector.XHRBreakpointsSidebarPane):
45547        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
45548        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
45549        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
45550        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
45551        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
45552        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
45553        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
45554        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
45555        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
45556        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
45557        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
45558        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
45559        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
45560        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
45561        * inspector/front-end/CallStackSidebarPane.js:
45562        (WebInspector.CallStackSidebarPane.prototype.update):
45563        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
45564        * inspector/front-end/ScriptsPanel.js:
45565        (WebInspector.ScriptsPanel):
45566        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
45567        (WebInspector.ScriptsPanel.prototype._clearInterface):
45568        * inspector/front-end/Settings.js:
45569        (WebInspector.Settings):
45570        * inspector/front-end/inspector.js:
45571        (WebInspector.resetFocusElement):
45572        (WebInspector.set attached):
45573
455742011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
45575
45576        Reviewed by Darin Adler.
45577
45578        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
45579        info into the headers rather than in export symbol definition files, but disable it on
45580        all platforms initially so we can deal with port build issues one port at a time.
45581
45582        https://bugs.webkit.org/show_bug.cgi?id=27551
45583
45584        * config.h:
45585        * platform/mac/LoggingMac.mm:
45586
455872011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
45588
45589        Unreviewed build fix.
45590
45591        Chromium: shared lib linux build are failing.
45592
45593        Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library.
45594        It was webcore_remaining instead of webcore_platform.
45595
45596        * WebCore.gyp/WebCore.gyp:
45597
455982011-03-15  Yury Semikhatsky  <yurys@chromium.org>
45599
45600        Reviewed by Pavel Feldman.
45601
45602        Web Inspector: expanding/collapsing object shouldn&apos;t affect outer console.group expansion state
45603        https://bugs.webkit.org/show_bug.cgi?id=56373
45604
45605        * inspector/front-end/Section.js:
45606        (WebInspector.Section):
45607        (WebInspector.Section.prototype.toggleExpanded):
45608        (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section.
45609
456102011-03-15  Pavel Feldman  <pfeldman@chromium.org>
45611
45612        Reviewed by Yury Semikhatsky.
45613
45614        Web Inspector: crash upon "//html//@id" search in elements panel.
45615        https://bugs.webkit.org/show_bug.cgi?id=56334
45616
45617        * inspector/InspectorDOMAgent.cpp:
45618        * inspector/front-end/ElementsTreeOutline.js:
45619
456202011-03-15  Andrey Kosyakov  <caseq@chromium.org>
45621
45622        Reviewed by Yury Semikhatsky.
45623
45624        Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix)
45625        https://bugs.webkit.org/show_bug.cgi?id=56327
45626
45627        * inspector/front-end/ExtensionAPI.js:
45628        (WebInspector.injectedExtensionAPI):
45629        * inspector/front-end/ExtensionAPISchema.json:
45630
456312011-03-15  Yury Semikhatsky  <yurys@chromium.org>
45632
45633        Reviewed by Pavel Feldman.
45634
45635        Web Inspector: when console.groupEnd calls twice
45636        https://bugs.webkit.org/show_bug.cgi?id=56114
45637
45638        Test: inspector/console/console-nested-group.html
45639
45640        * inspector/ConsoleMessage.h:
45641        (WebCore::ConsoleMessage::type):
45642        * inspector/InspectorConsoleAgent.cpp:
45643        (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages.
45644
456452011-03-15  Chris Mumford  <chris.mumford@palm.com>
45646
45647        Reviewed by Adam Barth.
45648
45649        Initializing several member variables that were not initialized in
45650        their constructors. These values were all read prior to initialization
45651        as reported by Valgrind.
45652
45653        No new tests: No feature additions/removals.
45654
45655        * accessibility/AccessibilityImageMapLink.cpp:
45656        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
45657        * editing/DeleteSelectionCommand.cpp:
45658        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
45659        * html/HTMLCanvasElement.cpp:
45660        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
45661        * xml/XPathResult.cpp:
45662        (WebCore::XPathResult::XPathResult):
45663
456642011-03-15  Ben Taylor  <bentaylor.solx86@gmail.com>
45665
45666        Reviewed by Adam Barth.
45667
45668        https://bugs.webkit.org/show_bug.cgi?id=56255
45669        Fix build on Solaris 10/Sun Studio 12 C++
45670
45671        No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++
45672
45673        * bridge/runtime_array.h:
45674        (JSC::RuntimeArray::getConcreteArray):
45675
456762011-03-14  Sam Weinig  <sam@webkit.org>
45677
45678        Reviewed by Adam Roben
45679
45680        about:blank fake responses don't get serialized when sent the UIProcess
45681        <rdar://problem/9108119>
45682        https://bugs.webkit.org/show_bug.cgi?id=56357
45683
45684        Test: AboutBlankLoad
45685
45686        * platform/network/cf/ResourceResponse.h:
45687        * platform/network/cf/ResourceResponseCFNet.cpp:
45688        (WebCore::ResourceResponse::cfURLResponse):
45689        Create a CFURLResponseRef if one does not exist yet as we do for
45690        NSURLResponses on the mac.
45691
456922011-03-14  Alexis Menard  <alexis.menard@openbossa.org>
45693
45694        Reviewed by Kenneth Rohde Christiansen.
45695
45696        [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback.
45697        https://bugs.webkit.org/show_bug.cgi?id=56145
45698
45699        We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough.
45700        positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because
45701        of a bug in QtMultimedia.
45702
45703        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45704        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
45705        (WebCore::MediaPlayerPrivateQt::seek):
45706        (WebCore::MediaPlayerPrivateQt::stateChanged):
45707        (WebCore::MediaPlayerPrivateQt::positionChanged):
45708        * platform/graphics/qt/MediaPlayerPrivateQt.h:
45709
457102011-03-14  Alexey Proskuryakov  <ap@apple.com>
45711
45712        Reviewed by Adam Roben.
45713
45714        https://bugs.webkit.org/show_bug.cgi?id=44138
45715        Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html
45716
45717        https://bugs.webkit.org/show_bug.cgi?id=55375
45718        http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
45719
45720        https://bugs.webkit.org/show_bug.cgi?id=56185
45721        http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
45722
45723        * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that
45724        a pointer can be passed across threads when wrapped in a RefPtr.
45725
45726        * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists
45727        when executing a method on main thread by using RefPtr.
45728
457292011-03-14  Sam Weinig  <sam@webkit.org>
45730
45731        Mac build fix. Part 1 of N.
45732
45733        * WebCore.exp.in:
45734
457352011-03-14  Joseph Pecoraro  <joepeck@webkit.org>
45736
45737        Reviewed by Eric Carlson.
45738
45739        Stalled media elements don't stop delaying the load event
45740        https://bugs.webkit.org/show_bug.cgi?id=56316
45741
45742        We should stop delaying the load event when the load has
45743        stalled naturally, or if we require a user gesture to
45744        continue the load.
45745
45746        Test: http/tests/media/video-play-stall-before-meta-data.html
45747
45748        * html/HTMLMediaElement.cpp:
45749        (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying.
45750        (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying.
45751
457522011-03-13  MORITA Hajime  <morrita@google.com>
45753
45754        Reviewed by Tony Chang.
45755
45756        Crash when dragging and dropping in a document with an invalid XHTML header
45757        https://bugs.webkit.org/show_bug.cgi?id=48799
45758
45759        DragController tried to dispatch textInput event even when the
45760        drag destination is not the editable area.
45761        This change skips the event dispatching on that case.
45762
45763        Test: editing/pasteboard/drop-file-svg.html
45764
45765        * page/DragController.cpp:
45766        (WebCore::DragController::dispatchTextInputEventFor):
45767        (WebCore::DragController::concludeEditDrag):
45768
457692011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
45770
45771        Unreviewed, rolling out r81094.
45772        http://trac.webkit.org/changeset/81094
45773        https://bugs.webkit.org/show_bug.cgi?id=56355
45774
45775        Broke the chromium DRT related build. (Requested by dave_levin
45776        on #webkit).
45777
45778        * WebCore.exp.in:
45779        * WebCore.order:
45780        * page/Frame.cpp:
45781        (WebCore::Frame::layerTreeAsText):
45782        * page/Frame.h:
45783        * rendering/RenderLayerCompositor.cpp:
45784        (WebCore::RenderLayerCompositor::layerTreeAsText):
45785        * rendering/RenderLayerCompositor.h:
45786
457872011-03-14  Adam Barth  <abarth@webkit.org>
45788
45789        Apparently we need to exclude DefaultSharedWorkerRepository.cpp from
45790        the Chromium build, otherwise the objects visible in the global scope
45791        change.
45792
45793        * WebCore.gyp/WebCore.gyp:
45794
457952011-03-14  Adam Barth  <abarth@webkit.org>
45796
45797        Attempted Chromium build fix.  Exclude AllInOne harder.
45798
45799        * WebCore.gyp/WebCore.gyp:
45800
458012011-03-14  Ryosuke Niwa  <rniwa@webkit.org>
45802
45803        Reviewed by Darin Adler.
45804
45805        EventHandler calls shouldChangeSelection needlessly
45806        https://bugs.webkit.org/show_bug.cgi?id=56324
45807
45808        Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
45809        avoided calling shouldChangeSelection and setSelection when the existing
45810        selection is identical to that of new selection.
45811
45812        * page/EventHandler.cpp:
45813        (WebCore::setSelectionIfNeeded): Extracted.
45814        (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
45815        (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
45816        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
45817        (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
45818        (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
45819        (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
45820        (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
45821
458222011-03-14  Daniel Sievers  <sievers@google.com>
45823
45824        Reviewed by Simon Fraser.
45825
45826        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
45827        https://bugs.webkit.org/show_bug.cgi?id=56139
45828
45829        * WebCore.exp.in:
45830        * WebCore.order:
45831        * page/Frame.cpp:
45832        (WebCore::Frame::layerTreeAsText):
45833        * page/Frame.h:
45834        * rendering/RenderLayerCompositor.cpp:
45835        (WebCore::RenderLayerCompositor::layerTreeAsText):
45836        * rendering/RenderLayerCompositor.h:
45837
458382011-03-14  Adam Barth  <abarth@webkit.org>
45839
45840        Reviewed by Dimitri Glazkov.
45841
45842        Add remaining files to WebCore.gypi
45843        https://bugs.webkit.org/show_bug.cgi?id=56351
45844
45845        Adding the remaining files to WebCore.gypi required updating the
45846        include/exclude lists in WebCore.gyp.  These lists aren't overly
45847        elegant, but we can try to improve them in the future.
45848
45849        * WebCore.gyp/WebCore.gyp:
45850        * WebCore.gypi:
45851        * bindings/v8/ScriptCachedFrameData.cpp:
45852            - Added ifdefs to this file to match the header.
45853        * platform/graphics/WOFFFileFormat.cpp:
45854            - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER).
45855
458562011-03-14  Anton Muhin  <antonm@chromium.org>
45857
45858        Reviewed by Adam Barth.
45859
45860        [v8] Rework object group building.
45861        https://bugs.webkit.org/show_bug.cgi?id=55399
45862
45863        Instead of going top-down (from owner to owned elements), go up---from objects
45864        to their group ids.  That fits better to v8's object grouping model and guarantees
45865        that each wrapper belongs to the single group.
45866
45867        Alas, this cannot be implemented for one kind of objects---CSSProperties.
45868
45869        Part of core GC algorithm and tested extensively by exisiting layout tests.
45870
45871        * bindings/scripts/CodeGeneratorV8.pm:
45872        * bindings/scripts/test/V8/V8TestInterface.cpp:
45873        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
45874        * bindings/scripts/test/V8/V8TestObj.cpp:
45875        * bindings/v8/V8GCController.cpp:
45876        (WebCore::calculateGroupId):
45877        (WebCore::calculateRootStyleSheet):
45878        (WebCore::GrouperVisitor::visitDOMWrapper):
45879        (WebCore::GrouperVisitor::applyGrouping):
45880        (WebCore::V8GCController::gcPrologue):
45881        * bindings/v8/WrapperTypeInfo.h:
45882        (WebCore::WrapperTypeInfo::isSubclass):
45883        * css/CSSRuleList.h:
45884        (WebCore::CSSRuleList::styleList):
45885        * css/StyleSheetList.h:
45886        (WebCore::StyleSheetList::document):
45887
458882011-03-14  Kent Tamura  <tkent@chromium.org>
45889
45890        Reviewed by James Robinson.
45891
45892        Assertion failure by form validation message for <select required> with float:left
45893        https://bugs.webkit.org/show_bug.cgi?id=55995
45894
45895        Test: fast/forms/interactive-validation-select-crash.html
45896
45897        * rendering/RenderBlock.cpp:
45898        (WebCore::canMergeContiguousAnonymousBlocks):
45899          isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock().
45900
459012011-03-14  Balazs Kelemen  <kbalazs@webkit.org>
45902
45903        Reviewed by Adam Roben.
45904
45905        [Qt][WK2]Unbreak InjectedBundle on Qt
45906        https://bugs.webkit.org/show_bug.cgi?id=54109
45907
45908        No code changes so no new tests.
45909
45910        Revert the changes that were needed to use KURL
45911        in WebKitTestRunner.
45912
45913        * Configurations/WebCore.xcconfig:
45914        * WebCore.exp.in:
45915
459162011-03-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
45917
45918        Reviewed by Kenneth Rohde Christiansen.
45919
45920        [Qt] Compilation fails with --3d-canvas
45921        https://bugs.webkit.org/show_bug.cgi?id=55964
45922
45923        * WebCore.pro:
45924        * platform/graphics/qt/Extensions3DQt.cpp:
45925
459262011-03-14  Brian Weinstein  <bweinstein@apple.com>
45927
45928        Reviewed by Adam Roben and Gavin Barraclough.
45929
45930        FileSystemWin.cpp needs listDirectory() implementation
45931        https://bugs.webkit.org/show_bug.cgi?id=56331
45932        <rdar://problem/9126635>
45933
45934        Move PathWalker from an inline class in WebKit2 to its own class in WebCore,
45935        so it can be used from both WebCore and WebKit2.
45936
45937        Implement FileSystemWin::listDirectory using PathWalker to populate the Vector
45938        of paths matching the passed in pattern.
45939
45940        * WebCore.vcproj/WebCore.vcproj:
45941        * platform/win/FileSystemWin.cpp:
45942        (WebCore::listDirectory): Call through to PathWalker.
45943        * platform/win/PathWalker.cpp: Added.
45944        (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument
45945            for the pattern to pass to the Windows File APIs.
45946        (WebCore::PathWalker::~PathWalker): Moved from WebKit2.
45947        (WebCore::PathWalker::isValid): Ditto.
45948        (WebCore::PathWalker::data): Ditto.
45949        (WebCore::PathWalker::step): Ditto.
45950        * platform/win/PathWalker.h: Added.
45951
459522011-03-14  Brady Eidson  <beidson@apple.com>
45953
45954        Reviewed by Anders Carlsson.
45955
45956        https://bugs.webkit.org/show_bug.cgi?id=56320
45957        Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
45958
45959        Remove HistoryItem::icon():
45960        * history/HistoryItem.cpp:
45961        * history/HistoryItem.h:
45962        * WebCore.exp.in:
45963
45964        * loader/icon/IconDatabaseBase.h:
45965        (WebCore::IconDatabaseBase::defaultIcon):
45966
459672011-03-14  Andy Estes  <aestes@apple.com>
45968
45969        Reviewed by Darin Adler.
45970
45971        Timer-based events should inherit the user gesture state of their
45972        originating event in certain cases.
45973        https://bugs.webkit.org/show_bug.cgi?id=55104
45974
45975        If a timer is installed by a gesture-originated event and will fire
45976        within one second, the timer-initiated event should behave as if it
45977        were also initiated by a user gesture. Multi-shot timers should only
45978        get this behavior on their first execution. Nested timers should not
45979        get this behavior. This makes us compatible with Gecko when handling
45980        popups and file chooser dialogs created from timer events.
45981
45982        Test: fast/events/popup-blocking-timers.html
45983
45984        * page/DOMTimer.cpp:
45985        (WebCore::timeoutId): Create a helper function so that m_timeoutId can
45986        be initialized in the data member initialization list.
45987        (WebCore::shouldForwardUserGesture): Ditto, but for
45988        m_shouldForwardUserGesture.
45989        (WebCore::DOMTimer::DOMTimer): Move initialization of data members from
45990        the ctor body to the data member initialization list. Also rename the
45991        argument 'timeout' to 'interval'.
45992        (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its
45993        state based on the value of m_shouldForwardUserGesture.
45994        (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was
45995        renamed to m_originalInterval.
45996        * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename
45997        m_originalTimeout to m_originalInterval.
45998
459992011-03-09  Levi Weintraub  <leviw@chromium.org>
46000
46001        Reviewed by Ryosuke Niwa.
46002
46003        Deleting content directly following a button inserts an unnecessary placeholder
46004        https://bugs.webkit.org/show_bug.cgi?id=56053
46005
46006        Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's
46007        enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite
46008        DeleteSelectionCommand treating them as blockflow.
46009
46010        Test: editing/deleting/delete-inserts-br-after-button.html
46011
46012        * editing/DeleteSelectionCommand.cpp:
46013        (WebCore::DeleteSelectionCommand::mergeParagraphs):
46014
460152011-03-14  David Hyatt  <hyatt@apple.com>
46016
46017        Reviewed by Dan Bernstein.
46018
46019        https://bugs.webkit.org/show_bug.cgi?id=45164
46020
46021        REGRESSION: <a><img align=top></a> Clickable area too large
46022
46023        Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped
46024        painting.
46025
46026        * rendering/InlineFlowBox.cpp:
46027        (WebCore::InlineFlowBox::nodeAtPoint):
46028
460292011-03-14  Chris Marrin  <cmarrin@apple.com>
46030
46031        Reviewed by Adam Roben.
46032
46033        REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
46034        https://bugs.webkit.org/show_bug.cgi?id=52845
46035
46036        The lastCommitTime() value in CACFLayerTreeHost was returning as the time
46037        the render previous to this one happened. That often made it seem like
46038        animations started more in the past than they did, breaking many animations.
46039        The startAnimations() call actually fires from a CACF callback after all the
46040        WebKit content has been rendered. So sending currentTime as the start time
46041        to the animations is close enough for proper synchronization.
46042
46043        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
46044        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
46045
460462011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
46047
46048        Reviewed by Tony Chang.
46049
46050        Selection uses first mousemove's localRect instead of that of mousedown
46051        https://bugs.webkit.org/show_bug.cgi?id=56213
46052
46053        Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
46054        using the mouse coordinates of the mousedown event that started the drag.
46055
46056        Test: editing/selection/drag-select-rapidly.html
46057
46058        * page/EventHandler.cpp:
46059        (WebCore::EventHandler::handleMouseDraggedEvent):
46060
460612011-03-14  Mark Rowe  <mrowe@apple.com>
46062
46063        Reviewed by Timothy Hatcher.
46064
46065        Apply a large, blunt object directly to the skull of the Leopard build.
46066
46067        * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
46068        building the Debug configuration on Leopard. This should cut the size of the object
46069        files that the linker needs to process by over 85%. This will hopefully allow them
46070        to fit in to the 32-bit address space of the Leopard linker.
46071
460722011-03-14  David Hyatt  <hyatt@apple.com>
46073
46074        Reviewed by Beth Dakin.
46075
46076        https://bugs.webkit.org/show_bug.cgi?id=56246
46077
46078        Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
46079        for offsetLeft, and add new tests to demonstrate that relative positioning works.
46080
46081        * css/CSSStyleSelector.cpp:
46082        (WebCore::CSSStyleSelector::adjustRenderStyle):
46083        * rendering/RenderObject.cpp:
46084        (WebCore::RenderObject::offsetParent):
46085        * rendering/RenderObject.h:
46086        (WebCore::RenderObject::isRelPositioned):
46087        * rendering/RenderTableCell.h:
46088        * rendering/style/RenderStyle.h:
46089        * rendering/style/StyleRareNonInheritedData.cpp:
46090        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
46091        (WebCore::StyleRareNonInheritedData::operator==):
46092        * rendering/style/StyleRareNonInheritedData.h:
46093
460942011-03-14  David Hyatt  <hyatt@apple.com>
46095
46096        Reviewed by Beth Dakin.
46097
46098        Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
46099        layer, since first layouts and printing mess up otherwise.
46100
46101        * page/FrameView.cpp:
46102        (WebCore::FrameView::layout):
46103
461042011-03-11  David Hyatt  <hyatt@apple.com>
46105
46106        Reviewed by Simon Fraser.
46107
46108        Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
46109        size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
46110        for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
46111        all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
46112        and limited that overflow only to content that the layer painted.
46113
46114        Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
46115        m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
46116        own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
46117        the other ports.
46118
46119        Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
46120        I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
46121        but the behavior should be the same.
46122
46123        No new tests, since this is untestable on ports that invalidate on a resize.
46124
46125        * page/FrameView.cpp:
46126        (WebCore::FrameView::layout):
46127        * rendering/RenderBoxModelObject.cpp:
46128        (WebCore::RenderBoxModelObject::styleDidChange):
46129        * rendering/RenderLayer.cpp:
46130        (WebCore::RenderLayer::updateLayerPositions):
46131        (WebCore::RenderLayer::removeOnlyThisLayer):
46132        * rendering/RenderLayer.h:
46133
461342011-03-11  Oliver Hunt  <oliver@apple.com>
46135
46136        Reviewed by Gavin Barraclough.
46137
46138        Ensure all values are correctly tagged in the registerfile
46139        https://bugs.webkit.org/show_bug.cgi?id=56214
46140
46141        Make sure everything builds still.
46142
46143        * bridge/c/c_class.cpp:
46144        * bridge/c/c_runtime.cpp:
46145        * bridge/jni/JavaMethod.cpp:
46146        * plugins/PluginViewNone.cpp:
46147
461482011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
46149
46150        Unreviewed build fix for r81035.
46151
46152        * html/HTMLDetailsElement.cpp:
46153        (WebCore::HTMLDetailsElement::defaultEventHandler):
46154        * rendering/RenderDetailsMarker.cpp:
46155        (WebCore::createDownArrowPath):
46156        (WebCore::createUpArrowPath):
46157        (WebCore::createLeftArrowPath):
46158        (WebCore::createRightArrowPath):
46159
461602011-03-13  Jer Noble  <jer.noble@apple.com>
46161
46162        FullScreen: Handle entering full screen security restrictions
46163        https://bugs.webkit.org/show_bug.cgi?id=56264
46164
46165        Tests: fullscreen/full-screen-iframe-allowed.html
46166               fullscreen/full-screen-iframe-not-allowed.html
46167
46168        Disable full screen documents in the following conditions:
46169        1) requesting element is in an iframe which does not have a
46170        webkitallowfullscreen attribute.
46171        2) page is not processing a user gesture.
46172
46173        * dom/Document.cpp:
46174        (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
46175            to see if elements contained in IFRAMES are allowed to
46176            enter full screen.
46177        (WebCore::Document::webkitRequestFullScreenForElement): Checks
46178            if page is currently processing a user gesture.
46179        * dom/Document.h:
46180        * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
46181        * html/HTMLFrameElementBase.cpp:
46182        (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
46183        * html/HTMLFrameElementBase.h:
46184
461852011-03-14  Anton D'Auria  <adauria@apple.com>
46186
46187        Reviewed by David Levin.
46188
46189        REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
46190        https://bugs.webkit.org/show_bug.cgi?id=56303
46191
46192        Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
46193
46194        * storage/StorageAreaSync.cpp:
46195        (WebCore::StorageAreaSync::StorageAreaSync):
46196
461972011-03-14  Steve Block  <steveblock@google.com>
46198
46199        Reviewed by Oliver Hunt.
46200
46201        JavaMethod.cpp does not compile with V8
46202        https://bugs.webkit.org/show_bug.cgi?id=56306
46203
46204        Moved the ScopeChain.h include to JavaStringJSC.
46205
46206        No new tests, build fix only.
46207
46208        * bridge/jni/JavaMethod.cpp:
46209        * bridge/jni/jsc/JavaStringJSC.h
46210
462112011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
46212
46213        Reviewed by Dave Hyatt.
46214
46215        HTML5 <details> and <summary>: rendering
46216        https://bugs.webkit.org/show_bug.cgi?id=51071
46217
46218        Tests: fast/html/details-add-summary-1-and-click.html
46219               fast/html/details-add-summary-1.html
46220               fast/html/details-add-summary-10-and-click.html
46221               fast/html/details-add-summary-10.html
46222               fast/html/details-add-summary-2-and-click.html
46223               fast/html/details-add-summary-2.html
46224               fast/html/details-add-summary-3-and-click.html
46225               fast/html/details-add-summary-3.html
46226               fast/html/details-add-summary-4-and-click.html
46227               fast/html/details-add-summary-4.html
46228               fast/html/details-add-summary-5-and-click.html
46229               fast/html/details-add-summary-5.html
46230               fast/html/details-add-summary-6-and-click.html
46231               fast/html/details-add-summary-6.html
46232               fast/html/details-add-summary-7-and-click.html
46233               fast/html/details-add-summary-7.html
46234               fast/html/details-add-summary-8-and-click.html
46235               fast/html/details-add-summary-8.html
46236               fast/html/details-add-summary-9-and-click.html
46237               fast/html/details-add-summary-9.html
46238               fast/html/details-mouse-click.html
46239               fast/html/details-no-summary1.html
46240               fast/html/details-no-summary2.html
46241               fast/html/details-no-summary3.html
46242               fast/html/details-no-summary4.html
46243               fast/html/details-open-javascript.html
46244               fast/html/details-open1.html
46245               fast/html/details-open2.html
46246               fast/html/details-open3.html
46247               fast/html/details-open4.html
46248               fast/html/details-open5.html
46249               fast/html/details-open6.html
46250               fast/html/details-position.html
46251               fast/html/details-remove-summary-1-and-click.html
46252               fast/html/details-remove-summary-1.html
46253               fast/html/details-remove-summary-2-and-click.html
46254               fast/html/details-remove-summary-2.html
46255               fast/html/details-remove-summary-3-and-click.html
46256               fast/html/details-remove-summary-3.html
46257               fast/html/details-remove-summary-4-and-click.html
46258               fast/html/details-remove-summary-4.html
46259               fast/html/details-remove-summary-5-and-click.html
46260               fast/html/details-remove-summary-5.html
46261               fast/html/details-remove-summary-6-and-click.html
46262               fast/html/details-remove-summary-6.html
46263               fast/html/details-writing-mode.html
46264
46265        http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
46266
46267        The main <summary> element is the first <summary> element of a <details> element.
46268        All other childs of the <details> element are rendered only if the attribute 'open' is set.
46269        Click event toggles the 'open' attribute.
46270
46271        * html/HTMLDetailsElement.cpp:
46272        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
46273        (WebCore::HTMLDetailsElement::findMainSummary):
46274        (WebCore::HTMLDetailsElement::childrenChanged):
46275        (WebCore::HTMLDetailsElement::finishParsingChildren):
46276        (WebCore::HTMLDetailsElement::parseMappedAttribute):
46277        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
46278        (WebCore::HTMLDetailsElement::defaultEventHandler):
46279        * html/HTMLDetailsElement.h:
46280        (WebCore::HTMLDetailsElement::mainSummary):
46281
46282        Method createRenderer added to class HTMLSummaryElement.
46283
46284        * html/HTMLSummaryElement.cpp:
46285        (WebCore::HTMLSummaryElement::createRenderer):
46286        * html/HTMLSummaryElement.h:
46287
46288        The first <summary> element is positioned at the top of its <details> parent.
46289        The area occupied by this main <summary> element is the interactive area of the
46290        <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
46291        is created and added to the corresponding RenderDetails object.
46292
46293        * rendering/RenderDetails.cpp:
46294        (WebCore::RenderDetails::RenderDetails):
46295        (WebCore::RenderDetails::destroy):
46296        (WebCore::RenderDetails::summaryBlock):
46297        (WebCore::RenderDetails::contentBlock):
46298        (WebCore::RenderDetails::addChild):
46299        (WebCore::RenderDetails::removeChild):
46300        (WebCore::RenderDetails::setMarkerStyle):
46301        (WebCore::RenderDetails::styleDidChange):
46302        (WebCore::RenderDetails::getRenderPosition):
46303        (WebCore::RenderDetails::markerDestroyed):
46304        (WebCore::RenderDetails::summaryDestroyed):
46305        (WebCore::RenderDetails::moveSummaryToContents):
46306        (WebCore::RenderDetails::createSummaryStyle):
46307        (WebCore::RenderDetails::replaceMainSummary):
46308        (WebCore::RenderDetails::createDefaultSummary):
46309        (WebCore::RenderDetails::checkMainSummary):
46310        (WebCore::RenderDetails::layout):
46311        (WebCore::RenderDetails::isOpen):
46312        (WebCore::RenderDetails::getParentOfFirstLineBox):
46313        (WebCore::RenderDetails::firstNonMarkerChild):
46314        (WebCore::RenderDetails::updateMarkerLocation):
46315        * rendering/RenderDetails.h:
46316        (WebCore::RenderDetails::interactiveArea):
46317        (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
46318        (WebCore::RenderDetails::createsAnonymousWrapper):
46319        (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
46320
46321        A marker is added to the main <summary> element to indicate the current value of the 'open'
46322        attribute of the <details> element.
46323
46324        * rendering/RenderDetailsMarker.cpp:
46325        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
46326        (WebCore::RenderDetailsMarker::destroy):
46327        (WebCore::RenderDetailsMarker::lineHeight):
46328        (WebCore::RenderDetailsMarker::baselinePosition):
46329        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
46330        (WebCore::RenderDetailsMarker::layout):
46331        (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
46332        (WebCore::RenderDetailsMarker::isOpen):
46333        (WebCore::createPath):
46334        (WebCore::createDownArrowPath):
46335        (WebCore::createUpArrowPath):
46336        (WebCore::createLeftArrowPath):
46337        (WebCore::createRightArrowPath):
46338        (WebCore::RenderDetailsMarker::orientation):
46339        (WebCore::RenderDetailsMarker::getCanonicalPath):
46340        (WebCore::RenderDetailsMarker::getPath):
46341        (WebCore::RenderDetailsMarker::paint):
46342        * rendering/RenderDetailsMarker.h:
46343        (WebCore::toRenderDetailsMarker):
46344
46345        * rendering/RenderSummary.cpp:
46346        (WebCore::RenderSummary::RenderSummary):
46347        (WebCore::RenderSummary::destroy):
46348        (WebCore::RenderSummary::parentDetails):
46349        (WebCore::RenderSummary::styleDidChange):
46350        * rendering/RenderSummary.h:
46351
46352        * rendering/RenderTreeAsText.cpp:
46353        (WebCore::RenderTreeAsText::writeRenderObject):
46354
463552011-03-14  Brady Eidson  <beidson@apple.com>
46356
46357        Reviewed by Sam Weinig.
46358
46359        https://bugs.webkit.org/show_bug.cgi?id=56296
46360        Clean up IconDatabaseBase header.
46361
46362        -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
46363        -Group methods by which are used in WebCore directly and which are used in WebKit ports.
46364
46365        This'll make it easier to use in external frameworks (like WebKit2).
46366
46367        * loader/icon/IconDatabase.h:
46368        * loader/icon/IconDatabaseBase.h:
46369        (WebCore::IconDatabaseBase::retainIconForPageURL):
46370        (WebCore::IconDatabaseBase::releaseIconForPageURL):
46371        (WebCore::IconDatabaseBase::iconForPageURL):
46372        (WebCore::IconDatabaseBase::setIconURLForPageURL):
46373        (WebCore::IconDatabaseBase::setIconDataForIconURL):
46374        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
46375        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
46376        (WebCore::IconDatabaseBase::importIconURLForPageURL):
46377        (WebCore::IconDatabaseBase::importIconDataForIconURL):
46378        (WebCore::IconDatabaseBase::open):
46379
463802011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
46381
46382        Unreviewed, rolling out r81026.
46383        http://trac.webkit.org/changeset/81026
46384        https://bugs.webkit.org/show_bug.cgi?id=56313
46385
46386        Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
46387
46388        * inspector/InspectorBrowserDebuggerAgent.cpp:
46389        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
46390        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
46391        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
46392        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
46393        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
46394        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
46395        (WebCore::InspectorBrowserDebuggerAgent::clear):
46396        * inspector/InspectorBrowserDebuggerAgent.h:
46397        * inspector/front-end/BreakpointManager.js:
46398        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
46399        (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
46400        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
46401        (WebInspector.BreakpointManager.prototype._projectChanged):
46402        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
46403        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
46404        (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
46405        (WebInspector.XHRBreakpoint):
46406        (WebInspector.XHRBreakpoint.prototype._enable):
46407        (WebInspector.XHRBreakpoint.prototype._disable):
46408        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
46409        (WebInspector.XHRBreakpointView):
46410        (WebInspector.XHRBreakpointView.prototype.compareTo):
46411        (WebInspector.XHRBreakpointView.prototype.populateEditElement):
46412        (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
46413        (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
46414        * inspector/front-end/BreakpointsSidebarPane.js:
46415        (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
46416        (WebInspector.XHRBreakpointsSidebarPane):
46417        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
46418        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
46419        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
46420        * inspector/front-end/CallStackSidebarPane.js:
46421        (WebInspector.CallStackSidebarPane.prototype.update):
46422        * inspector/front-end/ScriptsPanel.js:
46423        (WebInspector.ScriptsPanel):
46424        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
46425        (WebInspector.ScriptsPanel.prototype._clearInterface):
46426        * inspector/front-end/Settings.js:
46427        (WebInspector.Settings):
46428        * inspector/front-end/inspector.js:
46429        (WebInspector.resetFocusElement):
46430        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
46431        (WebInspector.createXHRBreakpointsSidebarPane):
46432        (WebInspector.set attached):
46433
464342011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
46435
46436        Reviewed by Pavel Feldman.
46437
46438        Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
46439        https://bugs.webkit.org/show_bug.cgi?id=56312
46440
46441        Test: inspector/utilities.html
46442
46443        * inspector/front-end/utilities.js:
46444
464452011-03-12  Pavel Podivilov  <podivilov@chromium.org>
46446
46447        Reviewed by Yury Semikhatsky.
46448
46449        Web Inspector: re-implement xhr breakpoints.
46450        https://bugs.webkit.org/show_bug.cgi?id=56252
46451
46452        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
46453        - store xhr breakpoints in a separate setting
46454        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
46455
46456        Test: inspector/debugger/xhr-breakpoints.html
46457
46458        * inspector/InspectorBrowserDebuggerAgent.cpp:
46459        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
46460        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
46461        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
46462        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
46463        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
46464        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
46465        (WebCore::InspectorBrowserDebuggerAgent::clear):
46466        * inspector/InspectorBrowserDebuggerAgent.h:
46467        * inspector/front-end/BreakpointManager.js:
46468        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
46469        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
46470        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
46471        (WebInspector.BreakpointManager.prototype._projectChanged):
46472        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
46473        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
46474        * inspector/front-end/BreakpointsSidebarPane.js:
46475        (WebInspector.XHRBreakpointsSidebarPane):
46476        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
46477        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
46478        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
46479        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
46480        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
46481        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
46482        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
46483        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
46484        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
46485        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
46486        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
46487        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
46488        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
46489        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
46490        * inspector/front-end/CallStackSidebarPane.js:
46491        (WebInspector.CallStackSidebarPane.prototype.update):
46492        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
46493        * inspector/front-end/ScriptsPanel.js:
46494        (WebInspector.ScriptsPanel):
46495        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
46496        (WebInspector.ScriptsPanel.prototype._clearInterface):
46497        * inspector/front-end/Settings.js:
46498        (WebInspector.Settings):
46499        * inspector/front-end/inspector.js:
46500        (WebInspector.resetFocusElement):
46501        (WebInspector.set attached):
46502
465032011-03-14  Pavel Podivilov  <podivilov@chromium.org>
46504
46505        Reviewed by Pavel Feldman.
46506
46507        Web Inspector: move breakpoints restoring to debugger presentation model.
46508        https://bugs.webkit.org/show_bug.cgi?id=56123
46509
46510        DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since
46511        setBreakpoint/removeBreakpoint are now called from DPM only.
46512
46513        * inspector/InspectorDebuggerAgent.cpp:
46514        (WebCore::InspectorDebuggerAgent::disable):
46515        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
46516        * inspector/front-end/DebuggerModel.js:
46517        (WebInspector.DebuggerModel.prototype.enableDebugger):
46518        (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
46519        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
46520        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
46521        (WebInspector.DebuggerModel.prototype.setBreakpoint):
46522        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
46523        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
46524        (WebInspector.DebuggerModel.prototype._breakpointResolved):
46525        (WebInspector.DebuggerModel.prototype.reset):
46526        (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled):
46527        (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled):
46528        * inspector/front-end/DebuggerPresentationModel.js:
46529        (WebInspector.DebuggerPresentationModel):
46530        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
46531        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
46532        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
46533        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
46534        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
46535        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
46536        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
46537        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
46538        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
46539        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
46540        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
46541        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
46542        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
46543        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
46544        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
46545        (WebInspector.DebuggerPresentationModel.prototype.reset):
46546        * inspector/front-end/ScriptsPanel.js:
46547        (WebInspector.ScriptsPanel):
46548        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
46549        (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
46550
465512011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
46552
46553        Unreviewed, rolling out r81015.
46554        http://trac.webkit.org/changeset/81015
46555        https://bugs.webkit.org/show_bug.cgi?id=56308
46556
46557        A Similar patch landed in r76960 (Requested by philn-tp on
46558        #webkit).
46559
46560        * GNUmakefile.am:
46561
465622011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46563
46564        Reviewed by Yury Semikhatsky.
46565
46566        Web Inspector: don't use innerText, use textContent instead.
46567        https://bugs.webkit.org/show_bug.cgi?id=56307
46568
46569        * inspector/front-end/AuditFormatters.js:
46570        (WebInspector.AuditFormatters.snippet):
46571        * inspector/front-end/ElementsTreeOutline.js:
46572        * inspector/front-end/GoToLineDialog.js:
46573        * inspector/front-end/HelpScreen.js:
46574        (WebInspector.HelpScreen):
46575        * inspector/front-end/ShortcutsHelp.js:
46576        (WebInspector.ShortcutsSection.prototype.renderSection):
46577        (WebInspector.ShortcutsSection.prototype._renderHeader):
46578
465792011-03-14  Andrey Adaikin  <aandrey@google.com>
46580
46581        Reviewed by Pavel Feldman.
46582
46583        Web Inspector: [Text editor] Disable live-edit in favor of the text editor
46584        https://bugs.webkit.org/show_bug.cgi?id=56176
46585
46586        * inspector/front-end/Settings.js:
46587
465882011-03-14  Andrey Adaikin  <aandrey@google.com>
46589
46590        Reviewed by Pavel Feldman.
46591
46592        Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter
46593        https://bugs.webkit.org/show_bug.cgi?id=56095
46594
46595        * inspector/front-end/TextViewer.js:
46596        (WebInspector.TextViewer):
46597
465982011-03-11  Pavel Podivilov  <podivilov@chromium.org>
46599
46600        Reviewed by Pavel Feldman.
46601
46602        Web Inspector: move breakpoints restoring after live edit to debugger presentation model.
46603        https://bugs.webkit.org/show_bug.cgi?id=56179
46604
46605        Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel.
46606
46607        * inspector/front-end/DebuggerModel.js:
46608        (WebInspector.DebuggerModel):
46609        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
46610        (WebInspector.DebuggerModel.prototype.setBreakpoint):
46611        (WebInspector.DebuggerModel.prototype.reset):
46612        (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource):
46613        (WebInspector.DebuggerModel.prototype.editScriptSource):
46614        (WebInspector.DebuggerModel.prototype.get callFrames):
46615        (WebInspector.DebuggerModel.prototype._pausedScript):
46616        (WebInspector.DebuggerModel.prototype._resumedScript):
46617        * inspector/front-end/DebuggerPresentationModel.js:
46618        (WebInspector.DebuggerPresentationModel):
46619        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
46620        * inspector/front-end/ScriptsPanel.js:
46621        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
46622
466232011-03-10  Alexander Pavlov  <apavlov@chromium.org>
46624
46625        Reviewed by Pavel Feldman.
46626
46627        Web Inspector: Optimize backend-frontend data transfer volume for CSS styles
46628        https://bugs.webkit.org/show_bug.cgi?id=56111
46629
46630        This change reduces the getStylesForNode() payload more than twice for BODY elements.
46631
46632        * inspector/InspectorStyleSheet.cpp:
46633        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
46634        * inspector/front-end/CSSStyleModel.js:
46635        (WebInspector.CSSProperty.parsePayload):
46636
466372011-03-14  John Knottenbelt  <jknotten@chromium.org>
46638
46639        Reviewed by Steve Block.
46640
46641        Detach Geolocation from Frame when Page destroyed.
46642        https://bugs.webkit.org/show_bug.cgi?id=52877
46643
46644        On Page destruction, any outstanding Geolocation permission
46645        requests should be cancelled, because the Geolocation can only
46646        access the client indirectly via m_frame->page().
46647
46648        Page destruction is signalled by a call to the
46649        Frame::pageDestroyed() method. This explictly calls
46650        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
46651
46652        Geolocation::reset() detaches from the GeolocationController,
46653        cancels requests, watches and single shots, and sets the
46654        permission state back to Unknown.
46655
46656        Frame::pageDestroyed() is also called by FrameLoader even though
46657        the page is not destroyed. We should still cancel permission
46658        requests, because the GeolocationClient will become inaccessible
46659        to the Geolocation object after this call.
46660
46661        Frame::transferChildFrameToNewDocument also indirectly calls
46662        Geolocation::reset when the frame is reparented between
46663        pages. Ideally we would like the Geolocation's activities to
46664        continue after reparenting, see bug
46665        https://bugs.webkit.org/show_bug.cgi?id=55577
46666
46667        Since GeolocationController is owned by Page, and all Geolocation
46668        objects will now unsubscribe from the GeolocationController on
46669        pageDetached(), we no longer need to call stopUpdating() from the
46670        GeolocationController's destructor. Instead we can simply assert
46671        that there should be no no observers. See related bug
46672        https://bugs.webkit.org/show_bug.cgi?id=52216 .
46673
46674        Introduced new method 'numberOfPendingPermissionRequests' on
46675        GeolocationClientMock to count the number of outstanding pending
46676        permission requests. This provides a reusable implementation for
46677        client-based implementations of the LayoutTestController's
46678        numberOfPendingGeolocationPermissionRequests method.
46679
46680        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
46681
46682        * page/DOMWindow.cpp:
46683        (WebCore::DOMWindow::resetGeolocation):
46684        * page/DOMWindow.h:
46685        * page/Frame.cpp:
46686        (WebCore::Frame::pageDestroyed):
46687        (WebCore::Frame::transferChildFrameToNewDocument):
46688        * page/Geolocation.cpp:
46689        (WebCore::Geolocation::~Geolocation):
46690        (WebCore::Geolocation::page):
46691        (WebCore::Geolocation::reset):
46692        (WebCore::Geolocation::disconnectFrame):
46693        (WebCore::Geolocation::lastPosition):
46694        (WebCore::Geolocation::requestPermission):
46695        (WebCore::Geolocation::startUpdating):
46696        (WebCore::Geolocation::stopUpdating):
46697        * page/Geolocation.h:
46698        * page/GeolocationController.cpp:
46699        (WebCore::GeolocationController::~GeolocationController):
46700        * page/Navigator.cpp:
46701        (WebCore::Navigator::resetGeolocation):
46702        * page/Navigator.h:
46703        * platform/mock/GeolocationClientMock.cpp:
46704        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
46705        * platform/mock/GeolocationClientMock.h:
46706
467072011-03-14  Andrey Adaikin  <aandrey@google.com>
46708
46709        Reviewed by Pavel Feldman.
46710
46711        Web Inspector: REGRESSION: Messed up with the tabIndex for text editor
46712        https://bugs.webkit.org/show_bug.cgi?id=56183
46713
46714        * inspector/front-end/SourceFrame.js:
46715        (WebInspector.SourceFrame.prototype._handleKeyDown):
46716        (WebInspector.SourceFrame.prototype._handleSave):
46717        (WebInspector.SourceFrame.prototype._handleRevertEditing):
46718        * inspector/front-end/TextViewer.js:
46719        (WebInspector.TextEditorMainPanel):
46720        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
46721
467222011-03-14  Chris Rogers  <crogers@google.com>
46723
46724        Reviewed by Xan Lopez.
46725
46726        Add all web audio auto-generated files to GTK make system
46727        https://bugs.webkit.org/show_bug.cgi?id=50497
46728
46729        No new tests since these are build-system tweaks.
46730
46731        * GNUmakefile.am:
46732
467332011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46734
46735        Reviewed by Yury Semikhatsky.
46736
46737        Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.
46738        https://bugs.webkit.org/show_bug.cgi?id=56268
46739
46740        * inspector/Inspector.idl:
46741        * inspector/InspectorDOMAgent.cpp:
46742        (WebCore::InspectorDOMAgent::reset):
46743        (WebCore::InspectorDOMAgent::performSearch):
46744        (WebCore::InspectorDOMAgent::cancelSearch):
46745        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
46746        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
46747        * inspector/InspectorDOMAgent.h:
46748        * inspector/front-end/DOMAgent.js:
46749        (WebInspector.DOMAgent.prototype.requestDocument.mycallback):
46750        (WebInspector.DOMAgent.prototype.requestDocument):
46751        (WebInspector.DOMAgent.prototype._attributesUpdated):
46752        (WebInspector.DOMAgent.prototype._characterDataModified):
46753        (WebInspector.DOMAgent.prototype._documentUpdated):
46754        (WebInspector.DOMAgent.prototype._setDocument):
46755        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
46756        (WebInspector.DOMAgent.prototype._childNodeInserted):
46757        (WebInspector.DOMAgent.prototype._childNodeRemoved):
46758        (WebInspector.DOMAgent.prototype._removeBreakpoints):
46759        (WebInspector.DOMAgent.prototype.performSearch):
46760        (WebInspector.DOMAgent.prototype.cancelSearch):
46761        (WebInspector.DOMDispatcher.prototype.searchResults):
46762        * inspector/front-end/ElementsPanel.js:
46763        (WebInspector.ElementsPanel):
46764        (WebInspector.ElementsPanel.prototype._reset):
46765        (WebInspector.ElementsPanel.prototype._documentUpdated):
46766        (WebInspector.ElementsPanel.prototype.searchCanceled):
46767        (WebInspector.ElementsPanel.prototype.performSearch):
46768        (WebInspector.ElementsPanel.prototype._addNodesToSearchResult):
46769        (WebInspector.ElementsPanel.prototype._attributesUpdated):
46770        (WebInspector.ElementsPanel.prototype._characterDataModified):
46771        (WebInspector.ElementsPanel.prototype._nodeInserted):
46772        (WebInspector.ElementsPanel.prototype._nodeRemoved):
46773        (WebInspector.ElementsPanel.prototype._childNodeCountUpdated):
46774        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
46775
467762011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46777
46778        Reviewed by Yury Semikhatsky.
46779
46780        Web Inspector: add tests for edit dom operations.
46781        https://bugs.webkit.org/show_bug.cgi?id=56248
46782
46783        Test: inspector/elements/edit-dom-actions.html
46784
46785        * inspector/Inspector.idl:
46786        * inspector/InspectorDOMAgent.cpp:
46787        (WebCore::InspectorDOMAgent::assertNode):
46788        (WebCore::InspectorDOMAgent::assertElement):
46789        (WebCore::InspectorDOMAgent::assertHTMLElement):
46790        (WebCore::InspectorDOMAgent::nodeToSelectOn):
46791        (WebCore::InspectorDOMAgent::querySelector):
46792        (WebCore::InspectorDOMAgent::querySelectorAll):
46793        (WebCore::InspectorDOMAgent::setAttribute):
46794        (WebCore::InspectorDOMAgent::removeAttribute):
46795        (WebCore::InspectorDOMAgent::getOuterHTML):
46796        (WebCore::InspectorDOMAgent::setOuterHTML):
46797        * inspector/InspectorDOMAgent.h:
46798        * inspector/front-end/DOMAgent.js:
46799        (WebInspector.DOMNode.prototype.setAttribute):
46800        (WebInspector.DOMNode.prototype.removeAttribute):
46801        * inspector/front-end/inspector.js:
46802        (WebInspector.startEditing.defaultFinishHandler):
46803
468042011-03-14  Brady Eidson  <beidson@apple.com>
46805
46806        Reviewed by Dan Bernstein.
46807
46808        <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
46809        Need WK2 API to view/manage origins with LocalStorage
46810
46811        * storage/StorageTracker.cpp:
46812        (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread
46813          before the StorageTracker thread can do it on the background thread.
46814
468152011-03-13  Anton D'Auria  <adauria@apple.com>
46816
46817        Reviewed by Brady Eidson and David Levin, landed by Brady Eidson.
46818
46819        Fixed lock-taking order to prevent deadlock, added lock for m_client,
46820        removed premature return in syncImportOriginIdentifiers when tracker
46821        db does not exist because that prevented syncFileSystemAndTrackerDatabase()
46822        from running until next LocalStorage db creation, cleaned up
46823        StorageTracker::scheduleTask() code for readability.
46824
46825        https://bugs.webkit.org/show_bug.cgi?id=56285
46826
46827        * storage/StorageTracker.cpp:
46828        (WebCore::StorageTracker::trackerDatabasePath):
46829        (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't
46830        optionally opened (as in the case when it doesn't exist on disk), don't
46831        exit early and call syncFileSystemAndTrackerDatabase(), which will create
46832        a tracker db if localstorage db files are found on disk by calling setOriginDetails.
46833        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
46834        (WebCore::StorageTracker::setOriginDetails):
46835        (WebCore::StorageTracker::scheduleTask): readability changes.
46836        (WebCore::StorageTracker::syncSetOriginDetails):
46837        (WebCore::StorageTracker::syncDeleteAllOrigins):
46838        (WebCore::StorageTracker::syncDeleteOrigin):
46839        (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock.
46840        (WebCore::StorageTracker::setClient):
46841        * storage/StorageTracker.h:
46842
468432011-03-13  Anton D'Auria  <adauria@apple.com>
46844
46845        Reviewed and landed by Brady Eidson.
46846
46847        Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1
46848        https://bugs.webkit.org/show_bug.cgi?id=56240
46849
46850        This assertion is invalid until LocalStorage is either global or is isolated by PageGroup.
46851
46852        * storage/StorageTracker.cpp:
46853        (WebCore::StorageTracker::origins):
46854        (WebCore::StorageTracker::deleteAllOrigins):
46855        (WebCore::StorageTracker::deleteOrigin):
46856
468572011-03-13  Pratik Solanki  <psolanki@apple.com>
46858
46859        Reviewed by Dan Bernstein.
46860
46861        Make adjustMIMETypeIfNecessary use CFNetwork directly
46862        https://bugs.webkit.org/show_bug.cgi?id=55912
46863
46864        Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain.
46865
46866        * platform/network/mac/WebCoreURLResponse.mm:
46867        (WebCore::adjustMIMETypeIfNecessary):
46868
468692011-03-13  Dan Bernstein  <mitz@apple.com>
46870
46871        Reviewed by Sam Weinig.
46872
46873        Include hyphenation information in text representation of render tree
46874        https://bugs.webkit.org/show_bug.cgi?id=56287
46875
46876        (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation
46877        string.
46878
468792011-03-13  David Levin  <levin@chromium.org>
46880
46881        Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288
46882        above addressing this FIXME.
46883
46884        * css/CSSStyleSelector.cpp:
46885        (WebCore::CSSStyleSelector::applyProperty):
46886
468872011-03-13  David Levin  <levin@chromium.org>
46888
46889        Build fix adding remaining enum values to switch statement.
46890
46891        * css/CSSStyleSelector.cpp:
46892        (WebCore::CSSStyleSelector::applyProperty):
46893
468942011-03-13  Sam Weinig  <sam@webkit.org>
46895
46896        Fix windows build.
46897
46898        * platform/network/cf/ResourceErrorCF.cpp:
46899        (WebCore::ResourceError::ResourceError):
46900        Add missing constructor.
46901
469022011-03-13  David Sosby  <dsosby@rim.com>
46903
46904        Reviewed by Dan Bernstein.
46905
46906        REGRESSION: Soft hyphen is not always rendered
46907        https://bugs.webkit.org/show_bug.cgi?id=56017
46908
46909        The check to flag a text block as hyphenated was only
46910        occurring at break points in the line. If no break points
46911        were found after the soft hyphen then the line would not
46912        be flagged hyphenated. Adding a check for soft hyphen at
46913        the end of the text run resolves the issue.
46914
46915        Test: fast/text/soft-hyphen-4.html
46916
46917        * rendering/RenderBlockLineLayout.cpp:
46918        (WebCore::RenderBlock::findNextLineBreak):
46919
469202011-03-13  Dan Bernstein  <mitz@apple.com>
46921
46922        Reviewed by Mark Rowe.
46923
46924        REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
46925        https://bugs.webkit.org/show_bug.cgi?id=56280
46926
46927        * rendering/RenderBlockLineLayout.cpp:
46928        (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
46929
469302011-03-13  Sam Weinig  <sam@webkit.org>
46931
46932        Reviewed by Anders Carlsson.
46933
46934        Add ability to create a WKErrorRef
46935        <rdar://problem/9115768>
46936        https://bugs.webkit.org/show_bug.cgi?id=56279
46937
46938        * WebCore.exp.in:
46939        Add new exports.
46940
46941        * platform/network/cf/ResourceError.h:
46942        * platform/network/cf/ResourceErrorCF.cpp:
46943        (WebCore::ResourceError::platformCompare):
46944        (WebCore::ResourceError::cfError):
46945        (WebCore::ResourceError::operator CFErrorRef):
46946        (WebCore::ResourceError::ResourceError):
46947        (WebCore::ResourceError::cfStreamError):
46948        (WebCore::ResourceError::operator CFStreamError):
46949        * platform/network/mac/ResourceErrorMac.mm:
46950        (WebCore::ResourceError::ResourceError):
46951        (WebCore::ResourceError::platformCompare):
46952        (WebCore::ResourceError::nsError):
46953        (WebCore::ResourceError::operator NSError *):
46954        (WebCore::ResourceError::cfError):
46955        (WebCore::ResourceError::operator CFErrorRef):
46956        Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
46957        regardless of whether CFNetwork is being used.
46958
469592011-03-13  Pratik Solanki  <psolanki@apple.com>
46960
46961        Reviewed by Brady Eidson.
46962
46963        Make adjustMIMETypeIfNecessary use CFNetwork directly
46964        https://bugs.webkit.org/show_bug.cgi?id=55912
46965
46966        Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
46967        WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
46968        identical.
46969
46970        Testing is covered by existing LayoutTests.
46971
46972        * WebCore.exp.in:
46973        * platform/mac/WebCoreSystemInterface.h:
46974        * platform/mac/WebCoreSystemInterface.mm:
46975        * platform/network/mac/ResourceHandleMac.mm:
46976        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
46977        * platform/network/mac/WebCoreURLResponse.h:
46978        * platform/network/mac/WebCoreURLResponse.mm:
46979        (WebCore::createBinaryExtensionsSet):
46980        (WebCore::createExtensionToMIMETypeMap):
46981        (WebCore::mimeTypeFromUTITree):
46982        (WebCore::adjustMIMETypeIfNecessary):
46983
469842011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
46985
46986        Reviewed by Dimitri Glazkov.
46987
46988        Update comment in CSSValueKeywords.in
46989        https://bugs.webkit.org/show_bug.cgi?id=56266
46990
46991        The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
46992        in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
46993
46994        No tests - just updating a comment.
46995
46996        * css/CSSValueKeywords.in:
46997
469982011-03-13  Anton D'Auria  <adauria@apple.com>
46999
47000        Reviewed by Alice Liu.
47001
47002        StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
47003        https://bugs.webkit.org/show_bug.cgi?id=56259
47004
47005        Move all StorageTracker initialization to
47006        StorageTracker::initializeTracker. This also removes the
47007        requirement that the StorageTracker constructor isn't run
47008        on the main thread.
47009
47010        * storage/StorageTracker.cpp:
47011        (WebCore::StorageTracker::initializeTracker):
47012        (WebCore::StorageTracker::tracker):
47013        (WebCore::StorageTracker::StorageTracker):
47014
470152011-03-13  Rob Buis  <rwlbuis@gmail.com>
47016
47017        Reviewed by Dave Hyatt.
47018
47019        REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
47020        https://bugs.webkit.org/show_bug.cgi?id=53470
47021
47022        Prefer !important over normal properties when dealing with duplicate properties in style rules.
47023
47024        Test: fast/css/duplicate-property-in-rule-important.html
47025
47026        * css/CSSMutableStyleDeclaration.cpp:
47027        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
47028
470292011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
47030
47031        Unreviewed, rolling out r80895.
47032        http://trac.webkit.org/changeset/80895
47033        https://bugs.webkit.org/show_bug.cgi?id=56261
47034
47035        Causing crashes in several tests including
47036        t1202-counters-16-c.html (see
47037        http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
47038        (Requested by dave_levin on #webkit).
47039
47040        * rendering/CounterNode.cpp:
47041        (WebCore::CounterNode::CounterNode):
47042        (WebCore::CounterNode::create):
47043        (WebCore::CounterNode::resetRenderer):
47044        (WebCore::CounterNode::resetRenderers):
47045        (WebCore::CounterNode::recount):
47046        (WebCore::CounterNode::insertAfter):
47047        (WebCore::CounterNode::removeChild):
47048        (WebCore::showTreeAndMark):
47049        * rendering/CounterNode.h:
47050        (WebCore::CounterNode::renderer):
47051        * rendering/RenderCounter.cpp:
47052        (WebCore::findPlaceForCounter):
47053        (WebCore::RenderCounter::~RenderCounter):
47054        (WebCore::RenderCounter::originalText):
47055        (WebCore::RenderCounter::invalidate):
47056        (WebCore::destroyCounterNodeWithoutMapRemoval):
47057        (WebCore::RenderCounter::destroyCounterNodes):
47058        (WebCore::RenderCounter::destroyCounterNode):
47059        (WebCore::updateCounters):
47060        (showCounterRendererTree):
47061        * rendering/RenderCounter.h:
47062        * rendering/RenderObjectChildList.cpp:
47063        (WebCore::invalidateCountersInContainer):
47064        (WebCore::RenderObjectChildList::invalidateCounters):
47065        * rendering/RenderObjectChildList.h:
47066
470672011-03-12  Darin Adler  <darin@apple.com>
47068
47069        Reviewed by Dan Bernstein.
47070
47071        REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
47072        https://bugs.webkit.org/show_bug.cgi?id=56258
47073
47074        No tests because the wrong hashing is mostly harmless. The only symptom
47075        we have seen is an occasional assertion in debug builds about the size
47076        not being a multiple of two. But a worse hash is worse for performance too.
47077
47078        * platform/cf/BinaryPropertyList.cpp:
47079        (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
47080        than the number of array entries.
47081
470822011-03-12  Cameron Zwarich  <zwarich@apple.com>
47083
47084        Not reviewed.
47085
47086        Fix the build with newer GCCs and remove some extra whitespae.
47087
47088        * bindings/js/SerializedScriptValue.cpp:
47089        (WebCore::uint8_t):
47090
470912011-03-12  Cameron Zwarich  <zwarich@apple.com>
47092
47093        Rubber-stamped by Oliver Hunt.
47094
47095        Removed unused ARMv5 code. The ARMv5 case now falls under the general
47096        unaligned accessed case.
47097
47098        * bindings/js/SerializedScriptValue.cpp:
47099        (WebCore::CloneDeserializer::readLittleEndian):
47100        (WebCore::CloneDeserializer::readString):
47101
471022011-03-12  Cameron Zwarich  <zwarich@apple.com>
47103
47104        Reviewed by Oliver Hunt.
47105
47106        WebCore fails to build with Clang on ARM
47107        https://bugs.webkit.org/show_bug.cgi?id=56257
47108
47109        Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
47110        namespace scope, since explicit specializations are not allowed at class scope.
47111
47112        * bindings/js/SerializedScriptValue.cpp:
47113        (WebCore::writeLittleEndian):
47114
471152011-03-11  Darin Adler  <darin@apple.com>
47116
47117        Reviewed by Sam Weinig.
47118
47119        Dragging image to desktop gives webloc instead of image file in WebKit2
47120        https://bugs.webkit.org/show_bug.cgi?id=56193
47121
47122        * WebCore.exp.in: Added some additional exports. Re-sorted.
47123
471242011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
47125
47126        Unreviewed, rolling out r80919.
47127        http://trac.webkit.org/changeset/80919
47128        https://bugs.webkit.org/show_bug.cgi?id=56251
47129
47130        all windows bots failed to compile this change (Requested by
47131        loislo on #webkit).
47132
47133        * bridge/c/c_class.cpp:
47134        * bridge/c/c_runtime.cpp:
47135        * bridge/jni/JavaMethod.cpp:
47136        * plugins/PluginViewNone.cpp:
47137
471382011-03-12  Patrick Gansterer  <paroga@webkit.org>
47139
47140        Unreviewed WinCE build fix for r80900.
47141
47142        * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
47143
471442011-03-12  Andras Becsi  <abecsi@webkit.org>
47145
47146        Unreviewed typo fix.
47147
47148        No new tests needed.
47149
47150        * WebCore.pro: Fix typo in header name.
47151
471522011-03-12  Pavel Feldman  <pfeldman@chromium.org>
47153
47154        Not reviewed: Inspect Element action regression fix.
47155
47156        * inspector/front-end/inspector.js:
47157        (WebInspector.inspect):
47158
471592011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
47160
47161        Unreviewed. One line fix for inspector/dom-breakpoints.html
47162
47163        * inspector/front-end/BreakpointManager.js:
47164        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
47165
471662011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
47167
47168        Unreviewed build fix.
47169
47170        Almost all inspector tests are crashing after r80928.
47171
47172        * inspector/front-end/inspector.js:
47173
471742011-03-11  Pavel Feldman  <pfeldman@chromium.org>
47175
47176        Reviewed by Yury Semikhatsky.
47177
47178        Web Inspector: follow up to error reporting, fixing multiple regressions.
47179        https://bugs.webkit.org/show_bug.cgi?id=56243
47180
47181        * inspector/InjectedScript.cpp:
47182        (WebCore::InjectedScript::setPropertyValue):
47183        * inspector/InjectedScript.h:
47184        * inspector/Inspector.idl:
47185        * inspector/InspectorDOMAgent.cpp:
47186        (WebCore::InspectorDOMAgent::getChildNodes):
47187        (WebCore::InspectorDOMAgent::getOuterHTML):
47188        (WebCore::InspectorDOMAgent::getEventListenersForNode):
47189        * inspector/InspectorDOMAgent.h:
47190        * inspector/InspectorRuntimeAgent.cpp:
47191        (WebCore::InspectorRuntimeAgent::setPropertyValue):
47192        * inspector/InspectorRuntimeAgent.h:
47193        * inspector/front-end/DOMAgent.js:
47194        (WebInspector.DOMNode.prototype.setNodeName):
47195        (WebInspector.DOMNode.prototype.setNodeValue):
47196        (WebInspector.DOMNode.prototype.getChildNodes):
47197        (WebInspector.DOMNode.prototype.getOuterHTML):
47198        (WebInspector.DOMNode.prototype.setOuterHTML):
47199        (WebInspector.DOMNode.prototype.removeNode):
47200        (WebInspector.DOMNode.prototype.copyNode):
47201        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
47202        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
47203        (WebInspector.EventListeners.getEventListenersForNode):
47204        * inspector/front-end/DOMStorage.js:
47205        (WebInspector.DOMStorage.prototype.getEntries):
47206        (WebInspector.DOMStorage.prototype.setItem):
47207        (WebInspector.DOMStorage.prototype.removeItem):
47208        * inspector/front-end/DOMStorageItemsView.js:
47209        (WebInspector.DOMStorageItemsView.prototype.update):
47210        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
47211        * inspector/front-end/ElementsTreeOutline.js:
47212        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
47213        (WebInspector.ElementsTreeElement.prototype.updateChildren):
47214        ():
47215        * inspector/front-end/EventListenersSidebarPane.js:
47216        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
47217        (WebInspector.EventListenersSidebarPane.prototype.update):
47218        * inspector/front-end/ObjectPropertiesSection.js:
47219        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
47220        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
47221        * inspector/front-end/PropertiesSidebarPane.js:
47222        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
47223        * inspector/front-end/RemoteObject.js:
47224        (WebInspector.RemoteObject.prototype.setPropertyValue):
47225        (WebInspector.RemoteObject.prototype.evaluate):
47226        * inspector/front-end/inspector.js:
47227
472282011-03-12  Jer Noble  <jer.noble@apple.com>
47229
47230        Unreviewed build fix.
47231
47232        Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
47233        checks.
47234
47235        * dom/Document.cpp:
47236        (WebCore::Document::webkitWillEnterFullScreenForElement):
47237        (WebCore::Document::webkitDidEnterFullScreenForElement):
47238        (WebCore::Document::webkitWillExitFullScreenForElement):
47239        (WebCore::Document::webkitDidExitFullScreenForElement):
47240
472412011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
47242
47243        Unreviewed build fix.
47244
47245        [EFL] Fix build break because of several reason.
47246        https://bugs.webkit.org/show_bug.cgi?id=56244
47247
47248        * CMakeLists.txt: Add missing files.
47249        * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
47250
472512011-03-11  Yury Semikhatsky  <yurys@chromium.org>
47252
47253        Reviewed by Pavel Feldman.
47254
47255        Web Inspector: move profiler related methods from inspector agent to profiler agent
47256        https://bugs.webkit.org/show_bug.cgi?id=56204
47257
47258        * inspector/Inspector.idl:
47259        * inspector/InspectorAgent.cpp:
47260        (WebCore::InspectorAgent::InspectorAgent):
47261        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
47262        (WebCore::InspectorAgent::setFrontend):
47263        (WebCore::InspectorAgent::disconnectFrontend):
47264        (WebCore::InspectorAgent::populateScriptObjects):
47265        (WebCore::InspectorAgent::showProfilesPanel):
47266        * inspector/InspectorAgent.h:
47267        * inspector/InspectorController.cpp:
47268        (WebCore::InspectorController::enableProfiler):
47269        (WebCore::InspectorController::disableProfiler):
47270        (WebCore::InspectorController::profilerEnabled):
47271        (WebCore::InspectorController::startUserInitiatedProfiling):
47272        (WebCore::InspectorController::stopUserInitiatedProfiling):
47273        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
47274        * inspector/InspectorInstrumentation.cpp:
47275        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
47276        * inspector/InspectorProfilerAgent.cpp:
47277        (WebCore::InspectorProfilerAgent::create):
47278        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
47279        (WebCore::InspectorProfilerAgent::enable):
47280        (WebCore::InspectorProfilerAgent::disable):
47281        (WebCore::InspectorProfilerAgent::setFrontend):
47282        (WebCore::InspectorProfilerAgent::clearFrontend):
47283        (WebCore::InspectorProfilerAgent::restore):
47284        (WebCore::InspectorProfilerAgent::restoreEnablement):
47285        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
47286        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
47287        * inspector/InspectorProfilerAgent.h:
47288        (WebCore::InspectorProfilerAgent::start):
47289        (WebCore::InspectorProfilerAgent::stop):
47290        * inspector/front-end/ProfileView.js:
47291        (WebInspector.CPUProfileType.prototype.buttonClicked):
47292        * inspector/front-end/ProfilesPanel.js:
47293        (WebInspector.ProfilesPanel):
47294        (WebInspector.ProfilesPanel.prototype._registerProfileType):
47295        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
47296        * inspector/front-end/inspector.js:
47297        (WebInspector._createPanels):
47298
472992011-03-11  Jer Noble  <jer.noble@apple.com>
47300
47301        Reviewed by Anders Carlsson.
47302
47303        WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
47304        https://bugs.webkit.org/show_bug.cgi?id=56226
47305
47306        * dom/Document.cpp:
47307        (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
47308        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
47309        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
47310        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
47311        (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
47312
473132011-03-11  Jer Noble  <jer.noble@apple.com>
47314
47315        Reviewed by Anders Carlsson.
47316
47317        Create new interface stubs to support full screen mode in WebKit2.
47318
47319        WebKit2: Plumb new full screen animation APIs through WebKit2.
47320        https://bugs.webkit.org/show_bug.cgi?id=55993
47321
47322        * page/ChromeClient.h:
47323        (WebCore::ChromeClient::setRootFullScreenLayer): Added.
47324
473252011-03-11  Oliver Hunt  <oliver@apple.com>
47326
47327        Reviewed by Gavin Barraclough.
47328
47329        Ensure all values are correctly tagged in the registerfile
47330        https://bugs.webkit.org/show_bug.cgi?id=56214
47331
47332        Make sure everything builds still.
47333
47334        * bridge/c/c_class.cpp:
47335        * bridge/c/c_runtime.cpp:
47336        * bridge/jni/JavaMethod.cpp:
47337        * plugins/PluginViewNone.cpp:
47338
473392011-03-11  Mark Rowe  <mrowe@apple.com>
47340
47341        Fix the 32-bit build.
47342
47343        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
47344        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
47345
473462011-03-11  Mark Rowe  <mrowe@apple.com>
47347
47348        Rubber-stamped by Eric Carlsson.
47349
47350        <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
47351
47352        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
47353        (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
47354        (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
47355
473562011-03-11  Chris Marrin  <cmarrin@apple.com>
47357
47358        Unreviewed.
47359
47360        Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
47361
47362        * platform/graphics/ca/GraphicsLayerCA.cpp:
47363        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
47364
473652011-03-11  Brady Eidson  <beidson@apple.com>
47366
47367        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
47368
47369        * loader/icon/IconDatabase.h: Make this guy public.
47370
473712011-03-11  Brady Eidson  <beidson@apple.com>
47372
47373        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
47374
47375        * loader/icon/IconDatabase.h:
47376        (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
47377
473782011-03-11  Brady Eidson  <beidson@apple.com>
47379
47380        https://bugs.webkit.org/show_bug.cgi?id=56216
47381        Fix the Qt build following the same pattern of the patch.
47382
47383        * loader/icon/IconDatabase.h:
47384        * loader/icon/IconDatabaseBase.cpp:
47385        (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
47386        * loader/icon/IconDatabaseBase.h:
47387        (WebCore::IconDatabaseBase::isOpen): Ditto.
47388
473892011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
47390
47391        Reviewed by Alexey Proskuryakov.
47392
47393        https://bugs.webkit.org/show_bug.cgi?id=56198
47394        Fix conditional which had an int for one case and a pointer for another.
47395
47396        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
47397
47398        * loader/appcache/ApplicationCacheGroup.cpp:
47399        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
47400
474012011-03-11  Brady Eidson  <beidson@apple.com>
47402
47403        Windows build fix.
47404
47405        * history/HistoryItem.cpp:
47406        * loader/icon/IconDatabaseBase.cpp:
47407
474082011-03-11  Brady Eidson  <beidson@apple.com>
47409
47410        Reviewed by Sam Weinig.
47411
47412        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
47413        Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
47414
47415        Project file stuff:
47416        * Android.mk:
47417        * CMakeLists.txt:
47418        * GNUmakefile.am:
47419        * WebCore.gyp/WebCore.gyp:
47420        * WebCore.gypi:
47421        * WebCore.pro:
47422        * WebCore.xcodeproj/project.pbxproj:
47423        * WebCore.vcproj/WebCore.vcproj:
47424
47425        * loader/icon/IconDatabase.cpp:
47426        * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
47427
47428        * loader/icon/IconDatabaseBase.cpp: Added.
47429        (WebCore::IconDatabaseBase::iconURLForPageURL):
47430        (WebCore::iconDatabase):
47431        (WebCore::setGlobalIconDatabase):
47432        * loader/icon/IconDatabaseBase.h: Added.
47433        (WebCore::IconDatabaseBase::IconDatabaseBase):
47434        (WebCore::IconDatabaseBase::~IconDatabaseBase):
47435        (WebCore::IconDatabaseBase::setEnabled):
47436        (WebCore::IconDatabaseBase::isEnabled):
47437        (WebCore::IconDatabaseBase::defaultIcon):
47438        (WebCore::IconDatabaseBase::retainIconForPageURL):
47439        (WebCore::IconDatabaseBase::releaseIconForPageURL):
47440        (WebCore::IconDatabaseBase::iconForPageURL):
47441        (WebCore::IconDatabaseBase::setIconURLForPageURL):
47442        (WebCore::IconDatabaseBase::setIconDataForIconURL):
47443        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
47444        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
47445        (WebCore::IconDatabaseBase::pageURLMappingCount):
47446        (WebCore::IconDatabaseBase::retainedPageURLCount):
47447        (WebCore::IconDatabaseBase::iconRecordCount):
47448        (WebCore::IconDatabaseBase::iconRecordCountWithData):
47449        (WebCore::IconDatabaseBase::importIconURLForPageURL):
47450        (WebCore::IconDatabaseBase::importIconDataForIconURL):
47451        (WebCore::IconDatabaseBase::shouldStopThreadActivity):
47452        (WebCore::IconDatabaseBase::open):
47453        (WebCore::IconDatabaseBase::close):
47454        (WebCore::IconDatabaseBase::removeAllIcons):
47455        (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
47456        (WebCore::IconDatabaseBase::setClient):
47457
47458        * loader/icon/IconDatabaseNone.cpp: Removed.
47459
474602011-03-11  Brady Eidson  <beidson@apple.com>
47461
47462        Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
47463
47464        * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
47465
474662011-03-11  Michael Nordman  <michaeln@google.com>
47467
47468        Reviewed by Dmitry Titov.
47469
47470        Adding the '~' to the dtor (duh).
47471
47472        No new tests.
47473
47474        * storage/SQLCallbackWrapper.h:
47475        (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
47476
474772011-03-11  Carol Szabo  <carol.szabo@nokia.com>
47478
47479        Reviewed by David Hyatt.
47480
47481        Introduced double linkage between a CounterNode and its display renderer.
47482
47483        use of freed pointer in WebCore::RenderCounter::originalText()
47484        https://bugs.webkit.org/show_bug.cgi?id=56065
47485
47486        No new tests. This bug could only be reproduced manually by
47487        refreshing the page during load at a critical point.
47488        See bug attachment for testing.
47489
47490        * rendering/CounterNode.cpp:
47491        Introduced new member "m_owner" to store the renderer that has the
47492        style directives that produce the CounterNode.
47493        Repurposed m_renderer to reffer to the RenderCounter that shows the
47494        CounterNode.
47495        (WebCore::CounterNode::CounterNode):
47496        Updated member initialization.
47497        (WebCore::CounterNode::create):
47498        (WebCore::CounterNode::resetRenderer):
47499        (WebCore::CounterNode::resetRenderers):
47500        (WebCore::CounterNode::recount):
47501        (WebCore::CounterNode::removeChild):
47502        (WebCore::CounterNode::insertAfter):
47503        No functional changes.
47504        (WebCore::showTreeAndMark):
47505        Added flushing to ensure that the output is complete.
47506        * rendering/CounterNode.h:
47507        (WebCore::CounterNode::owner):
47508        Renamed from renderer()
47509        (WebCore::CounterNode::renderer):
47510        (WebCore::CounterNode::setRenderer):
47511        Added new accessors for the display renderer.
47512        * rendering/RenderCounter.cpp:
47513        (WebCore::findPlaceForCounter):
47514        Fixed comments. No functional changes.
47515        (WebCore::RenderCounter::~RenderCounter):
47516        Made sure that the CounterNode that this renderers displays is
47517        detached from this.
47518        (WebCore::RenderCounter::originalText):
47519        (WebCore::RenderCounter::invalidate):
47520        Added code to update m_renderer on the displayed CounterNode.
47521        (WebCore::destroyCounterNodeWithoutMapRemoval):
47522        (WebCore::RenderCounter::destroyCounterNodes):
47523        (WebCore::RenderCounter::destroyCounterNode):
47524        (WebCore::updateCounters):
47525        No change, just kept code in line with the changes above.
47526        (showCounterRendererTree):
47527        Added fflush to ensure complete display.
47528        * rendering/RenderCounter.h:
47529        * rendering/RenderObjectChildList.cpp:
47530        * rendering/RenderObjectChildList.h:
47531        Removed unneeded invalidateCounters related functions.
47532
475332011-03-11  Luke Macpherson   <macpherson@chromium.org>
47534
47535        Reviewed by Eric Seidel.
47536
47537        Introduce lookup-table based approach for applying CSS properties.
47538        The aim is to be a starting point for refactoring
47539        CSSStyleSelector::applyProperty() into more readable, maintainable code.
47540        https://bugs.webkit.org/show_bug.cgi?id=54707
47541
47542        No new behavior / covered by existing tests.
47543
47544        * css/CSSStyleApplyProperty.cpp: Added.
47545        (WebCore::ApplyPropertyNull):
47546        Class that provides empty implementations of inherit, initial, value.
47547        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
47548        Class that calls the appropriate RenderStyle setters directly.
47549        (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
47550        Class for handling CSSProperty*Color.
47551        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
47552        Class for handling CSSPropertyColor.
47553        (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
47554        Singleton initializer.
47555        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
47556        Constructor that bulds up the map from property id to apply-er objects.
47557        * css/CSSStyleApplyProperty.h: Added.
47558        (WebCore::CSSStyleApplyProperty::inherit):
47559        Handle the inherit case for a given property.
47560        (WebCore::CSSStyleApplyProperty::initial):
47561        Handle the initial case for a given property.
47562        (WebCore::CSSStyleApplyProperty::value):
47563        Apply a value to a given property.
47564        (WebCore::CSSStyleApplyProperty::implements):
47565        Returns true if the provided property id is implemented.
47566        (WebCore::CSSStyleApplyProperty::index):
47567        Private function to determine the index of a property the property map.
47568        (WebCore::CSSStyleApplyProperty::valid):
47569        Function to determine that a given property id is valid.
47570        (WebCore::CSSStyleApplyProperty::setPropertyValue):
47571        (WebCore::CSSStyleApplyProperty::propertyValue):
47572        * css/CSSStyleSelector.cpp:
47573        (WebCore::CSSStyleSelector::CSSStyleSelector):
47574        Get reference to the CSSStyleApplyProperty singleton.
47575        (WebCore::CSSStyleSelector::applyProperty):
47576        Now calls into CSSStyleApplyProperty for implemented property ids.
47577        Deleted color-related methods from the property id switch.
47578        * css/CSSStyleSelector.h:
47579        (WebCore::CSSStyleSelector::style):
47580        Made public to allow access from CSSStyleApplyProperty.
47581        (WebCore::CSSStyleSelector::parentStyle):
47582        Made public to allow access from CSSStyleApplyProperty.
47583        * rendering/style/RenderStyle.h:
47584        Made CSSStyleApplyProperty a friend class. Necessary because it needs
47585        to access the private getters and setters on this clsass.
47586
475872011-03-11  Anton D'Auria  <adauria@apple.com>
47588
47589        Reviewed and landed by Brady Eidson.
47590
47591        Add WebKit1 API to view and delete local storage
47592        https://bugs.webkit.org/show_bug.cgi?id=51878
47593
47594        Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
47595        StorageTracker maintains its own database of origin identifiers and backing db paths,
47596        and this allows it to contain more relational data in the future, like variable quotas per origin.
47597
47598        On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
47599        an origin entry when StorageAreaSync performs a first sync for an origin.
47600
47601        All StorageTracker file operations are performed on one background thread with a task queue.
47602
47603        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
47604               storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
47605               storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
47606               storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
47607               storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
47608
47609        * GNUmakefile.am:
47610        * WebCore.exp.in:
47611        * WebCore.gypi:
47612        * WebCore.pro:
47613        * WebCore.vcproj/WebCore.vcproj:
47614        * WebCore.xcodeproj/project.pbxproj:
47615        * page/PageGroup.cpp:
47616        (WebCore::PageGroup::clearLocalStorageForAllOrigins):
47617        (WebCore::PageGroup::clearLocalStorageForOrigin):
47618        (WebCore::PageGroup::syncLocalStorage):
47619        (WebCore::PageGroup::numberOfPageGroups):
47620        * page/PageGroup.h:
47621        * platform/chromium/FileSystemChromium.cpp:
47622        (WebCore::listDirectory):
47623        * platform/posix/FileSystemPOSIX.cpp:
47624        (WebCore::listDirectory):
47625        * storage/LocalStorageTask.cpp:
47626        (WebCore::LocalStorageTask::LocalStorageTask):
47627        (WebCore::LocalStorageTask::performTask):
47628        * storage/LocalStorageTask.h:
47629        (WebCore::LocalStorageTask::createOriginIdentifiersImport):
47630        (WebCore::LocalStorageTask::createSetOriginDetails):
47631        (WebCore::LocalStorageTask::createDeleteOrigin):
47632        (WebCore::LocalStorageTask::createDeleteAllOrigins):
47633        * storage/StorageAreaImpl.cpp:
47634        (WebCore::StorageAreaImpl::clearForOriginDeletion):
47635        (WebCore::StorageAreaImpl::sync):
47636        * storage/StorageAreaImpl.h:
47637        * storage/StorageAreaSync.cpp:
47638        (WebCore::StorageAreaSync::scheduleCloseDatabase):
47639        (WebCore::StorageAreaSync::openDatabase):
47640        (WebCore::StorageAreaSync::sync):
47641        (WebCore::StorageAreaSync::deleteEmptyDatabase):
47642        (WebCore::StorageAreaSync::scheduleSync):
47643        * storage/StorageAreaSync.h:
47644        * storage/StorageNamespace.h:
47645        * storage/StorageNamespaceImpl.cpp:
47646        (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
47647        (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
47648        (WebCore::StorageNamespaceImpl::sync):
47649        * storage/StorageNamespaceImpl.h:
47650        * storage/StorageTracker.cpp: Added.
47651        (WebCore::StorageTracker::initializeTracker):
47652        (WebCore::StorageTracker::tracker):
47653        (WebCore::StorageTracker::StorageTracker):
47654        (WebCore::StorageTracker::setStorageDirectoryPath):
47655        (WebCore::StorageTracker::trackerDatabasePath):
47656        (WebCore::StorageTracker::openTrackerDatabase):
47657        (WebCore::StorageTracker::importOriginIdentifiers):
47658        (WebCore::StorageTracker::syncImportOriginIdentifiers):
47659        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
47660        (WebCore::StorageTracker::setOriginDetails):
47661        (WebCore::StorageTracker::scheduleTask):
47662        (WebCore::StorageTracker::syncSetOriginDetails):
47663        (WebCore::StorageTracker::origins):
47664        (WebCore::StorageTracker::deleteAllOrigins):
47665        (WebCore::StorageTracker::syncDeleteAllOrigins):
47666        (WebCore::StorageTracker::deleteOrigin):
47667        (WebCore::StorageTracker::syncDeleteOrigin):
47668        (WebCore::StorageTracker::willDeleteAllOrigins):
47669        (WebCore::StorageTracker::willDeleteOrigin):
47670        (WebCore::StorageTracker::canDeleteOrigin):
47671        (WebCore::StorageTracker::cancelDeletingOrigin):
47672        (WebCore::StorageTracker::setClient):
47673        (WebCore::StorageTracker::syncLocalStorage):
47674        * storage/StorageTracker.h: Added.
47675        * storage/StorageTrackerClient.h: Added.
47676        (WebCore::StorageTrackerClient::~StorageTrackerClient):
47677
476782011-03-11  Steve Block  <steveblock@google.com>
47679
47680        Reviewed by Jeremy Orlow.
47681
47682        JavaMethod does not correctly check for a null jstring for the method name
47683        https://bugs.webkit.org/show_bug.cgi?id=56187
47684
47685        No new tests, simple typo fix.
47686
47687        * bridge/jni/JavaMethod.cpp:
47688        (JavaMethod::JavaMethod):
47689
476902011-03-11  Adrienne Walker  <enne@google.com>
47691
47692        Reviewed by James Robinson.
47693
47694        [chromium] Compositor uses too much texture memory for scrollbars
47695        https://bugs.webkit.org/show_bug.cgi?id=56212
47696
47697        Compositor invalidations can be off the page (and very large), but
47698        scrollbars only need to care about the invalidation that's visible.
47699        The large invalidation was causing the tiler layer size to grow
47700        needlessly larger than the scrollbar.
47701
47702        * platform/graphics/chromium/LayerRendererChromium.cpp:
47703        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
47704
477052011-03-11  David Hyatt  <hyatt@apple.com>
47706
47707        Reviewed by Simon Fraser.
47708
47709        https://bugs.webkit.org/show_bug.cgi?id=52987
47710
47711        REGRESSION: Overflowing columns not repainted correctly
47712
47713        Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
47714        sufficient, since blocks paint their own columns.
47715
47716        Added fast/multicol/scrolling-overflow.html
47717
47718        * rendering/RenderBlock.cpp:
47719        (WebCore::RenderBlock::addOverflowFromChildren):
47720
477212011-03-11  Matthew Delaney  <mdelaney@apple.com>
47722
47723        Reviewed by Simon Fraser.
47724
47725        Set canvasUsesAcceleratedDrawing setting to be off(false) by default
47726        https://bugs.webkit.org/show_bug.cgi?id=56215
47727
47728        No new tests. Does not affect behavior. Just keeping the setting off by default.
47729
47730        * page/Settings.cpp:
47731        (WebCore::Settings::Settings):
47732
477332011-03-11  Andy Estes  <aestes@apple.com>
47734
47735        Reviewed by David Hyatt.
47736
47737        Table cells with dynamically added percentage height descendants do not
47738        grow in size if the table has already been laid out.
47739        https://bugs.webkit.org/show_bug.cgi?id=56174
47740
47741        Table cells ignore their specified size and collapse to fit their
47742        children. When a descendent with percentage height is present before
47743        the table is first laid out, the descendent is sized based on the
47744        specified size of the table cell. However, when the child isn't present
47745        when the table is first laid out, the table cell ignores its specified
47746        size and collapses down to 0. Then, when the child div is added in a
47747        separate run loop iteration, it is sized to be 100% of the collapsed
47748        cell height instead of 100% of the cell's specified height. We should
47749        not get different layouts depending on the timing of tree construction.
47750
47751        Fix this by clearing intrinsic padding before calculating the table
47752        cell's override height when we detect a child that should flex the
47753        table cell.
47754
47755        Test: fast/table/dynamic-descendant-percentage-height.html
47756
47757        * rendering/RenderTableCell.cpp:
47758        (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
47759        intrinsic padding before setting the override size.
47760        * rendering/RenderTableCell.h:
47761        * rendering/RenderTableSection.cpp:
47762        (WebCore::RenderTableSection::layoutRows): Call
47763        setOverrideSizeFromRowHeight() instead of setOverrideSize().
47764
477652011-03-11  Michael Nordman  <michaeln@google.com>
47766
47767        Reviewed by David Levin.
47768
47769        Add SQLCallbackWrapper
47770        Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
47771        which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
47772        https://bugs.webkit.org/show_bug.cgi?id=55919
47773
47774        No new tests, existing tests apply.
47775
47776        * GNUmakefile.am:
47777        * WebCore.gypi:
47778        * WebCore.pro:
47779        * WebCore.vcproj/WebCore.vcproj:
47780        * WebCore.xcodeproj/project.pbxproj:
47781        * storage/SQLCallbackWrapper.h: Added.
47782        (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
47783        (WebCore::SQLCallbackWrapper::clear):
47784        (WebCore::SQLCallbackWrapper::unwrap):
47785        (WebCore::SQLCallbackWrapper::hasCallback):
47786        (WebCore::SQLCallbackWrapper::safeRelease):
47787        * storage/SQLStatement.cpp:
47788        (WebCore::SQLStatement::create):
47789        (WebCore::SQLStatement::SQLStatement):
47790        (WebCore::SQLStatement::performCallback):
47791        * storage/SQLStatement.h:
47792        (WebCore::SQLStatement::hasStatementCallback):
47793        (WebCore::SQLStatement::hasStatementErrorCallback):
47794        * storage/SQLTransaction.cpp:
47795        (WebCore::SQLTransaction::SQLTransaction):
47796        (WebCore::SQLTransaction::executeSQL):
47797        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
47798        (WebCore::SQLTransaction::deliverTransactionCallback):
47799        (WebCore::SQLTransaction::deliverStatementCallback):
47800        (WebCore::SQLTransaction::postflightAndCommit):
47801        (WebCore::SQLTransaction::deliverSuccessCallback):
47802        (WebCore::SQLTransaction::handleTransactionError):
47803        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
47804        * storage/SQLTransaction.h:
47805
478062011-03-11  Eric Carlson  <eric.carlson@apple.com>
47807
47808        Reviewed by Sam Weinig.
47809
47810        <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
47811
47812        No new tests, existing media tests cover this.
47813
47814        * WebCore.xcodeproj/project.pbxproj:
47815        * platform/graphics/MediaPlayer.cpp:
47816        (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
47817        (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
47818        (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
47819        (WebCore::MediaPlayer::inMediaDocument): Ditto.
47820        * platform/graphics/MediaPlayer.h:
47821
47822        * platform/graphics/avfoundation: Added.
47823        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
47824        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
47825
47826        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
47827        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
47828
478292011-03-11  Dean Jackson  <dino@apple.com>
47830
47831        Reviewed by Simon Fraser.
47832
47833        https://bugs.webkit.org/show_bug.cgi?id=56205
47834        m_restrictions needs to allow multiple values (a bitfield)
47835
47836        HTMLMediaElement::m_restrictions needs to hold multiple values, so
47837        change BehaviorRestrictions to an unsigned typedef and rename the
47838        existing enum BehaviorRestrictionFlags.
47839
47840        * html/HTMLMediaElement.h:
47841        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
47842
478432011-03-11  David Hyatt  <hyatt@apple.com>
47844
47845        Reviewed by Dan Bernstein.
47846
47847        https://bugs.webkit.org/show_bug.cgi?id=47206
47848
47849        Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
47850        properly constructed.
47851
47852        Added fast/css-generated-content/table-row-before-after.html
47853
47854        * rendering/RenderTableRow.cpp:
47855        (WebCore::RenderTableRow::styleDidChange):
47856        * rendering/RenderTableRow.h:
47857
478582011-03-11  James Robinson  <jamesr@chromium.org>
47859
47860        Reviewed by Kenneth Russell.
47861
47862        [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
47863        https://bugs.webkit.org/show_bug.cgi?id=56209
47864
47865        This matches the behavior prior to r80482.  No test since the only changes in
47866        behavior are avoiding work on invisible layers, which is unobservable,
47867        and fixing a crash due to bug 56153.
47868
47869        * platform/graphics/chromium/LayerRendererChromium.cpp:
47870        (WebCore::LayerRendererChromium::updateContentsRecursive):
47871
478722011-03-11  David Hyatt  <hyatt@apple.com>
47873
47874        Reviewed by Simon Fraser.
47875
47876        https://bugs.webkit.org/show_bug.cgi?id=47159
47877
47878        CSS2.1 failures in background position parsing.
47879
47880        Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
47881        when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
47882        it to understand what the first component was.
47883
47884        For individual property parsing using background-position-x/y, I added new functions that just handle that without
47885        worrying about the other component.
47886
47887        In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
47888        backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
47889        has been changed to always consider a layer empty if it has no image set, even if other properties are set.
47890
47891        A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
47892        parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
47893        should actually include the additional values when no image is set though, so that should perhaps be the subject of a
47894        follow-up bug.
47895
47896        Added fast/backgrounds/background-position-parsing.html
47897
47898        * css/CSSParser.cpp:
47899        (WebCore::CSSParser::parseFillPositionX):
47900        (WebCore::CSSParser::parseFillPositionY):
47901        (WebCore::CSSParser::parseFillPositionComponent):
47902        (WebCore::CSSParser::parseFillPosition):
47903        (WebCore::CSSParser::parseFillProperty):
47904        (WebCore::CSSParser::parseTransformOrigin):
47905        (WebCore::CSSParser::parsePerspectiveOrigin):
47906        * css/CSSParser.h:
47907        * rendering/style/FillLayer.cpp:
47908        (WebCore::FillLayer::fillUnsetProperties):
47909        (WebCore::FillLayer::cullEmptyLayers):
47910
479112011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
47912
47913        Reviewed by James Robinson.
47914
47915        [chromium] Allow large layers with non-identity transforms to be drawn
47916        as long as their visible portion is smaller than the largest supported
47917        texture size. This code will soon be replaced by tiled layers.
47918        https://bugs.webkit.org/show_bug.cgi?id=55984
47919
47920        Test: platform/chromium/compositing/huge-layer-rotated.html
47921
47922        * platform/graphics/chromium/ContentLayerChromium.cpp:
47923        (WebCore::ContentLayerChromium::updateContentsIfDirty):
47924        (WebCore::ContentLayerChromium::draw):
47925        * platform/graphics/chromium/ContentLayerChromium.h:
47926
479272011-03-09  Chris Marrin  <cmarrin@apple.com>
47928
47929        Reviewed by Adam Roben.
47930
47931        REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
47932        https://bugs.webkit.org/show_bug.cgi?id=52468
47933
47934        Added WIN32 to the ifdef controlling whether animations are applied in normal or
47935        reverse order. On Mac, animations used to be applied in reverse, but
47936        <rdar://problem/7095638> fixed this in the release after Snow Leopard.
47937        But that patch has not be applied to the Safari Windows SDK yet. For now
47938        I've made Windows use the reverse order logig. <rdar://problem/9112233> is
47939        tracking the inclusion of the patch on Windows.
47940
47941        * platform/graphics/ca/GraphicsLayerCA.cpp:
47942        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
47943
479442011-03-11  Tony Gentilcore  <tonyg@chromium.org>
47945
47946        Reviewed by Eric Seidel.
47947
47948        Let the parser yield for layout before running scripts
47949        https://bugs.webkit.org/show_bug.cgi?id=54355
47950
47951        Prior to this patch, the parser would yield to perform a layout/paint before running a
47952        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
47953        don't preload scan into the body while parsing the head, typically we'll block on a script
47954        early in the body that causes us to yield to do the first paint within a reasonable time.
47955
47956        However, I'm planning to change the PreloadScanner to scan into the body from the head.
47957        That significantly improves overall load time, but would hurt first paint time because
47958        fewer scripts would be blocked during parsing and thus wouldn't yield.
47959
47960        This change causes us to yield before running scripts if we haven't painted yet (regardless
47961        of whether or not the script is loaded). In addition to allowing the above mentioned
47962        PreloadScanner change to be implemented without regressing first paint time, this also
47963        improves first paint time by itself.
47964
47965        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
47966        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
47967        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
47968        signifcant change in page load time.
47969
47970        Within the pages tested, 33 had no statistically significant change in time to first paint,
47971        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
47972        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
47973
47974        * html/parser/HTMLDocumentParser.cpp:
47975        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
47976        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
47977        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
47978        the right thing whether we are just before a token or waiting for a script. Now that we may
47979        yield before a token or before a script, this may be called while paused.
47980        * html/parser/HTMLParserScheduler.cpp:
47981        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
47982        * page/FrameView.h:
47983        (WebCore::FrameView::hasEverPainted): Added.
47984
479852011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
47986
47987        Fix crashes in dom/html/level2/html/HTMLInputElement*.
47988
47989        * css/CSSStyleSelector.cpp:
47990        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
47991            because e can certainly be a null.
47992
479932011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
47994
47995        Reviewed by David Hyatt.
47996
47997        Choke text-decoration when entering shadow DOM subtree.
47998        https://bugs.webkit.org/show_bug.cgi?id=56044
47999
48000        No new tests, because the functionality can't be tested yet.
48001
48002        * css/CSSStyleSelector.cpp:
48003        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
48004
480052011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
48006
48007        Reviewed by Eric Carlson.
48008
48009        Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
48010        https://bugs.webkit.org/show_bug.cgi?id=55972
48011
48012        Instead of poking at the time display elements all the way from RenderMedia,
48013        let the standard layout cycle take care of things. Move the logic of calculating
48014        when to collapse the time display elements into a custom renderer, since
48015        this is not something that can be accomplished with CSS.
48016
48017        Also, the logic of keeping the timeline slider at least 100px needed refreshing,
48018        since it didn't actually keep it at 100px.
48019
48020        * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
48021            of time display elements to RenderMediaControlTimeDisplay, eliminating
48022            updateTimeDisplayVisibility method.
48023        * html/shadow/MediaControls.h: Removed decl.
48024        * rendering/MediaControlElements.cpp:
48025        (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
48026            Added new renderer class.
48027        (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
48028            size-sensing logic, still using hard-coded values.
48029        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
48030            Removed m_isVisible member, which is no longer necessary.
48031        (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
48032            return the new renderer.
48033        * rendering/MediaControlElements.h: Adjusted decls.
48034        * rendering/RenderMedia.cpp:
48035        (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
48036            media controls in layout.
48037
480382011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
48039
48040        Reviewed by Eric Carlson.
48041
48042        Start focusing updates to media controls, away from always updating everything.
48043        https://bugs.webkit.org/show_bug.cgi?id=56038
48044
48045        For now, the new methods just call generic MediaControls::update.
48046
48047        Covered by existing tests.
48048
48049        * html/HTMLMediaElement.cpp:
48050        (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
48051        (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
48052        (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
48053        (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
48054            accessor.
48055        (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
48056            MediaControls::changedClosedCaptionsVisibility.
48057        (WebCore::HTMLMediaElement::mediaControls): Added.
48058        (WebCore::HTMLMediaElement::hasMediaControls): Added.
48059        * html/HTMLMediaElement.h: Added decls.
48060        * html/shadow/MediaControls.cpp:
48061        (WebCore::MediaControls::reset): Added.
48062        (WebCore::MediaControls::changedMute): Added.
48063        (WebCore::MediaControls::changedVolume): Added.
48064        (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
48065        * html/shadow/MediaControls.h: Added decls.
48066
480672011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
48068
48069        Reviewed by Martin Robinson.
48070
48071        [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
48072        https://bugs.webkit.org/show_bug.cgi?id=55703
48073
48074        When calling webKitWebSrcStop in case of a seeking, the frame should not
48075        be reset (the source hasn't change). The frame may be used to get the network
48076        context. Some network stack (like Qt) are relaying on the network context
48077        to work.
48078
48079        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
48080        (webKitWebSrcStop):
48081
480822011-03-11  Dean Jackson  <dino@apple.com>
48083
48084        Unreviewed.
48085
48086        Build fixes for GTK and Leopard.
48087
48088        * bindings/gobject/GNUmakefile.am:
48089        - add missing WebKitAnimation* generated bindings
48090        * page/WebKitAnimation.idl:
48091        - use double in place of float (the core values are double anyway)
48092
480932011-03-11  Dean Jackson  <dino@apple.com>
48094
48095        Unreviewed build fix for QT.
48096
48097        * WebCore.pro:
48098
480992011-03-11  Dean Jackson  <dino@apple.com>
48100
48101        Reviewed by Simon Fraser and Chris Marrin.
48102
48103        https://bugs.webkit.org/show_bug.cgi?id=54151
48104        Implement an API to play/pause/scrub animations
48105
48106        This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
48107        APIs, exposed via Element.getWebKitAnimations(). This first pass
48108        is a read-only API - a subsequent commit will add the ability
48109        to scrub animations.
48110
48111        Test: animations/animation-api-1.html
48112
48113        * Android.derived.jscbindings.mk:
48114        * Android.derived.v8bindings.mk:
48115        * Android.mk:
48116        * Android.v8bindings.mk:
48117        * CMakeLists.txt:
48118        * CodeGenerators.pri:
48119        * DerivedSources.cpp:
48120        * DerivedSources.make:
48121        * GNUmakefile.am:
48122        * WebCore.gypi:
48123        * WebCore.pro:
48124        * WebCore.vcproj/WebCore.vcproj:
48125        * WebCore.xcodeproj/project.pbxproj:
48126        - All build settings updated for new files
48127        * bindings/js/JSBindingsAllInOne.cpp:
48128        - Include new custom files
48129        * bindings/js/JSWebKitAnimationCustom.cpp: Added.
48130        (WebCore::JSWebKitAnimation::iterationCount):
48131        - Custom property getter so that we can return INFINITY
48132        * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
48133        (WebCore::JSWebKitAnimationList::markChildren):
48134        - Make sure WebKitAnimations are marked
48135        * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
48136        (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
48137        - Custom property getter so that we can return INFINITY
48138        * dom/Element.cpp:
48139        (WebCore::Element::webkitGetAnimations):
48140        * dom/Element.h:
48141        * dom/Element.idl:
48142        - New API entry point
48143        * page/DOMWindow.idl:
48144        - Constructor definitions for WebKitAnimation and WebKitAnimationList
48145        * page/animation/AnimationBase.cpp:
48146        (WebCore::AnimationBase::~AnimationBase):
48147        - Since AnimationBase can now live longer (if a WebKitAnimation is
48148        held in Javascript) we need to guard for the renderer having disappeared.
48149        (WebCore::AnimationBase::setElapsedTime):
48150        (WebCore::AnimationBase::play):
48151        (WebCore::AnimationBase::pause):
48152        - Stub implementations at present
48153        * page/animation/AnimationBase.h:
48154        (WebCore::AnimationBase::animation):
48155        - Expose the Animation properties
48156        * page/animation/AnimationController.cpp:
48157        (WebCore::AnimationControllerPrivate::animationsForRenderer):
48158        (WebCore::AnimationController::animationsForRenderer):
48159        - Builds the list of WebKitAnimations
48160        * page/animation/AnimationController.h:
48161        * page/animation/AnimationControllerPrivate.h:
48162        * page/animation/CompositeAnimation.cpp:
48163        (WebCore::CompositeAnimation::updateKeyframeAnimations):
48164        - Make sure we clear the renderer if we are removing the animation
48165        (WebCore::CompositeAnimation::animations):
48166        * page/animation/CompositeAnimation.h:
48167        * page/WebKitAnimation.cpp: Added.
48168        (WebCore::WebKitAnimation::WebKitAnimation):
48169        (WebCore::WebKitAnimation::name):
48170        (WebCore::WebKitAnimation::duration):
48171        (WebCore::WebKitAnimation::elapsedTime):
48172        (WebCore::WebKitAnimation::setElapsedTime):
48173        (WebCore::WebKitAnimation::delay):
48174        (WebCore::WebKitAnimation::iterationCount):
48175        (WebCore::WebKitAnimation::paused):
48176        (WebCore::WebKitAnimation::ended):
48177        (WebCore::WebKitAnimation::direction):
48178        (WebCore::WebKitAnimation::fillMode):
48179        (WebCore::WebKitAnimation::pause):
48180        (WebCore::WebKitAnimation::play):
48181        - The implementation of the new API. All the read-only parts are
48182        done, but elapsedTime, play() and pause() are stubs.
48183        * page/WebKitAnimation.h: Added.
48184        (WebCore::WebKitAnimation::create):
48185        (WebCore::WebKitAnimation::~WebKitAnimation):
48186        * page/WebKitAnimation.idl: Added.
48187        * page/WebKitAnimationList.cpp: Added.
48188        * page/WebKitAnimationList.h: Added.
48189        * page/WebKitAnimationList.idl: Added.
48190        - Copies NodeList implementation
48191
481922011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
48193
48194        Reviewed by Yury Semikhatsky.
48195
48196        Web Inspector: introduce error argument for all the callbacks on frontend.
48197        https://bugs.webkit.org/show_bug.cgi?id=56100
48198
48199        * inspector/CodeGeneratorInspector.pm:
48200        * inspector/front-end/AuditRules.js:
48201        (WebInspector.AuditRules.evaluateInTargetWindow):
48202        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
48203        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
48204        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
48205        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
48206        * inspector/front-end/CSSStyleModel.js:
48207        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
48208        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
48209        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
48210        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
48211        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
48212        (WebInspector.CSSStyleModel.prototype.addRule):
48213        (WebInspector.CSSStyleModel.prototype.addRule.callback):
48214        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
48215        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
48216        (WebInspector.CSSStyleModel.prototype._onRevert):
48217        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
48218        (WebInspector.CSSProperty.prototype.setText.callback):
48219        (WebInspector.CSSProperty.prototype.setText):
48220        (WebInspector.CSSProperty.prototype.setDisabled.callback):
48221        (WebInspector.CSSProperty.prototype.setDisabled):
48222        (WebInspector.CSSStyleSheet.createForId):
48223        (WebInspector.CSSStyleSheet.prototype.setText):
48224        * inspector/front-end/ConsoleView.js:
48225        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
48226        * inspector/front-end/DOMAgent.js:
48227        (WebInspector.DOMNode.prototype.setNodeName):
48228        (WebInspector.DOMNode.prototype.setNodeValue):
48229        (WebInspector.DOMNode.prototype.setAttribute):
48230        (WebInspector.DOMNode.prototype.removeAttribute):
48231        (WebInspector.DOMNode.prototype.childNodes.mycallback):
48232        (WebInspector.DOMNode.prototype.childNodes):
48233        (WebInspector.DOMNode.prototype.outerHTML):
48234        (WebInspector.DOMNode.prototype.setOuterHTML):
48235        (WebInspector.DOMNode.prototype.removeNode):
48236        (WebInspector.DOMNode.prototype.copyNode):
48237        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
48238        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
48239        (WebInspector.DOMAgent.prototype._documentUpdated):
48240        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
48241        (WebInspector.Cookies.getCookiesAsync):
48242        (WebInspector.EventListeners.getEventListenersForNodeAsync):
48243        * inspector/front-end/DOMStorage.js:
48244        (WebInspector.DOMStorage.prototype.getEntries):
48245        (WebInspector.DOMStorage.prototype.setItem):
48246        (WebInspector.DOMStorage.prototype.removeItem):
48247        * inspector/front-end/Database.js:
48248        (WebInspector.Database.prototype.getTableNames):
48249        (WebInspector.Database.prototype.executeSql):
48250        * inspector/front-end/DebuggerModel.js:
48251        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
48252        (WebInspector.DebuggerModel.prototype.setBreakpoint):
48253        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
48254        (WebInspector.DebuggerModel.prototype.editScriptSource):
48255        * inspector/front-end/ElementsPanel.js:
48256        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
48257        * inspector/front-end/ElementsTreeOutline.js:
48258        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
48259        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
48260        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
48261        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
48262        ():
48263        * inspector/front-end/ExtensionPanel.js:
48264        (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
48265        * inspector/front-end/ExtensionServer.js:
48266        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
48267        * inspector/front-end/NetworkManager.js:
48268        (WebInspector.NetworkManager.prototype.requestContent):
48269        (WebInspector.NetworkManager.prototype._processCachedResources):
48270        * inspector/front-end/ProfileView.js:
48271        (WebInspector.CPUProfileView.profileCallback):
48272        (WebInspector.CPUProfileView):
48273        * inspector/front-end/ProfilesPanel.js:
48274        * inspector/front-end/RemoteObject.js:
48275        (WebInspector.RemoteObject.resolveNode):
48276        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
48277        (WebInspector.RemoteObject.prototype.getProperties):
48278        (WebInspector.RemoteObject.prototype.setPropertyValue):
48279        (WebInspector.RemoteObject.prototype.evaluate):
48280        * inspector/front-end/Script.js:
48281        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
48282        (WebInspector.Script.prototype.requestSource):
48283        * inspector/front-end/ScriptsPanel.js:
48284        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
48285        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
48286        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
48287        * inspector/front-end/inspector.js:
48288        ():
48289        (WebInspector.doLoadedDone.onPopulateScriptObjects):
48290        (WebInspector.doLoadedDone.propertyNamesCallback):
48291        (WebInspector.doLoadedDone):
48292
482932011-03-11  Yury Semikhatsky  <yurys@chromium.org>
48294
48295        Reviewed by Pavel Feldman.
48296
48297        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
48298        https://bugs.webkit.org/show_bug.cgi?id=56173
48299
48300        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
48301
48302        * CMakeLists.txt:
48303        * GNUmakefile.am:
48304        * WebCore.gypi:
48305        * WebCore.pro:
48306        * WebCore.vcproj/WebCore.vcproj:
48307        * WebCore.xcodeproj/project.pbxproj:
48308        * bindings/js/JSInjectedScriptHostCustom.cpp:
48309        * bindings/js/JSInjectedScriptManager.cpp: Added.
48310        (WebCore::InjectedScriptManager::createInjectedScript):
48311        (WebCore::InjectedScriptManager::discardInjectedScript):
48312        (WebCore::InjectedScriptManager::injectedScriptFor):
48313        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48314        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
48315        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
48316        (WebCore::WeakReferenceCallback):
48317        (WebCore::createInjectedScriptHostV8Wrapper):
48318        (WebCore::InjectedScriptManager::createInjectedScript):
48319        (WebCore::InjectedScriptManager::discardInjectedScript):
48320        (WebCore::InjectedScriptManager::injectedScriptFor):
48321        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48322        * inspector/ConsoleMessage.cpp:
48323        (WebCore::ConsoleMessage::addToFrontend):
48324        * inspector/ConsoleMessage.h:
48325        * inspector/InjectedScript.cpp:
48326        (WebCore::InjectedScript::canAccessInspectedWindow):
48327        * inspector/InjectedScript.h:
48328        * inspector/InjectedScriptHost.cpp:
48329        (WebCore::InjectedScriptHost::create):
48330        (WebCore::InjectedScriptHost::InjectedScriptHost):
48331        (WebCore::InjectedScriptHost::~InjectedScriptHost):
48332        (WebCore::InjectedScriptHost::disconnect):
48333        (WebCore::InjectedScriptHost::inspectImpl):
48334        (WebCore::InjectedScriptHost::clearConsoleMessages):
48335        (WebCore::InjectedScriptHost::databaseIdImpl):
48336        (WebCore::InjectedScriptHost::storageIdImpl):
48337        * inspector/InjectedScriptHost.h:
48338        (WebCore::InjectedScriptHost::init):
48339        (WebCore::InjectedScriptHost::setFrontend):
48340        (WebCore::InjectedScriptHost::clearFrontend):
48341        * inspector/InjectedScriptManager.cpp: Added.
48342        (WebCore::InjectedScriptManager::create):
48343        (WebCore::InjectedScriptManager::InjectedScriptManager):
48344        (WebCore::InjectedScriptManager::~InjectedScriptManager):
48345        (WebCore::InjectedScriptManager::disconnect):
48346        (WebCore::InjectedScriptManager::injectedScriptHost):
48347        (WebCore::InjectedScriptManager::injectedScriptForId):
48348        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
48349        (WebCore::InjectedScriptManager::discardInjectedScripts):
48350        (WebCore::InjectedScriptManager::releaseObjectGroup):
48351        (WebCore::InjectedScriptManager::injectedScriptSource):
48352        (WebCore::InjectedScriptManager::injectScript):
48353        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
48354        * inspector/Inspector.idl:
48355        * inspector/InspectorAgent.cpp:
48356        (WebCore::InspectorAgent::InspectorAgent):
48357        (WebCore::InspectorAgent::inspectedPageDestroyed):
48358        (WebCore::InspectorAgent::focusNode):
48359        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
48360        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
48361        (WebCore::InspectorAgent::didCommitLoad):
48362        (WebCore::InspectorAgent::domContentLoadedEventFired):
48363        * inspector/InspectorAgent.h:
48364        * inspector/InspectorBrowserDebuggerAgent.cpp:
48365        * inspector/InspectorConsoleAgent.cpp:
48366        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
48367        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
48368        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
48369        (WebCore::InspectorConsoleAgent::addInspectedNode):
48370        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
48371        (WebCore::InspectorConsoleAgent::addConsoleMessage):
48372        * inspector/InspectorConsoleAgent.h:
48373        * inspector/InspectorController.cpp:
48374        (WebCore::InspectorController::InspectorController):
48375        (WebCore::InspectorController::connectFrontend):
48376        (WebCore::InspectorController::disconnectFrontend):
48377        * inspector/InspectorController.h:
48378        * inspector/InspectorDOMAgent.cpp:
48379        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
48380        (WebCore::InspectorDOMAgent::discardBindings):
48381        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
48382        (WebCore::InspectorDOMAgent::resolveNode):
48383        * inspector/InspectorDOMAgent.h:
48384        (WebCore::InspectorDOMAgent::create):
48385        * inspector/InspectorDebuggerAgent.cpp:
48386        (WebCore::InspectorDebuggerAgent::create):
48387        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
48388        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
48389        (WebCore::InspectorDebuggerAgent::currentCallFrames):
48390        * inspector/InspectorDebuggerAgent.h:
48391        * inspector/InspectorRuntimeAgent.cpp:
48392        (WebCore::InspectorRuntimeAgent::create):
48393        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48394        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
48395        (WebCore::InspectorRuntimeAgent::evaluate):
48396        (WebCore::InspectorRuntimeAgent::evaluateOn):
48397        (WebCore::InspectorRuntimeAgent::getProperties):
48398        (WebCore::InspectorRuntimeAgent::setPropertyValue):
48399        (WebCore::InspectorRuntimeAgent::releaseObject):
48400        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
48401        * inspector/InspectorRuntimeAgent.h:
48402        * inspector/front-end/ElementsPanel.js:
48403        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
48404        (WebInspector.ElementsPanel):
48405
484062011-03-11  Anton Muhin  <antonm@chromium.org>
48407
48408        Reviewed by Adam Barth.
48409
48410        [v8] Change the way group id for CSS objects is calculated
48411        https://bugs.webkit.org/show_bug.cgi?id=56117
48412
48413        Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
48414        as they should not be reachable in JavaScript.
48415
48416        Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
48417
48418        * bindings/v8/V8GCController.cpp:
48419        (WebCore::calculateGroupId):
48420        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
48421
484222011-03-11  Alexander Pavlov  <apavlov@chromium.org>
48423
48424        Reviewed by Yury Semikhatsky.
48425
48426        Web Inspector: hover over elements in Elements panel does not highlight nodes
48427        https://bugs.webkit.org/show_bug.cgi?id=56121
48428
48429        In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
48430        is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
48431        for these 16px when computing the test point coordinates.
48432
48433        * inspector/front-end/ElementsTreeOutline.js:
48434        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
48435
484362011-03-11  Yury Semikhatsky  <yurys@chromium.org>
48437
48438        Unreviewed. Roll out r80837.
48439
48440        * CMakeLists.txt:
48441        * GNUmakefile.am:
48442        * WebCore.gypi:
48443        * WebCore.pro:
48444        * WebCore.vcproj/WebCore.vcproj:
48445        * WebCore.xcodeproj/project.pbxproj:
48446        * bindings/js/JSInjectedScriptHostCustom.cpp:
48447        (WebCore::InjectedScriptHost::createInjectedScript):
48448        (WebCore::InjectedScriptHost::discardInjectedScript):
48449        (WebCore::InjectedScriptHost::injectedScriptFor):
48450        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
48451        * bindings/js/JSInjectedScriptManager.cpp: Removed.
48452        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
48453        (WebCore::WeakReferenceCallback):
48454        (WebCore::createInjectedScriptHostV8Wrapper):
48455        (WebCore::InjectedScriptHost::createInjectedScript):
48456        (WebCore::InjectedScriptHost::discardInjectedScript):
48457        (WebCore::InjectedScriptHost::injectedScriptFor):
48458        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
48459        * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
48460        * inspector/ConsoleMessage.cpp:
48461        (WebCore::ConsoleMessage::addToFrontend):
48462        * inspector/ConsoleMessage.h:
48463        * inspector/InjectedScript.cpp:
48464        (WebCore::InjectedScript::canAccessInspectedWindow):
48465        * inspector/InjectedScript.h:
48466        * inspector/InjectedScriptHost.cpp:
48467        (WebCore::InjectedScriptHost::InjectedScriptHost):
48468        (WebCore::InjectedScriptHost::~InjectedScriptHost):
48469        (WebCore::InjectedScriptHost::inspectImpl):
48470        (WebCore::InjectedScriptHost::clearConsoleMessages):
48471        (WebCore::InjectedScriptHost::databaseIdImpl):
48472        (WebCore::InjectedScriptHost::storageIdImpl):
48473        (WebCore::InjectedScriptHost::injectedScriptForId):
48474        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
48475        (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
48476        (WebCore::InjectedScriptHost::discardInjectedScripts):
48477        (WebCore::InjectedScriptHost::releaseObjectGroup):
48478        (WebCore::InjectedScriptHost::frontend):
48479        (WebCore::InjectedScriptHost::injectedScriptSource):
48480        (WebCore::InjectedScriptHost::injectScript):
48481        * inspector/InjectedScriptHost.h:
48482        (WebCore::InjectedScriptHost::create):
48483        (WebCore::InjectedScriptHost::inspectorAgent):
48484        (WebCore::InjectedScriptHost::disconnectController):
48485        * inspector/InjectedScriptManager.cpp: Removed.
48486        * inspector/InjectedScriptManager.h: Removed.
48487        * inspector/Inspector.idl:
48488        * inspector/InspectorAgent.cpp:
48489        (WebCore::InspectorAgent::InspectorAgent):
48490        (WebCore::InspectorAgent::inspectedPageDestroyed):
48491        (WebCore::InspectorAgent::focusNode):
48492        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
48493        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
48494        (WebCore::InspectorAgent::didCommitLoad):
48495        (WebCore::InspectorAgent::domContentLoadedEventFired):
48496        * inspector/InspectorAgent.h:
48497        (WebCore::InspectorAgent::injectedScriptHost):
48498        * inspector/InspectorBrowserDebuggerAgent.cpp:
48499        * inspector/InspectorConsoleAgent.cpp:
48500        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
48501        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
48502        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
48503        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
48504        (WebCore::InspectorConsoleAgent::addConsoleMessage):
48505        * inspector/InspectorConsoleAgent.h:
48506        * inspector/InspectorController.cpp:
48507        (WebCore::InspectorController::InspectorController):
48508        (WebCore::InspectorController::connectFrontend):
48509        (WebCore::InspectorController::disconnectFrontend):
48510        * inspector/InspectorController.h:
48511        * inspector/InspectorDOMAgent.cpp:
48512        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
48513        (WebCore::InspectorDOMAgent::discardBindings):
48514        (WebCore::InspectorDOMAgent::addInspectedNode):
48515        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
48516        (WebCore::InspectorDOMAgent::resolveNode):
48517        * inspector/InspectorDOMAgent.h:
48518        (WebCore::InspectorDOMAgent::create):
48519        * inspector/InspectorDebuggerAgent.cpp:
48520        (WebCore::InspectorDebuggerAgent::create):
48521        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
48522        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
48523        (WebCore::InspectorDebuggerAgent::currentCallFrames):
48524        * inspector/InspectorDebuggerAgent.h:
48525        * inspector/InspectorRuntimeAgent.cpp:
48526        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48527        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
48528        (WebCore::InspectorRuntimeAgent::evaluate):
48529        (WebCore::InspectorRuntimeAgent::evaluateOn):
48530        (WebCore::InspectorRuntimeAgent::getProperties):
48531        (WebCore::InspectorRuntimeAgent::setPropertyValue):
48532        (WebCore::InspectorRuntimeAgent::releaseObject):
48533        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
48534        * inspector/InspectorRuntimeAgent.h:
48535        (WebCore::InspectorRuntimeAgent::create):
48536        * inspector/front-end/ElementsPanel.js:
48537        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
48538        (WebInspector.ElementsPanel):
48539
485402011-03-11  Yury Semikhatsky  <yurys@chromium.org>
48541
48542        Reviewed by Pavel Feldman.
48543
48544        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
48545        https://bugs.webkit.org/show_bug.cgi?id=56173
48546
48547        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
48548
48549        * CMakeLists.txt:
48550        * GNUmakefile.am:
48551        * WebCore.gypi:
48552        * WebCore.pro:
48553        * WebCore.vcproj/WebCore.vcproj:
48554        * WebCore.xcodeproj/project.pbxproj:
48555        * bindings/js/JSInjectedScriptHostCustom.cpp:
48556        * bindings/js/JSInjectedScriptManager.cpp: Added.
48557        (WebCore::InjectedScriptManager::createInjectedScript):
48558        (WebCore::InjectedScriptManager::discardInjectedScript):
48559        (WebCore::InjectedScriptManager::injectedScriptFor):
48560        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48561        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
48562        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
48563        (WebCore::WeakReferenceCallback):
48564        (WebCore::createInjectedScriptHostV8Wrapper):
48565        (WebCore::InjectedScriptManager::createInjectedScript):
48566        (WebCore::InjectedScriptManager::discardInjectedScript):
48567        (WebCore::InjectedScriptManager::injectedScriptFor):
48568        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48569        * inspector/ConsoleMessage.cpp:
48570        (WebCore::ConsoleMessage::addToFrontend):
48571        * inspector/ConsoleMessage.h:
48572        * inspector/InjectedScript.cpp:
48573        (WebCore::InjectedScript::canAccessInspectedWindow):
48574        * inspector/InjectedScript.h:
48575        * inspector/InjectedScriptHost.cpp:
48576        (WebCore::InjectedScriptHost::create):
48577        (WebCore::InjectedScriptHost::InjectedScriptHost):
48578        (WebCore::InjectedScriptHost::~InjectedScriptHost):
48579        (WebCore::InjectedScriptHost::disconnect):
48580        (WebCore::InjectedScriptHost::inspectImpl):
48581        (WebCore::InjectedScriptHost::clearConsoleMessages):
48582        (WebCore::InjectedScriptHost::databaseIdImpl):
48583        (WebCore::InjectedScriptHost::storageIdImpl):
48584        * inspector/InjectedScriptHost.h:
48585        (WebCore::InjectedScriptHost::init):
48586        (WebCore::InjectedScriptHost::setFrontend):
48587        (WebCore::InjectedScriptHost::clearFrontend):
48588        * inspector/InjectedScriptManager.cpp: Added.
48589        (WebCore::InjectedScriptManager::create):
48590        (WebCore::InjectedScriptManager::InjectedScriptManager):
48591        (WebCore::InjectedScriptManager::~InjectedScriptManager):
48592        (WebCore::InjectedScriptManager::disconnect):
48593        (WebCore::InjectedScriptManager::injectedScriptHost):
48594        (WebCore::InjectedScriptManager::injectedScriptForId):
48595        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
48596        (WebCore::InjectedScriptManager::discardInjectedScripts):
48597        (WebCore::InjectedScriptManager::releaseObjectGroup):
48598        (WebCore::InjectedScriptManager::injectedScriptSource):
48599        (WebCore::InjectedScriptManager::injectScript):
48600        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
48601        * inspector/Inspector.idl:
48602        * inspector/InspectorAgent.cpp:
48603        (WebCore::InspectorAgent::InspectorAgent):
48604        (WebCore::InspectorAgent::inspectedPageDestroyed):
48605        (WebCore::InspectorAgent::focusNode):
48606        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
48607        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
48608        (WebCore::InspectorAgent::didCommitLoad):
48609        (WebCore::InspectorAgent::domContentLoadedEventFired):
48610        * inspector/InspectorAgent.h:
48611        * inspector/InspectorBrowserDebuggerAgent.cpp:
48612        * inspector/InspectorConsoleAgent.cpp:
48613        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
48614        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
48615        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
48616        (WebCore::InspectorConsoleAgent::addInspectedNode):
48617        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
48618        (WebCore::InspectorConsoleAgent::addConsoleMessage):
48619        * inspector/InspectorConsoleAgent.h:
48620        * inspector/InspectorController.cpp:
48621        (WebCore::InspectorController::InspectorController):
48622        (WebCore::InspectorController::connectFrontend):
48623        (WebCore::InspectorController::disconnectFrontend):
48624        * inspector/InspectorController.h:
48625        * inspector/InspectorDOMAgent.cpp:
48626        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
48627        (WebCore::InspectorDOMAgent::discardBindings):
48628        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
48629        (WebCore::InspectorDOMAgent::resolveNode):
48630        * inspector/InspectorDOMAgent.h:
48631        (WebCore::InspectorDOMAgent::create):
48632        * inspector/InspectorDebuggerAgent.cpp:
48633        (WebCore::InspectorDebuggerAgent::create):
48634        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
48635        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
48636        (WebCore::InspectorDebuggerAgent::currentCallFrames):
48637        * inspector/InspectorDebuggerAgent.h:
48638        * inspector/InspectorRuntimeAgent.cpp:
48639        (WebCore::InspectorRuntimeAgent::create):
48640        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48641        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
48642        (WebCore::InspectorRuntimeAgent::evaluate):
48643        (WebCore::InspectorRuntimeAgent::evaluateOn):
48644        (WebCore::InspectorRuntimeAgent::getProperties):
48645        (WebCore::InspectorRuntimeAgent::setPropertyValue):
48646        (WebCore::InspectorRuntimeAgent::releaseObject):
48647        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
48648        * inspector/InspectorRuntimeAgent.h:
48649        * inspector/front-end/ElementsPanel.js:
48650        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
48651        (WebInspector.ElementsPanel):
48652
486532011-03-09  Hans Wennborg  <hans@chromium.org>
48654
48655        Reviewed by Jeremy Orlow.
48656
48657        IndexedDB: Make IDBBackingStore abstract
48658        https://bugs.webkit.org/show_bug.cgi?id=56013
48659
48660        Make IDBBackingStore abstract to allow for multiple implementations.
48661        Move the SQLite implementation to IDBSQLiteBackingStore.
48662
48663        No new tests: refactoring only.
48664
48665        * WebCore.gypi:
48666        * storage/IDBBackingStore.h:
48667        (WebCore::IDBBackingStore::~IDBBackingStore):
48668        * storage/IDBFactoryBackendImpl.cpp:
48669        (WebCore::IDBFactoryBackendImpl::open):
48670        * storage/IDBSQLiteBackingStore.cpp:
48671        (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
48672        (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
48673        (WebCore::runCommands):
48674        (WebCore::createTables):
48675        (WebCore::createMetaDataTable):
48676        (WebCore::getDatabaseSchemaVersion):
48677        (WebCore::migrateDatabase):
48678        (WebCore::IDBSQLiteBackingStore::open):
48679        (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
48680        (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
48681        (WebCore::IDBSQLiteBackingStore::getObjectStores):
48682        (WebCore::IDBSQLiteBackingStore::createObjectStore):
48683        (WebCore::doDelete):
48684        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
48685        (WebCore::whereSyntaxForKey):
48686        (WebCore::bindKeyToQuery):
48687        (WebCore::lowerCursorWhereFragment):
48688        (WebCore::upperCursorWhereFragment):
48689        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
48690        (WebCore::bindKeyToQueryWithNulls):
48691        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
48692        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
48693        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
48694        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
48695        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
48696        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
48697        (WebCore::IDBSQLiteBackingStore::getIndexes):
48698        (WebCore::IDBSQLiteBackingStore::createIndex):
48699        (WebCore::IDBSQLiteBackingStore::deleteIndex):
48700        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
48701        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
48702        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
48703        (WebCore::keyFromQuery):
48704        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
48705        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
48706        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
48707        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
48708        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
48709        (WebCore::IDBSQLiteBackingStore::createTransaction):
48710        * storage/IDBSQLiteBackingStore.h: Added.
48711
487122011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48713
48714        Unreviewed build error fix.
48715
48716        [EFL] Fix build break when SHARED_CORE is ON
48717        https://bugs.webkit.org/show_bug.cgi?id=56155
48718
48719        * platform/efl/ContextMenuEfl.cpp:
48720        (WebCore::ContextMenu::ContextMenu):
48721        * platform/efl/ContextMenuItemEfl.cpp:
48722        (WebCore::ContextMenuItem::nativeMenuItem):
48723        (WebCore::ContextMenuItem::ContextMenuItem):
48724        (WebCore::ContextMenuItem::~ContextMenuItem):
48725
487262011-03-11  Andrey Kosyakov  <caseq@chromium.org>
48727
48728        Reviewed by Pavel Feldman.
48729
48730        Web Inspector: resource load cancellation is reported to console as an error
48731        https://bugs.webkit.org/show_bug.cgi?id=55764
48732
48733        - mark interruptionForPolicyChangeError as cancellation
48734        - do not log resource cancelation as an error
48735        - always push resource to front-end before console message, so front-end can use resource info while formatting message.
48736
48737        * inspector/InspectorConsoleAgent.cpp:
48738        (WebCore::InspectorConsoleAgent::didFailLoading):
48739        * inspector/InspectorInstrumentation.cpp:
48740        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
48741        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
48742        * loader/MainResourceLoader.cpp:
48743        (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
48744
487452011-03-10  Alexander Pavlov  <apavlov@chromium.org>
48746
48747        Reviewed by Yury Semikhatsky.
48748
48749        Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
48750        https://bugs.webkit.org/show_bug.cgi?id=56096
48751
48752        No new tests, as this is a refactoring.
48753
48754        * inspector/front-end/BreakpointsSidebarPane.js:
48755        (WebInspector.EventListenerBreakpointsSidebarPane):
48756        * inspector/front-end/DetailedHeapshotView.js:
48757        * inspector/front-end/ResourcesPanel.js:
48758        (WebInspector.ResourcesPanel):
48759        (WebInspector.BaseStorageTreeElement):
48760        (WebInspector.BaseStorageTreeElement.prototype.onattach):
48761        (WebInspector.StorageCategoryTreeElement):
48762        (WebInspector.FrameTreeElement):
48763        (WebInspector.FrameResourceTreeElement):
48764        (WebInspector.DatabaseTreeElement):
48765        (WebInspector.DatabaseTableTreeElement):
48766        (WebInspector.DOMStorageTreeElement):
48767        (WebInspector.CookieTreeElement):
48768        (WebInspector.ApplicationCacheTreeElement):
48769        (WebInspector.ResourceRevisionTreeElement):
48770        * inspector/front-end/utilities.js:
48771        (Element.prototype.removeStyleClass):
48772        (Element.prototype.addStyleClass):
48773        (Element.prototype.hasStyleClass):
48774
487752011-03-11  Brian Salomon  <bsalomon@google.com>
48776
48777        Reviewed by Kenneth Russell.
48778
48779        Adds GrContext flush call to PlatformContextSkia destructor.
48780Calls GrContext flush with int parameter instead of bool due to skia
48781revision.
48782
48783        No new tests needed.
48784
48785        * platform/graphics/chromium/DrawingBufferChromium.cpp:
48786        (WebCore::DrawingBuffer::publishToPlatformLayer):
48787        * platform/graphics/skia/PlatformContextSkia.cpp:
48788        (WebCore::PlatformContextSkia::~PlatformContextSkia):
48789        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
48790
487912011-03-10  Chris Guillory  <chris.guillory@google.com>
48792
48793        Reviewed by James Robinson.
48794
48795        Fix for Coverity discovered NO_EFFECT (self-assign) defect.
48796        https://bugs.webkit.org/show_bug.cgi?id=54143
48797
48798        * platform/graphics/gpu/TilingData.cpp:
48799        (WebCore::TilingData::setMaxTextureSize):
48800
488012011-03-10  Emil A Eklund  <eae@chromium.org>
48802
48803        Reviewed by Alexey Proskuryakov.
48804
48805        The web colours palevioletred and mediumpurple are incorrect
48806        https://bugs.webkit.org/show_bug.cgi?id=46658
48807
48808        Changed value for the palevioletred and mediumpurple colors to match
48809        the css3 specification.
48810
48811        Test: fast/css/named-colors.html
48812
48813        * inspector/front-end/Color.js:
48814        * platform/ColorData.gperf:
48815
488162011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48817
48818        Unreviewed build fix.
48819
48820        [WML] Fix build error
48821        https://bugs.webkit.org/show_bug.cgi?id=56078
48822
48823        * wml/WMLInputElement.cpp:
48824        (WebCore::WMLInputElement::defaultEventHandler):
48825
488262011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
48827
48828        Reviewed by Darin Adler.
48829
48830        Fix navigation menus on a bunch of sites in WebKit.
48831        https://bugs.webkit.org/show_bug.cgi?id=52535
48832
48833        WebKit doesn't support position:relative for several table elements and
48834        overwrites the style internally when position:relative is encountered.
48835        Unfortunately position:relative affects the choice of nodes returned by
48836        offsetParent.
48837
48838        This CL adds a bit to RenderStyle to track whether position:relative was
48839        overwritten.  The value is then consulted in offsetParent which makes us
48840        match FF/IE.
48841
48842        Tests: fast/block/positioning/offsetLeft-relative-iframe.html
48843               fast/block/positioning/offsetLeft-relative-td.html
48844
48845        * css/CSSStyleSelector.cpp:
48846        (WebCore::CSSStyleSelector::adjustRenderStyle):
48847        * rendering/RenderObject.cpp:
48848        (WebCore::RenderObject::isOriginallyRelPositioned):
48849        (WebCore::RenderObject::offsetParent):
48850        * rendering/RenderObject.h:
48851        * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
48852        (WebCore::InheritedFlags::positionWasRelative):
48853        (WebCore::InheritedFlags::setPositionWasRelative):
48854        * rendering/style/StyleRareNonInheritedData.cpp:
48855        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
48856        (WebCore::StyleRareNonInheritedData::operator==):
48857        * rendering/style/StyleRareNonInheritedData.h:
48858
488592011-03-10  Adam Barth  <abarth@webkit.org>
48860
48861        Reviewed by Darin Adler.
48862
48863        REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
48864        https://bugs.webkit.org/show_bug.cgi?id=51357
48865
48866        Previously, we would try to print from a callstack that didn't want a
48867        nested event loop, leading to re-entrancy problems.  In this patch, we
48868        complete the print call asynchronously, giving us a clean stack on
48869        which to run the nested event loop.
48870
48871        Test: printing/print-close-crash.html
48872
48873        * page/DOMWindow.cpp:
48874        (WebCore::DOMWindow::DOMWindow):
48875        (WebCore::DOMWindow::print):
48876        (WebCore::DOMWindow::printTimerFired):
48877        * page/DOMWindow.h:
48878
488792011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
48880
48881        Reviewed by Ryosuke Niwa.
48882
48883        Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
48884        https://bugs.webkit.org/show_bug.cgi?id=55570
48885
48886        Add a virtual function toInputElement() to Node that has a default
48887        implementation of returning 0.
48888        For HTMLInputElement and WMLInputElement (which derive from InputElement)
48889        override this to return the object.
48890        Change all calling sites of the old toInputElement to use the new member
48891        function. This also allows us to save some casts.
48892
48893        No new tests. (refactoring)
48894
48895        * WebCore.exp.in:
48896        * accessibility/AXObjectCache.cpp:
48897        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
48898        * accessibility/AccessibilityRenderObject.cpp:
48899        (WebCore::AccessibilityRenderObject::isPasswordField):
48900        (WebCore::AccessibilityRenderObject::isIndeterminate):
48901        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
48902        (WebCore::AccessibilityRenderObject::isChecked):
48903        * css/CSSStyleSelector.cpp:
48904        (WebCore::CSSStyleSelector::canShareStyleWithElement):
48905        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
48906        * dom/CheckedRadioButtons.cpp:
48907        (WebCore::CheckedRadioButtons::removeButton):
48908        * dom/InputElement.cpp:
48909        * dom/InputElement.h:
48910        * dom/Node.cpp:
48911        (WebCore::Node::toInputElement):
48912        * dom/Node.h:
48913        * html/HTMLInputElement.h:
48914        (WebCore::HTMLInputElement::toInputElement):
48915        * rendering/RenderTextControlSingleLine.cpp:
48916        (WebCore::RenderTextControlSingleLine::inputElement):
48917        * rendering/RenderTheme.cpp:
48918        (WebCore::RenderTheme::isChecked):
48919        (WebCore::RenderTheme::isIndeterminate):
48920        * wml/WMLInputElement.h:
48921        (WebCore::WMLInputElement::toInputElement):
48922
489232011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48924
48925        Reviewed by Kenneth Rohde Christiansen.
48926
48927        [EFL] New mediaControl css file for EFL
48928        https://bugs.webkit.org/show_bug.cgi?id=55460
48929
48930        Add new mediaControl css file for html5 video UI.
48931
48932        * CMakeLists.txt:
48933        * CMakeListsEfl.txt:
48934        * css/mediaControlsEfl.css: Added.
48935        (audio):
48936        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
48937        (video:-webkit-full-page-media::-webkit-media-controls-panel):
48938        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
48939        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
48940        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
48941        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
48942        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
48943        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
48944        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
48945        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
48946        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
48947        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
48948        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
48949        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
48950        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
48951        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
48952        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
48953        * platform/efl/RenderThemeEfl.cpp:
48954        (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
48955
489562011-03-10  Emil A Eklund  <eae@chromium.org>
48957
48958        Reviewed by Dimitri Glazkov.
48959
48960        style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
48961        https://bugs.webkit.org/show_bug.cgi?id=53860
48962
48963        Preserve selection when changing between multi-select and single-select
48964        for <select> boxes even if it has not yet been rendered.
48965
48966        Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
48967
48968        * html/HTMLSelectElement.cpp:
48969        (WebCore::HTMLSelectElement::setMultiple):
48970
489712011-03-10  Ojan Vafai  <ojan@chromium.org>
48972
48973        Reviewed by Tony Chang.
48974
48975        update comment to reference new DOM Core spec
48976        https://bugs.webkit.org/show_bug.cgi?id=56079
48977
48978        I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
48979        This is the only one that's actually specified to fire
48980        in the latest DOM Core spec.
48981
48982        * dom/DOMImplementation.cpp:
48983        (WebCore::DOMImplementation::createDocument):
48984
489852011-03-10  Rik Cabanier  <cabanier@gmail.com>
48986
48987        Reviewed by Tony Gentilcore.
48988
48989        Fix that allows fixed length values to be floating point
48990        https://bugs.webkit.org/show_bug.cgi?id=52699
48991
48992        * WebCore.xcodeproj/project.pbxproj:
48993        * css/CSSStyleSelector.cpp:
48994        (WebCore::convertToLength):
48995        (WebCore::convertToIntLength):
48996        (WebCore::convertToFloatLength):
48997        (WebCore::CSSStyleSelector::applyProperty):
48998        (WebCore::CSSStyleSelector::createTransformOperations):
48999        * platform/Length.h:
49000        (WebCore::Length::Length):
49001        (WebCore::Length::operator==):
49002        (WebCore::Length::operator!=):
49003        (WebCore::Length::rawValue):
49004        (WebCore::Length::type):
49005        (WebCore::Length::quirk):
49006        (WebCore::Length::setValue):
49007        (WebCore::Length::calcFloatValue):
49008        (WebCore::Length::isZero):
49009        (WebCore::Length::blend):
49010        (WebCore::Length::getIntValue):
49011        (WebCore::Length::getFloatValue):
49012        * rendering/AutoTableLayout.cpp:
49013        (WebCore::AutoTableLayout::recalcColumn):
49014        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
49015        * rendering/FixedTableLayout.cpp:
49016        (WebCore::FixedTableLayout::calcWidthArray):
49017
490182011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49019
49020        Unreviewed, rolling out r80800.
49021        http://trac.webkit.org/changeset/80800
49022        https://bugs.webkit.org/show_bug.cgi?id=56163
49023
49024        Caused hundreds of tests to crash on Windows 7 (Requested by
49025        rniwa on #webkit).
49026
49027        * page/EventHandler.cpp:
49028        (WebCore::EventHandler::mouseMoved):
49029        (WebCore::EventHandler::updateMouseEventTargetNode):
49030        * page/FocusController.cpp:
49031        (WebCore::FocusController::setActive):
49032        * page/FrameView.cpp:
49033        (WebCore::FrameView::FrameView):
49034        (WebCore::FrameView::~FrameView):
49035        * page/FrameView.h:
49036        * page/Page.cpp:
49037        * page/Page.h:
49038        * platform/ScrollView.cpp:
49039        (WebCore::ScrollView::wheelEvent):
49040        * platform/ScrollView.h:
49041        * rendering/RenderDataGrid.cpp:
49042        (WebCore::RenderDataGrid::RenderDataGrid):
49043        (WebCore::RenderDataGrid::~RenderDataGrid):
49044        * rendering/RenderLayer.cpp:
49045        (WebCore::RenderLayer::RenderLayer):
49046        (WebCore::RenderLayer::~RenderLayer):
49047        * rendering/RenderLayer.h:
49048        * rendering/RenderListBox.cpp:
49049        (WebCore::RenderListBox::RenderListBox):
49050        (WebCore::RenderListBox::~RenderListBox):
49051
490522011-03-10  Alice Boxhall  <aboxhall@chromium.org>
49053
49054        Reviewed by Dimitri Glazkov.
49055
49056        NULL pointer crash when using :empty and :first-line pseudoclass selectors together
49057        https://bugs.webkit.org/show_bug.cgi?id=53316
49058
49059        :empty is calculated for each element during parsing, but then not
49060        recalculated after any child elements are attached. Force style
49061        re-calculation on elements which have :empty in their style when
49062        their children are changed.
49063
49064        Test: fast/css/empty-first-line-crash.html
49065
49066        * dom/Element.cpp:
49067        (WebCore::checkForEmptyStyleChange): Pull out empty style checking
49068        logic from checkForSiblingStyleChanges().
49069        (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
49070        method.
49071        (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
49072        called with changedByParser = true.
49073
490742011-03-10  Emil A Eklund  <eae@chromium.org>
49075
49076        Unreviewed build fix.
49077
49078        Fix Leopard Release build broken by r80797.
49079
49080        * html/CollectionCache.h:
49081
490822011-03-10  Beth Dakin  <bdakin@apple.com>
49083
49084        Reviewed by Darin Adler.
49085
49086        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to
49087        send notifications appropriate times (showing up, resizing)
49088        -and corresponding-
49089        https://bugs.webkit.org/show_bug.cgi?id=56067
49090
49091        The general strategy here is to add a HashSet of ScrollableAreas to the page that
49092        can be accessed when necessary to send notifications to all ScrollableAreas.
49093
49094        Find layers for relevant node and if the layers are in the Page's ScrollableArea
49095        set, then send the relevant notification.
49096        * page/EventHandler.cpp:
49097        (WebCore::EventHandler::mouseMoved):
49098        (WebCore::EventHandler::updateMouseEventTargetNode):
49099
49100        When the page is set active or not active, iterate through the Page's
49101        ScrollableAreas to send hide/show notifications.
49102        * page/FocusController.cpp:
49103        (WebCore::FocusController::setActive):
49104
49105        When a FrameView is created, add it to the ScrollableArea set. When it's
49106        destroyed, remove it.
49107        * page/FrameView.cpp:
49108        (WebCore::FrameView::FrameView):
49109        (WebCore::FrameView::~FrameView):
49110
49111        Iterate through the Page's ScrollableAreas to send the paint notification.
49112        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
49113        * page/FrameView.h:
49114
49115        Add the new ScrollableArea set.
49116        * page/Page.cpp:
49117        (WebCore::Page::addScrollableArea):
49118        (WebCore::Page::removeScrollableArea):
49119        (WebCore::Page::pageContainsScrollableArea):
49120        * page/Page.h:
49121        (WebCore::Page::scrollableAreaSet):
49122
49123        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
49124        * platform/ScrollView.cpp:
49125        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
49126
49127        Call notifyPageThatContentAreaWillPaint() instead of calling
49128        contentAreaWillPaint() just for the ScrollView.
49129        (WebCore::ScrollView::paint):
49130        * platform/ScrollView.h:
49131
49132        Add/remove ScrollableAreas to the set.
49133        * rendering/RenderDataGrid.cpp:
49134        (WebCore::RenderDataGrid::RenderDataGrid):
49135        (WebCore::RenderDataGrid::~RenderDataGrid):
49136        * rendering/RenderListBox.cpp:
49137        (WebCore::RenderListBox::RenderListBox):
49138        (WebCore::RenderListBox::~RenderListBox):
49139        * rendering/RenderLayer.cpp:
49140        (WebCore::RenderLayer::RenderLayer):
49141        (WebCore::RenderLayer::~RenderLayer):
49142
49143        Should have implemented this ScrollableArea-interface function a while ago.
49144        (WebCore::RenderLayer::currentMousePosition):
49145        * rendering/RenderLayer.h:
49146
491472011-03-10  takano takumi  <takano@apple.com>
49148
49149        Reviewed by David Hyatt.
49150
49151        Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
49152        https://bugs.webkit.org/show_bug.cgi?id=55069
49153
49154        No new tests. If the test above runs without crash, the fix should be okay.
49155
49156        * dom/Node.cpp:
49157        (WebCore::Node::diff):
49158        - Changed to return Detach when textCombine style was changed.
49159        * rendering/RenderCombineText.cpp:
49160        (WebCore::RenderCombineText::styleDidChange):
49161        (WebCore::RenderCombineText::setTextInternal):
49162        (WebCore::RenderCombineText::width):
49163        (WebCore::RenderCombineText::adjustTextOrigin):
49164        (WebCore::RenderCombineText::charactersToRender):
49165        (WebCore::RenderCombineText::combineText):
49166        - Added assertions to ensure the passed object is RenderCombineText.
49167        * rendering/RenderCombineText.h:
49168        (WebCore::RenderCombineText::isCombineText):
49169        - Added to distinguish plain RenderText and RenderCombineText.
49170        (WebCore::toRenderCombineText):
49171        - Added assertions to ensure the passed object is RenderCombineText.
49172        * rendering/RenderObject.h:
49173        (WebCore::RenderObject::isCombineText):
49174        - Added to distinguish plain RenderText and RenderCombineText.
49175
491762011-03-10  Emil A Eklund  <eae@chromium.org>
49177
49178        Reviewed by Darin Adler.
49179
49180        Collection cache not reset when moving base node between documents
49181        https://bugs.webkit.org/show_bug.cgi?id=55446
49182
49183        Fix bug where HTMLCollection::resetCollectionInfo does not reset the
49184        cache when the base node is moved to a different document by making sure
49185        that the DOMVersion is updated and that it's unique across documents.
49186
49187        Tests: fast/dom/HTMLFormElement/invalid-form-field.html
49188               fast/dom/HTMLFormElement/move-option-between-documents.html
49189               fast/dom/collection-nameditem-move-between-documents.html
49190
49191        * dom/Document.cpp:
49192        (WebCore::Document::Document):
49193        * dom/Document.h:
49194        (WebCore::Document::incDOMTreeVersion):
49195        (WebCore::Document::domTreeVersion):
49196        * dom/Node.cpp:
49197        (WebCore::Node::setDocumentRecursively):
49198        * html/FormAssociatedElement.cpp:
49199        (WebCore::FormAssociatedElement::resetFormOwner):
49200        * html/HTMLCollection.cpp:
49201        (WebCore::HTMLCollection::resetCollectionInfo):
49202        * xml/XPathResult.h:
49203
492042011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
49205
49206        Unreviewed build fix.
49207
49208        [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
49209        https://bugs.webkit.org/show_bug.cgi?id=56005
49210
49211        There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
49212
49213        * platform/efl/ContextMenuEfl.cpp:
49214        (WebCore::ContextMenu::ContextMenu):
49215        * platform/efl/ContextMenuItemEfl.cpp:
49216
492172011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
49218
49219        Reviewed by Tony Chang.
49220
49221        startOfBlock and endOfBlock may return a position inside hr
49222        https://bugs.webkit.org/show_bug.cgi?id=56025
49223
49224        Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
49225        calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
49226        of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
49227        argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
49228
49229        Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
49230        enclosingBlock to be consitent with startOfBlock and endOfBlock.
49231
49232        This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
49233        and inSameBlock by calls to containerNode because the enclosing block of a position
49234        should never be before or after the position.
49235
49236        No tests are added because this change only affects WebCore internally.
49237
49238        * editing/DeleteSelectionCommand.cpp:
49239        (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
49240        Pass CanCrossEditingBoundary instead of false.
49241        * editing/htmlediting.cpp:
49242        (WebCore::unsplittableElementForPosition): Ditto.
49243        (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
49244        enclosingNodeOfType.
49245        (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
49246        Fixed a bug that it stops walking the tree when it reached the root editable node
49247        even when the editing boundary crossing rule is CanCrossEditingBoundary.
49248        * editing/htmlediting.h: Prototype changes.
49249        * editing/visible_units.cpp:
49250        (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
49251        Also added an early exit when there's no enclosing block.
49252        (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
49253        lastPositionInNode.
49254        (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
49255        (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
49256        we don't care where the start of block is when we're comparing against the given position.
49257        (WebCore::isEndOfBlock): Ditto.
49258        * editing/visible_units.h:
49259
492602011-03-10  Alexey Proskuryakov  <ap@apple.com>
49261
49262        Reviewed by Dan Bernstein.
49263
49264        Backspace deletes all non-BMP symbols at once, and then some
49265        https://bugs.webkit.org/show_bug.cgi?id=55971
49266        <rdar://problem/8725312>
49267
49268        Test: platform/mac/editing/input/insert-delete-smp-symbol.html
49269
49270        * rendering/RenderText.cpp:
49271        (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
49272        (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
49273
492742011-03-10  Chris Evans  <cevans@chromium.org>
49275
49276        Reviewed by Adam Barth.
49277
49278        Error in StyleElement::process with large nodesets
49279        https://bugs.webkit.org/show_bug.cgi?id=56150
49280
49281        Test: none due to excessive runtime and CRASH() vs. real crash.
49282
49283        * dom/StyleElement.cpp:
49284        (WebCore::StyleElement::process): Handle large node sets better.
49285
492862011-03-10  David Hyatt  <hyatt@apple.com>
49287
49288        Reviewed by Simon Fraser.
49289
49290        https://bugs.webkit.org/show_bug.cgi?id=47151
49291
49292        Percentage heights should skip anonymous containing blocks when computing the used value.
49293
49294        Added fast/block/basic/percentage-height-inside-anonymous-block.html
49295
49296        * rendering/RenderBox.cpp:
49297        (WebCore::RenderBox::computePercentageLogicalHeight):
49298
492992011-03-10  Nat Duca  <nduca@chromium.org>
49300
49301        Reviewed by James Robinson.
49302
49303        [chromium] Make updateAndDrawLayers argumentless.
49304        https://bugs.webkit.org/show_bug.cgi?id=55985
49305
49306        Made the TilePainters and viewport parameters for
49307        LayerRendererChromium member variables instead of arguments on
49308        updateAndDrawLayers. In a future change, this will allows us to
49309        draw the layer tree without the WebView's assistance.
49310
49311        * platform/graphics/chromium/LayerRendererChromium.cpp:
49312        (WebCore::LayerRendererChromium::create):
49313        (WebCore::LayerRendererChromium::LayerRendererChromium):
49314        (WebCore::LayerRendererChromium::verticalScrollbarRect):
49315        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
49316        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
49317        (WebCore::LayerRendererChromium::updateRootLayerContents):
49318        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
49319        (WebCore::LayerRendererChromium::drawRootLayer):
49320        (WebCore::LayerRendererChromium::setViewport):
49321        (WebCore::LayerRendererChromium::updateAndDrawLayers):
49322        (WebCore::LayerRendererChromium::updateLayers):
49323        (WebCore::LayerRendererChromium::drawLayers):
49324        (WebCore::LayerRendererChromium::setRootLayer):
49325        (WebCore::LayerRendererChromium::getFramebufferPixels):
49326        (WebCore::LayerRendererChromium::cleanupSharedObjects):
49327        * platform/graphics/chromium/LayerRendererChromium.h:
49328        (WebCore::LayerRendererChromium::viewportSize):
49329        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
49330        (WebCore::CCHeadsUpDisplay::draw):
49331
493322011-01-25  Martin Robinson  <mrobinson@igalia.com>
49333
49334        Reviewed by Xan Lopez.
49335
49336        [GTK] Implement spin buttons for GTK+ 2.x
49337        https://bugs.webkit.org/show_bug.cgi?id=53098
49338
49339        Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
49340        for input type=number. The implementation is based on the one in gtkspinbutton.c
49341        from the GTK+ sources.
49342
49343        * platform/gtk/RenderThemeGtk.h: Added new members and getters.
49344        * platform/gtk/RenderThemeGtk2.cpp:
49345        (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
49346        (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
49347        spin button area to have proper rendering. There doesn't seem to be any other
49348        clean way of having spin buttons that are the size of the text input frame.
49349        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
49350        (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
49351        (WebCore::RenderThemeGtk::gtkSpinButton): Added.
49352
493532011-03-10  Levi Weintraub  <leviw@chromium.org>
49354
49355        Reviewed by Ryosuke Niwa.
49356
49357        InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
49358        https://bugs.webkit.org/show_bug.cgi?id=53409
49359
49360        Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
49361        spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
49362        didn't skip the editable boundary.
49363
49364        Test: editing/execCommand/insert-list-with-noneditable-content.html
49365
49366        * editing/CompositeEditCommand.cpp:
49367        (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
49368        position for the active editing command. Without this, there are cases when the destination happens
49369        to be a placeholder, and we remove it.
49370        (WebCore::CompositeEditCommand::moveParagraphs):
49371        * editing/CompositeEditCommand.h:
49372        * editing/InsertListCommand.cpp:
49373        (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
49374        non-editable content in an editable context. Previously, this could cause an infinite loop.
49375        * editing/visible_units.cpp:
49376        (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
49377        content in the same paragraph to reach the actual editable paragraph start.
49378        (WebCore::endOfParagraph): Ditto.
49379        (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
49380        endOfParagraph.
49381
493822011-03-10  Berend-Jan Wever  <skylined@chromium.org>
49383
49384        Reviewed by Darin Adler.
49385
49386        Calling focus() on an area element not in a document should not cause a NULL ptr crash
49387        https://bugs.webkit.org/show_bug.cgi?id=54877
49388
49389        Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
49390
49391        * dom/Element.cpp:
49392        (WebCore::Element::focus): Check element is in the document before allowing focus
49393        * html/HTMLAreaElement.cpp:
49394        (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
49395
493962011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
49397
49398        Reviewed by Tony Chang.
49399
49400        [Chromium] Fix default single selection select's popup background on chromium/linux
49401        https://bugs.webkit.org/show_bug.cgi?id=56023
49402
49403        Test: fast/html/select-dropdown-consistent-background-color.html
49404
49405        * css/themeChromiumLinux.css:
49406
494072011-03-10  Kris Jordan  <krisjordan@gmail.com>
49408
49409        Reviewed by Alexey Proskuryakov.
49410
49411        Improve default Accept header to give preference to HTML over XML.
49412        https://bugs.webkit.org/show_bug.cgi?id=27267
49413
49414        * loader/FrameLoader.cpp:Changed default accept header to match
49415        FireFox' as per bug 27267.
49416
494172011-03-10  Martin Robinson  <mrobinson@igalia.com>
49418
49419        Reviewed by Xan Lopez.
49420
49421        [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
49422        https://bugs.webkit.org/show_bug.cgi?id=56125
49423
49424        No new tests. This functionality will be tested once we have TestRunner
49425        implementation for WebKit2 with pixel dumping support.
49426
49427        * GNUmakefile.am: Add a new define with tracks whether or not we are using
49428        our specialized GTK+ ScrollView.
49429        * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
49430        WebKit1.
49431        (WebCore::ScrollView::wheelEvent):
49432        * platform/gtk/ScrollViewGtk.cpp: Ditto.
49433
494342011-03-10  Kent Tamura  <tkent@chromium.org>
49435
49436        Reviewed by Dimitri Glazkov.
49437
49438        Assertion fails by validating a form twice very quickly
49439        https://bugs.webkit.org/show_bug.cgi?id=56069
49440
49441        If the interactive validation is invoked when a form control is in
49442        needsLayout() state, an assertion in isFocusable() fails. To avoid it,
49443        Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
49444
49445        Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
49446
49447        * html/HTMLFormElement.cpp:
49448        (WebCore::HTMLFormElement::validateInteractively):
49449          Calls updateLayoutIgnorePendingStylesheets().
49450
494512011-03-10  David Hyatt  <hyatt@apple.com>
49452
49453        Reviewed by Beth Dakin.
49454
49455        https://bugs.webkit.org/show_bug.cgi?id=47143
49456
49457        Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
49458        chain (after initially starting with the parent()) when doing this computation, so that we properly skip
49459        intermediate boxes between two positioned blocks.
49460
49461        Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
49462
49463        * rendering/RenderBox.cpp:
49464        (WebCore::computeInlineStaticDistance):
49465        (WebCore::computeBlockStaticDistance):
49466
494672011-03-10  Adrienne Walker  <enne@google.com>
49468
49469        Reviewed by Kenneth Russell.
49470
49471        [chromium] Make tiled compositor data structure more efficient.
49472        https://bugs.webkit.org/show_bug.cgi?id=54133
49473
49474        Previously, the compositor had a sparse 2D array of tiles for the
49475        whole page, most of which were null.  The tiles were implicitly
49476        located based on their position in the array. This was inefficient
49477        when the page grew (e.g. infinite scrolling) and caused some bugs
49478        (e.g. width * height > MAX_INT).  This change modifies tiles to have
49479        explicit positions so they can be stored in a hash map.
49480
49481        Tests: LayoutTests/compositing/
49482
49483        * platform/graphics/chromium/LayerTilerChromium.cpp:
49484        (WebCore::LayerTilerChromium::reset):
49485        (WebCore::LayerTilerChromium::createTile):
49486        (WebCore::LayerTilerChromium::invalidateTiles):
49487        (WebCore::LayerTilerChromium::contentRectToTileIndices):
49488        (WebCore::LayerTilerChromium::tileAt):
49489        (WebCore::LayerTilerChromium::tileContentRect):
49490        (WebCore::LayerTilerChromium::tileLayerRect):
49491        (WebCore::LayerTilerChromium::invalidateRect):
49492        (WebCore::LayerTilerChromium::invalidateEntireLayer):
49493        (WebCore::LayerTilerChromium::update):
49494        (WebCore::LayerTilerChromium::updateFromPixels):
49495        (WebCore::LayerTilerChromium::draw):
49496        (WebCore::LayerTilerChromium::growLayerToContain):
49497        * platform/graphics/chromium/LayerTilerChromium.h:
49498        (WebCore::LayerTilerChromium::Tile::Tile):
49499        (WebCore::LayerTilerChromium::Tile::i):
49500        (WebCore::LayerTilerChromium::Tile::j):
49501        (WebCore::LayerTilerChromium::Tile::moveTo):
49502        (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
49503        (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
49504        (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
49505
495062011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
49507
49508        Unreviewed build fix for r80752; Negated the boolean logic.
49509
49510        * editing/VisiblePosition.cpp:
49511        (WebCore::VisiblePosition::next):
49512        (WebCore::VisiblePosition::previous):
49513
495142011-03-10  David Hyatt  <hyatt@apple.com>
49515
49516        Reviewed by Adam Roben.
49517
49518        Make the same change to xheight on Windows for CG.
49519
49520        * platform/graphics/win/SimpleFontDataCGWin.cpp:
49521        (WebCore::SimpleFontData::platformInit):
49522
495232011-03-10  David Hyatt  <hyatt@apple.com>
49524
49525        Reviewed by Simon Fraser.
49526
49527        https://bugs.webkit.org/show_bug.cgi?id=47147
49528
49529        Fix for repaint issues when the root element is a table and needs to paint a background that
49530        covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
49531        so that it can be called only for fill layer painting.  Make tables and normal boxes both
49532        call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
49533        the table is the root of the document (this same check exists in RenderBlock painting already).
49534
49535        * rendering/RenderBox.cpp:
49536        (WebCore::RenderBox::paintRootBoxFillLayers):
49537        (WebCore::RenderBox::paintBoxDecorations):
49538        (WebCore::RenderBox::paintBoxDecorationsWithSize):
49539        * rendering/RenderBox.h:
49540        * rendering/RenderLayerCompositor.cpp:
49541        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
49542        * rendering/RenderTable.cpp:
49543        (WebCore::RenderTable::paint):
49544        (WebCore::RenderTable::paintBoxDecorations):
49545
495462011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49547
49548        Unreviewed, rolling out r80749.
49549        http://trac.webkit.org/changeset/80749
49550        https://bugs.webkit.org/show_bug.cgi?id=56143
49551
49552        "Caused at least 3 media tests to be flaky" (Requested by
49553        tonyg-cr on #webkit).
49554
49555        * html/parser/HTMLDocumentParser.cpp:
49556        (WebCore::HTMLDocumentParser::canTakeNextToken):
49557        (WebCore::HTMLDocumentParser::pumpTokenizer):
49558        * html/parser/HTMLParserScheduler.cpp:
49559        * html/parser/HTMLParserScheduler.h:
49560        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
49561        * page/FrameView.h:
49562
495632011-03-10  Sam Weinig  <sam@webkit.org>
49564
49565        Reviewed by David Hyatt.
49566
49567        Regression: Content not drawn when scrolling horizontally in an RTL page
49568        https://bugs.webkit.org/show_bug.cgi?id=55077
49569
49570        * platform/ScrollView.cpp:
49571        (WebCore::ScrollView::overhangAmount):
49572        (WebCore::ScrollView::calculateOverhangAreasForPainting):
49573        Take the scroll origin into account when calculating overhang.
49574
49575        * platform/ScrollView.h:
49576        * rendering/RenderLayer.h:
49577        * platform/ScrollableArea.h:
49578        (WebCore::ScrollableArea::scrollOrigin):
49579        Move identical scroll origin member from ScrollView and RenderLayer
49580        to shared base ScrollableArea. This is also needed so that the animator
49581        can access it.
49582
49583        * platform/mac/ScrollAnimatorMac.mm:
49584        (WebCore::ScrollAnimatorMac::pinnedInDirection):
49585        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
49586        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
49587        Account for a scroll origin when doing calculating scroll offsets.
49588
495892011-03-09  Matthew Delaney  <mdelaney@apple.com>
49590
49591        Reviewed by Simon Fraser.
49592
49593        Plumb through settings for accelerated drawing for canvas
49594        https://bugs.webkit.org/show_bug.cgi?id=56039
49595
49596        No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
49597
49598        * WebCore.exp.in:
49599        * html/HTMLCanvasElement.cpp:
49600        * html/canvas/CanvasRenderingContext2D.cpp:
49601        * page/Settings.cpp:
49602        * page/Settings.h:
49603
496042011-03-10  David Hyatt  <hyatt@apple.com>
49605
49606        Reviewed by Simon Fraser.
49607
49608        https://bugs.webkit.org/show_bug.cgi?id=47157
49609
49610        CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
49611
49612        Remove the code that tries to also include the maxX of the glyph bounds for the
49613        'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
49614        below the baseline.
49615
49616        Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
49617        issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
49618        the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
49619
49620        Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
49621        layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
49622        buttons use ex horizontal margins by default.
49623
49624        * platform/graphics/mac/SimpleFontDataMac.mm:
49625        (WebCore::SimpleFontData::platformInit):
49626
496272011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
49628
49629        Reviewed by Tony Chang.
49630
49631        VisiblePosition's next and previous should take an enum instead of a boolean
49632        https://bugs.webkit.org/show_bug.cgi?id=56135
49633
49634        Changed the argument type of VisiblePosition::next and VisiblePosition::previous
49635        from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
49636        in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
49637        was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
49638        to call VisiblePosition::next and VisiblePosition::previous.
49639
49640        * WebCore.exp.in:
49641        * dom/Position.cpp:
49642        (WebCore::Position::trailingWhitespacePosition):
49643        * editing/ApplyBlockElementCommand.cpp:
49644        (WebCore::ApplyBlockElementCommand::doApply):
49645        * editing/CompositeEditCommand.cpp:
49646        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
49647        * editing/InsertListCommand.cpp:
49648        (WebCore::InsertListCommand::doApply):
49649        (WebCore::InsertListCommand::listifyParagraph):
49650        * editing/ReplaceSelectionCommand.cpp:
49651        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
49652        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
49653        (WebCore::ReplaceSelectionCommand::doApply):
49654        * editing/SelectionController.cpp:
49655        (WebCore::SelectionController::modifyExtendingRight):
49656        (WebCore::SelectionController::modifyExtendingForward):
49657        (WebCore::SelectionController::modifyMovingForward):
49658        (WebCore::SelectionController::modifyExtendingLeft):
49659        (WebCore::SelectionController::modifyExtendingBackward):
49660        (WebCore::SelectionController::modifyMovingBackward):
49661        * editing/SelectionController.h:
49662        (WebCore::SelectionController::isAll):
49663        * editing/TypingCommand.cpp:
49664        (WebCore::TypingCommand::deleteKeyPressed):
49665        (WebCore::TypingCommand::forwardDeleteKeyPressed):
49666        * editing/VisiblePosition.cpp:
49667        (WebCore::VisiblePosition::next):
49668        (WebCore::VisiblePosition::previous):
49669        * editing/VisiblePosition.h:
49670        * editing/VisibleSelection.cpp:
49671        (WebCore::VisibleSelection::isAll):
49672        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
49673        * editing/VisibleSelection.h:
49674        * editing/htmlediting.cpp:
49675        (WebCore::selectionForParagraphIteration):
49676        * editing/visible_units.cpp:
49677        (WebCore::startOfNextParagraph):
49678
496792011-03-10  Mihai Parparita  <mihaip@chromium.org>
49680
49681        Reviewed by Tony Gentilcore.
49682
49683        Remove CRASH() calls added to track down bug 53045
49684        https://bugs.webkit.org/show_bug.cgi?id=56137
49685
49686        Remove CRASH() calls added by r76575 and re-label ones added by r80155
49687        and r80269 as being associated with bug 56124 (which may still be
49688        happening).
49689
49690        * css/CSSImageValue.cpp:
49691        (WebCore::CSSImageValue::cachedImage):
49692        * css/CSSSelector.h:
49693        * css/CSSSelectorList.cpp:
49694        (WebCore::CSSSelectorList::deleteSelectors):
49695        * loader/cache/CachedResource.cpp:
49696        (WebCore::CachedResource::CachedResource):
49697        (WebCore::CachedResource::~CachedResource):
49698        * loader/cache/CachedResource.h:
49699
497002011-03-10  Tony Gentilcore  <tonyg@chromium.org>
49701
49702        Reviewed by Eric Seidel.
49703
49704        Let the parser yield for layout before running scripts
49705        https://bugs.webkit.org/show_bug.cgi?id=54355
49706
49707        Prior to this patch, the parser would yield to perform a layout/paint before running a
49708        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
49709        don't preload scan into the body while parsing the head, typically we'll block on a script
49710        early in the body that causes us to yield to do the first paint within a reasonable time.
49711
49712        However, I'm planning to change the PreloadScanner to scan into the body from the head.
49713        That significantly improves overall load time, but would hurt first paint time because
49714        fewer scripts would be blocked during parsing and thus wouldn't yield.
49715
49716        This change causes us to yield before running scripts if we haven't painted yet (regardless
49717        of whether or not the script is loaded). In addition to allowing the above mentioned
49718        PreloadScanner change to be implemented without regressing first paint time, this also
49719        improves first paint time by itself.
49720
49721        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
49722        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
49723        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
49724        signifcant change in page load time.
49725
49726        Within the pages tested, 33 had no statistically significant change in time to first paint,
49727        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
49728        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
49729
49730        * html/parser/HTMLDocumentParser.cpp:
49731        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
49732        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
49733        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
49734        the right thing whether we are just before a token or waiting for a script. Now that we may
49735        yield before a token or before a script, this may be called while paused.
49736        * html/parser/HTMLParserScheduler.cpp:
49737        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
49738        * page/FrameView.h:
49739        (WebCore::FrameView::hasEverPainted): Added.
49740
497412011-03-10  Alejandro G. Castro  <alex@igalia.com>
49742
49743        Reviewed by Martin Robinson.
49744
49745        Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
49746        https://bugs.webkit.org/show_bug.cgi?id=55996
49747
49748        Use the macre USE instead of defined fro WTF_USE_FREETYPE and
49749        WTF_USE_PANGO.
49750
49751        * GNUmakefile.am:
49752        * platform/graphics/cairo/OwnPtrCairo.cpp:
49753        * platform/graphics/cairo/OwnPtrCairo.h:
49754        * platform/graphics/cairo/RefPtrCairo.cpp:
49755        * platform/graphics/cairo/RefPtrCairo.h:
49756        * platform/graphics/gtk/FontGtk.cpp:
49757        (WebCore::setPangoAttributes):
49758        (WebCore::Font::drawComplexText):
49759        (WebCore::Font::floatWidthForComplexText):
49760        (WebCore::Font::offsetForPositionForComplexText):
49761        (WebCore::Font::selectionRectForComplexText):
49762
497632011-03-10  Geoffrey Garen  <ggaren@apple.com>
49764
49765        Reviewed by Oliver Hunt.
49766
49767        Rolled back in 80277 and 80280 with event handler layout test failures fixed.
49768        https://bugs.webkit.org/show_bug.cgi?id=55653
49769
49770        The failures were caused by a last minute typo: assigning to currentEvent
49771        instead of m_currentEvent.
49772
49773        * WebCore.xcodeproj/project.pbxproj:
49774        * bindings/js/JSDOMGlobalObject.cpp:
49775        * bindings/js/JSDOMGlobalObject.h:
49776        * bindings/js/JSDOMWindowBase.cpp:
49777        * bindings/js/JSDOMWindowBase.h:
49778        * bindings/js/JSDOMWindowCustom.h:
49779        * bindings/js/JSWorkerContextBase.cpp:
49780
497812011-03-10  David Hyatt  <hyatt@apple.com>
49782
49783        Reviewed by Dan Bernstein.
49784
49785        https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
49786
49787        Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
49788        translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
49789        this is done already on Lion and Leopard.
49790
49791        * platform/graphics/mac/FontMac.mm:
49792        (WebCore::showGlyphsWithAdvances):
49793
497942011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49795
49796        Unreviewed, rolling out r80701.
49797        http://trac.webkit.org/changeset/80701
49798        https://bugs.webkit.org/show_bug.cgi?id=56126
49799
49800        fast/dom/Geolocation/window-close-crash.html fails on Snow
49801        Leopard release builds (Requested by mihaip on #webkit).
49802
49803        * page/DOMWindow.cpp:
49804        * page/DOMWindow.h:
49805        * page/Frame.cpp:
49806        (WebCore::Frame::pageDestroyed):
49807        (WebCore::Frame::transferChildFrameToNewDocument):
49808        * page/Geolocation.cpp:
49809        (WebCore::Geolocation::~Geolocation):
49810        (WebCore::Geolocation::disconnectFrame):
49811        (WebCore::Geolocation::lastPosition):
49812        (WebCore::Geolocation::requestPermission):
49813        (WebCore::Geolocation::startUpdating):
49814        (WebCore::Geolocation::stopUpdating):
49815        * page/Geolocation.h:
49816        * page/GeolocationController.cpp:
49817        (WebCore::GeolocationController::~GeolocationController):
49818        * page/Navigator.cpp:
49819        * page/Navigator.h:
49820        * platform/mock/GeolocationClientMock.cpp:
49821        * platform/mock/GeolocationClientMock.h:
49822
498232011-03-10  Pratik Solanki  <psolanki@apple.com>
49824
49825        Reviewed by Alexey Proskuryakov.
49826
49827        ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
49828        https://bugs.webkit.org/show_bug.cgi?id=56075
49829
49830        Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
49831
49832        * platform/network/cf/ResourceRequestCFNet.h:
49833        (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
49834        (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
49835
498362011-03-10  Andrey Adaikin  <aandrey@google.com>
49837
49838        Reviewed by Pavel Feldman.
49839
49840        Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
49841        https://bugs.webkit.org/show_bug.cgi?id=56084
49842
49843        Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
49844
49845        * inspector/front-end/SourceFrame.js:
49846        (WebInspector.SourceFrame):
49847        (WebInspector.SourceFrame.prototype._startEditing):
49848        (WebInspector.SourceFrame.prototype._registerShortcuts):
49849        (WebInspector.SourceFrame.prototype._handleKeyDown):
49850        (WebInspector.SourceFrame.prototype._handleSave):
49851        (WebInspector.SourceFrame.prototype._handleRevertEditing):
49852        (WebInspector.SourceFrame.prototype._doubleClick):
49853        * inspector/front-end/TextEditorModel.js:
49854        (WebInspector.TextEditorModel.prototype.get text):
49855        * inspector/front-end/TextViewer.js:
49856        (WebInspector.TextViewer.prototype.get readOnly):
49857        (WebInspector.TextEditorMainPanel):
49858        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
49859        (WebInspector.TextEditorMainPanel.prototype.get readOnly):
49860
498612011-03-10  Greg Simon  <gregsimon@chromium.org>
49862
49863        Reviewed by Pavel Feldman.
49864
49865        Web Inspector: Need new graphic icon for garbage collect button.
49866        https://bugs.webkit.org/show_bug.cgi?id=55794
49867
49868        No new tests: gc tests are flaky due to non-determinisic
49869        behavior of collection APIs (more notes in bug)
49870
49871        * English.lproj/localizedStrings.js:
49872        * WebCore.gypi:
49873        * bindings/js/ScriptProfiler.cpp:
49874        (WebCore::ScriptProfiler::collectGarbage):
49875        * bindings/js/ScriptProfiler.h:
49876        * bindings/v8/ScriptProfiler.cpp:
49877        (WebCore::ScriptProfiler::collectGarbage):
49878        * bindings/v8/ScriptProfiler.h:
49879        * inspector/Inspector.idl:
49880        * inspector/InspectorProfilerAgent.cpp:
49881        (WebCore::InspectorProfilerAgent::collectGarbage):
49882        * inspector/InspectorProfilerAgent.h:
49883        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
49884        * inspector/front-end/TimelinePanel.js:
49885        (WebInspector.TimelinePanel.prototype.get statusBarItems):
49886        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
49887        (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
49888        * inspector/front-end/inspector.css:
49889        (.garbage-collect-status-bar-item .glyph):
49890
498912011-03-10  Andrey Kosyakov  <caseq@chromium.org>
49892
49893        Web Inspector: better names for HAR export commands
49894        https://bugs.webkit.org/show_bug.cgi?id=56097
49895
49896        Rename Export to HAR to Copy entry/network log as HAR
49897        Expose Copy as HAR unconditionally, remove related settings entry.
49898
49899        * English.lproj/localizedStrings.js:
49900        * inspector/front-end/NetworkPanel.js:
49901        (WebInspector.NetworkPanel.prototype._contextMenu):
49902        * inspector/front-end/Settings.js:
49903
499042011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
49905
49906        Reviewed by Laszlo Gombos.
49907
49908        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
49909        https://bugs.webkit.org/show_bug.cgi?id=48636
49910
49911        Fix a typo in features.pri that turns on this feature on mobile
49912        devices by default.
49913
49914        * features.pri:
49915
499162011-03-10  Alexander Pavlov  <apavlov@chromium.org>
49917
49918        Reviewed by Pavel Feldman.
49919
49920        Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
49921        https://bugs.webkit.org/show_bug.cgi?id=56092
49922
49923        * inspector/front-end/CSSStyleModel.js:
49924        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
49925
499262011-03-10  Pavel Feldman  <pfeldman@chromium.org>
49927
49928        Not reviewed: rolling out r80478 and its follow ups for breaking
49929        inspector and engadget.com.
49930        https://bugs.webkit.org/show_bug.cgi?id=49401
49931
49932        * dom/Document.cpp:
49933        (WebCore::Document::Document):
49934        (WebCore::performTask):
49935        (WebCore::Document::postTask):
49936        * dom/Document.h:
49937        * loader/FrameLoader.cpp:
49938        (WebCore::FrameLoader::setDefersLoading):
49939        * manual-tests/database-callback-deferred.html: Removed.
49940        * page/PageGroupLoadDeferrer.cpp:
49941        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
49942        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
49943
499442011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49945
49946        Reviewed by Kenneth Rohde Christiansen.
49947
49948        Tiled backing store's delegated scroll request uses incorrect convention
49949        https://bugs.webkit.org/show_bug.cgi?id=56011
49950
49951        Use a point instead of delta, when relaying the scroll request from
49952        ScrollView::setScrollPosition.
49953
49954        * loader/EmptyClients.h:
49955        (WebCore::EmptyChromeClient::delegatedScrollRequested):
49956        * page/Chrome.cpp:
49957        (WebCore::Chrome::delegatedScrollRequested):
49958        * page/Chrome.h:
49959        * page/ChromeClient.h:
49960        * platform/HostWindow.h:
49961        * platform/ScrollView.cpp:
49962        (WebCore::ScrollView::setScrollPosition):
49963
499642011-03-10  Pavel Feldman  <pfeldman@chromium.org>
49965
49966        Reviewed by Yury Semikhatsky.
49967
49968        Web Inspector: brush up DOM agent API.
49969        https://bugs.webkit.org/show_bug.cgi?id=56093
49970
49971        * inspector/Inspector.idl:
49972        * inspector/InspectorDOMAgent.cpp:
49973        (WebCore::InspectorDOMAgent::childNodes):
49974        (WebCore::InspectorDOMAgent::setNodeName):
49975        (WebCore::InspectorDOMAgent::outerHTML):
49976        (WebCore::InspectorDOMAgent::setNodeValue):
49977        * inspector/InspectorDOMAgent.h:
49978        * inspector/front-end/DOMAgent.js:
49979        (WebInspector.DOMNode):
49980        (WebInspector.DOMNode.prototype.hasAttributes):
49981        (WebInspector.DOMNode.prototype.nodeType):
49982        (WebInspector.DOMNode.prototype.nodeName):
49983        (WebInspector.DOMNode.prototype.setNodeName):
49984        (WebInspector.DOMNode.prototype.localName):
49985        (WebInspector.DOMNode.prototype.nodeValue):
49986        (WebInspector.DOMNode.prototype.setNodeValue):
49987        (WebInspector.DOMNode.prototype.setAttribute):
49988        (WebInspector.DOMNode.prototype.attributes):
49989        (WebInspector.DOMNode.prototype.removeAttribute):
49990        (WebInspector.DOMNode.prototype.childNodes.mycallback):
49991        (WebInspector.DOMNode.prototype.childNodes):
49992        (WebInspector.DOMNode.prototype.outerHTML):
49993        (WebInspector.DOMNode.prototype.setOuterHTML):
49994        (WebInspector.DOMNode.prototype.removeNode):
49995        (WebInspector.DOMNode.prototype.copyNode):
49996        (WebInspector.DOMNode.prototype.path):
49997        (WebInspector.DOMNode.prototype._setAttributesPayload):
49998        (WebInspector.DOMNode.prototype._addAttribute):
49999        (WebInspector.DOMAgent.prototype._characterDataModified):
50000        * inspector/front-end/ElementsPanel.js:
50001        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
50002        (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
50003        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
50004        * inspector/front-end/ElementsTreeOutline.js:
50005        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
50006        (WebInspector.ElementsTreeElement):
50007        (WebInspector.ElementsTreeElement.prototype.updateChildren):
50008        (WebInspector.ElementsTreeElement.prototype._updateChildren):
50009        (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
50010        (WebInspector.ElementsTreeElement.prototype._startEditing):
50011        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
50012        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
50013        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
50014        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
50015        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
50016        ():
50017        * inspector/front-end/EventListenersSidebarPane.js:
50018        ():
50019        * inspector/front-end/MetricsSidebarPane.js:
50020        * inspector/front-end/StylesSidebarPane.js:
50021        * inspector/front-end/utilities.js:
50022
500232011-03-09  Alexander Pavlov  <apavlov@chromium.org>
50024
50025        Reviewed by Pavel Feldman.
50026
50027        Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
50028        https://bugs.webkit.org/show_bug.cgi?id=56002
50029
50030        * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
50031
500322011-03-09  Pavel Podivilov  <podivilov@chromium.org>
50033
50034        Reviewed by Pavel Feldman.
50035
50036        Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
50037        https://bugs.webkit.org/show_bug.cgi?id=56034
50038
50039        * inspector/front-end/DebuggerPresentationModel.js:
50040        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
50041        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
50042        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
50043        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
50044        (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
50045        * inspector/front-end/ScriptsPanel.js:
50046        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
50047        (WebInspector.SourceFrameDelegateForScriptsPanel):
50048        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
50049        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
50050        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
50051        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
50052        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
50053        * inspector/front-end/SourceFrame.js:
50054        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
50055        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
50056        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
50057        (WebInspector.SourceFrame.prototype._contextMenu):
50058        (WebInspector.SourceFrame.prototype._mouseDown):
50059        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
50060        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
50061
500622011-03-09  Alexander Pavlov  <apavlov@chromium.org>
50063
50064        Reviewed by Pavel Feldman.
50065
50066        Web Inspector: elements dom tree - word wrap toggle
50067        https://bugs.webkit.org/show_bug.cgi?id=44311
50068
50069        A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
50070        and persisted into application settings.
50071
50072        * English.lproj/localizedStrings.js:
50073        * inspector/front-end/ElementsPanel.js:
50074        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
50075        (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
50076        * inspector/front-end/ElementsTreeOutline.js:
50077        (WebInspector.ElementsTreeOutline):
50078        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
50079        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
50080        (WebInspector.ElementsTreeElement.prototype.onreveal):
50081        * inspector/front-end/Settings.js:
50082        (WebInspector.Settings):
50083        * inspector/front-end/inspector.css:
50084        (#elements-content.nowrap):
50085        (#elements-content > ol):
50086
500872011-03-09  Pavel Podivilov  <podivilov@chromium.org>
50088
50089        Reviewed by Pavel Feldman.
50090
50091        Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
50092        https://bugs.webkit.org/show_bug.cgi?id=55823
50093
50094        * inspector/front-end/BreakpointsSidebarPane.js:
50095        (WebInspector.JavaScriptBreakpointsSidebarPane):
50096        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
50097        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
50098        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
50099        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
50100        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
50101        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
50102        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
50103        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
50104        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
50105        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
50106        * inspector/front-end/DebuggerPresentationModel.js:
50107        (WebInspector.DebuggerPresentationModel):
50108        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
50109        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
50110        (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
50111        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
50112        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
50113        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
50114        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
50115        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
50116        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
50117        (WebInspector.DebuggerPresentationModel.prototype.reset):
50118        * inspector/front-end/ScriptsPanel.js:
50119        (WebInspector.ScriptsPanel):
50120        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
50121        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
50122        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
50123        (WebInspector.ScriptsPanel.prototype.reset):
50124        (WebInspector.ScriptsPanel.prototype._clearInterface):
50125
501262011-03-10  Andrey Adaikin  <aandrey@google.com>
50127
50128        Reviewed by Pavel Feldman.
50129
50130        Web Inspector: Highlighter refactoring
50131        https://bugs.webkit.org/show_bug.cgi?id=56015
50132
50133        * inspector/front-end/TextEditorHighlighter.js:
50134        (WebInspector.TextEditorHighlighter):
50135        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
50136        (WebInspector.TextEditorHighlighter.prototype.highlight):
50137        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
50138        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
50139        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
50140        (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
50141        (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
50142        * inspector/front-end/TextViewer.js:
50143        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
50144        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
50145
501462011-03-05  Pavel Podivilov  <podivilov@chromium.org>
50147
50148        Reviewed by Pavel Feldman.
50149
50150        Web Inspector: move breakpoint column adjustment to debugger model.
50151        https://bugs.webkit.org/show_bug.cgi?id=55821
50152
50153        Test: inspector/debugger/debug-inlined-scripts.html
50154
50155        * inspector/front-end/DebuggerModel.js:
50156        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
50157        (WebInspector.DebuggerModel.prototype.setBreakpoint):
50158        * inspector/front-end/SourceFrameContent.js:
50159        (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
50160
501612011-01-21  John Knottenbelt  <jknotten@chromium.org>
50162
50163        Reviewed by Dmitry Titov.
50164
50165        Detach Geolocation from Frame when Page destroyed.
50166        https://bugs.webkit.org/show_bug.cgi?id=52877
50167
50168        On Page destruction, any outstanding Geolocation permission
50169        requests should be cancelled, because the Geolocation can only
50170        access the client indirectly via m_frame->page().
50171
50172        Page destruction is signalled by a call to the
50173        Frame::pageDestroyed() method. This explictly calls
50174        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
50175
50176        Geolocation::reset() detaches from the GeolocationController,
50177        cancels requests, watches and single shots, and sets the
50178        permission state back to Unknown.
50179
50180        Frame::pageDestroyed() is also called by FrameLoader even though
50181        the page is not destroyed. We should still cancel permission
50182        requests, because the GeolocationClient will become inaccessible
50183        to the Geolocation object after this call.
50184
50185        Frame::transferChildFrameToNewDocument also indirectly calls
50186        Geolocation::reset when the frame is reparented between
50187        pages. Ideally we would like the Geolocation's activities to
50188        continue after reparenting, see bug
50189        https://bugs.webkit.org/show_bug.cgi?id=55577
50190
50191        Since GeolocationController is owned by Page, and all Geolocation
50192        objects will now unsubscribe from the GeolocationController on
50193        pageDetached(), we no longer need to call stopUpdating() from the
50194        GeolocationController's destructor. Instead we can simply assert
50195        that there should be no no observers. See related bug
50196        https://bugs.webkit.org/show_bug.cgi?id=52216 .
50197
50198        Introduced new method 'numberOfPendingPermissionRequests' on
50199        GeolocationClientMock to count the number of outstanding pending
50200        permission requests. This provides a reusable implementation for
50201        client-based implementations of the LayoutTestController's
50202        numberOfPendingGeolocationPermissionRequests method.
50203
50204        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
50205
50206        * page/DOMWindow.cpp:
50207        (WebCore::DOMWindow::resetGeolocation):
50208        * page/DOMWindow.h:
50209        * page/Frame.cpp:
50210        (WebCore::Frame::pageDestroyed):
50211        (WebCore::Frame::transferChildFrameToNewDocument):
50212        * page/Geolocation.cpp:
50213        (WebCore::Geolocation::~Geolocation):
50214        (WebCore::Geolocation::page):
50215        (WebCore::Geolocation::reset):
50216        (WebCore::Geolocation::disconnectFrame):
50217        (WebCore::Geolocation::lastPosition):
50218        (WebCore::Geolocation::requestPermission):
50219        (WebCore::Geolocation::startUpdating):
50220        (WebCore::Geolocation::stopUpdating):
50221        * page/Geolocation.h:
50222        * page/GeolocationController.cpp:
50223        (WebCore::GeolocationController::~GeolocationController):
50224        * page/Navigator.cpp:
50225        (WebCore::Navigator::resetGeolocation):
50226        * page/Navigator.h:
50227        * platform/mock/GeolocationClientMock.cpp:
50228        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
50229        * platform/mock/GeolocationClientMock.h:
50230
502312011-03-10  Ojan Vafai  <ojan@chromium.org>
50232
50233        Reviewed by Darin Adler.
50234
50235        Able to move nodes across documents
50236        https://bugs.webkit.org/show_bug.cgi?id=19524
50237
50238        Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
50239        This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't
50240        match Gecko or the spec that will need to be updated in a following patch.
50241
50242        Test: fast/dom/move-nodes-across-documents.html
50243
50244        * dom/Element.cpp:
50245        (WebCore::Element::removeAttributeNode):
50246        * dom/NamedNodeMap.cpp:
50247        (WebCore::NamedNodeMap::setNamedItem):
50248        * dom/Node.cpp:
50249        (WebCore::Node::setDocumentRecursively):
50250        (WebCore::checkAcceptChild):
50251        (WebCore::Node::checkReplaceChild):
50252        * dom/Range.cpp:
50253        (WebCore::Range::insertNode):
50254        (WebCore::Range::surroundContents):
50255
502562011-03-09  Antti Koivisto  <antti@apple.com>
50257
50258        Not reviewed.
50259
50260        Reverting crash catching code, the bug being hunted was fixed by
50261        http://trac.webkit.org/changeset/80686
50262
50263        * loader/cache/CachedResourceLoader.cpp:
50264        (WebCore::CachedResourceLoader::CachedResourceLoader):
50265        (WebCore::CachedResourceLoader::~CachedResourceLoader):
50266        (WebCore::CachedResourceLoader::requestImage):
50267        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
50268        (WebCore::CachedResourceLoader::requestResource):
50269        (WebCore::CachedResourceLoader::setAutoLoadImages):
50270        (WebCore::CachedResourceLoader::load):
50271        (WebCore::CachedResourceLoader::loadDone):
50272        (WebCore::CachedResourceLoader::preload):
50273        (WebCore::CachedResourceLoader::requestPreload):
50274        * loader/cache/CachedResourceLoader.h:
50275
502762011-03-09  Peter Kasting  <pkasting@google.com>
50277
50278        Unreviewed, build fix.
50279
50280        * StringsNotToBeLocalized.txt: Add function names I forgot.
50281        * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
50282          since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
50283          since Qt is stupid and (sometimes?!) warns about it.
50284        (WebCore::windowsVersion):
50285        (WebCore::processorArchitecture):
50286
502872011-03-09  Peter Kasting  <pkasting@google.com>
50288
50289        Reviewed by Ryosuke Niwa.
50290
50291        Add UA string tags for Windows 64.
50292        https://bugs.webkit.org/show_bug.cgi?id=55226
50293
50294        * StringsNotToBeLocalized.txt:
50295        * platform/win/SystemInfo.cpp:
50296        (WebCore::osVersionForUAString):
50297        (WebCore::isWOW64):
50298        (WebCore::processorArchitecture):
50299        (WebCore::architectureTokenForUAString):
50300        (WebCore::windowsVersionForUAString):
50301
503022011-03-09  Peter Kasting  <pkasting@google.com>
50303
50304        Unreviewed, attempted build fix.
50305
50306        * WebCore.pri: Try to update include path for Qt Windows build.
50307
503082011-03-09  Peter Kasting  <pkasting@google.com>
50309
50310        Unreviewed, build fix.
50311
50312        * platform/win/SystemInfo.cpp:
50313        (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
50314
503152011-03-09  Peter Kasting  <pkasting@google.com>
50316
50317        Reviewed by Mihai Parparita.
50318
50319        Unify Windows version checks.
50320        https://bugs.webkit.org/show_bug.cgi?id=55979
50321
50322        * GNUmakefile.am: Fix spaces -> tabs.
50323        * StringsNotToBeLocalized.txt:
50324        * WebCore.pro: Add SystemInfo.* to Qt build.
50325        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
50326        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
50327        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
50328        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
50329        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
50330        (WebCore::fillBMPGlyphs):
50331        * platform/win/CursorWin.cpp:
50332        (WebCore::createSharedCursor):
50333        * platform/win/ScrollbarThemeWin.cpp:
50334        (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
50335        * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
50336        (WebCore::windowsVersion):
50337        (WebCore::windowsVersionForUAString):
50338        * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
50339        * rendering/RenderThemeChromiumWin.cpp:
50340        (WebCore::getNonClientMetrics):
50341        * rendering/RenderThemeWin.cpp:
50342        (WebCore::RenderThemeWin::getThemeData):
50343        (WebCore::RenderThemeWin::paintMenuList):
50344        (WebCore::RenderThemeWin::paintMenuListButton):
50345
503462011-03-09  Mihai Parparita  <mihaip@chromium.org>
50347
50348        Reviewed by Tony Gentilcore.
50349
50350        REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
50351        https://bugs.webkit.org/show_bug.cgi?id=53045
50352
50353        Copy the URL out of the CachedResource that is being revalidated, so
50354        that we can still use it (in m_validatedURLs) after removing the
50355        resource from the memory cache, which may delete it.
50356
50357        No new tests, since I was not able to trigger this locally (in a layout
50358        test or otherwise).
50359
50360        * loader/cache/CachedResourceLoader.cpp:
50361        (WebCore::CachedResourceLoader::revalidateResource):
50362
503632011-03-09  Chris Fleizach  <cfleizach@apple.com>
50364
50365        Reviewed by Beth Dakin.
50366
50367        VO reporting incorrect list count for http://www.macworld.com/news.html
50368        https://bugs.webkit.org/show_bug.cgi?id=56064
50369
50370        <li> tags should not be ignored, because they provide valuable information
50371        to screen readers.
50372
50373        Test: platform/mac/accessibility/list-items-ignored.html
50374
50375        * accessibility/AccessibilityRenderObject.cpp:
50376        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
50377
503782011-03-09  Dan Bernstein  <mitz@apple.com>
50379
50380        Reviewed by Dave Hyatt.
50381
50382        <rdar://problem/8733254> Float disappears after incremental layout
50383        Fixed the original bug and a copule more issues noticed while doing so.
50384
50385        Tests: fast/dynamic/dirty-float-in-clean-line.html
50386               fast/dynamic/float-at-line-break.html
50387               fast/dynamic/float-from-empty-line.html
50388
50389        * rendering/RenderBlock.h:
50390        * rendering/RenderBlockLineLayout.cpp:
50391        (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line,
50392        update the line break info of the last line with the new line break position. This is tested
50393        by float-from-empty-line.html.
50394        (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition()
50395        into this new function.
50396        (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine().
50397        (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with
50398        floats, as they may yet become dirty because of the floats. This is tested by
50399        dirty-float-in-clean-line.html.
50400        (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line
50401        break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the
50402        next one does not, the float will not make it into any line. This is tested by
50403        float-at-line-break.html.
50404
504052011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
50406
50407        Reviewed by Kent Tamura.
50408
50409        selectionStart reports wrong caret position when the last characters are newlines
50410        https://bugs.webkit.org/show_bug.cgi?id=56061
50411
50412        The bug was caused by SelectionController::setSelection's not calling
50413        notifyRendererOfSelectionChange when old selection was equal to new selection.
50414
50415        Because InsertLineBreakCommand inserts a text node with a single LF before the caret,
50416        this condition holds after the command is executed. However, the values of
50417        selectionStart and selectionEnd still need to be updated in this case because
50418        the offsets counted from the beginning of textarea have been increased by 1.
50419
50420        * editing/SelectionController.cpp:
50421        (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange
50422        when m_selection = s.
50423        * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added.
50424
504252011-03-09  Andy Estes  <aestes@apple.com>
50426
50427        Reviewed by Adam Barth.
50428
50429        Bad cast in HTMLTreeBuilder::processStartTag
50430        https://bugs.webkit.org/show_bug.cgi?id=55955
50431
50432        Test: fast/parser/self-closing-foreign-content.html
50433
50434        When the parser encounters an svg or mathml root element, it places the
50435        insertion mode into InForeignContentMode. However, if the root element
50436        is self-closing (e.g. <svg />) then the element is never placed on the
50437        open elements stack. This leaves the parser in an inconsistent state
50438        where it is in InForeignContentMode but no foreign content is in the
50439        open element stack.
50440
50441        * html/parser/HTMLTreeBuilder.cpp:
50442        (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing
50443        foreign element is inserted into the tree, do not set the insertion
50444        mode to InForeignContentMode.
50445
504462011-03-09  Gavin Barraclough  <barraclough@apple.com>
50447
50448        Qt build fix.
50449
50450        * bridge/qt/qt_runtime.cpp:
50451        (JSC::Bindings::convertQVariantToValue):
50452
504532011-03-09  Andy Estes  <aestes@apple.com>
50454
50455        Reviewed by Adam Barth.
50456
50457        REGRESSION (r80320): Assertion failure when processing mis-nested foreign content.
50458        https://bugs.webkit.org/show_bug.cgi?id=55982
50459
50460        Test: fast/parser/fragment-foreign-content-misnested.html
50461
50462        It is a parse error to encounter certain start tags while the parser's
50463        insertion mode is InForeignContentMode (e.g. <br>). In these cases, we
50464        are to pop open elements off the HTMLElementStack until a foreign
50465        content scope marker is encountered. Before the change in r80320 to not
50466        insert a fake HTML element during fragment parsing, said fake HTML
50467        element counted as a foreign content scope marker.
50468
50469        With r80320, no fake HTML element is inserted and the stack is popped
50470        until empty in cases where no other element claims to be a foreign
50471        content scope marker. Fix this by treating the DocumentFragment as a
50472        foreign content scope marker.
50473
50474        * html/parser/HTMLElementStack.cpp:
50475        (WebCore::HTMLNames::isForeignContentScopeMarker): Take a
50476        ContainerNode* instead of a Element*.
50477        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass
50478        topNode() to isForeignContentScopeMarker() instead of top().
50479
504802011-03-09  Gavin Barraclough  <barraclough@apple.com>
50481
50482        Reviewed by Darin Adler.
50483
50484        Bug 56041 - RexExp constructor should only accept flags "gim"
50485        We also should be passing the flags around as a bitfield rather than a string,
50486        and should not have redundant, incompatible code for converting the string to a bitfield!
50487
50488        * bindings/js/SerializedScriptValue.cpp:
50489        (WebCore::CloneDeserializer::readTerminal):
50490            - Need to parse flags string back to enum.
50491
504922011-03-09  James Robinson  <jamesr@chromium.org>
50493
50494        Reviewed by Kenneth Russell.
50495
50496        [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl
50497        https://bugs.webkit.org/show_bug.cgi?id=56021
50498
50499        Initializes the m_doubleSided flag of LayerChromiums to the default
50500        value of true so the back sides of layers without
50501        backface-visibility:hidden are rendered.
50502
50503        Test: compositing/backface-visibility.html
50504
50505        * platform/graphics/chromium/LayerChromium.cpp:
50506        (WebCore::LayerChromium::LayerChromium):
50507
505082011-03-09  David Hyatt  <hyatt@apple.com>
50509
50510        Reviewed by Dan Bernstein.
50511
50512        <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text
50513
50514        Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented
50515        text. That way we use the same metrics as for horizontal.
50516
50517        This fixes regressions in fast/lists and fast/overflow vertical text tests.
50518
50519        * platform/graphics/mac/SimpleFontDataMac.mm:
50520        (WebCore::SimpleFontData::platformInit):
50521        (WebCore::SimpleFontData::platformBoundsForGlyph):
50522
505232011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
50524
50525        Reviewed by Tony Chang.
50526
50527        REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document
50528        https://bugs.webkit.org/show_bug.cgi?id=56004
50529
50530        The crash was caused by the false assumption that rootEditableElement() or documentElement()
50531        always return non-null pointer. Fixed the bug by adding an early exit.
50532
50533        Test: editing/selection/extend-by-line-in-empty-document.html
50534
50535        * editing/visible_units.cpp:
50536        (WebCore::previousLinePosition):
50537        (WebCore::nextLinePosition):
50538
505392011-03-09  Pavel Podivilov  <podivilov@chromium.org>
50540
50541        Reviewed by Pavel Feldman.
50542
50543        Web Inspector: it should be possible to copy stack trace from call stack sidebar pane.
50544        https://bugs.webkit.org/show_bug.cgi?id=56024
50545
50546        * English.lproj/localizedStrings.js:
50547        * inspector/front-end/CallStackSidebarPane.js:
50548        (WebInspector.CallStackSidebarPane):
50549        (WebInspector.CallStackSidebarPane.prototype.update):
50550        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
50551
505522011-03-09  David Hyatt  <hyatt@apple.com>
50553
50554        Reviewed by Darin Adler.
50555
50556        Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all
50557        places.  Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData
50558        and FontCache.
50559
50560        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
50561        (WebCore::FontPlatformData::FontPlatformData):
50562        * platform/graphics/chromium/FontPlatformDataLinux.h:
50563        (WebCore::FontPlatformData::FontPlatformData):
50564
505652011-03-09  Steve Block  <steveblock@google.com>
50566
50567        Reviewed by Jeremy Orlow.
50568
50569        JavaNPObject should not use JNI directly
50570        https://bugs.webkit.org/show_bug.cgi?id=56009
50571
50572        We move the JNI code to access a Java object's fields into
50573        a new JavaInstance::getField() method.
50574
50575        No new tests, refactoring only.
50576
50577        * bridge/jni/v8/JavaInstanceV8.cpp:
50578        (JavaInstance::getField):
50579        * bridge/jni/v8/JavaInstanceV8.h:
50580        * bridge/jni/v8/JavaNPObjectV8.cpp:
50581        (JSC::Bindings::JavaNPObjectGetProperty):
50582
505832011-03-09  Steve Block  <steveblock@google.com>
50584
50585        Reviewed by Jeremy Orlow.
50586
50587        NPAPI - jvalue conversion should not be in JavaInstance
50588        https://bugs.webkit.org/show_bug.cgi?id=55967
50589
50590        No new tests, refactoring only.
50591
50592        * bridge/jni/v8/JavaInstanceV8.cpp:
50593        (JavaInstance::invokeMethod):
50594        * bridge/jni/v8/JavaInstanceV8.h:
50595        * bridge/jni/v8/JavaNPObjectV8.cpp:
50596        (JSC::Bindings::JavaNPObjectInvoke):
50597
505982011-03-09  Jessie Berlin  <jberlin@apple.com>
50599
50600        Reviewed by Adam Roben.
50601
50602        Use the Cookie Storage from the Private Browsing Storage Session directly
50603        https://bugs.webkit.org/show_bug.cgi?id=55986
50604
50605        * WebCore.exp.in:
50606        * platform/mac/WebCoreSystemInterface.h:
50607        * platform/mac/WebCoreSystemInterface.mm:
50608
50609        * platform/network/mac/CookieStorageMac.mm:
50610        (WebCore::setCookieStoragePrivateBrowsingEnabled):
50611        Just copy the cookie storage from the private browsing storage session.
50612        * platform/network/cf/CookieStorageCFNet.cpp:
50613        (WebCore::setCookieStoragePrivateBrowsingEnabled):
50614        Ditto.
50615
506162011-03-09  Andrey Kosyakov  <caseq@chromium.org>
50617
50618        Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639)
50619
50620        * inspector/InspectorInstrumentation.cpp:
50621        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
50622
506232011-03-09  Yury Semikhatsky  <yurys@chromium.org>
50624
50625        Reviewed by Pavel Feldman.
50626
50627        Web Inspector: pass explicit agent references to InspectorBackendDispatcher
50628        https://bugs.webkit.org/show_bug.cgi?id=55820
50629
50630        * inspector/CodeGeneratorInspector.pm:
50631        * inspector/InspectorController.cpp:
50632        (WebCore::InspectorController::InspectorController):
50633        (WebCore::InspectorController::connectFrontend):
50634        (WebCore::InspectorController::disconnectFrontend):
50635        (WebCore::InspectorController::dispatchMessageFromFrontend):
50636
506372011-03-09  Andrey Kosyakov  <caseq@chromium.org>
50638
50639        Reviewed by Pavel Feldman.
50640
50641        Web Inspector: resource errors are not reported before front-end is opened
50642        https://bugs.webkit.org/show_bug.cgi?id=55939
50643
50644        * inspector/InspectorInstrumentation.cpp:
50645        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
50646        * inspector/InspectorInstrumentation.h:
50647        (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
50648        (WebCore::InspectorInstrumentation::didFailLoading):
50649
506502011-03-08  Hans Wennborg  <hans@chromium.org>
50651
50652        Reviewed by Jeremy Orlow.
50653
50654        IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open
50655        https://bugs.webkit.org/show_bug.cgi?id=55948
50656
50657        Add a parameter that allows for selection of alternative backing store
50658        implementations.
50659
50660        No new tests: no new functionality.
50661
50662        * storage/IDBFactory.cpp:
50663        (WebCore::IDBFactory::open):
50664        * storage/IDBFactoryBackendImpl.cpp:
50665        (WebCore::IDBFactoryBackendImpl::open):
50666        * storage/IDBFactoryBackendImpl.h:
50667        * storage/IDBFactoryBackendInterface.h:
50668
506692011-03-08  Steve Block  <steveblock@google.com>
50670
50671        Reviewed by Jeremy Orlow.
50672
50673        Factor out JNI method call to be used by both JSC and V8
50674        https://bugs.webkit.org/show_bug.cgi?id=55966
50675
50676        No new tests, refactoring only.
50677
50678        * bridge/jni/JNIUtility.cpp:
50679        (JSC::Bindings::callJNIMethod):
50680        * bridge/jni/JNIUtility.h:
50681        * bridge/jni/jsc/JavaInstanceJSC.cpp:
50682        (JavaInstance::invokeMethod):
50683        * bridge/jni/v8/JavaInstanceV8.cpp:
50684        (JavaInstance::invokeMethod):
50685
506862011-03-09  Andrey Adaikin  <aandrey@google.com>
50687
50688        Reviewed by Pavel Feldman.
50689
50690        Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events
50691        https://bugs.webkit.org/show_bug.cgi?id=55818
50692
50693        * inspector/front-end/TextViewer.js:
50694        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
50695
506962011-03-09  Ilya Tikhonovsky  <loislo@chromium.org>
50697
50698        Reviewed by Yury Semikhatsky.
50699
50700        Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values.
50701        https://bugs.webkit.org/show_bug.cgi?id=55998
50702
50703        * inspector/InjectedScriptSource.js:
50704
507052011-03-09  Pavel Feldman  <pfeldman@chromium.org>
50706
50707        Reviewed by Yury Semikhatsky.
50708
50709        Web Inspector: watch expressions should show string values in quotes.
50710        https://bugs.webkit.org/show_bug.cgi?id=55846
50711
50712        * inspector/InjectedScriptSource.js:
50713        * inspector/front-end/ObjectPropertiesSection.js:
50714        (WebInspector.ObjectPropertyTreeElement.prototype.update):
50715        * inspector/front-end/RemoteObject.js:
50716        (WebInspector.LocalJSONObject.prototype.get description):
50717        * inspector/front-end/WatchExpressionsSidebarPane.js:
50718        (WebInspector.WatchExpressionsSection.prototype.update):
50719        * inspector/front-end/inspector.css:
50720        (.console-formatted-string, .console-formatted-regexp):
50721
507222011-03-09  Pavel Feldman  <pfeldman@chromium.org>
50723
50724        Reviewed by Yury Semikhatsky.
50725
50726        Web Inspector: "length" getter is invoked upon console object formatting.
50727        https://bugs.webkit.org/show_bug.cgi?id=55220
50728
50729        * inspector/InjectedScriptSource.js:
50730
507312011-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
50732
50733        Reviewed by Pavel Feldman.
50734
50735        Web Inspector: remove groupName from objectId.
50736        https://bugs.webkit.org/show_bug.cgi?id=55825
50737
50738        * inspector/InjectedScriptSource.js:
50739
507402011-03-08  Xiaomei Ji  <xji@chromium.org>
50741
50742        Reviewed by David Hyatt.
50743
50744        Fix Regression: Content not drawn when scrolling horizontally in an RTL page.
50745        https://bugs.webkit.org/show_bug.cgi?id=55077.
50746
50747        Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position
50748        is negative, should include the position value into overhang rectangle's
50749        starting position.
50750
50751        Tests: fast/dom/scroll-reveal-left-overflow.html
50752               fast/dom/scroll-reveal-top-overflow.html
50753
50754        * platform/ScrollView.cpp:
50755        (WebCore::ScrollView::calculateOverhangAreasForPainting):
50756
507572011-03-08  Daniel Bates  <dbates@rim.com>
50758
50759        Reviewed by Darin Adler.
50760
50761        Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
50762        https://bugs.webkit.org/show_bug.cgi?id=55351
50763
50764        By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
50765        can be called on an array A without the caller explicitly specifying the size of A.
50766
50767        No functionality was changed. So no new tests.
50768
50769        * css/CSSMutableStyleDeclaration.cpp:
50770        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of
50771        CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}().
50772        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size"
50773        to better reflect its purpose - to be the size of the passed array.
50774        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto.
50775        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
50776        (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue().
50777        * css/CSSMutableStyleDeclaration.h:
50778        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine
50779        the size of a passed array. Changed type of second argument to size_t since it represents the size of
50780        an array.
50781        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
50782        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto.
50783
507842011-03-08  Enrica Casucci  <enrica@apple.com>
50785
50786        Reviewed by Darin Adler.
50787
50788        REGRESSION: Copied content loses formatting on paste to external apps.
50789        https://bugs.webkit.org/show_bug.cgi?id=47615
50790        <rdar://problem/9001214>
50791
50792        This is a resubmission of a patch that was landed a while ago then rolled
50793        back because of a build failure on SnowLeopard and Leopard on the 32-bit builds.
50794
50795        This patch adds a way for WebKit2 to create NSAttributedStrings from
50796        a DOM range without using the AppKit api initWithDOMRange that internally
50797        needs to access the WebView. The NSAttributedString is needed to create
50798        RTF formats in the pasteboard.
50799        This is to be considered a first step, since in the future we want to have
50800        an implementation based on the TextIterator.
50801        * WebCore.xcodeproj/project.pbxproj:
50802        * platform/mac/HTMLConverter.h: Added.
50803        * platform/mac/HTMLConverter.mm: Added.
50804        * platform/mac/PasteboardMac.mm:
50805        (WebCore::Pasteboard::writeSelection):
50806
508072011-03-08  James Robinson  <jamesr@chromium.org>
50808
50809        Reviewed by Kenneth Russell.
50810
50811        [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl
50812        https://bugs.webkit.org/show_bug.cgi?id=55900
50813
50814        This adds an explicit step to synchronize properties from
50815        LayerChromiums to their corresponding CCLayerImpls.
50816
50817        * platform/graphics/chromium/LayerChromium.cpp:
50818        (WebCore::LayerChromium::setBounds):
50819        * platform/graphics/chromium/LayerChromium.h:
50820        (WebCore::LayerChromium::bounds):
50821        (WebCore::LayerChromium::doubleSided):
50822        (WebCore::LayerChromium::setDoubleSided):
50823        * platform/graphics/chromium/LayerRendererChromium.cpp:
50824        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
50825        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
50826        (WebCore::CCLayerImpl::CCLayerImpl):
50827        (WebCore::CCLayerImpl::updateFromLayer):
50828        (WebCore::CCLayerImpl::descendantsDrawsContent):
50829        * platform/graphics/chromium/cc/CCLayerImpl.h:
50830        (WebCore::CCLayerImpl::anchorPoint):
50831        (WebCore::CCLayerImpl::anchorPointZ):
50832        (WebCore::CCLayerImpl::masksToBounds):
50833        (WebCore::CCLayerImpl::opacity):
50834        (WebCore::CCLayerImpl::position):
50835        (WebCore::CCLayerImpl::preserves3D):
50836        (WebCore::CCLayerImpl::sublayerTransform):
50837        (WebCore::CCLayerImpl::transform):
50838
508392011-03-08  James Robinson  <jamesr@chromium.org>
50840
50841        Chromium compile fix.
50842
50843        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
50844        (WebCore::SimpleFontData::platformInit):
50845
508462011-03-08  Peter Kasting  <pkasting@google.com>
50847
50848        Reviewed by James Robinson.
50849
50850        Unify Windows version checks, part 1.
50851        https://bugs.webkit.org/show_bug.cgi?id=55979
50852
50853        Make everyone (I hope) pull in SystemInfo.cpp.  Eliminate the
50854        now-unnecessary WindowsVersion.cpp from Chromium.
50855
50856        * GNUmakefile.am:
50857        * WebCore.gyp/WebCore.gyp:
50858        * WebCore.gypi:
50859        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
50860        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
50861        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
50862        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
50863        * platform/chromium/WindowsVersion.cpp: Removed.
50864        * platform/chromium/WindowsVersion.h: Removed.
50865        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
50866        (WebCore::fillBMPGlyphs):
50867        * rendering/RenderThemeChromiumWin.cpp:
50868        (WebCore::getNonClientMetrics):
50869
508702011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50871
50872        Chromium Linux build fix attempt after r80582.
50873
50874        * platform/graphics/chromium/FontLinux.cpp:
50875        (WebCore::Font::drawGlyphs):
50876        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
50877        (WebCore::SimpleFontData::platformInit):
50878        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
50879        (WebCore::GlyphPage::fill):
50880
508812011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50882
50883        Mac build fix attempt for r80582.
50884
50885        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
50886        (WebCore::disableLigatures):
50887
508882011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50889
50890        Reviewed by Kent Tamura.
50891
50892        Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection
50893        https://bugs.webkit.org/show_bug.cgi?id=54937
50894
50895        * editing/SelectionController.cpp:
50896        (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain
50897        the document. Also restrained the lifetime of document variable.
50898        (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode()
50899        to determine whether or not position becomes null after removing a node.
50900        (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container
50901        so call containerNode() instead of deprecatedNode().
50902        (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer()
50903        instead of deprecatedNode() and deprecatedEditingOffset() respectively.
50904        (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode()
50905        instead of deprecatedNode to determine whether or not selection inside a password field. Also assert
50906        that the specified position is not before or after the shadow root as it violates our assumption.
50907        * editing/VisibleSelection.cpp:
50908        (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
50909        and deprecatedEditingOffset() respectively because start is always parent anchored and therefore
50910        guaranteed to be an offset inside an anchor node.
50911        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode()
50912        instead of deprecatedNode() to look for the lowest editable ancestor because position before or after
50913        an editable element isn't editable.
50914        * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
50915        and deprecatedEditingOffset() respectively in the following functions because they are exposed to
50916        DOM, which doesn't have before/after concept.
50917        (WebCore::DOMSelection::anchorNode):
50918        (WebCore::DOMSelection::anchorOffset):
50919        (WebCore::DOMSelection::focusNode):
50920        (WebCore::DOMSelection::focusOffset):
50921        (WebCore::DOMSelection::baseNode):
50922        (WebCore::DOMSelection::baseOffset):
50923        (WebCore::DOMSelection::extentNode):
50924        (WebCore::DOMSelection::extentOffset):
50925
509262011-03-08  Brent Fulgham  <bfulgham@webkit.org>
50927
50928        Reviewed by Adam Roben.
50929
50930        Correct uninitialized variable in PolicyCallback found while
50931        running WebKit in BoundsChecker.
50932        https://bugs.webkit.org/show_bug.cgi?id=45199.
50933
50934        * loader/PolicyCallback.cpp:
50935        (WebCore::PolicyCallback::PolicyCallback): Initialize
50936        m_argument.
50937
509382011-03-08  Brent Fulgham  <bfulgham@webkit.org>
50939
50940        More build bustage fix.
50941
50942        * platform/graphics/win/cairo/FontPlatformData.h:
50943        (WebCore::FontPlatformData::setOrientation): Duplicate accessor
50944        in WinCairo-local header.  This is such a mess!
50945
509462011-03-08  David Hyatt  <hyatt@apple.com>
50947
50948        Fix build bustage.  Hide orientation setting behind a setter and stub it out in all
50949        FontPlatformData classes.  (This class really needs to move to a common header with ifdefs.)
50950
50951        * platform/graphics/SimpleFontData.cpp:
50952        (WebCore::SimpleFontData::verticalRightOrientationFontData):
50953        * platform/graphics/cg/FontPlatformData.h:
50954        (WebCore::FontPlatformData::setOrientation):
50955        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
50956        (WebCore::FontPlatformData::setOrientation):
50957        * platform/graphics/chromium/FontPlatformDataLinux.h:
50958        (WebCore::FontPlatformData::setOrientation):
50959        * platform/graphics/cocoa/FontPlatformData.h:
50960        (WebCore::FontPlatformData::setOrientation):
50961        * platform/graphics/freetype/FontPlatformData.h:
50962        (WebCore::FontPlatformData::setOrientation):
50963        * platform/graphics/qt/FontPlatformData.h:
50964        (WebCore::FontPlatformData::setOrientation):
50965        * platform/graphics/wince/FontPlatformData.h:
50966        (WebCore::FontPlatformData::setOrientation):
50967        * platform/graphics/wx/FontPlatformData.h:
50968        (WebCore::FontPlatformData::setOrientation):
50969
509702011-03-08  Joe Wild  <joseph.wild@nokia.com>
50971
50972        Reviewed by Csaba Osztrogonác.
50973
50974        [Qt] Missing SVG variables
50975        https://bugs.webkit.org/show_bug.cgi?id=32941
50976
50977        Basically, this patch just modifies features.pri to the Qt build to
50978        pass on the ENABLE_SVG_* flags to the IDL binding generator.
50979
50980        Also I had remove global-construtors.html from the skip list and
50981        updated the associated expected results files.
50982
50983        * features.pri:
50984        * page/DOMWindow.idl:
50985
509862011-03-08  Alok priyadarshi  <alokp@chromium.org>
50987
50988        Reviewed by Dimitri Glazkov.
50989
50990        Plugins needs a way to trigger style recalc
50991        https://bugs.webkit.org/show_bug.cgi?id=55242
50992
50993        No test needed. A simple get function is added.
50994
50995        * platform/graphics/chromium/PluginLayerChromium.h:
50996        (WebCore::PluginLayerChromium::getTextureId):
50997
509982011-03-08  David Hyatt  <hyatt@apple.com>
50999
51000        Reviewed by Dan Bernstein.
51001
51002        https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property.
51003
51004        This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright.
51005        The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation).
51006
51007        Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and
51008        uprightOrientation fallback font data.  Vertical right is just implemented as a normal horizontal font.  Upright is implemented as a
51009        vertically oriented font that rotates all glyphs.
51010
51011        The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to
51012        a vertical right facing.  This means that you can use those special vertical glyphs for vertical-right orientation without having to
51013        fall back, but then for upright orientation you have to ignore them and still fall back.  As you can see from the test case, this doesn't
51014        work very well, but hopefully it won't be all that common.  Limitations of CoreText prevent this case from rendering properly in either the
51015        simple or complex code paths, although the simple code path at least gets close.
51016
51017        Added fast/blockflow/text-orientation-basic.html
51018
51019        * WebCore.exp.in:
51020        * WebCore.xcodeproj/project.pbxproj:
51021        * css/CSSComputedStyleDeclaration.cpp:
51022        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51023        * css/CSSFontFaceSource.cpp:
51024        (WebCore::CSSFontFaceSource::getFontData):
51025        * css/CSSParser.cpp:
51026        (WebCore::CSSParser::parseValue):
51027        * css/CSSPrimitiveValueMappings.h:
51028        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51029        (WebCore::CSSPrimitiveValue::operator TextOrientation):
51030        * css/CSSPropertyNames.in:
51031        * css/CSSStyleSelector.cpp:
51032        (WebCore::CSSStyleSelector::applyDeclarations):
51033        (WebCore::CSSStyleSelector::applyProperty):
51034        * css/CSSValueKeywords.in:
51035        * loader/cache/CachedFont.cpp:
51036        (WebCore::CachedFont::platformDataFromCustomData):
51037        * loader/cache/CachedFont.h:
51038        * platform/graphics/FontCache.cpp:
51039        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
51040        (WebCore::FontPlatformDataCacheKey::operator==):
51041        (WebCore::computeHash):
51042        (WebCore::FontCache::getCachedFontPlatformData):
51043        * platform/graphics/FontDescription.h:
51044        (WebCore::FontDescription::FontDescription):
51045        (WebCore::FontDescription::textOrientation):
51046        (WebCore::FontDescription::setTextOrientation):
51047        (WebCore::FontDescription::operator==):
51048        * platform/graphics/FontFastPath.cpp:
51049        (WebCore::Font::glyphDataForCharacter):
51050        (WebCore::offsetToMiddleOfGlyph):
51051        * platform/graphics/SimpleFontData.cpp:
51052        (WebCore::SimpleFontData::SimpleFontData):
51053        (WebCore::SimpleFontData::verticalRightOrientationFontData):
51054        (WebCore::SimpleFontData::uprightOrientationFontData):
51055        (WebCore::SimpleFontData::brokenIdeographFontData):
51056        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
51057        * platform/graphics/SimpleFontData.h:
51058        (WebCore::SimpleFontData::hasVerticalGlyphs):
51059        (WebCore::SimpleFontData::isTextOrientationFallback):
51060        * platform/graphics/cairo/FontCustomPlatformData.h:
51061        * platform/graphics/cocoa/FontPlatformData.h:
51062        (WebCore::FontPlatformData::FontPlatformData):
51063        (WebCore::FontPlatformData::textOrientation):
51064        (WebCore::FontPlatformData::hash):
51065        (WebCore::FontPlatformData::operator==):
51066        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
51067        (WebCore::FontPlatformData::FontPlatformData):
51068        (WebCore::FontPlatformData::operator=):
51069        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
51070        (WebCore::FontCustomPlatformData::fontPlatformData):
51071        * platform/graphics/haiku/FontCustomPlatformData.cpp:
51072        (WebCore::FontCustomPlatformData::fontPlatformData):
51073        * platform/graphics/haiku/FontCustomPlatformData.h:
51074        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
51075        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
51076        * platform/graphics/mac/FontCacheMac.mm:
51077        (WebCore::FontCache::createFontPlatformData):
51078        * platform/graphics/mac/FontCustomPlatformData.cpp:
51079        (WebCore::FontCustomPlatformData::fontPlatformData):
51080        * platform/graphics/mac/FontCustomPlatformData.h:
51081        * platform/graphics/mac/FontMac.mm:
51082        (WebCore::showGlyphsWithAdvances):
51083        (WebCore::Font::drawGlyphs):
51084        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
51085        (WebCore::shouldUseCoreText):
51086        (WebCore::GlyphPage::fill):
51087        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
51088        (WebCore::SimpleFontData::getCFStringAttributes):
51089        * platform/graphics/mac/SimpleFontDataMac.mm:
51090        (WebCore::SimpleFontData::platformInit):
51091        (WebCore::SimpleFontData::platformBoundsForGlyph):
51092        (WebCore::SimpleFontData::platformWidthForGlyph):
51093        * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
51094        (WebCore::FontCustomPlatformData::fontPlatformData):
51095        * platform/graphics/qt/FontCustomPlatformData.h:
51096        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
51097        (WebCore::FontCustomPlatformData::fontPlatformData):
51098        * platform/graphics/skia/FontCustomPlatformData.cpp:
51099        (WebCore::FontCustomPlatformData::fontPlatformData):
51100        * platform/graphics/skia/FontCustomPlatformData.h:
51101        * platform/graphics/win/FontCustomPlatformData.cpp:
51102        (WebCore::FontCustomPlatformData::fontPlatformData):
51103        * platform/graphics/win/FontCustomPlatformData.h:
51104        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
51105        (WebCore::FontCustomPlatformData::fontPlatformData):
51106        * platform/graphics/win/FontCustomPlatformDataCairo.h:
51107        * platform/graphics/wince/FontCustomPlatformData.cpp:
51108        (WebCore::FontCustomPlatformData::fontPlatformData):
51109        * platform/graphics/wince/FontCustomPlatformData.h:
51110        * platform/text/TextOrientation.h: Added.
51111        * rendering/InlineFlowBox.cpp:
51112        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
51113        * rendering/style/RenderStyle.h:
51114        (WebCore::InheritedFlags::initialTextOrientation):
51115
511162011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
51117
51118        Reviewed by Darin Adler.
51119
51120        addInlineStyleIfNeeded should take EditingStyle
51121        https://bugs.webkit.org/show_bug.cgi?id=55950
51122
51123        Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init.
51124        Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle.
51125
51126        * editing/ApplyStyleCommand.cpp:
51127        (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration.
51128        (WebCore::StyleChange::init): Ditto.
51129        (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange.
51130        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded.
51131        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode.
51132        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement
51133        instead of manually merging styles.
51134        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded.
51135        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration.
51136        * editing/ApplyStyleCommand.h:
51137        * editing/CompositeEditCommand.h:
51138        * editing/EditingStyle.cpp:
51139        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle.
51140        * editing/EditingStyle.h:
51141
511422011-03-08  Nico Weber  <thakis@chromium.org>
51143
51144        Reviewed by James Robinson.
51145
51146        Crash on big blur radius with canvas
51147        https://bugs.webkit.org/show_bug.cgi?id=55951
51148
51149        Move the clamping code out of an if branch, so that it happens in the
51150        canvas case as well.
51151
51152        Test: fast/canvas/shadow-huge-blur.html
51153
51154        * platform/graphics/cg/GraphicsContextCG.cpp:
51155        (WebCore::GraphicsContext::setPlatformShadow):
51156
511572011-03-08  Chris Fleizach  <cfleizach@apple.com>
51158
51159        Reviewed by Sam Weinig.
51160
51161        WK2: Cannot set focus on an element when focus is outside of WKView
51162        https://bugs.webkit.org/show_bug.cgi?id=55281
51163
51164        In WK2, focus cannot be set from the WebProcess side because there's no platformWidget().
51165        Instead, the focus/unfocus messages need to be sent to the UIProcess side.
51166
51167        * platform/mac/WidgetMac.mm:
51168        (WebCore::Widget::setFocus):
51169
511702011-03-08  Sam Weinig  <sam@webkit.org>
51171
51172        Reviewed by Anders Carlsson.
51173
51174        Overflow: scroll areas should not paint white in scroll corner if the
51175        scrollbars are overlay.
51176        <rdar://problem/9082871>
51177
51178        * rendering/RenderLayer.cpp:
51179        (WebCore::RenderLayer::paintScrollCorner):
51180        Don't paint the scroll corner white if we have overlay scrollbars.
51181
511822011-03-08  Chris Marrin  <cmarrin@apple.com>
51183
51184        Reviewed by Darin Adler.
51185
51186        The first time animations are committed they have a bad start time
51187        https://bugs.webkit.org/show_bug.cgi?id=55947
51188
51189        Do a check for a returned lastCommitTime of <=0 and replace it
51190        with the mediaTime.
51191
51192
51193        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
51194        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
51195
511962011-03-08  James Kozianski  <koz@chromium.org>
51197
51198        Reviewed by David Levin.
51199
51200        Expose isValidProtocol() in KURL.h.
51201        https://bugs.webkit.org/show_bug.cgi?id=54594
51202
51203        This is needed to validate protocols used in calls to
51204        navigator.registerProtocolHandler().
51205
51206        * platform/KURL.cpp:
51207        * platform/KURL.h:
51208        * platform/KURLGoogle.cpp:
51209        (WebCore::isValidProtocol):
51210
512112011-03-08  Adam Roben  <aroben@apple.com>
51212
51213        Set svn:mime-type to text/css for all Inspector CSS files
51214
51215        This will cause them to be served with the correct MIME type from svn.webkit.org's web
51216        interface.
51217
51218        Rubber-stamped by Tim Hatcher.
51219
51220        * inspector/front-end/audits.css: Added property svn:mime-type.
51221        * inspector/front-end/goToLineDialog.css: Added property svn:mime-type.
51222        * inspector/front-end/heapProfiler.css: Added property svn:mime-type.
51223        * inspector/front-end/helpScreen.css: Added property svn:mime-type.
51224        * inspector/front-end/inspector.css: Added property svn:mime-type.
51225        * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type.
51226        * inspector/front-end/networkPanel.css: Added property svn:mime-type.
51227        * inspector/front-end/popover.css: Added property svn:mime-type.
51228        * inspector/front-end/textViewer.css: Added property svn:mime-type.
51229
512302011-03-08  Andrei Popescu  <andreip@google.com>
51231
51232        Reviewed by Steve Block.
51233
51234        IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed.
51235        https://bugs.webkit.org/show_bug.cgi?id=55938
51236
51237        The IndexedDatabase specification changed and IDBIndex objects are no
51238        longer created asynchronously. We therefore no longer need this method.
51239
51240        No new tests, just cleanup.
51241
51242        * storage/IDBCallbacks.h:
51243        * storage/IDBRequest.cpp:
51244        * storage/IDBRequest.h:
51245
512462011-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
51247
51248        Unreviewed, rolling out r80551.
51249        http://trac.webkit.org/changeset/80551
51250        https://bugs.webkit.org/show_bug.cgi?id=55933
51251
51252        It broke 285 tests on Qt bot (Requested by Ossy on #webkit).
51253
51254        * WebCore.pro:
51255        * platform/SharedBuffer.cpp:
51256        * platform/SharedBuffer.h:
51257        * platform/network/qt/QNetworkReplyHandler.cpp:
51258        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
51259        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51260        (WebCore::QNetworkReplyHandler::forwardData):
51261        (WebCore::QNetworkReplyHandler::start):
51262        * platform/network/qt/QNetworkReplyHandler.h:
51263        * platform/network/qt/ResourceHandleQt.cpp:
51264        (WebCore::ResourceHandle::supportsBufferedData):
51265        (WebCore::ResourceHandle::bufferedData):
51266        * platform/qt/QtByteBlock.cpp: Removed.
51267        * platform/qt/QtByteBlock.h: Removed.
51268        * platform/qt/SharedBufferQt.cpp:
51269
512702011-03-08  Andreas Kling  <kling@webkit.org>
51271
51272        Reviewed by Benjamin Poulain.
51273
51274        RenderObject: Pass complex type arguments as const-references.
51275
51276        * WebCore.exp.in:
51277        * rendering/RenderObject.h:
51278        * rendering/RenderObject.cpp:
51279        (WebCore::RenderObject::drawBoxSideFromPath):
51280        (WebCore::RenderObject::drawArcForBoxSide):
51281        (WebCore::RenderObject::localToAbsolute):
51282        (WebCore::RenderObject::absoluteToLocal):
51283
512842011-03-08  Andreas Kling  <kling@webkit.org>
51285
51286        Reviewed by Antonio Gomes.
51287
51288        Path: Make measurement functions const
51289        https://bugs.webkit.org/show_bug.cgi?id=55914
51290
51291        * platform/graphics/Path.cpp:
51292        (WebCore::Path::length):
51293        (WebCore::Path::pointAtLength):
51294        (WebCore::Path::normalAngleAtLength):
51295        * platform/graphics/Path.h:
51296        * platform/graphics/cairo/PathCairo.cpp:
51297        (WebCore::Path::strokeBoundingRect):
51298        * platform/graphics/cg/PathCG.cpp:
51299        (WebCore::Path::strokeBoundingRect):
51300        * platform/graphics/openvg/PathOpenVG.cpp:
51301        (WebCore::Path::strokeBoundingRect):
51302        (WebCore::Path::length):
51303        (WebCore::Path::pointAtLength):
51304        (WebCore::Path::normalAngleAtLength):
51305        * platform/graphics/qt/PathQt.cpp:
51306        (WebCore::Path::strokeBoundingRect):
51307        (WebCore::Path::length):
51308        (WebCore::Path::pointAtLength):
51309        (WebCore::Path::normalAngleAtLength):
51310        * platform/graphics/skia/PathSkia.cpp:
51311        (WebCore::Path::strokeBoundingRect):
51312        * platform/graphics/wince/PathWinCE.cpp:
51313        (WebCore::Path::strokeBoundingRect):
51314        * platform/graphics/wx/PathWx.cpp:
51315        (WebCore::Path::strokeBoundingRect):
51316
513172011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
51318
51319        Reviewed by Martin Robinson.
51320
51321        [GTK] Do not set juntion sides on scrollbar stepper buttons
51322        https://bugs.webkit.org/show_bug.cgi?id=55868
51323
51324        Fixes rendering of steppers for themes using rounded stepper
51325        buttons on scrollbars like Adwaita.
51326
51327        * platform/gtk/ScrollbarThemeGtk3.cpp:
51328        (WebCore::ScrollbarThemeGtk::paintButton):
51329
513302011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
51331
51332        Reviewed by Martin Robinson.
51333
51334        [GTK] Use doubles instead of integers for coordinates when rendering arrows
51335        https://bugs.webkit.org/show_bug.cgi?id=55866
51336
51337        To prevent off-by-one rounding errors.
51338
51339        * platform/gtk/RenderThemeGtk3.cpp:
51340        (WebCore::RenderThemeGtk::paintMenuList):
51341        * platform/gtk/ScrollbarThemeGtk3.cpp:
51342        (WebCore::ScrollbarThemeGtk::paintButton):
51343
513442011-03-08  Markus Goetz  <guruz@guruz.de>
51345
51346        Reviewed by Kenneth Rohde Christiansen.
51347
51348        [Qt] Use the QNetworkAccessManager zerocopy feature
51349        https://bugs.webkit.org/show_bug.cgi?id=50082
51350
51351        The feature will be introduced in Qt 4.8.
51352        This patch is backwards compatible with Qt 4.7.
51353
51354        * WebCore.pro:
51355        * platform/SharedBuffer.cpp:
51356        * platform/SharedBuffer.h:
51357        * platform/network/qt/QNetworkReplyHandler.cpp:
51358        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
51359        (WebCore::QNetworkReplyHandler::bufferedData):
51360        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51361        (WebCore::QNetworkReplyHandler::downloadProgress):
51362        (WebCore::QNetworkReplyHandler::forwardData):
51363        (WebCore::QNetworkReplyHandler::start):
51364        * platform/network/qt/QNetworkReplyHandler.h:
51365        * platform/network/qt/ResourceHandleQt.cpp:
51366        (WebCore::ResourceHandle::supportsBufferedData):
51367        (WebCore::ResourceHandle::bufferedData):
51368        * platform/qt/SharedBufferQt.cpp:
51369        (WebCore::SharedBuffer::wrapQtByteBlock):
51370        (WebCore::SharedBuffer::hasPlatformData):
51371        (WebCore::SharedBuffer::platformData):
51372        (WebCore::SharedBuffer::platformDataSize):
51373        (WebCore::SharedBuffer::maybeTransferPlatformData):
51374        (WebCore::SharedBuffer::clearPlatformData):
51375
513762011-03-08  Alejandro G. Castro  <alex@igalia.com>
51377
51378        Reviewed by Martin Robinson.
51379
51380        [GTK] Fix compilation warnings after r80429
51381        https://bugs.webkit.org/show_bug.cgi?id=55864
51382
51383        * platform/gtk/WidgetGtk.cpp:
51384
513852011-03-08  Philippe Normand  <pnormand@igalia.com>
51386
51387        Unreviewed, GTK build fix after r80536
51388
51389        * GNUmakefile.am:
51390
513912011-03-08  Zan Dobersek  <zandobersek@gmail.com>
51392
51393        Reviewed by Martin Robinson.
51394
51395        [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer
51396        https://bugs.webkit.org/show_bug.cgi?id=55878
51397
51398        Multiply the quality parameter by 100 to put it in the range [0, 100] as needed
51399        when saving GdkPixbuf to a buffer.
51400
51401        * platform/graphics/gtk/ImageBufferGtk.cpp:
51402        (WebCore::ImageBuffer::toDataURL):
51403
514042011-03-07  Daniel Cheng  <dcheng@chromium.org>
51405
51406        Unreviewed.
51407
51408        Final build fix for r80536.
51409
51410        * DerivedSources.make:
51411
514122011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
51413
51414        Reviewed by Kent Tamura.
51415
51416        [EFL] Adjust functions of WebCore's efl port to WebKit coding style
51417        https://bugs.webkit.org/show_bug.cgi?id=55924
51418
51419        Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files.
51420
51421        * platform/efl/PlatformKeyboardEventEfl.cpp:
51422        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
51423        * platform/efl/PlatformMouseEventEfl.cpp:
51424        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
51425        * platform/efl/WidgetEfl.cpp:
51426        (WebCore::Widget::frameRectsChanged):
51427        (WebCore::Widget::setEvasObject):
51428
514292011-03-07  Daniel Cheng  <dcheng@chromium.org>
51430
51431        Unreviewed.
51432
51433        More build fixes for r80536.
51434
51435        * CMakeLists.txt:
51436        * platform/chromium/ClipboardChromium.cpp:
51437        * platform/chromium/ClipboardChromium.h:
51438
514392011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
51440
51441        Reviewed by Antonio Gomes.
51442
51443        [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style
51444        https://bugs.webkit.org/show_bug.cgi?id=55917
51445
51446        Adjust webkit style to ScrollbarEfl files.
51447
51448        * platform/efl/ScrollbarEfl.cpp:
51449        (scrollbarEflEdjeMessage):
51450        (ScrollbarEfl::setParent):
51451        (ScrollbarEfl::updateThumbPositionAndProportion):
51452        (ScrollbarEfl::frameRectsChanged):
51453        (ScrollbarEfl::paint):
51454        * platform/efl/ScrollbarEfl.h:
51455
514562011-03-07  Daniel Cheng  <dcheng@chromium.org>
51457
51458        Unreviewed.
51459
51460        Build fix for Chromium after r80536.
51461
51462        * platform/chromium/DataTransferItemChromium.cpp:
51463        * platform/chromium/DataTransferItemsChromium.cpp:
51464
514652011-03-07  Daniel Cheng  <dcheng@chromium.org>
51466
51467        Unreviewed.
51468
51469        More build fixes for r80536.
51470
51471        * CMakeLists.txt:
51472        * platform/chromium/ClipboardChromium.cpp:
51473        * platform/chromium/ClipboardChromium.h:
51474
514752011-03-07  Daniel Cheng  <dcheng@chromium.org>
51476
51477        Reviewed by David Levin.
51478
51479        Add support for DataTransferItems
51480        https://bugs.webkit.org/show_bug.cgi?id=55115
51481
51482        This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the
51483        basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile,
51484        all functionality on the DataTransferItems collection has been implemented.
51485        This change does not actually hook up DataTransferItems to reflect the actual contents of a
51486        drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be
51487        enabled via several followup patches.
51488
51489        Test: editing/pasteboard/data-transfer-items.html
51490
51491        * Android.mk:
51492        * CMakeLists.txt:
51493        * CodeGenerators.pri:
51494        * DerivedSources.cpp:
51495        * DerivedSources.make:
51496        * GNUmakefile.am:
51497        * WebCore.gypi:
51498        * WebCore.pro:
51499        * WebCore.vcproj/WebCore.vcproj:
51500        * WebCore.xcodeproj/project.pbxproj:
51501        * bindings/generic/RuntimeEnabledFeatures.cpp:
51502        * bindings/generic/RuntimeEnabledFeatures.h:
51503        (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
51504        (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
51505        * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in.
51506        * dom/Clipboard.h:
51507        (WebCore::Clipboard::policy):
51508        * dom/Clipboard.idl:
51509        * dom/DataTransferItem.cpp: Added.
51510        * dom/DataTransferItem.h: Added.
51511        (WebCore::DataTransferItem::~DataTransferItem):
51512        * dom/DataTransferItem.idl: Added.
51513        * dom/DataTransferItems.h: Added.
51514        (WebCore::DataTransferItems::~DataTransferItems):
51515        * dom/DataTransferItems.idl: Added.
51516        * dom/StringCallback.cpp: Added.
51517        (WebCore::StringCallback::scheduleCallback):
51518        * dom/StringCallback.h: Added.
51519        (WebCore::StringCallback::~StringCallback):
51520        * dom/StringCallback.idl: Added.
51521        * platform/chromium/ClipboardChromium.cpp:
51522        (WebCore::ClipboardChromium::items):
51523        * platform/chromium/ClipboardChromium.h:
51524        * platform/chromium/DataTransferItemChromium.cpp: Added.
51525        (WebCore::DataTransferItemChromium::create):
51526        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
51527        (WebCore::DataTransferItemChromium::kind):
51528        (WebCore::DataTransferItemChromium::type):
51529        (WebCore::DataTransferItemChromium::getAsString):
51530        * platform/chromium/DataTransferItemChromium.h: Added.
51531        * platform/chromium/DataTransferItemsChromium.cpp: Added.
51532        (WebCore::DataTransferItemsChromium::create):
51533        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
51534        (WebCore::DataTransferItemsChromium::length):
51535        (WebCore::DataTransferItemsChromium::item):
51536        (WebCore::DataTransferItemsChromium::deleteItem):
51537        (WebCore::DataTransferItemsChromium::clear):
51538        (WebCore::DataTransferItemsChromium::add):
51539        * platform/chromium/DataTransferItemsChromium.h: Added.
51540
515412011-03-07  Ryosuke Niwa  <rniwa@webkit.org>
51542
51543        Reviewed by Darin Adler.
51544
51545        selectionHasStyle and selectionStartHasStyle should use EditingStyle
51546        https://bugs.webkit.org/show_bug.cgi?id=55902
51547
51548        Deployed EditingStyle in selectionHasStyle and selectionStartHasStyle.
51549        This allowed us to move triStateOfStyle from Editor.cpp to EditingStyle.cpp.
51550
51551        Also changed the argument lists of selectionHasStyle and selectionStartHasStyle
51552        to take a property id and a value instead of a CSSMutableStyleDeclaration to cleanup
51553        call sites of these two functions.
51554
51555        * WebCore.exp.in: Updated the signature of selectionHasStyle. No longer exports
51556        selectionStartHasStyle because it's not called anywhere outside of WebCore.
51557        * WebCore.order: Ditto.
51558        * editing/EditingStyle.cpp:
51559        (WebCore::EditingStyle::EditingStyle): Added a new constructor that takes a property id
51560        and a property value.
51561        (WebCore::EditingStyle::triStateOfStyle): Moved from Editor.cpp.
51562        * editing/EditingStyle.h:
51563        (WebCore::EditingStyle::create): Added.
51564        * editing/Editor.cpp:
51565        (WebCore::Editor::selectionStartHasStyle): Takes a property id and a value instead of
51566        a CSSStyleDeclaration.
51567        (WebCore::Editor::selectionHasStyle): Ditto.
51568        * editing/Editor.h: Updated the signatures of selectionStartHasStyle and selectionHasStyle.
51569        * editing/EditorCommand.cpp:
51570        (WebCore::executeToggleStyle): Calls selectionStartHasStyle and selectionHasStyle.
51571        (WebCore::stateStyle): Ditto.
51572        * page/ContextMenuController.cpp:
51573        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
51574
515752011-03-07  Alexey Proskuryakov  <ap@apple.com>
51576
51577        Reviewed by Darin Adler.
51578
51579        REGRESSION (HTML5 tree builder): Text selection in a large text document is extremely slow
51580        https://bugs.webkit.org/show_bug.cgi?id=55898
51581
51582        <rdar://problem/9095839> REGRESSION: Mail hangs with a certain large mail message when
51583        linkifying e-mail addresses in in -[DOMCharacterData setData:]
51584
51585        Changes render tree of fast/text/large-text-composed-char.html, but not image results.
51586
51587        * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData):
51588        Changed parserAppendData() to accept a maximum length, and moved code from Text::createWithLengthLimit().
51589
51590        * dom/CharacterData.h: Moved a constant for maximum length from Text.h.
51591
51592        * dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
51593        * dom/Text.h:
51594        This function was unused in ToT. Moved code around to share with CharacterData.
51595
51596        * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertTextNode):
51597        Chnaged to split large text nodes while parsing again.
51598
515992011-03-07  Alice Boxhall  <aboxhall@chromium.org>
51600
51601        Reviewed by Adam Barth.
51602
51603        Fix platform/image-encoders/JPEGImageEncoder.cpp empty_output_buffer() behaviour
51604        https://bugs.webkit.org/show_bug.cgi?id=54522
51605
51606        Fix jpegEmptyOutputBuffer() by ignoring free_in_buffer value as required.
51607
51608        No new tests, as this code is not yet used in WebKit. Once this code is used to implement canvas.toDataUrl(), the canvas tests will exercise it.
51609
51610        * platform/image-encoders/JPEGImageEncoder.cpp:
51611        (WebCore::jpegEmptyOutputBuffer):
51612
516132011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
51614
51615        Reviewed by Eric Seidel.
51616
51617        Add the missing insertedIntoDocument() call in SVGVKernElement and SVGHKernElement
51618        https://bugs.webkit.org/show_bug.cgi?id=55896
51619
51620        Test: svg/dom/vkern-element-crash.html
51621
51622        * svg/SVGHKernElement.cpp:
51623        (WebCore::SVGHKernElement::insertedIntoDocument):
51624        * svg/SVGVKernElement.cpp:
51625        (WebCore::SVGVKernElement::insertedIntoDocument):
51626
516272011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51628
51629        Unreviewed, rolling out r80514.
51630        http://trac.webkit.org/changeset/80514
51631        https://bugs.webkit.org/show_bug.cgi?id=55915
51632
51633        Caused assertion failures (Requested by ukai on #webkit).
51634
51635        * platform/graphics/skia/GraphicsContextSkia.cpp:
51636        (WebCore::GraphicsContext::setPlatformShadow):
51637        * platform/graphics/skia/ImageSkia.cpp:
51638        (WebCore::paintSkBitmap):
51639
516402011-03-07  Cosmin Truta  <ctruta@chromium.org>
51641
51642        Reviewed by Adam Barth.
51643
51644        SVG <image> referenced by <use> is displayed incorrectly
51645        https://bugs.webkit.org/show_bug.cgi?id=55750
51646
51647        The result of sourceURI must use the URL of the enclosing document as base.
51648        Otherwise, the base may sometimes be empty, and, as a consequence,
51649        the intermediate KURL object may be invalid.
51650
51651        Test: svg/custom/use-image-in-g.svg
51652
51653        * svg/SVGImageLoader.cpp:
51654        (WebCore::SVGImageLoader::sourceURI):
51655
516562011-03-07  Helder Correia  <helder@sencha.com>
51657
51658        Reviewed by Simon Fraser.
51659
51660        Shadow is not shown when using strokeRect with a gradient strokeStyle
51661        https://bugs.webkit.org/show_bug.cgi?id=52509
51662
51663        This happens in CG and is related to bug 51869, this time to be fixed
51664        in GraphicsContext::strokeRect(const FloatRect& r, float lineWidth).
51665        We need to draw the gradient clipped to the stroke on a CGLayer first,
51666        and then draw the layer on the GraphicsContext.
51667
51668        Tests: fast/canvas/canvas-strokeRect-gradient-shadow.html
51669               svg/css/rect-gradient-stroke-shadow.svg
51670
51671        * platform/graphics/cg/GraphicsContextCG.cpp:
51672        (WebCore::GraphicsContext::strokeRect):
51673
516742011-03-07  Justin Novosad  <junov@chromium.org>
51675
51676        Reviewed by Kenneth Russell.
51677
51678        Fix for blurs behind bitmap images in Chromium, and boosting
51679        shadow blur quality
51680        Bug URLs:
51681                https://bugs.webkit.org/show_bug.cgi?id=55410
51682                https://bugs.webkit.org/show_bug.cgi?id=55506
51683
51684        No new tests. Covered by existing layout tests.
51685
51686        * platform/graphics/skia/GraphicsContextSkia.cpp:
51687        (WebCore::GraphicsContext::setPlatformShadow): Turn on high quality shadows and fix shadow color
51688        * platform/graphics/skia/ImageSkia.cpp:
51689        (WebCore::paintSkBitmap): Propagate the draw looper from context to painter
51690
516912011-03-07  Andreas Kling  <kling@webkit.org>
51692
51693        Unreviewed Mac build fix after r80508.
51694
51695        * WebCore.exp.in:
51696
516972011-03-07  Enrica Casucci  <enrica@apple.com>
51698
51699        Unreviewed build fix.
51700
51701        Rolling back  http://trac.webkit.org/changeset/80497 due to the
51702        32-bit build failures.
51703
51704        * WebCore.xcodeproj/project.pbxproj:
51705        * platform/mac/HTMLConverter.h: Removed.
51706        * platform/mac/HTMLConverter.mm: Removed.
51707        * platform/mac/PasteboardMac.mm:
51708        (WebCore::Pasteboard::writeSelection):
51709
517102011-03-07  Andreas Kling  <kling@webkit.org>
51711
51712        Reviewed by Benjamin Poulain.
51713
51714        FrameView::setBaseBackgroundColor: Pass Color argument as const-reference.
51715
51716        * page/FrameView.cpp:
51717        (WebCore::FrameView::setBaseBackgroundColor):
51718        * page/FrameView.h:
51719
517202011-03-07  Adam Barth  <abarth@webkit.org>
51721
51722        Reviewed by Dimitri Glazkov.
51723
51724        REGRESSION(r78147): Crash on http://gnarf.net/jquery/test/
51725        https://bugs.webkit.org/show_bug.cgi?id=55894
51726
51727        The m_frame can disappear out from under us, and there's no point in
51728        checking whether the load is complete in a non-existant frame.
51729
51730        Test: fast/parser/document-write-into-initial-document.html
51731
51732        * dom/Document.cpp:
51733        (WebCore::Document::explicitClose):
51734
517352011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51736
51737        Unreviewed, rolling out r80500.
51738        http://trac.webkit.org/changeset/80500
51739        https://bugs.webkit.org/show_bug.cgi?id=55908
51740
51741        Caused mysterious GYP error (Requested by abarth on #webkit).
51742
51743        * WebCore.gyp/WebCore.gyp:
51744        * WebCore.gypi:
51745
517462011-03-07  Adam Barth  <abarth@webkit.org>
51747
51748        Fix Chromium Mac build.  This header should only be included when the
51749        feature is enabled.
51750
51751        * platform/cf/RunLoopTimerCF.cpp:
51752
517532011-03-07  Adam Barth  <abarth@webkit.org>
51754
51755        Reviewed by Dimitri Glazkov.
51756
51757        Add WML files to WebCore.gypi
51758        https://bugs.webkit.org/show_bug.cgi?id=55905
51759
51760        * WebCore.gyp/WebCore.gyp:
51761        * WebCore.gypi:
51762
517632011-03-07  Adrienne Walker  <enne@google.com>
51764
51765        Reviewed by James Robinson.
51766
51767        [chromium] Add missing include to #define Skia parameter
51768        https://bugs.webkit.org/show_bug.cgi?id=55885
51769
51770        * platform/graphics/chromium/ShaderChromium.h:
51771
517722011-03-07  Chris Fleizach  <cfleizach@apple.com>
51773
51774        Reviewed by Beth Dakin.
51775
51776        AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
51777        https://bugs.webkit.org/show_bug.cgi?id=55706
51778
51779        * WebCore.exp.in:
51780        * accessibility/AXObjectCache.cpp:
51781        (WebCore::AXObjectCache::rootObjectForFrame):
51782        * accessibility/AXObjectCache.h:
51783        * accessibility/AccessibilityScrollView.cpp:
51784        (WebCore::AccessibilityScrollView::isAttachment):
51785        (WebCore::AccessibilityScrollView::widgetForAttachmentView):
51786        * accessibility/AccessibilityScrollView.h:
51787        (WebCore::AccessibilityScrollView::firstChild):
51788        * accessibility/mac/AccessibilityObjectWrapper.mm:
51789        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
51790
517912011-03-07  Enrica Casucci  <enrica@apple.com>
51792
51793        Reviewed by Darin Adler.
51794
51795        REGRESSION: Copied content loses formatting on paste to external apps.
51796        https://bugs.webkit.org/show_bug.cgi?id=47615
51797        <rdar://problem/9001214>
51798
51799        This is a resubmission of a patch that was landed a while ago then rolled
51800        back because of a build failure on SnowLeopard and Leopard.
51801
51802        This patch adds a way for WebKit2 to create NSAttributedStrings from
51803        a DOM range without using the AppKit api initWithDOMRange that internally
51804        needs to access the WebView. The NSAttributedString is needed to create
51805        RTF formats in the pasteboard.
51806        This is to be considered a first step, since in the future we want to have
51807        an implementation based on the TextIterator.
51808
51809        * WebCore.xcodeproj/project.pbxproj: Added new file.
51810        * platform/mac/HTMLConverter.h: Added.
51811        * platform/mac/HTMLConverter.mm: Added.
51812        * platform/mac/PasteboardMac.mm:
51813        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
51814        class for WebKit2 to create the NSAttributedString from the DOM range.
51815
518162011-03-07  Adam Barth  <abarth@webkit.org>
51817
51818        Reviewed by Dimitri Glazkov.
51819
51820        Add some missing platform files to WebCore.gypi
51821        https://bugs.webkit.org/show_bug.cgi?id=55897
51822
51823        There are a bunch more, but this is a start.
51824
51825        * WebCore.gyp/WebCore.gyp:
51826        * WebCore.gypi:
51827
518282011-03-07  Steve Block  <steveblock@google.com>
51829
51830        Reviewed by Jeremy Orlow.
51831
51832        Rename JNIBridgeV8.cpp/h to JavaFieldV8.cpp/h
51833        https://bugs.webkit.org/show_bug.cgi?id=55879
51834
51835        No new tests, refactoring only.
51836
51837        * Android.v8bindings.mk:
51838        * WebCore.gypi:
51839        * bridge/jni/v8/JavaClassV8.cpp:
51840        * bridge/jni/v8/JavaClassV8.h:
51841        * bridge/jni/v8/JavaFieldV8.cpp: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.cpp.
51842        (JavaField::JavaField):
51843        * bridge/jni/v8/JavaFieldV8.h: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
51844        (JSC::Bindings::JavaField::name):
51845        (JSC::Bindings::JavaField::type):
51846        (JSC::Bindings::JavaField::getJNIType):
51847        * bridge/jni/v8/JavaInstanceV8.cpp:
51848        * bridge/jni/v8/JavaNPObjectV8.cpp:
51849
518502011-03-07  Daniel Cheng  <dcheng@chromium.org>
51851
51852        Reviewed by Tony Chang.
51853
51854        Add plumbing for paste support to ChromiumDataObject::types()
51855        https://bugs.webkit.org/show_bug.cgi?id=55792
51856
51857        This is a preliminary patch to support event.dataTransfer.items. This
51858        adds plumbing to support retrieving the types in a paste event. It also
51859        moves the check for files in a drag/paste up to ClipboardChromium, since
51860        internal code needs to be able to differentiate between actual files in
51861        a drag and someone that simply decided to use "Files" as a custom type
51862        string.
51863
51864        Test: editing/pasteboard/onpaste-text-html-types.html
51865
51866        * platform/chromium/ChromiumDataObject.cpp:
51867        (WebCore::ChromiumDataObject::types):
51868        (WebCore::ChromiumDataObject::containsFilenames):
51869        * platform/chromium/ChromiumDataObject.h:
51870        * platform/chromium/ClipboardChromium.cpp:
51871        (WebCore::ClipboardChromium::types):
51872        * platform/chromium/ClipboardMimeTypes.cpp:
51873        * platform/chromium/ClipboardMimeTypes.h:
51874
518752011-03-07  Takayoshi Kochi  <kochi@chromium.org>
51876
51877        Reviewed by Tony Chang.
51878
51879        [chromium] Use preferred locale information when choosing fallback
51880        font using fontconfig on Linux platform.
51881        http://bugs.webkit.org/show_bug.cgi?id=55453
51882
51883        No new tests, as it depends on ICU and locale setting, so it will be
51884        covered by Chromium side.
51885
51886        * platform/chromium/PlatformBridge.h:
51887        * platform/graphics/chromium/FontCacheLinux.cpp:
51888
518892011-03-07  Adam Barth  <abarth@webkit.org>
51890
51891        Reviewed by Eric Seidel.
51892
51893        Add gobject, cpp, and objc bindings to WebCore.gypi
51894        https://bugs.webkit.org/show_bug.cgi?id=55892
51895
51896        These are also excluded from the Chromium build but needed for various
51897        other ports.
51898
51899        * WebCore.gyp/WebCore.gyp:
51900        * WebCore.gypi:
51901
519022011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
51903
51904        Reviewed by Dimitri Glazkov.
51905
51906        Node::checkAddChild and Node::checkReplaceChild shouldn't change the owner document of a node
51907        https://bugs.webkit.org/show_bug.cgi?id=55803
51908
51909        Test: fast/dom/dom-method-document-change.html
51910
51911        * dom/ContainerNode.cpp:
51912        (WebCore::ContainerNode::insertBefore):
51913        (WebCore::ContainerNode::replaceChild):
51914        (WebCore::ContainerNode::appendChild):
51915        * dom/Node.cpp:
51916        (WebCore::Node::checkReplaceChild):
51917        (WebCore::Node::checkAddChild):
51918        * dom/Node.h:
51919
519202011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51921
51922        Unreviewed, rolling out r80484.
51923        http://trac.webkit.org/changeset/80484
51924        https://bugs.webkit.org/show_bug.cgi?id=55891
51925
51926        requires Chromium DEPS roll (Requested by dcheng on #webkit).
51927
51928        * platform/chromium/ChromiumDataObject.cpp:
51929        (WebCore::ChromiumDataObject::types):
51930        * platform/chromium/ChromiumDataObject.h:
51931        (WebCore::ChromiumDataObject::containsFilenames):
51932        * platform/chromium/ClipboardChromium.cpp:
51933        (WebCore::ClipboardChromium::types):
51934        * platform/chromium/ClipboardMimeTypes.cpp:
51935        * platform/chromium/ClipboardMimeTypes.h:
51936
519372011-03-07  Adam Barth  <abarth@webkit.org>
51938
51939        Reviewed by Dimitri Glazkov.
51940
51941        Add missing bindings/js files to WebCore.gypi
51942        https://bugs.webkit.org/show_bug.cgi?id=55888
51943
51944        These files are excluded from the Chromium build but needed for the Mac
51945        build.
51946
51947        * WebCore.gypi:
51948
519492011-03-07  Daniel Cheng  <dcheng@chromium.org>
51950
51951        Reviewed by Tony Chang.
51952
51953        Add plumbing for paste support to ChromiumDataObject::types()
51954        https://bugs.webkit.org/show_bug.cgi?id=55792
51955
51956        This is a preliminary patch to support event.dataTransfer.items. This
51957        adds plumbing to support retrieving the types in a paste event. It also
51958        moves the check for files in a drag/paste up to ClipboardChromium, since
51959        internal code needs to be able to differentiate between actual files in
51960        a drag and someone that simply decided to use "Files" as a custom type
51961        string.
51962
51963        Test: editing/pasteboard/onpaste-text-html-types.html
51964
51965        * platform/chromium/ChromiumDataObject.cpp:
51966        (WebCore::ChromiumDataObject::types):
51967        (WebCore::ChromiumDataObject::containsFilenames):
51968        * platform/chromium/ChromiumDataObject.h:
51969        * platform/chromium/ClipboardChromium.cpp:
51970        (WebCore::ClipboardChromium::types):
51971        * platform/chromium/ClipboardMimeTypes.cpp:
51972        * platform/chromium/ClipboardMimeTypes.h:
51973
519742011-03-07  Joseph Pecoraro  <joepeck@webkit.org>
51975
51976        Reviewed by Kenneth Rohde Christiansen.
51977
51978        Viewport Warning/Error Messages Are Now Inaccurate
51979        https://bugs.webkit.org/show_bug.cgi?id=53707
51980
51981        Correct and improve the error messages for viewport parsing.
51982
51983        Tests: fast/viewport/viewport-warnings-1.html
51984               fast/viewport/viewport-warnings-2.html
51985               fast/viewport/viewport-warnings-3.html
51986               fast/viewport/viewport-warnings-4.html
51987               fast/viewport/viewport-warnings-5.html
51988               fast/viewport/viewport-warnings-6.html
51989
51990        * dom/ViewportArguments.cpp:
51991        (WebCore::numericPrefix):
51992        (WebCore::findSizeValue): remove incorrect device-width / height tips.
51993        (WebCore::setViewportFeature): report a warning for an unrecognized key.
51994        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
51995        (WebCore::viewportErrorMessageLevel): classify an unrecognized key is an error.
51996        * dom/ViewportArguments.h: removed no longer used warnings.
51997
519982011-03-07  James Robinson  <jamesr@chromium.org>
51999
52000        Reviewed by Kenneth Russell.
52001
52002        [chromium] Separate the update and draw portions of LayerRendererChromium's drawLayers function
52003        https://bugs.webkit.org/show_bug.cgi?id=54047
52004
52005        This splits up LayerRendererChromium::drawLayers() into two phases,
52006        one that updates layers and one that actually draws them.  Most of the
52007        patch is moving the bodies of drawLayers() and updateLayersRecursive()
52008        into smaller helper functions.
52009
52010        The main entry point is renamed updateAndDrawLayers(), but otherwise
52011        has the same signature as drawLayers() did.  Internally it does the
52012        following:
52013
52014        1.) Updates the root layer's contents
52015        2.) Updates the root layer's scrollbars
52016        3.) Updates the RenderSurface tree and the contents of all child
52017        layers
52018        4.) Draws the root layer and root layer scrollbars
52019        5.) Draws all child layers using the previously updated
52020        CCLayerImpl/RenderSurface data.
52021
52022        A few things still need to be done after this patch to complete the separation
52023        of the update and draw step, but they can happen in later patches:
52024        *) The root layer and root layer scrollbars contents should be
52025        uploaded to textures at draw time, not update time.
52026        *) The RenderSurface tree should be updated at draw time, not update
52027        time.
52028
52029        Covered by the compositing/ tests.
52030
52031        * platform/graphics/chromium/LayerRendererChromium.cpp:
52032        (WebCore::LayerRendererChromium::LayerRendererChromium):
52033        (WebCore::LayerRendererChromium::updateRootLayerContents):
52034        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
52035        (WebCore::LayerRendererChromium::drawRootLayer):
52036        (WebCore::LayerRendererChromium::updateAndDrawLayers):
52037        (WebCore::LayerRendererChromium::updateLayers):
52038        (WebCore::LayerRendererChromium::drawLayers):
52039        (WebCore::LayerRendererChromium::getFramebufferPixels):
52040        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
52041        (WebCore::LayerRendererChromium::updateContentsRecursive):
52042        (WebCore::LayerRendererChromium::drawLayer):
52043        * platform/graphics/chromium/LayerRendererChromium.h:
52044        (WebCore::LayerRendererChromium::visibleRectSize):
52045        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
52046        (WebCore::RenderSurfaceChromium::drawSurface):
52047        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
52048        * platform/graphics/chromium/cc/CCLayerImpl.h:
52049
520502011-03-07  Adam Barth  <abarth@webkit.org>
52051
52052        Reviewed by Eric Seidel.
52053
52054        Sort WebCore.gypi
52055        https://bugs.webkit.org/show_bug.cgi?id=55887
52056
52057        These files should be in order.  This is preparation for adding in the
52058        missing files.
52059
52060        * WebCore.gypi:
52061
520622011-03-07  Csaba Osztrogonác  <ossy@webkit.org>
52063
52064        Unreviewed buildfix after r80478.
52065
52066        * dom/Document.cpp: Add suggested parentheses to make GCC happy.
52067        (WebCore::Document::didReceiveTask):
52068
520692011-03-07  Yong Li  <yoli@rim.com>
52070
52071        Reviewed by Darin Adler.
52072
52073        Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
52074        Schedule them with timer when page loading is resumed. The tasks will be performed
52075        in the original order. This fixes the problem that database callbacks could be missed
52076        when page loading was deferred.
52077        https://bugs.webkit.org/show_bug.cgi?id=49401
52078
52079        Manual test added: manual-tests/database-callback-deferred.html.
52080
52081        * dom/Document.cpp:
52082        (WebCore::Document::Document):
52083        (WebCore::Document::~Document):
52084        (WebCore::Document::didReceiveTask):
52085        (WebCore::Document::postTask):
52086        (WebCore::Document::pendingTasksTimerFired):
52087        (WebCore::Document::willDeferLoading):
52088        (WebCore::Document::didResumeLoading):
52089        * dom/Document.h:
52090        * manual-tests/database-callback-deferred.html: Added.
52091        * page/PageGroupLoadDeferrer.cpp:
52092        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
52093        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
52094
520952011-03-07  Antti Koivisto  <antti@apple.com>
52096
52097        Reviewed by Sam Weinig.
52098
52099        Use HashMaps for caching primitive values
52100        https://bugs.webkit.org/show_bug.cgi?id=55873
52101
52102        Most documents use only small subset of cacheable primitive values. By replacing
52103        fixed size cache arrays with HashMaps we can reduce the constant memory usage while also
52104        expanding the range of cacheable values.
52105
52106        * css/CSSPrimitiveValueCache.cpp:
52107        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
52108        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
52109        (WebCore::CSSPrimitiveValueCache::createColorValue):
52110        (WebCore::CSSPrimitiveValueCache::createValue):
52111        * css/CSSPrimitiveValueCache.h:
52112
521132011-03-07  Steve Block  <steveblock@google.com>
52114
52115        Reviewed by Jeremy Orlow.
52116
52117        Split JNIBridgeJSC.cpp/h into JavaArrayJSC.cpp/h and JavaFieldJSC.cpp/h
52118        https://bugs.webkit.org/show_bug.cgi?id=55881
52119
52120        No new tests, refactoring only.
52121
52122        * Android.jscbindings.mk:
52123        * GNUmakefile.am:
52124        * WebCore.xcodeproj/project.pbxproj:
52125        * bridge/jni/jsc/JNIBridgeJSC.cpp: Removed.
52126        * bridge/jni/jsc/JNIBridgeJSC.h: Removed.
52127        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
52128        * bridge/jni/jsc/JavaClassJSC.cpp:
52129        * bridge/jni/jsc/JavaClassJSC.h:
52130        * bridge/jni/jsc/JavaInstanceJSC.cpp:
52131
521322011-03-07  Sam Weinig  <sam@webkit.org>
52133
52134        Reviewed by Anders Carlsson.
52135
52136        Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
52137        https://bugs.webkit.org/show_bug.cgi?id=55827
52138
52139        * loader/EmptyClients.h:
52140        (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse):
52141        * loader/FrameLoaderClient.h:
52142        * loader/MainResourceLoader.cpp:
52143        (WebCore::MainResourceLoader::didReceiveResponse):
52144        * loader/PolicyChecker.cpp:
52145        (WebCore::PolicyChecker::checkContentPolicy):
52146        * loader/PolicyChecker.h:
52147        Rename FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
52148        and pass the entire response, instead of just the MIMEType.
52149
521502011-03-07  Eric Carlson  <eric.carlson@apple.com>
52151
52152        Reviewed by Darin Adler.
52153
52154        Add API to enumerate/delete files downloaded for <audio> and <video>
52155        https://bugs.webkit.org/show_bug.cgi?id=55267
52156        <rdar://problem/9049280>
52157
52158        No new tests, this is just more plumbing.
52159
52160        * html/HTMLMediaElement.cpp:
52161        (WebCore::HTMLMediaElement::getSitesInMediaCache): Make static, call MediaPlayer static method.
52162        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
52163        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
52164        * html/HTMLMediaElement.h:
52165
52166        * platform/graphics/MediaPlayer.cpp:
52167        (WebCore::MediaPlayerFactory::MediaPlayerFactory): Add new media engine factory functions.
52168        (WebCore::addMediaEngine): Ditto.
52169        (WebCore::MediaPlayer::getSitesInMediaCache): Call static method on all installed media engines.
52170        (WebCore::MediaPlayer::clearMediaCache): Ditto.
52171        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
52172        * platform/graphics/MediaPlayer.h:
52173
52174        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
52175        (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Update for MediaEngineRegistrar change.
52176
52177        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
52178        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Ditto.
52179
52180        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
52181        (WebCore::MediaPlayerPrivatePhonon::registerMediaEngine): Ditto.
52182
52183        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
52184        (WebCore::MediaPlayerPrivateQt::registerMediaEngine): Ditto.
52185
52186        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
52187        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): Ditto.
52188
52189        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
52190        (WebCore::MediaPlayerPrivate::registerMediaEngine): Ditto.
52191
521922011-03-07  Steve Block  <steveblock@google.com>
52193
52194        Reviewed by Jeremy Orlow.
52195
52196        Split JNIBridge.cpp/h into JavaString.h and JavaMethod.cpp/h
52197        https://bugs.webkit.org/show_bug.cgi?id=55774
52198
52199        No new tests, refactoring only.
52200
52201        * Android.jscbindings.mk:
52202        * Android.v8bindings.mk:
52203        * GNUmakefile.am:
52204        * WebCore.gypi:
52205        * WebCore.xcodeproj/project.pbxproj:
52206        * bridge/jni/JavaMethod.cpp:
52207        (JavaMethod::JavaMethod):
52208        (JavaMethod::~JavaMethod):
52209        (appendClassName):
52210        (JavaMethod::signature):
52211        (JavaMethod::JNIReturnType):
52212        (JavaMethod::methodID):
52213        * bridge/jni/JavaMethod.h:
52214        (JSC::Bindings::JavaMethod::name):
52215        (JSC::Bindings::JavaMethod::returnType):
52216        (JSC::Bindings::JavaMethod::parameterAt):
52217        (JSC::Bindings::JavaMethod::numParameters):
52218        (JSC::Bindings::JavaMethod::isStatic):
52219        * bridge/jni/JavaString.h:
52220        (JSC::Bindings::JavaString::JavaString):
52221        (JSC::Bindings::JavaString::utf8):
52222        (JSC::Bindings::JavaString::length):
52223        (JSC::Bindings::JavaString::impl):
52224        * bridge/jni/jni_jsobject.mm:
52225        * bridge/jni/jsc/JNIBridgeJSC.h:
52226        * bridge/jni/v8/JNIBridgeV8.h:
52227        * bridge/jni/v8/JavaClassV8.cpp:
52228        * bridge/jni/v8/JavaClassV8.h:
52229        * bridge/jni/v8/JavaInstanceV8.cpp:
52230
522312011-03-07  Jeremy Orlow  <jorlow@chromium.org>
52232
52233        Reviewed by Steve Block.
52234
52235        Add source to IDBCursor, objectStore to IDBIndex, and remove storeName
52236        https://bugs.webkit.org/show_bug.cgi?id=55812
52237
52238        This brings us in line with what's in the spec:
52239        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
52240
52241        * storage/IDBCursor.cpp:
52242        (WebCore::IDBCursor::create):
52243        (WebCore::IDBCursor::IDBCursor):
52244        (WebCore::IDBCursor::source):
52245        * storage/IDBCursor.h:
52246        * storage/IDBCursor.idl:
52247        * storage/IDBCursorWithValue.cpp:
52248        (WebCore::IDBCursorWithValue::create):
52249        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
52250        * storage/IDBCursorWithValue.h:
52251        * storage/IDBIndex.cpp:
52252        (WebCore::IDBIndex::IDBIndex):
52253        * storage/IDBIndex.h:
52254        (WebCore::IDBIndex::create):
52255        (WebCore::IDBIndex::objectStore):
52256        * storage/IDBIndex.idl:
52257        * storage/IDBObjectStore.cpp:
52258        (WebCore::IDBObjectStore::createIndex):
52259        (WebCore::IDBObjectStore::index):
52260        * storage/IDBRequest.cpp:
52261        (WebCore::IDBRequest::onSuccess):
52262
522632011-03-07  Chris Fleizach  <cfleizach@apple.com>
52264
52265        Reviewed by Beth Dakin.
52266
52267        AX: kAXCellForColumnAndRowParameterizedAttribute doesn't work ARIA grids with colspans
52268        https://bugs.webkit.org/show_bug.cgi?id=55735
52269
52270        The ARIA grid implementation needed to verify the row/column range of a cell instead of
52271        assuming a 1-1 mapping between children and row/column.
52272
52273        Test: platform/mac/accessibility/aria-table-with-colspan-cells.html
52274
52275        * accessibility/AccessibilityARIAGrid.cpp:
52276        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
52277
522782011-03-07  Andrei Popescu  <andreip@google.com>
52279
52280        Reviewed by Steve Block.
52281
52282        IDBRequest::onSuccess(IDBObjectStore*) should be removed as it is unused.
52283        IDBObjectStore objects used to be created asynchronously, so we needed
52284        this method to be invoked, with the new object store as the parameter,
52285        whenever the creation succeeded. The spec has changed so that IDBObjectStore
52286        objects are created synchronously, so this method is no longer needed.
52287        https://bugs.webkit.org/show_bug.cgi?id=55777
52288
52289        No new tests, just refactoring.
52290
52291        * storage/IDBCallbacks.h:
52292        * storage/IDBRequest.cpp:
52293        * storage/IDBRequest.h:
52294
522952011-03-04  Steve Block  <steveblock@google.com>
52296
52297        Reviewed by Jeremy Orlow.
52298
52299        JavaParameter should be removed
52300        https://bugs.webkit.org/show_bug.cgi?id=55772
52301
52302        No new tests, refactoring only.
52303
52304        * bridge/jni/JNIBridge.cpp:
52305        (JavaMethod::JavaMethod):
52306        (JavaMethod::~JavaMethod):
52307        (JavaMethod::signature):
52308        * bridge/jni/JNIBridge.h:
52309        (JSC::Bindings::JavaMethod::parameterAt):
52310        (JSC::Bindings::JavaMethod::numParameters):
52311        * bridge/jni/JNIUtility.h:
52312        * bridge/jni/jsc/JavaInstanceJSC.cpp:
52313        (JavaInstance::invokeMethod):
52314        * bridge/jni/v8/JNIUtilityPrivate.cpp:
52315        (JSC::Bindings::convertNPVariantToJValue):
52316        * bridge/jni/v8/JNIUtilityPrivate.h:
52317        * bridge/jni/v8/JavaInstanceV8.cpp:
52318        (JavaInstance::invokeMethod):
52319
523202011-03-07  Antti Koivisto  <antti@apple.com>
52321
52322        Reviewed by Oliver Hunt.
52323
52324        REGRESSION (r79574): fast/dom/global-constructors.html failing on Windows 7 Release (Tests) bots
52325        https://bugs.webkit.org/show_bug.cgi?id=55166
52326        <rdar://problem/9050430>
52327
52328        Make CSS primitive value cache per-document.
52329
52330        Test: http/tests/security/cross-origin-css-primitive.html
52331
52332        * Android.mk:
52333        * CMakeLists.txt:
52334        * GNUmakefile.am:
52335        * WebCore.gypi:
52336        * WebCore.pro:
52337        * WebCore.vcproj/WebCore.vcproj:
52338        * WebCore.xcodeproj/project.pbxproj:
52339        * css/CSSComputedStyleDeclaration.cpp:
52340        (WebCore::valueForNinePieceImage):
52341        (WebCore::zoomAdjustedPixelValue):
52342        (WebCore::zoomAdjustedNumberValue):
52343        (WebCore::zoomAdjustedPixelValueForLength):
52344        (WebCore::valueForReflection):
52345        (WebCore::getPositionOffsetValue):
52346        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
52347        (WebCore::getBorderRadiusCornerValue):
52348        (WebCore::computedTransform):
52349        (WebCore::getDelayValue):
52350        (WebCore::getDurationValue):
52351        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
52352        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
52353        (WebCore::valueForFamily):
52354        (WebCore::renderTextDecorationFlagsToCSSValue):
52355        (WebCore::fillRepeatToCSSValue):
52356        (WebCore::fillSizeToCSSValue):
52357        (WebCore::contentToCSSValue):
52358        (WebCore::counterToCSSValue):
52359        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
52360        * css/CSSParser.cpp:
52361        (WebCore::CSSParser::parseSheet):
52362        (WebCore::CSSParser::parseRule):
52363        (WebCore::CSSParser::parseKeyframeRule):
52364        (WebCore::CSSParser::parseValue):
52365        (WebCore::CSSParser::parseColor):
52366        (WebCore::CSSParser::parseSelector):
52367        (WebCore::CSSParser::parseDeclaration):
52368        (WebCore::CSSParser::setStyleSheet):
52369        (WebCore::CSSParser::parseWCSSInputProperty):
52370        (WebCore::parseBackgroundClip):
52371        (WebCore::CSSParser::parseFillShorthand):
52372        (WebCore::CSSParser::parsePage):
52373        (WebCore::CSSParser::parseSizeParameter):
52374        (WebCore::CSSParser::parseContent):
52375        (WebCore::CSSParser::parseAttr):
52376        (WebCore::CSSParser::parseBackgroundColor):
52377        (WebCore::CSSParser::parseFillPositionXY):
52378        (WebCore::CSSParser::parseFillPosition):
52379        (WebCore::CSSParser::parseFillRepeat):
52380        (WebCore::CSSParser::parseFillSize):
52381        (WebCore::CSSParser::parseFillProperty):
52382        (WebCore::CSSParser::parseAnimationDelay):
52383        (WebCore::CSSParser::parseAnimationDirection):
52384        (WebCore::CSSParser::parseAnimationDuration):
52385        (WebCore::CSSParser::parseAnimationFillMode):
52386        (WebCore::CSSParser::parseAnimationIterationCount):
52387        (WebCore::CSSParser::parseAnimationName):
52388        (WebCore::CSSParser::parseAnimationPlayState):
52389        (WebCore::CSSParser::parseAnimationProperty):
52390        (WebCore::CSSParser::parseTransformOriginShorthand):
52391        (WebCore::CSSParser::parseAnimationTimingFunction):
52392        (WebCore::CSSParser::parseDashboardRegions):
52393        (WebCore::CSSParser::parseCounterContent):
52394        (WebCore::CSSParser::parseShape):
52395        (WebCore::CSSParser::parseFont):
52396        (WebCore::CSSParser::parseFontFamily):
52397        (WebCore::CSSParser::parseFontStyle):
52398        (WebCore::CSSParser::parseFontVariant):
52399        (WebCore::CSSParser::parseFontWeight):
52400        (WebCore::ShadowParseContext::ShadowParseContext):
52401        (WebCore::ShadowParseContext::commitLength):
52402        (WebCore::ShadowParseContext::commitStyle):
52403        (WebCore::CSSParser::parseShadow):
52404        (WebCore::CSSParser::parseReflect):
52405        (WebCore::BorderImageParseContext::BorderImageParseContext):
52406        (WebCore::BorderImageParseContext::commitNumber):
52407        (WebCore::BorderImageParseContext::commitBorderImage):
52408        (WebCore::CSSParser::parseBorderImage):
52409        (WebCore::CSSParser::parseBorderRadius):
52410        (WebCore::CSSParser::parseCounter):
52411        (WebCore::parseDeprecatedGradientPoint):
52412        (WebCore::parseDeprecatedGradientColorStop):
52413        (WebCore::CSSParser::parseDeprecatedGradient):
52414        (WebCore::valueFromSideKeyword):
52415        (WebCore::parseGradientColorOrKeyword):
52416        (WebCore::CSSParser::parseLinearGradient):
52417        (WebCore::CSSParser::parseRadialGradient):
52418        (WebCore::CSSParser::parseGradientColorStops):
52419        (WebCore::CSSParser::parseTransform):
52420        (WebCore::CSSParser::parseTransformOrigin):
52421        (WebCore::CSSParser::parseTextEmphasisStyle):
52422        * css/CSSParser.h:
52423        (WebCore::CSSParser::primitiveValueCache):
52424        * css/CSSPrimitiveValue.cpp:
52425        * css/CSSPrimitiveValue.h:
52426        (WebCore::CSSPrimitiveValue::createIdentifier):
52427        (WebCore::CSSPrimitiveValue::createColor):
52428        (WebCore::CSSPrimitiveValue::create):
52429        * css/CSSPrimitiveValueCache.cpp: Added.
52430        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
52431        (WebCore::CSSPrimitiveValueCache::~CSSPrimitiveValueCache):
52432        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
52433        (WebCore::CSSPrimitiveValueCache::createColorValue):
52434        (WebCore::CSSPrimitiveValueCache::createValue):
52435        * css/CSSPrimitiveValueCache.h: Added.
52436        (WebCore::CSSPrimitiveValueCache::create):
52437        (WebCore::CSSPrimitiveValueCache::createValue):
52438        * dom/Document.cpp:
52439        (WebCore::Document::cssPrimitiveValueCache):
52440        * dom/Document.h:
52441
524422011-03-06  Adam Barth  <abarth@webkit.org>
52443
52444        Reviewed by Eric Seidel.
52445
52446        Filter sources in WebCore GYP build for Mac
52447        https://bugs.webkit.org/show_bug.cgi?id=55857
52448
52449        This patch removes a large number of files that do not build as part of
52450        the Mac build.  I'm not fully sold on this method of
52451        including/excluding files, but it's the "gyp way" so we should probably
52452        try it first.
52453
52454        This patch also sets xcode_list_excluded_files to 0, which removes the
52455        excluded files from the Xcode project file, which is necessary in order
52456        to prevent the header map feature from including the wrong header file.
52457
52458        * gyp/WebCore.gyp:
52459
524602011-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
52461
52462        Unreviewed EFL build fix.
52463
52464        [EFL] Build break on Debug build.
52465        https://bugs.webkit.org/show_bug.cgi?id=55858
52466
52467        * platform/efl/RenderThemeEfl.cpp:
52468        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
52469
524702011-03-06  Adam Barth  <abarth@webkit.org>
52471
52472        Reviewed by Eric Seidel.
52473
52474        Add webcore_derived_source_files to WebCore.gypi
52475        https://bugs.webkit.org/show_bug.cgi?id=55856
52476
52477        This is the list of files generated by the Mac port.  It's possible
52478        other ports generate a different list of files.
52479
52480        * WebCore.gypi:
52481        * gyp/WebCore.gyp:
52482
524832011-03-06  Naoki Takano  <takano.naoki@gmail.com>
52484
52485        Reviewed by Kent Tamura.
52486
52487        Input type=number spin buttons remain invisible but functional after div changed from hidden to visible.
52488        https://bugs.webkit.org/show_bug.cgi?id=55839
52489        http://crbug.com/73866
52490        http://crbug.com/62527
52491
52492        We also need style change for m_innerSpinButton not only for m_outerSpinBuggon when styleDidChange() is called.
52493
52494        Test: fast/forms/input-appearance-spinbutton-visibility.html
52495
52496        * rendering/RenderTextControlSingleLine.cpp:
52497        (WebCore::RenderTextControlSingleLine::styleDidChange):
52498
524992011-03-06  Naoki Takano  <takano.naoki@gmail.com>
52500
52501        Reviewed by Kent Tamura.
52502
52503        [Chromium] Autocomplete suggestion extends out of window (and onto second monitor)
52504        https://bugs.webkit.org/show_bug.cgi?id=54795
52505
52506        Implement width clip logic according to browser screen width and popup window width. This fix is enough for Win and Mac, but there is a problem in Linux. Because WebScreenInfoFactory::screenInfo() can get only merged screen size, not the screen size where the browser exists.
52507
52508        Test: manual-tests/popup-width-restriction-within-screen.html
52509
52510        * manual-tests/popup-width-restriction-within-screen.html: Added.
52511        * platform/chromium/PopupMenuChromium.cpp:
52512        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Implement the width clip logic according to screen width.
52513
525142011-03-06  Yuta Kitamura  <yutak@chromium.org>
52515
52516        Reviewed by Kent Tamura.
52517
52518        Add SHA-1 for new WebSocket protocol
52519        https://bugs.webkit.org/show_bug.cgi?id=55039
52520
52521        * ForwardingHeaders/wtf/SHA1.h: Added.
52522
525232011-03-06  Eric Carlson  <eric.carlson@apple.com>
52524
52525        Reviewed by Antti Koivisto.
52526
52527        QuickTime based media engines should respect private browsing mode
52528        https://bugs.webkit.org/show_bug.cgi?id=55848
52529
52530        No new tests, it is only possible to test this by manually deleting and monitoring the
52531        the Quicktime caches.
52532
52533        * html/HTMLMediaElement.cpp:
52534        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Add logging.
52535
52536        * platform/graphics/MediaPlayer.cpp:
52537        (WebCore::MediaPlayer::MediaPlayer): Initialize m_privateBrowsing.
52538        (WebCore::MediaPlayer::loadWithNextMediaEngine): Set privacy mode on new media engine.
52539        (WebCore::MediaPlayer::setPrivateBrowsingMode): Stash setting in m_privateBrowsing.
52540        * platform/graphics/MediaPlayer.h:
52541        * platform/graphics/MediaPlayerPrivate.h:
52542        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):
52543
52544        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
52545        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
52546        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_privateBrowsing.
52547        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Pass private browsing attribute when
52548            creating new movie.
52549        (WebCore::MediaPlayerPrivateQTKit::setPrivateBrowsingMode): New, store privacy setting in
52550            m_privateBrowsing and set movie attribute.
52551
52552        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
52553        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
52554            Initialize m_privateBrowsing.
52555        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode): New, store
52556            privacy setting in m_privateBrowsing and call QTMovie.
52557        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
52558
52559        * platform/graphics/win/QTMovie.cpp:
52560        (QTMoviePrivate::QTMoviePrivate): Initialize m_privateBrowsing.
52561        (QTMovie::load):Pass private browsing property when creating new movie.
52562        (QTMovie::setPrivateBrowsingMode):  New, store privacy setting in m_privateBrowsing and
52563            set movie property.
52564        * platform/graphics/win/QTMovie.h:
52565
525662011-03-06  Daniel Bates  <dbates@rim.com>
52567
52568        Reviewed by Darin Adler.
52569
52570        style.borderSpacing always returns empty string
52571        https://bugs.webkit.org/show_bug.cgi?id=54816
52572
52573        Teach CSSMutableStyleDeclaration::getPropertyValue() how to reconstitute
52574        the value for border-spacing from the value of the WebKit internal CSS
52575        property -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
52576
52577        The CSS property border-spacing describes the horizontal and vertical border
52578        spacing for an HTML Table element. Notice, WebKit internally represents the value
52579        of this property as two properties: -webkit-border-horizontal-spacing and
52580        -webkit-border-vertical-spacing, for the horizontal and vertical border spacing,
52581        respectively. And WebKit doesn't know to reconstitute these internal properties.
52582        Therefore style.borderSpacing always returns the empty string.
52583
52584        Test: fast/css/table-border-spacing.html
52585
52586        * css/CSSMutableStyleDeclaration.cpp:
52587        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
52588        (WebCore::CSSMutableStyleDeclaration::borderSpacingValue): Added.
52589        * css/CSSMutableStyleDeclaration.h:
52590
525912011-03-06  Dan Bernstein  <mitz@apple.com>
52592
52593        Reviewed by Oliver Hunt.
52594
52595        <rdar://problem/9093327> Implement -hyphenate-limit-{before,after}
52596        https://bugs.webkit.org/show_bug.cgi?id=55850
52597
52598        Tests: fast/css/parsing-hyphenate-limit.html
52599               fast/text/hyphenate-limit-before-after.html
52600
52601        * css/CSSComputedStyleDeclaration.cpp:
52602        (WebCore::computedProperties) Updated this array with the new properties and some old properties
52603        that it was missing.
52604        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
52605        CSSPropertyWebkitHyphenateLimit{Before,After}.
52606
52607        * css/CSSParser.cpp:
52608        (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-limit-{before,after}, allowing
52609        'auto' and non-negative integers.
52610
52611        * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-{before,after}.
52612
52613        * css/CSSStyleSelector.cpp:
52614        (WebCore::CSSStyleSelector::applyProperty): Handle CSSPropertyWebkitHyphenateLimit{Before,After}.
52615
52616        * rendering/RenderBlockLineLayout.cpp:
52617        (WebCore::tryHyphenating): Added minimum prefix and suffix length parameters and checks to only
52618        allow hyphenation if the prefix and the suffix are sufficiently long.
52619        (WebCore::RenderBlock::findNextLineBreak): Pass the limits to tryHyphenating().
52620
52621        * rendering/style/RenderStyle.cpp:
52622        (WebCore::RenderStyle::diff): A difference in hyphenation limits is a layout difference.
52623
52624        * rendering/style/RenderStyle.h:
52625        (WebCore::InheritedFlags::hyphenationLimitBefore): Added.
52626        (WebCore::InheritedFlags::hyphenationLimitAfter): Added.
52627        (WebCore::InheritedFlags::setHyphenationLimitBefore): Added.
52628        (WebCore::InheritedFlags::setHyphenationLimitAfter): Added.
52629        (WebCore::InheritedFlags::initialHyphenationLimitBefore): Added. Returns -1, which is the
52630        representation of 'auto'.
52631        (WebCore::InheritedFlags::initialHyphenationLimitAfter): Ditto.
52632
52633        * rendering/style/StyleRareInheritedData.cpp:
52634        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize hyphenation limits.
52635        (WebCore::StyleRareInheritedData::operator==): Compare hyphenation limits.
52636        * rendering/style/StyleRareInheritedData.h:
52637
526382011-03-06  Jessie Berlin  <jberlin@apple.com>
52639
52640        Reviewed by Sam Weinig.
52641
52642        WebKit2: Use CFNetwork Sessions API.
52643        https://bugs.webkit.org/show_bug.cgi?id=55435.
52644
52645        When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
52646        Private Browsing Storage Session.
52647
52648        * WebCore.exp.in:
52649        Add the new WKSI functions.
52650        * platform/mac/WebCoreSystemInterface.h:
52651        Ditto.
52652        * platform/mac/WebCoreSystemInterface.mm:
52653        Ditto.
52654
52655        * platform/mac/CookieJar.mm:
52656        (WebCore::cookies):
52657        If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI.
52658        Otherwise, behave the same as before.
52659        (WebCore::cookieRequestHeaderFieldValue):
52660        Ditto.
52661        (WebCore::setCookies):
52662        Ditto.
52663        (WebCore::cookiesEnabled):
52664        Ditto
52665        (WebCore::getRawCookies):
52666        Ditto.
52667        (WebCore::deleteCookie):
52668        Ditto.
52669
52670        * platform/network/CookieStorage.h:
52671        * platform/network/cf/CookieStorageCFNet.cpp:
52672        (WebCore::privateBrowsingCookieStorage):
52673        Keep track of the Private Browsing Cookie Storage in a locally defined static inside a
52674        function instead of at the global scope.
52675        (WebCore::currentCookieStorage):
52676        Use privateBrowsingCookieStorage.
52677        (WebCore::setCurrentCookieStorage):
52678        Ditto.
52679        (WebCore::setCookieStoragePrivateBrowsingEnabled):
52680        If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to
52681        wkCreatePrivateInMemoryHTTPCookieStorage.
52682        * platform/network/mac/CookieStorageMac.mm:
52683        (WebCore::privateBrowsingCookieStorage):
52684        Keep track of the Private Browsing Cookie Storage.
52685        (WebCore::setCookieStoragePrivateBrowsingEnabled):
52686        If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage().
52687        Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined.
52688
52689        * platform/network/mac/ResourceHandleMac.mm:
52690        (WebCore::shouldRelaxThirdPartyCookiePolicy):
52691        Refactor the logic to determine whether or not to relax the third party cookie policy here.
52692        If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage.
52693        (WebCore::ResourceHandle::createNSURLConnection):
52694        Use shouldRelaxThirdPartyCookiePolicy.
52695        (WebCore::ResourceHandle::loadResourceSynchronously):
52696        Ditto.
52697
526982011-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
52699
52700        Unreviewed, rolling out r80428.
52701        http://trac.webkit.org/changeset/80428
52702        https://bugs.webkit.org/show_bug.cgi?id=55833
52703
52704        Broke SnowLeopard (Requested by xan_ on #webkit).
52705
52706        * plugins/gtk/PluginViewGtk.cpp:
52707        (WebCore::PluginView::handlePostReadFile):
52708
527092011-03-01  Martin Robinson  <mrobinson@igalia.com>
52710
52711        Reviewed by Xan Lopez.
52712
52713        [GTK] Windowless plugins override the view cursor
52714        https://bugs.webkit.org/show_bug.cgi?id=55531
52715
52716        manual test: manual-tests/plugins/windowless.html
52717
52718        * platform/gtk/WidgetGtk.cpp:
52719        (WebCore::Widget::setCursor): Call into the ChromeClient implementation now.
52720        * plugins/gtk/PluginViewGtk.cpp:
52721        (WebCore::PluginView::initXEvent): Instead of setting the window for windowless
52722        plugin events, set the window value to none. This method is also used to send
52723        focus in / focus out events to windowed plugins, but this is not one of the plugin
52724        types where the window parameter matters. This matches what Mozilla does. Also
52725        pass in the display of the widget itself, not the default display.
52726        (WebCore::PluginView::handleMouseEvent): When the cursor leaves the plugin area,
52727        reset the cursor.
52728        (WebCore::PluginView::platformGetValue): Clean up this section slightly. Give the
52729        widget the top-level window explicitly. This matches Mozilla.
52730
527312011-03-05  Martin Robinson  <mrobinson@igalia.com>
52732
52733        Reviewed by Xan Lopez.
52734
52735        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
52736        https://bugs.webkit.org/show_bug.cgi?id=55826
52737
52738        Correct the implementation of handlePostReadFile which uses GIO APIs and
52739        actually resizes the buffer to fit the entire size of the file data. This
52740        was likely leading to memory corruption until now.
52741
52742        * plugins/gtk/PluginViewGtk.cpp:
52743        (WebCore::PluginView::handlePostReadFile): Fix this method.
52744
527452011-03-05  Mikhail Naganov  <mnaganov@chromium.org>
52746
52747        Reviewed by Pavel Feldman.
52748
52749        Web Inspector: [Chromium] Allow dynamic enabling of detailed heap profiles.
52750        https://bugs.webkit.org/show_bug.cgi?id=55824
52751
52752        Detailed heap profiles can be now enabled by typing "leakz" in Profiles tab.
52753
52754        * inspector/front-end/DetailedHeapshotView.js:
52755        (WebInspector.DetailedHeapshotView.prototype.isDetailedSnapshot):
52756        * inspector/front-end/ProfilesPanel.js:
52757        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
52758        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
52759        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
52760        (WebInspector.ProfilesPanel.prototype.handleShortcut):
52761        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint.hideHint):
52762        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint):
52763        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
52764        (WebInspector.ProfilesPanel.prototype._recognizeKeyboardCombo):
52765
527662011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>
52767
52768        Reviewed by Laszlo Gombos.
52769
52770        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
52771        https://bugs.webkit.org/show_bug.cgi?id=48636
52772
52773        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.
52774
52775        * WebCore.pri:
52776        * features.pri:
52777
527782011-03-05  Pavel Feldman  <pfeldman@chromium.org>
52779
52780        Not reviewed: adding null check to prevent inspector tests from failing.
52781
52782        * inspector/front-end/TextViewer.js:
52783        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
52784        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
52785
527862011-03-05  Pavel Feldman  <pfeldman@chromium.org>
52787
52788        Not reviewed: chromium rebaseline, flaky test fix.
52789
52790        * inspector/front-end/BreakpointManager.js:
52791        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
52792        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
52793        (WebInspector.DOMBreakpointView.prototype._format.formatters.s):
52794        (WebInspector.DOMBreakpointView.prototype._format.append):
52795        (WebInspector.DOMBreakpointView.prototype._format):
52796
527972011-03-04  Pavel Podivilov  <podivilov@chromium.org>
52798
52799        Reviewed by Yury Semikhatsky.
52800
52801        Web Inspector: [chromium] pause when script is running is broken.
52802        https://bugs.webkit.org/show_bug.cgi?id=55762
52803
52804        * inspector/CodeGeneratorInspector.pm:
52805
528062011-03-05  Adam Barth  <abarth@webkit.org>
52807
52808        Reviewed by Dimitri Glazkov.
52809
52810        Add Derived Sources to WebCore GYP build
52811        https://bugs.webkit.org/show_bug.cgi?id=55813
52812
52813        Adding the derived source action to the GYP file required tweaking
52814        DerivedSources.make.  I'm not sure how DerivedSources.make worked
52815        before beause these paths were incorrectly based.
52816
52817        * DerivedSources.make:
52818        * gyp/generate-derived-sources.sh: Added.
52819        * gyp/WebCore.gyp:
52820
528212011-03-04  Pavel Feldman  <pfeldman@chromium.org>
52822
52823        Reviewed by Yury Semikhatsky.
52824
52825        Web Inspector: fix layout tests flakiness.
52826        https://bugs.webkit.org/show_bug.cgi?id=55816
52827
52828        - Order of issuing of evaluateForTestInFrontend was not guaranteed on the backend side (InspectorAgent side)
52829        - Order of dispatching using timeouts was guaranteed via queueing. Source of all kinds of pains on SnowLeopard Release (inspector.js)
52830
52831        * inspector/CodeGeneratorInspector.pm:
52832        * inspector/InspectorAgent.cpp:
52833        (WebCore::InspectorAgent::InspectorAgent):
52834        (WebCore::InspectorAgent::disconnectFrontend):
52835        (WebCore::InspectorAgent::populateScriptObjects):
52836        (WebCore::InspectorAgent::evaluateForTestInFrontend):
52837        (WebCore::InspectorAgent::issueEvaluateForTestCommands):
52838        * inspector/InspectorAgent.h:
52839        * inspector/front-end/TimelinePanel.js:
52840        (WebInspector.TimelinePanel.FormattedRecord):
52841        * inspector/front-end/inspector.js:
52842        (WebInspector.dispatch):
52843
528442011-03-05  Adam Barth  <abarth@webkit.org>
52845
52846        Reviewed by Dimitri Glazkov.
52847
52848        WebCore GYP build should generate fewer than 10,000 compile errors per file
52849        https://bugs.webkit.org/show_bug.cgi?id=55810
52850
52851        This patch adds some missing include paths.  We need to figure out how
52852        to handle separate include paths per port.  It's clear that
52853        ForwardingHeaders are only useful for Mac, but it's less clear how to
52854        handle the others.
52855
52856        * WebCore.gypi:
52857        * gyp/WebCore.gyp:
52858
528592011-03-05  Dan Bernstein  <mitz@apple.com>
52860
52861        Reviewed by Cameron Zwarich.
52862
52863        <rdar://problem/9082946> Make the Core Text code path in GlyphPage::fill() more robust
52864        https://bugs.webkit.org/show_bug.cgi?id=55817
52865
52866        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
52867        (WebCore::GlyphPage::fill): When determining if a CTRun uses the primary font, compare against
52868        a CGFont obtained from Core Text for the primary font. This CGFont may be different from
52869        the CGFont stored in the FontPlatformData.
52870
528712011-03-05  Ilya Sherman  <isherman@chromium.org>
52872
52873        Reviewed by Darin Adler.
52874
52875        HTMLInputElement::setValue() should schedule change event when the element is focused.
52876        Refactored tracking of "changed since last change event" state from renderer to DOM.In service of https://code.google.com/p/chromium/issues
52877        In service of https://code.google.com/p/chromium/issues/detail?id=42716
52878        https://bugs.webkit.org/show_bug.cgi?id=53160
52879
52880        Test: fast/forms/onchange-change-type.html
52881        Test: fast/forms/onchange-setvalueforuser.html
52882
52883        * WebCore.exp.in:
52884        * dom/Document.cpp:
52885        (WebCore::Document::setFocusedNode):
52886        * dom/Element.h:
52887        (WebCore::Element::wasChangedSinceLastFormControlChangeEvent): Added.
52888        (WebCore::Element::setChangedSinceLastFormControlChangeEvent): Added.
52889        * html/HTMLFormControlElement.cpp:
52890        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
52891        (WebCore::HTMLFormControlElement::wasChangedSinceLastFormControlChangeEvent): Added.
52892        (WebCore::HTMLFormControlElement::setChangedSinceLastFormControlChangeEvent): Added.
52893        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Also clear the "changed since last change event" flag.
52894        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Also set the "changed since last change event" flag.
52895        * html/HTMLFormControlElement.h:
52896        * html/HTMLInputElement.cpp:
52897        (WebCore::HTMLInputElement::updateType): Also clear the "changed since last change event" flag.
52898        (WebCore::HTMLInputElement::setValue):
52899            For a focused text field, dispatch an input event, but delay the change event until the field loses focus.
52900        (WebCore::HTMLInputElement::defaultEventHandler):
52901        (WebCore::HTMLInputElement::stepUpFromRenderer):
52902        * html/shadow/TextControlInnerElements.cpp:
52903        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
52904        * rendering/RenderTextControl.cpp:
52905        (WebCore::RenderTextControl::RenderTextControl):
52906        (WebCore::RenderTextControl::subtreeHasChanged):
52907        * rendering/RenderTextControl.h:
52908        * rendering/RenderTextControlMultiLine.cpp:
52909        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
52910        * rendering/RenderTextControlSingleLine.cpp:
52911        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
52912        * wml/WMLInputElement.cpp:
52913        (WebCore::WMLInputElement::WMLInputElement):
52914        (WebCore::WMLInputElement::defaultEventHandler):
52915        * wml/WMLInputElement.h:
52916        (WebCore::WMLInputElement::wasChangedSinceLastFormControlChangeEvent): Added.
52917        (WebCore::WMLInputElement::setChangedSinceLastFormControlChangeEvent): Added.
52918
529192011-03-04  Xianzhu Wang  <wangxianzhu@google.com>
52920
52921        Reviewed by Adam Barth.
52922
52923        Remove fake request loading of SVGImage to avoid MainResourceLoader
52924        leak. The frame->init() already ensures initialization of the
52925        document loader.
52926
52927        https://bugs.webkit.org/show_bug.cgi?id=55017
52928
52929        Test: fast/images/svg-image-leak-loader.html
52930
52931        * svg/graphics/SVGImage.cpp:
52932        (WebCore::SVGImage::dataChanged):
52933
529342011-03-04  Mike Reed  <reed@google.com>
52935
52936        Reviewed by Mihai Parparita.
52937
52938        [Chromium] fast/canvas/canvas-arc-360-winding.html fails on Linux and Windows
52939        https://bugs.webkit.org/show_bug.cgi?id=49477
52940
52941        * platform/graphics/skia/PathSkia.cpp:
52942        (WebCore::Path::addArc):
52943
529442011-03-04  Jia Pu  <jpu@apple.com>
52945
52946        Reviewed by Darin Adler.
52947
52948        On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
52949        https://bugs.webkit.org/show_bug.cgi?id=55717
52950        <rdar://problem/9018127>
52951
52952        manual-test: manual-tests/platforms/mac/autocorrection/autocorrection-in-iframe.html
52953
52954        Previously, the bounding box passed into EditorClient::showCorrectionPanel() is in the frame's
52955        coordinate. This is incorrect when the correction occurs in an iframe. This patch added code
52956        to convert the bounding box to window coordinate using ScrollView::contentToWindow().
52957
52958        * dom/Range.cpp:
52959        (WebCore::Range::getBoundingClientRect):
52960        (WebCore::Range::boundingRect):
52961        * dom/Range.h:
52962        * editing/Editor.cpp:
52963        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
52964        (WebCore::Editor::correctionPanelTimerFired):
52965        (WebCore::Editor::windowRectForRange):
52966        * editing/Editor.h:
52967        * manual-tests/autocorrection/autocorrection-in-iframe.html: Added.
52968        * manual-tests/autocorrection/document-for-iframe-test.html: Added.
52969
529702011-03-04  Jia Pu  <jpu@apple.com>
52971
52972        Reviewed by Darin Adler.
52973
52974        Those checking in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited() should be done with VisiblePosition::isNull().
52975        https://bugs.webkit.org/show_bug.cgi?id=55731
52976
52977        No new tests. There's no behavioral change.
52978
52979        This patch improved clarity and readability of Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited().
52980
52981        * editing/Editor.cpp:
52982        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
52983
529842011-03-04  John Bauman  <jbauman@chromium.org>
52985
52986        Reviewed by Kenneth Russell.
52987
52988        [chromium] premultipliedAlpha WebGL context attribute is ignored.
52989        https://bugs.webkit.org/show_bug.cgi?id=55411
52990
52991        Update compositor to set the blending of each layer correctly.
52992
52993        Test: compositing/webgl/webgl-nonpremultiplied-blend.html
52994
52995        * platform/graphics/chromium/CanvasLayerChromium.cpp:
52996        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
52997        (WebCore::CanvasLayerChromium::draw):
52998        * platform/graphics/chromium/CanvasLayerChromium.h:
52999        * platform/graphics/chromium/ContentLayerChromium.cpp:
53000        (WebCore::ContentLayerChromium::draw):
53001        * platform/graphics/chromium/LayerRendererChromium.cpp:
53002        (WebCore::LayerRendererChromium::drawLayers):
53003        * platform/graphics/chromium/WebGLLayerChromium.cpp:
53004        (WebCore::WebGLLayerChromium::setContext):
53005
530062011-03-04  Adam Barth  <abarth@webkit.org>
53007
53008        Reviewed by Eric Seidel.
53009
53010        WebCore GYP build should link with the correct frameworks
53011        https://bugs.webkit.org/show_bug.cgi?id=55804
53012
53013        * gyp/WebCore.gyp:
53014
530152011-03-04  Adam Barth  <abarth@webkit.org>
53016
53017        Reviewed by Eric Seidel.
53018
53019        WebCore GYP build should Check For Inappropriate Files in Framework
53020        https://bugs.webkit.org/show_bug.cgi?id=55806
53021
53022        * gyp/WebCore.gyp:
53023
530242011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>
53025
53026        Reviewed by Adam Barth.
53027
53028        Add skeletal WebCore.gyp
53029        https://bugs.webkit.org/show_bug.cgi?id=55802
53030
53031        This doesn't yet build, but the basic structure is there.
53032
53033        * WebCore.gypi: Added headers and include directories variables.
53034        * gyp/WebCore.gyp: Added.
53035
530362011-03-04  Adam Barth  <abarth@webkit.org>
53037
53038        Reviewed by Dimitri Glazkov.
53039
53040        Remove unneeded round-trips through ../Source in the Chromium GYP build
53041        https://bugs.webkit.org/show_bug.cgi?id=55795
53042
53043        This is just cleanup work, but it was bugging me.
53044
53045        * WebCore.gyp/WebCore.gyp:
53046
530472011-03-04  Mike Reed  <reed@google.com>
53048
53049        Reviewed by James Robinson.
53050
53051        Option to use skia's native text drawing APIs when drawing text
53052        on Windows, rather than from outlines using drawPath(). This will
53053        only have a significant effect when the skia-gpu backend is enabled.
53054        https://bugs.webkit.org/show_bug.cgi?id=55609
53055
53056        No new tests. This is disabled by default. When enabled, it will draw
53057        essentially the same, but with slightly different antialiased edges, due
53058        to differences between the current scanconverter and GDI's font scaler.
53059        When enabled, we will have to recalibrate layouttest image results.
53060
53061        * platform/graphics/skia/SkiaFontWin.cpp:
53062        (WebCore::skiaDrawText):
53063        (WebCore::setupPaintForFont):
53064        (WebCore::paintSkiaText):
53065
530662011-03-04  Adrienne Walker  <enne@google.com>
53067
53068        Reviewed by James Robinson.
53069
53070        [chromium] Fix texture stride issues on large content and image layers.
53071        https://bugs.webkit.org/show_bug.cgi?id=55679
53072
53073        This was an error caused during the refactoring in r80081.
53074
53075        Tests: LayoutTests/compositing/tiling/huge-layer-img.html
53076
53077        * platform/graphics/chromium/ContentLayerChromium.cpp:
53078        (WebCore::ContentLayerChromium::updateTexture):
53079        * platform/graphics/chromium/ImageLayerChromium.cpp:
53080        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
53081
530822011-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
53083
53084        Unreviewed, rolling out r80379.
53085        http://trac.webkit.org/changeset/80379
53086        https://bugs.webkit.org/show_bug.cgi?id=55799
53087
53088        "Breaks leopard compile (implicit conversion)" (Requested by
53089        tonyg-cr on #webkit).
53090
53091        * css/CSSStyleSelector.cpp:
53092        (WebCore::convertToLength):
53093        (WebCore::CSSStyleSelector::applyProperty):
53094        (WebCore::CSSStyleSelector::createTransformOperations):
53095        * platform/Length.h:
53096        (WebCore::Length::Length):
53097        (WebCore::Length::operator==):
53098        (WebCore::Length::operator!=):
53099        (WebCore::Length::rawValue):
53100        (WebCore::Length::type):
53101        (WebCore::Length::quirk):
53102        (WebCore::Length::setValue):
53103        (WebCore::Length::setRawValue):
53104        (WebCore::Length::calcFloatValue):
53105        (WebCore::Length::isZero):
53106        (WebCore::Length::blend):
53107        * rendering/AutoTableLayout.cpp:
53108        (WebCore::AutoTableLayout::recalcColumn):
53109        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
53110        * rendering/FixedTableLayout.cpp:
53111        (WebCore::FixedTableLayout::calcWidthArray):
53112
531132011-03-04  Jessie Berlin  <jberlin@apple.com>
53114
53115        Reviewed by Darin Adler.
53116
53117        WebKit2: Use CFNetwork Sessions API.
53118        https://bugs.webkit.org/show_bug.cgi?id=55435.
53119
53120        Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
53121        contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
53122
53123        * platform/network/cf/ResourceHandleCFNet.cpp:
53124        (WebCore::makeFinalRequest):
53125        (WebCore::ResourceHandle::willSendRequest):
53126        * platform/network/cf/ResourceRequestCFNet.cpp:
53127        * platform/network/mac/ResourceHandleMac.mm:
53128        (WebCore::ResourceHandle::createNSURLConnection):
53129        (WebCore::ResourceHandle::willSendRequest):
53130        * platform/network/mac/ResourceRequestMac.mm:
53131
531322011-03-04  Yuqiang Xian  <yuqiang.xian@intel.com>
53133
53134        Reviewed by Darin Adler.
53135
53136        improve layout performance by reducing the traversal time of the floating objects
53137        https://bugs.webkit.org/show_bug.cgi?id=55440
53138
53139        We observered large overhead on traversing the floating objects list
53140        in logicalLeftOffsetForLine() and logicalRightOffsetForLine() especially
53141        when the list becomes enormous, for example in the default 30x30 maze test
53142        from http://ie.microsoft.com/testdrive/Performance/MazeSolver/Default.html
53143        there're >3700 floating objects. When placing a new floating object the
53144        entire list (from begin to end) is traversed for multiple times.
53145        There's a low hanging fruit to reduce the chances to do the traversal
53146        which is especially applicable in logicalLeftOffsetForLine and logicalRightOffsetForLine.
53147        As the two routines either cares about FloatLeft objects or FloatRight objects only,
53148        if we know there's no corresponding type floating objects in the list
53149        we can avoid the traversal actually. One thing we could do is to record
53150        the number of FloatLeft objects and the number of FloatRight objects and
53151        add a check before doing the traversal. This can reduce the time by 45%
53152        to resolve the 30x30 Maze measured on N470 Netbook MeeGo using latest
53153        Chromium browser 11 (from 503s to 269s).
53154
53155        No new tests, relying on existing layout tests.
53156
53157        * rendering/RenderBlock.cpp:
53158        (WebCore::RenderBlock::~RenderBlock):
53159        (WebCore::RenderBlock::addOverflowFromFloats):
53160        (WebCore::RenderBlock::repaintOverhangingFloats):
53161        (WebCore::RenderBlock::paintFloats):
53162        (WebCore::RenderBlock::selectionGaps):
53163        (WebCore::RenderBlock::insertFloatingObject):
53164        (WebCore::RenderBlock::removeFloatingObject):
53165        (WebCore::RenderBlock::removeFloatingObjectsBelow):
53166        (WebCore::RenderBlock::positionNewFloats):
53167        (WebCore::RenderBlock::positionNewFloatOnLine):
53168        (WebCore::RenderBlock::logicalLeftOffsetForLine):
53169        (WebCore::RenderBlock::logicalRightOffsetForLine):
53170        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
53171        (WebCore::RenderBlock::lowestFloatLogicalBottom):
53172        (WebCore::RenderBlock::clearFloats):
53173        (WebCore::RenderBlock::addOverhangingFloats):
53174        (WebCore::RenderBlock::addIntrudingFloats):
53175        (WebCore::RenderBlock::containsFloat):
53176        (WebCore::RenderBlock::hitTestFloats):
53177        (WebCore::RenderBlock::adjustForBorderFit):
53178        (WebCore::RenderBlock::FloatingObjects::clear):
53179        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
53180        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
53181        * rendering/RenderBlock.h:
53182        (WebCore::RenderBlock::containsFloats):
53183        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
53184        (WebCore::RenderBlock::FloatingObjects::hasLeftObjects):
53185        (WebCore::RenderBlock::FloatingObjects::hasRightObjects):
53186        (WebCore::RenderBlock::FloatingObjects::set):
53187        * rendering/RenderBlockLineLayout.cpp:
53188        (WebCore::RenderBlock::layoutInlineChildren):
53189        (WebCore::RenderBlock::matchedEndLine):
53190
531912011-03-04  Rik Cabanier  <cabanier@gmail.com>
53192
53193        Reviewed by David Hyatt.
53194
53195        Fix that allows fixed length values to be floating point
53196        https://bugs.webkit.org/show_bug.cgi?id=52699
53197
53198        * WebCore.xcodeproj/project.pbxproj:
53199        * css/CSSStyleSelector.cpp:
53200        (WebCore::convertToLength):
53201        (WebCore::convertToIntLength):
53202        (WebCore::convertToFloatLength):
53203        (WebCore::CSSStyleSelector::applyProperty):
53204        (WebCore::CSSStyleSelector::createTransformOperations):
53205        * platform/Length.h:
53206        (WebCore::Length::Length):
53207        (WebCore::Length::operator==):
53208        (WebCore::Length::operator!=):
53209        (WebCore::Length::rawValue):
53210        (WebCore::Length::type):
53211        (WebCore::Length::quirk):
53212        (WebCore::Length::setValue):
53213        (WebCore::Length::calcFloatValue):
53214        (WebCore::Length::isZero):
53215        (WebCore::Length::blend):
53216        (WebCore::Length::getIntValue):
53217        (WebCore::Length::getFloatValue):
53218        * rendering/AutoTableLayout.cpp:
53219        (WebCore::AutoTableLayout::recalcColumn):
53220        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
53221        * rendering/FixedTableLayout.cpp:
53222        (WebCore::FixedTableLayout::calcWidthArray):
53223
532242011-03-04  Steve Falkenburg  <sfalken@apple.com>
53225
53226        Reviewed by Jon Honeycutt.
53227
53228        Adopt VersionStamper tool for Windows WebKit DLLs
53229        https://bugs.webkit.org/show_bug.cgi?id=55784
53230
53231        We now use a tool to stamp the version number onto the Apple WebKit DLLs
53232        during the post-build step.
53233
53234        * WebCore.vcproj/QTMovieWin.rc: Removed.
53235        * WebCore.vcproj/QTMovieWin.vcproj:
53236        * WebCore.vcproj/QTMovieWinPostBuild.cmd: Stamp version with VersionStamper.
53237        * WebCore.vcproj/QTMovieWinPreBuild.cmd: Don't run auto-version.sh. We don't use autoversion.h in this project.
53238        * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove unnecessary include paths for resource files.
53239
532402011-03-04  Cosmin Truta  <ctruta@chromium.org>
53241
53242        Reviewed by Adam Barth.
53243
53244        Clarify comment about potential memory leak in SVGImage
53245        https://bugs.webkit.org/show_bug.cgi?id=55362
53246
53247        No functionality change. No new tests.
53248
53249        * svg/graphics/SVGImage.cpp:
53250        (WebCore::SVGImage::dataChanged):
53251
532522011-03-04  Jessie Berlin  <jberlin@apple.com>
53253
53254        Reviewed by Maciej Stachowiak.
53255
53256        WebKit2: Use CFNetwork Sessions API.
53257        https://bugs.webkit.org/show_bug.cgi?id=55435.
53258
53259        When Private Browsing is enabled, get the cached url response from the cache associated with
53260        the Private Browsing Storage Session.
53261
53262        * WebCore.exp.in:
53263        Export the symbol for ResourceHandle::privateBrowsingStorageSession.
53264
532652011-03-04  Steve Block  <steveblock@google.com>
53266
53267        Reviewed by Jeremy Orlow.
53268
53269        JSC and V8 versions of Java bridge should share JobjectWrapper
53270        https://bugs.webkit.org/show_bug.cgi?id=55763
53271
53272        No new tests, refactoring only.
53273
53274        * Android.jscbindings.mk:
53275        * Android.v8bindings.mk:
53276        * WebCore.gypi:
53277        * WebCore.order:
53278        * WebCore.xcodeproj/project.pbxproj:
53279        * bridge/jni/JobjectWrapper.cpp:
53280        (JobjectWrapper::JobjectWrapper):
53281        (JobjectWrapper::~JobjectWrapper):
53282        * bridge/jni/JobjectWrapper.h:
53283        (JSC::Bindings::JobjectWrapper::instance):
53284        (JSC::Bindings::JobjectWrapper::setInstance):
53285        (JSC::Bindings::JobjectWrapper::ref):
53286        (JSC::Bindings::JobjectWrapper::deref):
53287        * bridge/jni/jsc/JNIBridgeJSC.cpp:
53288        (JavaField::JavaField):
53289        (JavaArray::JavaArray):
53290        * bridge/jni/jsc/JNIBridgeJSC.h:
53291        * bridge/jni/jsc/JavaInstanceJSC.cpp:
53292        (JavaInstance::JavaInstance):
53293        * bridge/jni/jsc/JavaInstanceJSC.h:
53294
532952011-03-04  Patrick Gansterer  <paroga@webkit.org>
53296
53297        Reviewed by Nikolas Zimmermann.
53298
53299        Move shared code into SVGStyledTransformableElement::svgAttributeChanged
53300        https://bugs.webkit.org/show_bug.cgi?id=55771
53301
53302        All sub classes of SVGStyledTransformableElement request a relayout
53303        the same way. So move that code into the common base class.
53304
53305        * svg/SVGCircleElement.cpp:
53306        (WebCore::SVGCircleElement::svgAttributeChanged):
53307        * svg/SVGEllipseElement.cpp:
53308        (WebCore::SVGEllipseElement::svgAttributeChanged):
53309        * svg/SVGForeignObjectElement.cpp:
53310        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
53311        * svg/SVGGElement.cpp:
53312        (WebCore::SVGGElement::svgAttributeChanged):
53313        * svg/SVGImageElement.cpp:
53314        (WebCore::SVGImageElement::svgAttributeChanged):
53315        * svg/SVGLineElement.cpp:
53316        (WebCore::SVGLineElement::svgAttributeChanged):
53317        * svg/SVGPathElement.cpp:
53318        (WebCore::SVGPathElement::svgAttributeChanged):
53319        * svg/SVGPolyElement.cpp:
53320        (WebCore::SVGPolyElement::svgAttributeChanged):
53321        * svg/SVGRectElement.cpp:
53322        (WebCore::SVGRectElement::svgAttributeChanged):
53323        * svg/SVGStyledTransformableElement.cpp:
53324        (WebCore::SVGStyledTransformableElement::svgAttributeChanged):
53325        * svg/SVGStyledTransformableElement.h:
53326        * svg/SVGUseElement.cpp:
53327        (WebCore::SVGUseElement::svgAttributeChanged):
53328
533292011-03-03  John Abd-El-Malek  <jam@chromium.org>
53330
53331        Reviewed by Dimitri Glazkov.
53332
53333        [chromium] Get rid of IsContentFiltered flags since they&apos;re not used anymore
53334        https://bugs.webkit.org/show_bug.cgi?id=55748
53335
53336        * platform/network/chromium/ResourceResponse.cpp:
53337        (WebCore::ResourceResponse::doPlatformCopyData):
53338        (WebCore::ResourceResponse::doPlatformAdopt):
53339        * platform/network/chromium/ResourceResponse.h:
53340        (WebCore::ResourceResponse::ResourceResponse):
53341
533422011-03-03  Timothy Hatcher  <timothy@apple.com>
53343
53344        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
53345
53346        Reviewed by Darin Adler.
53347
53348        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
53349
533502011-03-04  Pavel Podivilov  <podivilov@chromium.org>
53351
53352        Reviewed by Yury Semikhatsky.
53353
53354        Web Inspector: extract all code that depends on source mapping from SourceFrame.
53355        https://bugs.webkit.org/show_bug.cgi?id=55464
53356
53357        Extract all dependencies on DebuggerModel and ScriptsPanel to a delegate class
53358        to encapsulate source mapping aspects from SourceFrame.
53359
53360        * inspector/front-end/ResourceView.js:
53361        (WebInspector.ResourceView.createResourceView):
53362        (WebInspector.SourceFrameDelegateForResourcesPanel):
53363        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
53364        * inspector/front-end/ScriptsPanel.js:
53365        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
53366        (WebInspector.SourceFrameDelegateForScriptsPanel):
53367        * inspector/front-end/SourceFrame.js:
53368        (WebInspector.SourceFrame):
53369        (WebInspector.SourceFrame.prototype.show):
53370        (WebInspector.SourceFrame.prototype._createTextViewer):
53371        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
53372        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
53373        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
53374        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
53375        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
53376        (WebInspector.SourceFrame.prototype._contextMenu):
53377        (WebInspector.SourceFrame.prototype._mouseDown):
53378        (WebInspector.SourceFrame.prototype._mouseMove):
53379        (WebInspector.SourceFrame.prototype._hidePopup):
53380        (WebInspector.SourceFrame.prototype._mouseHover):
53381        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
53382        (WebInspector.SourceFrame.prototype._showPopup):
53383        (WebInspector.SourceFrame.prototype._doubleClick):
53384        (WebInspector.SourceFrame.prototype._didEditLine):
53385        (WebInspector.SourceFrameDelegate):
53386        (WebInspector.SourceFrameDelegate.prototype.requestContent):
53387        (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
53388        (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
53389        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
53390        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
53391        (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
53392        (WebInspector.SourceFrameDelegate.prototype.continueToLine):
53393        (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
53394        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
53395        (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
53396        (WebInspector.SourceFrameDelegate.prototype.evaluate):
53397        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
53398
533992011-03-04  Andrey Kosyakov  <caseq@chromium.org>
53400
53401        Reviewed by Pavel Feldman.
53402
53403        Web Inspector: [Extensions API] maintain own, unique & persistent identifiers for resources.
53404        https://bugs.webkit.org/show_bug.cgi?id=55686
53405
53406        - Use internal ids for resources in extension server.
53407        - Log errors in inspector tests.
53408
53409        * inspector/front-end/ExtensionServer.js:
53410        (WebInspector.ExtensionServer):
53411        (WebInspector.ExtensionServer.prototype.resetResources):
53412        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
53413        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
53414        (WebInspector.ExtensionServer.prototype._onGetHAR):
53415        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
53416        (WebInspector.ExtensionServer.prototype._resourceId):
53417        (WebInspector.ExtensionServer.prototype._resourceById):
53418        * inspector/front-end/HAREntry.js:
53419        (WebInspector.HARLog):
53420        (WebInspector.HARLog.prototype._convertResource):
53421        * inspector/front-end/NetworkPanel.js:
53422        (WebInspector.NetworkPanel.prototype._reset):
53423
534242011-03-04  Andrey Kosyakov  <caseq@chromium.org>
53425
53426        Reviewed by Pavel Feldman.
53427
53428        Web Inspector: exceptions when building context menu in network panel
53429        https://bugs.webkit.org/show_bug.cgi?id=55678
53430
53431        * inspector/front-end/DataGrid.js:
53432        (WebInspector.DataGrid.prototype.dataGridNodeFromNode):
53433        (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
53434        * inspector/front-end/NetworkPanel.js:
53435        (WebInspector.NetworkPanel.prototype._contextMenu):
53436
534372011-03-04  Ilya Sherman  <isherman@chromium.org>
53438
53439        Reviewed by James Robinson.
53440
53441        Override paintScrollCorner() for FramelessScrollView to forego any custom scrollbar corner rendering.
53442        This was previously done in ScrollbarThemeChromium, but we also need this on the Mac when the ScrollView
53443        is a FramelessScrollView -- which is mostly just for Autofill.
53444        In service of http://crbug.com/73772 (crash)
53445        https://bugs.webkit.org/show_bug.cgi?id=55557
53446
53447        No tests added because this fix is Chromium-specific and the code is currently untestable from within WebKit.
53448        In particular, DRT crashes when trying to render a FramelessScrollView.
53449
53450        * platform/ScrollbarTheme.h:
53451        (WebCore::ScrollbarTheme::paintScrollCorner): Body moved to static function defaultPaintScrollCorner().
53452        (WebCore::ScrollbarTheme::defaultPaintScrollCorner): Added.
53453        * platform/chromium/FramelessScrollView.cpp:
53454        (WebCore::FramelessScrollView::paintContents):
53455        (WebCore::FramelessScrollView::paintScrollCorner): Fix implementation moved to here from ScrollbarThemeChromium
53456        * platform/chromium/FramelessScrollView.h:
53457        * platform/chromium/ScrollbarThemeChromium.cpp:
53458        * platform/chromium/ScrollbarThemeChromium.h:
53459
534602011-03-04  Yury Semikhatsky  <yurys@chromium.org>
53461
53462        Reviewed by Pavel Feldman.
53463
53464        Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation
53465        https://bugs.webkit.org/show_bug.cgi?id=55770
53466
53467        * inspector/InspectorAgent.cpp:
53468        (WebCore::InspectorAgent::InspectorAgent):
53469        (WebCore::InspectorAgent::didCommitLoad):
53470        * inspector/InspectorCSSAgent.cpp:
53471        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
53472        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
53473        * inspector/InspectorCSSAgent.h:
53474        * inspector/InspectorDatabaseAgent.cpp:
53475        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
53476        * inspector/InspectorInstrumentation.cpp:
53477        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
53478        * inspector/InspectorInstrumentation.h:
53479        (WebCore::InspectorInstrumentation::didCommitLoad):
53480        * inspector/InspectorProfilerAgent.cpp:
53481        (WebCore::InspectorProfilerAgent::create):
53482        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
53483        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
53484        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
53485        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
53486        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
53487        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
53488        * inspector/InspectorProfilerAgent.h:
53489        * inspector/InstrumentingAgents.h:
53490        (WebCore::InstrumentingAgents::InstrumentingAgents):
53491        (WebCore::InstrumentingAgents::inspectorCSSAgent):
53492        (WebCore::InstrumentingAgents::setInspectorCSSAgent):
53493        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
53494        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
53495        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
53496        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
53497        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
53498        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
53499        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
53500        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
53501        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
53502        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
53503        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
53504        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
53505
535062011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
53507
53508        Reviewed by Yury Semikhatsky.
53509
53510        Web Inspector: rename RuntimeAgent's function from releaseWrapperObjectGroup to releaseObjectGroup.
53511        https://bugs.webkit.org/show_bug.cgi?id=55773
53512
53513        * inspector/CodeGeneratorInspector.pm:
53514        * inspector/InjectedScript.cpp:
53515        (WebCore::InjectedScript::releaseObjectGroup):
53516        * inspector/InjectedScript.h:
53517        * inspector/InjectedScriptHost.cpp:
53518        (WebCore::InjectedScriptHost::releaseObjectGroup):
53519        * inspector/InjectedScriptHost.h:
53520        * inspector/InjectedScriptSource.js:
53521        (.):
53522        * inspector/Inspector.idl:
53523        * inspector/InspectorConsoleAgent.cpp:
53524        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
53525        * inspector/InspectorRuntimeAgent.cpp:
53526        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
53527        * inspector/InspectorRuntimeAgent.h:
53528        * inspector/front-end/ConsoleView.js:
53529        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
53530        (WebInspector.ConsoleView.prototype.completions):
53531        * inspector/front-end/PropertiesSidebarPane.js:
53532        * inspector/front-end/SourceFrame.js:
53533        (WebInspector.SourceFrame.prototype._hidePopup):
53534        * inspector/front-end/WatchExpressionsSidebarPane.js:
53535        (WebInspector.WatchExpressionsSection.prototype.update):
53536
535372011-03-02  Andrey Adaikin  <aandrey@google.com>
53538
53539        Reviewed by Pavel Feldman.
53540
53541        Web Inspector: Gutter height should be 100% when few lines are displayed
53542        https://bugs.webkit.org/show_bug.cgi?id=55574
53543
53544        * inspector/front-end/SourceFrame.js:
53545        (WebInspector.SourceFrame.prototype._startEditing):
53546        * inspector/front-end/TextViewer.js:
53547        (WebInspector.TextViewer.prototype._syncScroll):
53548        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
53549        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
53550        (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
53551        * inspector/front-end/textViewer.css:
53552        (.text-editor-lines):
53553        (.text-editor-contents .inner-container):
53554        (.webkit-line-number):
53555
535562011-03-04  Andrey Adaikin  <aandrey@google.com>
53557
53558        Reviewed by Pavel Feldman.
53559
53560        Web Inspector: [Text editor] Do bisect to find visible chunks
53561        https://bugs.webkit.org/show_bug.cgi?id=55685
53562
53563        * inspector/front-end/TextViewer.js:
53564        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
53565        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
53566        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
53567        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
53568        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
53569        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
53570
535712011-03-04  Andrey Adaikin  <aandrey@google.com>
53572
53573        Reviewed by Pavel Feldman.
53574
53575        Web Inspector: [Text editor] DOMNodeRemoved events are missing
53576        https://bugs.webkit.org/show_bug.cgi?id=55769
53577
53578        * inspector/front-end/TextViewer.js:
53579        (WebInspector.TextEditorMainPanel):
53580        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
53581        (WebInspector.TextEditorMainChunk):
53582        (WebInspector.TextEditorMainChunk.prototype._createRow):
53583
535842011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
53585
53586        Reviewed by Yury Semikhatsky.
53587
53588        Web Inspector: Remove unnecessary domain and success flags from the response messages.
53589        https://bugs.webkit.org/show_bug.cgi?id=55768
53590
53591        We have domain property in the response messages but it is not used because we dispatch
53592        the responses on the callback associated with seq.
53593
53594        If we have property 'errors' in the response then success eq false and true in the other case.
53595
53596        * inspector/CodeGeneratorInspector.pm:
53597
535982011-03-04  Christian Dywan  <christian@lanedo.com>
53599
53600        Reviewed by Gustavo Noronha Silva.
53601
53602        Enable Copy Image Address context menu item in the Gtk port
53603        https://bugs.webkit.org/show_bug.cgi?id=55136
53604
53605        * page/ContextMenuController.cpp:
53606        * platform/ContextMenuItem.h:
53607        * platform/LocalizationStrategy.h:
53608        * platform/LocalizedStrings.cpp:
53609        * platform/LocalizedStrings.h:
53610        * platform/gtk/ContextMenuItemGtk.cpp:
53611        * platform/gtk/LocalizedStringsGtk.cpp:
53612
536132011-03-04  Pavel Feldman  <pfeldman@chromium.org>
53614
53615        Reviewed by Yury Semikhatsky.
53616
53617        Web Inspector: implement getCompletions via evaluate.
53618        https://bugs.webkit.org/show_bug.cgi?id=55759
53619
53620        * inspector/InjectedScript.cpp:
53621        * inspector/InjectedScript.h:
53622        * inspector/InjectedScriptSource.js:
53623        * inspector/Inspector.idl:
53624        * inspector/InspectorDebuggerAgent.cpp:
53625        * inspector/InspectorDebuggerAgent.h:
53626        * inspector/InspectorRuntimeAgent.cpp:
53627        * inspector/InspectorRuntimeAgent.h:
53628        * inspector/front-end/ConsoleView.js:
53629        (WebInspector.ConsoleView.prototype.completions.evaluated):
53630        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
53631        (WebInspector.ConsoleView.prototype.completions):
53632        (WebInspector.ConsoleView.prototype._reportCompletions):
53633        * inspector/front-end/ScriptsPanel.js:
53634        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
53635        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
53636        * inspector/front-end/SourceFrame.js:
53637        (WebInspector.SourceFrame.prototype._showPopup):
53638        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
53639
536402011-03-04  Steve Block  <steveblock@google.com>
53641
53642        Reviewed by Jeremy Orlow.
53643
53644        V8 version of JavaString should obtain string from JNI in UTF-16 encoding
53645        https://bugs.webkit.org/show_bug.cgi?id=55566
53646
53647        We obtain the string from JNI in UTF-16 encoding and convert
53648        to UTF-8 using our own routines as required. This matches the
53649        behaviour of the JSC version of JavaString.
53650
53651        No new tests, no change in behaviour.
53652
53653        * bridge/jni/v8/JavaStringV8.h:
53654        (JSC::Bindings::JavaStringImpl::init):
53655        (JSC::Bindings::JavaStringImpl::utf8):
53656        (JSC::Bindings::JavaStringImpl::impl):
53657
536582011-03-03  Pavel Feldman  <pfeldman@chromium.org>
53659
53660        Reviewed by Yury Semikhatsky.
53661
53662        Web Inspector: do not push document into front-end, make it request one.
53663        https://bugs.webkit.org/show_bug.cgi?id=55664
53664
53665        * inspector/Inspector.idl:
53666        * inspector/InspectorAgent.cpp:
53667        (WebCore::InspectorAgent::InspectorAgent):
53668        * inspector/InspectorAgent.h:
53669        * inspector/InspectorBrowserDebuggerAgent.cpp:
53670        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
53671        * inspector/InspectorDOMAgent.cpp:
53672        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
53673        (WebCore::InspectorDOMAgent::clearFrontend):
53674        (WebCore::InspectorDOMAgent::setDocument):
53675        (WebCore::InspectorDOMAgent::getDocument):
53676        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
53677        (WebCore::InspectorDOMAgent::boundNodeId):
53678        (WebCore::InspectorDOMAgent::resolveNode):
53679        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
53680        * inspector/InspectorDOMAgent.h:
53681        (WebCore::InspectorDOMAgent::create):
53682        * inspector/front-end/BreakpointManager.js:
53683        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
53684        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
53685        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
53686        * inspector/front-end/DOMAgent.js:
53687        (WebInspector.DOMDocument):
53688        (WebInspector.DOMAgent):
53689        (WebInspector.DOMAgent.prototype.requestDocument):
53690        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
53691        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
53692        (WebInspector.DOMAgent.prototype._attributesUpdated):
53693        (WebInspector.DOMAgent.prototype._characterDataModified):
53694        (WebInspector.DOMAgent.prototype._documentUpdated):
53695        (WebInspector.DOMAgent.prototype._setDocument):
53696        (WebInspector.DOMAgent.prototype._setDetachedRoot):
53697        (WebInspector.DOMAgent.prototype._setChildNodes):
53698        (WebInspector.DOMAgent.prototype._childNodeInserted):
53699        (WebInspector.DOMAgent.prototype._childNodeRemoved):
53700        (WebInspector.DOMDispatcher.prototype.documentUpdated):
53701        * inspector/front-end/ElementsPanel.js:
53702        (WebInspector.ElementsPanel.prototype.show):
53703        (WebInspector.ElementsPanel.prototype.setDocument):
53704        * inspector/front-end/MetricsSidebarPane.js:
53705        * inspector/front-end/RemoteObject.js:
53706        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
53707
537082011-03-04  Andrey Kosyakov  <caseq@chromium.org>
53709
53710        Reviewed by Pavel Feldman.
53711
53712        Web Inspector: summary bar may overlap content of the network item view
53713        https://bugs.webkit.org/show_bug.cgi?id=55656
53714
53715        - drop custom summary bar placement logic, do it with CSS instead.
53716
53717        * inspector/front-end/NetworkPanel.js:
53718        (WebInspector.NetworkPanel.prototype.resize):
53719        (WebInspector.NetworkPanel.prototype._createSummaryBar):
53720        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
53721        (WebInspector.NetworkPanel.prototype._updateFilter):
53722        (WebInspector.NetworkPanel.prototype.show):
53723        (WebInspector.NetworkPanel.prototype.refresh):
53724        (WebInspector.NetworkPanel.prototype._reset):
53725        (WebInspector.NetworkPanel.prototype._setLargerResources):
53726        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
53727        * inspector/front-end/networkPanel.css:
53728        (.network-sidebar .data-grid td):
53729        (.network-sidebar tr.filler td):
53730        (.network-summary-bar):
53731        (.network-sidebar .data-grid .network-summary-bar td):
53732        (.network-summary-bar img):
53733
537342011-03-04  James Su <suzhe@chromium.org>
53735
53736        Reviewed by Dimitri Glazkov.
53737
53738        [Chromium] keycode is always 0 when using non-Latin keyboard layout.
53739        https://bugs.webkit.org/show_bug.cgi?id=54939
53740
53741        Add KeyEventCocoa.{h,mm}, so that we can reuse them in chromium.
53742
53743        No intended functionality change.
53744
53745        * WebCore.gyp/WebCore.gyp:
53746        * WebCore.gypi:
53747
537482011-03-04  Patrick Gansterer  <paroga@webkit.org>
53749
53750        Unreviewed EFL build fix for r80324.
53751
53752        * platform/efl/RenderThemeEfl.cpp:
53753        (WebCore::RenderThemeEfl::paintThemePart):
53754
537552011-03-04  Patrick Gansterer  <paroga@webkit.org>
53756
53757        Unreviewed EFL build fix for r80324.
53758
53759        * platform/efl/RenderThemeEfl.cpp:
53760        (WebCore::RenderThemeEfl::paintThemePart):
53761
537622011-03-03  Yury Semikhatsky  <yurys@chromium.org>
53763
53764        Reviewed by Pavel Feldman.
53765
53766        Web Inspector: AppCache agent should have same lifetime as InspectorAgent
53767        https://bugs.webkit.org/show_bug.cgi?id=55673
53768
53769        * inspector/InspectorAgent.cpp:
53770        (WebCore::InspectorAgent::InspectorAgent):
53771        (WebCore::InspectorAgent::setFrontend):
53772        (WebCore::InspectorAgent::disconnectFrontend):
53773        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
53774        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
53775        (WebCore::InspectorAgent::didCommitLoad):
53776        * inspector/InspectorApplicationCacheAgent.cpp:
53777        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
53778        (WebCore::InspectorApplicationCacheAgent::setFrontend):
53779        (WebCore::InspectorApplicationCacheAgent::clearFrontend):
53780        * inspector/InspectorApplicationCacheAgent.h:
53781        * inspector/InspectorInstrumentation.cpp:
53782        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
53783        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
53784        * inspector/InstrumentingAgents.h:
53785        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
53786        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
53787
537882011-03-03  Brian Weinstein  <bweinstein@apple.com>
53789
53790        Reviewed by Adam Roben.
53791
53792        Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
53793
53794        Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
53795        on all platforms, and stub the functions on platforms that don't implement them.
53796
53797        Add startObservingCookieChanges and stopObservingCookieChanges to TemporaryLinkStubs
53798        for platforms that don't implement them.
53799
53800        * platform/android/TemporaryLinkStubs.cpp:
53801        * platform/brew/TemporaryLinkStubs.cpp:
53802        * platform/chromium/TemporaryLinkStubs.cpp:
53803        * platform/efl/TemporaryLinkStubs.cpp:
53804        * platform/gtk/TemporaryLinkStubs.cpp:
53805        * platform/haiku/TemporaryLinkStubs.cpp:
53806        * platform/qt/TemporaryLinkStubsQt.cpp:
53807        * platform/win/TemporaryLinkStubs.cpp:
53808
538092011-03-03  Eric Seidel  <eric@webkit.org>
53810
53811        Reviewed by Dimitri Glazkov.
53812
53813        Refactor createRendererIfNeeded to avoid premature nextRenderer calculation
53814        https://bugs.webkit.org/show_bug.cgi?id=55720
53815
53816        There are two thing going on here:
53817        1. Delaying nextRenderer calculation until we actually use it,
53818           previously we would always compute nextRenderer (expensive!)
53819           even if no renderer insertion was to occur.
53820        2. Fix fullscreen elements to be inserted into the right place
53821           in the rendering tree.  Previously they would always be the last
53822           child in their parent's list, even if that wasn't the right place.
53823
53824        I don't know of any way to trigger the fullscreen bug,
53825        but I tested this with peacekeeper and saw no performance change.
53826
53827        Peacekeeper's domJQueryBasics is now possibly as much as 2% faster
53828        but I don't really trust the stability of peacekeeper to begin with.
53829
53830        This paves the way for further improvement in our nextRenderer calculation.
53831
53832        * dom/Node.cpp:
53833        (WebCore::Node::attach):
53834        (WebCore::Node::previousRenderer):
53835        (WebCore::Node::nextRenderer):
53836        (WebCore::Node::createRendererAndStyle):
53837        (WebCore::wrapWithRenderFullScreen):
53838        (WebCore::Node::createRendererIfNeeded):
53839        * dom/Node.h:
53840
538412011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
53842
53843        Reviewed by Darin Adler.
53844
53845        Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
53846        https://bugs.webkit.org/show_bug.cgi?id=55554
53847
53848        * platform/Length.cpp:
53849        (WebCore::newLengthArray): Pass nullptr instead of 0.
53850
538512011-03-03  Nat Duca  <nduca@chromium.org>
53852
53853        Reviewed by James Robinson.
53854
53855        [chromium] Create a LayerChromium layerTreeAsText. Add HUD to
53856        LayerRendererChromium that draws compositor FPS and, optionally,
53857        the layer tree.
53858        https://bugs.webkit.org/show_bug.cgi?id=54710
53859
53860        * WebCore.gypi:
53861        * platform/graphics/chromium/Canvas2DLayerChromium.h:
53862        (WebCore::Canvas2DLayerChromium::drawsContent):
53863        * platform/graphics/chromium/CanvasLayerChromium.h:
53864        (WebCore::CanvasLayerChromium::layerTypeAsString):
53865        * platform/graphics/chromium/ContentLayerChromium.cpp:
53866        (WebCore::writeIndent):
53867        (WebCore::ContentLayerChromium::dumpLayerProperties):
53868        * platform/graphics/chromium/ContentLayerChromium.h:
53869        (WebCore::ContentLayerChromium::drawsContent):
53870        (WebCore::ContentLayerChromium::layerTypeAsString):
53871        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53872        (WebCore::GraphicsLayerChromium::setName):
53873        (WebCore::GraphicsLayerChromium::updateNames):
53874        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
53875        (WebCore::GraphicsLayerChromium::setupContentsLayer):
53876        * platform/graphics/chromium/GraphicsLayerChromium.h:
53877        * platform/graphics/chromium/ImageLayerChromium.h:
53878        (WebCore::ImageLayerChromium::drawsContent):
53879        (WebCore::ImageLayerChromium::layerTypeAsString):
53880        * platform/graphics/chromium/LayerChromium.cpp:
53881        (WebCore::LayerChromium::LayerChromium):
53882        (WebCore::LayerChromium::setName):
53883        (WebCore::LayerChromium::layerTreeAsText):
53884        (WebCore::writeIndent):
53885        (WebCore::LayerChromium::dumpLayer):
53886        (WebCore::LayerChromium::dumpLayerProperties):
53887        * platform/graphics/chromium/LayerChromium.h:
53888        (WebCore::LayerChromium::name):
53889        (WebCore::LayerChromium::drawsContent):
53890        (WebCore::LayerChromium::debugID):
53891        (WebCore::LayerChromium::layerTypeAsString):
53892        * platform/graphics/chromium/LayerRendererChromium.cpp:
53893        (WebCore::LayerRendererChromium::LayerRendererChromium):
53894        (WebCore::LayerRendererChromium::~LayerRendererChromium):
53895        (WebCore::LayerRendererChromium::drawLayers):
53896        (WebCore::LayerRendererChromium::present):
53897        (WebCore::LayerRendererChromium::layerTreeAsText):
53898        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
53899        * platform/graphics/chromium/LayerRendererChromium.h:
53900        (WebCore::LayerRendererChromium::getHeadsUpDisplay):
53901        (WebCore::LayerRendererChromium::rootVisibleRect):
53902        * platform/graphics/chromium/PluginLayerChromium.h:
53903        (WebCore::PluginLayerChromium::drawsContent):
53904        (WebCore::PluginLayerChromium::layerTypeAsString):
53905        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
53906        (WebCore::RenderSurfaceChromium::name):
53907        (WebCore::writeIndent):
53908        (WebCore::RenderSurfaceChromium::dumpSurface):
53909        * platform/graphics/chromium/RenderSurfaceChromium.h:
53910        * platform/graphics/chromium/VideoLayerChromium.h:
53911        (WebCore::VideoLayerChromium::drawsContent):
53912        (WebCore::VideoLayerChromium::layerTypeAsString):
53913        * platform/graphics/chromium/WebGLLayerChromium.h:
53914        (WebCore::WebGLLayerChromium::drawsContent):
53915        (WebCore::WebGLLayerChromium::layerTypeAsString):
53916        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: Added.
53917        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
53918        (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
53919        (WebCore::CCHeadsUpDisplay::draw):
53920        (WebCore::CCHeadsUpDisplay::drawHudContents):
53921        (WebCore::CCHeadsUpDisplay::onPresent):
53922        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: Added.
53923        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
53924        (WebCore::CCHeadsUpDisplay::showFPSCounter):
53925        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
53926        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
53927        (WebCore::CCHeadsUpDisplay::enabled):
53928        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
53929        (WebCore::CCLayerImpl::CCLayerImpl):
53930        (WebCore::writeIndent):
53931        (WebCore::CCLayerImpl::dumpLayerProperties):
53932        * platform/graphics/chromium/cc/CCLayerImpl.h:
53933        (WebCore::CCLayerImpl::debugID):
53934        (WebCore::CCLayerImpl::setName):
53935        (WebCore::CCLayerImpl::name):
53936
539372011-03-02  Ojan Vafai  <ojan@chromium.org>
53938
53939        Reviewed by Darin Adler.
53940
53941        crash in adoptNode with mutation events
53942        https://bugs.webkit.org/show_bug.cgi?id=50046
53943
53944        If the DOM is modified during the removeChild call in adoptNode,
53945        then the setDocument call that follows can leave the DOM in an
53946        inconsistent state.
53947
53948        * dom/Document.cpp:
53949        (WebCore::Document::adoptNode):
53950
539512011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
53952
53953        Reviewed by Darin Adler.
53954
53955        Add audio tag tests to the media controls manual test suite.
53956        https://bugs.webkit.org/show_bug.cgi?id=55722
53957
53958        * manual-tests/media-controls.html: Added 4 audio tests.
53959
539602011-03-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
53961
53962        Reviewed by Eric Seidel.
53963
53964        [EFL] Adjust functions of RenderThemeEfl.cpp to WebKit parameter style
53965        https://bugs.webkit.org/show_bug.cgi?id=54392
53966
53967        Functions of RenderThemeEfl.cpp adhere efl coding style instead of WebKit coding style.
53968        WebCore's functions should adhere WebKit coding style.
53969
53970        * platform/efl/RenderThemeEfl.cpp:
53971        (WebCore::RenderThemeEfl::themePartCacheEntryReset):
53972        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
53973        (WebCore::RenderThemeEfl::cacheThemePartNew):
53974        (WebCore::RenderThemeEfl::cacheThemePartReset):
53975        (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset):
53976        (WebCore::RenderThemeEfl::cacheThemePartGet):
53977        (WebCore::RenderThemeEfl::cacheThemePartFlush):
53978        (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
53979        (WebCore::RenderThemeEfl::paintThemePart):
53980        (WebCore::renderThemeEflColorClassSelectionActive):
53981        (WebCore::renderThemeEflColorClassSelectionInactive):
53982        (WebCore::renderThemeEflColorClassFocusRing):
53983        (WebCore::renderThemeEflColorClassButtonText):
53984        (WebCore::renderThemeEflColorClassComboText):
53985        (WebCore::renderThemeEflColorClassEntryText):
53986        (WebCore::renderThemeEflColorClassSearchText):
53987        (WebCore::RenderThemeEfl::applyPartDescription):
53988        (WebCore::RenderThemeEfl::applyPartDescriptions):
53989        (WebCore::RenderThemeEfl::controlSupportsTints):
53990        (WebCore::RenderThemeEfl::baselinePosition):
53991        (WebCore::RenderThemeEfl::paintSliderTrack):
53992        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
53993        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
53994        (WebCore::RenderThemeEfl::paintSliderThumb):
53995        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
53996        (WebCore::RenderThemeEfl::paintCheckbox):
53997        (WebCore::RenderThemeEfl::adjustRadioStyle):
53998        (WebCore::RenderThemeEfl::paintRadio):
53999        (WebCore::RenderThemeEfl::adjustButtonStyle):
54000        (WebCore::RenderThemeEfl::paintButton):
54001        (WebCore::RenderThemeEfl::adjustMenuListStyle):
54002        (WebCore::RenderThemeEfl::paintMenuList):
54003        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
54004        (WebCore::RenderThemeEfl::paintTextField):
54005        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
54006        (WebCore::RenderThemeEfl::paintTextArea):
54007        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
54008        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
54009        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
54010        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
54011        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
54012        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
54013        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
54014        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
54015        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
54016        (WebCore::RenderThemeEfl::paintSearchField):
54017        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
54018        (WebCore::RenderThemeEfl::paintProgressBar):
54019        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
54020        (WebCore::RenderThemeEfl::paintMediaMuteButton):
54021        (WebCore::RenderThemeEfl::paintMediaPlayButton):
54022        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
54023        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
54024        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
54025        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
54026        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
54027        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
54028        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
54029        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
54030
540312011-03-03  Andy Estes  <aestes@apple.com>
54032
54033        Reviewed by Adam Barth.
54034
54035        Assertion failure in toElement(WebCore::Node*)
54036        https://bugs.webkit.org/show_bug.cgi?id=55697
54037
54038        Test: fast/parser/fragment-foreign-content.html
54039
54040        * html/parser/HTMLTreeBuilder.cpp:
54041        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): The current
54042        element in the HTMLElementStack might be a DocumentFragment if a
54043        fragment is being parsed who's first node is foreign content.
54044
540452011-03-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
54046
54047        Reviewed by Kenneth Rohde Christiansen.
54048
54049        [QT] Implement mock client-based geolocation for layout testing
54050        https://bugs.webkit.org/show_bug.cgi?id=54334
54051
54052        Implements client() to GeolocationController to re-use geolocationClientMock class
54053        for layout testing purpose.
54054
54055        * page/GeolocationController.h:
54056        (WebCore::GeolocationController::client):
54057
540582011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
54059
54060        Reviewed by Kent Tamura.
54061
54062        Stop calling deprecatedNode and deprecatedEditingOffset in InsertTextCommand
54063        https://bugs.webkit.org/show_bug.cgi?id=55352
54064
54065        Stopped calling deprecatedNode and deprecatedEditingOffset in the following functions:
54066
54067        * editing/CompositeEditCommand.cpp:
54068        (WebCore::CompositeEditCommand::positionOutsideTabSpan): Takes care of all types of positions and
54069        no longer calls deprecated functions.
54070        * editing/InsertTextCommand.cpp:
54071        (WebCore::InsertTextCommand::positionInsideTextNode): Ditto; renamed from prepareForTextInsertion.
54072        Check if the text node inside a tab span before checking if the container node is a text node
54073        because the position before or after a text node can still be inside a tab span.
54074        (WebCore::InsertTextCommand::input): No longer calls deprecated functions.
54075        * editing/InsertTextCommand.h:
54076        * editing/ModifySelectionListLevel.cpp:
54077        (WebCore::getStartEndListChildren): Call anchorNode() instead of deprecatedNode() because the start
54078        or the end of selection could be an immediate child of a list node (e.g. br inside ul)
54079
540802011-03-03  Hans Wennborg  <hans@chromium.org>
54081
54082        Reviewed by Jeremy Orlow.
54083
54084        IndexedDB: Move last bits of SQL into IDBBackingStore
54085        https://bugs.webkit.org/show_bug.cgi?id=55668
54086
54087        After this, all SQL code for IndexedDB is in IDBBackingStore.cpp.
54088
54089        No new tests: refactoring only.
54090
54091        * storage/IDBBackingStore.cpp:
54092        (WebCore::IDBBackingStore::createTransaction):
54093        * storage/IDBBackingStore.h:
54094        * storage/IDBCursorBackendImpl.h:
54095        * storage/IDBDatabaseBackendImpl.cpp:
54096        (WebCore::IDBDatabaseBackendImpl::backingStore):
54097        * storage/IDBDatabaseBackendImpl.h:
54098        * storage/IDBIndexBackendImpl.h:
54099        * storage/IDBKey.h:
54100        * storage/IDBObjectStoreBackendImpl.h:
54101        * storage/IDBTransactionBackendImpl.cpp:
54102        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
54103        * storage/IDBTransactionBackendImpl.h:
54104        * storage/IDBTransactionBackendInterface.h:
54105        * storage/IDBTransactionCoordinator.cpp:
54106
541072011-03-03  Adam Klein  <adamk@chromium.org>
54108
54109        Reviewed by David Levin.
54110
54111        [fileapi] Tighten up ResolveURICallbacks
54112        https://bugs.webkit.org/show_bug.cgi?id=55638
54113
54114        Two changes:
54115          - Retry only on TYPE_MISMATCH_ERR now that Chromium
54116            properly sets that error code.
54117          - Call DirectoryEntry instead of DOMFileSystem methods.
54118
54119        No change in behavior, so no new tests.
54120
54121        * fileapi/FileSystemCallbacks.cpp:
54122        (WebCore::ResolveURICallbacks::didOpenFileSystem):
54123
541242011-03-03  Anders Carlsson  <andersca@apple.com>
54125
54126        Reviewed by Sam Weinig.
54127
54128        Get rid of Page::globalHistoryItem
54129        https://bugs.webkit.org/show_bug.cgi?id=55738
54130
54131        The m_globalHistoryItem is only used by Mac and Windows WebKit1.
54132        Instead of having WebCore updating this member variable, just call out
54133        to a FrameLoaderClient member function and let WebKit keep it up to date.
54134
54135        * loader/EmptyClients.h:
54136        (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem):
54137        (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage):
54138        * loader/FrameLoader.cpp:
54139        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
54140        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
54141        * loader/FrameLoaderClient.h:
54142        (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage):
54143        * loader/HistoryController.cpp:
54144        (WebCore::HistoryController::goToItem):
54145        (WebCore::HistoryController::updateForStandardLoad):
54146        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
54147        * page/Page.cpp:
54148        * page/Page.h:
54149
541502011-03-02  Jeremy Orlow  <jorlow@chromium.org>
54151
54152        Reviewed by Steve Block.
54153
54154        Cursor.continue with a key param should test less than, not equal to
54155        https://bugs.webkit.org/show_bug.cgi?id=55640
54156
54157        If you supply a param to cursor.continue, we sould guarantee that
54158        the item we continue to is greater than or equal to the parameter.
54159        Right now, we only test equality.
54160
54161        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue
54162        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-iterating-a-cursor
54163
54164        Test: storage/indexeddb/cursor-continue.html
54165
54166        * storage/IDBCursorBackendImpl.cpp:
54167        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
54168        * storage/IDBKey.cpp:
54169        (WebCore::IDBKey::isLessThan):
54170        (WebCore::IDBKey::isEqual):
54171        * storage/IDBKey.h:
54172
541732011-03-03  Brent Fulgham  <bfulgham@webkit.org>
54174
54175        Build fix. Need win/cURL DownloadBundle stub.
54176
54177        * platform/network/curl/DownloadBundle.h: Added.
54178
541792011-03-03  Geoffrey Garen  <ggaren@apple.com>
54180
54181        Rolled out 80277 and 80280 because they caused event handler layout test
54182        failures.
54183
54184        * WebCore.xcodeproj/project.pbxproj:
54185        * bindings/js/JSDOMGlobalObject.cpp:
54186        * bindings/js/JSDOMGlobalObject.h:
54187        * bindings/js/JSDOMWindowBase.cpp:
54188        * bindings/js/JSDOMWindowBase.h:
54189        * bindings/js/JSDOMWindowCustom.h:
54190        * bindings/js/JSWorkerContextBase.cpp:
54191
541922011-03-03  Brady Eidson  <beidson@apple.com>
54193
54194        Reviewed by Darin Adler.
54195
54196        https://bugs.webkit.org/show_bug.cgi?id=55721
54197        Global IconDatabase should be returned by reference, not as a pointer
54198
54199        * history/HistoryItem.cpp:
54200        (WebCore::HistoryItem::HistoryItem):
54201        (WebCore::HistoryItem::~HistoryItem):
54202        (WebCore::HistoryItem::reset):
54203        (WebCore::HistoryItem::icon):
54204        (WebCore::HistoryItem::setURLString):
54205
54206        * loader/FrameLoader.cpp:
54207        (WebCore::FrameLoader::startIconLoader):
54208        (WebCore::FrameLoader::commitIconURLToIconDatabase):
54209
54210        * loader/archive/cf/LegacyWebArchive.cpp:
54211        (WebCore::LegacyWebArchive::create):
54212
54213        * loader/icon/IconDatabase.cpp:
54214        (WebCore::iconDatabase):
54215        * loader/icon/IconDatabase.h:
54216        * loader/icon/IconDatabaseNone.cpp:
54217        (WebCore::iconDatabase):
54218        * loader/icon/wince/IconDatabaseWinCE.cpp:
54219        (WebCore::iconDatabase):
54220
54221        * loader/icon/IconLoader.cpp:
54222        (WebCore::IconLoader::finishLoading):
54223
542242011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
54225
54226        Reviewed by Martin Robinson.
54227
54228        Stop instantiating legacy editing positions in FocusController::advanceFocusInDocumentOrder
54229        https://bugs.webkit.org/show_bug.cgi?id=52742
54230
54231        Use firstPositionInOrBeforeNode to instantiate appropriate position.
54232
54233        * page/FocusController.cpp:
54234        (WebCore::FocusController::advanceFocusInDocumentOrder):
54235
542362011-03-03  Andy Estes  <aestes@apple.com>
54237
54238        Reviewed by Darin Adler.
54239
54240        When displaying the missing plug-in sheet, pass the 'pluginspage'
54241        attribute to the UI process.
54242        https://bugs.webkit.org/show_bug.cgi?id=55553
54243
54244        * WebCore.exp.in: Export __ZN7WebCore9HTMLNames15pluginspageAttrE.
54245        * html/HTMLAttributeNames.in: Add 'pluginspage' as a known content
54246        attribute.
54247
542482011-03-03  Jessie Berlin  <jberlin@apple.com>
54249
54250        Reviewed by Adam Roben.
54251
54252        WebKit2: Use CFNetwork Sessions API.
54253        https://bugs.webkit.org/show_bug.cgi?id=55435
54254
54255        Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
54256
54257        * WebCore.exp.in:
54258        Support using WKCopyRequestWithStorageSession in WebCore.
54259        * platform/mac/WebCoreSystemInterface.h:
54260        Ditto.
54261        * platform/mac/WebCoreSystemInterface.mm:
54262        Ditto.
54263
54264        * platform/network/cf/ResourceHandleCFNet.cpp:
54265        (WebCore::makeFinalRequest):
54266        If Private Browsing is enabled, set the Private Browsing Storage Session on the request.
54267        (WebCore::ResourceHandle::willSendRequest):
54268        Ditto.
54269        * platform/network/mac/ResourceHandleMac.mm:
54270        (WebCore::ResourceHandle::createNSURLConnection):
54271        Ditto.
54272        (WebCore::ResourceHandle::willSendRequest):
54273        Ditto.
54274
54275        * platform/network/cf/ResourceRequest.h:
54276        * platform/network/cf/ResourceRequestCFNet.cpp:
54277        (WebCore::ResourceRequest::setStorageSession):
54278        Call through to WKSI.
54279        * platform/network/mac/ResourceRequestMac.mm:
54280        (WebCore::ResourceRequest::setStorageSession):
54281        Ditto.
54282
542832011-03-03  Chris Marrin  <cmarrin@apple.com>
54284
54285        Reviewed by Simon Fraser.
54286
54287        REGRESSION: Accelerated transitions are jumpy
54288        https://bugs.webkit.org/show_bug.cgi?id=55022
54289
54290        Changed the way default TimingFunction is stored according to Adam Roben's
54291        suggestion.
54292
54293        * platform/animation/TimingFunction.h:
54294        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
54295
542962011-03-03  Dan Bernstein  <mitz@apple.com>
54297
54298        Reviewed by Sam Weinig.
54299
54300        Rename -webkit-hyphenate-locale to -webkit-locale
54301        https://bugs.webkit.org/show_bug.cgi?id=55709
54302
54303        * css/CSSComputedStyleDeclaration.cpp:
54304        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
54305        * css/CSSParser.cpp:
54306        (WebCore::CSSParser::parseValue):
54307        (WebCore::cssPropertyID):
54308        * css/CSSPropertyNames.in:
54309        * css/CSSStyleSelector.cpp:
54310        (WebCore::CSSStyleSelector::applyProperty):
54311        * rendering/RenderBlockLineLayout.cpp:
54312        (WebCore::RenderBlock::findNextLineBreak):
54313        * rendering/style/RenderStyle.cpp:
54314        (WebCore::RenderStyle::diff):
54315        * rendering/style/RenderStyle.h:
54316        (WebCore::InheritedFlags::locale):
54317        (WebCore::InheritedFlags::setLocale):
54318        (WebCore::InheritedFlags::initialLocale):
54319        * rendering/style/StyleRareInheritedData.cpp:
54320        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
54321        (WebCore::StyleRareInheritedData::operator==):
54322        * rendering/style/StyleRareInheritedData.h:
54323
543242011-03-03  Kevin Ollivier  <kevino@theolliviers.com>
54325
54326        [wx] Build fixes. Use Font::textMetrics to get ascent value, and add missing include.
54327
54328        * platform/wx/DragDataWx.cpp:
54329        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
54330        (WebCore::drawTextWithSpacing):
54331
543322011-03-03  Oliver Hunt  <oliver@apple.com>
54333
54334        Reviewed by Geoffrey Garen.
54335
54336        JSVariableObject needs to use WriteBarrier for symboltable property storage
54337        https://bugs.webkit.org/show_bug.cgi?id=55698
54338
54339        Update to pass JSGlobalData for the symbol table write used
54340        to set the document property.
54341
54342        * bindings/js/JSDOMWindowBase.cpp:
54343        (WebCore::JSDOMWindowBase::updateDocument):
54344
543452011-03-03  Alexey Proskuryakov  <ap@apple.com>
54346
54347        More build fixing. Move WebCoreKeyboardUIMode.h to a cross-platform location.
54348
54349        * WebCore.xcodeproj/project.pbxproj:
54350        * page/WebCoreKeyboardUIMode.h: Copied from WebCore/page/mac/WebCoreKeyboardUIMode.h.
54351        * page/mac/WebCoreKeyboardUIMode.h: Removed.
54352
543532011-03-03  Alexey Proskuryakov  <ap@apple.com>
54354
54355        Build fix. Should include WebCoreKeyboardUIMode.h on all platforms now.
54356
54357        * page/ChromeClient.h:
54358
543592011-03-02  Alexey Proskuryakov  <ap@apple.com>
54360
54361        Reviewed by Darin Adler.
54362
54363        REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
54364        https://bugs.webkit.org/show_bug.cgi?id=55633
54365        <rdar://problem/8963023>
54366
54367        * loader/EmptyClients.h: (WebCore::EmptyChromeClient::keyboardUIMode):
54368        * page/ChromeClient.h:
54369        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks):
54370        Merged tabsToLinks() and keyboardUIMode(). The latter returned a superset of information
54371        returned by former.
54372
543732011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
54374
54375        Fix Win compile break, caused by r80276.
54376
54377        * rendering/RenderThemeWin.h: Changed signature of volumeSliderOffsetFromMuteButton
54378            to match RenderTheme.h.
54379
543802011-03-02  Geoffrey Garen  <ggaren@apple.com>
54381
54382        Reviewed by Darin Adler.
54383
54384        Moved all variable object storage inline -- upping the object size limit to 1K
54385        https://bugs.webkit.org/show_bug.cgi?id=55653
54386
54387        * bindings/js/JSDOMGlobalObject.cpp:
54388        * bindings/js/JSDOMGlobalObject.h:
54389        * bindings/js/JSDOMWindowBase.cpp:
54390        * bindings/js/JSDOMWindowBase.h:
54391        * bindings/js/JSDOMWindowCustom.h:
54392        * bindings/js/JSWorkerContextBase.cpp: Removed out-of-line storage. Changed d-> to m_.
54393
543942011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
54395
54396        Reviewed by Darin Adler.
54397
54398        Use RenderBox in volumeSliderOffsetFromMuteButton, since that's what is actually being used.
54399        https://bugs.webkit.org/show_bug.cgi?id=55099
54400
54401        Cleanup, no behavior change.
54402
54403        * html/shadow/MediaControls.cpp:
54404        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to pass RenderBox
54405            instead of Node.
54406        * rendering/RenderMediaControls.cpp:
54407        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Changed
54408            to use RenderBox as argument.
54409        * rendering/RenderMediaControls.h: Ditto.
54410        * rendering/RenderTheme.cpp:
54411        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): Ditto.
54412        * rendering/RenderTheme.h: Ditto.
54413        * rendering/RenderThemeChromiumMac.h: Ditto.
54414        * rendering/RenderThemeChromiumMac.mm:
54415        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): Ditto.
54416        * rendering/RenderThemeMac.h: Ditto.
54417        * rendering/RenderThemeMac.mm:
54418        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Ditto.
54419        * rendering/RenderThemeWin.cpp:
54420        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Ditto.
54421
544222011-03-03  Alexis Menard  <alexis.menard@openbossa.org>
54423
54424        Reviewed by Andreas Kling.
54425
54426        When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1.
54427        Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr
54428        for GstElement.
54429
54430        * WebCore.pro:
54431        * features.pri:
54432
544332011-03-03  Anders Carlsson  <andersca@apple.com>
54434
54435        Try to fix the Windows build again.
54436
54437        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
54438        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
54439
544402011-03-03  Mihai Parparita  <mihaip@chromium.org>
54441
54442        Reviewed by Dimitri Glazkov.
54443
54444        Add another CRASH() for CSSSelector double frees
54445        https://bugs.webkit.org/show_bug.cgi?id=55693
54446
54447        To help track down bug 53045, add a CRASH call when the the array and/or
54448        CSSSelector member in CSSSelectorList is disposed of more than once.
54449
54450        Just a check, no new tests necessary.
54451
54452        * css/CSSSelectorList.cpp:
54453        (WebCore::CSSSelectorList::deleteSelectors):
54454
544552011-03-03  Anders Carlsson  <andersca@apple.com>
54456
54457        Yet another attempt at fixing the Windows build.
54458
54459        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
54460        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
54461        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
54462        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
54463
544642011-03-02  Chris Marrin  <cmarrin@apple.com>
54465
54466        Reviewed by Simon Fraser.
54467
54468        REGRESSION: Accelerated transitions are jumpy
54469        https://bugs.webkit.org/show_bug.cgi?id=55022
54470
54471        Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction
54472        is now always passed in. The TimingFunction class now has a static method to get
54473        a default object which has the 'ease' values in it. I now assert in both Mac and
54474        Win implementations if a null TimingFunction pointer is seen.
54475
54476        * platform/animation/TimingFunction.h:
54477        (WebCore::CubicBezierTimingFunction::create):
54478        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
54479        (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
54480        * platform/graphics/ca/GraphicsLayerCA.cpp:
54481        (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
54482        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
54483        (toCAMediaTimingFunction):
54484        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
54485        (toCACFTimingFunction):
54486
544872011-03-03  Tony Gentilcore  <tonyg@chromium.org>
54488
54489        Unreviewed build fix.
54490
54491        Fix clang compile after r80220
54492        https://bugs.webkit.org/show_bug.cgi?id=55692
54493
54494        * storage/IDBBackingStore.cpp:
54495        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
54496
544972011-03-03  Anders Carlsson  <andersca@apple.com>
54498
54499        Attempt to fix the Windows build.
54500
54501        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
54502        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
54503
545042011-03-02  Brian Weinstein  <bweinstein@apple.com>
54505
54506        Reviewed by Adam Roben.
54507
54508        Rest of WebKit2: Need a way to send notifications to client when cookies change
54509        https://bugs.webkit.org/show_bug.cgi?id=55427
54510        <rdar://problem/9056027>
54511
54512        Add functions to be exported.
54513
54514        * WebCore.exp.in:
54515
545162011-03-03  Anders Carlsson  <andersca@apple.com>
54517
54518        Reviewed by Darin Adler.
54519
54520        Improve WebCore build time by ~5%
54521        https://bugs.webkit.org/show_bug.cgi?id=55688
54522
54523        Forward declare the CATransform3D and CGAffineTransform structs instead of including
54524        large chunks of QuartzCore and Core Graphics.
54525
54526        On an 8 core Mac Pro, this sped up building WebCore by about 5%.
54527
54528        * platform/graphics/ca/GraphicsLayerCA.cpp:
54529        * platform/graphics/ca/TransformationMatrixCA.cpp:
54530        * platform/graphics/transforms/TransformationMatrix.h:
54531
545322011-03-03  Andrey Kosyakov  <caseq@chromium.org>
54533
54534        Unreviewed. Adjusted call to a method renamed in r80102.
54535
54536        * inspector/front-end/SourceFrame.js:
54537        (WebInspector.SourceFrame.prototype._startEditing):
54538
545392011-03-03  Timothy Hatcher  <timothy@apple.com>
54540
54541        Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
54542        by contexts not created by WebCore.
54543
54544        https://webkit.org/b/55642
54545
54546        Reviewed by Oliver Hunt.
54547
54548        * bindings/js/SerializedScriptValue.cpp:
54549        (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
54550        (WebCore::SerializedScriptValue::deserialize): Ditto.
54551
545522011-03-03  Alexey Proskuryakov  <ap@apple.com>
54553
54554        Reviewed by Darin Adler.
54555
54556        WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake
54557        https://bugs.webkit.org/show_bug.cgi?id=55498
54558        <rdar://problem/8752706>
54559
54560        Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html
54561               http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html
54562
54563        * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response
54564        header fields. Removed separate member variables for those, as they were duplicating data
54565        available in response, and there is no reason to squeeze microsecods here.
54566
54567        * websockets/WebSocketHandshake.cpp:
54568        (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field
54569        values to reset here.
54570        (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders().
54571        (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response.
54572        (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto.
54573        (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto.
54574        (WebCore::WebSocketHandshake::serverSetCookie): Ditto.
54575        (WebCore::WebSocketHandshake::serverSetCookie2): Ditto.
54576        (WebCore::WebSocketHandshake::serverUpgrade): Added.
54577        (WebCore::WebSocketHandshake::serverConnection): Added.
54578        (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection
54579        header field presence and values.
54580
545812011-03-03  Helder Correia  <helder@sencha.com>
54582
54583        Reviewed by Andreas Kling.
54584
54585        [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails
54586        https://bugs.webkit.org/show_bug.cgi?id=55651
54587
54588        When relying on ContextShadow and using a gradient stroke for a path,
54589        the alpha of the shadow is incorrect.
54590
54591        * platform/graphics/qt/GraphicsContextQt.cpp:
54592        (WebCore::GraphicsContext::strokePath):
54593
545942011-03-03  Martin Robinson  <mrobinson@igalia.com>
54595
54596        XHTMLMP build broken after r78342
54597        https://bugs.webkit.org/show_bug.cgi?id=55286
54598
54599        Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader
54600        instead of FrameLoader.
54601
54602        No new tests. This is a build fix.
54603
54604        * dom/Document.cpp:
54605        (WebCore::Document::isXHTMLMPDocument):
54606
546072011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
54608
54609        Reviewed by Eric Carlson.
54610
54611        Tweak MediaControlMuteButtonElement class hierarchy.
54612        https://bugs.webkit.org/show_bug.cgi?id=55614
54613
54614        This allows the mute button on the panel to have event handlers that are
54615        different from the mute button in the volume slider.
54616
54617        No change in behavior, covered by existing tests.
54618
54619        * html/shadow/MediaControls.cpp:
54620        (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement.
54621        * rendering/MediaControlElements.cpp:
54622        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
54623        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added.
54624        (WebCore::MediaControlPanelMuteButtonElement::create): Added.
54625        (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved.
54626        * rendering/MediaControlElements.h: Added defs.
54627
546282011-03-03  Yury Semikhatsky  <yurys@chromium.org>
54629
54630        Reviewed by Pavel Feldman.
54631
54632        Web Inspector: Resource agent should have same lifetime as Inspector agent
54633        https://bugs.webkit.org/show_bug.cgi?id=55461
54634
54635        * inspector/Inspector.idl:
54636        * inspector/InspectorAgent.cpp:
54637        (WebCore::InspectorAgent::InspectorAgent):
54638        (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed
54639        to clear frontend reference in all agents.
54640        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
54641        (WebCore::InspectorAgent::setFrontend):
54642        (WebCore::InspectorAgent::disconnectFrontend):
54643        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
54644        (WebCore::InspectorAgent::didCommitLoad):
54645        * inspector/InspectorAgent.h:
54646        (WebCore::InspectorAgent::resourceAgent):
54647        * inspector/InspectorBrowserDebuggerAgent.cpp:
54648        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
54649        * inspector/InspectorDebuggerAgent.cpp:
54650        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
54651        * inspector/InspectorInstrumentation.cpp:
54652        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
54653        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
54654        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
54655        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
54656        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
54657        * inspector/InspectorResourceAgent.cpp:
54658        (WebCore::InspectorResourceAgent::setFrontend):
54659        (WebCore::InspectorResourceAgent::clearFrontend):
54660        (WebCore::InspectorResourceAgent::restore):
54661        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
54662        (WebCore::InspectorResourceAgent::enable):
54663        (WebCore::InspectorResourceAgent::disable):
54664        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
54665        * inspector/InspectorResourceAgent.h:
54666        (WebCore::InspectorResourceAgent::create):
54667        * inspector/InspectorTimelineAgent.cpp:
54668        (WebCore::InspectorTimelineAgent::restore):
54669        * inspector/InspectorTimelineAgent.h:
54670        * inspector/front-end/NetworkManager.js:
54671        (WebInspector.NetworkManager):
54672        (WebInspector.NetworkManager.prototype.frontendReused):
54673        * inspector/front-end/inspector.js:
54674        (WebInspector.frontendReused):
54675
546762011-03-03  Andras Becsi  <abecsi@webkit.org>
54677
54678        Reviewed by Andreas Kling.
54679
54680        CSS RGBA fast-path color parsing should clamp of out-of-range alpha values
54681        https://bugs.webkit.org/show_bug.cgi?id=55661
54682
54683        Test case originally written by Andreas Kling <andreas.kling@nokia.com>
54684
54685        Test: fast/canvas/rgba-parsing.html
54686
54687        * css/CSSParser.cpp:
54688        (WebCore::isValidDouble): Check whether the given string is a valid double.
54689        (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range.
54690
546912011-03-03  David Holloway  <dhollowa@chromium.org>
54692
54693        Reviewed by Dimitri Glazkov.
54694
54695        Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account
54696        for non-empty suggestion text.  The visibility of the placeholder text
54697        now turned off when suggestion text is set.
54698        https://bugs.webkit.org/show_bug.cgi?id=55245
54699
54700        No new tests because, by design, the suggestion text is not accessible
54701        through the DOM.
54702
54703        * html/HTMLFormControlElement.cpp:
54704        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
54705        * html/HTMLFormControlElement.h:
54706        (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue):
54707        * html/HTMLInputElement.h:
54708        (WebCore::HTMLInputElement::isEmptySuggestedValue):
54709
547102011-03-03  Andy Estes  <aestes@apple.com>
54711
54712        Reviewed by Eric Seidel.
54713
54714        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
54715        https://bugs.webkit.org/show_bug.cgi?id=48719
54716
54717        Instead of pushing a fake HTMLHtmlElement onto the open element stack
54718        during fragment parsing only to later remove it and reparent its
54719        children to the DocumentFragment, push the DocumentFragment directly
54720        onto the open element stack as the root node. This requires refactoring
54721        HTMLElementStack to hold ContainerNode pointers rather than Element
54722        pointers, which has implications for HTMLConstructionSite and
54723        HTMLTreeBuilder as well.
54724
54725        With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
54726        is ~14%. However, if you discount the 'domDynamicCreationCreateElement'
54727        test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the
54728        regression no longer lies in fragment parsing.
54729
54730        No new tests. No change in behavior.
54731
54732        * dom/Element.h:
54733        (WebCore::Node::hasLocalName):
54734        * dom/Node.h:
54735        * html/parser/HTMLConstructionSite.cpp:
54736        (WebCore::HTMLNames::hasImpliedEndTag):
54737        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
54738        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
54739        (WebCore::HTMLConstructionSite::insertComment):
54740        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
54741        (WebCore::HTMLConstructionSite::attachToCurrent):
54742        (WebCore::HTMLConstructionSite::insertScriptElement):
54743        (WebCore::HTMLConstructionSite::insertTextNode):
54744        (WebCore::HTMLConstructionSite::createElement):
54745        (WebCore::HTMLConstructionSite::createHTMLElement):
54746        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
54747        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
54748        (WebCore::HTMLConstructionSite::findFosterSite):
54749        (WebCore::HTMLConstructionSite::shouldFosterParent):
54750        * html/parser/HTMLConstructionSite.h:
54751        (WebCore::HTMLConstructionSite::currentNode):
54752        * html/parser/HTMLElementStack.cpp:
54753        (WebCore::HTMLNames::isNumberedHeaderElement):
54754        (WebCore::HTMLNames::isScopeMarker):
54755        (WebCore::HTMLNames::isListItemScopeMarker):
54756        (WebCore::HTMLNames::isTableScopeMarker):
54757        (WebCore::HTMLNames::isTableBodyScopeMarker):
54758        (WebCore::HTMLNames::isTableRowScopeMarker):
54759        (WebCore::HTMLNames::isButtonScopeMarker):
54760        (WebCore::HTMLNames::isSelectScopeMarker):
54761        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
54762        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
54763        (WebCore::HTMLElementStack::HTMLElementStack):
54764        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
54765        (WebCore::HTMLElementStack::popAll):
54766        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
54767        (WebCore::HTMLElementStack::popUntil):
54768        (WebCore::HTMLElementStack::popUntilPopped):
54769        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
54770        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
54771        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
54772        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
54773        (WebCore::HTMLElementStack::push):
54774        (WebCore::HTMLElementStack::insertAbove):
54775        (WebCore::HTMLElementStack::find):
54776        (WebCore::HTMLElementStack::topmost):
54777        (WebCore::HTMLElementStack::contains):
54778        (WebCore::inScopeCommon):
54779        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
54780        (WebCore::HTMLElementStack::htmlElement):
54781        (WebCore::HTMLElementStack::rootNode):
54782        (WebCore::HTMLElementStack::pushCommon):
54783        * html/parser/HTMLElementStack.h:
54784        (WebCore::HTMLElementStack::ElementRecord::element):
54785        (WebCore::HTMLElementStack::ElementRecord::node):
54786        (WebCore::HTMLElementStack::topNode):
54787        * html/parser/HTMLTreeBuilder.cpp:
54788        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
54789        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
54790        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
54791        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
54792        (WebCore::HTMLTreeBuilder::processStartTag):
54793        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
54794        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
54795        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
54796        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
54797        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
54798        (WebCore::HTMLTreeBuilder::processEndTag):
54799        (WebCore::HTMLTreeBuilder::processEndOfFile):
54800        (WebCore::HTMLTreeBuilder::finished):
54801        * html/parser/HTMLTreeBuilder.h:
54802
548032011-03-02  Yury Semikhatsky  <yurys@chromium.org>
54804
54805        Reviewed by Pavel Feldman.
54806
54807        Web Inspector: inspector protocol should allow different domains to have methods with same name
54808        https://bugs.webkit.org/show_bug.cgi?id=55558
54809
54810        * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only).
54811
548122011-03-02  Pavel Podivilov  <podivilov@chromium.org>
54813
54814        Reviewed by Yury Semikhatsky.
54815
54816        Web Inspector: make selected call frame debugger presentation model property.
54817        https://bugs.webkit.org/show_bug.cgi?id=55582
54818
54819        * inspector/front-end/CallStackSidebarPane.js:
54820        (WebInspector.CallStackSidebarPane):
54821        (WebInspector.CallStackSidebarPane.prototype.update):
54822        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
54823        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
54824        * inspector/front-end/ConsoleView.js:
54825        (WebInspector.ConsoleView.prototype.completions):
54826        * inspector/front-end/DebuggerPresentationModel.js:
54827        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
54828        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
54829        * inspector/front-end/ScriptsPanel.js:
54830        (WebInspector.ScriptsPanel):
54831        (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame):
54832        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
54833        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
54834        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
54835
548362011-03-03  Jia Pu  <jpu@apple.com>
54837
54838        Reviewed by Darin Adler.
54839
54840        On Mac OS X, spelling suggestion panel stops showing up after change set 80121
54841        https://bugs.webkit.org/show_bug.cgi?id=55628
54842
54843        Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121.
54844
54845        * editing/Editor.cpp:
54846        (WebCore::Editor::appliedEditing):
54847        * manual-tests/autocorrection/autocorrection-contraction.html:
54848
548492011-03-03  Pavel Podivilov  <podivilov@chromium.org>
54850
54851        Reviewed by Pavel Feldman.
54852
54853        Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js.
54854        https://bugs.webkit.org/show_bug.cgi?id=55569
54855
54856        sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel.
54857
54858        * inspector/front-end/DebuggerPresentationModel.js:
54859        * inspector/front-end/ScriptsPanel.js:
54860
548612011-03-03  Steve Block  <steveblock@google.com>
54862
54863        Reviewed by David Levin.
54864
54865        JavaString API should be implementable by both JSC and V8
54866        https://bugs.webkit.org/show_bug.cgi?id=55567
54867
54868        Remove JavaString's UString operator and replace it with a
54869        script-engine-independent impl() method, which returns a
54870        StringImpl and can be implemented with both JSC and V8.
54871
54872        No new tests, refactoring only.
54873
54874        * bridge/jni/JNIBridge.h:
54875        (JSC::Bindings::JavaString::impl):
54876        * bridge/jni/jni_jsobject.mm:
54877        (JavaJSObject::call):
54878        (JavaJSObject::eval):
54879        (JavaJSObject::getMember):
54880        (JavaJSObject::setMember):
54881        (JavaJSObject::removeMember):
54882        * bridge/jni/jsc/JNIBridgeJSC.cpp:
54883        (JavaField::valueFromInstance):
54884        (JavaField::setValueToInstance):
54885        * bridge/jni/jsc/JavaClassJSC.cpp:
54886        (JavaClass::JavaClass):
54887        * bridge/jni/jsc/JavaInstanceJSC.cpp:
54888        (JavaInstance::invokeMethod):
54889        * bridge/jni/jsc/JavaStringJSC.h:
54890        (JSC::Bindings::JavaStringImpl::impl):
54891        * bridge/jni/v8/JavaStringV8.h:
54892        (JSC::Bindings::JavaStringImpl::impl):
54893
548942011-03-03  Benjamin Poulain  <ikipou@gmail.com>
54895
54896        Reviewed by Adam Roben.
54897
54898        REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot
54899        https://bugs.webkit.org/show_bug.cgi?id=55602
54900
54901        Delete the FloatingObject referenced by m_floatingObjects when clearing the floats.
54902
54903        The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The
54904        objects need to be deleted manually with ListHashSet.
54905
54906        * rendering/RenderBlock.cpp:
54907        (WebCore::RenderBlock::clearFloats):
54908
549092011-03-03  Hans Wennborg  <hans@chromium.org>
54910
54911        Reviewed by Jeremy Orlow.
54912
54913        IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore
54914        https://bugs.webkit.org/show_bug.cgi?id=55376
54915
54916        Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl,
54917        IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl.
54918
54919        No new functionality, so no new tests.
54920
54921        * storage/IDBBackingStore.cpp:
54922        (WebCore::lowerCursorWhereFragment):
54923        (WebCore::upperCursorWhereFragment):
54924        (WebCore::IDBBackingStore::deleteObjectStoreRecord):
54925        (WebCore::IDBBackingStore::keyExistsInObjectStore):
54926        (WebCore::IDBBackingStore::getObjectViaIndex):
54927        (WebCore::keyFromQuery):
54928        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
54929        (WebCore::IDBBackingStore::keyExistsInIndex):
54930        (WebCore::CursorImplCommon::CursorImplCommon::continueInternal):
54931        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
54932        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId):
54933        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key):
54934        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value):
54935        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction):
54936        (WebCore::IDBBackingStore::openObjectStoreCursor):
54937        (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
54938        (WebCore::ObjectStoreCursorImpl::currentRowExists):
54939        (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
54940        (WebCore::IndexKeyCursorImpl::indexDataId):
54941        (WebCore::IndexKeyCursorImpl::key):
54942        (WebCore::IndexKeyCursorImpl::primaryKey):
54943        (WebCore::IndexKeyCursorImpl::continueFunction):
54944        (WebCore::IDBBackingStore::openIndexKeyCursor):
54945        (WebCore::IndexKeyCursorImpl::loadCurrentRow):
54946        (WebCore::IndexKeyCursorImpl::currentRowExists):
54947        (WebCore::IndexCursorImpl::IndexCursorImpl):
54948        (WebCore::IndexCursorImpl::indexDataId):
54949        (WebCore::IndexCursorImpl::key):
54950        (WebCore::IndexCursorImpl::primaryKey):
54951        (WebCore::IndexCursorImpl::value):
54952        (WebCore::IndexCursorImpl::continueFunction):
54953        (WebCore::IDBBackingStore::openIndexCursor):
54954        (WebCore::IndexCursorImpl::loadCurrentRow):
54955        (WebCore::IndexCursorImpl::currentRowExists):
54956        * storage/IDBBackingStore.h:
54957        (WebCore::IDBBackingStore::Cursor::~Cursor):
54958        * storage/IDBCursorBackendImpl.cpp:
54959        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
54960        (WebCore::IDBCursorBackendImpl::key):
54961        (WebCore::IDBCursorBackendImpl::value):
54962        (WebCore::IDBCursorBackendImpl::update):
54963        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
54964        (WebCore::IDBCursorBackendImpl::deleteFunction):
54965        * storage/IDBCursorBackendImpl.h:
54966        (WebCore::IDBCursorBackendImpl::create):
54967        * storage/IDBIndexBackendImpl.cpp:
54968        (WebCore::IDBIndexBackendImpl::openCursorInternal):
54969        (WebCore::IDBIndexBackendImpl::getInternal):
54970        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
54971        * storage/IDBIndexBackendImpl.h:
54972        * storage/IDBKey.cpp:
54973        (WebCore::IDBKey::isEqual):
54974        * storage/IDBKey.h:
54975        * storage/IDBKeyRange.cpp:
54976        * storage/IDBKeyRange.h:
54977        * storage/IDBObjectStoreBackendImpl.cpp:
54978        (WebCore::IDBObjectStoreBackendImpl::putInternal):
54979        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
54980        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
54981        * storage/IDBObjectStoreBackendImpl.h:
54982
549832011-03-03  Peter Kasting  <pkasting@google.com>
54984
54985        Reviewed by James Robinson.
54986
54987        Drop redundant "Windows; " from the Windows-specific User Agent string.
54988        https://bugs.webkit.org/show_bug.cgi?id=54567
54989
54990        * StringsNotToBeLocalized.txt:
54991
549922011-03-03  Mario Sanchez Prada  <msanchez@igalia.com>
54993
54994        Reviewed by Martin Robinson.
54995
54996        [GTK] Combo boxes should emit object:selection-changed even when collapsed
54997        https://bugs.webkit.org/show_bug.cgi?id=53146
54998
54999        Emit the selection-changed signals when the menu list value has changed
55000
55001        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
55002
55003        * accessibility/gtk/AXObjectCacheAtk.cpp:
55004        (WebCore::getListObject): New, return the right list object for
55005        menu lists and list boxes.
55006        (WebCore::notifyChildrenSelectionChange): Support menu lists.
55007        (WebCore::AXObjectCache::postPlatformNotification): Call function
55008        notifyChildrenSelectionChange for AXMenuListValueChanged.
55009
550102011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
55011
55012        Reviewed by Tony Chang.
55013
55014        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
55015        https://bugs.webkit.org/show_bug.cgi?id=55338
55016
55017        Include wtf/Forward.h instead of wtf/text/String.h
55018
55019        * editing/EditingStyle.h:
55020
550212011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
55022
55023        Unreviewed trivial fix after r80169.
55024
55025        [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
55026        https://bugs.webkit.org/show_bug.cgi?id=55484
55027
55028        * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++.
55029
55030
550312011-03-02  MORITA Hajime  <morrita@google.com>
55032
55033        Reviewed by Kent Tamura.
55034
55035        [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction
55036        https://bugs.webkit.org/show_bug.cgi?id=54440
55037
55038        - Extracted FrameActionScheduler from FrameView
55039        - Extracted FrameAction abstract class from ScheduledEvent,
55040          which has fire() virtual method.
55041        - Renamed ScheduledEvent EventFrameAction
55042
55043        With this change, Any action can be hooked up to the end of the layout.
55044
55045        No new tests. No behavioral change.
55046
55047        * Android.mk:
55048        * CMakeLists.txt:
55049        * GNUmakefile.am:
55050        * WebCore.gypi:
55051        * WebCore.pro:
55052        * WebCore.vcproj/WebCore.vcproj:
55053        * WebCore.xcodeproj/project.pbxproj:
55054        * page/FrameActionScheduler.cpp: Added.
55055        (WebCore::EventFrameAction::EventFrameAction):
55056        (WebCore::EventFrameAction::fire):
55057        (WebCore::FrameActionScheduler::FrameActionScheduler):
55058        (WebCore::FrameActionScheduler::~FrameActionScheduler):
55059        (WebCore::FrameActionScheduler::isEmpty):
55060        (WebCore::FrameActionScheduler::clear):
55061        (WebCore::FrameActionScheduler::pause):
55062        (WebCore::FrameActionScheduler::resume):
55063        (WebCore::FrameActionScheduler::dispatch):
55064        (WebCore::FrameActionScheduler::scheduleAction):
55065        (WebCore::FrameActionScheduler::scheduleEvent):
55066        * page/FrameActionScheduler.h: Added.
55067        (WebCore::FrameAction::FrameAction):
55068        (WebCore::FrameAction::~FrameAction):
55069        (WebCore::FrameActionScheduler::isScheduled):
55070        * page/FrameView.cpp:
55071        (WebCore::FrameView::FrameView):
55072        (WebCore::FrameView::~FrameView):
55073        (WebCore::FrameView::layout):
55074        (WebCore::FrameView::scheduleEvent):
55075        (WebCore::FrameView::pauseScheduledEvents):
55076        (WebCore::FrameView::resumeScheduledEvents):
55077        (WebCore::FrameView::performPostLayoutTasks):
55078        (WebCore::FrameView::updateOverflowStatus):
55079        * page/FrameView.h:
55080
550812011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55082
55083        Unreviewed, rolling out r80201.
55084        http://trac.webkit.org/changeset/80201
55085        https://bugs.webkit.org/show_bug.cgi?id=55648
55086
55087        "caused tests to crash on several bots" (Requested by rniwa on
55088        #webkit).
55089
55090        * dom/Element.h:
55091        (WebCore::Node::hasTagName):
55092        * dom/Node.h:
55093        * html/parser/HTMLConstructionSite.cpp:
55094        (WebCore::HTMLNames::hasImpliedEndTag):
55095        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
55096        (WebCore::HTMLConstructionSite::insertComment):
55097        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
55098        (WebCore::HTMLConstructionSite::attachToCurrent):
55099        (WebCore::HTMLConstructionSite::insertScriptElement):
55100        (WebCore::HTMLConstructionSite::insertTextNode):
55101        (WebCore::HTMLConstructionSite::createElement):
55102        (WebCore::HTMLConstructionSite::createHTMLElement):
55103        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
55104        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
55105        (WebCore::HTMLConstructionSite::findFosterSite):
55106        (WebCore::HTMLConstructionSite::shouldFosterParent):
55107        * html/parser/HTMLConstructionSite.h:
55108        * html/parser/HTMLElementStack.cpp:
55109        (WebCore::HTMLNames::isNumberedHeaderElement):
55110        (WebCore::HTMLNames::isScopeMarker):
55111        (WebCore::HTMLNames::isListItemScopeMarker):
55112        (WebCore::HTMLNames::isTableScopeMarker):
55113        (WebCore::HTMLNames::isTableBodyScopeMarker):
55114        (WebCore::HTMLNames::isTableRowScopeMarker):
55115        (WebCore::HTMLNames::isButtonScopeMarker):
55116        (WebCore::HTMLNames::isSelectScopeMarker):
55117        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
55118        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
55119        (WebCore::HTMLElementStack::HTMLElementStack):
55120        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
55121        (WebCore::HTMLElementStack::popAll):
55122        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
55123        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
55124        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
55125        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
55126        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
55127        (WebCore::HTMLElementStack::push):
55128        (WebCore::HTMLElementStack::insertAbove):
55129        (WebCore::HTMLElementStack::find):
55130        (WebCore::HTMLElementStack::topmost):
55131        (WebCore::inScopeCommon):
55132        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
55133        (WebCore::HTMLElementStack::htmlElement):
55134        (WebCore::HTMLElementStack::bodyElement):
55135        (WebCore::HTMLElementStack::pushCommon):
55136        * html/parser/HTMLElementStack.h:
55137        (WebCore::HTMLElementStack::ElementRecord::element):
55138        (WebCore::HTMLElementStack::top):
55139        * html/parser/HTMLTreeBuilder.cpp:
55140        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
55141        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
55142        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
55143        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
55144        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
55145        (WebCore::HTMLTreeBuilder::processStartTag):
55146        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
55147        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
55148        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
55149        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
55150        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
55151        (WebCore::HTMLTreeBuilder::processEndTag):
55152        (WebCore::HTMLTreeBuilder::processEndOfFile):
55153        (WebCore::HTMLTreeBuilder::finished):
55154        * html/parser/HTMLTreeBuilder.h:
55155
551562011-03-02  Yury Semikhatsky  <yurys@chromium.org>
55157
55158        Reviewed by Pavel Feldman.
55159
55160        Web Inspector: break down InspectorFrontend into domain-specific classes
55161        https://bugs.webkit.org/show_bug.cgi?id=55584
55162
55163        * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for
55164        all domains that have event notifications.
55165        * inspector/ConsoleMessage.cpp:
55166        (WebCore::ConsoleMessage::addToFrontend):
55167        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
55168        * inspector/ConsoleMessage.h:
55169        * inspector/InjectedScriptHost.cpp:
55170        (WebCore::InjectedScriptHost::inspectImpl):
55171        * inspector/Inspector.idl:
55172        * inspector/InspectorAgent.cpp:
55173        (WebCore::InspectorAgent::inspectedPageDestroyed):
55174        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
55175        (WebCore::InspectorAgent::setFrontend):
55176        (WebCore::InspectorAgent::disconnectFrontend):
55177        (WebCore::InspectorAgent::populateScriptObjects):
55178        (WebCore::InspectorAgent::pushDataCollectedOffline):
55179        (WebCore::InspectorAgent::didCommitLoad):
55180        (WebCore::InspectorAgent::domContentLoadedEventFired):
55181        (WebCore::InspectorAgent::loadEventFired):
55182        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
55183        (WebCore::InspectorAgent::evaluateForTestInFrontend):
55184        (WebCore::InspectorAgent::showPanel):
55185        * inspector/InspectorApplicationCacheAgent.cpp:
55186        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
55187        * inspector/InspectorApplicationCacheAgent.h:
55188        * inspector/InspectorConsoleAgent.cpp:
55189        (WebCore::InspectorConsoleAgent::setFrontend):
55190        * inspector/InspectorConsoleAgent.h:
55191        * inspector/InspectorController.cpp:
55192        (WebCore::InspectorController::show):
55193        (WebCore::InspectorController::close):
55194        * inspector/InspectorDOMAgent.cpp:
55195        (WebCore::InspectorDOMAgent::setFrontend):
55196        * inspector/InspectorDOMAgent.h:
55197        * inspector/InspectorDOMStorageResource.cpp:
55198        (WebCore::InspectorDOMStorageResource::bind):
55199        * inspector/InspectorDOMStorageResource.h:
55200        * inspector/InspectorDatabaseAgent.cpp:
55201        (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
55202        (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
55203        (WebCore::InspectorDatabaseAgent::setFrontend):
55204        * inspector/InspectorDatabaseResource.cpp:
55205        (WebCore::InspectorDatabaseResource::bind):
55206        * inspector/InspectorDatabaseResource.h:
55207        * inspector/InspectorDebuggerAgent.cpp:
55208        (WebCore::InspectorDebuggerAgent::setFrontend):
55209        * inspector/InspectorDebuggerAgent.h:
55210        * inspector/InspectorProfilerAgent.cpp:
55211        * inspector/InspectorProfilerAgent.h:
55212        (WebCore::InspectorProfilerAgent::setFrontend):
55213        (WebCore::InspectorProfilerAgent::clearFrontend):
55214        * inspector/InspectorResourceAgent.cpp:
55215        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
55216        * inspector/InspectorResourceAgent.h:
55217        * inspector/InspectorTimelineAgent.cpp:
55218        (WebCore::InspectorTimelineAgent::setFrontend):
55219        * inspector/InspectorTimelineAgent.h:
55220        * inspector/front-end/DOMAgent.js:
55221        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
55222        (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult):
55223        * inspector/front-end/inspector.js:
55224
552252011-03-02  Kent Tamura  <tkent@chromium.org>
55226
55227        Unreviewed, a trivial regression fix.
55228
55229        Fix LocalizedNumberICU regression by r80198 and r80199.
55230        https://bugs.webkit.org/show_bug.cgi?id=55629
55231
55232        * platform/text/LocalizedNumberICU.cpp:
55233          We should use U_SUCCESS().
55234        (WebCore::createFormatterForCurrentLocale):
55235        (WebCore::parseLocalizedNumber):
55236
552372011-03-02  Dan Bernstein  <mitz@apple.com>
55238
55239        Let Xcode know that Localizable.strings is UTF-16-encoded.
55240
55241        * WebCore.xcodeproj/project.pbxproj:
55242
552432011-03-02  Andy Estes  <aestes@apple.com>
55244
55245        Reviewed by Eric Seidel.
55246
55247        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
55248        https://bugs.webkit.org/show_bug.cgi?id=48719
55249
55250        Instead of pushing a fake HTMLHtmlElement onto the open element stack
55251        during fragment parsing only to later remove it and reparent its
55252        children to the DocumentFragment, push the DocumentFragment directly
55253        onto the open element stack as the root node. This requires refactoring
55254        HTMLElementStack to hold ContainerNode pointers rather than Element
55255        pointers, which has implications for HTMLConstructionSite and
55256        HTMLTreeBuilder as well.
55257
55258        With this patch, the regression in Peacekeeper due to the introduction
55259        of the HTML5 fragment parsing algorithm is ~14%. The regression from
55260        Safari 5.0.3 is ~24%.
55261
55262        No new tests. No change in behavior.
55263
55264        * dom/Element.h:
55265        (WebCore::Node::hasLocalName):
55266        * dom/Node.h:
55267        * html/parser/HTMLConstructionSite.cpp:
55268        (WebCore::HTMLNames::hasImpliedEndTag):
55269        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
55270        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
55271        (WebCore::HTMLConstructionSite::insertComment):
55272        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
55273        (WebCore::HTMLConstructionSite::attachToCurrent):
55274        (WebCore::HTMLConstructionSite::insertScriptElement):
55275        (WebCore::HTMLConstructionSite::insertTextNode):
55276        (WebCore::HTMLConstructionSite::createElement):
55277        (WebCore::HTMLConstructionSite::createHTMLElement):
55278        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
55279        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
55280        (WebCore::HTMLConstructionSite::findFosterSite):
55281        (WebCore::HTMLConstructionSite::shouldFosterParent):
55282        * html/parser/HTMLConstructionSite.h:
55283        (WebCore::HTMLConstructionSite::currentNode):
55284        * html/parser/HTMLElementStack.cpp:
55285        (WebCore::HTMLNames::isNumberedHeaderElement):
55286        (WebCore::HTMLNames::isScopeMarker):
55287        (WebCore::HTMLNames::isListItemScopeMarker):
55288        (WebCore::HTMLNames::isTableScopeMarker):
55289        (WebCore::HTMLNames::isTableBodyScopeMarker):
55290        (WebCore::HTMLNames::isTableRowScopeMarker):
55291        (WebCore::HTMLNames::isButtonScopeMarker):
55292        (WebCore::HTMLNames::isSelectScopeMarker):
55293        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
55294        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
55295        (WebCore::HTMLElementStack::HTMLElementStack):
55296        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
55297        (WebCore::HTMLElementStack::popAll):
55298        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
55299        (WebCore::HTMLElementStack::popUntil):
55300        (WebCore::HTMLElementStack::popUntilPopped):
55301        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
55302        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
55303        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
55304        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
55305        (WebCore::HTMLElementStack::push):
55306        (WebCore::HTMLElementStack::insertAbove):
55307        (WebCore::HTMLElementStack::find):
55308        (WebCore::HTMLElementStack::topmost):
55309        (WebCore::HTMLElementStack::contains):
55310        (WebCore::inScopeCommon):
55311        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
55312        (WebCore::HTMLElementStack::htmlElement):
55313        (WebCore::HTMLElementStack::rootNode):
55314        (WebCore::HTMLElementStack::pushCommon):
55315        * html/parser/HTMLElementStack.h:
55316        (WebCore::HTMLElementStack::ElementRecord::element):
55317        (WebCore::HTMLElementStack::ElementRecord::node):
55318        (WebCore::HTMLElementStack::topNode):
55319        * html/parser/HTMLTreeBuilder.cpp:
55320        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
55321        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
55322        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
55323        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
55324        (WebCore::HTMLTreeBuilder::processStartTag):
55325        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
55326        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
55327        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
55328        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
55329        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
55330        (WebCore::HTMLTreeBuilder::processEndTag):
55331        (WebCore::HTMLTreeBuilder::processEndOfFile):
55332        (WebCore::HTMLTreeBuilder::finished):
55333        * html/parser/HTMLTreeBuilder.h:
55334
553352011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55336
55337        Unreviewed, rolling out r80188.
55338        http://trac.webkit.org/changeset/80188
55339        https://bugs.webkit.org/show_bug.cgi?id=55647
55340
55341        Broke the WebKit API tests. (Requested by xenon on #webkit).
55342
55343        * WebCore.exp.in:
55344
553452011-03-02  Kent Tamura  <tkent@chromium.org>
55346
55347        Unreviewed, build fix.
55348
55349        * platform/text/LocalizedNumberICU.cpp:
55350        (WebCore::createFormatterForCurrentLocale): Fix a typo.
55351
553522011-03-02  Kent Tamura  <tkent@chromium.org>
55353
55354        Reviewed by Darin Adler.
55355
55356        Caching number formatter instances in LocalizedNumber* implementations
55357        https://bugs.webkit.org/show_bug.cgi?id=55629
55358
55359        No new tests. This change doesn't change existing behavior, and is
55360        covered by existing tests.
55361
55362        * platform/text/LocalizedNumberICU.cpp:
55363        (WebCore::createFormatterForCurrentLocale):
55364        (WebCore::numberFormatter): Introduce a function to return a static
55365          instance of NumberFormat.
55366        (WebCore::parseLocalizedNumber): Use numberFormatter().
55367        (WebCore::formatLocalizedNumber): Use numberFormatter().
55368        * platform/text/mac/LocalizedNumberMac.mm:
55369        (WebCore::createFormatterForCurrentLocale):
55370        (WebCore::numberFormatter): Introduce a function to return a static
55371          instance of NSNumberFormatter.
55372        (WebCore::parseLocalizedNumber): Use numberFormatter().
55373        (WebCore::formatLocalizedNumber): Use numberFormatter().
55374
553752011-03-02  Levi Weintraub  <leviw@chromium.org>
55376
55377        Reviewed by Ryosuke Niwa.
55378
55379        deprecatedEditingOffset should actually return the expected deprecated value for "after" positions
55380        https://bugs.webkit.org/show_bug.cgi?id=54986
55381
55382        Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions
55383        until we can update all the call sites to consider the new position types.
55384
55385        No tests. This is intended to simplify the transition to new Positions, not to change behavior.
55386
55387        * dom/Position.cpp:
55388        (WebCore::Position::deprecatedEditingOffset):
55389        (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring
55390        inline-speed for most calls to deprecatedEditingOffset.
55391        * dom/Position.h:
55392
553932011-03-02  Timothy Hatcher  <timothy@apple.com>
55394
55395        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
55396
55397        Reviewed by Darin Adler.
55398
55399        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
55400
554012011-03-02  Daniel Cheng  <dcheng@chromium.org>
55402
55403        Reviewed by David Levin.
55404
55405        Manually revert ChromiumDataObject changes.
55406        https://bugs.webkit.org/show_bug.cgi?id=55627
55407
55408        No new tests since no functionality should change.
55409
55410        * WebCore.gypi:
55411        * editing/chromium/EditorChromium.cpp:
55412        (WebCore::Editor::newGeneralClipboard):
55413        * page/chromium/EventHandlerChromium.cpp:
55414        (WebCore::EventHandler::createDraggingClipboard):
55415        * platform/chromium/ChromiumDataObject.cpp:
55416        (WebCore::ChromiumDataObject::clearData):
55417        (WebCore::ChromiumDataObject::clearAll):
55418        (WebCore::ChromiumDataObject::clearAllExceptFiles):
55419        (WebCore::ChromiumDataObject::hasData):
55420        (WebCore::ChromiumDataObject::types):
55421        (WebCore::ChromiumDataObject::getData):
55422        (WebCore::ChromiumDataObject::setData):
55423        (WebCore::ChromiumDataObject::ChromiumDataObject):
55424        * platform/chromium/ChromiumDataObject.h:
55425        (WebCore::ChromiumDataObject::create):
55426        (WebCore::ChromiumDataObject::copy):
55427        (WebCore::ChromiumDataObject::urlTitle):
55428        (WebCore::ChromiumDataObject::setUrlTitle):
55429        (WebCore::ChromiumDataObject::htmlBaseUrl):
55430        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
55431        (WebCore::ChromiumDataObject::containsFilenames):
55432        (WebCore::ChromiumDataObject::filenames):
55433        (WebCore::ChromiumDataObject::setFilenames):
55434        (WebCore::ChromiumDataObject::fileExtension):
55435        (WebCore::ChromiumDataObject::setFileExtension):
55436        (WebCore::ChromiumDataObject::fileContentFilename):
55437        (WebCore::ChromiumDataObject::setFileContentFilename):
55438        (WebCore::ChromiumDataObject::fileContent):
55439        (WebCore::ChromiumDataObject::setFileContent):
55440        * platform/chromium/ClipboardChromium.cpp:
55441        * platform/chromium/ClipboardChromium.h:
55442
554432011-03-02  David Grogan  <dgrogan@chromium.org>
55444
55445        Reviewed by Jeremy Orlow.
55446
55447        IndexedDB: fire versionchange events when calling setVersion
55448        https://bugs.webkit.org/show_bug.cgi?id=55095
55449
55450        * dom/EventNames.h:
55451        * storage/IDBDatabase.cpp:
55452        (WebCore::IDBDatabase::setVersion):
55453        (WebCore::IDBDatabase::close):
55454        (WebCore::IDBDatabase::onVersionChange):
55455        (WebCore::IDBDatabase::open):
55456        (WebCore::IDBDatabase::enqueueEvent):
55457        (WebCore::IDBDatabase::dispatchEvent):
55458        * storage/IDBDatabase.h:
55459        (WebCore::IDBDatabase::dispatchEvent):
55460        * storage/IDBDatabase.idl:
55461        * storage/IDBDatabaseBackendImpl.cpp:
55462        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
55463        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks):
55464        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
55465        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
55466        (WebCore::IDBDatabaseBackendImpl::setVersion):
55467        (WebCore::IDBDatabaseBackendImpl::open):
55468        (WebCore::IDBDatabaseBackendImpl::close):
55469        * storage/IDBDatabaseBackendImpl.h:
55470        * storage/IDBDatabaseBackendInterface.h:
55471        * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
55472        (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks):
55473        * storage/IDBFactoryBackendImpl.cpp:
55474        (WebCore::IDBFactoryBackendImpl::open):
55475        * storage/IDBRequest.cpp:
55476        (WebCore::IDBRequest::onSuccess):
55477        * storage/IDBVersionChangeEvent.cpp:
55478        (WebCore::IDBVersionChangeEvent::create):
55479        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
55480        * storage/IDBVersionChangeEvent.h:
55481        * storage/IDBVersionChangeRequest.cpp:
55482        (WebCore::IDBVersionChangeRequest::onBlocked):
55483
554842011-03-02  Alexey Proskuryakov  <ap@apple.com>
55485
55486        Fix assertion failures on Gtk bot.
55487
55488        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
55489        assertion. We can get here with non-Tab key events when spatial navigation is enabled.
55490
554912011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55492
55493        Unreviewed, rolling out r80139.
55494        http://trac.webkit.org/changeset/80139
55495        https://bugs.webkit.org/show_bug.cgi?id=55620
55496
55497        failing and crashing tests on Snow Leopard bot (Requested by
55498        mihaip1 on #webkit).
55499
55500        * page/DOMWindow.cpp:
55501        * page/DOMWindow.h:
55502        * page/Frame.cpp:
55503        (WebCore::Frame::pageDestroyed):
55504        (WebCore::Frame::transferChildFrameToNewDocument):
55505        * page/Frame.h:
55506        (WebCore::Frame::detachFromPage):
55507        * page/Geolocation.cpp:
55508        (WebCore::Geolocation::~Geolocation):
55509        (WebCore::Geolocation::disconnectFrame):
55510        (WebCore::Geolocation::lastPosition):
55511        (WebCore::Geolocation::requestPermission):
55512        (WebCore::Geolocation::startUpdating):
55513        (WebCore::Geolocation::stopUpdating):
55514        * page/Geolocation.h:
55515        * page/GeolocationController.cpp:
55516        (WebCore::GeolocationController::~GeolocationController):
55517        * page/Navigator.cpp:
55518        * page/Navigator.h:
55519        * platform/mock/GeolocationClientMock.cpp:
55520        * platform/mock/GeolocationClientMock.h:
55521
555222011-03-02  Jessie Berlin  <jberlin@apple.com>
55523
55524        Reviewed by Adam Roben.
55525
55526        WebKit2: Use CFNetwork Sessions API.
55527        https://bugs.webkit.org/show_bug.cgi?id=55435
55528
55529        Add the ability to create a Private Browsing Storage Session.
55530
55531        * WebCore.exp.in:
55532        Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase.
55533
55534        * page/Settings.cpp:
55535        (WebCore::Settings::setPrivateBrowsingEnabled):
55536        Propagate the private browsing state to the ResourceHandle.
55537
55538        * platform/mac/WebCoreSystemInterface.h:
55539        Add the function declaration for wkCreatePrivateStorageSession.
55540        * platform/mac/WebCoreSystemInterface.mm:
55541
55542        * platform/network/ResourceHandle.cpp:
55543        (WebCore::privateStorageSession):
55544        Since the same Private Browsing Storage Session will need to be accessed throughout the loading
55545        code and will need to be used by all web pages and page groups, make it a global static.
55546        (WebCore::privateBrowsingStorageSessionIdentifierBase):
55547        Ditto, since the identifier is needed to create the Private Browsing Storage Session.
55548        (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
55549        If enabled, create and store the Private Browsing Storage Session.
55550        (WebCore::ResourceHandle::privateBrowsingStorageSession):
55551        (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
55552        * platform/network/ResourceHandle.h:
55553
55554        * platform/network/cf/ResourceHandleCFNet.cpp:
55555        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
55556        The call to wkCreatePrivateStorageSession needs to be in a file including the correct
55557        version of WKSI.
55558        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
55559        Return the bundle identifier.
55560        * platform/network/mac/ResourceHandleMac.mm:
55561        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
55562        The call to wkCreatePrivateStorageSession needs to be in a file importing the correct
55563        version of WKSI.
55564        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
55565        Return the bundle identifier.
55566
555672011-03-02  Daniel Cheng  <dcheng@chromium.org>
55568
55569        Revert frame-specific WebClipboard changes
55570        https://bugs.webkit.org/show_bug.cgi?id=55617
55571
55572        This code is no longer needed since we've decided to use the original
55573        approach to copy/paste drag/drop handling in ClipboardChromium.
55574
55575        No new tests because no functionality changes.
55576
55577        * platform/chromium/ChromiumDataObject.cpp:
55578        (WebCore::ChromiumDataObject::createReadable):
55579        * platform/chromium/ChromiumDataObject.h:
55580        * platform/chromium/ClipboardChromium.cpp:
55581        (WebCore::ClipboardChromium::create):
55582        * platform/chromium/PlatformBridge.h:
55583        * platform/chromium/ReadableDataObject.cpp:
55584        (WebCore::ReadableDataObject::create):
55585        (WebCore::ReadableDataObject::ReadableDataObject):
55586        (WebCore::ReadableDataObject::getData):
55587        (WebCore::ReadableDataObject::urlTitle):
55588        (WebCore::ReadableDataObject::htmlBaseUrl):
55589        (WebCore::ReadableDataObject::filenames):
55590        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
55591        * platform/chromium/ReadableDataObject.h:
55592
555932011-03-02  Tony Chang  <tony@chromium.org>
55594
55595        Unreviewed, rolling chromium DEPS to r76362.
55596
55597        https://bugs.webkit.org/show_bug.cgi?id=55564
55598
55599        * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium
55600
556012011-03-02  Alexey Proskuryakov  <ap@apple.com>
55602
55603        Build fix.
55604
55605        * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these
55606        changes yet.
55607
556082011-03-02  Alexey Proskuryakov  <ap@apple.com>
55609
55610        Reviewed by John Sullivan.
55611
55612        Clean up WebCore tabsToLinks code a little
55613        https://bugs.webkit.org/show_bug.cgi?id=55606
55614
55615        No change in behavior, so no tests.
55616
55617        * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
55618        This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
55619
55620        * page/EventHandler.cpp:
55621        (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
55622        function cannot be file static, because EventHandlerMac.mm uses it.
55623        (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
55624        specific files. We can just as well have #if here. Renamed for clarity.
55625        (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
55626        works.
55627
55628        * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
55629        in EventHandler.cpp.
55630
55631        * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55632        * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55633        * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55634        * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55635        * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55636        * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55637        * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
55638        * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55639        * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55640        * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55641        Updating all port files.
55642
556432011-02-28  Jeremy Orlow  <jorlow@chromium.org>
55644
55645        Reviewed by James Robinson.
55646
55647        Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value
55648        https://bugs.webkit.org/show_bug.cgi?id=55443
55649
55650        Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948
55651
55652        The idea is to have an IDBCursor and an IDBCursorWithValue interface which
55653        inherits from the former.  index.openKeyCursor will return the former and
55654        index/objectStore.openCursor will return the latter.  We'll add a primaryKey
55655        attribute to IDBCursor.  It will always be the key of the associated object
55656        store entry.  For index.openCursor cursors, the key attribute will be the key
55657        of the index.  For objectStore.openCursors, it'll be the same as the
55658        primaryKey.  The value will be the value of the objectStore entry.
55659
55660        * WebCore.gypi:
55661        * bindings/scripts/CodeGeneratorV8.pm:
55662        * bindings/v8/SerializedScriptValue.cpp:
55663        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
55664        * bindings/v8/SerializedScriptValue.h:
55665        * bindings/v8/custom/V8IDBAnyCustom.cpp:
55666        (WebCore::toV8):
55667        * storage/IDBAny.cpp:
55668        (WebCore::IDBAny::idbCursorWithValue):
55669        (WebCore::IDBAny::set):
55670        * storage/IDBAny.h:
55671        * storage/IDBCursor.cpp:
55672        (WebCore::IDBCursor::create):
55673        (WebCore::IDBCursor::primaryKey):
55674        (WebCore::IDBCursor::value):
55675        * storage/IDBCursor.h:
55676        * storage/IDBCursor.idl:
55677        * storage/IDBCursorBackendImpl.cpp:
55678        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
55679        (WebCore::IDBCursorBackendImpl::primaryKey):
55680        (WebCore::IDBCursorBackendImpl::value):
55681        (WebCore::IDBCursorBackendImpl::update):
55682        (WebCore::IDBCursorBackendImpl::currentRowExists):
55683        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
55684        (WebCore::IDBCursorBackendImpl::deleteFunction):
55685        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
55686        * storage/IDBCursorBackendImpl.h:
55687        (WebCore::IDBCursorBackendImpl::create):
55688        * storage/IDBCursorBackendInterface.h:
55689        * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl.
55690        (WebCore::IDBCursorWithValue::create):
55691        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
55692        (WebCore::IDBCursorWithValue::~IDBCursorWithValue):
55693        * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
55694        * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
55695        * storage/IDBIndex.cpp:
55696        (WebCore::IDBIndex::openCursor):
55697        (WebCore::IDBIndex::openKeyCursor):
55698        * storage/IDBIndexBackendImpl.cpp:
55699        (WebCore::IDBIndexBackendImpl::openCursorInternal):
55700        (WebCore::IDBIndexBackendImpl::openCursor):
55701        (WebCore::IDBIndexBackendImpl::openKeyCursor):
55702        * storage/IDBIndexBackendImpl.h:
55703        * storage/IDBObjectStore.cpp:
55704        (WebCore::IDBObjectStore::openCursor):
55705        * storage/IDBObjectStoreBackendImpl.cpp:
55706        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
55707        * storage/IDBRequest.cpp:
55708        (WebCore::IDBRequest::IDBRequest):
55709        (WebCore::IDBRequest::setCursorType):
55710        (WebCore::IDBRequest::onSuccess):
55711        (WebCore::IDBRequest::dispatchEvent):
55712        * storage/IDBRequest.h:
55713
557142011-03-02  Aravind Akella  <aravind.akella@nokia.com>
55715
55716         Reviewed by Csaba Osztrogonác.
55717
55718         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
55719         https://bugs.webkit.org/show_bug.cgi?id=55484
55720
55721         Using AllInOne files to avoid memory exhaustion for debug
55722         builds on 32 bit linux machines.
55723
55724         No new tests. Fixing a build issue.
55725
55726         * WebCore.pro:
55727
557282011-03-02  Daniel Cheng  <dcheng@chromium.org>
55729
55730        Reviewed by David Levin.
55731
55732        Add feature define for data transfer items
55733        https://bugs.webkit.org/show_bug.cgi?id=55510
55734
55735        * Configurations/FeatureDefines.xcconfig:
55736        * GNUmakefile.am:
55737        * features.pri:
55738
557392011-03-02  Dimitri Glazkov  <dglazkov@chromium.org>
55740
55741        Update location of media-file.js, which was moved in r79630.
55742
55743        * manual-tests/media-controls.html: Updated location.
55744
557452011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55746
55747        Unreviewed, rolling out r80156.
55748        http://trac.webkit.org/changeset/80156
55749        https://bugs.webkit.org/show_bug.cgi?id=55604
55750
55751        "Broke SL compile" (Requested by tonyg-cr on #webkit).
55752
55753        * bridge/jni/JNIBridge.h:
55754        (JSC::Bindings::JavaString::operator UString):
55755        * bridge/jni/jni_jsobject.mm:
55756        (JavaJSObject::call):
55757        (JavaJSObject::eval):
55758        (JavaJSObject::getMember):
55759        (JavaJSObject::setMember):
55760        (JavaJSObject::removeMember):
55761        * bridge/jni/jsc/JavaClassJSC.cpp:
55762        (JavaClass::JavaClass):
55763        * bridge/jni/jsc/JavaStringJSC.h:
55764        (JSC::Bindings::JavaStringImpl::uString):
55765        * bridge/jni/v8/JavaStringV8.h:
55766
557672011-03-02  Steve Block  <steveblock@google.com>
55768
55769        Reviewed by Jeremy Orlow.
55770
55771        JavaString API should be implementable by both JSC and V8
55772        https://bugs.webkit.org/show_bug.cgi?id=55567
55773
55774        Remove JavaString's UString operator and replace it with a
55775        script-engine-independent impl() method, which returns a
55776        StringImpl and can be implemented with both JSC and V8.
55777
55778        No new tests, refactoring only.
55779
55780        * bridge/jni/JNIBridge.h:
55781        (JSC::Bindings::JavaString::impl):
55782        * bridge/jni/jni_jsobject.mm:
55783        (JavaJSObject::call):
55784        (JavaJSObject::eval):
55785        (JavaJSObject::getMember):
55786        (JavaJSObject::setMember):
55787        (JavaJSObject::removeMember):
55788        * bridge/jni/jsc/JavaClassJSC.cpp:
55789        (JavaClass::JavaClass):
55790        * bridge/jni/jsc/JavaStringJSC.h:
55791        (JSC::Bindings::JavaStringImpl::impl):
55792        * bridge/jni/v8/JavaStringV8.h:
55793        (JSC::Bindings::JavaStringImpl::impl):
55794
557952011-03-02  Mihai Parparita  <mihaip@chromium.org>
55796
55797        Reviewed by Dimitri Glazkov.
55798
55799        Add CRASH() for CSSSelector double frees
55800        https://bugs.webkit.org/show_bug.cgi?id=55596
55801
55802        To help track down bug 53045, add a CRASH call when the CSSSelector
55803        destructor is invoked more than once.
55804
55805        Just a check, no new tests necessary.
55806
55807        * css/CSSSelector.h:
55808        (WebCore::CSSSelector::CSSSelector):
55809        (WebCore::CSSSelector::~CSSSelector):
55810
558112011-03-02  Carol Szabo  <carol.szabo@nokia.com>
55812
55813        Reviewed by David Hyatt  <hyatt@apple.com>
55814
55815        content property doesn't support quotes
55816        https://bugs.webkit.org/show_bug.cgi?id=6503
55817
55818        Added full support for quotes as defined by CSS 2.1.
55819
55820        Tests: fast/css/content/content-quotes-01.html
55821               fast/css/content/content-quotes-02.html
55822               fast/css/content/content-quotes-03.html
55823               fast/css/content/content-quotes-04.html
55824               fast/css/content/content-quotes-05.html
55825               fast/css/content/content-quotes-06.html
55826
55827        * Android.mk:
55828        * CMakeLists.txt:
55829        * GNUmakefile.am:
55830        * WebCore.gypi:
55831        * WebCore.pro:
55832        * WebCore.vcproj/WebCore.vcproj:
55833        * WebCore.xcodeproj/project.pbxproj:
55834        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
55835        * css/CSSParser.cpp:
55836        (WebCore::CSSParser::parseValue):
55837        (WebCore::CSSParser::parseQuotes):
55838        * css/CSSParser.h:
55839        Added needed stylesheet parsing support for quotes,
55840        (no-)open-quote and (no-)close-quote
55841        * css/CSSStyleSelector.cpp:
55842        (WebCore::CSSStyleSelector::applyProperty):
55843        Handled setting of the new quotes RenderStyle property and added
55844        handling of quotes for the content property.
55845        * css/html.css:
55846        (q:before):
55847        (q:after):
55848        replaced the '"' workaround with open/close-quote
55849        * rendering/RenderBlockLineLayout.cpp:
55850        (WebCore::dirtyLineBoxesForRenderer):
55851        Made RenderQuote behave like RenderCounter.
55852        Needed to ensure that the Quote text is calculated before layout,
55853        just as it is for RenderCounter.
55854        * rendering/RenderObject.h:
55855        (WebCore::RenderObject::isQuote):
55856        * rendering/RenderObjectChildList.cpp:
55857        (WebCore::RenderObjectChildList::removeChildNode):
55858        (WebCore::RenderObjectChildList::appendChildNode):
55859        (WebCore::RenderObjectChildList::insertChildNode):
55860        Handled updating of quote depth when renderers are added and removed
55861        from the tree.
55862        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
55863        Added support for Quote content.
55864        * rendering/RenderQuote.cpp: Added.
55865        (WebCore::adjustDepth):
55866        (WebCore::RenderQuote::RenderQuote):
55867        (WebCore::RenderQuote::~RenderQuote):
55868        (WebCore::RenderQuote::renderName):
55869        (WebCore::RenderQuote::placeQuote):
55870        (WebCore::LanguageData::operator<):
55871        (WebCore::defaultLanguageQuotes):
55872        (WebCore::quotesMap):
55873        (WebCore::quotesForLanguage):
55874        (WebCore::defaultQuotes):
55875        (WebCore::RenderQuote::originalText):
55876        (WebCore::RenderQuote::computePreferredLogicalWidths):
55877        (WebCore::RenderQuote::rendererSubtreeAttached):
55878        (WebCore::RenderQuote::rendererRemovedFromTree):
55879        (WebCore::RenderQuote::styleDidChange):
55880        * rendering/RenderQuote.h: Added.
55881        (WebCore::RenderQuote::isQuote):
55882        (WebCore::toRenderQuote):
55883        * rendering/RenderingAllInOne.cpp:
55884        Included RenderQuote.cpp
55885        * rendering/style/StyleAllInOne.cpp:
55886        Included QuotesData.cpp
55887        * rendering/style/ContentData.cpp:
55888        (WebCore::ContentData::dataEquivalent):
55889        Checked for quotetype identity.
55890        (WebCore::ContentData::deleteContent):
55891        Accounted for the new QUOTE_TYPE.
55892        * rendering/style/ContentData.h:
55893        (WebCore::ContentData::isQuote):
55894        (WebCore::ContentData::quote):
55895        (WebCore::ContentData::setQuote):
55896        * rendering/style/QuotesData.cpp: Added.
55897        (WebCore::QuotesData::create):
55898        (WebCore::QuotesData::operator==):
55899        (WebCore::QuotesData::~QuotesData):
55900        * rendering/style/QuotesData.h: Added.
55901        (WebCore::QuotesData::data):
55902        (WebCore::QuotesData::operator delete):
55903        (WebCore::QuotesData::QuotesData):
55904        * rendering/style/RenderStyle.cpp:
55905        (WebCore::RenderStyle::setContent):
55906        (WebCore::RenderStyle::setQuotes):
55907        * rendering/style/RenderStyle.h:
55908        (WebCore::InheritedFlags::quotes):
55909        (WebCore::InheritedFlags::setQuotes):
55910        * rendering/style/RenderStyleConstants.h:
55911        * rendering/style/StyleAllInOne.cpp:
55912        Added QuotesData.cpp to the included files list.
55913        * rendering/style/StyleRareInheritedData.cpp:
55914        (WebCore::StyleRareInheritedData::operator==):
55915        Included quotes in equality check.
55916        * rendering/style/StyleRareInheritedData.h:
55917        Added quotes
55918
559192011-03-02  Antti Koivisto  <antti@apple.com>
55920
55921        Reviewed by Dave Hyatt.
55922
55923        Selector usage flags should not be set by the CSS parser
55924        https://bugs.webkit.org/show_bug.cgi?id=55573
55925
55926        Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as
55927        we may parse stylesheets that are not actually used for document rendering. This is especially bad when
55928        the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes
55929        triggered by complex selectors for no good reason.
55930
55931        - Use the selector traversal in style selector constructor to figure out which flags
55932          are actually needed for the currently active style sheets.
55933        - Remove the selector flag related code from the CSS parser/grammar.
55934        - Remove the usesDescendantRules flag completely. We have descendant rules in the default
55935          style sheet, every document uses them.
55936
55937        * css/CSSGrammar.y:
55938        * css/CSSParser.cpp:
55939        (WebCore::CSSParser::updateSpecifiersWithElementName):
55940        * css/CSSStyleSelector.cpp:
55941        (WebCore::collectSiblingRulesInDefaultStyle):
55942        (WebCore::CSSStyleSelector::CSSStyleSelector):
55943        (WebCore::CSSStyleSelector::Features::Features):
55944        (WebCore::CSSStyleSelector::Features::~Features):
55945        (WebCore::CSSStyleSelector::locateCousinList):
55946        (WebCore::CSSStyleSelector::matchesSiblingRules):
55947        (WebCore::CSSStyleSelector::canShareStyleWithElement):
55948        (WebCore::CSSStyleSelector::locateSharedStyle):
55949        (WebCore::collectFeaturesFromSelector):
55950        (WebCore::collectFeaturesFromList):
55951        (WebCore::RuleSet::collectFeatures):
55952        * css/CSSStyleSelector.h:
55953        (WebCore::CSSStyleSelector::usesSiblingRules):
55954        (WebCore::CSSStyleSelector::usesFirstLineRules):
55955        (WebCore::CSSStyleSelector::usesBeforeAfterRules):
55956        (WebCore::CSSStyleSelector::usesLinkRules):
55957        * dom/Document.cpp:
55958        (WebCore::Document::Document):
55959        (WebCore::Document::recalcStyle):
55960        (WebCore::Document::createStyleSelector):
55961        * dom/Document.h:
55962        (WebCore::Document::usesSiblingRules):
55963        (WebCore::Document::setUsesSiblingRules):
55964        (WebCore::Document::usesFirstLineRules):
55965        (WebCore::Document::usesBeforeAfterRules):
55966        (WebCore::Document::setUsesBeforeAfterRules):
55967        * dom/Element.cpp:
55968        (WebCore::Element::recalcStyle):
55969
559702011-03-02  Brian Weinstein  <bweinstein@apple.com>
55971
55972        Fix fallout from a last minute renaming.
55973
55974        * platform/network/cf/CookieStorageCFNet.cpp:
55975        (WebCore::startObservingCookieChanges):
55976        (WebCore::stopObservingCookieChanges):
55977
559782011-03-01  Brian Weinstein  <bweinstein@apple.com>
55979
55980        Reviewed by Adam Roben.
55981
55982        Part of WebKit2: Need a way to send notifications to client when cookies change
55983        https://bugs.webkit.org/show_bug.cgi?id=55427
55984        <rdar://problem/9056027>
55985
55986        Add functions on CookieStorage that allow listening for changes in cookies. When
55987        the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged.
55988
55989        No change in behavior requiring tests.
55990
55991        * platform/CookiesStrategy.h: Added.
55992        (WebCore::CookiesStrategy::~CookiesStrategy):
55993
55994        * platform/PlatformStrategies.h:
55995        (WebCore::PlatformStrategies::cookiesStrategy):
55996        (WebCore::PlatformStrategies::PlatformStrategies):
55997
55998        * platform/network/CookieStorage.h: Add new function declarations.
55999
56000        * platform/network/cf/CookieStorageCFNet.cpp:
56001        (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged.
56002        (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread.
56003        (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop.
56004        (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop.
56005
56006        * platform/network/mac/CookieStorageMac.mm:
56007        (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged.
56008        (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on
56009            the main thread.
56010        (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications.
56011        (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications.
56012        (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications.
56013        (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications.
56014
56015        Add new file.
56016        * WebCore.vcproj/WebCore.vcproj:
56017        * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private.
56018
560192011-03-02  Sergey Glazunov  <serg.glazunov@gmail.com>
56020
56021        Reviewed by Dimitri Glazkov.
56022
56023        A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules
56024        https://bugs.webkit.org/show_bug.cgi?id=55488
56025
56026        Test: fast/css/css-keyframe-parent.html
56027
56028        * css/WebKitCSSKeyframesRule.cpp:
56029        (WebCore::WebKitCSSKeyframesRule::append):
56030
560312011-03-02  Sergio Villar Senin  <svillar@igalia.com>
56032
56033        Reviewed by Martin Robinson.
56034
56035        [GTK] Add support for external protocol handlers
56036        https://bugs.webkit.org/show_bug.cgi?id=55473
56037
56038        Do not unconditionally create and replace the SoupRequester of the
56039        SoupSession if there is already one. No new tests needed as we
56040        just allow clients to create their our SoupRequesters.
56041
56042        * platform/network/soup/ResourceHandleSoup.cpp:
56043        (WebCore::ensureSessionIsInitialized):
56044
560452011-03-02  John Knottenbelt  <jknotten@chromium.org>
56046
56047        Reviewed by jknotten@chromium.org.
56048
56049        Fix build-breakage when GEOLOCATION not enabled.
56050        https://bugs.webkit.org/show_bug.cgi?id=55586
56051
56052        Geolocation::reset needs to be defined if ENABLE(GEOLOCATION)
56053        is not true.
56054
56055        * page/Geolocation.cpp:
56056        (WebCore::Geolocation::reset):
56057
560582011-03-02  Pavel Feldman  <pfeldman@chromium.org>
56059
56060        Reviewed by Yury Semikhatsky.
56061
56062        Web Inspector: remove InjectedScriptHost -> DOMAgent dependency.
56063        https://bugs.webkit.org/show_bug.cgi?id=55575
56064
56065        * bindings/js/JSInjectedScriptHostCustom.cpp:
56066        (WebCore::JSInjectedScriptHost::inspectedNode):
56067        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
56068        (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
56069        * inspector/ConsoleMessage.cpp:
56070        (WebCore::ConsoleMessage::addToFrontend):
56071        * inspector/InjectedScript.cpp:
56072        (WebCore::InjectedScript::evaluateOn):
56073        (WebCore::InjectedScript::wrapObject):
56074        (WebCore::InjectedScript::wrapNode):
56075        (WebCore::InjectedScript::inspectNode):
56076        (WebCore::InjectedScript::nodeAsScriptValue):
56077        * inspector/InjectedScript.h:
56078        * inspector/InjectedScriptHost.cpp:
56079        (WebCore::InjectedScriptHost::addInspectedNode):
56080        (WebCore::InjectedScriptHost::clearInspectedNodes):
56081        (WebCore::InjectedScriptHost::copyText):
56082        (WebCore::InjectedScriptHost::inspectedNode):
56083        * inspector/InjectedScriptHost.h:
56084        * inspector/InjectedScriptHost.idl:
56085        * inspector/InjectedScriptSource.js:
56086        * inspector/Inspector.idl:
56087        * inspector/InspectorDOMAgent.cpp:
56088        (WebCore::InspectorDOMAgent::discardBindings):
56089        (WebCore::InspectorDOMAgent::addInspectedNode):
56090        (WebCore::InspectorDOMAgent::resolveNode):
56091        (WebCore::InspectorDOMAgent::injectedScriptForNode):
56092        * inspector/InspectorDOMAgent.h:
56093        * inspector/InspectorRuntimeAgent.cpp:
56094        (WebCore::InspectorRuntimeAgent::evaluateOn):
56095        * inspector/InspectorRuntimeAgent.h:
56096        * inspector/front-end/ElementsTreeOutline.js:
56097        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
56098        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
56099        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
56100        * inspector/front-end/PropertiesSidebarPane.js:
56101        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
56102        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
56103        (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
56104        (WebInspector.PropertiesSidebarPane.prototype.update):
56105        * inspector/front-end/RemoteObject.js:
56106        (WebInspector.RemoteObject.resolveNode):
56107        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
56108        (WebInspector.RemoteObject.prototype.evaluate):
56109
561102011-01-21  John Knottenbelt  <jknotten@chromium.org>
56111
56112        Reviewed by Dmitry Titov.
56113
56114        Detach Geolocation from Frame when Page destroyed.
56115        https://bugs.webkit.org/show_bug.cgi?id=52877
56116
56117        On Page destruction, any outstanding Geolocation permission
56118        requests should be cancelled, because the Geolocation can only
56119        access the client indirectly via m_frame->page().
56120
56121        Additionally, if the Frame is reparented to another page, the
56122        Geolocation should cancel watches, single-shots and requests on
56123        the old page.
56124
56125        Page destruction is signalled by a call to the
56126        Frame::pageDestroyed() method. This calls Frame::detachFromPage,
56127        where we extend the call chain to Geolocation::detachFromPage()
56128        where we call Geolocation::reset() which detaches from the
56129        GeolocationController, cancels requests, watches and single shots,
56130        and sets the permission state back to Unknown.
56131
56132        We also now call detachFromPage when the frame reparented in
56133        Frame::transferChildFrameToNewDocument.
56134
56135        Frame::pageDestroyed() is also called by FrameLoader even though
56136        the page is not destroyed. We should still cancel permission
56137        requests, because the GeolocationClient will become inaccessible
56138        to the Geolocation object after this call.
56139
56140        Since GeolocationController is owned by Page, and all Geolocation
56141        objects will now unsubscribe from the GeolocationController on
56142        pageDetached(), we no longer need to call stopUpdating() from the
56143        GeolocationController's destructor. Instead we can simply assert
56144        that there should be no no observers. See related bug
56145        https://bugs.webkit.org/show_bug.cgi?id=52216 .
56146
56147        Introduced new method 'numberOfPendingPermissionRequests' on
56148        GeolocationClientMock to count the number of outstanding pending
56149        permission requests. This provides a reusable implementation for
56150        client-based implementations of the LayoutTestController's
56151        numberOfPendingGeolocationPermissionRequests method.
56152
56153        Tests: fast/dom/Geolocation/iframe-reparent.html
56154               fast/dom/Geolocation/page-reload-cancel-permission-requests.html
56155
56156        * page/DOMWindow.cpp:
56157        (WebCore::DOMWindow::resetGeolocationPermissions):
56158        * page/DOMWindow.h:
56159        * page/Frame.cpp:
56160        (WebCore::Frame::detachFromPage):
56161        (WebCore::Frame::pageDestroyed):
56162        (WebCore::Frame::transferChildFrameToNewDocument):
56163        * page/Frame.h:
56164        * page/Geolocation.cpp:
56165        (WebCore::Geolocation::~Geolocation):
56166        (WebCore::Geolocation::page):
56167        (WebCore::Geolocation::reset):
56168        (WebCore::Geolocation::disconnectFrame):
56169        (WebCore::Geolocation::lastPosition):
56170        (WebCore::Geolocation::requestPermission):
56171        (WebCore::Geolocation::startUpdating):
56172        (WebCore::Geolocation::stopUpdating):
56173        * page/Geolocation.h:
56174        * page/GeolocationController.cpp:
56175        (WebCore::GeolocationController::~GeolocationController):
56176        * page/Navigator.cpp:
56177        (WebCore::Navigator::resetGeolocationPermissions):
56178        * page/Navigator.h:
56179        * platform/mock/GeolocationClientMock.cpp:
56180        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
56181        * platform/mock/GeolocationClientMock.h:
56182
561832011-03-02  Mikhail Naganov  <mnaganov@chromium.org>
56184
56185        Reviewed by Pavel Feldman.
56186
56187        Web Inspector: [Chromium] Landing detailed heap snapshots, part 4.
56188        https://bugs.webkit.org/show_bug.cgi?id=55563
56189
56190        This part adds implementations for data grids used to display
56191        different heap snapshots projections. We are almost done.
56192
56193        * English.lproj/localizedStrings.js:
56194        * WebCore.gypi:
56195        * bindings/v8/ScriptHeapSnapshot.cpp:
56196        (WebCore::ScriptHeapSnapshot::getExactRetainedSize):
56197        * bindings/v8/ScriptHeapSnapshot.h:
56198        * inspector/Inspector.idl:
56199        * inspector/InspectorProfilerAgent.cpp:
56200        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
56201        * inspector/InspectorProfilerAgent.h:
56202        * inspector/front-end/DetailedHeapshotGridNodes.js:
56203        (WebInspector.HeapSnapshotObjectNode):
56204        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
56205        (WebInspector.HeapSnapshotInstanceNode):
56206        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
56207        (WebInspector.HeapSnapshotDominatorObjectNode):
56208        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
56209        (MixInSnapshotNodeFunctions):
56210        * inspector/front-end/DetailedHeapshotView.js:
56211        (WebInspector.HeapSnapshotContainmentDataGrid):
56212        (WebInspector.HeapSnapshotSortableDataGrid):
56213        (WebInspector.HeapSnapshotConstructorsDataGrid):
56214        (WebInspector.HeapSnapshotDiffDataGrid):
56215        (WebInspector.HeapSnapshotDominatorsDataGrid):
56216        (WebInspector.HeapSnapshotRetainingPathsList):
56217        (WebInspector.DetailedHeapshotView.profileCallback):
56218        (WebInspector.DetailedHeapshotView):
56219        * inspector/front-end/HeapSnapshot.js:
56220        (WebInspector.HeapSnapshotEdge.prototype.get isInvisible):
56221        (WebInspector.HeapSnapshotEdge.prototype.toString):
56222        (WebInspector.HeapSnapshot.prototype._init):
56223        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
56224        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
56225        (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
56226        * inspector/front-end/Images/helpButtonGlyph.png: Added.
56227        * inspector/front-end/Panel.js:
56228        (WebInspector.Panel.prototype.reset):
56229        * inspector/front-end/Popover.js:
56230        (WebInspector.Popover):
56231        (WebInspector.Popover.prototype.show):
56232        (WebInspector.Popover.prototype.hide):
56233        (WebInspector.Popover.prototype.get visible):
56234        * inspector/front-end/ProfilesPanel.js:
56235        (WebInspector.ProfilesPanel.prototype._reset):
56236        (WebInspector.ProfilesPanel.prototype.getProfile):
56237        * inspector/front-end/heapProfiler.css:
56238        * inspector/front-end/inspector.js:
56239        (WebInspector.resetFocusElement):
56240
562412011-03-02  David Kilzer  <ddkilzer@apple.com>
56242
56243        <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp
56244
56245        Reviewed by Darin Adler.
56246
56247        Change "#if GL_APPLE_vertex_array_object" macros to check that
56248        GL_APPLE_vertex_array_object is both defined and non-zero.
56249
56250        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
56251        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
56252        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove
56253        empty #else clause.
56254        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
56255        (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early
56256        return check.  Remove #else clause that would never have
56257        compiled (since array is not a WTF::String).
56258
562592011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
56260
56261        Reviewed by Darin Adler.
56262
56263        Assertion failure after removing a selection in keydown handler
56264        https://bugs.webkit.org/show_bug.cgi?id=51389
56265
56266        The bug was caused by textWillBeReplaced's not always updating selection, and
56267        shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's
56268        at the end of replaced data.
56269
56270        Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition
56271        to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call
56272        to setSelection instead of directly modifying m_selection to notify all the clients.
56273        Namely, the call to EditorClient::respondToChangedSelection is required for
56274        setting-input-value-cancel-ime-composition.html.
56275
56276        Note that we must update layout before calling setSelection because setSelection calls
56277        setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests
56278        such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable.
56279
56280        Test: editing/input/setting-input-value-cancel-ime-composition.html
56281
56282        * editing/SelectionController.cpp:
56283        (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset
56284        of the selection end must be updated even if it was at the end of the replaced text.
56285        e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not
56286        "hello  WebK[it". Note we don't move the offset if no text is removed because appending
56287        "world" to "hello ]" should result in "hello ]world" not "hello world]".
56288        (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update
56289        the selection instead of modifying m_selection directly.
56290
562912011-03-02  Andrey Adaikin  <aandrey@google.com>
56292
56293        Reviewed by Pavel Feldman.
56294
56295        Web Inspector: highlighted line does not span horizonally in scripts panel while debugging.
56296        https://bugs.webkit.org/show_bug.cgi?id=54675
56297
56298        * inspector/front-end/TextViewer.js:
56299        (WebInspector.TextViewer.prototype._syncScroll):
56300        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
56301        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
56302        (WebInspector.TextEditorGutterPanel):
56303        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
56304        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
56305        (WebInspector.TextEditorMainPanel):
56306        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
56307        (WebInspector.TextEditorMainPanel.prototype._getSelection):
56308        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
56309        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
56310        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
56311        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
56312        * inspector/front-end/textViewer.css:
56313        (.inner-container):
56314
563152011-03-02  Oleg Romashin  <romaxa@gmail.com>
56316
56317        Reviewed by Andreas Kling.
56318
56319        Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled
56320        https://bugs.webkit.org/show_bug.cgi?id=55477
56321
56322        * inspector/InspectorAgent.cpp:
56323        (WebCore::InspectorAgent::populateScriptObjects):
56324
563252011-03-02  Kent Tamura  <tkent@chromium.org>
56326
56327        Unreviewed, a trivial fix for r80096.
56328
56329        REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure
56330        https://bugs.webkit.org/show_bug.cgi?id=55562
56331
56332        * platform/text/LocalizedNumberICU.cpp:
56333        (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse()
56334          to reject strings with a valid number + extra letters.
56335
563362011-03-02  Steve Block  <steveblock@google.com>
56337
56338        Reviewed by Jeremy Orlow.
56339
56340        JObjectWrapper should be moved to its own file
56341        https://bugs.webkit.org/show_bug.cgi?id=55384
56342
56343        No new tests, refactoring only.
56344
56345        * Android.v8bindings.mk:
56346        * WebCore.gypi:
56347        * bridge/jni/v8/JNIBridgeV8.cpp:
56348        (JavaField::JavaField):
56349        * bridge/jni/v8/JNIBridgeV8.h:
56350        * bridge/jni/v8/JavaInstanceV8.cpp:
56351        (JavaInstance::JavaInstance):
56352        * bridge/jni/v8/JavaInstanceV8.h:
56353        * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
56354        (JobjectWrapper::JobjectWrapper):
56355        (JobjectWrapper::~JobjectWrapper):
56356        * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
56357        (JSC::Bindings::JobjectWrapper::instance):
56358        (JSC::Bindings::JobjectWrapper::setInstance):
56359        (JSC::Bindings::JobjectWrapper::ref):
56360        (JSC::Bindings::JobjectWrapper::deref):
56361
563622011-02-25  Andrey Kosyakov  <caseq@chromium.org>
56363
56364        Reviewed by Pavel Feldman.
56365
56366        Web Inspector: factor search logic out of inspector.js
56367        https://bugs.webkit.org/show_bug.cgi?id=54965
56368
56369        * WebCore.gypi:
56370        * WebCore.vcproj/WebCore.vcproj:
56371        * inspector/front-end/ElementsPanel.js:
56372        (WebInspector.ElementsPanel.prototype.searchCanceled):
56373        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
56374        (WebInspector.ElementsPanel.prototype._updateMatchesCount):
56375        * inspector/front-end/Panel.js:
56376        (WebInspector.Panel.prototype.searchCanceled):
56377        (WebInspector.Panel.prototype.performSearch.updateMatchesCount):
56378        * inspector/front-end/ScriptsPanel.js:
56379        (WebInspector.ScriptsPanel.prototype.searchCanceled):
56380        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
56381        (WebInspector.ScriptsPanel.prototype.performSearch):
56382        * inspector/front-end/SearchController.js: Added.
56383        (WebInspector.SearchController):
56384        (WebInspector.SearchController.prototype.updateSearchMatchesCount):
56385        (WebInspector.SearchController.prototype.updateSearchLabel):
56386        (WebInspector.SearchController.prototype.cancelSearch):
56387        (WebInspector.SearchController.prototype.handleShortcut):
56388        (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
56389        (WebInspector.SearchController.prototype.activePanelChanged):
56390        (WebInspector.SearchController.prototype._updateSearchMatchesCount):
56391        (WebInspector.SearchController.prototype._focusSearchField):
56392        (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
56393        (WebInspector.SearchController.prototype._onKeyDown):
56394        (WebInspector.SearchController.prototype._onSearch):
56395        (WebInspector.SearchController.prototype._performSearch):
56396        * inspector/front-end/WebKit.qrc:
56397        * inspector/front-end/inspector.html:
56398        * inspector/front-end/inspector.js:
56399        (WebInspector.set currentPanel):
56400        (WebInspector.set attached):
56401        (WebInspector.doLoadedDone):
56402        (WebInspector.documentKeyDown):
56403
564042011-03-02  Renata Hodovan  <reni@webkit.org>
56405
56406        Reviewed by Andreas Kling.
56407
56408        FEMorphologyElement changes doesn't require relayout
56409        https://bugs.webkit.org/show_bug.cgi?id=55462
56410
56411        When the FEMorphologyElement receives an update message but the given value remains the same we don't need
56412        to relayout the filter.
56413
56414        No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
56415
56416        * platform/graphics/filters/FEMorphology.cpp:
56417        (WebCore::FEMorphology::setMorphologyOperator):
56418        (WebCore::FEMorphology::setRadiusX):
56419        (WebCore::FEMorphology::setRadiusY):
56420        * platform/graphics/filters/FEMorphology.h:
56421        * svg/SVGFEMorphologyElement.cpp:
56422        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
56423        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
56424        * svg/SVGFEMorphologyElement.h:
56425
564262011-03-01  Kent Tamura  <tkent@chromium.org>
56427
56428        Reviewed by Dimitri Glazkov.
56429
56430        Assertion fails when a form validation bubble appears
56431        https://bugs.webkit.org/show_bug.cgi?id=55550
56432
56433        Test: fast/forms/interactive-validation-attach-assertion.html
56434
56435        * html/ValidationMessage.cpp:
56436        (WebCore::ValidationMessage::buildBubbleTree):
56437         Just remove unnecessary attach().
56438
564392011-03-01  Kent Tamura  <tkent@chromium.org>
56440
56441        Reviewed by Dimitri Glazkov.
56442
56443        Support localized numbers in <input type=number>
56444        https://bugs.webkit.org/show_bug.cgi?id=42484
56445
56446        This change adds support of localized numbers in <input type=number>.
56447        This affects only the UI, and not HTMLInputElement::value.
56448
56449        - Remove the keyboard input restriction feature because it is hard to
56450          retrieve characters usable for localized numbers in ICU.
56451
56452        - Separate convertFromVisibleValue() from sanitizeValue().
56453          sanitizeValue() is used for not only converting a renderer value to a
56454          DOM value.
56455
56456        - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
56457          It is used only in Chromium for now.
56458
56459        Test: manual-tests/input-number-localization.html
56460
56461        * WebCore.gypi: Use LocalizedNumberICU.cpp.
56462        * WebCore.xcodeproj/project.pbxproj:
56463          Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
56464        * dom/InputElement.h: Introduce convertFromVisibleValue().
56465        * html/HTMLInputElement.cpp:
56466        (WebCore::HTMLInputElement::convertFromVisibleValue):
56467        * html/HTMLInputElement.h:
56468        * html/InputType.cpp:
56469        (WebCore::InputType::convertFromVisibleValue):
56470        * html/InputType.h:
56471        * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
56472          isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
56473          remove the keyboard input restriction feature for type=number.
56474        (WebCore::NumberInputType::convertFromVisibleValue):
56475        (WebCore::NumberInputType::sanitizeValue):
56476        * html/NumberInputType.h:
56477        * manual-tests/input-number-localization.html: Add a manual test because
56478          the behavior depends on the current locale.
56479        * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
56480        * platform/text/LocalizedNumberICU.cpp:
56481          Implement LocalizedNumber functions with ICU NumberFormat.
56482        (WebCore::createFormatterForCurrentLocale):
56483        (WebCore::parseLocalizedNumber):
56484        (WebCore::formatLocalizedNumber):
56485        * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
56486        * platform/text/mac/LocalizedNumberMac.mm:
56487          Implement LocalizedNumber functions with NSNumberFormatter.
56488        (WebCore::parseLocalizedNumber):
56489        (WebCore::formatLocalizedNumber):
56490        * rendering/RenderTextControlSingleLine.cpp:
56491        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
56492        * wml/WMLInputElement.h:
56493        (WebCore::WMLInputElement::convertFromVisibleValue):
56494          Implemented as a function doing nothing.
56495
564962011-03-01  Yuta Kitamura  <yutak@chromium.org>
56497
56498        Reviewed by Darin Adler.
56499
56500        REGRESSION(r78383): Failure to connect on websocketstest.com
56501        https://bugs.webkit.org/show_bug.cgi?id=54811
56502
56503        After r78383, KURL::setPort() no longer appends ":port" part
56504        if that port is the default port for URL scheme. This broke
56505        SocketStreamHandleCFNet, whose code was based on an assumption
56506        that KURL::setPort() always inserts ":port" part.
56507
56508        To fix this, KURL::port() call is removed from SocketStreamHandle
56509        and the port number is calculated on-the-fly.
56510
56511        Unfortunately it is impossible to write a test; this bug only
56512        affects WebSockets connecting to the default port (port 80
56513        for ws, port 443 for wss), while we use different ports to test
56514        WebSockets in LayoutTests.
56515
56516        * platform/network/cf/SocketStreamHandle.h:
56517        * platform/network/cf/SocketStreamHandleCFNet.cpp:
56518        (WebCore::SocketStreamHandle::SocketStreamHandle):
56519        (WebCore::SocketStreamHandle::createStreams):
56520        (WebCore::SocketStreamHandle::port):
56521
565222011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
56523
56524        Unreviewed, rolling out r80079.
56525        http://trac.webkit.org/changeset/80079
56526        https://bugs.webkit.org/show_bug.cgi?id=55547
56527
56528        "Broke the Win debug build?" (Requested by dcheng on #webkit).
56529
56530        * Configurations/FeatureDefines.xcconfig:
56531        * GNUmakefile.am:
56532        * features.pri:
56533
565342011-02-25  Adrienne Walker  <enne@google.com>
56535
56536        Reviewed by James Robinson.
56537
56538        [chromium] Abstract "pixels with a graphics context" into its own class
56539        https://bugs.webkit.org/show_bug.cgi?id=55259
56540
56541        This creates new PlatformCanvas/PlatformImage classes which wrap
56542        all of the #ifdef Skia/Cg warts from the compositor.  All classes
56543        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
56544        modified to use these abstractions.
56545
56546        Tests: LayoutTests/compositing
56547
56548        * WebCore.gypi:
56549        * platform/graphics/chromium/ContentLayerChromium.cpp:
56550        (WebCore::ContentLayerChromium::updateContentsIfDirty):
56551        (WebCore::ContentLayerChromium::resizeUploadBuffer):
56552        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
56553        (WebCore::ContentLayerChromium::updateTexture):
56554        (WebCore::ContentLayerChromium::draw):
56555        * platform/graphics/chromium/ContentLayerChromium.h:
56556        * platform/graphics/chromium/ImageLayerChromium.cpp:
56557        (WebCore::ImageLayerChromium::updateContentsIfDirty):
56558        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
56559        * platform/graphics/chromium/ImageLayerChromium.h:
56560        * platform/graphics/chromium/LayerTilerChromium.cpp:
56561        (WebCore::LayerTilerChromium::contentRectToTileIndices):
56562        (WebCore::LayerTilerChromium::update):
56563        (WebCore::LayerTilerChromium::updateFromPixels):
56564        * platform/graphics/chromium/LayerTilerChromium.h:
56565        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
56566        (WebCore::PlatformCanvas::PlatformCanvas):
56567        (WebCore::PlatformCanvas::~PlatformCanvas):
56568        (WebCore::PlatformCanvas::resize):
56569        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
56570        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
56571        (WebCore::PlatformCanvas::Painter::Painter):
56572        (WebCore::PlatformCanvas::Painter::~Painter):
56573        * platform/graphics/chromium/PlatformCanvas.h: Added.
56574        (WebCore::PlatformCanvas::AutoLocker::pixels):
56575        (WebCore::PlatformCanvas::Painter::context):
56576        (WebCore::PlatformCanvas::size):
56577        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
56578        (WebCore::PlatformImage::PlatformImage):
56579        (WebCore::PlatformImage::updateFromImage):
56580        * platform/graphics/chromium/PlatformImage.h: Added.
56581        (WebCore::PlatformImage::pixels):
56582        (WebCore::PlatformImage::size):
56583
565842011-03-01  Daniel Cheng  <dcheng@chromium.org>
56585
56586        Reviewed by David Levin.
56587
56588        Add feature define for data transfer items
56589        https://bugs.webkit.org/show_bug.cgi?id=55510
56590
56591        * Configurations/FeatureDefines.xcconfig:
56592        * GNUmakefile.am:
56593        * features.pri:
56594
565952011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
56596
56597        Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
56598
56599        * dom/ViewportArguments.cpp:
56600        (WebCore::computeViewportAttributes):
56601        (WebCore::numericPrefix):
56602        (WebCore::findSizeValue):
56603        (WebCore::setViewportFeature):
56604        (WebCore::viewportErrorMessageTemplate):
56605        (WebCore::viewportErrorMessageLevel):
56606        * dom/ViewportArguments.h:
56607
566082011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56609
56610        Reviewed by James Robinson.
56611
56612        IDBKeyRange.bound() should not use the optional options object
56613        https://bugs.webkit.org/show_bug.cgi?id=55419
56614
56615        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
56616
56617        Added some code to existing tests to cover these cases.
56618
56619        * storage/IDBKeyRange.cpp:
56620        (WebCore::IDBKeyRange::bound):
56621        * storage/IDBKeyRange.h:
56622        * storage/IDBKeyRange.idl:
56623
566242011-03-01  Dan Bernstein  <mitz@apple.com>
56625
56626        Build fix.
56627
56628        * dom/DocumentMarkerController.cpp:
56629        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
56630
566312011-03-01  Kent Tamura  <tkent@chromium.org>
56632
56633        Unreviewed. Apply sort-Xcode-project-file.
56634
56635        * WebCore.xcodeproj/project.pbxproj:
56636
566372011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56638
56639        Reviewed by James Robinson.
56640
56641        V8 code generator doesn't properly support a single SerializedScriptValue attribute
56642        https://bugs.webkit.org/show_bug.cgi?id=55530
56643
56644        This is tested by the bindings tests changes.
56645
56646        * bindings/scripts/CodeGeneratorV8.pm:
56647        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
56648        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
56649        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
56650        (WebDOMTestSerializedScriptValueInterface::operator=):
56651        (WebDOMTestSerializedScriptValueInterface::impl):
56652        (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
56653        (WebDOMTestSerializedScriptValueInterface::value):
56654        (toWebCore):
56655        (toWebKit):
56656        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
56657        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
56658        (WebKit::kit):
56659        (webkit_dom_test_serialized_script_value_interface_get_value):
56660        (WebKit::core):
56661        (webkit_dom_test_serialized_script_value_interface_finalize):
56662        (webkit_dom_test_serialized_script_value_interface_set_property):
56663        (webkit_dom_test_serialized_script_value_interface_get_property):
56664        (webkit_dom_test_serialized_script_value_interface_constructed):
56665        (webkit_dom_test_serialized_script_value_interface_class_init):
56666        (webkit_dom_test_serialized_script_value_interface_init):
56667        (WebKit::wrapTestSerializedScriptValueInterface):
56668        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
56669        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
56670        * bindings/scripts/test/JS/JSTestInterface.cpp:
56671        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
56672        (WebCore::JSTestInterface::JSTestInterface):
56673        * bindings/scripts/test/JS/JSTestInterface.h:
56674        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
56675        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
56676        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
56677        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
56678        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
56679        * bindings/scripts/test/JS/JSTestObj.cpp:
56680        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
56681        (WebCore::JSTestObj::JSTestObj):
56682        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
56683        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
56684        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
56685        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
56686        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
56687        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
56688        (WebCore::jsTestObjPrototypeFunctionIdbKey):
56689        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
56690        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
56691        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
56692        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
56693        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
56694        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
56695        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
56696        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
56697        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
56698        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
56699        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
56700        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
56701        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
56702        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
56703        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
56704        * bindings/scripts/test/JS/JSTestObj.h:
56705        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
56706        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
56707        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
56708        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
56709        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
56710        (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
56711        (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
56712        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
56713        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
56714        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
56715        (WebCore::jsTestSerializedScriptValueInterfaceValue):
56716        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
56717        (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
56718        (WebCore::toJS):
56719        (WebCore::toTestSerializedScriptValueInterface):
56720        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
56721        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
56722        (WebCore::JSTestSerializedScriptValueInterface::impl):
56723        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
56724        (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
56725        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
56726        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
56727        (-[DOMTestSerializedScriptValueInterface dealloc]):
56728        (-[DOMTestSerializedScriptValueInterface finalize]):
56729        (-[DOMTestSerializedScriptValueInterface value]):
56730        (core):
56731        (kit):
56732        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
56733        * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
56734        * bindings/scripts/test/V8/V8TestInterface.cpp:
56735        (WebCore::ConfigureV8TestInterfaceTemplate):
56736        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
56737        (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
56738        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
56739        (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
56740        (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
56741        (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
56742        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
56743        (WebCore::V8TestSerializedScriptValueInterface::derefObject):
56744        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
56745        (WebCore::V8TestSerializedScriptValueInterface::toNative):
56746        (WebCore::V8TestSerializedScriptValueInterface::wrap):
56747        (WebCore::toV8):
56748
567492011-03-01  Oliver Hunt  <oliver@apple.com>
56750
56751        Reviewed by Joseph Pecoraro.
56752
56753        Misaligned memory access in CloneDeserializer on all ARM arch.
56754        https://bugs.webkit.org/show_bug.cgi?id=48742
56755
56756        Push platforms that need aligned memory access down the
56757        endian independent serialization and deserialization
56758        paths.
56759
56760        * bindings/js/SerializedScriptValue.cpp:
56761
567622011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
56763
56764        Reviewed by Kenneth Rohde Christiansen.
56765
56766        Viewport Warning/Error Messages Are Now Inaccurate
56767        https://bugs.webkit.org/show_bug.cgi?id=53707
56768
56769        Correct and improve the error messages for viewport
56770        parsing. Clarify the difference between incorrect
56771        keys, values, and when to use the device-width or
56772        device-height constants.
56773
56774        * dom/ViewportArguments.cpp:
56775        (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
56776        (WebCore::numericPrefix):
56777        (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
56778        (WebCore::setViewportFeature): report a warning for an unrecognized key.
56779        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
56780        (WebCore::viewportErrorMessageLevel):
56781        * dom/ViewportArguments.h:
56782
567832011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
56784
56785        Reviewed by Darin Adler.
56786
56787        WebKit does not merge text decorations in the typing style and the selected element properly
56788        https://bugs.webkit.org/show_bug.cgi?id=55349
56789
56790        The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
56791        Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
56792        calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
56793
56794        Test: editing/execCommand/merge-text-decoration-with-typing-style.html
56795
56796        * editing/ApplyStyleCommand.cpp:
56797        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
56798        calls mergeInlineStyleOfElement.
56799        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
56800        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
56801        * editing/ApplyStyleCommand.h:
56802        * editing/EditingStyle.cpp:
56803        (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
56804        (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
56805        (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
56806        * editing/EditingStyle.h:
56807
568082011-03-01  Levi Weintraub  <leviw@chromium.org>
56809
56810        Reviewed by Ryosuke Niwa.
56811
56812        Stop instantiating legacy editing Positions in VisiblePosition
56813        https://bugs.webkit.org/show_bug.cgi?id=52919
56814
56815        Changing VisiblePosition completely away from legacy positions.
56816
56817        No new tests since this is functionaly equivalent.
56818
56819        * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
56820        adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
56821        outside of WebCore, they should be parent anchored.
56822        * accessibility/AXObjectCache.cpp:
56823        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
56824        * accessibility/AccessibilityObject.cpp:
56825        (WebCore::startOfStyleRange):
56826        (WebCore::endOfStyleRange):
56827        * accessibility/AccessibilityRenderObject.cpp:
56828        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
56829        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
56830        (objectAndOffsetUnignored):
56831        * dom/Position.cpp:
56832        (WebCore::Position::document): Added this inline function to avoid the necessity
56833        of calling anchorNode to assure a document from a Position.
56834        (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
56835        (WebCore::Position::downstream): ditto
56836        * dom/Range.cpp:
56837        (WebCore::Range::editingStartPosition):
56838        * editing/Editor.cpp:
56839        (WebCore::Editor::canDeleteRange):
56840        * editing/ReplaceSelectionCommand.cpp:
56841        (WebCore::ReplaceSelectionCommand::doApply):
56842        * editing/SelectionController.cpp:
56843        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
56844        (WebCore::SelectionController::setSelectedRange):
56845        * editing/TextIterator.cpp:
56846        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
56847        * editing/TypingCommand.cpp:
56848        (WebCore::TypingCommand::deleteKeyPressed):
56849        * editing/VisiblePosition.cpp:
56850        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
56851        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
56852        (WebCore::VisiblePosition::canonicalPosition):
56853        (WebCore::VisiblePosition::characterAfter):
56854        (WebCore::VisiblePosition::localCaretRect):
56855        (WebCore::makeRange):
56856        (WebCore::startVisiblePosition):
56857        (WebCore::endVisiblePosition):
56858        (WebCore::setStart):
56859        (WebCore::setEnd):
56860        (WebCore::isFirstVisiblePositionInNode):
56861        (WebCore::isLastVisiblePositionInNode):
56862        * editing/VisiblePosition.h:
56863        (WebCore::VisiblePosition::VisiblePosition):
56864        * editing/htmlediting.cpp:
56865        (WebCore::firstInSpecialElement):
56866        (WebCore::lastInSpecialElement):
56867        (WebCore::visiblePositionBeforeNode):
56868        (WebCore::visiblePositionAfterNode):
56869        * editing/visible_units.cpp:
56870        (WebCore::startPositionForLine):
56871        (WebCore::endPositionForLine):
56872        (WebCore::previousLinePosition):
56873        (WebCore::nextLinePosition):
56874        (WebCore::startOfParagraph):
56875        (WebCore::endOfParagraph):
56876        (WebCore::endOfBlock):
56877        (WebCore::startOfDocument):
56878        (WebCore::endOfDocument):
56879        (WebCore::logicalStartPositionForLine):
56880        (WebCore::logicalEndPositionForLine):
56881        * page/DOMSelection.cpp:
56882        (WebCore::DOMSelection::collapse):
56883        (WebCore::DOMSelection::setBaseAndExtent):
56884        (WebCore::DOMSelection::setPosition):
56885        (WebCore::DOMSelection::extend):
56886        * page/EventHandler.cpp:
56887        (WebCore::EventHandler::handleMousePressEventSingleClick):
56888        * rendering/RenderObject.cpp:
56889        (WebCore::RenderObject::createVisiblePosition):
56890        * rendering/RenderTextControl.cpp:
56891        (WebCore::RenderTextControl::visiblePositionForIndex):
56892        * svg/SVGTextContentElement.cpp:
56893        (WebCore::SVGTextContentElement::selectSubString):
56894
568952011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56896
56897       Reviewed by Steve Block.
56898
56899       When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
56900       https://bugs.webkit.org/show_bug.cgi?id=54785
56901
56902       This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
56903       the right thing and continue to do the right thing. It also modifies EventQueue
56904       so that we can cancel an event. To do this efficiently, the vector is now a
56905       ListHashSet.
56906
56907       Cancelling the event is harder/messier, but the most deterministic thing to do.
56908       To the user, the work isn't done until we fire the onsuccess/onerror handler.
56909       So the event (which does fire that) needs to be cancelable.
56910
56911       transaction-abort.html tests this.
56912
56913       * dom/EventQueue.cpp:
56914       (WebCore::EventQueue::enqueueEvent):
56915       (WebCore::EventQueue::cancelEvent):
56916       (WebCore::EventQueue::pendingEventTimerFired):
56917       (WebCore::EventQueue::dispatchEvent):
56918       * dom/EventQueue.h:
56919       * dom/ExceptionCode.cpp:
56920       * storage/IDBCursor.cpp:
56921       (WebCore::IDBCursor::update):
56922       (WebCore::IDBCursor::deleteFunction):
56923       * storage/IDBDatabaseBackendImpl.cpp:
56924       (WebCore::IDBDatabaseBackendImpl::close):
56925       * storage/IDBDatabaseException.h:
56926       * storage/IDBIndex.cpp:
56927       (WebCore::IDBIndex::openCursor):
56928       (WebCore::IDBIndex::openKeyCursor):
56929       (WebCore::IDBIndex::get):
56930       (WebCore::IDBIndex::getKey):
56931       * storage/IDBObjectStore.cpp:
56932       (WebCore::IDBObjectStore::get):
56933       (WebCore::IDBObjectStore::add):
56934       (WebCore::IDBObjectStore::put):
56935       (WebCore::IDBObjectStore::deleteFunction):
56936       (WebCore::IDBObjectStore::clear):
56937       (WebCore::IDBObjectStore::openCursor):
56938       * storage/IDBRequest.cpp:
56939       (WebCore::IDBRequest::IDBRequest):
56940       (WebCore::IDBRequest::~IDBRequest):
56941       (WebCore::IDBRequest::readyState):
56942       (WebCore::IDBRequest::markEarlyDeath):
56943       (WebCore::IDBRequest::source):
56944       (WebCore::IDBRequest::abort):
56945       (WebCore::IDBRequest::onSuccess):
56946       (WebCore::IDBRequest::dispatchEvent):
56947       (WebCore::IDBRequest::enqueueEvent):
56948       * storage/IDBRequest.h:
56949       * storage/IDBTransaction.cpp:
56950       (WebCore::IDBTransaction::registerRequest):
56951       (WebCore::IDBTransaction::unregisterRequest):
56952       (WebCore::IDBTransaction::onAbort):
56953       * storage/IDBTransaction.h:
56954
569552011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56956
56957        Reviewed by Mihai Parparita.
56958
56959        EventQueue needs to be ref counted
56960        https://bugs.webkit.org/show_bug.cgi?id=55512
56961
56962        EventQueue needs to be ref counted because it's possible for its instance
56963        to be deleted while it's dispatching events. This is the reason why
56964        https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
56965
56966        No change of behavior, so no tests.
56967
56968        * dom/Document.h:
56969        * dom/EventQueue.cpp:
56970        (WebCore::EventQueue::create):
56971        * dom/EventQueue.h:
56972
569732011-03-01  Helder Correia  <helder@sencha.com>
56974
56975        Reviewed by Simon Fraser.
56976
56977        No shadow when stroking a path with a gradient
56978        https://bugs.webkit.org/show_bug.cgi?id=55436
56979
56980        This happens in CG and is related to bug 52509, this time to be fixed
56981        in GraphicsContext::strokePath(). The gradient needs to be drawn
56982        clipped to the stroke on a CGLayer first, then the layer drawn on the
56983        GraphicsContext.
56984
56985        Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
56986               svg/css/path-gradient-stroke-shadow.svg
56987
56988        * platform/graphics/cg/GraphicsContextCG.cpp:
56989        (WebCore::GraphicsContext::strokePath):
56990
569912011-03-01  David Hyatt  <hyatt@apple.com>
56992
56993        Reviewed by Dan Bernstein.
56994
56995        Fix Font::spaceWidth() to be a float instead of an int.
56996
56997        * platform/graphics/Font.h:
56998        (WebCore::Font::spaceWidth):
56999
570002011-02-28  Steve Block  <steveblock@google.com>
57001
57002        Reviewed by Jeremy Orlow.
57003
57004        Chromium gypi file should include Java bridge files from WebCore/bridge
57005        https://bugs.webkit.org/show_bug.cgi?id=55387
57006
57007        No new tests, no code changes.
57008
57009        * WebCore.gyp/WebCore.gyp:
57010        * WebCore.gypi:
57011
570122011-03-01  James Simonsen  <simonjam@chromium.org>
57013
57014        Reviewed by Tony Gentilcore.
57015
57016        [Web Timing] Handle the case where no responseEnd time is available.
57017        https://bugs.webkit.org/show_bug.cgi?id=55444
57018
57019        * loader/MainResourceLoader.cpp:
57020        (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
57021        (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
57022
570232011-03-01  Patrick Gansterer  <paroga@webkit.org>
57024
57025        Unreviewed, adding missing change for r80034.
57026
57027        Add a handler class for Win32 HANDLE
57028        https://bugs.webkit.org/show_bug.cgi?id=55334
57029
57030        * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
57031
570322011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
57033
57034        Unreviewed, rolling out r80037.
57035        http://trac.webkit.org/changeset/80037
57036        https://bugs.webkit.org/show_bug.cgi?id=55508
57037
57038        broke compile on SL (Requested by tonyg-cr on #webkit).
57039
57040        * Android.mk:
57041        * CMakeLists.txt:
57042        * GNUmakefile.am:
57043        * WebCore.gypi:
57044        * WebCore.pro:
57045        * WebCore.vcproj/WebCore.vcproj:
57046        * WebCore.xcodeproj/project.pbxproj:
57047        * css/CSSParser.cpp:
57048        (WebCore::CSSParser::parseValue):
57049        * css/CSSParser.h:
57050        * css/CSSStyleSelector.cpp:
57051        (WebCore::CSSStyleSelector::applyProperty):
57052        * css/html.css:
57053        (q:before):
57054        (q:after):
57055        * rendering/RenderBlockLineLayout.cpp:
57056        (WebCore::dirtyLineBoxesForRenderer):
57057        * rendering/RenderObject.h:
57058        * rendering/RenderObjectChildList.cpp:
57059        (WebCore::RenderObjectChildList::removeChildNode):
57060        (WebCore::RenderObjectChildList::appendChildNode):
57061        (WebCore::RenderObjectChildList::insertChildNode):
57062        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
57063        * rendering/RenderQuote.cpp: Removed.
57064        * rendering/RenderQuote.h: Removed.
57065        * rendering/RenderingAllInOne.cpp:
57066        * rendering/style/ContentData.cpp:
57067        (WebCore::ContentData::dataEquivalent):
57068        (WebCore::ContentData::deleteContent):
57069        * rendering/style/ContentData.h:
57070        * rendering/style/QuotesData.cpp: Removed.
57071        * rendering/style/QuotesData.h: Removed.
57072        * rendering/style/RenderStyle.cpp:
57073        * rendering/style/RenderStyle.h:
57074        * rendering/style/RenderStyleConstants.h:
57075        * rendering/style/StyleAllInOne.cpp:
57076        * rendering/style/StyleRareInheritedData.cpp:
57077        (WebCore::StyleRareInheritedData::operator==):
57078        * rendering/style/StyleRareInheritedData.h:
57079
570802011-03-01  Abhishek Arya  <inferno@chromium.org>
57081
57082        Reviewed by Dave Hyatt.
57083
57084        Paint outline for tables.
57085        https://bugs.webkit.org/show_bug.cgi?id=55474
57086
57087        Test: fast/table/table-and-parts-outline.html
57088
57089        * rendering/RenderTable.cpp:
57090        (WebCore::RenderTable::paintObject):
57091
570922011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
57093
57094        Unreviewed, rolling out r80028.
57095        http://trac.webkit.org/changeset/80028
57096        https://bugs.webkit.org/show_bug.cgi?id=55502
57097
57098        'caused crashes; rolling out while investigating' (Requested
57099        by jorlow on #webkit).
57100
57101        * dom/EventQueue.cpp:
57102        (WebCore::EventQueue::enqueueEvent):
57103        (WebCore::EventQueue::pendingEventTimerFired):
57104        (WebCore::EventQueue::dispatchEvent):
57105        * dom/EventQueue.h:
57106        * dom/ExceptionCode.cpp:
57107        * storage/IDBCursor.cpp:
57108        (WebCore::IDBCursor::update):
57109        (WebCore::IDBCursor::deleteFunction):
57110        * storage/IDBDatabaseException.h:
57111        * storage/IDBDatabaseException.idl:
57112        * storage/IDBIndex.cpp:
57113        (WebCore::IDBIndex::openCursor):
57114        (WebCore::IDBIndex::openKeyCursor):
57115        (WebCore::IDBIndex::get):
57116        (WebCore::IDBIndex::getKey):
57117        * storage/IDBObjectStore.cpp:
57118        (WebCore::IDBObjectStore::get):
57119        (WebCore::IDBObjectStore::add):
57120        (WebCore::IDBObjectStore::put):
57121        (WebCore::IDBObjectStore::deleteFunction):
57122        (WebCore::IDBObjectStore::clear):
57123        (WebCore::IDBObjectStore::openCursor):
57124        * storage/IDBRequest.cpp:
57125        (WebCore::IDBRequest::IDBRequest):
57126        (WebCore::IDBRequest::~IDBRequest):
57127        (WebCore::IDBRequest::readyState):
57128        (WebCore::IDBRequest::dispatchEvent):
57129        (WebCore::IDBRequest::enqueueEvent):
57130        (WebCore::IDBRequest::source):
57131        * storage/IDBRequest.h:
57132        * storage/IDBTransaction.cpp:
57133        (WebCore::IDBTransaction::onAbort):
57134        * storage/IDBTransaction.h:
57135
571362011-03-01  Carol Szabo  <carol.szabo@nokia.com>
57137
57138        Reviewed by David Hyatt  <hyatt@apple.com>
57139
57140        content property doesn't support quotes
57141        https://bugs.webkit.org/show_bug.cgi?id=6503
57142
57143        Added full support for quotes as defined by CSS 2.1.
57144
57145        Tests: fast/css/content/content-quotes-01.html
57146               fast/css/content/content-quotes-02.html
57147               fast/css/content/content-quotes-03.html
57148               fast/css/content/content-quotes-04.html
57149               fast/css/content/content-quotes-05.html
57150
57151        * Android.mk:
57152        * CMakeLists.txt:
57153        * GNUmakefile.am:
57154        * WebCore.pro:
57155        * WebCore.vcproj/WebCore.vcproj:
57156        * WebCore.xcodeproj/project.pbxproj:
57157        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
57158        * css/CSSParser.cpp:
57159        (WebCore::CSSParser::parseValue):
57160        (WebCore::CSSParser::parseQuotes):
57161        * css/CSSParser.h:
57162        Added needed stylesheet parsing support for quotes,
57163        (no-)open-quote and (no-)close-quote
57164        * css/CSSStyleSelector.cpp:
57165        (WebCore::CSSStyleSelector::applyProperty):
57166        Handled setting of the new quotes RenderStyle property and added
57167        handling of quotes for the content property.
57168        * css/html.css:
57169        (q:before):
57170        (q:after):
57171        replaced the '"' workaround with open/close-quote
57172        * rendering/RenderBlockLineLayout.cpp:
57173        (WebCore::dirtyLineBoxesForRenderer):
57174        Made RenderQuote behave like RenderCounter.
57175        Needed to ensure that the Quote text is calculated before layout,
57176        just as it is for RenderCounter.
57177        * rendering/RenderObject.h:
57178        (WebCore::RenderObject::isQuote):
57179        * rendering/RenderObjectChildList.cpp:
57180        (WebCore::RenderObjectChildList::removeChildNode):
57181        (WebCore::RenderObjectChildList::appendChildNode):
57182        (WebCore::RenderObjectChildList::insertChildNode):
57183        Handled updating of quote depth when renderers are added and removed
57184        from the tree.
57185        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
57186        * rendering/RenderQuote.cpp: Added.
57187        (WebCore::adjustDepth):
57188        (WebCore::RenderQuote::RenderQuote):
57189        (WebCore::RenderQuote::~RenderQuote):
57190        (WebCore::RenderQuote::renderName):
57191        (WebCore::RenderQuote::placeQuote):
57192        (WebCore::RenderQuote::originalText):
57193        (WebCore::RenderQuote::computePreferredLogicalWidths):
57194        (WebCore::RenderQuote::rendererSubtreeAttached):
57195        (WebCore::RenderQuote::rendererRemovedFromTree):
57196        (WebCore::RenderQuote::styleDidChange):
57197        * rendering/RenderQuote.h: Added.
57198        (WebCore::RenderQuote::isQuote):
57199        (WebCore::toRenderQuote):
57200        * rendering/RenderingAllInOne.cpp:
57201        Included RenderQuote.cpp
57202        * rendering/style/StyleAllInOne.cpp:
57203        Included QuotesData.cpp
57204        * rendering/style/ContentData.cpp:
57205        (WebCore::ContentData::dataEquivalent):
57206        Checked for quotetype identity.
57207        (WebCore::ContentData::deleteContent):
57208        Accounted for the new QUOTE_TYPE.
57209        * rendering/style/ContentData.h:
57210        (WebCore::ContentData::isQuote):
57211        (WebCore::ContentData::quote):
57212        (WebCore::ContentData::setQuote):
57213        * rendering/style/RenderStyle.cpp:
57214        (WebCore::RenderStyle::setContent):
57215        * rendering/style/RenderStyle.h:
57216        (WebCore::InheritedFlags::quotes):
57217        (WebCore::InheritedFlags::setQuotes):
57218        * rendering/style/RenderStyleConstants.h:
57219        * rendering/style/StyleRareInheritedData.cpp:
57220        (WebCore::StyleRareInheritedData::operator==):
57221        Included quotes in equality check.
57222        * rendering/style/StyleRareInheritedData.h:
57223        Added quotes
57224
572252011-03-01  Michael Nordman  <michaeln@google.com>
57226
57227        Reviewed by Alexey Proskuryakov.
57228
57229        Alter the relative priorities of network vs fallback namespaces in the appcache.
57230        If a resource url is in an appcache's network namespace and fallback namespace, the network
57231        namespace wins (with the exception of the special '*' network namespace which does not take
57232        priority over the fallback namespace.
57233        https://bugs.webkit.org/show_bug.cgi?id=49292
57234
57235        Test: http/tests/appcache/online-fallback-layering.html
57236
57237        * loader/appcache/ApplicationCache.cpp:
57238        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
57239        * loader/appcache/ApplicationCacheHost.cpp:
57240        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
57241        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource):
57242        * loader/appcache/ApplicationCacheStorage.cpp:
57243        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
57244
572452011-03-01  Patrick Gansterer  <paroga@webkit.org>
57246
57247        Reviewed by Adam Roben.
57248
57249        Add a handler class for Win32 HANDLE
57250        https://bugs.webkit.org/show_bug.cgi?id=55334
57251
57252        This class will call CloseHandle in the destructor for valid handles.
57253
57254        * platform/win/Win32Handle.h: Added.
57255
572562011-03-01  Eric Carlson  <eric.carlson@apple.com>
57257
57258        Reviewed by Chris Marrin.
57259
57260        <audio> and <video> should respect private browsing mode
57261        https://bugs.webkit.org/show_bug.cgi?id=55287
57262        <rdar://problem/9057699>
57263
57264        No new tests, this is just the plumbing.
57265
57266        * dom/Document.cpp:
57267        (WebCore::Document::privateBrowsingStateDidChange): New.
57268        (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto.
57269        (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto.
57270        * dom/Document.h:
57271
57272        * dom/Element.h:
57273        (WebCore::Element::privateBrowsingStateDidChange): New.
57274
57275        * html/HTMLMediaElement.cpp:
57276        (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes.
57277        (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes.
57278        (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode.
57279        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange):  New, call through to MediaPlayer.
57280        * html/HTMLMediaElement.h:
57281
57282        * page/Page.cpp:
57283        (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange.
57284
57285        * platform/graphics/MediaPlayer.cpp:
57286        (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine.
57287        * platform/graphics/MediaPlayer.h:
57288
57289        * platform/graphics/MediaPlayerPrivate.h:
57290        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):  Declare new interface.
57291
572922011-03-01  Jeremy Orlow  <jorlow@chromium.org>
57293
57294        Reviewed by Steve Block.
57295
57296        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
57297        https://bugs.webkit.org/show_bug.cgi?id=54785
57298
57299        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
57300        the right thing and continue to do the right thing. It also modifies EventQueue
57301        so that we can cancel an event. To do this efficiently, the vector is now a
57302        ListHashSet.
57303
57304        Canelling the event is harder/messier, but the most deterministic thing to do.
57305        To the user, the work isn't done until we fire the onsuccess/onerror handler.
57306        So the event (which does fire that) needs to be cancelable.
57307
57308        transaction-abort.html tests this.
57309
57310        * dom/EventQueue.cpp:
57311        (WebCore::EventQueue::enqueueEvent):
57312        (WebCore::EventQueue::cancelEvent):
57313        (WebCore::EventQueue::pendingEventTimerFired):
57314        (WebCore::EventQueue::dispatchEvent):
57315        * dom/EventQueue.h:
57316        * dom/ExceptionCode.cpp:
57317        * storage/IDBCursor.cpp:
57318        (WebCore::IDBCursor::update):
57319        (WebCore::IDBCursor::deleteFunction):
57320        * storage/IDBDatabaseBackendImpl.cpp:
57321        (WebCore::IDBDatabaseBackendImpl::close):
57322        * storage/IDBDatabaseException.h:
57323        * storage/IDBIndex.cpp:
57324        (WebCore::IDBIndex::openCursor):
57325        (WebCore::IDBIndex::openKeyCursor):
57326        (WebCore::IDBIndex::get):
57327        (WebCore::IDBIndex::getKey):
57328        * storage/IDBObjectStore.cpp:
57329        (WebCore::IDBObjectStore::get):
57330        (WebCore::IDBObjectStore::add):
57331        (WebCore::IDBObjectStore::put):
57332        (WebCore::IDBObjectStore::deleteFunction):
57333        (WebCore::IDBObjectStore::clear):
57334        (WebCore::IDBObjectStore::openCursor):
57335        * storage/IDBRequest.cpp:
57336        (WebCore::IDBRequest::IDBRequest):
57337        (WebCore::IDBRequest::~IDBRequest):
57338        (WebCore::IDBRequest::readyState):
57339        (WebCore::IDBRequest::markEarlyDeath):
57340        (WebCore::IDBRequest::source):
57341        (WebCore::IDBRequest::abort):
57342        (WebCore::IDBRequest::onSuccess):
57343        (WebCore::IDBRequest::dispatchEvent):
57344        (WebCore::IDBRequest::enqueueEvent):
57345        * storage/IDBRequest.h:
57346        * storage/IDBTransaction.cpp:
57347        (WebCore::IDBTransaction::registerRequest):
57348        (WebCore::IDBTransaction::unregisterRequest):
57349        (WebCore::IDBTransaction::onAbort):
57350        * storage/IDBTransaction.h:
57351
573522011-03-01  Jeremy Orlow  <jorlow@chromium.org>
57353
57354        Reviewed by Steve Block.
57355
57356        Only IndexedDB's error event should be cancelable
57357        https://bugs.webkit.org/show_bug.cgi?id=55413
57358
57359        * storage/IDBRequest.cpp:
57360        (WebCore::createSuccessEvent):
57361        * storage/IDBTransaction.cpp:
57362        (WebCore::IDBTransaction::onAbort):
57363        (WebCore::IDBTransaction::onComplete):
57364
573652011-03-01  Jia Pu  <jpu@apple.com>
57366
57367        Reviewed by Darin Adler.
57368
57369        Remove CorrectionIndicator markers sooner.
57370        https://bugs.webkit.org/show_bug.cgi?id=54893
57371        <rdar://problem/8997524>
57372
57373        Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html
57374
57375        This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator
57376        marker after any editing command if the command:
57377        1. is not a SpellingCorrectionCommand itself.
57378        2. is not the command that triggers the autocorrection.
57379        This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns
57380        false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function
57381        always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member
57382        variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's
57383        public functions.
57384
57385        To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache
57386        to cache whether there is any marker of a particular type.
57387
57388        This patch also fixes two minor existing bugs.
57389
57390        1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because
57391        CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement
57392        marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement
57393        marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel
57394        if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null.
57395
57396        This works as following:
57397        When we apply an autocorrection, we add Replacement marker to corrected word, and store original word
57398        as the marker's description. If the user edited the corrected word afterward, we set description to null.
57399        So when we decide whether to show a reversion panel, we not only check for the existence of Replacement
57400        marker, but also check if description is null.
57401
57402        2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would
57403        occur when deleting the first character in an editable area.
57404
57405        * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is
57406           completely in from the document.
57407
57408        * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking
57409           the return value of possiblyHasMarkers() at beginning.
57410        (WebCore::DocumentMarkerController::possiblyHasMarkers):
57411        (WebCore::DocumentMarkerController::DocumentMarkerController):
57412        (WebCore::DocumentMarkerController::detach):
57413        (WebCore::DocumentMarkerController::removeMarkers):
57414        (WebCore::DocumentMarkerController::addMarker):
57415        (WebCore::DocumentMarkerController::copyMarkers):
57416        (WebCore::DocumentMarkerController::markerContainingPoint):
57417        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
57418        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
57419        (WebCore::DocumentMarkerController::repaintMarkers):
57420        (WebCore::DocumentMarkerController::shiftMarkers):
57421        (WebCore::DocumentMarkerController::setMarkersActive):
57422        (WebCore::DocumentMarkerController::hasMarkers):
57423        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
57424        * dom/DocumentMarkerController.h:
57425        * editing/EditCommand.cpp:
57426        (WebCore::EditCommand::apply):
57427        (WebCore::EditCommand::shouldRetainAutocorrectionIndicator):
57428        (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator):
57429        * editing/EditCommand.h:
57430        * editing/Editor.cpp:
57431        (WebCore::Editor::respondToChangedSelection):
57432        (WebCore::Editor::appliedEditing):
57433        (WebCore::Editor::insertTextWithoutSendingTextEvent):
57434        (WebCore::Editor::insertLineBreak):
57435        (WebCore::Editor::insertParagraphSeparator):
57436        (WebCore::Editor::markMisspellingsAfterTypingToWord):
57437        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
57438        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
57439        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
57440        * editing/Editor.h:
57441        * editing/EditorCommand.cpp:
57442        (WebCore::executeInsertLineBreak):
57443        (WebCore::executeInsertParagraph):
57444        (WebCore::executeInsertText):
57445        * editing/SpellingCorrectionCommand.cpp:
57446        (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator):
57447        * editing/SpellingCorrectionCommand.h:
57448        * editing/TypingCommand.cpp:
57449        (WebCore::TypingCommand::TypingCommand):
57450        (WebCore::TypingCommand::deleteSelection):
57451        (WebCore::TypingCommand::deleteKeyPressed):
57452        (WebCore::TypingCommand::forwardDeleteKeyPressed):
57453        (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
57454        (WebCore::TypingCommand::insertText):
57455        (WebCore::TypingCommand::insertLineBreak):
57456        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
57457        (WebCore::TypingCommand::insertParagraphSeparator):
57458        * editing/TypingCommand.h:
57459        (WebCore::TypingCommand::create):
57460        (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
57461        (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator):
57462        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html:
57463
574642011-03-01  Renata Hodovan  <reni@webkit.org>
57465
57466        Reviewed by Andreas Kling.
57467
57468        FEDisplacementMapElement changes doesn't require relayout
57469        https://bugs.webkit.org/show_bug.cgi?id=55454
57470
57471        When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need
57472        to relayout the filter.
57473
57474        No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap.
57475
57476        * platform/graphics/filters/FEDisplacementMap.cpp:
57477        (WebCore::FEDisplacementMap::setXChannelSelector):
57478        (WebCore::FEDisplacementMap::setYChannelSelector):
57479        (WebCore::FEDisplacementMap::setScale):
57480        * platform/graphics/filters/FEDisplacementMap.h:
57481        * svg/SVGFEDisplacementMapElement.cpp:
57482        (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
57483        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
57484        * svg/SVGFEDisplacementMapElement.h:
57485
574862011-03-01  Dan Bernstein  <mitz@apple.com>
57487
57488        Reviewed by Darin Adler.
57489
57490        <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base
57491        https://bugs.webkit.org/show_bug.cgi?id=55487
57492
57493        * css/html.css:
57494        (ruby > rt): Changed the default text-align value to -webkit-auto to signal
57495        the default expansion behavior.
57496        * rendering/RenderBlock.h:
57497        (WebCore::RenderRubyText::textAlignmentForLine): Made protected.
57498        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected.
57499        * rendering/RenderRubyText.cpp:
57500        (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is
57501        -webkit-auto, returns JUSTIFY to allow expansion.
57502        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If
57503        text-align is -webkit-auto, insets the line such that the inset on each side
57504        is the half the inter-ideograph expansion, or one ruby character wide,
57505        whichever is smaller.
57506        * rendering/RenderRubyText.h:
57507
575082011-03-01  Sam Weinig  <sam@webkit.org>
57509
57510        Reviewed by Timothy Hatcher.
57511
57512        WebKit2 needs to be made localizable
57513        https://bugs.webkit.org/show_bug.cgi?id=55483
57514
57515        * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings.
57516        * WebCore.xcodeproj/project.pbxproj:
57517        Move Localizable.strings to WebCore.
57518
57519        * WebCore.exp.in:
57520        Add export for localizedString function.
57521
57522        * platform/LocalizedStrings.h:
57523        * platform/mac/LocalizedStringsMac.mm: Added.
57524        Add function to get localized version of a string from the WebCore bundle.
57525
575262011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
57527
57528        Reviewed by Timothy Hatcher.
57529
57530        All Console Messages should be passed to ChromeClients.
57531        https://bugs.webkit.org/show_bug.cgi?id=54926
57532
57533        Do not filter the message type here, allow clients
57534        to filter and deal with the different message types.
57535
57536        * page/Console.cpp:
57537        (WebCore::Console::addMessage):
57538
575392011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
57540
57541        Reviewed by Kenneth Rohde Christiansen.
57542
57543        Viewport parsing no longer accepts "1.0;" value as valid.
57544        https://bugs.webkit.org/show_bug.cgi?id=53705
57545
57546        When parsing numeric values, the "css-viewport" spec says
57547        to use the number prefix, and the non numeric part of the
57548        string can be ignored. This matches our behavior before
57549        r67376. The change was that checking the error out condition
57550        of String::toFloat doesn't necessarily mean that there
57551        was a non-numeric prefix. This patch checks if there was
57552        or wasn't a non-numeric prefix.
57553
57554        There is a console warning in any case where a numeric
57555        value is not parsed cleanly. There is an error warning
57556        when it is not a number at all, and a tip warning when
57557        it has been truncated.
57558
57559        Error messages are slightly improved to provide more
57560        context, both the key and value, when an error happens.
57561
57562        Test: fast/viewport/viewport-129.html
57563
57564        * dom/ViewportArguments.cpp:
57565        (WebCore::numericPrefix):
57566        (WebCore::findSizeValue):
57567        (WebCore::findScaleValue):
57568        (WebCore::findUserScalableValue):
57569        (WebCore::findTargetDensityDPIValue):
57570        (WebCore::viewportErrorMessageTemplate):
57571        (WebCore::viewportErrorMessageLevel):
57572        (WebCore::reportViewportWarning):
57573        * dom/ViewportArguments.h:
57574
575752011-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
57576
57577        Reviewed by Pavel Feldman.
57578
57579        Web Inspector: InjectedScript.setPropertyValue doesn't work.
57580        https://bugs.webkit.org/show_bug.cgi?id=55475
57581
57582        * inspector/InjectedScript.cpp:
57583        (WebCore::InjectedScript::setPropertyValue):
57584
575852011-03-01  Steve Block  <steveblock@google.com>
57586
57587        Reviewed by Jeremy Orlow.
57588
57589        Remove unused JavaString::uchars()
57590        https://bugs.webkit.org/show_bug.cgi?id=55465
57591
57592        No new tests, removing dead code only.
57593
57594        * bridge/jni/JNIBridge.h:
57595        * bridge/jni/jsc/JavaStringJSC.h:
57596        (JSC::Bindings::JavaStringImpl::utf8):
57597        * bridge/jni/v8/JavaStringV8.h:
57598
575992011-03-01  Alexander Pavlov  <apavlov@chromium.org>
57600
57601        Reviewed by Yury Semikhatsky.
57602
57603        Web Inspector: Extremely slow DOM search in GMail
57604        https://bugs.webkit.org/show_bug.cgi?id=55456
57605
57606        The solution comprises three major parts:
57607        - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk.
57608        - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed.
57609        - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult.
57610
57611        * inspector/front-end/ElementsPanel.js:
57612        (WebInspector.ElementsPanel.prototype.searchCanceled):
57613        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
57614        * inspector/front-end/ElementsTreeOutline.js:
57615        (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
57616        (WebInspector.ElementsTreeElement.prototype.updateTitle):
57617        ():
57618        * inspector/front-end/utilities.js:
57619        ():
57620
576212011-03-01  Adam Roben  <aroben@apple.com>
57622
57623        Fix multiple-definition linker warnings introduced by r79978 on Windows
57624
57625        * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being
57626        compiled separately.
57627
576282011-03-01  Andras Becsi  <abecsi@webkit.org>
57629
57630        Reviewed by Csaba Osztrogonác.
57631
57632        [Qt] Clean up the project files and move common options to WebKit.pri.
57633
57634        No new tests needed.
57635
57636        * WebCore.pri: Move common options to WebKit.pri.
57637        * WebCore.pro: Ditto.
57638
576392011-03-01  Steve Block  <steveblock@google.com>
57640
57641        Reviewed by Pavel Feldman.
57642
57643        JNI code in Java bridge is not correctly guarded
57644        https://bugs.webkit.org/show_bug.cgi?id=55459
57645
57646        No new tests, build fix only.
57647
57648        * bridge/jni/v8/JNIBridgeV8.cpp:
57649        * bridge/jni/v8/JNIBridgeV8.h:
57650        * bridge/jni/v8/JNIUtilityPrivate.cpp:
57651        * bridge/jni/v8/JNIUtilityPrivate.h:
57652        * bridge/jni/v8/JavaClassV8.cpp:
57653        * bridge/jni/v8/JavaClassV8.h:
57654        * bridge/jni/v8/JavaInstanceV8.cpp:
57655        * bridge/jni/v8/JavaInstanceV8.h:
57656        * bridge/jni/v8/JavaNPObjectV8.cpp:
57657        * bridge/jni/v8/JavaNPObjectV8.h:
57658
576592011-03-01  Steve Block  <steveblock@google.com>
57660
57661        Reviewed by Jeremy Orlow.
57662
57663        Bridge.h should not include BridgeJSC.h
57664        https://bugs.webkit.org/show_bug.cgi?id=55212
57665
57666        Instead, BridgeJSC.h should include Bridge.h and code should include
57667        BridgeJSC.h as appropriate.
57668
57669        This prevents ports that use V8 from having to include JSC-specific
57670        files, even if the contents of those files are guarded.
57671
57672        No new tests, cleanup only.
57673
57674        * bindings/js/JSPluginElementFunctions.cpp:
57675        * bindings/js/ScriptControllerBrew.cpp:
57676        * bindings/js/ScriptControllerGtk.cpp:
57677        * bindings/js/ScriptControllerHaiku.cpp:
57678        * bindings/js/ScriptControllerQt.cpp:
57679        * bindings/js/ScriptControllerMac.mm:
57680        * bindings/js/ScriptControllerWin.cpp:
57681        * bindings/js/ScriptControllerWx.cpp:
57682        * bindings/js/ScriptInstance.h:
57683        * bindings/objc/WebScriptObject.mm:
57684        * bridge/Bridge.h:
57685        * bridge/c/c_class.h:
57686        * bridge/c/c_instance.h:
57687        * bridge/c/c_runtime.h:
57688        * bridge/jni/jsc/JNIBridgeJSC.h:
57689        * bridge/jni/jsc/JavaInstanceJSC.h:
57690        * bridge/jsc/BridgeJSC.h:
57691        * bridge/objc/objc_runtime.h:
57692        * bridge/qt/qt_class.h:
57693        * bridge/qt/qt_instance.h:
57694        * bridge/qt/qt_pixmapruntime.h:
57695        * bridge/qt/qt_runtime.h:
57696        * bridge/runtime_array.h:
57697        * bridge/runtime_method.h:
57698        * bridge/runtime_object.h:
57699        * bridge/runtime_root.cpp:
57700        * bridge/testbindings.cpp:
57701        * bridge/testbindings.mm:
57702        * bridge/testqtbindings.cpp:
57703        * page/win/FrameWin.cpp:
57704        * platform/graphics/wince/MediaPlayerProxy.cpp:
57705        * plugins/PluginView.cpp:
57706        * plugins/PluginViewNone.cpp:
57707        * plugins/gtk/PluginViewGtk.cpp:
57708        * plugins/mac/PluginViewMac.mm:
57709        * plugins/qt/PluginViewQt.cpp:
57710        * plugins/symbian/PluginViewSymbian.cpp:
57711        * plugins/win/PluginViewWin.cpp:
57712
577132011-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
57714
57715        Reviewed by Antti Koivisto.
57716
57717        SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling
57718        https://bugs.webkit.org/show_bug.cgi?id=54800
57719
57720        Wrong handling of currentColor on inherit
57721        https://bugs.webkit.org/show_bug.cgi?id=38102
57722
57723        Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last
57724        two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle.
57725        It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will
57726        once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to
57727        accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint
57728        type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles).
57729
57730        <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but
57731        <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle.
57732
57733        In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector,
57734        as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource,
57735        when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly
57736        available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled
57737        exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor.
57738
57739        A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce
57740        CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it.
57741        Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style.
57742        (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.)
57743
57744        Add several new tests covering the patch.
57745
57746        Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg
57747               svg/animations/animate-color-fill-currentColor.html
57748               svg/custom/SVGPaint-mutate-attribute.svg
57749               svg/custom/SVGPaint-mutate-inline-style.svg
57750
57751        * GNUMakefile.am: Add CSSMutableValue.h
57752        * WebCore.gypi: Ditto.
57753        * WebCore.xcodeproj/project.pbxproj: Ditto.
57754        * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration.
57755        (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
57756        * css/CSSMutableStyleDeclaration.h: Add destructor.
57757        * css/CSSMutableValue.h: Added.
57758        (WebCore::CSSMutableValue::CSSMutableValue):
57759        (WebCore::CSSMutableValue::~CSSMutableValue):
57760        (WebCore::CSSMutableValue::isMutableValue):
57761        (WebCore::CSSMutableValue::node):
57762        (WebCore::CSSMutableValue::setNode):
57763        (WebCore::CSSMutableValue::setNeedsStyleRecalc):
57764        * css/CSSStyleDeclaration.cpp:
57765        (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to.
57766        * css/CSSValue.h:
57767        (WebCore::CSSValue::isMutableValue): Return false, default.
57768        * css/SVGCSSComputedStyleDeclaration.cpp:
57769        (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects.
57770        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values.
57771        * css/SVGCSSStyleSelector.cpp:
57772        (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore.
57773        * rendering/style/SVGRenderStyle.cpp:
57774        (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes.
57775        * rendering/style/SVGRenderStyle.h: Ditto.
57776        (WebCore::SVGRenderStyle::initialFillOpacity):
57777        (WebCore::SVGRenderStyle::initialFillPaintType):
57778        (WebCore::SVGRenderStyle::initialFillPaintColor):
57779        (WebCore::SVGRenderStyle::initialFillPaintUri):
57780        (WebCore::SVGRenderStyle::initialStrokeOpacity):
57781        (WebCore::SVGRenderStyle::initialStrokePaintType):
57782        (WebCore::SVGRenderStyle::initialStrokePaintColor):
57783        (WebCore::SVGRenderStyle::initialStrokePaintUri):
57784        (WebCore::SVGRenderStyle::initialStrokeMiterLimit):
57785        (WebCore::SVGRenderStyle::initialStopOpacity):
57786        (WebCore::SVGRenderStyle::initialFloodOpacity):
57787        (WebCore::SVGRenderStyle::setFillPaint):
57788        (WebCore::SVGRenderStyle::setStrokePaint):
57789        (WebCore::SVGRenderStyle::fillPaintType):
57790        (WebCore::SVGRenderStyle::fillPaintColor):
57791        (WebCore::SVGRenderStyle::fillPaintUri):
57792        (WebCore::SVGRenderStyle::strokePaintType):
57793        (WebCore::SVGRenderStyle::strokePaintColor):
57794        (WebCore::SVGRenderStyle::strokePaintUri):
57795        (WebCore::SVGRenderStyle::hasStroke):
57796        (WebCore::SVGRenderStyle::hasFill):
57797        * rendering/style/SVGRenderStyleDefs.cpp: Ditto.
57798        (WebCore::StyleFillData::StyleFillData):
57799        (WebCore::StyleFillData::operator==):
57800        (WebCore::StyleStrokeData::StyleStrokeData):
57801        (WebCore::StyleStrokeData::operator==):
57802        * rendering/style/SVGRenderStyleDefs.h: Ditto.
57803        * rendering/svg/RenderSVGResource.cpp: Ditto.
57804        (WebCore::requestPaintingResource):
57805        * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
57806        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
57807        * rendering/svg/SVGResources.cpp: Ditto.
57808        (WebCore::paintingResourceFromSVGPaint):
57809        (WebCore::SVGResources::buildCachedResources):
57810        * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object.
57811        (WebCore::SVGColor::setRGBColor):
57812        (WebCore::SVGColor::setRGBColorICCColor):
57813        (WebCore::SVGColor::setColor):
57814        * svg/SVGColor.h:
57815        * svg/SVGPaint.cpp: Ditto.
57816        (WebCore::SVGPaint::setUri):
57817        (WebCore::SVGPaint::setPaint):
57818        * svg/SVGPaint.h:
57819
578202011-03-01  Andrey Adaikin  <aandrey@google.com>
57821
57822        Reviewed by Pavel Feldman.
57823
57824        Web Inspector: [Text editor] Handle decorated lines in the editor
57825        https://bugs.webkit.org/show_bug.cgi?id=55373
57826
57827        * inspector/front-end/SourceFrame.js:
57828        (WebInspector.SourceFrame.prototype._startEditing):
57829        (WebInspector.SourceFrame.prototype._endEditing):
57830        (WebInspector.SourceFrame.prototype._createTextViewer):
57831        * inspector/front-end/TextViewer.js:
57832        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
57833        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
57834        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
57835        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
57836        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
57837        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
57838        (WebInspector.TextEditorMainPanel.prototype._markDirtyLines):
57839        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
57840        (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
57841        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
57842        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
57843        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
57844        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
57845        (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
57846        (WebInspector.TextEditorMainChunk.prototype.get decorated):
57847
578482011-03-01  Philippe Normand  <pnormand@igalia.com>
57849
57850        Unreviewed GTK build fix after r79978
57851
57852        * GNUmakefile.am:
57853
578542011-03-01  Andras Becsi  <abecsi@webkit.org>
57855
57856        Unreviewed build fix.
57857
57858        [Qt] Fix minimal build.
57859
57860        No new tests needed.
57861
57862        * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here.
57863
578642011-03-01  anthony taranto  <anthony.taranto@gmail.com>
57865
57866        Return undefined value from ScriptController::evaluate(), allowing the
57867        caller to distinguish between an error and an undefined return value.
57868        https://bugs.webkit.org/show_bug.cgi?id=51528
57869
57870        * bindings/v8/ScriptController.cpp:
57871
578722011-03-01  Roland Steiner  <rolandsteiner@chromium.org>
57873
57874        Reviewed by Kent Tamura.
57875
57876        Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow
57877        https://bugs.webkit.org/show_bug.cgi?id=54853
57878
57879        Moving the files from rendering to html/shadow, with the exception of
57880        the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine
57881        (this place is not ideal, but only a temporary state during the larger refactoring
57882        for <input>).
57883
57884        No new tests. (refactoring)
57885
57886        * Android.mk:
57887        * CMakeLists.txt:
57888        * WebCore.gypi:
57889        * WebCore.pro:
57890        * WebCore.vcproj/WebCore.vcproj:
57891        * WebCore.xcodeproj/project.pbxproj:
57892        * html/shadow/TextControlInnerElements.cpp: Copied from Source/WebCore/rendering/TextControlInnerElements.cpp.
57893        * html/shadow/TextControlInnerElements.h: Copied from Source/WebCore/rendering/TextControlInnerElements.h.
57894        * rendering/RenderTextControlSingleLine.cpp:
57895        (WebCore::RenderTextControlInnerBlock::positionForPoint):
57896        * rendering/RenderTextControlSingleLine.h:
57897        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
57898        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
57899        * rendering/TextControlInnerElements.cpp: Removed.
57900        * rendering/TextControlInnerElements.h: Removed.
57901
579022011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
57903
57904        Reviewed by Tony Chang.
57905
57906        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
57907        https://bugs.webkit.org/show_bug.cgi?id=55338
57908
57909        Deployed EditingStyle in applyInlineStyleToPushDown and removeInlineStyleFromElement.
57910
57911        Also added a convenience function EditingStyle::setProperty, which lazily instantiates
57912        new CSSMutableStyleDeclaration for m_mutableStyle.
57913
57914        * editing/ApplyStyleCommand.cpp:
57915        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle*.
57916        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Ditto.
57917        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
57918        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls the above three functions.
57919        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownInlineStyleAroundNode.
57920        * editing/ApplyStyleCommand.h:
57921        * editing/EditingStyle.cpp:
57922        (WebCore::HTMLElementEquivalent::addToStyle): Takes EditingStyle*; calls EditingStyle::setProperty.
57923        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
57924        (WebCore::EditingStyle::setProperty): Added.  This member function lazily instantiates
57925        new CSSMutableStyleDeclaration for m_mutableStyle.
57926        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Takes EditingStyle*.
57927        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Ditto.
57928        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Ditto.
57929        * editing/EditingStyle.h: Added HTMLElementEquivalent and HTMLAttributeEquivalent as friends.
57930        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Ditto.
57931        * editing/InsertTextCommand.cpp: Removed unnecessary includes.
57932        * editing/RemoveCSSPropertyCommand.h: Ditto.
57933
579342011-02-28  Pavel Feldman  <pfeldman@chromium.org>
57935
57936        Not reviewed: chromium rebuilds XMLViewer after noop. Fixed gyp file.
57937
57938        * WebCore.gyp/WebCore.gyp:
57939
579402011-02-28  David Levin  <levin@chromium.org>
57941
57942        Reviewed by Darin Adler.
57943
57944        KURL should expose a referrer property.
57945        https://bugs.webkit.org/show_bug.cgi?id=55415
57946
57947        No change in functionality so no new tests.
57948
57949        * loader/FrameLoader.cpp:
57950        (WebCore::FrameLoader::setOutgoingReferrer): Refactor to put the majority
57951        of functionality in KURL::strippedForUseAsReferrer() so that this code can
57952        be more easily reused.
57953        * platform/KURL.cpp:
57954        (WebCore::KURL::strippedForUseAsReferrer): Converts the url to a string
57955        which is suitable for use as a referrer.
57956        * platform/KURL.h:
57957
579582011-02-28  Chang Shu  <cshu@webkit.org>
57959
57960        Reviewed by Ryosuke Niwa.
57961
57962        Remove the support of Frame::isContentEditable and its dependencies.
57963        https://bugs.webkit.org/show_bug.cgi?id=54292
57964
57965        Frame::isContentEditable is currently based on two things: Editor::clientIsEditable and
57966        Document::inDesignMode. In fact, it should only rely on Document::inDesignMode. As a result,
57967        Editor::clientIsEditable and its client-side implementation can be removed.
57968
57969        * WebCore.exp.in:
57970        * accessibility/AccessibilityRenderObject.cpp:
57971        (WebCore::AccessibilityRenderObject::isReadOnly):
57972        * editing/Editor.cpp:
57973        * editing/Editor.h:
57974        * editing/SelectionController.cpp:
57975        (WebCore::SelectionController::setSelectionFromNone):
57976        * html/HTMLElement.cpp:
57977        (WebCore::HTMLElement::isContentEditable):
57978        (WebCore::HTMLElement::isContentRichlyEditable):
57979        * page/DragController.cpp:
57980        (WebCore::DragController::operationForLoad):
57981        * page/EditorClient.h:
57982        * page/Frame.cpp:
57983        * page/Frame.h:
57984
579852011-02-28  Kent Tamura  <tkent@chromium.org>
57986
57987        Reviewed by Darin Adler.
57988
57989        Number type input cannot be set to empty string if it has an initial value
57990        https://bugs.webkit.org/show_bug.cgi?id=53744
57991
57992        We need to distinguish null strings and empty strings for
57993        InputElementData::value. So InputType::sanitizeValue() also needs to
57994        take care of it.
57995
57996        * dom/InputElement.h: Add a comment to InputElementData::value and
57997          setValue about null strings.
57998        * html/InputType.h: Add a comment to sanitizeValue about null strings.
57999        * html/NumberInputType.cpp:
58000        (WebCore::NumberInputType::sanitizeValue): Returns a null string if the
58001          proposed value is a null string. Returning an empty string if the
58002          proposed value is not a number.
58003
580042011-02-28  Kent Tamura  <tkent@chromium.org>
58005
58006        Reviewed by Darin Adler.
58007
58008        Number type input should not handle mouse wheel events if it has no focus.
58009        https://bugs.webkit.org/show_bug.cgi?id=53638
58010
58011        * html/TextFieldInputType.cpp:
58012        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Check focused().
58013
580142011-02-28  Noel Gordon  <noel.gordon@gmail.com>
58015        Reviewed by James Robinson.
58016
58017        [chromium] GradientSkia: use the common Gradient stop sorting methods.
58018        https://bugs.webkit.org/show_bug.cgi?id=54625
58019
58020        Remove a FIXME: call the Gradient.cpp stop storting routines, no need
58021        to duplicate that code herein.
58022
58023        No change in behavior, so no new tests.
58024
58025        * platform/graphics/skia/GradientSkia.cpp:
58026        (WebCore::Gradient::platformGradient):
58027
580282011-02-28  Steve Block  <steveblock@google.com>
58029
58030        Reviewed by Jeremy Orlow.
58031
58032        JNI code should include <jni.h> on non-OSX platforms.
58033        https://bugs.webkit.org/show_bug.cgi?id=55219
58034
58035        On Mac we need to include <JavaVM/jni.h> as this is a framework
58036        include. We include jni.h through JNIUtility.h to minimize the
58037        number of ifdefs.
58038
58039        No new tests, build fix only.
58040
58041        * WebCore.xcodeproj/project.pbxproj
58042        * bridge/jni/JNIUtility.h:
58043        * bridge/jni/jni_jsobject.h:
58044        * bridge/jni/jsc/JNIBridgeJSC.h:
58045        * bridge/jni/jsc/JavaInstanceJSC.h:
58046        * bridge/jni/v8/JavaInstanceV8.h:
58047
580482011-02-28  Nebojsa Sabovic  <neb@chromium.org>
58049
58050        Reviewed by James Robinson.
58051
58052        [chromium] Pepper plugins render upside down
58053        https://bugs.webkit.org/show_bug.cgi?id=55101
58054
58055        No layout tests for pepper plugins (yet).
58056
58057        * platform/graphics/chromium/PluginLayerChromium.h:
58058
580592011-02-28  Tony Gentilcore  <tonyg@chromium.org>
58060
58061        Reviewed by Adam Barth.
58062
58063        Follow HTML5 spec for document.open() a little more closely
58064        https://bugs.webkit.org/show_bug.cgi?id=55392
58065
58066        See: 3.5.1.4 at http://www.whatwg.org/specs/web-apps/current-work/#dom-document-open.
58067
58068        The second return check matches the spec. The first return check (isExecutingScript())
58069        was left in place because without it, fast/tokenizer/write-external-script-open.html
58070        would fail. It also possible there is a spec bug because FF4 crashes on that test and
58071        IE9 prints "FAILURE." The isLoadingMainResource() check was removed because the main
58072        resource is always loading while parser->isParsing().
58073
58074        Test: fast/parser/double-write-from-closed-iframe.html
58075
58076        * dom/Document.cpp:
58077        (WebCore::Document::open):
58078
580792011-02-28  Avi Drissman  <avi@google.com>
58080
58081        Reviewed by James Robinson.
58082
58083        WebCursorInfo needs to match enums in platform/Cursor.h
58084        https://bugs.webkit.org/show_bug.cgi?id=55094
58085
58086        * platform/chromium/CursorChromium.cpp:
58087        (WebCore::grabCursor):
58088        (WebCore::grabbingCursor):
58089        * platform/chromium/PlatformCursor.h:
58090
580912011-02-28  Jia Pu  <jpu@apple.com>
58092
58093        Reviewed by Darin Adler.
58094
58095        [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
58096        https://bugs.webkit.org/show_bug.cgi?id=55396
58097        <rdar://problem/8836093>
58098
58099        The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
58100        calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
58101        contextual menu.
58102
58103        The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
58104        back to ..." is clicked.
58105
58106        * editing/Editor.cpp:
58107        (WebCore::Editor::changeBackToReplacedString):
58108        * rendering/InlineTextBox.cpp:
58109        (WebCore::InlineTextBox::paintDocumentMarkers):
58110
581112011-02-28  Victoria Kirst  <vrk@google.com>
58112
58113        Reviewed by Kenneth Russell.
58114
58115        [chromium] Fall back to texSubImage2D when mapTexSubImage2D fails in VideoLayerChromium
58116        https://bugs.webkit.org/show_bug.cgi?id=55269
58117
58118        Mesa does not support mapTexSubImage2D, so this change lets
58119        GPU-accelerated video work with DRT layout tests.
58120
58121        * platform/graphics/chromium/VideoLayerChromium.cpp:
58122        (WebCore::VideoLayerChromium::updateTexture):
58123
581242011-02-28  David Hyatt  <hyatt@apple.com>
58125
58126        Reviewed by Dan Bernstein.
58127
58128        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.  Change staticX and staticY
58129        to be staticInlinePosition and staticBlockPosition.  Patch all of the computations involving these variables to be writing
58130        mode aware.  Mixed writing modes are not yet supported.
58131
58132        Added new tests in fast/block/positioning/auto.
58133
58134        * rendering/RenderBlock.cpp:
58135        (WebCore::RenderBlock::adjustPositionedBlock):
58136        (WebCore::RenderBlock::layoutPositionedObjects):
58137        * rendering/RenderBlock.h:
58138        (WebCore::RenderBlock::startOffsetForLine):
58139        * rendering/RenderBlockLineLayout.cpp:
58140        (WebCore::RenderBlock::appendRunsForObject):
58141        (WebCore::setStaticPositions):
58142        (WebCore::RenderBlock::skipTrailingWhitespace):
58143        (WebCore::RenderBlock::skipLeadingWhitespace):
58144        (WebCore::RenderBlock::findNextLineBreak):
58145        * rendering/RenderBox.cpp:
58146        (WebCore::RenderBox::positionLineBox):
58147        (WebCore::computeInlineStaticDistance):
58148        (WebCore::RenderBox::computePositionedLogicalWidth):
58149        (WebCore::computeBlockStaticDistance):
58150        (WebCore::RenderBox::computePositionedLogicalHeight):
58151        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
58152        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
58153        * rendering/RenderBoxModelObject.h:
58154        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft):
58155        (WebCore::RenderBoxModelObject::borderAndPaddingStart):
58156        (WebCore::RenderBoxModelObject::borderLogicalLeft):
58157        (WebCore::RenderBoxModelObject::borderLogicalRight):
58158        * rendering/RenderFlexibleBox.cpp:
58159        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
58160        (WebCore::RenderFlexibleBox::layoutVerticalBox):
58161        * rendering/RenderInline.cpp:
58162        (WebCore::RenderInline::relativePositionedInlineOffset):
58163        * rendering/RenderLayer.cpp:
58164        (WebCore::RenderLayer::RenderLayer):
58165        * rendering/RenderLayer.h:
58166        (WebCore::RenderLayer::staticInlinePosition):
58167        (WebCore::RenderLayer::staticBlockPosition):
58168        (WebCore::RenderLayer::setStaticInlinePosition):
58169        (WebCore::RenderLayer::setStaticBlockPosition):
58170        * rendering/style/RenderStyle.h:
58171        (WebCore::InheritedFlags::hasAutoLeftAndRight):
58172        (WebCore::InheritedFlags::hasAutoTopAndBottom):
58173        (WebCore::InheritedFlags::hasStaticInlinePosition):
58174        (WebCore::InheritedFlags::hasStaticBlockPosition):
58175
581762011-02-28  Balazs Kelemen  <kbalazs@webkit.org>
58177
58178        Reviewed by Anders Carlsson.
58179
58180        [Qt][WK2] Plugin initialization
58181        https://bugs.webkit.org/show_bug.cgi?id=48127
58182
58183        No function change so no new tests.
58184
58185        * WebCore.pri: Lift the definition of the XP_UNIX macro
58186        from WebCore.pri to WebKit.pri to apply it to WebKit2 as well.
58187
581882011-02-28  Dean Jackson  <dino@apple.com>
58189
58190        Reviewed by Eric Carlson.
58191
58192        https://bugs.webkit.org/show_bug.cgi?id=55239
58193
58194        Allow webkitEnterFullScreen to be called from outside
58195        a user gesture, but only when the correct restrictions
58196        have been lifted in WebCore. Add a new restriction type
58197        for this situation. Meanwhile, expose the current
58198        restrictions externally from HTMLMediaElement, so that
58199        clients can easily set restrictions on their port.
58200
58201        No new tests. This doesn't change existing behavior. Some
58202        WebKit clients may lift the restriction.
58203
58204        * html/HTMLMediaElement.cpp:
58205        (WebCore::HTMLMediaElement::HTMLMediaElement):
58206        - ensure restrictions initialize with fullscreen restricted
58207        * html/HTMLMediaElement.h:
58208        (WebCore::HTMLMediaElement::requireUserGestureForLoad):
58209        (WebCore::HTMLMediaElement::requireUserGestureForRateChange):
58210        (WebCore::HTMLMediaElement::requireUserGestureForFullScreen):
58211        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
58212        - new methods to expose the current restrictions
58213        * html/HTMLVideoElement.cpp:
58214        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
58215
582162011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
58217
58218        Unreviewed, rolling out r78789.
58219        http://trac.webkit.org/changeset/78789
58220        https://bugs.webkit.org/show_bug.cgi?id=55409
58221
58222        Incorrect canvas fallback implementation (Requested by
58223        inferno-sec on #webkit).
58224
58225        * accessibility/AccessibilityObject.h:
58226        * accessibility/AccessibilityRenderObject.cpp:
58227        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
58228        (WebCore::AccessibilityRenderObject::canHaveChildren):
58229        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
58230        (atkRole):
58231        * accessibility/mac/AccessibilityObjectWrapper.mm:
58232        * html/HTMLFormControlElement.cpp:
58233        (WebCore::HTMLFormControlElement::isFocusable):
58234        * rendering/RenderHTMLCanvas.cpp:
58235        * rendering/RenderHTMLCanvas.h:
58236        * rendering/RenderObject.cpp:
58237        (WebCore::RenderObject::repaint):
58238        * rendering/RenderTreeAsText.cpp:
58239        (WebCore::write):
58240
582412011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
58242
58243        Unreviewed, rolling out r79425.
58244        http://trac.webkit.org/changeset/79425
58245        https://bugs.webkit.org/show_bug.cgi?id=55406
58246
58247        Incorrect canvas fallback implementation. (Requested by
58248        inferno-sec on #webkit).
58249
58250        * rendering/RenderHTMLCanvas.cpp:
58251        (WebCore::RenderHTMLCanvas::nodeAtPoint):
58252
582532011-02-28  Adam Klein  <adamk@chromium.org>
58254
58255        Reviewed by Adam Barth.
58256
58257        [fileapi] Implement LocalFileSystem.resolveLocalFileSystemURI
58258        https://bugs.webkit.org/show_bug.cgi?id=54774
58259
58260        See http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods
58261        for the spec implemented by this patch.
58262
58263        Test: fast/filesystem/resolve-uri.html
58264
58265        * fileapi/DOMFileSystemBase.cpp:
58266        (WebCore::DOMFileSystemBase::crackFileSystemURL):
58267        * fileapi/DOMFileSystemBase.h:
58268        Added constants for "temporary" and "persistent".
58269        * fileapi/EntryBase.cpp:
58270        Replace hardcoded strings with aforementioned constants.
58271        * fileapi/FileSystemCallbacks.cpp:
58272        (WebCore::ResolveURICallbacks::create):
58273        (WebCore::ResolveURICallbacks::ResolveURICallbacks):
58274        (WebCore::ResolveURICallbacks::didOpenFileSystem):
58275        Chains a call of openFileSystem to calls to getDirectory/getFile.
58276        * fileapi/FileSystemCallbacks.h:
58277        * fileapi/LocalFileSystem.cpp:
58278        (WebCore::LocalFileSystem::readFileSystem):
58279        * fileapi/LocalFileSystem.h:
58280        Remove size argument from readFileSystem()
58281        * page/DOMWindow.cpp:
58282        (WebCore::DOMWindow::resolveLocalFileSystemURI):
58283        * page/DOMWindow.h:
58284        * page/DOMWindow.idl:
58285
582862011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
58287
58288        Reviewed by Oliver Hunt.
58289
58290        Build fix for Qt port after API changes of http://trac.webkit.org/changeset/79904.
58291
58292        * bridge/qt/qt_runtime.cpp:
58293        (JSC::Bindings::QtConnectionObject::execute):
58294
582952011-02-25  David Levin  <levin@chromium.org>
58296
58297        Reviewed by Darin Adler.
58298
58299        Remove some duplicate code from KURLGoogle.cpp
58300        https://bugs.webkit.org/show_bug.cgi?id=55266
58301
58302        No change in functionality so no new tests.
58303
58304        * WebCore.gyp/WebCore.gyp: Make KURL.cpp get built by Chromium.
58305        * platform/KURL.cpp:
58306        Simply moved #include's and some code that was identical (i.e.
58307        had been copied) to KURLGoogle.cpp outside of ifdef !USE(GOOGLEURL)
58308        to reduce duplication.
58309        * platform/KURLGoogle.cpp:
58310        Removed the duplicate code.
58311
583122011-02-28  Oliver Hunt  <oliver@apple.com>
58313
58314        Reviewed by Gavin Barraclough.
58315
58316        Make ScopeChainNode GC allocated
58317        https://bugs.webkit.org/show_bug.cgi?id=55283
58318
58319        Update WebCore to deal with the absence of the ScopeChain
58320        class.
58321
58322        * ForwardingHeaders/runtime/ScopeChain.h: Added.
58323        * bindings/js/JSHTMLElementCustom.cpp:
58324        (WebCore::JSHTMLElement::pushEventHandlerScope):
58325        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
58326        (WebCore::JSJavaScriptCallFrame::scopeChain):
58327        (WebCore::JSJavaScriptCallFrame::scopeType):
58328        * bindings/js/JSLazyEventListener.cpp:
58329        (WebCore::JSLazyEventListener::initializeJSFunction):
58330        * bindings/js/JSMainThreadExecState.h:
58331        (WebCore::JSMainThreadExecState::evaluate):
58332        * bindings/js/JSNodeCustom.cpp:
58333        (WebCore::JSNode::pushEventHandlerScope):
58334        * bindings/js/JavaScriptCallFrame.cpp:
58335        (WebCore::JavaScriptCallFrame::scopeChain):
58336        * bindings/js/JavaScriptCallFrame.h:
58337        * bindings/scripts/CodeGeneratorJS.pm:
58338        * bridge/c/c_class.cpp:
58339        * bridge/c/c_runtime.cpp:
58340        * bridge/jni/JNIBridge.cpp:
58341        * bridge/qt/qt_runtime.cpp:
58342        (JSC::Bindings::QtConnectionObject::execute):
58343        * plugins/PluginViewNone.cpp:
58344
583452011-02-28  Chang Shu  <cshu@webkit.org>
58346
58347        Reviewed by Adele Peterson.
58348
58349        REGRESSION (r79762): Items in <select multiple> have focus rings, but shouldn't
58350        https://bugs.webkit.org/show_bug.cgi?id=55323
58351
58352        Draw focus ring on selected items only if spatial navigation is enabled.
58353
58354        Test: fast/forms/select-listbox-multiple-no-focusring.html
58355
58356        * rendering/RenderBlock.h:
58357        * rendering/RenderListBox.cpp:
58358        (WebCore::RenderListBox::addFocusRingRects):
58359
583602011-02-28  Abhishek Arya  <inferno@chromium.org>
58361
58362        Reviewed by Anders Carlsson.
58363
58364        We can cancel the plugin load and fail with error before m_manualStream
58365        got a chance to initialize in PluginView::didReceiveResponse. This can
58366        happen when we run pending document onload events during plugin load that
58367        remove the frame from underneath. So, change the assert into a null check.
58368        https://bugs.webkit.org/show_bug.cgi?id=55307
58369
58370        * plugins/PluginView.cpp:
58371        (WebCore::PluginView::didFail):
58372
583732011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
58374
58375        Reviewed by Alexey Proskuryakov.
58376
58377        Build fix for Intel ICC Compiler.
58378        https://bugs.webkit.org/show_bug.cgi?id=55221
58379
58380        The virtual inheritance seems to confuse ICC.
58381        Anything that links with webkit has an undefined reference otherwise.
58382
58383        * svg/SVGTransformable.cpp:
58384        (WebCore::SVGTransformable::~SVGTransformable):
58385        * svg/SVGTransformable.h:
58386
583872011-02-28  Sergio Villar Senin  <svillar@igalia.com>
58388
58389        Reviewed by Martin Robinson.
58390
58391        [Gtk] Resource size is incorrectly reported to WebCore
58392        https://bugs.webkit.org/show_bug.cgi?id=53228
58393
58394        When calling didReceiveData we are sending an invalid value for
58395        lengthReceived. Sometimes we were even passing a boolean value instead of the
58396        expected integer. We should pass the size of the received data instead of the
58397        total amount of data received.
58398
58399        * platform/network/ResourceHandleInternal.h:
58400        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
58401        * platform/network/soup/ResourceHandleSoup.cpp:
58402        (WebCore::gotChunkCallback):
58403        (WebCore::sendRequestCallback):
58404        (WebCore::readCallback):
58405
584062011-02-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
58407
58408        Reviewed by Dan Bernstein.
58409
58410        Cleanup the include guard form an Objective-C files
58411        https://bugs.webkit.org/show_bug.cgi?id=55379
58412
58413        Normally Objective-C files do not need include guard.
58414        r76916 introduced an include guard in EmptyProtocolDefinitions.h.
58415        The guard is no longer needed after r76991.
58416
58417        No new tests as there is no new functionality.
58418
58419        * platform/mac/EmptyProtocolDefinitions.h:
58420
584212011-02-28  Pavel Podivilov  <podivilov@chromium.org>
58422
58423        Reviewed by Pavel Feldman.
58424
58425        Web Inspector: [REGRESSION] no resources in scripts panel because debugger is enabled too early.
58426        https://bugs.webkit.org/show_bug.cgi?id=55389
58427
58428        * inspector/InspectorAgent.cpp:
58429        (WebCore::InspectorAgent::populateScriptObjects):
58430        * inspector/InspectorDebuggerAgent.cpp:
58431        (WebCore::InspectorDebuggerAgent::setFrontend):
58432        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
58433        * inspector/InspectorDebuggerAgent.h:
58434
584352011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
58436
58437        Unreviewed, rolling out r79877.
58438        http://trac.webkit.org/changeset/79877
58439        https://bugs.webkit.org/show_bug.cgi?id=55388
58440
58441        Breaks chromium build (Requested by antonm_ on #webkit).
58442
58443        * WebCore.gypi:
58444        * platform/graphics/chromium/ContentLayerChromium.cpp:
58445        (WebCore::ContentLayerChromium::updateContentsIfDirty):
58446        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
58447        (WebCore::ContentLayerChromium::resizeUploadBuffer):
58448        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
58449        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
58450        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
58451        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
58452        (WebCore::ContentLayerChromium::draw):
58453        * platform/graphics/chromium/ContentLayerChromium.h:
58454        * platform/graphics/chromium/ImageLayerChromium.cpp:
58455        (WebCore::ImageLayerChromium::updateContentsIfDirty):
58456        * platform/graphics/chromium/ImageLayerChromium.h:
58457        * platform/graphics/chromium/LayerTilerChromium.cpp:
58458        (WebCore::LayerTilerChromium::contentRectToTileIndices):
58459        (WebCore::LayerTilerChromium::update):
58460        * platform/graphics/chromium/LayerTilerChromium.h:
58461        * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
58462        * platform/graphics/chromium/PlatformCanvas.h: Removed.
58463        * platform/graphics/chromium/PlatformImage.cpp: Removed.
58464        * platform/graphics/chromium/PlatformImage.h: Removed.
58465
584662011-02-28  Pavel Podivilov  <podivilov@chromium.org>
58467
58468        Reviewed by Pavel Feldman.
58469
58470        Web Inspector: add live edit test.
58471        https://bugs.webkit.org/show_bug.cgi?id=55360
58472
58473        Test: inspector/debugger/live-edit.html
58474
58475        * inspector/front-end/SourceFrame.js:
58476        (WebInspector.SourceFrame.prototype._doubleClick):
58477        (WebInspector.SourceFrame.prototype._didEditLine):
58478
584792011-02-28  Pavel Feldman  <pfeldman@chromium.org>
58480
58481        Not reviewed. Follow up to r79858, removing optimistic assertion that fails on debug bot.
58482
58483        * inspector/InspectorBrowserDebuggerAgent.cpp:
58484        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
58485
584862011-02-25  Adrienne Walker  <enne@google.com>
58487
58488        Reviewed by James Robinson.
58489
58490        [chromium] Abstract "pixels with a graphics context" into its own class
58491        https://bugs.webkit.org/show_bug.cgi?id=55259
58492
58493        This creates new PlatformCanvas/PlatformImage classes which wrap
58494        all of the #ifdef Skia/Cg warts from the compositor.  All classes
58495        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
58496        modified to use these abstractions.
58497
58498        Tests: LayoutTests/compositing
58499
58500        * WebCore.gypi:
58501        * platform/graphics/chromium/ContentLayerChromium.cpp:
58502        (WebCore::ContentLayerChromium::updateContentsIfDirty):
58503        (WebCore::ContentLayerChromium::resizeUploadBuffer):
58504        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
58505        (WebCore::ContentLayerChromium::updateTexture):
58506        (WebCore::ContentLayerChromium::draw):
58507        * platform/graphics/chromium/ContentLayerChromium.h:
58508        * platform/graphics/chromium/ImageLayerChromium.cpp:
58509        (WebCore::ImageLayerChromium::updateContentsIfDirty):
58510        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
58511        * platform/graphics/chromium/ImageLayerChromium.h:
58512        * platform/graphics/chromium/LayerTilerChromium.cpp:
58513        (WebCore::LayerTilerChromium::contentRectToTileIndices):
58514        (WebCore::LayerTilerChromium::update):
58515        (WebCore::LayerTilerChromium::updateFromPixels):
58516        * platform/graphics/chromium/LayerTilerChromium.h:
58517        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
58518        (WebCore::PlatformCanvas::PlatformCanvas):
58519        (WebCore::PlatformCanvas::~PlatformCanvas):
58520        (WebCore::PlatformCanvas::resize):
58521        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
58522        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
58523        (WebCore::PlatformCanvas::Painter::Painter):
58524        (WebCore::PlatformCanvas::Painter::~Painter):
58525        * platform/graphics/chromium/PlatformCanvas.h: Added.
58526        (WebCore::PlatformCanvas::AutoLocker::pixels):
58527        (WebCore::PlatformCanvas::Painter::context):
58528        (WebCore::PlatformCanvas::size):
58529        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
58530        (WebCore::PlatformImage::PlatformImage):
58531        (WebCore::PlatformImage::updateFromImage):
58532        * platform/graphics/chromium/PlatformImage.h: Added.
58533        (WebCore::PlatformImage::pixels):
58534        (WebCore::PlatformImage::size):
58535
585362011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
58537
58538        Unreviewed, rolling out r79784.
58539        http://trac.webkit.org/changeset/79784
58540        https://bugs.webkit.org/show_bug.cgi?id=55386
58541
58542        This change causes lots of assertion failures in Debug builds
58543        (Requested by aroben on #webkit).
58544
58545        * css/CSSStyleSelector.cpp:
58546        (WebCore::convertToLength):
58547        (WebCore::CSSStyleSelector::applyProperty):
58548        (WebCore::CSSStyleSelector::createTransformOperations):
58549        * platform/Length.h:
58550        (WebCore::Length::Length):
58551        (WebCore::Length::operator==):
58552        (WebCore::Length::operator!=):
58553        (WebCore::Length::rawValue):
58554        (WebCore::Length::type):
58555        (WebCore::Length::quirk):
58556        (WebCore::Length::setValue):
58557        (WebCore::Length::setRawValue):
58558        (WebCore::Length::calcFloatValue):
58559        (WebCore::Length::isZero):
58560        (WebCore::Length::blend):
58561        * rendering/AutoTableLayout.cpp:
58562        (WebCore::AutoTableLayout::recalcColumn):
58563        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
58564        * rendering/FixedTableLayout.cpp:
58565        (WebCore::FixedTableLayout::calcWidthArray):
58566
585672011-02-28  Andreas Kling  <kling@webkit.org>
58568
58569        Reviewed by Darin Adler.
58570
58571        Use Frame::ownerElement() directly where appropriate.
58572        https://bugs.webkit.org/show_bug.cgi?id=55385
58573
58574        Don't take the roundabout way through frame->document->ownerElement
58575        which just checks that the document->frame is non-null.
58576
58577        No new test, refactoring only.
58578
58579        * editing/SelectionController.cpp:
58580        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
58581        * loader/FrameLoader.cpp:
58582        (WebCore::FrameLoader::loadWithDocumentLoader):
58583        * page/DOMWindow.cpp:
58584        (WebCore::DOMWindow::dispatchLoadEvent):
58585        * page/EventHandler.cpp:
58586        (WebCore::EventHandler::scrollRecursively):
58587        (WebCore::EventHandler::logicalScrollRecursively):
58588        * page/FrameView.cpp:
58589        (WebCore::FrameView::init):
58590        (WebCore::FrameView::layout):
58591        (WebCore::FrameView::repaintContentRectangle):
58592        (WebCore::FrameView::windowClipRect):
58593        (WebCore::FrameView::paintContents):
58594
585952011-02-28  Pavel Podivilov  <podivilov@chromium.org>
58596
58597        Reviewed by Pavel Feldman.
58598
58599        Web Inspector: [REGRESSION] source frame is recreated for each inlined script in document.
58600        https://bugs.webkit.org/show_bug.cgi?id=55377
58601
58602        * inspector/front-end/ScriptsPanel.js:
58603        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
58604        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
58605        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
58606        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
58607
586082011-02-28  Patrick Gansterer  <paroga@webkit.org>
58609
58610        Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r79569.
58611
58612        * svg/SVGDocumentExtensions.cpp:
58613        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
58614
586152011-02-28  Renata Hodovan  <reni@webkit.org>
58616
58617        Reviewed by Andreas Kling.
58618
58619        Optimize parameter transmissions in FEConvolveMatrix.
58620        https://bugs.webkit.org/show_bug.cgi?id=55381
58621
58622        Parameter transmission via reference is more efficient than with copy. So they are substituted.
58623
58624        No new tests are needed since this is a refactoring.
58625
58626        * platform/graphics/filters/FEConvolveMatrix.cpp:
58627        (WebCore::FEConvolveMatrix::setKernelSize):
58628        (WebCore::FEConvolveMatrix::setTargetOffset):
58629        (WebCore::FEConvolveMatrix::setKernelUnitLength):
58630        * platform/graphics/filters/FEConvolveMatrix.h:
58631
586322011-02-28  Yury Semikhatsky  <yurys@chromium.org>
58633
58634        Unreviewed. Fix Chromium tests failures due to r79858.
58635
58636        * inspector/InspectorAgent.cpp:
58637        (WebCore::InspectorAgent::inspectedPageDestroyed):
58638
586392011-02-28  Vsevolod Vlasov  <vsevik@chromium.org>
58640
58641        Reviewed by Pavel Feldman.
58642
58643        XML without style should render as syntax-highlighted source.
58644        https://bugs.webkit.org/show_bug.cgi?id=13807
58645
58646        XML tree view mode implemented. If XML does not have any style
58647        information, it is rendered as highlighted source with collapsable
58648        elements.
58649
58650        Tests: fast/css/dumpAsText/xml-stylesheet-pi-not-in-prolog.xml
58651               fast/encoding/dumpAsText/utf-16-no-bom.xml
58652               http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
58653               http/tests/xmlviewer/dumpAsText/frames.html
58654               http/tests/xmlviewer/dumpAsText/mathml.xml
58655               http/tests/xmlviewer/dumpAsText/svg.xml
58656               http/tests/xmlviewer/dumpAsText/wml.xml
58657               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
58658               http/tests/xmlviewer/dumpAsText/xlink.xml
58659               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
58660               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
58661               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
58662               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
58663               http/tests/xmlviewer/dumpAsText/xul.xml
58664               svg/hixie/error/dumpAsText/004.xml
58665               svg/hixie/error/dumpAsText/005.xml
58666
58667        * CMakeLists.txt:
58668        * DerivedSources.make:
58669        * GNUmakefile.am:
58670        * WebCore.gyp/WebCore.gyp:
58671        * WebCore.gypi:
58672        * WebCore.vcproj/WebCore.vcproj:
58673        * WebCore.xcodeproj/project.pbxproj:
58674        * css/CSSStyleSelector.cpp:
58675        (WebCore::CSSStyleSelector::matchUARules):
58676        * dom/Document.cpp:
58677        (WebCore::Document::Document):
58678        (WebCore::Document::createElement):
58679        * dom/Document.h:
58680        (WebCore::Document::usesViewSourceStyles):
58681        (WebCore::Document::setUsesViewSourceStyles):
58682        (WebCore::Document::sawElementsInKnownNamespaces):
58683        * dom/XMLDocumentParser.h:
58684        * dom/XMLDocumentParserLibxml2.cpp:
58685        (WebCore::XMLDocumentParser::XMLDocumentParser):
58686        (WebCore::XMLDocumentParser::processingInstruction):
58687        (WebCore::XMLDocumentParser::initializeParserContext):
58688        (WebCore::XMLDocumentParser::doEnd):
58689        * dom/XMLDocumentParserQt.cpp:
58690        (WebCore::XMLDocumentParser::XMLDocumentParser):
58691        (WebCore::XMLDocumentParser::initializeParserContext):
58692        (WebCore::XMLDocumentParser::parseProcessingInstruction):
58693        * html/HTMLViewSourceDocument.cpp:
58694        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
58695        * xml/XMLTreeViewer.cpp: Added.
58696        (WebCore::XMLTreeViewer::XMLTreeViewer):
58697        (WebCore::XMLTreeViewer::hasNoStyleInformation):
58698        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
58699        * xml/XMLTreeViewer.h: Added.
58700        (WebCore::XMLTreeViewer::~XMLTreeViewer):
58701        * xml/XMLViewer.xsl: Added.
58702        * xml/XSLStyleSheet.h:
58703        (WebCore::XSLStyleSheet::createForXMLTreeViewer):
58704
587052011-02-28  Yury Semikhatsky  <yurys@chromium.org>
58706
58707        Reviewed by Pavel Feldman.
58708
58709        Web Inspector: debugger agents should have same livetime as InspectorAgent
58710        https://bugs.webkit.org/show_bug.cgi?id=55369
58711
58712        DOM and JS debugger agents are now created in InspectorAgent's constructor and owned
58713        by the agent. Debugger state is cleared on frontend disconnect.
58714
58715        * inspector/Inspector.idl:
58716        * inspector/InspectorAgent.cpp:
58717        (WebCore::InspectorAgent::InspectorAgent):
58718        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
58719        (WebCore::InspectorAgent::setFrontend):
58720        (WebCore::InspectorAgent::disconnectFrontend):
58721        (WebCore::InspectorAgent::populateScriptObjects):
58722        (WebCore::InspectorAgent::didCommitLoad):
58723        (WebCore::InspectorAgent::showScriptsPanel):
58724        * inspector/InspectorAgent.h:
58725        * inspector/InspectorBrowserDebuggerAgent.cpp:
58726        (WebCore::InspectorBrowserDebuggerAgent::create):
58727        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
58728        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
58729        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasEnabled):
58730        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasDisabled):
58731        (WebCore::InspectorBrowserDebuggerAgent::disable):
58732        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
58733        (WebCore::InspectorBrowserDebuggerAgent::clearFrontend):
58734        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
58735        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
58736        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
58737        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
58738        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
58739        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
58740        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
58741        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
58742        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
58743        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
58744        (WebCore::InspectorBrowserDebuggerAgent::clear):
58745        * inspector/InspectorBrowserDebuggerAgent.h:
58746        * inspector/InspectorController.cpp:
58747        (WebCore::InspectorController::debuggerEnabled):
58748        (WebCore::InspectorController::showAndEnableDebugger):
58749        (WebCore::InspectorController::disableDebugger):
58750        * inspector/InspectorDebuggerAgent.cpp:
58751        (WebCore::InspectorDebuggerAgent::create):
58752        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
58753        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
58754        (WebCore::InspectorDebuggerAgent::startUserInitiatedDebugging):
58755        (WebCore::InspectorDebuggerAgent::enable):
58756        (WebCore::InspectorDebuggerAgent::disable):
58757        (WebCore::InspectorDebuggerAgent::enabled):
58758        (WebCore::InspectorDebuggerAgent::restore):
58759        (WebCore::InspectorDebuggerAgent::setFrontend):
58760        (WebCore::InspectorDebuggerAgent::clearFrontend):
58761        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
58762        (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
58763        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
58764        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
58765        (WebCore::InspectorDebuggerAgent::currentCallFrames):
58766        (WebCore::InspectorDebuggerAgent::didParseSource):
58767        (WebCore::InspectorDebuggerAgent::clear):
58768        * inspector/InspectorDebuggerAgent.h:
58769        (WebCore::InspectorDebuggerAgent::enable):
58770        (WebCore::InspectorDebuggerAgent::disable):
58771        (WebCore::InspectorDebuggerAgent::Listener::~Listener):
58772        (WebCore::InspectorDebuggerAgent::setListener):
58773        * inspector/InspectorInstrumentation.cpp:
58774        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
58775        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
58776        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
58777        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
58778        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
58779        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
58780        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
58781        * inspector/front-end/DebuggerModel.js:
58782        (WebInspector.DebuggerModel.prototype.enableDebugger):
58783        (WebInspector.DebuggerModel.prototype.disableDebugger):
58784
587852011-02-28  Renata Hodovan  <reni@webkit.org>
58786
58787        Reviewed by Andreas Kling.
58788
58789        FECompositeElement changes doesn't require relayout.
58790        https://bugs.webkit.org/show_bug.cgi?id=55367
58791
58792        When the FECompositeElement receives an update message but the given value remains the same we don't need
58793        to relayout the filter.
58794
58795        No new tests are needed because this modification is covered by the dynamic update tests of FEComposite.
58796
58797        * platform/graphics/filters/FEComposite.cpp:
58798        (WebCore::FEComposite::setOperation):
58799        (WebCore::FEComposite::setK1):
58800        (WebCore::FEComposite::setK2):
58801        (WebCore::FEComposite::setK3):
58802        (WebCore::FEComposite::setK4):
58803        * platform/graphics/filters/FEComposite.h:
58804        * svg/SVGFECompositeElement.cpp:
58805        (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
58806        (WebCore::SVGFECompositeElement::svgAttributeChanged):
58807        * svg/SVGFECompositeElement.h:
58808
588092011-02-28  Andreas Kling  <kling@webkit.org>
58810
58811        Reviewed by Kenneth Rohde Christiansen.
58812
58813        FrameLoader: Reorder early-returns in checkCompleted()
58814        https://bugs.webkit.org/show_bug.cgi?id=55366
58815
58816        Check allChildrenAreComplete() last, since it's the most expensive.
58817
58818        * loader/FrameLoader.cpp:
58819        (WebCore::FrameLoader::checkCompleted):
58820
588212011-02-28  Ryosuke Niwa  <rniwa@webkit.org>
58822
58823        Reviewed by Kent Tamura.
58824
58825        Range::processContents needs cleanup
58826        https://bugs.webkit.org/show_bug.cgi?id=51006
58827
58828        Refactored Range::processContents.  Extracted childOfCommonRootBeforeOffset from processContents
58829        which is used to find processStart and processEnd respectively.  In the case of processStart,
58830        we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not
58831        the common root because copying m_start's ancestors will result in processing too much contents.
58832
58833        Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets.
58834
58835        In addition, lengthOfContentsInNode was modified to return the correct length instead of
58836        numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically
58837        corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than
58838        having two switch statements that need to be consistent.
58839
58840        Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const
58841        LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and
58842        other ports.
58843
58844        * dom/Range.cpp:
58845        (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents.
58846        (WebCore::lengthOfContentsInNode): Added.
58847        (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode,
58848        and processNodes.
58849        (WebCore::deleteCharacterData): Added.
58850        (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes.
58851        (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets.
58852        (WebCore::Range::processAncestorsAndTheirSiblings):
58853        * dom/Range.h:
58854
588552011-02-28  Pavel Feldman  <pfeldman@chromium.org>
58856
58857        Not reviewed. Test harness change follow up.
58858        Consider missing localized string a warning, not an error in the front-end.
58859
58860        * inspector/front-end/inspector.js:
58861        (WebInspector.UIString):
58862
588632011-02-28  Steve Block  <steveblock@google.com>
58864
58865        Reviewed by Jeremy Orlow.
58866
58867        getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android
58868        https://bugs.webkit.org/show_bug.cgi?id=55218
58869
58870        AttachCurrentThread() in Android's JVM takes a JINEnv**
58871        argument.
58872
58873        No new tests, build fix only.
58874
58875        * bridge/jni/JNIUtility.cpp:
58876        (JSC::Bindings::getJNIEnv):
58877
588782011-02-28  Renata Hodovan  <reni@webkit.org>
58879
58880        Reviewed by Andreas Kling.
58881
58882        FETurbulenceElement changes doesn't require relayout
58883        https://bugs.webkit.org/show_bug.cgi?id=55141
58884
58885        When the FETurbulenceElement receives an update message but the given value remains the same we don't need
58886        to relayout the filter.
58887        Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool
58888        to int according to the spec.
58889
58890        No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence.
58891
58892        * platform/graphics/filters/FETurbulence.cpp:
58893        (WebCore::FETurbulence::FETurbulence):
58894        (WebCore::FETurbulence::create):
58895        (WebCore::FETurbulence::type):
58896        (WebCore::FETurbulence::setType):
58897        (WebCore::FETurbulence::setBaseFrequencyY):
58898        (WebCore::FETurbulence::setBaseFrequencyX):
58899        (WebCore::FETurbulence::setSeed):
58900        (WebCore::FETurbulence::setNumOctaves):
58901        (WebCore::FETurbulence::setStitchTiles):
58902        (WebCore::operator<<):
58903        * platform/graphics/filters/FETurbulence.h:
58904        * svg/SVGFETurbulenceElement.cpp:
58905        (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
58906        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
58907        (WebCore::SVGFETurbulenceElement::build):
58908        * svg/SVGFETurbulenceElement.h:
58909
589102011-02-28  Pavel Feldman  <pfeldman@chromium.org>
58911
58912        Reviewed by Yury Semikhatsky.
58913
58914        WebInspector: InspectorAgent calls offsetWidth in the middle of painting
58915        https://bugs.webkit.org/show_bug.cgi?id=54597
58916
58917        * inspector/InspectorAgent.cpp:
58918        (WebCore::InspectorAgent::drawElementTitle):
58919
589202011-02-28  Roland Steiner  <rolandsteiner@chromium.org>
58921
58922        Reviewed by Kent Tamura.
58923
58924        Bug 55355 - TextIterator should not be a friend of RenderTextControl
58925        https://bugs.webkit.org/show_bug.cgi?id=55355
58926
58927        Remove need for 'friend' clause by making innerTextElement() public.
58928
58929        No new tests. (simple refactoring)
58930
58931        * rendering/RenderTextControl.h:
58932
589332011-02-27  Patrick Gansterer  <paroga@webkit.org>
58934
58935        Reviewed by Darin Adler.
58936
58937        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE
58938        https://bugs.webkit.org/show_bug.cgi?id=55317
58939
58940        This functions are obsolete, since r78499 added TextCodecUTF8.
58941        Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec.
58942
58943        * platform/text/TextEncodingRegistry.cpp:
58944        (WebCore::buildBaseTextCodecMaps):
58945        * platform/text/wince/TextCodecWinCE.cpp:
58946        * platform/text/wince/TextCodecWinCE.h:
58947
589482011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
58949
58950        Reviewed by Sam Weinig.
58951
58952        Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects
58953        https://bugs.webkit.org/show_bug.cgi?id=55327
58954
58955        Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have
58956        to release the memory manually.
58957
58958        * rendering/RenderBlock.cpp:
58959        (WebCore::RenderBlock::~RenderBlock):
58960        (WebCore::RenderBlock::selectionGaps):
58961        (WebCore::RenderBlock::insertPositionedObject):
58962        (WebCore::RenderBlock::insertFloatingObject):
58963        (WebCore::RenderBlock::addOverhangingFloats):
58964        (WebCore::RenderBlock::addIntrudingFloats):
58965        * rendering/RenderBlock.h:
58966        (WebCore::RenderBlock::positionedObjects):
58967
589682011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
58969
58970        Reviewed by Andreas Kling.
58971
58972        Eliminate DeprecatedPtrList
58973        https://bugs.webkit.org/show_bug.cgi?id=17425
58974
58975        Remove the implementation of DeprecatedPtrList and all its references
58976        from the build systems.
58977
58978        * Android.mk:
58979        * CMakeLists.txt:
58980        * GNUmakefile.am:
58981        * WebCore.gypi:
58982        * WebCore.order:
58983        * WebCore.pro:
58984        * WebCore.vcproj/WebCore.vcproj:
58985        * WebCore.xcodeproj/project.pbxproj:
58986        * platform/DeprecatedPtrList.h: Removed.
58987        * platform/DeprecatedPtrListImpl.cpp: Removed.
58988        * platform/DeprecatedPtrListImpl.h: Removed.
58989
589902011-02-27  Andreas Kling  <kling@webkit.org>
58991
58992        Reviewed by Kenneth Rohde Christiansen.
58993
58994        [Qt] Use WTF ref counting for FontPlatformDataPrivate
58995        https://bugs.webkit.org/show_bug.cgi?id=55303
58996
58997        Make FontPlatformDataPrivate a RefCounted<FPDP>.
58998        Incidentally fixes an uninitialized member bug in FontPlatformData().
58999
59000        * platform/graphics/qt/FontPlatformData.h:
59001        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
59002        (WebCore::FontPlatformData::FontPlatformData):
59003        (WebCore::FontPlatformData::isHashTableDeletedValue):
59004        (WebCore::FontPlatformData::font):
59005        (WebCore::FontPlatformData::size):
59006        (WebCore::FontPlatformData::family):
59007        (WebCore::FontPlatformData::bold):
59008        (WebCore::FontPlatformData::italic):
59009        (WebCore::FontPlatformData::smallCaps):
59010        (WebCore::FontPlatformData::pixelSize):
59011        * platform/graphics/qt/FontPlatformDataQt.cpp:
59012        (WebCore::toQFontWeight):
59013        (WebCore::FontPlatformData::operator==):
59014        (WebCore::FontPlatformData::hash):
59015
590162011-02-27  Benjamin Poulain  <ikipou@gmail.com>
59017
59018        Reviewed by Darin Adler.
59019
59020        Eliminate DeprecatedPtrList from RenderBlock
59021        https://bugs.webkit.org/show_bug.cgi?id=54972
59022
59023        Refactor RenderBlock to get rid of the DeprecatedPtrList.
59024        The floating objects are stored in a ListHashSet.
59025
59026        Refactoring covered by existing test.
59027
59028        * rendering/RenderBlock.cpp:
59029        (WebCore::RenderBlock::~RenderBlock):
59030        (WebCore::RenderBlock::addOverflowFromFloats):
59031        (WebCore::RenderBlock::repaintOverhangingFloats):
59032        (WebCore::RenderBlock::paintFloats):
59033        (WebCore::RenderBlock::selectionGaps):
59034        (WebCore::RenderBlock::insertFloatingObject):
59035        (WebCore::RenderBlock::removeFloatingObject):
59036        (WebCore::RenderBlock::removeFloatingObjectsBelow):
59037        (WebCore::RenderBlock::positionNewFloats):
59038        (WebCore::RenderBlock::positionNewFloatOnLine):
59039        (WebCore::RenderBlock::logicalLeftOffsetForLine):
59040        (WebCore::RenderBlock::logicalRightOffsetForLine):
59041        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
59042        (WebCore::RenderBlock::lowestFloatLogicalBottom):
59043        (WebCore::RenderBlock::clearFloats):
59044        (WebCore::RenderBlock::addOverhangingFloats):
59045        (WebCore::RenderBlock::addIntrudingFloats):
59046        (WebCore::RenderBlock::containsFloat):
59047        (WebCore::RenderBlock::hitTestFloats):
59048        (WebCore::RenderBlock::adjustForBorderFit):
59049        * rendering/RenderBlock.h:
59050        (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
59051        (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
59052        (WebCore::RenderBlock::FloatingObjectHashTranslator::hash):
59053        (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
59054        * rendering/RenderBlockLineLayout.cpp:
59055        (WebCore::RenderBlock::layoutInlineChildren):
59056        (WebCore::RenderBlock::matchedEndLine):
59057
590582011-02-26  Adam Barth  <abarth@webkit.org>
59059
59060        Reviewed by Eric Seidel.
59061
59062        <input value="type=submit"> throws a warning (“HTML parse error”)
59063        https://bugs.webkit.org/show_bug.cgi?id=55120
59064
59065        This patch removes parse error messages from the HTML parser.  These
59066        messages are displayed at the wrong times, aren't tested, and aren't
59067        helpful.  We'll try again with some more informative messages and
59068        better testing.
59069
59070        * html/parser/HTMLTreeBuilder.cpp:
59071        (WebCore::HTMLTreeBuilder::parseError):
59072
590732011-02-26  Patrick Gansterer  <paroga@webkit.org>
59074
59075        Reviewed by Alexey Proskuryakov.
59076
59077        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew
59078        https://bugs.webkit.org/show_bug.cgi?id=55309
59079
59080        This functions are obsolete, since r78499 added TextCodecUTF8.
59081
59082        * platform/text/TextEncodingRegistry.cpp:
59083        (WebCore::buildBaseTextCodecMaps):
59084        * platform/text/brew/TextCodecBrew.cpp:
59085        * platform/text/brew/TextCodecBrew.h:
59086
590872011-02-26  Justin Schuh  <jschuh@chromium.org>
59088
59089        Reviewed by Darin Adler.
59090
59091        Delay firing of mutation events while setting attribute values
59092        https://bugs.webkit.org/show_bug.cgi?id=55199
59093
59094        Test: fast/dom/attribute-change-on-mutate.html
59095
59096        * dom/Attr.cpp:
59097        (WebCore::Attr::setValue):
59098
590992011-02-26  Yi Shen  <yi.4.shen@nokia.com>
59100
59101        Reviewed by Andreas Kling.
59102
59103        [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed
59104        https://bugs.webkit.org/show_bug.cgi?id=55252
59105
59106        Need to invoke a callback function to notify the HTMLMediaElement
59107        when MediaPlayerPrivateQt's playback state gets changed.
59108
59109        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
59110        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll
59111        (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement
59112        (WebCore::MediaPlayerPrivateQt::stateChanged):
59113        * platform/graphics/qt/MediaPlayerPrivateQt.h:
59114
591152011-02-25  Abhishek Arya  <inferno@chromium.org>
59116
59117        Reviewed by Adam Barth.
59118
59119        When plugin document parser finishes parsing, it runs the raw
59120        document's parser finish functions which call the pending document
59121        onload events that removes the frame from underneath. So, we protect
59122        frame (and hence frameloader) in DocumentLoader::commitLoad.
59123        https://bugs.webkit.org/show_bug.cgi?id=55289
59124
59125        Test: fast/frames/iframe-plugin-load-remove-document-crash.html
59126
59127        * loader/DocumentLoader.cpp:
59128        (WebCore::DocumentLoader::commitLoad):
59129
591302011-02-26  Pavel Feldman  <pfeldman@chromium.org>
59131
59132        Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
59133
591342011-02-26  Pavel Feldman  <pfeldman@chromium.org>
59135
59136        Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt.
59137        https://bugs.webkit.org/show_bug.cgi?id=55302
59138
59139        * CMakeLists.txt:
59140
591412011-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
59142
59143        Reviewed by Pavel Feldman.
59144
59145        XML without style should render as syntax-highlighted source.
59146        https://bugs.webkit.org/show_bug.cgi?id=13807
59147
59148        XML tree view mode implemented. If XML does not have any style
59149        information, it is rendered as highlighted source with collapsable
59150        elements.
59151
59152        Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
59153               http/tests/xmlviewer/dumpAsText/frames.html
59154               http/tests/xmlviewer/dumpAsText/mathml.xml
59155               http/tests/xmlviewer/dumpAsText/svg.xml
59156               http/tests/xmlviewer/dumpAsText/wml.xml
59157               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
59158               http/tests/xmlviewer/dumpAsText/xlink.xml
59159               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
59160               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
59161               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
59162               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
59163               http/tests/xmlviewer/dumpAsText/xul.xml
59164
59165        * CMakeLists.txt:
59166        * DerivedSources.make:
59167        * GNUmakefile.am:
59168        * WebCore.gyp/WebCore.gyp:
59169        * WebCore.gypi:
59170        * WebCore.vcproj/WebCore.vcproj:
59171        * WebCore.xcodeproj/project.pbxproj:
59172        * css/CSSStyleSelector.cpp:
59173        (WebCore::CSSStyleSelector::matchUARules):
59174        * dom/Document.cpp:
59175        (WebCore::Document::Document):
59176        (WebCore::Document::createElement):
59177        * dom/Document.h:
59178        (WebCore::Document::usesViewSourceStyles):
59179        (WebCore::Document::setUsesViewSourceStyles):
59180        (WebCore::Document::sawElementsInKnownNamespaces):
59181        * dom/XMLDocumentParser.h:
59182        * dom/XMLDocumentParserLibxml2.cpp:
59183        (WebCore::XMLDocumentParser::XMLDocumentParser):
59184        (WebCore::XMLDocumentParser::processingInstruction):
59185        (WebCore::XMLDocumentParser::initializeParserContext):
59186        (WebCore::XMLDocumentParser::doEnd):
59187        * dom/XMLDocumentParserQt.cpp:
59188        (WebCore::XMLDocumentParser::XMLDocumentParser):
59189        (WebCore::XMLDocumentParser::initializeParserContext):
59190        (WebCore::XMLDocumentParser::parseProcessingInstruction):
59191        * html/HTMLViewSourceDocument.cpp:
59192        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
59193        * xml/XMLTreeViewer.cpp: Added.
59194        (WebCore::XMLTreeViewer::XMLTreeViewer):
59195        (WebCore::XMLTreeViewer::hasNoStyleInformation):
59196        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
59197        * xml/XMLTreeViewer.h: Added.
59198        (WebCore::XMLTreeViewer::~XMLTreeViewer):
59199        * xml/XMLViewer.xsl: Added.
59200        * xml/XSLStyleSheet.h:
59201        (WebCore::XSLStyleSheet::createFromString):
59202
592032011-02-26  Andreas Kling  <kling@webkit.org>
59204
59205        Reviewed by Kenneth Rohde Christiansen.
59206
59207        [Qt] Enable usage of synchronous HTTP feature in Qt
59208        https://bugs.webkit.org/show_bug.cgi?id=37191
59209
59210        Currently, we spin an event loop when doing synchronous calls to
59211        wait for completion. This patch uses synchronous requests in Qt,
59212        if available, and spins the event loop as a fallback solution.
59213
59214        Based on work by Simon Hausmann and Peter Hartmann.
59215
59216        * platform/network/qt/QNetworkReplyHandler.cpp:
59217        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59218        (WebCore::QNetworkReplyHandler::start):
59219        * platform/network/qt/QNetworkReplyHandler.h:
59220        * platform/network/qt/ResourceHandleQt.cpp:
59221        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
59222        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
59223        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
59224        (WebCore::WebCoreSynchronousLoader::didFail):
59225        (WebCore::ResourceHandle::loadResourceSynchronously):
59226
592272011-02-26  Ryosuke Niwa  <rniwa@webkit.org>
59228
59229        Reviewed by Kent Tamura.
59230
59231        REGRESSION(r79398): Webkit crash on dojo theme tester page
59232        https://bugs.webkit.org/show_bug.cgi?id=55290
59233
59234        The bug was caused by selectionStartCSSPropertyValue's not considering the possibility
59235        of selectionStartStyle() returning a null pointer. Fixed it by adding a null check.
59236
59237        Test: editing/execCommand/value-without-selection-crash.html
59238
59239        * editing/Editor.cpp:
59240        (WebCore::Editor::selectionStartCSSPropertyValue):
59241
592422011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
59243
59244        Reviewed by Pavel Feldman.
59245
59246        DumpRenderTree should reset frame opener between tests.
59247        https://bugs.webkit.org/show_bug.cgi?id=54874
59248
59249        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
59250
59251        * WebCore.exp.in:
59252
592532011-02-26  Jia Pu  <jpu@apple.com>
59254
59255        Reviewed by Dan Bernstein.
59256
59257        On Mac, need to remove misspell underline in Editor::learnSpelling().
59258        https://bugs.webkit.org/show_bug.cgi?id=55251
59259
59260        This change makes sure that the misspelling markers are removed after the word is learned.
59261
59262        * editing/Editor.cpp:
59263        (WebCore::Editor::learnSpelling):
59264
592652011-02-26  Rik Cabanier  <cabanier@adobe.com>
59266
59267        Reviewed by David Hyatt.
59268
59269        Fix that allows fixed length values to be floating point
59270        https://bugs.webkit.org/show_bug.cgi?id=52699
59271
59272        Transitions now return matrices in floating point. 2 of the transition tests were failing
59273        because they expected integer values.
59274
59275        * WebCore.xcodeproj/project.pbxproj:
59276        * css/CSSStyleSelector.cpp:
59277        (WebCore::convertToLength):
59278        (WebCore::convertToIntLength):
59279        (WebCore::convertToFloatLength):
59280        (WebCore::CSSStyleSelector::applyProperty):
59281        (WebCore::CSSStyleSelector::createTransformOperations):
59282        * platform/Length.h:
59283        (WebCore::Length::Length):
59284        (WebCore::Length::operator==):
59285        (WebCore::Length::operator!=):
59286        (WebCore::Length::rawValue):
59287        (WebCore::Length::type):
59288        (WebCore::Length::quirk):
59289        (WebCore::Length::setValue):
59290        (WebCore::Length::calcFloatValue):
59291        (WebCore::Length::isZero):
59292        (WebCore::Length::blend):
59293        (WebCore::Length::getIntValue):
59294        (WebCore::Length::getFloatValue):
59295        * rendering/AutoTableLayout.cpp:
59296        (WebCore::AutoTableLayout::recalcColumn):
59297        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
59298        * rendering/FixedTableLayout.cpp:
59299        (WebCore::FixedTableLayout::calcWidthArray):
59300
593012011-02-26  Eric Seidel  <eric@webkit.org>
59302
59303        Reviewed by Maciej Stachowiak.
59304
59305        malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement
59306        https://bugs.webkit.org/show_bug.cgi?id=55204
59307
59308        * dom/ContainerNode.cpp:
59309        (WebCore::ContainerNode::removeChildren):
59310         - Using an inlineCapacity of 10 for now. We may want to tweak it later.
59311         - This removes yet another malloc from code which removes nodes (which is rather common).
59312
593132011-02-26  Eric Seidel  <eric@webkit.org>
59314
59315        Reviewed by Maciej Stachowiak.
59316
59317        HashSet<T>::end() creation is expensive and should be avoided
59318        https://bugs.webkit.org/show_bug.cgi?id=55205
59319
59320        In the common case, m_ranges is an empty set.  When that's
59321        the case, we spend all our time in skipEmptyBuckets, walking
59322        the hash storage skipping over empty buckets.
59323
59324        This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement.
59325
59326        Before:
59327        avg 383.6666666666667
59328        median 386
59329        stdev 7.152311203768722
59330        min 360
59331        max 391
59332
59333        After:
59334        avg 366.3333333333333
59335        median 366
59336        stdev 2.712112747574399
59337        min 362
59338        max 377
59339
59340        * dom/Document.cpp:
59341        (WebCore::Document::nodeChildrenChanged):
59342        (WebCore::Document::nodeChildrenWillBeRemoved):
59343        (WebCore::Document::nodeWillBeRemoved):
59344        (WebCore::Document::textInserted):
59345        (WebCore::Document::textRemoved):
59346        (WebCore::Document::textNodesMerged):
59347        (WebCore::Document::textNodeSplit):
59348
593492011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
59350
59351        Unreviewed, rolling out r79764.
59352        http://trac.webkit.org/changeset/79764
59353        https://bugs.webkit.org/show_bug.cgi?id=55295
59354
59355        "broke Chromium builds" (Requested by rniwa on #webkit).
59356
59357        * WebCore.exp.in:
59358
593592011-02-26  Adam Klein  <adamk@chromium.org>
59360
59361        Reviewed by Adam Barth.
59362
59363        [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase
59364        https://bugs.webkit.org/show_bug.cgi?id=54585
59365
59366        In order to move toURI to EntryBase, it needed access to
59367        SecurityOrigin. Most of the changes below were to pass a
59368        ScriptExecutionContext to DOMFileSystemBase to enable this.
59369
59370        Test: fast/filesystem/workers/file-entry-to-uri-sync.html
59371
59372        * WebCore.gypi:
59373        * WebCore.xcodeproj/project.pbxproj:
59374        * fileapi/DOMFileSystem.cpp:
59375        (WebCore::DOMFileSystem::DOMFileSystem):
59376        * fileapi/DOMFileSystemBase.cpp:
59377        (WebCore::DOMFileSystemBase::DOMFileSystemBase):
59378        (WebCore::DOMFileSystemBase::securityOrigin):
59379        * fileapi/DOMFileSystemBase.h:
59380        (WebCore::DOMFileSystemBase::create):
59381        * fileapi/DOMFileSystemSync.cpp:
59382        (WebCore::DOMFileSystemSync::create):
59383        (WebCore::DOMFileSystemSync::DOMFileSystemSync):
59384        * fileapi/DOMFileSystemSync.h:
59385        (WebCore::DOMFileSystemSync::create):
59386        * fileapi/Entry.cpp:
59387        * fileapi/Entry.h:
59388        * fileapi/EntryBase.cpp: Added.
59389        (WebCore::EntryBase::EntryBase):
59390        (WebCore::EntryBase::~EntryBase):
59391        (WebCore::EntryBase::toURI):
59392        * fileapi/EntryBase.h:
59393        * fileapi/EntrySync.idl:
59394
593952011-02-26  Alice Boxhall  <aboxhall@chromium.org>
59396
59397        Reviewed by Ojan Vafai.
59398
59399        typing enter in the input element should not fire textInput
59400        https://bugs.webkit.org/show_bug.cgi?id=54152
59401
59402        Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly.
59403
59404        Test: fast/forms/textinput-not-fired-on-enter-in-input.html
59405
59406        * html/HTMLInputElement.cpp:
59407        (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true.
59408
594092011-02-26  James Simonsen  <simonjam@chromium.org>
59410
59411        Reviewed by Tony Gentilcore.
59412
59413        [Web Timing] loadEvent timing should refer to first load event if there are many
59414        https://bugs.webkit.org/show_bug.cgi?id=55201
59415
59416        Test: fast/dom/webtiming-document-open.html
59417
59418        * page/DOMWindow.cpp:
59419        (WebCore::DOMWindow::dispatchLoadEvent):
59420
594212011-02-26  Tony Gentilcore  <tonyg@chromium.org>
59422
59423        Reviewed by Adam Barth.
59424
59425        Fix isLayoutTimerActive for ports that set a minimumLayoutDelay
59426        https://bugs.webkit.org/show_bug.cgi?id=54810
59427
59428        No new tests because no new functionality.
59429
59430        * dom/Document.cpp:
59431        (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare
59432        minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was
59433        broken by r52919. The effect would be that ports that set an extra layout delay can't yield
59434        between tokens. Note: can't be const because minimumLayoutDelay sets a member.
59435        * dom/Document.h:
59436        * html/parser/HTMLParserScheduler.cpp:
59437        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
59438        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
59439
594402011-02-26  David Dorwin  <ddorwin@chromium.org>
59441
59442        Reviewed by Darin Fisher.
59443
59444        Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
59445
59446        fullscreen javascript bindings not implemented for v8
59447        https://bugs.webkit.org/show_bug.cgi?id=44797
59448
59449        Tested by the existing fullscreen Layout Tests.
59450
59451        * WebCore.gyp/WebCore.gyp:
59452        * WebCore.gypi:
59453
594542011-02-26  Tony Gentilcore  <tonyg@chromium.org>
59455
59456        Reviewed by Adam Barth.
59457
59458        Prevent parser yields from triggering early dumpAsText()
59459        https://bugs.webkit.org/show_bug.cgi?id=55187
59460
59461        DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense()
59462        indicates the page is done. isLoadingInAPISense depends on
59463        HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an
59464        insert() or append().
59465
59466        This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or
59467        resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch
59468        fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and
59469        incrementing it in pumpTokenizer().
59470
59471        When I locally cause the parser to yield after every token, a lot of tests fail
59472        because DRT snapshots too early. This patch fixes those tests, however I'm having
59473        trouble writing a test case that reliably reproduces the problem without this patch
59474        and passes with it (without changing yield constants). This is because it requires
59475        4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which
59476        doesn't always happen).
59477
59478        * html/parser/HTMLDocumentParser.cpp:
59479        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
59480        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
59481        (WebCore::HTMLDocumentParser::processingData):
59482        (WebCore::HTMLDocumentParser::pumpTokenizer):
59483        (WebCore::HTMLDocumentParser::insert):
59484        (WebCore::HTMLDocumentParser::append):
59485        * html/parser/HTMLDocumentParser.h:
59486        (WebCore::HTMLDocumentParser::inPumpSession):
59487        (WebCore::HTMLDocumentParser::shouldDelayEnd):
59488        * html/parser/HTMLParserScheduler.h:
59489        (WebCore::PumpSession::PumpSession):
59490        * html/parser/NestingLevelIncrementer.h:
59491
594922011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
59493
59494        Reviewed by David Kilzer.
59495
59496        https://bugs.webkit.org/show_bug.cgi?id=48781
59497
59498        Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
59499
59500        Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
59501        should paint the default broken image when an image fails to load or decode.  The method also passes the
59502        URL of the failed image.
59503
59504        Test: fast/images/support-broken-image-delegate.html
59505
59506        * loader/FrameLoaderClient.h:
59507        (WebCore::FrameLoaderClient::shouldPaintBrokenImage):
59508        * loader/cache/CachedImage.cpp:
59509        (WebCore::CachedImage::CachedImage):
59510        (WebCore::CachedImage::image):
59511        (WebCore::CachedImage::checkShouldPaintBrokenImage):
59512        (WebCore::CachedImage::error):
59513        * loader/cache/CachedImage.h:
59514
595152011-02-26  Chris Evans  <cevans@chromium.org>
59516
59517        Reviewed by Adam Barth.
59518
59519        Database: Data race: should only touch the transaction queue inside the
59520        lock.
59521        https://bugs.webkit.org/show_bug.cgi?id=55031
59522
59523        * storage/Database.cpp:
59524        (WebCore::Database::changeVersion): only touch queue inside lock.
59525        (WebCore::Database::runTransaction): only touch queue inside lock.
59526
595272011-02-26  Yi Shen  <yi.4.shen@nokia.com>
59528
59529        Reviewed by Eric Carlson.
59530
59531        Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback
59532        https://bugs.webkit.org/show_bug.cgi?id=55147
59533
59534        When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback,
59535        a volumechangeEvent event should be fired if the volume gets changed.
59536
59537        Test: media/event-attributes.html
59538
59539        * html/HTMLMediaElement.cpp:
59540        (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0.
59541        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed.
59542
595432011-02-26  Eric Seidel  <eric@webkit.org>
59544
59545        Reviewed by Maciej Stachowiak.
59546
59547        disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement
59548        https://bugs.webkit.org/show_bug.cgi?id=55127
59549
59550        Before:
59551        avg 513.4
59552        median 515
59553        stdev 7.234638899074368
59554        min 490
59555        max 528
59556
59557        After:
59558        avg 508.15
59559        median 510
59560        stdev 6.966168243733426
59561        min 485
59562        max 515
59563
59564        Yes, the stdev is a bit high to actually support my conclusions.  But looking
59565        at the profile, this change makes a lot of sense.  I'll up the iterations
59566        for future testing.
59567
59568        * dom/Document.cpp:
59569        (WebCore::disableRangeMutation):
59570         - This check should only be compiled in if we're planning to run on Tiger or Leopard.
59571
595722011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
59573
59574        Reviewed by Pavel Feldman.
59575
59576        DumpRenderTree should reset frame opener between tests.
59577        https://bugs.webkit.org/show_bug.cgi?id=54874
59578
59579        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
59580
59581        * WebCore.exp.in:
59582
595832011-02-26  Chang Shu  <chang.shu@nokia.com>
59584
59585        Reviewed by Antonio Gomes.
59586
59587        Based on patch by Carlos Garcia Campos  <cgarcia@igalia.com>.
59588
59589        Spatial Navigation: Add support for <select> element in multiple selection mode
59590        https://bugs.webkit.org/show_bug.cgi?id=49261
59591
59592        When spatial navigation is enabled, use space key to toggle select
59593        items. And the up and down keys should not affect selection but just
59594        navigate through items, which is indicated visually by a focus ring.
59595
59596        New Test: fast/spatial-navigation/snav-single-select-list.html
59597        Enhanced Test: fast/spatial-navigation/snav-multiple-select.html
59598
59599        * dom/SelectElement.cpp:
59600        (WebCore::SelectElement::listBoxDefaultEventHandler):
59601        * rendering/RenderListBox.cpp:
59602        (WebCore::RenderListBox::addFocusRingRects):
59603        * rendering/RenderListBox.h:
59604
596052011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
59606
59607        Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp.
59608
59609        * editing/EditingStyle.cpp:
59610
596112011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
59612
59613        Reviewed by Darin Adler.
59614
59615        Move HTMLEquivalent and its subclasses to EditingStyle
59616        https://bugs.webkit.org/show_bug.cgi?id=55207
59617
59618        Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle,
59619        and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent,
59620        and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent,
59621        HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively.
59622
59623        Also extracted the logic to determine which element and attribute are removed
59624        as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes,
59625        and extractConflictingImplicitStyleOfAttributes.
59626
59627        * editing/ApplyStyleCommand.cpp:
59628        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
59629        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
59630        * editing/ApplyStyleCommand.h:
59631        * editing/EditingStyle.cpp:
59632        (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp.
59633        (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto.
59634        (WebCore::HTMLElementEquivalent::matches): Ditto.
59635        (WebCore::HTMLElementEquivalent::hasAttribute): Ditto.
59636        (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto.
59637        (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto.
59638        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
59639        (WebCore::HTMLElementEquivalent::addToStyle): Ditto.
59640        (WebCore::HTMLTextDecorationEquivalent::create): Ditto.
59641        (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto.
59642        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
59643        (WebCore::HTMLAttributeEquivalent::create): Ditto.
59644        (WebCore::HTMLAttributeEquivalent::matches): Ditto.
59645        (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto.
59646        (WebCore::HTMLAttributeEquivalent::attributeName): Ditto.
59647        (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto.
59648        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto.
59649        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
59650        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto.
59651        (WebCore::HTMLFontSizeEquivalent::create): Ditto.
59652        (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto.
59653        (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto.
59654        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added.
59655        (WebCore::htmlAttributeEquivalents): Added.
59656        (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added.
59657        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added.
59658        * editing/EditingStyle.h:
59659
596602011-02-25  Chris Fleizach  <cfleizach@apple.com>
59661
59662        Reviewed by Anders Carlsson.
59663
59664        AX: Add Xcode entries back to the navigator list for Accessibility cpp files
59665        https://bugs.webkit.org/show_bug.cgi?id=55280
59666
59667        * WebCore.xcodeproj/project.pbxproj:
59668
596692011-02-25  Fumitoshi Ukai  <ukai@chromium.org>
59670
59671        Reviewed by Adam Barth.
59672
59673        WebSocket uses insecure random numbers
59674        https://bugs.webkit.org/show_bug.cgi?id=54714
59675
59676        * websockets/WebSocketHandshake.cpp:
59677        (WebCore::randomNumberLessThan):
59678        (WebCore::generateSecWebSocketKey):
59679        (WebCore::generateKey3):
59680
596812011-02-25  Eric Carlson  <eric.carlson@apple.com>
59682
59683        Reviewed by Darin Adler.
59684
59685        Add API to enumerate/delete files downloaded for <audio> and <video>
59686        https://bugs.webkit.org/show_bug.cgi?id=55267
59687
59688        Add review changes missed in r79737.
59689
59690        * html/HTMLMediaElement.cpp:
59691        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference.
59692        * html/HTMLMediaElement.h:
59693        * platform/graphics/MediaPlayer.cpp:
59694        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
59695        * platform/graphics/MediaPlayer.h:
59696        * platform/graphics/MediaPlayerPrivate.h:
59697        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
59698
596992011-02-25  Eric Carlson  <eric.carlson@apple.com>
59700
59701        Reviewed by Darin Adler.
59702
59703        Add API to enumerate/delete files downloaded for <audio> and <video>
59704        https://bugs.webkit.org/show_bug.cgi?id=55267
59705        <rdar://problem/9049280>
59706
59707        No new tests, this is just the plumbing.
59708
59709        * html/HTMLMediaElement.cpp:
59710        (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer.
59711        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
59712        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
59713        * html/HTMLMediaElement.h:
59714
59715        * platform/graphics/MediaPlayer.cpp:
59716        (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine.
59717        (WebCore::MediaPlayer::clearMediaCache): Ditto.
59718        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
59719        * platform/graphics/MediaPlayer.h:
59720
59721        * platform/graphics/MediaPlayerPrivate.h:
59722        (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface.
59723        (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto.
59724        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
59725
597262011-02-25  Abhishek Arya  <inferno@chromium.org>
59727
59728        Reviewed by Dave Hyatt.
59729
59730        Don't add inline continuation outline to the containing block's
59731        continuationOutlineTable list if it is not enclosed by an anonymous block.
59732        https://bugs.webkit.org/show_bug.cgi?id=54690
59733
59734        We currently don't reconnect inline continuations after a child removal.
59735        As a result, those merged inlines do not get seperated and hence not get enclosed
59736        by anonymous blocks. In this case, it is better to bail out and paint it ourself.
59737
59738        Test: fast/table/table-continuation-outline-paint-crash.html
59739
59740        * rendering/InlineFlowBox.cpp:
59741        (WebCore::InlineFlowBox::paint):
59742        * rendering/RenderBlock.cpp:
59743        (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell
59744        if this containing block has the continuation flow in its continuations list.
59745        * rendering/RenderBlock.h: helper function definition.
59746        * rendering/RenderInline.cpp:
59747        (WebCore::RenderInline::destroy): debug only code that asserts if we leave
59748        behind a continuation in the containing block's continuation list when it is
59749        getting destroyed.
59750
597512011-02-25  David Hyatt  <hyatt@apple.com>
59752
59753        Reviewed by Adam Roben.
59754
59755        https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type
59756        from Length.
59757
59758        * css/CSSPrimitiveValue.cpp:
59759        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
59760        * platform/Length.h:
59761        (WebCore::Length::isFixed):
59762        * rendering/AutoTableLayout.cpp:
59763        (WebCore::AutoTableLayout::layout):
59764        * rendering/RenderImage.cpp:
59765        (WebCore::RenderImage::isLogicalWidthSpecified):
59766        (WebCore::RenderImage::isLogicalHeightSpecified):
59767        * rendering/RenderObject.h:
59768        (WebCore::RenderObject::markContainingBlocksForLayout):
59769        * rendering/style/RenderStyle.h:
59770        (WebCore::InheritedFlags::hasStaticX):
59771        (WebCore::InheritedFlags::hasStaticY):
59772
597732011-02-25  Brian Weinstein  <bweinstein@apple.com>
59774
59775        Windows build fix.
59776
59777        * platform/network/cf/CookieJarCFNet.cpp:
59778        (WebCore::getHostnamesWithCookies): Add a const_cast.
59779        (WebCore::deleteCookiesForHostname): Ditto.
59780
597812011-02-25  Pavel Feldman  <pfeldman@chromium.org>
59782
59783        Reviewed by Timothy Hatcher.
59784
59785        Web Inspector: Empty Elements panel after closing and reopening Inspector
59786        https://bugs.webkit.org/show_bug.cgi?id=55248
59787
59788        Fixing regression real quick. Test to follow.
59789
59790        * inspector/InspectorDOMAgent.cpp:
59791        (WebCore::InspectorDOMAgent::reset):
59792
597932011-02-25  Pavel Feldman  <pfeldman@chromium.org>
59794
59795        Not reviewed: added missing handle scope into V8InjectedScriptHostCustom.
59796        https://bugs.webkit.org/show_bug.cgi?id=55256
59797
59798        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
59799        (WebCore::InjectedScriptHost::nodeAsScriptValue):
59800        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
59801
598022011-02-25  David Hyatt  <hyatt@apple.com>
59803
59804        Reviewed by Sam Weinig.
59805
59806        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59807
59808        Make positioned objects work with all possible crazy combinations of mixed writing modes.  Added new helper
59809        functions that flip around the padding box of the containing block and then add in the appropriate border
59810        side to ensure that the offset of the positioned object is actually correctly placed in the containing block's
59811        local coordinate space.
59812
59813        Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments.
59814
59815        * rendering/RenderBox.cpp:
59816        (WebCore::computeLogicalLeftPositionedOffset):
59817        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
59818        (WebCore::computeLogicalTopPositionedOffset):
59819        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
59820        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
59821        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
59822
598232011-02-25  Brian Weinstein  <bweinstein@apple.com>
59824
59825        Reviewed by Brady Eidson and looked over by Jessie Berlin.
59826
59827        WebKit2: Need a way to manage cookies from the web process
59828        https://bugs.webkit.org/show_bug.cgi?id=55086
59829
59830        Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies,
59831        deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest),
59832        and call them from WebKit2's WebCookieManager.
59833
59834        No change in behavior needing tests.
59835
59836        * WebCore.exp.in: Added needed functions to export.
59837        * platform/CookieJar.h:
59838
59839        * platform/mac/CookieJar.mm:
59840        (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage.
59841        (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from
59842            NSHTTPCookieStorage.
59843        (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage.
59844
59845        * platform/network/cf/CookieJarCFNet.cpp:
59846        (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs.
59847        (WebCore::deleteCookiesForHostname): Ditto.
59848        (WebCore::deleteAllCookies): Ditto.
59849
59850        * platform/efl/CookieJarEfl.cpp: Added stub functions.
59851        * platform/haiku/CookieJarHaiku.cpp: Ditto.
59852        * platform/network/android/CookieJarAndroid.cpp: Ditto.
59853        * platform/network/chromium/CookieJarChromium.cpp: Ditto.
59854        * platform/network/curl/CookieJarCurl.cpp: Ditto.
59855        * platform/network/soup/CookieJarSoup.cpp: Ditto.
59856        * platform/network/win/CookieJarWin.cpp: Ditto.
59857        * platform/qt/CookieJarQt.cpp: Ditto.
59858
598592011-02-25  Eric Carlson  <eric.carlson@apple.com>
59860
59861        Reviewed by Eric Seidel.
59862
59863        'load' and 'error' events fired for @poster
59864        https://bugs.webkit.org/show_bug.cgi?id=54908
59865
59866        * html/HTMLImageLoader.cpp:
59867        (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used
59868        by a video element.
59869
598702011-02-25  David Hyatt  <hyatt@apple.com>
59871
59872        Reviewed by Sam Weinig.
59873
59874        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59875
59876        Patch computePositionedLogicalHeightReplaced to be writing-mode aware.
59877
59878        Added six new tests in fast/replaced.
59879
59880        * rendering/RenderBox.cpp:
59881        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
59882
598832011-02-25  Patrick Gansterer  <paroga@webkit.org>
59884
59885        Unreviewed build fix.
59886
59887        * platform/text/brew/TextBreakIteratorBrew.cpp:
59888        (WebCore::acquireLineBreakIterator):
59889        * platform/text/wince/TextBreakIteratorWinCE.cpp:
59890        (WebCore::acquireLineBreakIterator):
59891
598922011-02-25  Vangelis Kokkevis  <vangelis@chromium.org>
59893
59894        Reviewed by Simon Fraser.
59895
59896        Update the clip layer size whenever the root layer's size and position
59897        is updated. This only affects the accelerated compositing path.
59898        https://bugs.webkit.org/show_bug.cgi?id=55103
59899
59900        * rendering/RenderLayerCompositor.cpp:
59901        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
59902
59903        Test: platform/chromium/compositing/layout-width-change.html
59904
59905        * rendering/RenderLayerCompositor.cpp:
59906        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
59907
599082011-02-25  Ned Holbrook  <nholbrook@apple.com>
59909
59910        Reviewed by Dan Bernstein.
59911
59912        Minimize calls to ubrk_setText()
59913        https://bugs.webkit.org/show_bug.cgi?id=54912
59914        <rdar://problem/9032774>
59915
59916        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
59917        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
59918        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
59919        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
59920        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
59921
59922        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
59923        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
59924        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
59925        (WebCore::LazyLineBreakIterator::string):
59926        (WebCore::LazyLineBreakIterator::length):
59927        (WebCore::LazyLineBreakIterator::get):
59928        (WebCore::LazyLineBreakIterator::reset):
59929        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
59930        (WebCore::acquireLineBreakIterator):
59931        (WebCore::releaseLineBreakIterator):
59932        * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto.
59933        (WebCore::acquireLineBreakIterator):
59934        (WebCore::releaseLineBreakIterator):
59935        * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto.
59936        (WebCore::acquireLineBreakIterator):
59937        (WebCore::releaseLineBreakIterator):
59938        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto.
59939        (WebCore::acquireLineBreakIterator):
59940        (WebCore::releaseLineBreakIterator):
59941        * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto.
59942        (WebCore::acquireLineBreakIterator):
59943        (WebCore::releaseLineBreakIterator):
59944        * rendering/RenderBlock.h:
59945        * rendering/RenderBlockLineLayout.cpp:
59946        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
59947        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
59948        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
59949        (WebCore::RenderText::computePreferredLogicalWidths):
59950        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer.
59951        (WebCore::nextBreakablePosition):
59952        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer.
59953        (WebCore::isBreakable):
59954
599552011-02-25  David Hyatt  <hyatt@apple.com>
59956
59957        Reviewed by Sam Weinig.
59958
59959        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59960
59961        Patch computePositionedLogicalWidthReplaced to be writing-mode aware.  Not testable yet, since the height function overwrites the values
59962        in a vertical text environment.
59963
59964        * rendering/RenderBox.cpp:
59965        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
59966
599672011-02-25  Abhishek Arya  <inferno@chromium.org>
59968
59969        Reviewed by Dave Hyatt.
59970
59971        When trying to find which lines to dirty for a changed child, make sure
59972        that we do test if the adjacent next linebox contains that changed child
59973        and if yes, dirty it. This can happen in cases when we have a word break
59974        between text nodes.
59975        https://bugs.webkit.org/show_bug.cgi?id=55206
59976
59977        Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html
59978
59979        * rendering/RenderLineBoxList.cpp:
59980        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
59981
599822011-02-25  Andrey Adaikin  <aandrey@google.com>
59983
59984        Reviewed by Pavel Feldman.
59985
59986        Web Inspector: [Text editor] Add basic layout tests for the highlighter
59987        https://bugs.webkit.org/show_bug.cgi?id=54751
59988
59989        Test: inspector/editor/highlighter-basics.html
59990
59991        * inspector/front-end/TextEditorHighlighter.js:
59992        (WebInspector.TextEditorHighlighter.prototype.highlight):
59993
599942011-02-24  Alexander Pavlov  <apavlov@chromium.org>
59995
59996        Reviewed by Pavel Feldman.
59997
59998        Web Inspector: Huge fonts in font preview
59999        https://bugs.webkit.org/show_bug.cgi?id=55143
60000
60001        * inspector/front-end/FontView.js:
60002        (WebInspector.FontView.prototype._createContentIfNeeded):
60003        (WebInspector.FontView.prototype.show):
60004        (WebInspector.FontView.prototype.resize):
60005        (WebInspector.FontView.prototype._measureElement):
60006        (WebInspector.FontView.prototype.updateFontPreviewSize):
60007
600082011-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
60009
60010        Reviewed by Dirk Schulze.
60011
60012        Implement SVGColor/SVGPaint API
60013        https://bugs.webkit.org/show_bug.cgi?id=55119
60014
60015        SVGColor::cssText() shouldn't return #RRGGBBAA colors
60016        https://bugs.webkit.org/show_bug.cgi?id=48120
60017
60018        Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs.
60019        SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type.
60020        That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to
60021        their CSSValues should be reflected in the elements style as well as in the computed style.
60022        This patch doesn't yet implement that, the stubbed-out method valueChanged() is what
60023        needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue
60024        and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed).
60025        Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects.
60026
60027        Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..)
60028        Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style
60029        <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch.
60030
60031        Tests: svg/dom/SVGColor.html
60032               svg/dom/SVGPaint.html
60033
60034        * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs.
60035        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
60036        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
60037        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
60038        * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes.
60039        (WebCore::CSSParser::parseSVGValue):
60040        (WebCore::CSSParser::parseSVGPaint):
60041        (WebCore::CSSParser::parseSVGColor):
60042        * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention.
60043        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
60044        (WebCore::SVGColor::SVGColor):
60045        (WebCore::SVGColor::setRGBColor):
60046        (WebCore::SVGColor::colorFromRGBColorString):
60047        (WebCore::SVGColor::setRGBColorICCColor):
60048        (WebCore::SVGColor::setColor):
60049        (WebCore::SVGColor::cssText):
60050        * svg/SVGColor.h:
60051        (WebCore::SVGColor::createFromString):
60052        (WebCore::SVGColor::createFromColor):
60053        (WebCore::SVGColor::color):
60054        (WebCore::SVGColor::colorType):
60055        (WebCore::SVGColor::~SVGColor):
60056        (WebCore::SVGColor::setColor):
60057        (WebCore::SVGColor::setColorType):
60058        * svg/SVGColor.idl: Enable strict type checking.
60059        * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention.
60060        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
60061        (WebCore::colorTypeForPaintType):
60062        (WebCore::SVGPaint::SVGPaint):
60063        (WebCore::SVGPaint::setUri):
60064        (WebCore::SVGPaint::defaultFill):
60065        (WebCore::SVGPaint::defaultStroke):
60066        (WebCore::SVGPaint::setPaint):
60067        (WebCore::SVGPaint::cssText):
60068        (WebCore::SVGPaint::matchesTargetURI):
60069        * svg/SVGPaint.h:
60070        (WebCore::SVGPaint::createUnknown):
60071        (WebCore::SVGPaint::createNone):
60072        (WebCore::SVGPaint::createCurrentColor):
60073        (WebCore::SVGPaint::createColor):
60074        (WebCore::SVGPaint::createURI):
60075        (WebCore::SVGPaint::createURIAndColor):
60076        (WebCore::SVGPaint::paintType):
60077        (WebCore::SVGPaint::uri):
60078        (WebCore::SVGPaint::create):
60079        (WebCore::SVGPaint::isSVGPaint):
60080        * svg/SVGPaint.idl: Enable strict type checking.
60081
600822011-02-25  Renata Hodovan  <reni@webkit.org>
60083
60084        Reviewed by Nikolas Zimmermann.
60085
60086        FESpecularLightingElement changes doesn't require relayout.
60087        https://bugs.webkit.org/show_bug.cgi?id=54451
60088
60089        When the FESpecularLightingElement receives an update message but the given value remains the same we don't need
60090        to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter.
60091        Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null.
60092
60093        No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting.
60094        We only test what happens if we remove the light source of specularLight.
60095
60096        Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html
60097
60098        * platform/graphics/filters/FESpecularLighting.cpp:
60099        (WebCore::FESpecularLighting::setSurfaceScale):
60100        (WebCore::FESpecularLighting::setSpecularConstant):
60101        (WebCore::FESpecularLighting::setSpecularExponent):
60102        (WebCore::FESpecularLighting::setKernelUnitLengthX):
60103        (WebCore::FESpecularLighting::setKernelUnitLengthY):
60104        * platform/graphics/filters/FESpecularLighting.h:
60105        * rendering/svg/RenderSVGResourceFilter.cpp:
60106        (WebCore::RenderSVGResourceFilter::postApplyResource):
60107        * svg/SVGFEDiffuseLightingElement.cpp:
60108        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
60109        (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
60110        (WebCore::SVGFEDiffuseLightingElement::build):
60111        * svg/SVGFEDiffuseLightingElement.h:
60112        * svg/SVGFELightElement.cpp:
60113        (WebCore::SVGFELightElement::findLightElement):
60114        (WebCore::SVGFELightElement::findLight):
60115        (WebCore::SVGFELightElement::svgAttributeChanged):
60116        * svg/SVGFELightElement.h:
60117        * svg/SVGFESpecularLightingElement.cpp:
60118        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
60119        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
60120        (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged):
60121        (WebCore::SVGFESpecularLightingElement::build):
60122        * svg/SVGFESpecularLightingElement.h:
60123
601242011-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
60125
60126        Reviewed by Andreas Kling.
60127
60128        [Qt] Revert the support for QNAM affined to a different thread.
60129        https://bugs.webkit.org/show_bug.cgi?id=55149
60130
60131        Qt 4.8 will have QNAM use its own thread internally by default,
60132        no need to keep this complexity in WebKit.
60133
60134        This mainly reverts:
60135        http://trac.webkit.org/changeset/73710
60136        http://trac.webkit.org/changeset/73712
60137
60138        * WebCore.pro:
60139        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
60140        (WebCore::MediaPlayerPrivateQt::commitLoad):
60141        * platform/network/qt/QNetworkReplyHandler.cpp:
60142        (WebCore::FormDataIODevice::FormDataIODevice):
60143        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
60144        (WebCore::QNetworkReplyHandler::setLoadMode):
60145        (WebCore::QNetworkReplyHandler::abort):
60146        (WebCore::QNetworkReplyHandler::release):
60147        (WebCore::ignoreHttpError):
60148        (WebCore::QNetworkReplyHandler::finish):
60149        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
60150        (WebCore::QNetworkReplyHandler::forwardData):
60151        (WebCore::QNetworkReplyHandler::start):
60152        (WebCore::QNetworkReplyHandler::sendQueuedItems):
60153        * platform/network/qt/QNetworkReplyHandler.h:
60154        (WebCore::QNetworkReplyHandler::reply):
60155        * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed.
60156        * platform/network/qt/QtNAMThreadSafeProxy.h: Removed.
60157        * platform/network/qt/ResourceHandleQt.cpp:
60158        (WebCore::ResourceHandle::willLoadFromCache):
60159        * platform/qt/CookieJarQt.cpp:
60160        (WebCore::cookieJar):
60161        (WebCore::setCookies):
60162        (WebCore::cookies):
60163        (WebCore::cookieRequestHeaderFieldValue):
60164        (WebCore::cookiesEnabled):
60165
601662011-02-25  Renata Hodovan  <reni@webkit.org>
60167
60168        Reviewed by Andreas Kling.
60169
60170        FEBlendElement changes doesn't require relayout
60171        https://bugs.webkit.org/show_bug.cgi?id=55138
60172
60173        When the FEBlendElement receives an update message but the given value remains the same we don't need
60174        to relayout the filter.
60175
60176        No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend.
60177
60178        * platform/graphics/filters/FEBlend.cpp:
60179        (WebCore::FEBlend::setBlendMode):
60180        * platform/graphics/filters/FEBlend.h:
60181        * svg/SVGFEBlendElement.cpp:
60182        (WebCore::SVGFEBlendElement::setFilterEffectAttribute):
60183        (WebCore::SVGFEBlendElement::svgAttributeChanged):
60184        (WebCore::SVGFEBlendElement::synchronizeProperty):
60185        * svg/SVGFEBlendElement.h:
60186
601872011-02-24  Daniel Bates  <dbates@rim.com>
60188
60189        Reviewed by Antonio Gomes.
60190
60191        Clean up: Extract table height adjustment for <caption> into common function
60192        https://bugs.webkit.org/show_bug.cgi?id=54936
60193
60194        We use similar logic for adjusting the height of a table with respect
60195        to a top- and bottom-positioned <caption>. Instead, we should extract
60196        the common code into a shared function.
60197
60198        No functionality changed. So no new tests.
60199
60200        * rendering/RenderTable.cpp:
60201        (WebCore::RenderTable::adjustLogicalHeightForCaption): Added.
60202        (WebCore::RenderTable::layout): Extracted common code to adjust table height
60203        with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption().
60204        * rendering/RenderTable.h:
60205
602062011-02-24  James Robinson  <jamesr@chromium.org>
60207
60208        Reviewed by Kenneth Russell.
60209
60210        [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
60211        https://bugs.webkit.org/show_bug.cgi?id=55013
60212
60213        This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers.
60214        Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium
60215        tree for structure.  In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only
60216        concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish.
60217
60218        RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies.
60219
60220        Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally
60221        not added it to the include path.  We plan to add more compositor implementation details to this directory
60222        and we want to keep accidental dependencies on these files to a minimum.
60223
60224        See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture.
60225
60226        Refactor only, compositing/ tests cover these codepaths.
60227
60228        * WebCore.gypi:
60229        * platform/graphics/chromium/CanvasLayerChromium.cpp:
60230        (WebCore::CanvasLayerChromium::draw):
60231        * platform/graphics/chromium/ContentLayerChromium.cpp:
60232        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
60233        (WebCore::ContentLayerChromium::updateContentsIfDirty):
60234        (WebCore::ContentLayerChromium::draw):
60235        * platform/graphics/chromium/LayerChromium.cpp:
60236        (WebCore::LayerChromium::LayerChromium):
60237        (WebCore::LayerChromium::cleanupResources):
60238        (WebCore::LayerChromium::setLayerRenderer):
60239        (WebCore::LayerChromium::setBounds):
60240        (WebCore::LayerChromium::setFrame):
60241        (WebCore::LayerChromium::setNeedsDisplay):
60242        (WebCore::LayerChromium::setBorderColor):
60243        (WebCore::LayerChromium::borderColor):
60244        (WebCore::LayerChromium::setBorderWidth):
60245        (WebCore::LayerChromium::borderWidth):
60246        (WebCore::LayerChromium::layerRenderer):
60247        (WebCore::LayerChromium::setDoubleSided):
60248        (WebCore::LayerChromium::bounds):
60249        * platform/graphics/chromium/LayerChromium.h:
60250        (WebCore::LayerChromium::maskDrawLayer):
60251        (WebCore::LayerChromium::ccLayerImpl):
60252        * platform/graphics/chromium/LayerRendererChromium.cpp:
60253        (WebCore::LayerRendererChromium::compareLayerZ):
60254        (WebCore::LayerRendererChromium::drawLayers):
60255        (WebCore::LayerRendererChromium::updateLayersRecursive):
60256        (WebCore::LayerRendererChromium::setCompositeOffscreen):
60257        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
60258        (WebCore::LayerRendererChromium::drawLayer):
60259        * platform/graphics/chromium/LayerRendererChromium.h:
60260        * platform/graphics/chromium/PluginLayerChromium.cpp:
60261        (WebCore::PluginLayerChromium::draw):
60262        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
60263        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
60264        (WebCore::RenderSurfaceChromium::drawSurface):
60265        (WebCore::RenderSurfaceChromium::draw):
60266        * platform/graphics/chromium/RenderSurfaceChromium.h:
60267        * platform/graphics/chromium/VideoLayerChromium.cpp:
60268        (WebCore::VideoLayerChromium::drawYUV):
60269        (WebCore::VideoLayerChromium::drawRGBA):
60270        * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added.
60271        (WebCore::CCLayerImpl::CCLayerImpl):
60272        (WebCore::CCLayerImpl::~CCLayerImpl):
60273        (WebCore::CCLayerImpl::superlayer):
60274        (WebCore::CCLayerImpl::maskLayer):
60275        (WebCore::CCLayerImpl::replicaLayer):
60276        (WebCore::CCLayerImpl::setLayerRenderer):
60277        (WebCore::CCLayerImpl::createRenderSurface):
60278        (WebCore::CCLayerImpl::updateContentsIfDirty):
60279        (WebCore::CCLayerImpl::drawsContent):
60280        (WebCore::CCLayerImpl::draw):
60281        (WebCore::CCLayerImpl::unreserveContentsTexture):
60282        (WebCore::CCLayerImpl::bindContentsTexture):
60283        (WebCore::CCLayerImpl::cleanupResources):
60284        (WebCore::CCLayerImpl::getDrawRect):
60285        (WebCore::CCLayerImpl::drawDebugBorder):
60286        * platform/graphics/chromium/cc/CCLayerImpl.h: Added.
60287        (WebCore::CCLayerImpl::create):
60288        (WebCore::CCLayerImpl::setDebugBorderColor):
60289        (WebCore::CCLayerImpl::debugBorderColor):
60290        (WebCore::CCLayerImpl::setDebugBorderWidth):
60291        (WebCore::CCLayerImpl::debugBorderWidth):
60292        (WebCore::CCLayerImpl::layerRenderer):
60293        (WebCore::CCLayerImpl::renderSurface):
60294        (WebCore::CCLayerImpl::clearRenderSurface):
60295        (WebCore::CCLayerImpl::drawDepth):
60296        (WebCore::CCLayerImpl::setDrawDepth):
60297        (WebCore::CCLayerImpl::drawOpacity):
60298        (WebCore::CCLayerImpl::setDrawOpacity):
60299        (WebCore::CCLayerImpl::scissorRect):
60300        (WebCore::CCLayerImpl::setScissorRect):
60301        (WebCore::CCLayerImpl::targetRenderSurface):
60302        (WebCore::CCLayerImpl::setTargetRenderSurface):
60303        (WebCore::CCLayerImpl::doubleSided):
60304        (WebCore::CCLayerImpl::setDoubleSided):
60305        (WebCore::CCLayerImpl::bounds):
60306        (WebCore::CCLayerImpl::setBounds):
60307        (WebCore::CCLayerImpl::drawTransform):
60308        (WebCore::CCLayerImpl::setDrawTransform):
60309        (WebCore::CCLayerImpl::drawableContentRect):
60310        (WebCore::CCLayerImpl::setDrawableContentRect):
60311
603122011-02-24  Dan Bernstein  <mitz@apple.com>
60313
60314        Reviewed by Simon Fraser.
60315
60316        REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered
60317        https://bugs.webkit.org/show_bug.cgi?id=55197
60318
60319        * rendering/RenderBlockLineLayout.cpp:
60320        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even
60321        if there are no expansion opportunities. This allows RenderRubyBase to center itself.
60322
603232011-02-24  Darin Adler  <darin@apple.com>
60324
60325        Reviewed by Alexey Proskuryakov.
60326
60327        REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions
60328        https://bugs.webkit.org/show_bug.cgi?id=55135
60329
60330        * platform/text/TextCodecUTF8.cpp:
60331        (WebCore::TextCodecUTF8::decode): Removed incorrect assertions.
60332
603332011-02-24  Darin Adler  <darin@apple.com>
60334
60335        Reviewed by Anders Carlsson.
60336
60337        WebKit2: Image-based cursors do not work
60338        https://bugs.webkit.org/show_bug.cgi?id=55184
60339
60340        * WebCore.exp.in: Exported new entry points now used by WebKit2.
60341
603422011-02-24  Matthew Delaney  <mdelaney@apple.com>
60343
60344        Reviewed by Simon Fraser.
60345
60346        ImageBuffer::clip creates an image of the incorrect context in IOSurface case
60347        https://bugs.webkit.org/show_bug.cgi?id=55170
60348
60349        Test: fast/canvas/2d.fillText.gradient.html
60350
60351        * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context
60352        instead of ourself (the passed in context).
60353
603542011-02-24  Simon Fraser  <simon.fraser@apple.com>
60355
60356        Reviewed by Dan Bernstein.
60357
60358        RenderBoxModelObject::paintBoxShadow should bail earlier
60359        https://bugs.webkit.org/show_bug.cgi?id=55186
60360
60361        Make paintBoxShadow() bail early if there is no shadow, and make
60362        callers consistent in not checking for box-shadow before calling it.
60363
60364        * rendering/InlineFlowBox.cpp:
60365        (WebCore::InlineFlowBox::paintBoxDecorations):
60366        * rendering/RenderBoxModelObject.cpp:
60367        (WebCore::RenderBoxModelObject::paintBoxShadow):
60368        * rendering/RenderTableCell.cpp:
60369        (WebCore::RenderTableCell::paintBoxDecorations):
60370
603712011-02-24  James Robinson  <jamesr@chromium.org>
60372
60373        Reviewed by Darin Fisher.
60374
60375        Add a USE() macro to control use of the built-in UTF8 codec
60376        https://bugs.webkit.org/show_bug.cgi?id=55189
60377
60378        Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set.
60379
60380        * platform/text/TextCodecICU.cpp:
60381        (WebCore::TextCodecICU::registerEncodingNames):
60382        * platform/text/TextEncodingRegistry.cpp:
60383        (WebCore::buildBaseTextCodecMaps):
60384
603852011-02-24  Dan Bernstein  <mitz@apple.com>
60386
60387        Reviewed by Dave Hyatt.
60388
60389        <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text
60390        https://bugs.webkit.org/show_bug.cgi?id=55183
60391
60392        Test: fast/ruby/base-shorter-than-text.html
60393
60394        * rendering/RenderBlock.cpp:
60395        (WebCore::RenderBlock::availableLogicalWidthForLine):
60396        * rendering/RenderBlock.h:
60397        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing.
60398        * rendering/RenderBlockLineLayout.cpp:
60399        (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for
60400        the last line or a line that ends with a hard break.
60401        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available
60402        width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines.
60403        * rendering/RenderRubyBase.cpp:
60404        (WebCore::RenderRubyBase::rubyRun): Added.
60405        (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify".
60406        (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is
60407        half the width of a single intra-line expansion.
60408        * rendering/RenderRubyBase.h:
60409        * rendering/RenderRubyRun.cpp:
60410        (WebCore::RenderRubyRun::addChild):
60411
604122011-02-24  James Robinson  <jamesr@chromium.org>
60413
60414        Unreviewed, rolling out r79604.
60415        http://trac.webkit.org/changeset/79604
60416        https://bugs.webkit.org/show_bug.cgi?id=55017
60417
60418        Causes assertions to fail on some SVG tests
60419
60420        * svg/graphics/SVGImage.cpp:
60421        (WebCore::SVGImage::dataChanged):
60422
604232011-02-24  Oliver Hunt  <oliver@apple.com>
60424
60425        Build fix
60426
60427        * bindings/js/JSBindingsAllInOne.cpp:
60428
604292011-02-24  David Hyatt  <hyatt@apple.com>
60430
60431        Reviewed by Simon Fraser.
60432
60433        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
60434
60435        Rework the logical height computation for positioned elements to work in terms of before and after.  That way the offset is determined from
60436        the correct container side in flipped block writing modes (e.g., vertical-rl).
60437
60438        Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned
60439        elements.
60440
60441        Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly.
60442
60443        Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr.
60444
60445        * rendering/RenderBox.cpp:
60446        (WebCore::RenderBox::offsetFromContainer):
60447        (WebCore::RenderBox::computePositionedLogicalHeight):
60448        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
60449        (WebCore::RenderBox::locationOffsetIncludingFlipping):
60450        * rendering/style/RenderStyle.h:
60451        (WebCore::InheritedFlags::logicalTop):
60452        (WebCore::InheritedFlags::logicalBottom):
60453
604542011-02-23  Oliver Hunt  <oliver@apple.com>
60455
60456        Reviewed by Geoffrey Garen.
60457
60458        Make WeakGCMap use new handle infrastructure
60459        https://bugs.webkit.org/show_bug.cgi?id=55100
60460
60461        Update to new WeakGCMap APIs, this requires threading global
60462        data to a few functions that did not need it in the past, but
60463        also gets rid of a large number of destructors, as well as the
60464        forgetDOMNode, etc APIs.
60465
60466        We can also drop the JSDebugWrapperSet as its only purpose was
60467        to ensure that we retained correct semantics in the old WeakGCMap,
60468        but happilly these semantics are now guaranteed by the map itself.
60469
60470        * CMakeLists.txt:
60471        * GNUmakefile.am:
60472        * WebCore.gypi:
60473        * WebCore.pro:
60474        * WebCore.vcproj/WebCore.vcproj:
60475        * WebCore.xcodeproj/project.pbxproj:
60476        * bindings/js/JSDOMBinding.cpp:
60477        (WebCore::hasCachedDOMObjectWrapperUnchecked):
60478        (WebCore::cacheDOMObjectWrapper):
60479        (WebCore::hasCachedDOMNodeWrapperUnchecked):
60480        (WebCore::cacheDOMNodeWrapper):
60481        (WebCore::isObservableThroughDOM):
60482        (WebCore::markDOMNodesForDocument):
60483        (WebCore::takeWrappers):
60484        (WebCore::updateDOMNodeDocument):
60485        (WebCore::markDOMObjectWrapper):
60486        (WebCore::markDOMNodeWrapper):
60487        (WebCore::stringWrapperDestroyed):
60488        (WebCore::jsStringSlowCase):
60489        * bindings/js/JSDOMBinding.h:
60490        * bindings/js/JSDOMWrapper.cpp:
60491        (WebCore::DOMObject::~DOMObject):
60492        * bindings/js/JSDebugWrapperSet.cpp: Removed.
60493        * bindings/js/JSDebugWrapperSet.h: Removed.
60494        * bindings/scripts/CodeGeneratorJS.pm:
60495        * bridge/jsc/BridgeJSC.cpp:
60496        (JSC::Bindings::Instance::createRuntimeObject):
60497        * bridge/jsc/BridgeJSC.h:
60498        * bridge/runtime_object.cpp:
60499        (JSC::Bindings::RuntimeObject::~RuntimeObject):
60500        * bridge/runtime_root.cpp:
60501        (JSC::Bindings::RootObject::invalidate):
60502        (JSC::Bindings::RootObject::addRuntimeObject):
60503        (JSC::Bindings::RootObject::removeRuntimeObject):
60504        * bridge/runtime_root.h:
60505
605062011-02-24  James Robinson  <jamesr@chromium.org>
60507
60508        Fix chromium compile.
60509
60510        * bindings/v8/custom/V8LocationCustom.cpp:
60511        (WebCore::V8Location::toStringCallback):
60512
605132011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60514
60515        Unreviewed, rolling out r79607.
60516        http://trac.webkit.org/changeset/79607
60517        https://bugs.webkit.org/show_bug.cgi?id=55157
60518
60519        Broke Chromium layout tests.
60520
60521        * html/shadow/MediaControls.cpp:
60522        (WebCore::MediaControls::updateVolumeSliderContainer):
60523        * rendering/RenderMediaControls.cpp:
60524        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
60525        * rendering/RenderMediaControls.h:
60526        * rendering/RenderTheme.cpp:
60527        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
60528        * rendering/RenderTheme.h:
60529        * rendering/RenderThemeChromiumMac.h:
60530        * rendering/RenderThemeChromiumMac.mm:
60531        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
60532        * rendering/RenderThemeMac.h:
60533        * rendering/RenderThemeMac.mm:
60534        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
60535        * rendering/RenderThemeWin.cpp:
60536        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
60537        * rendering/RenderThemeWin.h:
60538
605392011-02-24  Anders Carlsson  <andersca@apple.com>
60540
60541        Reviewed by Sam Weinig.
60542
60543        Fix the clang -Woverloaded-virtual build.
60544
60545        JSLocation has a toString function which conflicts with the virtual JSObject::toString  member function.
60546        Fix this by renaming the implementation function from JSLocation::toString to JSLocation::toStringFunction.
60547
60548        * bindings/js/JSLocationCustom.cpp:
60549        (WebCore::JSLocation::toStringFunction):
60550        * bindings/v8/custom/V8LocationCustom.cpp:
60551        (WebCore::V8Location::toStringFunctionCallback):
60552        * page/Location.idl:
60553
605542011-02-24  Anders Carlsson  <andersca@apple.com>
60555
60556        Fix clang build.
60557
60558        * bindings/objc/WebScriptObject.mm:
60559        (-[WebUndefined release]):
60560        Release should be "oneway void".
60561
60562        (-[WebUndefined retainCount]):
60563        Return NSUIntegerMax instead of UINT_MAX.
60564
605652011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60566
60567        Reviewed by Darin Adler.
60568
60569        Simplify RenderTheme::volumeSliderOffsetFromMuteButton, unduplicate code.
60570        https://bugs.webkit.org/show_bug.cgi?id=55157
60571
60572        Refactoring, no functional changes. Covered by existing tests.
60573
60574        RenderTheme::volumeSliderOffsetFromMuteButton has the same duplicated
60575        logic for all platforms. This patch:
60576        a) moves the common logic of determining absolute positioning to a
60577           platform-agnostic place;
60578        b) simplifies the method to return constant offset.
60579
60580        * html/shadow/MediaControls.cpp:
60581        (WebCore::volumeSliderOffset): Added new helper function,
60582            capturing common logic of finding the absolute position of the volume slider.
60583        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to use the
60584            new helper.
60585        * rendering/RenderMediaControls.cpp:
60586        (WebCore::RenderMediaControls::volumeSliderOffsetRelativeToMuteButton): Simplified.
60587        * rendering/RenderMediaControls.h: Ditto.
60588        * rendering/RenderTheme.cpp:
60589        (WebCore::RenderTheme::volumeSliderOffsetRelativeToMuteButton): Ditto.
60590        * rendering/RenderTheme.h: Ditto.
60591        * rendering/RenderThemeChromiumMac.h: Ditto.
60592        * rendering/RenderThemeChromiumMac.mm: Ditto.
60593        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
60594        * rendering/RenderThemeMac.h: Ditto.
60595        * rendering/RenderThemeMac.mm: Ditto.
60596        (WebCore::RenderThemeMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
60597        * rendering/RenderThemeWin.cpp: Ditto.
60598        (WebCore::RenderThemeWin::volumeSliderOffsetRelativeToMuteButton): Ditto.
60599        * rendering/RenderThemeWin.h: Ditto.
60600
606012011-02-24  Tom Sepez  <tsepez@chromium.org>
60602
60603        Reviewed by Darin Fisher.
60604
60605        Make frameview resized event dispatch async so that it occurs
60606        after layout has completed.
60607
60608        https://bugs.webkit.org/show_bug.cgi?id=54467
60609        Test: fast/replaced/frame-removed-during-resize-smaller.html
60610
60611        * page/EventHandler.cpp:
60612        (WebCore::EventHandler::sendResizeEvent):
60613
606142011-02-24  Xianzhu Wang  <wangxianzhu@google.com>
60615
60616        Reviewed by Adam Barth.
60617
60618        Use loader->init() instead of loader->load() to avoid complex fake
60619        request loading and cleanup logic, and also avoid ResourceLoader leaks.
60620
60621        https://bugs.webkit.org/show_bug.cgi?id=55017
60622
60623        Test: svg/misc/SVGImage-leak-ResourceLoader.html
60624
60625        * svg/graphics/SVGImage.cpp:
60626        (WebCore::SVGImage::dataChanged):
60627
606282011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60629
60630        Chromium Mac build fix after r79591.
60631
60632        * WebCore.gypi: Added RenderMediaControls to WebCore.gypi.
60633
606342011-02-24  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
60635
60636        Reviewed by Andreas Kling.
60637
60638        [Qt] Dont use QPixmapCache if QPixmapCache::cacheLimit() is too small
60639        (2048Kb for now).
60640        https://bugs.webkit.org/show_bug.cgi?id=54887
60641
60642        No new tests required.
60643
60644        * platform/graphics/qt/GraphicsLayerQt.cpp:
60645        (WebCore::GraphicsLayerQtImpl::allowAcceleratedCompositingCache):
60646        (WebCore::GraphicsLayerQtImpl::drawLayerContent):
60647        (WebCore::GraphicsLayerQtImpl::paint):
60648        (WebCore::GraphicsLayerQtImpl::flushChanges):
60649
606502011-02-20  Martin Robinson  <mrobinson@igalia.com>
60651
60652        Reviewed by Nikolas Zimmermann.
60653
60654        [CAIRO] Support ImageBuffers clip operation on all Cairo ports
60655        https://bugs.webkit.org/show_bug.cgi?id=23526
60656
60657        Add support for ImageBuffer clipping on Cairo by emulating them with image
60658        masks. Since masking is immediate on Cairo, we must store the mask surfaces
60659        on a stack and apply them during restorePlatformState.
60660
60661        * platform/graphics/GraphicsContext.h: Add pushImageMask.
60662        * platform/graphics/cairo/GraphicsContextCairo.cpp:
60663        (WebCore::GraphicsContext::savePlatformState): Push an empty mask onto the
60664        stack, so we can keep track of when to actually apply the image mask.
60665        (WebCore::GraphicsContext::restorePlatformState): When we are ready to apply
60666        an image mask, use cairo_mask_surface to mask the group that we pushed onto
60667        our surface.
60668        (WebCore::GraphicsContext::pushImageMask): Added. This method will push a surface
60669        onto the image mask stack and push a group onto the Cairo state, so that the masking
60670        only affects what we paint after this point.
60671        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Added a class to keep
60672        track of image masking information after calls to pushImageMask.
60673        (WebCore::ImageMaskInformation::update): Added
60674        (WebCore::ImageMaskInformation::valid): Added
60675        (WebCore::ImageMaskInformation::maskSurface): Added
60676        (WebCore::ImageMaskInformation::maskRect): Added
60677        * platform/graphics/cairo/ImageBufferCairo.cpp:
60678        (WebCore::ImageBuffer::clip): Call GraphicsContext::pushImageMask.
60679
606802011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60681
60682        Reviewed by Eric Carlson.
60683
60684        Add RenderMediaControls to Mac build, unduplicate one method.
60685        https://bugs.webkit.org/show_bug.cgi?id=55152
60686
60687        Refactoring, no functional changes.
60688
60689        * WebCore.xcodeproj/project.pbxproj: Added RenderMediaControls to project,
60690            ran sort-XCode-project-file.
60691        * rendering/RenderMediaControls.cpp: Moved ENABLE(VIDEO) and PLATFORM(WIN)
60692            defines to allow building on Mac.
60693        * rendering/RenderMediaControls.h: Ditto.
60694        * rendering/RenderThemeMac.mm:
60695        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Replaced guts
60696            with a call to RenderMediaControls function.
60697
606982011-02-24  James Robinson  <jamesr@chromium.org>
60699
60700        Unreviewed, rolling out r79584.
60701        http://trac.webkit.org/changeset/79584
60702        https://bugs.webkit.org/show_bug.cgi?id=44797
60703
60704        [chromium] Patch does not compile if ENABLE_FULLSCREEN_API is
60705        not set
60706
60707        * WebCore.gyp/WebCore.gyp:
60708        * WebCore.gypi:
60709
607102011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
60711
60712        Reviewed by Martin Robinson.
60713
60714        Do not cache the default cairo font options using a static
60715        variable. It fixes a memory leak reported by valgrind.
60716
60717        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
60718        (WebCore::getDefaultFontOptions):
60719        (WebCore::FontPlatformData::initializeWithFontFace):
60720
607212011-02-24  Andrew Wilson  <atwilson@chromium.org>
60722
60723        Unreviewed, rolling out r79570.
60724        http://trac.webkit.org/changeset/79570
60725        https://bugs.webkit.org/show_bug.cgi?id=54874
60726
60727        Breaks chromium build because glue/mocks/mock_web_frame.h/cc
60728        was not updated
60729
60730        * WebCore.exp.in:
60731
607322011-02-24  David Dorwin  <ddorwin@chromium.org>
60733
60734        Reviewed by Eric Seidel.
60735
60736        Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
60737
60738        fullscreen javascript bindings not implemented for v8
60739        https://bugs.webkit.org/show_bug.cgi?id=44797
60740
60741        Tested by the existing fullscreen Layout Tests.
60742
60743        * WebCore.gyp/WebCore.gyp:
60744        * WebCore.gypi:
60745
607462011-02-24  Pavel Feldman  <pfeldman@chromium.org>
60747
60748        Reviewed by Yury Semikhatsky.
60749
60750        Web Inspector: move querySelectorAll from CSS agent to DOM agent where it belongs.
60751        https://bugs.webkit.org/show_bug.cgi?id=55131
60752
60753        Test: inspector/elements/dom-agent-query-selector.html
60754
60755        * inspector/Inspector.idl:
60756        * inspector/InspectorCSSAgent.cpp:
60757        * inspector/InspectorCSSAgent.h:
60758        * inspector/InspectorDOMAgent.cpp:
60759        (WebCore::InspectorDOMAgent::nodeToSelectOn):
60760        (WebCore::InspectorDOMAgent::querySelector):
60761        (WebCore::InspectorDOMAgent::querySelectorAll):
60762        * inspector/InspectorDOMAgent.h:
60763        * inspector/front-end/AuditRules.js:
60764        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
60765        * inspector/front-end/CSSStyleModel.js:
60766        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
60767        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
60768        (WebInspector.CSSStyleModel.prototype.addRule.callback):
60769        (WebInspector.CSSStyleModel.prototype.addRule):
60770
607712011-02-24  Eric Seidel  <eric@webkit.org>
60772
60773        Reviewed by Adam Barth.
60774
60775        Fragment parsing does not need to use HTMLSourceTracker
60776        https://bugs.webkit.org/show_bug.cgi?id=55011
60777
60778        Any performance gains from this patch are likely
60779        the result of working around:
60780        https://bugs.webkit.org/show_bug.cgi?id=55005
60781        (Which suggests that fixing bug 55005 will speed
60782        up normal HTML parsing substantially.)
60783
60784        Assuming I ran the numbers correct, here is the
60785        change from PerformanceTests/Parser/tiny-innerHTML:
60786        Before patch:
60787        avg 5586.1
60788        median 5594
60789        stdev 41.295157101045135
60790        min 5425
60791        max 5633
60792
60793        After Patch:
60794        avg 2603.9
60795        median 2609.5
60796        stdev 32.500615378789355
60797        min 2475
60798        max 2649
60799
60800        Removing just the HTMLSourceTracker calls brought our
60801        score from 5500 to 5200, removing the XSSFilter as well
60802        brought it to 2600 on my machine.
60803
60804        * html/parser/HTMLDocumentParser.cpp:
60805        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
60806        (WebCore::HTMLDocumentParser::pumpTokenizer):
60807        * html/parser/HTMLDocumentParser.h:
60808
608092011-02-24   Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
60810
60811        Reviewed by Martin Robinson.
60812
60813        [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
60814        https://bugs.webkit.org/show_bug.cgi?id=48510
60815
60816        Exported static functions for GTK, we need them to create events
60817        in WebKit2.
60818
60819        * platform/PlatformKeyboardEvent.h:
60820        * platform/gtk/KeyEventGtk.cpp:
60821        (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
60822        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
60823        (WebCore::PlatformKeyboardEvent::singleCharacterString):
60824
608252011-02-24  Martin Robinson  <mrobinson@igalia.com>
60826
60827        Reviewed by Xan Lopez.
60828
60829        [GTK] Remove the GFile GOwnPtr specialization
60830        https://bugs.webkit.org/show_bug.cgi?id=55154
60831
60832        Convert uses of GOwnPtr<GFile> to GRefPtr<GFile>.
60833
60834        No new tests. This should not change behavior.
60835
60836        * plugins/gtk/PluginPackageGtk.cpp: Fix include order and remove unnecessary include.
60837        (WebCore::PluginPackage::load): Use GRefPtr for GFile instead of GOwnPtr.
60838
608392011-02-24  Patrick Gansterer  <paroga@webkit.org>
60840
60841        Reviewed by Eric Seidel.
60842
60843        Rename PLATFORM(SKIA) to USE(SKIA)
60844        https://bugs.webkit.org/show_bug.cgi?id=55090
60845
60846        * config.h: Removed second define of PLATFORM(SKIA).
60847        * html/HTMLCanvasElement.cpp:
60848        * platform/graphics/FloatPoint.h:
60849        * platform/graphics/FloatRect.h:
60850        * platform/graphics/Gradient.cpp:
60851        * platform/graphics/Gradient.h:
60852        * platform/graphics/GraphicsContext.cpp:
60853        * platform/graphics/GraphicsContext.h:
60854        * platform/graphics/ImageSource.h:
60855        * platform/graphics/IntPoint.h:
60856        * platform/graphics/IntRect.h:
60857        * platform/graphics/Path.h:
60858        * platform/graphics/Pattern.cpp:
60859        * platform/graphics/Pattern.h:
60860        * platform/graphics/chromium/ContentLayerChromium.cpp:
60861        * platform/graphics/chromium/ContentLayerChromium.h:
60862        * platform/graphics/chromium/GLES2Canvas.cpp:
60863        * platform/graphics/chromium/ImageLayerChromium.cpp:
60864        * platform/graphics/chromium/LayerChromium.cpp:
60865        * platform/graphics/chromium/LayerRendererChromium.cpp:
60866        * platform/graphics/chromium/LayerRendererChromium.h:
60867        * platform/graphics/chromium/LayerTilerChromium.cpp:
60868        * platform/graphics/chromium/ShaderChromium.h:
60869        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
60870        * platform/graphics/transforms/AffineTransform.h:
60871        * platform/graphics/transforms/TransformationMatrix.h:
60872        * platform/image-decoders/ImageDecoder.cpp:
60873        * platform/image-decoders/ImageDecoder.h:
60874        * rendering/svg/RenderSVGResourceSolidColor.cpp:
60875
608762011-02-24  Pavel Feldman  <pfeldman@chromium.org>
60877
60878        Reviewed by Yury Semikhatsky.
60879
60880        Web Inspector: follow up to 79566. USE_PARAM not declared
60881        https://bugs.webkit.org/show_bug.cgi?id=55155
60882
60883        * bindings/js/JSInjectedScriptHostCustom.cpp:
60884        (WebCore::JSInjectedScriptHost::currentCallFrame):
60885        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
60886        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
60887
608882011-02-24  Emil A Eklund  <eae@chromium.org>
60889
60890        Reviewed by Simon Fraser.
60891
60892        Add support for missing properties to getComputedStyle
60893        https://bugs.webkit.org/show_bug.cgi?id=23668
60894
60895        Implement getComputedStyle for the content, counter and outline-offset
60896        properties.
60897
60898        Test: fast/css/getComputedStyle/computed-style-properties.html
60899
60900        * css/CSSComputedStyleDeclaration.cpp:
60901        (WebCore::contentToCSSValue):
60902        (WebCore::counterToCSSValue):
60903        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60904        * css/CSSPrimitiveValue.cpp:
60905        (WebCore::CSSPrimitiveValue::cssText):
60906        * css/CSSPrimitiveValue.h:
60907
609082011-02-24  Eric Seidel  <eric@webkit.org>
60909
60910        Reviewed by Adam Barth.
60911
60912        SegmentedString does not need an m_composite member
60913        https://bugs.webkit.org/show_bug.cgi?id=55083
60914
60915        Storing m_composite as distinct from m_substrings.isEmpty()
60916        was just error prone and eventually going to get us in trouble.
60917
60918        I also cleaned up some of the style in SegementedString.*
60919        since this file long predates check-webkit-style.
60920
60921        * platform/text/SegmentedString.cpp:
60922        (WebCore::SegmentedString::SegmentedString):
60923        (WebCore::SegmentedString::operator=):
60924        (WebCore::SegmentedString::length):
60925        (WebCore::SegmentedString::setExcludeLineNumbers):
60926        (WebCore::SegmentedString::clear):
60927        (WebCore::SegmentedString::append):
60928        (WebCore::SegmentedString::prepend):
60929        (WebCore::SegmentedString::advanceSubstring):
60930        (WebCore::SegmentedString::toString):
60931        * platform/text/SegmentedString.h:
60932        (WebCore::SegmentedSubstring::SegmentedSubstring):
60933        (WebCore::SegmentedSubstring::appendTo):
60934        (WebCore::SegmentedString::SegmentedString):
60935        (WebCore::SegmentedString::isComposite):
60936
609372011-02-24  David Kilzer  <ddkilzer@apple.com>
60938
60939        BUILD FIX: Add missing include for UnusedParam.h
60940
60941        Not reviewed.
60942
60943        * platform/mac/FileSystemMac.mm: Add include.  It should have
60944        originally been added with r76614.
60945
609462011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
60947
60948        Reviewed by Alexey Proskuryakov.
60949
60950        DumpRenderTree should reset frame opener between tests.
60951        https://bugs.webkit.org/show_bug.cgi?id=54874
60952
60953        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
60954
60955        * WebCore.exp.in:
60956
609572011-02-24  Dirk Schulze  <krit@webkit.org>
60958
60959        Reviewed by Darin Adler.
60960
60961        Removing a SVG animation target during animation crashes WebKit
60962        https://bugs.webkit.org/show_bug.cgi?id=12065
60963
60964        SVGAnimations with IRI references via 'xlink:href' are slow
60965        https://bugs.webkit.org/show_bug.cgi?id=49437
60966
60967        Store reference to target element for SVG animation elements. This is important if the
60968        target gets referenced via 'xlink:href'. At the moment we would call getElementById() multiple
60969        times on every animation step. A very expensive operation. This will be avoided with this patch.
60970        On the other hand, we need to be sure that the target element is always valid. The reference is
60971        reset, if the target was removed from document or its destructor was called. A HashMap in
60972        SVGDocumentExtensions stores all mappings from target element to all current animation elements.
60973
60974        Tests: svg/custom/animate-target-id-changed.svg
60975               svg/custom/animate-target-removed-from-document.svg
60976
60977        * svg/SVGDocumentExtensions.cpp:
60978        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
60979        (WebCore::SVGDocumentExtensions::addAnimationElementToTarget): New animation gets applied to target.
60980        (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): Animation stoped, remove it from HashMap.
60981        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): Target no longer in document, reset all
60982        references in SVG animation elements.
60983        * svg/SVGDocumentExtensions.h:
60984        * svg/SVGElement.cpp:
60985        (WebCore::SVGElement::~SVGElement):
60986        (WebCore::SVGElement::removedFromDocument):
60987        (WebCore::SVGElement::attributeChanged):
60988        * svg/SVGElement.h:
60989        * svg/SVGHKernElement.cpp:
60990        (WebCore::SVGHKernElement::removedFromDocument):
60991        * svg/SVGVKernElement.cpp:
60992        (WebCore::SVGVKernElement::removedFromDocument):
60993        * svg/animation/SVGSMILElement.cpp:
60994        (WebCore::SVGSMILElement::SVGSMILElement):
60995        (WebCore::SVGSMILElement::removedFromDocument):
60996        (WebCore::SVGSMILElement::eventBaseFor):
60997        (WebCore::SVGSMILElement::targetElement):
60998        * svg/animation/SVGSMILElement.h:
60999        (WebCore::SVGSMILElement::resetTargetElement):
61000
610012011-02-24  Simon Fraser  <simon.fraser@apple.com>
61002
61003        Reviewed by Eric Seidel.
61004
61005        REGRESSION: Accelerated transitions are jumpy
61006        https://bugs.webkit.org/show_bug.cgi?id=55022
61007
61008        When an accelerated transition used the default timing function,
61009        a typo in toCAMediaTimingFunction() resulting in the incorrect
61010        timing function being used.
61011
61012        Test: transitions/default-timing-function.html
61013
61014        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
61015        (toCAMediaTimingFunction):
61016
610172011-02-24  Andreas Kling  <kling@webkit.org>
61018
61019        Reviewed by Kenneth Rohde Christiansen.
61020
61021        [Qt] Remove bogus optimizations in TextBreakIteratorQt
61022        https://bugs.webkit.org/show_bug.cgi?id=55139
61023
61024        Let QTextBoundaryFinder hold a deep copy of the string data it's
61025        operating on, and don't use the same working buffer for all iterators.
61026
61027        * platform/text/qt/TextBreakIteratorQt.cpp:
61028        (WebCore::TextBreakIterator::TextBreakIterator):
61029        (WebCore::setUpIterator):
61030
610312011-02-24  Andrey Adaikin  <aandrey@google.com>
61032
61033        Reviewed by Pavel Feldman.
61034
61035        Web Inspector: [Text editor] Bug in the highlighter
61036        https://bugs.webkit.org/show_bug.cgi?id=54876
61037
61038        Tests: inspector/editor/highlighter-long-line.html
61039               inspector/editor/highlighter-paste-in-comment.html
61040
61041        * inspector/front-end/TextEditorHighlighter.js:
61042        (WebInspector.TextEditorHighlighter):
61043        (WebInspector.TextEditorHighlighter.prototype.set highlightChunkLimit):
61044        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
61045        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
61046
610472011-02-24  James Simonsen  <simonjam@chromium.org>
61048
61049        Reviewed by Tony Gentilcore.
61050
61051        [Web Timing] Zero out navigationStart and unloadEvent on cross-origin redirect
61052        https://bugs.webkit.org/show_bug.cgi?id=55068
61053
61054        Test: http/tests/misc/webtiming-origins.html
61055
61056        * page/PerformanceTiming.cpp:
61057        (WebCore::PerformanceTiming::navigationStart): Zero out on cross origin redirect.
61058        (WebCore::PerformanceTiming::unloadEventStart): Ditto.
61059        (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
61060
610612011-02-24  Adam Klein  <adamk@chromium.org>
61062
61063        Reviewed by Darin Fisher.
61064
61065        [chromium] Add code to WebKit Chromium to allow access to NetworkStateNotifier
61066        https://bugs.webkit.org/show_bug.cgi?id=54516
61067
61068        Give Chromium's NetworkStateNotifier the ability to change the value
61069        of m_isOnLine, rather than making it always true.
61070
61071        No new tests, not sure how to test this. No other LayoutTests seem
61072        to exercise navigator.onLine.
61073
61074        * WebCore.gypi:
61075        * platform/network/NetworkStateNotifier.cpp:
61076        (WebCore::NetworkStateNotifier::setOnLine): Moved and renamed from NetworkStateNotifierAndroid.
61077        * platform/network/NetworkStateNotifier.h:
61078        (WebCore::NetworkStateNotifier::networkStateChange): Forward to setOnLine.
61079        * platform/network/android/NetworkStateNotifierAndroid.cpp: Removed.
61080        * platform/network/chromium/NetworkStateNotifierChromium.cpp: Removed.
61081        * platform/network/chromium/NetworkStateNotifierPrivate.h: Removed.
61082
610832011-02-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
61084
61085        Reviewed by Eric Seidel.
61086
61087        Support building WebKit with Python 3
61088        https://bugs.webkit.org/show_bug.cgi?id=55038
61089
61090        Add support for Python 3 without breaking support for Python 2.
61091
61092        Main issues:
61093        -print is a function in Python 3
61094        -list.sort() no longer have the cmp parameter
61095        -string.uppercase and string.lowercase have been removed
61096
61097        * html/parser/create-html-entity-table:
61098
610992011-02-24  Chris Fleizach  <cfleizach@apple.com>
61100
61101        Reviewed by Eric Seidel.
61102
61103        AX: WebKit should expose MathML at least as well as it exposes ARIA role="math"
61104        https://bugs.webkit.org/show_bug.cgi?id=55049
61105
61106        Make <math> elements behave as ARIA math roles and use MathML::alttext as a
61107        possible accessible label.
61108
61109        Test: platform/mac/accessibility/math-alttext.html
61110
61111        * accessibility/AccessibilityRenderObject.cpp:
61112        (WebCore::AccessibilityRenderObject::accessibilityDescription):
61113        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
61114        * mathml/mathattrs.in:
61115
611162011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
61117
61118        Reviewed by Pavel Feldman.
61119
61120        Web Inspector: adjust protocol message format according to spec.
61121        https://bugs.webkit.org/show_bug.cgi?id=55140
61122
61123        * inspector/CodeGeneratorInspector.pm:
61124
611252011-02-24  Adam Roben  <aroben@apple.com>
61126
61127        Windows Production build fix
61128
61129        * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
61130        <rdar://problem/9042114>.
61131
611322011-02-23  Pavel Feldman  <pfeldman@chromium.org>
61133
61134        Reviewed by Yury Semikhatsky.
61135
61136        Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
61137        https://bugs.webkit.org/show_bug.cgi?id=55057
61138
61139        Test: inspector/console/command-line-api-inspect.html
61140
61141        I am working on getting rid of DOM agent pushes - everything should happen upon
61142        front-end request. This patch changes the way we handle inspect() command line
61143        api: instead of pushing nodes, we are telling front-end that inspect(object) has
61144        been requested. It is then up to front-end to request dom nodes and focus them in
61145        the tree. I also made inspect() work in a generic manner, using same routines for
61146        nodes, databases, storages and potentially new elements.
61147
61148        As a side-effect, we don't do console.log from within inspect() anymore, but dump
61149        inspected value as inspect's result.
61150
61151        Also, I added individual object release method and made object groups optional.
61152
61153        * bindings/js/JSInjectedScriptHostCustom.cpp:
61154        (WebCore::InjectedScriptHost::scriptValueAsNode):
61155        (WebCore::InjectedScriptHost::nodeAsScriptValue):
61156        (WebCore::JSInjectedScriptHost::inspect):
61157        (WebCore::JSInjectedScriptHost::databaseId):
61158        (WebCore::JSInjectedScriptHost::storageId):
61159        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
61160        (WebCore::InjectedScriptHost::scriptValueAsNode):
61161        (WebCore::InjectedScriptHost::nodeAsScriptValue):
61162        (WebCore::V8InjectedScriptHost::inspectCallback):
61163        (WebCore::V8InjectedScriptHost::databaseIdCallback):
61164        (WebCore::V8InjectedScriptHost::storageIdCallback):
61165        * inspector/InjectedScript.cpp:
61166        (WebCore::InjectedScript::nodeForObjectId):
61167        (WebCore::InjectedScript::releaseObject):
61168        (WebCore::InjectedScript::wrapForConsole):
61169        (WebCore::InjectedScript::inspectNode):
61170        * inspector/InjectedScript.h:
61171        * inspector/InjectedScriptHost.cpp:
61172        (WebCore::InjectedScriptHost::inspectImpl):
61173        (WebCore::InjectedScriptHost::databaseIdImpl):
61174        (WebCore::InjectedScriptHost::storageIdImpl):
61175        * inspector/InjectedScriptHost.h:
61176        * inspector/InjectedScriptHost.idl:
61177        * inspector/InjectedScriptSource.js:
61178        * inspector/Inspector.idl:
61179        * inspector/InspectorAgent.cpp:
61180        (WebCore::InspectorAgent::focusNode):
61181        * inspector/InspectorDOMAgent.cpp:
61182        * inspector/InspectorDOMAgent.h:
61183        * inspector/InspectorDOMStorageAgent.cpp:
61184        (WebCore::InspectorDOMStorageAgent::storageId):
61185        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
61186        * inspector/InspectorDOMStorageAgent.h:
61187        * inspector/InspectorDOMStorageResource.cpp:
61188        * inspector/InspectorDOMStorageResource.h:
61189        * inspector/InspectorDatabaseAgent.cpp:
61190        (WebCore::InspectorDatabaseAgent::databaseId):
61191        * inspector/InspectorDatabaseAgent.h:
61192        * inspector/InspectorDatabaseResource.cpp:
61193        * inspector/InspectorDatabaseResource.h:
61194        * inspector/InspectorRuntimeAgent.cpp:
61195        (WebCore::InspectorRuntimeAgent::releaseObject):
61196        * inspector/InspectorRuntimeAgent.h:
61197        * inspector/front-end/AuditRules.js:
61198        (WebInspector.AuditRules.evaluateInTargetWindow):
61199        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
61200        * inspector/front-end/DOMStorage.js:
61201        * inspector/front-end/Database.js:
61202        * inspector/front-end/ExtensionServer.js:
61203        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
61204        * inspector/front-end/inspector.js:
61205        (WebInspector.inspect):
61206
612072011-02-22  Pavel Podivilov  <podivilov@chromium.org>
61208
61209        Reviewed by Pavel Feldman.
61210
61211        Web Inspector: refactor "script or resource" mess in scripts panel.
61212        https://bugs.webkit.org/show_bug.cgi?id=54961
61213
61214        - Use sourceName instead of scriptOrResource
61215        - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
61216          calling each other recursively with small one-purpose non-recursive functions
61217
61218        Test: inspector/debugger/scripts-panel.html
61219
61220        * inspector/front-end/ScriptsPanel.js:
61221        (WebInspector.ScriptsPanel):
61222        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
61223        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
61224        (WebInspector.ScriptsPanel.prototype._addScript):
61225        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
61226        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
61227        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
61228        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
61229        (WebInspector.ScriptsPanel.prototype.reset):
61230        (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
61231        (WebInspector.ScriptsPanel.prototype.showSourceLine):
61232        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
61233        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
61234        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
61235        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
61236        (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
61237        (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
61238        (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
61239        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
61240        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
61241        (WebInspector.ScriptsPanel.prototype._goBack):
61242        (WebInspector.ScriptsPanel.prototype._goForward):
61243        * inspector/front-end/SourceFrame.js:
61244        (WebInspector.SourceFrame.prototype.setExecutionLine):
61245
612462011-02-24  Eric Seidel  <eric@webkit.org>
61247
61248        Reviewed by Adam Barth.
61249
61250        Fragment parsing does not need to use HTMLSourceTracker
61251        https://bugs.webkit.org/show_bug.cgi?id=55011
61252
61253        Any performance gains from this patch are likely
61254        the result of working around:
61255        https://bugs.webkit.org/show_bug.cgi?id=55005
61256        (Which suggests that fixing bug 55005 will speed
61257        up normal HTML parsing substantially.)
61258
61259        Assuming I ran the numbers correct, here is the
61260        change from PerformanceTests/Parser/tiny-innerHTML:
61261        Before patch:
61262        avg 5586.1
61263        median 5594
61264        stdev 41.295157101045135
61265        min 5425
61266        max 5633
61267
61268        After Patch:
61269        avg 2603.9
61270        median 2609.5
61271        stdev 32.500615378789355
61272        min 2475
61273        max 2649
61274
61275        Removing just the HTMLSourceTracker calls brought our
61276        score from 5500 to 5200, removing the XSSFilter as well
61277        brought it to 2600 on my machine.
61278
61279        * html/parser/HTMLDocumentParser.cpp:
61280        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
61281        (WebCore::HTMLDocumentParser::pumpTokenizer):
61282        * html/parser/HTMLDocumentParser.h:
61283
612842011-02-24  Andras Becsi  <abecsi@webkit.org>
61285
61286        Reviewed by Laszlo Gombos.
61287
61288        [Qt] MinGW build fails to link
61289        https://bugs.webkit.org/show_bug.cgi?id=55050
61290
61291        Prepend the libraries of subcomponents instead of appending them
61292        to fix the library order according to the dependency of the libraries
61293
61294        No new tests needed.
61295
61296        * WebCore.pri:
61297
612982011-02-24  Adam Barth  <abarth@webkit.org>
61299
61300        Reviewed by Eric Seidel.
61301
61302        CSP's script-src should block JavaScript URLs
61303        https://bugs.webkit.org/show_bug.cgi?id=54787
61304
61305        Blocking JavaScript URLs required some re-architecting of the lifetime
61306        of the ContentSecurityPolicy object.  We now manage the lifetime the
61307        same way we manage the lifetime of the SecurityOrigin object.  In
61308        particular, when SecurityOrigin inherits into an about:blank iframe, we
61309        inherit the CSP object as well.  (This is covered by the test added in
61310        this patch.) In the future, we might consider making
61311        ContentSecurityPolicy a component of SecurityOrigin instead of a
61312        component of Document.
61313
61314        I noted the trickiness in
61315        http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
61316        make sure it gets defined properly in the spec.
61317
61318        Test: http/tests/security/contentSecurityPolicy/javascript-url.html
61319
61320        * bindings/ScriptControllerBase.cpp:
61321        (WebCore::ScriptController::executeIfJavaScriptURL):
61322        * dom/Document.cpp:
61323        (WebCore::Document::initSecurityContext):
61324        * dom/Document.h:
61325        (WebCore::Document::contentSecurityPolicy):
61326        * page/ContentSecurityPolicy.cpp:
61327        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
61328        * page/ContentSecurityPolicy.h:
61329        (WebCore::ContentSecurityPolicy::create):
61330
613312011-02-21  Philippe Normand  <pnormand@igalia.com>
61332
61333        Reviewed by Martin Robinson.
61334
61335        [GStreamer] GRefPtr support for GstElement
61336        https://bugs.webkit.org/show_bug.cgi?id=54870
61337
61338        * CMakeListsEfl.txt:
61339        * GNUmakefile.am:
61340        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
61341        (WTF::GstElement):
61342        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
61343        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
61344        (webKitWebSrcQuery):
61345
613462011-02-24  Emil A Eklund  <eae@chromium.org>
61347
61348        Reviewed by Eric Seidel.
61349
61350        Share code between elementFromPoint and caretRangeFromPoint in Document.
61351        https://bugs.webkit.org/show_bug.cgi?id=54610
61352
61353        Eliminate duplicate code by moving shared logic from elementFromPoint and
61354        caretRangeFromPoint into helper function.
61355
61356        * dom/Document.cpp:
61357        (WebCore::nodeFromPoint):
61358        (WebCore::Document::elementFromPoint):
61359        (WebCore::Document::caretRangeFromPoint):
61360
613612011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
61362
61363        Unreviewed build fix.
61364
61365        * inspector/InspectorDOMAgent.cpp:
61366        (WebCore::InspectorDOMAgent::removeAttribute):
61367        * inspector/InspectorResourceAgent.cpp:
61368        (WebCore::InspectorResourceAgent::cachedResources):
61369        * inspector/InspectorRuntimeAgent.cpp:
61370        (WebCore::InspectorRuntimeAgent::evaluate):
61371
613722011-02-24  Zan Dobersek  <zandobersek@gmail.com>
61373
61374        Reviewed by Eric Seidel.
61375
61376        [gtk] Failing collinear arcTo canvas tests
61377        https://bugs.webkit.org/show_bug.cgi?id=54658
61378
61379        Check for collinearity of the three points that affect how arcTo call
61380        results. This behavior is in accordance with the HTML standard.
61381
61382        No new tests added as this is already covered by at least two tests.
61383
61384        * platform/graphics/cairo/PathCairo.cpp:
61385        (WebCore::areaOfTriangleFormedByPoints):
61386        (WebCore::Path::addArcTo):
61387
613882011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
61389
61390        Reviewed by Pavel Feldman.
61391
61392        Web Inspector: There is a validator of the protocol message format.
61393
61394        It has two parts. InspectorBackendStub.js is the frontend part.
61395        InspectorBackendDispatcher.cpp is the backend part.
61396        Both parts are checking protocol message format and report the error if
61397        the message has not enough fields or the types of fields do not match with
61398        Inspector.idl specification. These validators are generated automatically.
61399
61400        In addition, we have a number of places at the backend where we check the
61401        function arguments and do nothing if the arguments are invalid
61402        from the business logic point of view.
61403
61404        This patch bring us an ability to report a custom error from such function to the frontend.
61405
61406        https://bugs.webkit.org/show_bug.cgi?id=54971
61407
61408        * inspector/CodeGeneratorInspector.pm:
61409        * inspector/InjectedScriptHost.cpp:
61410        * inspector/InspectorAgent.cpp:
61411        * inspector/InspectorAgent.h:
61412        * inspector/InspectorApplicationCacheAgent.cpp:
61413        * inspector/InspectorApplicationCacheAgent.h:
61414        * inspector/InspectorBrowserDebuggerAgent.cpp:
61415        * inspector/InspectorBrowserDebuggerAgent.h:
61416        * inspector/InspectorCSSAgent.cpp:
61417        * inspector/InspectorCSSAgent.h:
61418        * inspector/InspectorConsoleAgent.cpp:
61419        * inspector/InspectorConsoleAgent.h:
61420        * inspector/InspectorController.cpp:
61421        * inspector/InspectorDOMAgent.cpp:
61422        * inspector/InspectorDOMAgent.h:
61423        * inspector/InspectorDOMStorageAgent.cpp:
61424        * inspector/InspectorDOMStorageAgent.h:
61425        * inspector/InspectorDatabaseAgent.cpp:
61426        * inspector/InspectorDatabaseAgent.h:
61427        * inspector/InspectorDebuggerAgent.cpp:
61428        * inspector/InspectorDebuggerAgent.h:
61429        * inspector/InspectorProfilerAgent.cpp:
61430        * inspector/InspectorProfilerAgent.h:
61431        * inspector/InspectorResourceAgent.cpp:
61432        * inspector/InspectorResourceAgent.h:
61433        * inspector/InspectorRuntimeAgent.cpp:
61434        * inspector/InspectorRuntimeAgent.h:
61435        * inspector/InspectorTimelineAgent.cpp:
61436        * inspector/InspectorTimelineAgent.h:
61437
614382011-02-24  Ryosuke Niwa  <rniwa@webkit.org>
61439
61440        Reviewed by Ojan Vafai.
61441
61442        Crash when deleting inside a blockquote with a large offset
61443        https://bugs.webkit.org/show_bug.cgi?id=55098
61444
61445        The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
61446        While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
61447        breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
61448        the downstream position to instantiate caretPos.
61449
61450        Co-author: Abhishek Arya <inferno@chromium.org>.
61451
61452        Test: editing/deleting/delete-blockquote-large-offsets.html
61453
61454        * editing/CompositeEditCommand.cpp:
61455        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
61456
614572011-02-24  Robert Kroeger  <rjkroege@chromium.org>
61458
61459        Reviewed by Darin Fisher.
61460
61461        Added timestamps to PlatformTouchEvent etc.
61462
61463        PlatformTouchEvent doesn't have a timestamp and so
61464        eventSender.leapForward cannot be used for touchevent based tests.
61465        This change adds a timestamp to PlatformTouchEvent and initializes
61466        it in a reasonable manner on Android and Qt platforms.
61467
61468        [chromium] [WebCore] [android] Touch events are missing time stamps
61469        https://bugs.webkit.org/show_bug.cgi?id=53510
61470
61471        * platform/PlatformTouchEvent.h:
61472        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
61473        (WebCore::PlatformTouchEvent::timestamp):
61474        * platform/android/PlatformTouchEventAndroid.cpp:
61475        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
61476        * platform/qt/PlatformTouchEventQt.cpp:
61477        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
61478
614792011-02-24  Renata Hodovan  <reni@webkit.org>
61480
61481        Unreviewed GTK, Snow Leopard build fix for r79474.
61482
61483        * platform/graphics/filters/FEConvolveMatrix.cpp:
61484        (WebCore::FEConvolveMatrix::setKernelUnitLength):
61485        * platform/graphics/filters/FEConvolveMatrix.h:
61486
614872011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
61488
61489        Reviewed by Xan Lopez.
61490
61491        Use IntRect instead of a pointer to a GtkAllocation struct to avoid
61492        unnecessary memory allocations.
61493
61494        * plugins/PluginView.h:
61495        * plugins/gtk/PluginViewGtk.cpp:
61496        (WebCore::PluginView::setNPWindowIfNeeded):
61497        (WebCore::PluginView::plugAddedCallback):
61498
614992011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
61500
61501        Unreviewed. Fix the build with GTK+ 3.
61502
61503        * plugins/PluginView.h:
61504
615052011-02-23  Ryosuke Niwa  <rniwa@webkit.org>
61506
61507        Reviewed by Darin Adler.
61508
61509        Refactor HTMLEquivalent into a hierachy of classes
61510        https://bugs.webkit.org/show_bug.cgi?id=55025
61511
61512        Converted HTMLEquivalent into a class.  Some logic in removeImplicitlyStyledElement is
61513        extracted as member functions of HTMLEquivalent and its subclasses.
61514
61515        * editing/ApplyStyleCommand.cpp:
61516        (WebCore::HTMLEquivalent::create): Added.
61517        (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
61518        (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
61519        the element's implicit style affects the property of this equivalence.
61520        (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
61521        e.g. color, size, dir.
61522        (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
61523        exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
61524        this function returns true if the specified style has font-size property set.
61525        (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
61526        (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
61527        implicit style of the specified element of this equivalence.
61528        (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
61529        to the specified mutable style.
61530        (WebCore::HTMLEquivalentValueList::create): Added.
61531        (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
61532        (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
61533        (WebCore::HTMLEquivalentAttribute::create): Added.
61534        (WebCore::HTMLEquivalentAttribute::matches): Added.
61535        (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
61536        (WebCore::HTMLEquivalentAttribute::attributeName): Added.
61537        (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
61538        (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
61539        (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
61540        (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
61541        (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
61542        (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
61543        (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
61544        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
61545
615462011-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
61547
61548        Unreviewed, rolling out r79510.
61549        http://trac.webkit.org/changeset/79510
61550        https://bugs.webkit.org/show_bug.cgi?id=55114
61551
61552        It made ~200 tests crash on Qt bot (Requested by Ossy_ on
61553        #webkit).
61554
61555        * platform/text/TextBreakIterator.h:
61556        * platform/text/TextBreakIteratorICU.cpp:
61557        (WebCore::lineBreakIterator):
61558        * platform/text/qt/TextBreakIteratorQt.cpp:
61559        (WebCore::lineBreakIterator):
61560        * rendering/RenderBlock.h:
61561        * rendering/RenderBlockLineLayout.cpp:
61562        (WebCore::RenderBlock::layoutInlineChildren):
61563        (WebCore::RenderBlock::findNextLineBreak):
61564        * rendering/RenderText.cpp:
61565        (WebCore::RenderText::computePreferredLogicalWidths):
61566        * rendering/break_lines.cpp:
61567        (WebCore::nextBreakablePosition):
61568        * rendering/break_lines.h:
61569        (WebCore::isBreakable):
61570
615712011-02-23  Geoffrey Garen  <ggaren@apple.com>
61572
61573        Reviewed by Mark Rowe.
61574
61575        Used svn merge -r79502:79501 to roll out r79502 because it broke the
61576        SnowLeopard and Leopard builds.
61577
61578        * WebCore.xcodeproj/project.pbxproj:
61579        * platform/mac/HTMLConverter.h: Removed.
61580        * platform/mac/HTMLConverter.mm: Removed.
61581        * platform/mac/PasteboardMac.mm:
61582        (WebCore::Pasteboard::writeSelection):
61583
615842011-02-23  Beth Dakin  <bdakin@apple.com>
61585
61586        Reviewed by Dan Bernstein.
61587
61588        Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window
61589        when scrolling
61590
61591        When there is both a horizontal and a vertical scrollbar, it is necessary to
61592        include the space between them in the invalidation.
61593        * platform/ScrollableArea.cpp:
61594        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
61595
615962011-02-23  Ned Holbrook  <nholbrook@apple.com>
61597
61598        Reviewed by Dan Bernstein.
61599
61600        Minimize calls to ubrk_setText()
61601        https://bugs.webkit.org/show_bug.cgi?id=54912
61602        <rdar://problem/9032774>
61603
61604        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
61605        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
61606        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
61607        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
61608        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
61609
61610        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
61611        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
61612        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
61613        (WebCore::LazyLineBreakIterator::string):
61614        (WebCore::LazyLineBreakIterator::length):
61615        (WebCore::LazyLineBreakIterator::get):
61616        (WebCore::LazyLineBreakIterator::reset):
61617        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
61618        (WebCore::acquireLineBreakIterator):
61619        (WebCore::releaseLineBreakIterator):
61620        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
61621        (WebCore::acquireLineBreakIterator):
61622        (WebCore::releaseLineBreakIterator):
61623        * rendering/RenderBlock.h:
61624        * rendering/RenderBlockLineLayout.cpp:
61625        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
61626        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
61627        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
61628        (WebCore::RenderText::computePreferredLogicalWidths):
61629        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
61630        (WebCore::nextBreakablePosition):
61631        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
61632        (WebCore::isBreakable):
61633
616342011-02-23  Anders Carlsson  <andersca@apple.com>
61635
61636        Fix build.
61637
61638        * platform/mac/HTMLConverter.h:
61639
616402011-02-17  Enrica Casucci  <enrica@apple.com>
61641
61642        Reviewed by Darin Adler.
61643
61644        REGRESSION: Copied content loses formatting on paste to external apps.
61645        https://bugs.webkit.org/show_bug.cgi?id=47615
61646        <rdar://problem/9001214>
61647
61648        This patch adds a way for WebKit2 to create NSAttributedStrings from
61649        a DOM range without using the AppKit api initWithDOMRange that internally
61650        needs to access the WebView. The NSAttributedString is needed to create
61651        RTF formats in the pasteboard.
61652        This is to be considered a first step, since in the future we want to have
61653        an implementation based on the TextIterator.
61654
61655        * WebCore.xcodeproj/project.pbxproj: Added new file.
61656        * platform/mac/HTMLConverter.h: Added.
61657        * platform/mac/HTMLConverter.mm: Added.
61658        * platform/mac/PasteboardMac.mm:
61659        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
61660        class for WebKit2 to create the NSAttributedString from the DOM range.
61661
616622011-02-23  David Hyatt  <hyatt@apple.com>
61663
61664        Reviewed by Sam Weinig.
61665
61666        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61667
61668        Patch computePositionedLogicalHeightUsing to be writing-mode-aware.
61669
61670        * rendering/RenderBox.cpp:
61671        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
61672        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
61673        * rendering/RenderBox.h:
61674
616752011-02-23  Martin Robinson  <mrobinson@igalia.com>
61676
61677        Reviewed by Xan Lopez.
61678
61679        [Gtk] Flash item placed on wrong location right after load
61680        https://bugs.webkit.org/show_bug.cgi?id=37769
61681
61682        If a plugin is GtkSocket based, do not set the widget allocation until the
61683        window is actually embedded in the parent. When the window is embedded, use
61684        any pending allocation for the call to gtk_widget_size_allocate. This bug
61685        seems to only appear with Flash movies loaded as the src of an iframe.
61686
61687        * manual-tests/plugins/windowed-in-iframe.html: Added.
61688        * plugins/PluginView.h: Add a few new members to track window embedding state.
61689        * plugins/gtk/PluginViewGtk.cpp:
61690        (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
61691        wait until the plug-added signal fires to set the widget allocation.
61692        (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
61693        we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
61694        with it.
61695        (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
61696        call gtk_widget_size_allocate if the window isn't embedded.
61697
616982011-02-18  Enrica Casucci  <enrica@apple.com>
61699
61700        Reviewed by Adam Roben.
61701
61702        Mac OS X Services are not available for selected text in WebKit2 windows.
61703        https://bugs.webkit.org/show_bug.cgi?id=54777
61704        <rdar://problem/8666428>
61705
61706        The changes to WebCore for this bug are limited to exposing a new
61707        entry point in the Editor class to write to the pasteboard and
61708        changes to the Pasteboard class to write the selection with
61709        a given set of pasteboard types. The majority of the work
61710        is done in WebKit2.
61711
61712        * WebCore.exp.in:
61713        * editing/Editor.h:
61714        * editing/mac/EditorMac.mm: Added entrypoint to write the
61715        selection to the pasteboard.
61716        (WebCore::Editor::writeSelectionToPasteboard):
61717        * platform/Pasteboard.h:
61718        * platform/mac/ClipboardMac.mm:
61719        (WebCore::ClipboardMac::writeRange):
61720        * platform/mac/PasteboardMac.mm:
61721        (WebCore::Pasteboard::writeSelection):
61722
617232011-02-23  David Hyatt  <hyatt@apple.com>
61724
61725        Reviewed by Simon Fraser.
61726
61727        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61728
61729        Patch computePositionedLogicalHeight to be writing-mode-aware.  Functions it calls have not been
61730        patched yet, so still not testable in a vertical text environment.
61731
61732        * rendering/RenderBox.cpp:
61733        (WebCore::RenderBox::computePositionedLogicalHeight):
61734
617352011-02-23  David Hyatt  <hyatt@apple.com>
61736
61737        Reviewed by Sam Weinig.
61738
61739        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61740
61741        Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
61742        environment, since height computations will overwrite all values computed here until they are patched as well.
61743
61744        * rendering/RenderBox.cpp:
61745        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
61746        * rendering/RenderBox.h:
61747
617482011-02-23  Renata Hodovan  <reni@webkit.org>
61749
61750        Reviewed by Nikolas Zimmermann.
61751
61752        FEColorMatrixElement changes doesn't require relayout
61753        https://bugs.webkit.org/show_bug.cgi?id=54880
61754
61755        When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
61756        to relayout the filter.
61757
61758        No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
61759
61760        * platform/graphics/filters/FEColorMatrix.cpp:
61761        (WebCore::FEColorMatrix::setType):
61762        (WebCore::FEColorMatrix::setValues):
61763        * platform/graphics/filters/FEColorMatrix.h:
61764        * svg/SVGFEColorMatrixElement.cpp:
61765        (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
61766        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
61767        * svg/SVGFEColorMatrixElement.h:
61768
617692011-02-23  James Robinson  <jamesr@chromium.org>
61770
61771        REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
61772
61773        Reverts TextCodecUTF16.cpp back to pre-79466 state.  The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail.
61774
61775        * platform/text/TextCodecUTF16.cpp:
61776        (WebCore::newStreamingTextDecoderUTF16LE):
61777        (WebCore::newStreamingTextDecoderUTF16BE):
61778        (WebCore::TextCodecUTF16::decode):
61779        (WebCore::TextCodecUTF16::encode):
61780
617812011-02-23  David Hyatt  <hyatt@apple.com>
61782
61783        Reviewed by Sam Weinig.
61784
61785        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61786
61787        Patch computePositionedLogicalWidth to be writing-mode-aware.  Functions it calls have not been
61788        patched yet, so still not testable in a vertical text environment.
61789
61790        * rendering/RenderBox.cpp:
61791        (WebCore::RenderBox::computePositionedLogicalWidth):
61792
617932011-02-23  James Robinson  <jamesr@chromium.org>
61794
61795        Unreviewed, rolling out r79428.
61796        http://trac.webkit.org/changeset/79428
61797        https://bugs.webkit.org/show_bug.cgi?id=54714
61798
61799        Does not work in the Chromium sandbox
61800
61801        * websockets/WebSocketHandshake.cpp:
61802        (WebCore::generateSecWebSocketKey):
61803        (WebCore::generateKey3):
61804
618052011-02-23  David Hyatt  <hyatt@apple.com>
61806
61807        Reviewed by Sam Weinig.
61808
61809        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61810
61811        Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
61812
61813        * rendering/style/RenderStyle.h:
61814        (WebCore::InheritedFlags::logicalLeft):
61815        (WebCore::InheritedFlags::logicalRight):
61816        (WebCore::InheritedFlags::logicalTop):
61817        (WebCore::InheritedFlags::logicalBottom):
61818
618192011-02-23  Darin Adler  <darin@apple.com>
61820
61821        Reviewed by Alexey Proskuryakov.
61822
61823        Fix crash seen in one of the regression tests.
61824
61825        * platform/text/TextCodecUTF16.cpp:
61826        (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
61827        we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
61828        and the correct thing to do is nothing.
61829
618302011-02-23  Sergey Glazunov  <serg.glazunov@gmail.com>
61831
61832        Reviewed by James Robinson.
61833
61834        SVGCursorElement::removeClient() should verify that its argument is connected with
61835        the proper cursor element.
61836        https://bugs.webkit.org/show_bug.cgi?id=54979
61837
61838        Test: svg/css/multiple-cursors-crash.html
61839
61840        * svg/SVGCursorElement.cpp:
61841        (WebCore::SVGCursorElement::removeClient):
61842
618432011-02-23  Renata Hodovan  <reni@webkit.org>
61844
61845        Reviewed by Darin Adler.
61846
61847        FEConvolveMatrixElement changes doesn't require relayout
61848        https://bugs.webkit.org/show_bug.cgi?id=55067
61849
61850        When the FEConvolveMatrixElement receives an update message but the
61851        given value remains the same we don't need to relayout the filter.
61852
61853        No new tests are needed because this modificiation is covered by the
61854        dynamic update tests of FEConvolveMatrix.
61855
61856        * platform/graphics/filters/FEConvolveMatrix.cpp:
61857        (WebCore::FEConvolveMatrix::setDivisor):
61858        (WebCore::FEConvolveMatrix::setBias):
61859        (WebCore::FEConvolveMatrix::setTargetOffset):
61860        (WebCore::FEConvolveMatrix::edgeMode):
61861        (WebCore::FEConvolveMatrix::setEdgeMode):
61862        (WebCore::FEConvolveMatrix::setPreserveAlpha):
61863        * platform/graphics/filters/FEConvolveMatrix.h:
61864        * svg/SVGFEConvolveMatrixElement.cpp:
61865        (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
61866        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
61867        * svg/SVGFEConvolveMatrixElement.h:
61868
618692011-02-23  Geoffrey Garen  <ggaren@apple.com>
61870
61871        Reviewed by Darin Adler.
61872
61873        Rolled back in r79367 with SnowLeopard Release bot crash fixed.
61874        https://bugs.webkit.org/show_bug.cgi?id=54999
61875
61876        * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
61877
618782011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
61879
61880        Reviewed by Darin Adler.
61881
61882        Add more thorough manual test coverage for media controls
61883        https://bugs.webkit.org/show_bug.cgi?id=55006
61884
61885        * manual-tests/media-controls.html: Added.
61886
618872011-02-23  Darin Adler  <darin@apple.com>
61888
61889        Fix build.
61890
61891        * platform/text/TextCodecUTF16.cpp:
61892        (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
61893
618942011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
61895
61896        Reviewed by Darin Adler.
61897
61898        Setting shadow host should also attach and set inDocument, just like
61899        appending/inserting a child.
61900        https://bugs.webkit.org/show_bug.cgi?id=55065
61901
61902        No new tests, because functionality is not yet used.
61903
61904        * dom/Element.cpp:
61905        (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
61906            for the shadow DOM subtree, like the host.
61907
619082011-02-23  David Hyatt  <hyatt@apple.com>
61909
61910        Reviewed by Darin Adler and Simon Fraser.
61911
61912        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61913
61914        - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
61915        writing-mode.
61916        - Patch clientLogicalBottom to use clientLogicalHeight.
61917        - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
61918        clientLogicalHeight/Width.  Also make them able to handle perpendicular writing mode containining blocks.
61919        - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
61920
61921        * rendering/RenderBox.cpp:
61922        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
61923        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
61924        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
61925        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
61926        (WebCore::RenderBox::computePositionedLogicalWidth):
61927        (WebCore::RenderBox::computePositionedLogicalHeight):
61928        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
61929        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
61930        * rendering/RenderBox.h:
61931        (WebCore::RenderBox::clientLogicalWidth):
61932        (WebCore::RenderBox::clientLogicalHeight):
61933        (WebCore::RenderBox::clientLogicalBottom):
61934
619352011-02-23  Darin Adler  <darin@apple.com>
61936
61937        Reviewed by Alexey Proskuryakov.
61938
61939        REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
61940        https://bugs.webkit.org/show_bug.cgi?id=54862
61941
61942        Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
61943        https://bugs.webkit.org/show_bug.cgi?id=54444
61944
61945        No new tests at this time. I will add some tests later, but since multiple
61946        people are hitting this I wanted to get it in as quickly as possible.
61947
61948        * platform/text/TextCodecUTF16.cpp:
61949        (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
61950        Removed special case for zero length now that main code handles it
61951        correctly. Used words instead of abbreviations for local variable names.
61952        Added error handling for a trailing byte.
61953
61954        * platform/text/TextCodecUTF8.cpp:
61955        (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
61956        to make the handleError and handlePartialSequence functions clearer.
61957        (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
61958        handlePartialSequence clearer.
61959        (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
61960        the partial sequence case. Making this a separate function probably helps make
61961        the fast case a little faster. This new version handles more cases correctly,
61962        which is what fixes the crashes we were seeing. In particular, it no longer
61963        assumes that the partial sequence is truly partial, because there are cases
61964        where we end up handling complete sequences here, such as when a complete
61965        sequence is inside a malformed partial sequence.
61966        (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
61967        call handlePartialSequence instead. Could be streamlined if we double checked
61968        that passing a reference to "destination" and "source" doesn't harm code
61969        generation too much, so perhaps someone can do that research on a few compilers
61970        later and clean this up. Removed special case for zero length now that the
61971        main code handles that correctly.
61972
61973        * platform/text/TextCodecUTF8.h: Added declarations for new functions.
61974        Made partial sequence buffer large enough to hold a whole sequence so we can
61975        use it to complete and decode a sequence in place.
61976
619772011-02-23  Abhishek Arya  <inferno@chromium.org>
61978
61979        Reviewed by Dave Hyatt.
61980
61981        Make clear float lineboxes resilient against overflows.
61982        https://bugs.webkit.org/show_bug.cgi?id=54995
61983
61984        We try to dirty everthing in block range if we have a negative
61985        logical bottom, or if our logical bottom is less than our logical
61986        top, or if our logical top is equal to INT_MAX. Plus, we also dirty
61987        a linebox if its block logical height is less than zero.
61988        Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
61989               fast/overflow/overflow-height-float-not-removed-crash3.html
61990
61991        * rendering/RenderBlock.cpp:
61992        (WebCore::RenderBlock::removeFloatingObject):
61993        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
61994        * rendering/RootInlineBox.cpp:
61995        (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
61996        added in r69735. we don't need this anymore since we are making the
61997        underlying float dirty logic resilient.
61998
619992011-02-22  Kenneth Russell  <kbr@google.com>
62000
62001        Reviewed by Darin Fisher.
62002
62003        Per-page minimum DOMTimer interval broken for repeating timers
62004        https://bugs.webkit.org/show_bug.cgi?id=55014
62005
62006        When the minimum timer interval is adjusted, if the timer is
62007        repeating, cause its repeat interval to be set to its original
62008        timeout clamped to the new minimum interval.
62009
62010        Tests: fast/dom/timer-increase-min-interval-repeating.html
62011               fast/dom/timer-increase-then-decrease-min-interval-repeating.html
62012
62013        * page/DOMTimer.cpp:
62014        (WebCore::DOMTimer::adjustMinimumTimerInterval):
62015
620162011-02-23  Dan Bernstein  <mitz@apple.com>
62017
62018        Reviewed by Maciej Stachowiak.
62019
62020        Fix two issues seen in WebKit2 views on Mac:
62021        - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
62022        - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
62023
62024        * page/EventHandler.cpp:
62025        (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
62026        to -1. Since WebKit2 doesn�t support non-activating clicks yet (<http://webkit.org/b/55053>
62027        <rdar://problem/9042197>) and doesn�t send event numbers, all events were considered to be
62028        window-activating events. This in turn prevented them from clearing the selection and resuming
62029        caret blinking on mouse up.
62030
620312011-02-23  Jacob Dinu  <dinu.jacob@nokia.com>
62032
62033        Reviewed by Pavel Feldman.
62034
62035        Web Inspector: Linking error for some InspectorController symbols
62036        https://bugs.webkit.org/show_bug.cgi?id=54953
62037
62038        Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag
62039
62040        * inspector/InspectorController.cpp:
62041        (WebCore::InspectorController::hideHighlight):
62042        (WebCore::InspectorController::resume):
62043
620442011-02-23  Hans Wennborg  <hans@chromium.org>
62045
62046        IndexedDB: Move some SQL code into IDBBackingStore
62047        https://bugs.webkit.org/show_bug.cgi?id=54889
62048
62049        The idea is to gather all the SQL logic into IDBBackingStore.
62050
62051        No new functionality, so no new tests.
62052
62053        * storage/IDBBackingStore.cpp:
62054        (WebCore::IDBBackingStore::IDBBackingStore):
62055        (WebCore::runCommands):
62056        (WebCore::createTables):
62057        (WebCore::createMetaDataTable):
62058        (WebCore::getDatabaseSchemaVersion):
62059        (WebCore::migrateDatabase):
62060        (WebCore::IDBBackingStore::open):
62061        (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
62062        (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
62063        (WebCore::IDBBackingStore::getObjectStores):
62064        (WebCore::IDBBackingStore::createObjectStore):
62065        (WebCore::doDelete):
62066        (WebCore::IDBBackingStore::deleteObjectStore):
62067        (WebCore::whereSyntaxForKey):
62068        (WebCore::bindKeyToQuery):
62069        (WebCore::IDBBackingStore::getObjectStoreRecord):
62070        (WebCore::bindKeyToQueryWithNulls):
62071        (WebCore::IDBBackingStore::putObjectStoreRecord):
62072        (WebCore::IDBBackingStore::deleteIndexDataForRecord):
62073        (WebCore::IDBBackingStore::putIndexDataForRecord):
62074        (WebCore::IDBBackingStore::createIndex):
62075        (WebCore::IDBBackingStore::deleteIndex):
62076        (WebCore::IDBBackingStore::clearObjectStore):
62077        * storage/IDBBackingStore.h:
62078        * storage/IDBDatabaseBackendImpl.cpp:
62079        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
62080        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
62081        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
62082        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
62083        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
62084        * storage/IDBFactoryBackendImpl.cpp:
62085        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
62086        (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
62087        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
62088        (WebCore::IDBFactoryBackendImpl::open):
62089        * storage/IDBFactoryBackendImpl.h:
62090        * storage/IDBObjectStoreBackendImpl.cpp:
62091        (WebCore::IDBObjectStoreBackendImpl::getInternal):
62092        (WebCore::IDBObjectStoreBackendImpl::putInternal):
62093        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
62094        (WebCore::populateIndex):
62095        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
62096        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
62097
620982011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
62099
62100        Reviewed by Laszlo Gombos.
62101
62102        [Qt] Fix the Symbian build after r79334
62103        https://bugs.webkit.org/show_bug.cgi?id=55044
62104
62105        No new tests as there is no new functionality.
62106
62107        * WebCore.pri: Reorder symbian blocks to make sure that
62108        system-sqlite is set before it is tested.
62109
62110        Copy the rules from JavaScriptCore.pri for defineTest().
62111
621122011-02-23  Patrick Gansterer  <paroga@webkit.org>
62113
62114        Reviewed by Alexey Proskuryakov.
62115
62116        Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
62117        https://bugs.webkit.org/show_bug.cgi?id=54992
62118
62119        * websockets/WebSocketHandshake.cpp:
62120        (WebCore::WebSocketHandshake::readHTTPHeaders):
62121
621222011-02-23  Patrick Gansterer  <paroga@webkit.org>
62123
62124        Reviewed by Andreas Kling.
62125
62126        [CMake] Move platform dependent files out of main CMakeLists.txt
62127        https://bugs.webkit.org/show_bug.cgi?id=53891
62128
62129        Apple Windows port does not use the image decoders,
62130        so move them into the platform specific CMake files.
62131
62132        * CMakeLists.txt:
62133        * CMakeListsEfl.txt:
62134        * CMakeListsWinCE.txt:
62135
621362011-02-21  Stephen White  <senorblanco@chromium.org>
62137
62138        Reviewed by Kenneth Russell.
62139
62140        Jittering when animating a rotated image
62141        https://bugs.webkit.org/show_bug.cgi?id=50775
62142
62143        Since Skia does not seem to suffer from pixel cracks when scaling to
62144        non-integral sizes the way CG does, no-op roundToDevicePixels on the
62145        Skia implementation.
62146
62147        * platform/graphics/skia/GraphicsContextSkia.cpp:
62148        (WebCore::GraphicsContext::roundToDevicePixels):
62149
621502011-02-23  Patrick Gansterer  <paroga@webkit.org>
62151
62152        Reviewed by Andreas Kling.
62153
62154        [WINCE] Get rid of TemporaryLinkStubs.cpp
62155        https://bugs.webkit.org/show_bug.cgi?id=54825
62156
62157        * CMakeListsWinCE.txt:
62158        * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
62159        * platform/wince/TemporaryLinkStubs.cpp: Removed.
62160
621612011-02-23  Patrick Gansterer  <paroga@webkit.org>
62162
62163        Reviewed by Darin Adler.
62164
62165        Rename PLATFORM(CF) to USE(CF)
62166        https://bugs.webkit.org/show_bug.cgi?id=53540
62167
62168        * WebCore.gyp/WebCore.gyp:
62169        * editing/SmartReplace.cpp:
62170        * editing/SmartReplaceICU.cpp:
62171        * loader/MainResourceLoader.cpp:
62172        (WebCore::MainResourceLoader::didReceiveResponse):
62173        (WebCore::MainResourceLoader::didReceiveData):
62174        (WebCore::MainResourceLoader::didFinishLoading):
62175        (WebCore::MainResourceLoader::didFail):
62176        * loader/archive/ArchiveFactory.cpp:
62177        (WebCore::archiveMIMETypes):
62178        * platform/FileSystem.h:
62179        * platform/KURL.h:
62180        * platform/KURLGoogle.cpp:
62181        * platform/RunLoopTimer.h:
62182        * platform/SharedBuffer.cpp:
62183        * platform/SharedBuffer.h:
62184        * platform/UUID.cpp:
62185        (WebCore::createCanonicalUUIDString):
62186        * platform/network/ResourceHandle.h:
62187        * platform/network/ResourceRequestBase.h:
62188        * platform/network/curl/ResourceHandleCurl.cpp:
62189        * platform/network/curl/ResourceHandleManager.cpp:
62190        (WebCore::certificatePath):
62191        * platform/text/cf/StringCF.cpp:
62192        * platform/text/cf/StringImplCF.cpp:
62193        * platform/win/BString.cpp:
62194        * platform/win/BString.h:
62195        * platform/win/ClipboardUtilitiesWin.cpp:
62196        (WebCore::getWebLocData):
62197        (WebCore::getURL):
62198        (WebCore::getClipboardData):
62199        * platform/win/ClipboardWin.cpp:
62200        (WebCore::writeFileToDataObject):
62201        * platform/win/SearchPopupMenuWin.cpp:
62202        (WebCore::SearchPopupMenuWin::enabled):
62203        (WebCore::SearchPopupMenuWin::saveRecentSearches):
62204        (WebCore::SearchPopupMenuWin::loadRecentSearches):
62205
622062011-02-23  Benjamin Kalman  <kalman@chromium.org>
62207
62208        Reviewed by Ojan Vafai.
62209
62210        Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
62211        https://bugs.webkit.org/show_bug.cgi?id=51001
62212
62213        Test: editing/selection/extend-backward-by-word-over-non-editable.html
62214
62215        Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
62216        bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
62217
62218        The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
62219        selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
62220        refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
62221        causes this bug).
62222
62223        To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
62224        been slightly restructured to express the invariant that the iterator will never advance past the start node.
62225
62226        * editing/TextIterator.cpp:
62227        (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
62228        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
62229        mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
62230        (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
62231        m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
62232        (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
62233        which updates m_havePassedStartNode and refuses to continue when it becomes true.
62234        * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
62235        member variables.
62236        * editing/visible_units.cpp:
62237        (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
62238
622392011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
62240
62241        Reviewed by Adam Barth.
62242
62243        WebSocket uses insecure random numbers
62244        https://bugs.webkit.org/show_bug.cgi?id=54714
62245
62246        * websockets/WebSocketHandshake.cpp:
62247        (WebCore::randomNumberLessThan):
62248        (WebCore::generateSecWebSocketKey):
62249        (WebCore::generateKey3):
62250
622512011-02-21  Hans Wennborg  <hans@chromium.org>
62252
62253        Reviewed by Jeremy Orlow.
62254
62255        IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
62256        https://bugs.webkit.org/show_bug.cgi?id=54864
62257
62258        No new functionality, so no new tests.
62259
62260        * GNUmakefile.am:
62261        * WebCore.gypi:
62262        * storage/IDBBackingStore.cpp:
62263        (WebCore::IDBBackingStore::IDBBackingStore):
62264        (WebCore::IDBBackingStore::~IDBBackingStore):
62265        * storage/IDBBackingStore.h:
62266        (WebCore::IDBBackingStore::create):
62267        (WebCore::IDBBackingStore::db):
62268        * storage/IDBCursorBackendImpl.cpp:
62269        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
62270        (WebCore::IDBCursorBackendImpl::currentRowExists):
62271        (WebCore::IDBCursorBackendImpl::database):
62272        * storage/IDBCursorBackendImpl.h:
62273        (WebCore::IDBCursorBackendImpl::create):
62274        * storage/IDBDatabaseBackendImpl.cpp:
62275        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
62276        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
62277        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
62278        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
62279        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
62280        * storage/IDBDatabaseBackendImpl.h:
62281        (WebCore::IDBDatabaseBackendImpl::create):
62282        * storage/IDBFactoryBackendImpl.cpp:
62283        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
62284        (WebCore::openSQLiteDatabase):
62285        (WebCore::IDBFactoryBackendImpl::open):
62286        * storage/IDBFactoryBackendImpl.h:
62287        * storage/IDBIndexBackendImpl.cpp:
62288        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
62289        (WebCore::IDBIndexBackendImpl::openCursorInternal):
62290        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
62291        * storage/IDBIndexBackendImpl.h:
62292        (WebCore::IDBIndexBackendImpl::create):
62293        * storage/IDBObjectStoreBackendImpl.cpp:
62294        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
62295        (WebCore::IDBObjectStoreBackendImpl::createIndex):
62296        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
62297        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
62298        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
62299        * storage/IDBObjectStoreBackendImpl.h:
62300        (WebCore::IDBObjectStoreBackendImpl::create):
62301
623022011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
62303
62304        Reviewed by Kenneth Russell.
62305
62306        Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
62307        https://bugs.webkit.org/show_bug.cgi?id=54697
62308
62309        New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
62310
62311        * rendering/RenderHTMLCanvas.cpp:
62312        (WebCore::RenderHTMLCanvas::nodeAtPoint):
62313
623142011-02-23  Patrick Gansterer  <paroga@webkit.org>
62315
62316        Reviewed by Darin Adler.
62317
62318        Remove obsolete focusRingColor functions
62319        https://bugs.webkit.org/show_bug.cgi?id=54824
62320
62321        * CMakeListsWinCE.txt:
62322        * platform/graphics/haiku/ColorHaiku.cpp:
62323        * platform/graphics/wince/ColorWinCE.cpp: Removed.
62324
623252011-02-22  Jia Pu  <jpu@apple.com>
62326
62327        Reviewed by Dan Bernstein.
62328
62329        On Mac OS X, English contractions are marked misspelled with certain user preference setting.
62330        https://bugs.webkit.org/show_bug.cgi?id=54975
62331
62332        manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
62333
62334        Without this patch, we check for contraction only when autocorrection or other type of auto-
62335        substituation is on. And we failed to check for contraction if only spellchecking is turned on.
62336        This patch implements the desired behavior, checking for contraction when either correction/substitution,
62337        or spellchecking, is on.
62338
62339        * editing/Editor.cpp:
62340        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
62341        * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
62342
623432011-02-22  Charlie Reis  <creis@chromium.org>
62344
62345        Reviewed by Darin Fisher.
62346
62347        Remove DatabasePolicy from FrameLoaderTypes
62348        https://bugs.webkit.org/show_bug.cgi?id=54968
62349
62350        The DatabasePolicy enum is no longer needed now that we avoid stopping
62351        loaders on same-document navigations.
62352
62353        Existing test: storage/hash-change-with-xhr.html
62354
62355        * WebCore.exp.in:
62356        * loader/DocumentLoader.cpp:
62357        * loader/DocumentLoader.h:
62358        * loader/FrameLoader.cpp:
62359        * loader/FrameLoader.h:
62360        * loader/FrameLoaderTypes.h:
62361        * workers/WorkerThread.cpp:
62362
623632011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
62364
62365        Reviewed by Andreas Kling.
62366
62367        [Qt] QWebView ignores a palette set with QWebView::setPalette()
62368        https://bugs.webkit.org/show_bug.cgi?id=31742
62369
62370        Use custom QWebView palette if the view provides one.
62371        Modified version of a patch made by Fabrizio Machado.
62372
62373        * platform/qt/RenderThemeQt.cpp:
62374        (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
62375        (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
62376        (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
62377        (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
62378        (WebCore::RenderThemeQt::platformFocusRingColor):
62379
623802011-02-22  Brian Salomon  <bsalomon@google.com>
62381
62382        Reviewed by Kenneth Russell.
62383
62384        Don't disable accelerated canvas when using the skia gpu backend.
62385
62386        No new tests are required.
62387
62388        * html/canvas/CanvasRenderingContext2D.cpp:
62389        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
62390
623912011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
62392
62393        Reviewed by Kenneth Rohde Christiansen.
62394
62395        [Qt] <select>s on http://www.ryanair.com render wrong
62396        https://bugs.webkit.org/show_bug.cgi?id=29647
62397
62398        Reducing padding in <select> elements to improve its rendering and introducing a
62399        rendering adjustment specific to QMacStyle.
62400
62401        * platform/qt/RenderThemeQt.cpp:
62402        (WebCore::RenderThemeQt::setPopupPadding):
62403        (WebCore::RenderThemeQt::paintMenuList):
62404
624052011-02-22  Andreas Kling  <kling@webkit.org>
62406
62407        Reviewed by Dan Bernstein.
62408
62409        FontCache: Make cTargetInactiveFontData an int instead of float.
62410        https://bugs.webkit.org/show_bug.cgi?id=54963
62411
62412        * platform/graphics/FontCache.cpp:
62413
624142011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
62415
62416        Reviewed by Darin Adler.
62417
62418        Make Editor::selectionComputedStyle return EditingStyle
62419        https://bugs.webkit.org/show_bug.cgi?id=54933
62420
62421        Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
62422        It also no longer takes a boolean shouldUseFixedFontDefaultSize.
62423
62424        Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
62425        doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
62426        by an existing layout test only after the code was shared with selectionStartStyle.
62427
62428        No tests are added since this is a refactoring.
62429
62430        * editing/CompositeEditCommand.cpp:
62431        (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
62432        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
62433        * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
62434        (WebCore::EditingStyle::mergeTypingStyle): Added.
62435        * editing/EditingStyle.h:
62436        (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
62437        * editing/Editor.cpp:
62438        (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
62439        (WebCore::Editor::selectionHasStyle): Ditto.
62440        (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
62441        (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
62442        * editing/Editor.h:
62443        * editing/EditorCommand.cpp:
62444        (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
62445        * editing/InsertLineBreakCommand.cpp:
62446        * editing/InsertParagraphSeparatorCommand.cpp:
62447        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
62448        EditingStyle::mergeTypingStyle.
62449        * editing/ReplaceSelectionCommand.cpp:
62450        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
62451
624522011-02-22  Robert Hogan  <robert@webkit.org>
62453
62454        Reviewed by Andreas Kling.
62455
62456        [Qt] painting of windowed plugins faulty on certain scroll events
62457
62458        https://bugs.webkit.org/show_bug.cgi?id=52735
62459
62460        Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
62461        imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
62462        to the frame again) before passing it to FrameView.
62463
62464        * plugins/qt/PluginViewQt.cpp:
62465        (WebCore::PluginView::updatePluginWidget):
62466
624672011-02-22  Philippe Normand  <pnormand@igalia.com>
62468
62469        Reviewed by Martin Robinson.
62470
62471        Minimal build broken
62472        https://bugs.webkit.org/show_bug.cgi?id=54743
62473
62474        Moved the code of setInspectorExtensionAPI and
62475        dispatchMessageFromFrontend out of #if
62476        ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
62477
62478        * inspector/InspectorController.cpp:
62479        (WebCore::InspectorController::setInspectorExtensionAPI):
62480        (WebCore::InspectorController::dispatchMessageFromFrontend):
62481
624822011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
62483
62484        Unreviewed, rolling out r79367.
62485        http://trac.webkit.org/changeset/79367
62486        https://bugs.webkit.org/show_bug.cgi?id=55012
62487
62488        all layout tests are crashing on Snow Leopard (Requested by
62489        rniwa on #webkit).
62490
62491        * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
62492
624932011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
62494
62495        Reviewed by Darin Adler.
62496
62497        Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
62498        https://bugs.webkit.org/show_bug.cgi?id=54944
62499
62500        Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
62501
62502        Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
62503        which returns true iff the specified element has inline style that conflicts or matches the editing style.
62504        It also appends conflicting property IDs to the vector of property IDs if one is specified.
62505
62506        * editing/ApplyStyleCommand.cpp:
62507        (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
62508        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
62509        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
62510        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
62511        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
62512        conflictsWithInlineStyleOfElement.
62513        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
62514        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
62515        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
62516        (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
62517        * editing/ApplyStyleCommand.h:
62518        (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
62519        * editing/EditingStyle.cpp:
62520        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
62521        * editing/EditingStyle.h:
62522        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
62523
625242011-02-22  Chang Shu  <cshu@webkit.org>
62525
62526        Reviewed by Csaba Osztrogonác.
62527
62528        [Qt] editing/deleting/5408255.html fails
62529        https://bugs.webkit.org/show_bug.cgi?id=54964
62530
62531        Move WebCore resource file to QtWebKit since they are referred in WebKit.
62532
62533        * WebCore.pro:
62534
625352011-02-22  Brady Eidson  <beidson@apple.com>
62536
62537        Reviewed by Anders Carlsson.
62538
62539        <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
62540        API to view and delete Application Cache data by origin.
62541
62542        Implement these to be used by WK2 API:
62543        * loader/appcache/ApplicationCacheStorage.cpp:
62544        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
62545        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
62546
625472011-02-22  Geoffrey Garen  <ggaren@apple.com>
62548
62549        Reviewed by Oliver Hunt.
62550
62551        Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
62552        https://bugs.webkit.org/show_bug.cgi?id=54999
62553
62554        New WTF header.
62555
62556        * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
62557
625582011-02-22  Beth Dakin  <bdakin@apple.com>
62559
62560        Reviewed by Sam Weinig.
62561
62562        Fix for https://bugs.webkit.org/show_bug.cgi?id=54991
62563        Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS
62564        Scrollbars
62565        -and corresponding-
62566        <rdar://problem/9034318>
62567
62568        Instead of consulting the theme directly, callers should ask the Scrollbar or
62569        ScrollableArea if the scrollbars are overlay or not.
62570
62571        * platform/ScrollView.cpp:
62572        (WebCore::ScrollView::visibleContentRect):
62573        (WebCore::ScrollView::scrollContents):
62574        (WebCore::ScrollView::wheelEvent):
62575        * platform/ScrollableArea.cpp:
62576        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
62577        (WebCore::ScrollableArea::hasOverlayScrollbars):
62578        * platform/ScrollableArea.h:
62579        * platform/Scrollbar.cpp:
62580        (WebCore::Scrollbar::isOverlayScrollbar):
62581        * platform/Scrollbar.h:
62582        * rendering/RenderBox.cpp:
62583        (WebCore::RenderBox::includeVerticalScrollbarSize):
62584        (WebCore::RenderBox::includeHorizontalScrollbarSize):
62585        * rendering/RenderLayer.cpp:
62586        (WebCore::RenderLayer::verticalScrollbarWidth):
62587        (WebCore::RenderLayer::horizontalScrollbarHeight):
62588        * rendering/RenderListBox.cpp:
62589        (WebCore::RenderListBox::verticalScrollbarWidth):
62590        * rendering/RenderScrollbar.h:
62591        (WebCore::RenderScrollbar::isOverlayScrollbar):
62592
625932011-02-22  Andras Becsi  <abecsi@webkit.org>
62594
62595        Reviewed by Csaba Osztrogonác.
62596
62597        [Qt] Redesign the build system
62598        https://bugs.webkit.org/show_bug.cgi?id=51339
62599
62600        Move inspector's resource files into the final build step to fix the layout test regression.
62601
62602        No new tests needed.
62603
62604        * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
62605
626062011-02-22  Martin Robinson  <mrobinson@igalia.com>
62607
62608        Reviewed by Xan Lopez.
62609
62610        [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
62611        https://bugs.webkit.org/show_bug.cgi?id=54990
62612
62613        No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
62614        to start passing again.
62615
62616        * platform/gtk/ScrollViewGtk.cpp:
62617        (WebCore::ScrollView::visibleContentRect): Update this method to match the original
62618        in the parent class.
62619
626202011-01-17  Martin Robinson  <mrobinson@igalia.com>
62621
62622        Reviewed by Xan Lopez.
62623
62624        [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
62625        https://bugs.webkit.org/show_bug.cgi?id=49177
62626
62627        * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
62628        of platformAddChild and platformRemoveChild. This code can be shared.
62629        * platform/gtk/MainFrameScrollbarGtk.cpp:
62630        (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
62631        adjustment. Connect the adjustment value-changed signal handler after resetting the
62632        adjustment. This prevents the rest from stomping on pre-existing WebCore values.
62633        (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
62634        a scrollview do not listing for value changes. These scrollbars are defunct.
62635        * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
62636
626372011-02-22  Pavel Feldman  <pfeldman@chromium.org>
62638
62639        Reviewed by Yury Semikhatsky.
62640
62641        Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
62642        https://bugs.webkit.org/show_bug.cgi?id=54954
62643
62644        * bindings/js/JSInjectedScriptHostCustom.cpp:
62645        (WebCore::InjectedScriptHost::toNode):
62646        (WebCore::JSInjectedScriptHost::inspect):
62647        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
62648        (WebCore::InjectedScriptHost::toNode):
62649        (WebCore::V8InjectedScriptHost::inspectCallback):
62650        * inspector/CodeGeneratorInspector.pm:
62651        * inspector/InjectedScript.cpp:
62652        (WebCore::InjectedScript::nodeForObjectId):
62653        * inspector/InjectedScript.h:
62654        * inspector/InjectedScriptHost.cpp:
62655        (WebCore::InjectedScriptHost::inspect):
62656        * inspector/InjectedScriptHost.h:
62657        * inspector/InjectedScriptHost.idl:
62658        * inspector/InjectedScriptSource.js:
62659        (.):
62660        * inspector/Inspector.idl:
62661        * inspector/InspectorAgent.cpp:
62662        (WebCore::InspectorAgent::focusNode):
62663        * inspector/InspectorAgent.h:
62664        * inspector/InspectorDOMAgent.cpp:
62665        (WebCore::InspectorDOMAgent::inspect):
62666        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
62667        * inspector/InspectorDOMAgent.h:
62668        * inspector/front-end/AuditRules.js:
62669        (WebInspector.AuditRules.evaluateInTargetWindow):
62670        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
62671        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
62672        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
62673        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
62674        * inspector/front-end/ConsoleView.js:
62675        (WebInspector.ConsoleView.prototype.completions):
62676        * inspector/front-end/DOMAgent.js:
62677        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
62678        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
62679        * inspector/front-end/RemoteObject.js:
62680        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
62681
626822011-02-22  Brady Eidson  <beidson@apple.com>
62683
62684        Reviewed by Anders Carlsson.
62685
62686        Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
62687        API to view and delete Application Cache data by origin.
62688
62689        Stub these out for now:
62690        * loader/appcache/ApplicationCacheStorage.cpp:
62691        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
62692        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
62693        (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
62694        * loader/appcache/ApplicationCacheStorage.h:
62695
62696        Export the new symbols:
62697        * WebCore.exp.in:
62698
626992011-02-22  Anders Carlsson  <andersca@apple.com>
62700
62701        Fix debug build.
62702
62703        * WebCore.exp.in:
62704
627052011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
62706
62707        Reviewed by Anders Carlsson.
62708
62709        notImplemented() should behave identical in WebCore and WebKit2
62710        https://bugs.webkit.org/show_bug.cgi?id=54449
62711
62712        No functional change so no new tests.
62713
62714        * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
62715        to be able to use it in WebKit2.
62716
627172011-02-22  Andras Becsi  <abecsi@webkit.org>
62718
62719        Reviewed by Laszlo Gombos.
62720        Rubber-stamped by Csaba Osztrogonác.
62721
62722        [Qt] Redesign the build system
62723        https://bugs.webkit.org/show_bug.cgi?id=51339
62724
62725        The patch landed in r79320 didn't contain the cleanup
62726        which was already addressed in the last attachment.
62727
62728        No new tests needed.
62729
62730        * WebCore.pri: Add common LIB and CONFIG options.
62731        * WebCore.pro: Add accidentally moved sections.
62732
627332011-02-22  Philippe Normand  <pnormand@igalia.com>
62734
62735        Unreviewed, rolling out r79321.
62736        http://trac.webkit.org/changeset/79321
62737        https://bugs.webkit.org/show_bug.cgi?id=53146
62738
62739        Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
62740        /spatial-navigation/snav-single-select.html on GTK
62741
62742        * accessibility/gtk/AXObjectCacheAtk.cpp:
62743        (WebCore::notifyChildrenSelectionChange):
62744        (WebCore::AXObjectCache::postPlatformNotification):
62745
627462011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
62747
62748        Reviewed by Yury Semikhatsky.
62749
62750        Web Inspector: Inspector.IDL change. rename attribute notify -> event.
62751        https://bugs.webkit.org/show_bug.cgi?id=54958
62752
62753        * inspector/CodeGeneratorInspector.pm:
62754        * inspector/Inspector.idl:
62755
627562011-02-22  Yury Semikhatsky  <yurys@chromium.org>
62757
62758        Reviewed by Pavel Feldman.
62759
62760        Web Inspector: Timeline agent should have same lifetime as InspectorAgent
62761        https://bugs.webkit.org/show_bug.cgi?id=54951
62762
62763        * inspector/CodeGeneratorInspector.pm:
62764        * inspector/Inspector.idl:
62765        * inspector/InspectorAgent.cpp:
62766        (WebCore::InspectorAgent::InspectorAgent):
62767        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
62768        (WebCore::InspectorAgent::setFrontend):
62769        (WebCore::InspectorAgent::disconnectFrontend):
62770        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
62771        (WebCore::InspectorAgent::didCommitLoad):
62772        (WebCore::InspectorAgent::domContentLoadedEventFired):
62773        (WebCore::InspectorAgent::loadEventFired):
62774        * inspector/InspectorAgent.h:
62775        * inspector/InspectorController.cpp:
62776        (WebCore::InspectorController::startTimelineProfiler):
62777        (WebCore::InspectorController::stopTimelineProfiler):
62778        (WebCore::InspectorController::timelineProfilerEnabled):
62779        * inspector/InspectorInstrumentation.cpp:
62780        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
62781        * inspector/InspectorTimelineAgent.cpp:
62782        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
62783        (WebCore::InspectorTimelineAgent::setFrontend):
62784        (WebCore::InspectorTimelineAgent::clearFrontend):
62785        (WebCore::InspectorTimelineAgent::restore):
62786        (WebCore::InspectorTimelineAgent::startTimelineProfiler):
62787        (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
62788        (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
62789        (WebCore::InspectorTimelineAgent::didCommitLoad):
62790        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
62791        (WebCore::InspectorTimelineAgent::clearRecordStack):
62792        * inspector/InspectorTimelineAgent.h:
62793        (WebCore::InspectorTimelineAgent::create):
62794        * inspector/front-end/TimelinePanel.js:
62795        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
62796
627972011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
62798
62799        Reviewed by Pavel Feldman.
62800
62801        Web Inspector: flakyness of inspector tests.
62802        https://bugs.webkit.org/show_bug.cgi?id=54729
62803
62804        As far as we have the protocol with sequence numbers we can simplify test harness support
62805        and drop out chomium specific methods.
62806
62807        * inspector/CodeGeneratorInspector.pm:
62808        * inspector/front-end/TestController.js:
62809        (WebInspector.TestController):
62810        (WebInspector.TestController.prototype.notifyDone):
62811        (WebInspector.TestController.prototype.runAfterPendingDispatches):
62812        (WebInspector.TestController.prototype._evaluateForTestInFrontend):
62813        * inspector/front-end/inspector.js:
62814        (WebInspector.dispatch):
62815
628162011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
62817
62818        Reviewed by Martin Robinson.
62819
62820        [GTK] Combo boxes should emit object:selection-changed even when collapsed
62821        https://bugs.webkit.org/show_bug.cgi?id=53146
62822
62823        Emit the selection-changed signals when the menu list value has changed
62824
62825        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
62826
62827        * accessibility/gtk/AXObjectCacheAtk.cpp:
62828        (WebCore::getListObject): New, return the right list object for
62829        menu lists and list boxes.
62830        (WebCore::notifyChildrenSelectionChange): Support menu lists.
62831        (WebCore::AXObjectCache::postPlatformNotification): Call function
62832        notifyChildrenSelectionChange for AXMenuListValueChanged.
62833
628342011-02-22  Andras Becsi  <abecsi@webkit.org>
62835
62836        Reviewed by Laszlo Gombos.
62837
62838        [Qt] Redesign the build system
62839        https://bugs.webkit.org/show_bug.cgi?id=51339
62840
62841        Part 2.
62842
62843        Build WebCore as a static library, compile the WebKit API and WebKit2 API
62844        in a final step and link to WebKit2, WebCore and JSC libraries to fix
62845        linking issues resulting from stripped away symbols.
62846
62847        No new tests needed.
62848
62849        * WebCore.pri: Add needed rules for handling the static library.
62850        * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
62851
628522011-02-22  Pavel Podivilov  <podivilov@chromium.org>
62853
62854        Reviewed by Pavel Feldman.
62855
62856        Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
62857        https://bugs.webkit.org/show_bug.cgi?id=54947
62858
62859        * inspector/InspectorAgent.cpp:
62860        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
62861        * inspector/InspectorState.cpp:
62862        (WebCore::InspectorState::loadFromCookie):
62863        * inspector/InspectorState.h:
62864
628652011-02-15  Jer Noble  <jer.noble@apple.com>
62866
62867        Reviewed by Darin Adler.
62868
62869        Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
62870        https://bugs.webkit.org/show_bug.cgi?id=46142
62871
62872        Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
62873        container elements.  This is necessary because, during layout(), the child renderers
62874        query the current LayoutState to determine where they will be repainting.  If a new
62875        LayoutState is not pushed here, child renderers will attempt to repaint relative to
62876        their grandparent's origin instead of their parents', and repaint operations will fail.
62877
62878        * rendering/RenderMedia.cpp:
62879        (WebCore::RenderMedia::layout):
62880
628812011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
62882
62883        Reviewed by Kenneth Rohde Christiansen.
62884
62885        Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
62886        https://bugs.webkit.org/show_bug.cgi?id=54952
62887
62888        Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
62889        a valid reference for the input type FileInputType.
62890
62891        * page/Chrome.cpp:
62892        (WebCore::Chrome::setToolTip):
62893
628942011-02-21  Pavel Podivilov  <podivilov@chromium.org>
62895
62896        Reviewed by Pavel Feldman.
62897
62898        Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
62899        https://bugs.webkit.org/show_bug.cgi?id=54645
62900
62901        This is needed to map one script to several source files.
62902
62903        Test: inspector/debugger/source-frame.html
62904
62905        * WebCore.gypi:
62906        * WebCore.vcproj/WebCore.vcproj:
62907        * inspector/front-end/DebuggerPresentationModel.js: Added.
62908        (WebInspector.DebuggerPresentationModel):
62909        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
62910        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
62911        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
62912        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
62913        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
62914        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
62915        * inspector/front-end/ScriptsPanel.js:
62916        (WebInspector.ScriptsPanel):
62917        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
62918        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
62919        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
62920        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
62921        (WebInspector.ScriptsPanel.prototype._addSourceFrame):
62922        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
62923        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
62924        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
62925        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
62926        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
62927        * inspector/front-end/SourceFrame.js:
62928        (WebInspector.SourceFrame.prototype.get loaded):
62929        (WebInspector.SourceFrame.prototype._createTextViewer):
62930        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
62931        (WebInspector.SourceFrame.prototype.setExecutionLine):
62932        (WebInspector.SourceFrame.prototype.clearExecutionLine):
62933        (WebInspector.SourceFrame.prototype.addBreakpoint):
62934        (WebInspector.SourceFrame.prototype.removeBreakpoint):
62935        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
62936        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
62937        (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
62938        (WebInspector.SourceFrame.prototype._findBreakpoint):
62939        * inspector/front-end/WebKit.qrc:
62940        * inspector/front-end/inspector.html:
62941
629422011-02-22  Andrey Kosyakov  <caseq@chromium.org>
62943
62944        Reviewed by Pavel Feldman.
62945
62946        Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
62947        https://bugs.webkit.org/show_bug.cgi?id=54671
62948
62949        - factored toolbar handling out of inspector.js
62950        - added toolbar dropdown
62951
62952        * WebCore.gypi:
62953        * WebCore.vcproj/WebCore.vcproj:
62954        * inspector/front-end/ExtensionServer.js:
62955        (WebInspector.ExtensionServer.prototype._onCreatePanel):
62956        * inspector/front-end/Panel.js:
62957        (WebInspector.Panel.prototype.get toolbarItem):
62958        * inspector/front-end/Toolbar.js: Added.
62959        (WebInspector.Toolbar):
62960        (WebInspector.Toolbar.prototype.resize):
62961        (WebInspector.Toolbar.prototype.addPanel):
62962        (WebInspector.Toolbar.prototype._toolbarDragStart):
62963        (WebInspector.Toolbar.prototype._toolbarDragEnd):
62964        (WebInspector.Toolbar.prototype._toolbarDrag):
62965        (WebInspector.Toolbar.prototype._onClose):
62966        (WebInspector.Toolbar.prototype._setDropdownVisible):
62967        (WebInspector.Toolbar.prototype._toggleDropdown):
62968        (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
62969        (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
62970        (WebInspector.Toolbar.createPanelToolbarItem):
62971        (WebInspector.ToolbarDropdown):
62972        (WebInspector.ToolbarDropdown.prototype.show):
62973        (WebInspector.ToolbarDropdown.prototype.hide):
62974        (WebInspector.ToolbarDropdown.prototype.get visible):
62975        (WebInspector.ToolbarDropdown.prototype._populate):
62976        (WebInspector.ToolbarDropdown.prototype._onKeyDown):
62977        * inspector/front-end/WebKit.qrc:
62978        * inspector/front-end/inspector.css:
62979        (#toolbar):
62980        (.toolbar-item):
62981        (.toolbar-item.toggleable):
62982        (.toolbar-item.toggleable.toggled-on):
62983        (#toolbar-dropdown .toolbar-icon):
62984        (#toolbar-dropdown .toolbar-label):
62985        (#toolbar-controls):
62986        (#toolbar-dropdown-arrow):
62987        (body.attached #toolbar-dropdown-arrow):
62988        (#toolbar-dropdown-arrow.dropdown-visible):
62989        (#toolbar-dropdown-arrow:hover):
62990        (#toolbar-dropdown-arrow:active):
62991        (#toolbar-dropdown):
62992        (body.detached.platform-mac-snowleopard #toolbar-dropdown):
62993        (#toolbar-dropdown .scrollable-content):
62994        (#toolbar-dropdown .toolbar-item):
62995        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
62996        (#toolbar-dropdown .toolbar-item:hover):
62997        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
62998        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
62999        (.scrollable-content):
63000        (.scrollable-content::-webkit-scrollbar):
63001        (.scrollable-content::-webkit-resizer):
63002        (.scrollable-content::-webkit-scrollbar-thumb:vertical):
63003        (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
63004        (.scrollable-content::-webkit-scrollbar-track:vertical):
63005        (.toolbar-search-item):
63006        (#search):
63007        (body.attached #search):
63008        (#search-results-matches):
63009        (#close-button-left, #close-button-right):
63010        (.close-left):
63011        * inspector/front-end/inspector.html:
63012        * inspector/front-end/inspector.js:
63013        (WebInspector.set attached):
63014        (WebInspector.addPanel):
63015        (WebInspector.windowResize):
63016
630172011-02-22  Philippe Normand  <pnormand@igalia.com>
63018
63019        Reviewed by Xan Lopez.
63020
63021        [GTK] make distcheck fails
63022        https://bugs.webkit.org/show_bug.cgi?id=54943
63023
63024        Added new headers and removed references to deleted files.
63025
63026        * GNUmakefile.am:
63027
630282011-02-21  Yury Semikhatsky  <yurys@chromium.org>
63029
63030        Reviewed by Pavel Feldman.
63031
63032        Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
63033        https://bugs.webkit.org/show_bug.cgi?id=54891
63034
63035        * inspector/InspectorAgent.cpp:
63036        (WebCore::InspectorAgent::InspectorAgent):
63037        (WebCore::InspectorAgent::setFrontend):
63038        (WebCore::InspectorAgent::disconnectFrontend):
63039        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
63040        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
63041        (WebCore::InspectorAgent::didCommitLoad):
63042        * inspector/InspectorAgent.h:
63043        (WebCore::InspectorAgent::instrumentingAgents):
63044        * inspector/InspectorDOMStorageAgent.cpp:
63045        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
63046        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
63047        (WebCore::InspectorDOMStorageAgent::setFrontend):
63048        (WebCore::InspectorDOMStorageAgent::clearFrontend):
63049        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
63050        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
63051        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
63052        (WebCore::InspectorDOMStorageAgent::clearResources):
63053        * inspector/InspectorDOMStorageAgent.h:
63054        (WebCore::InspectorDOMStorageAgent::create):
63055        * inspector/InspectorDatabaseAgent.cpp:
63056        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
63057        (WebCore::InspectorDatabaseAgent::clearResources):
63058        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
63059        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
63060        (WebCore::InspectorDatabaseAgent::setFrontend):
63061        (WebCore::InspectorDatabaseAgent::clearFrontend):
63062        (WebCore::InspectorDatabaseAgent::databaseForId):
63063        (WebCore::InspectorDatabaseAgent::selectDatabase):
63064        * inspector/InspectorDatabaseAgent.h:
63065        (WebCore::InspectorDatabaseAgent::create):
63066        * inspector/InspectorInstrumentation.cpp:
63067        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
63068        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
63069
630702011-02-22  Steve Lacey  <sjl@chromium.org>
63071
63072        Reviewed by Darin Fisher.
63073
63074        Rename new media statistics apis to better names
63075
63076        https://bugs.webkit.org/show_bug.cgi?id=54784
63077
63078        * html/HTMLMediaElement.cpp:
63079        (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
63080        (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
63081        * html/HTMLMediaElement.h:
63082        * html/HTMLMediaElement.idl:
63083        * html/HTMLVideoElement.cpp:
63084        (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
63085        (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
63086        * html/HTMLVideoElement.h:
63087        * html/HTMLVideoElement.idl:
63088        * platform/graphics/MediaPlayer.cpp:
63089        (WebCore::MediaPlayer::decodedFrameCount):
63090        (WebCore::MediaPlayer::droppedFrameCount):
63091        (WebCore::MediaPlayer::audioDecodedByteCount):
63092        (WebCore::MediaPlayer::videoDecodedByteCount):
63093        * platform/graphics/MediaPlayer.h:
63094        * platform/graphics/MediaPlayerPrivate.h:
63095        (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
63096        (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
63097        (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
63098        (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
63099
631002011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
63101
63102        Reviewed by Kent Tamura.
63103
63104        Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
63105        https://bugs.webkit.org/show_bug.cgi?id=54435
63106
63107        Changed the function to a series of early-exit 'if's,
63108        removed most temporary variables.
63109
63110        No new tests. (refactoring)
63111
63112        * css/CSSStyleSelector.cpp:
63113        (WebCore::CSSStyleSelector::canShareStyleWithElement):
63114
631152011-02-21  Nico Weber  <thakis@chromium.org>
63116
63117        Reviewed by James Robinson.
63118
63119        [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
63120        https://bugs.webkit.org/show_bug.cgi?id=54923
63121
63122        Rename PopupContainer::show() to showInRect(), to make it obvious it's
63123        not an override of ScrollView::show().
63124
63125        No intended functionality change.
63126
63127        * platform/chromium/PopupMenuChromium.cpp:
63128        (WebCore::PopupContainer::showInRect):
63129        (WebCore::PopupMenuChromium::show):
63130        * platform/chromium/PopupMenuChromium.h:
63131
631322011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
63133
63134        Reviewed by Antti Koivisto.
63135
63136        Improve the local{SharedStyle,CousinList} algorithm
63137        https://bugs.webkit.org/show_bug.cgi?id=45507
63138
63139        This change improves the algorithm to find shared styles: the old
63140        algorithm would stop the search after the first cousin, even if
63141        the search threshold is not met. As such, the algorithm would
63142        systematically miss sharings across second cousins and beyond.
63143        The new algorithm continues the search, as long as threshold is
63144        not met. It also separates the threshold for sibling/cousins
63145        search, from that on the levels of search, which is easier to
63146        optimize.
63147        The new algorithm finds up to 30% more sharings on some sites
63148        (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
63149
63150        No new test, refactoring only.
63151
63152        * css/CSSStyleSelector.cpp:
63153        (WebCore::CSSStyleSelector::locateCousinList):
63154        (WebCore::CSSStyleSelector::locateSharedStyle):
63155        While changing the algorithm, cleaned up the style of those 2 methods
63156        (use early return, renamed some variables).
63157
63158        * css/CSSStyleSelector.h:
63159
631602011-02-21  Nico Weber  <thakis@chromium.org>
63161
63162        Reviewed by Adam Barth.
63163
63164        RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
63165        https://bugs.webkit.org/show_bug.cgi?id=54922
63166
63167        RenderTableCell::baselinePosition() has the same name as a virtual
63168        method in superclass RenderBlock. Rename the subclass method to make
63169        it clear it's not an attempted override.
63170
63171        No intended functionality change.
63172
63173        * rendering/RenderTableCell.cpp:
63174        (WebCore::RenderTableCell::cellBaselinePosition):
63175        * rendering/RenderTableCell.h:
63176        * rendering/RenderTableSection.cpp:
63177        (WebCore::RenderTableSection::calcRowLogicalHeight):
63178        (WebCore::RenderTableSection::layoutRows):
63179
631802011-02-21  Benjamin Kalman  <kalman@chromium.org>
63181
63182        Reviewed by Ryosuke Niwa.
63183
63184        Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
63185        start/end of selection for RTL
63186        https://bugs.webkit.org/show_bug.cgi?id=54724
63187
63188        On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
63189        This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
63190        extending from the end when for the "right" direction (e.g. pressing right arrow key).
63191
63192        However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
63193        direction is obviously reversed) and likewise extend from the start when extending right.
63194
63195        * editing/SelectionController.cpp:
63196        (WebCore::SelectionController::modify):
63197
631982011-02-21  Nico Weber  <thakis@chromium.org>
63199
63200        Reviewed by Adam Barth.
63201
63202        ImageDocument::imageChanged() confuses clang's -Woverride-virtual
63203        https://bugs.webkit.org/show_bug.cgi?id=54924
63204
63205        Rename ImageDocument::imageChanged() to imageUpdated() to make clear
63206        that it's not an override of CachedResourceClient::imageChanged().
63207
63208        * html/ImageDocument.cpp:
63209        (WebCore::ImageDocumentParser::appendBytes):
63210        (WebCore::ImageDocumentParser::finish):
63211        (WebCore::ImageDocument::imageUpdated):
63212        * html/ImageDocument.h:
63213
632142011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
63215
63216        Reviewed by Kent Tamura.
63217
63218        Bug 54934 - Sort the WebCore project file(s)
63219        https://bugs.webkit.org/show_bug.cgi?id=54934
63220
63221        No new tests. (no code affected)
63222
63223        * GNUmakefile.am:
63224        * WebCore.xcodeproj/project.pbxproj:
63225
632262011-02-21  Nico Weber  <thakis@chromium.org>
63227
63228        Reviewed by Adam Barth.
63229
63230        canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
63231        https://bugs.webkit.org/show_bug.cgi?id=54909
63232
63233        Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
63234        unconfuse clang. No intended functionality change.
63235
63236        * rendering/RenderBlockLineLayout.cpp:
63237        (WebCore::RenderBlock::checkLinesForTextOverflow):
63238        * rendering/RenderFlexibleBox.cpp:
63239        (WebCore::RenderFlexibleBox::applyLineClamp):
63240        * rendering/RootInlineBox.cpp:
63241        (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
63242        * rendering/RootInlineBox.h:
63243
632442011-02-21  Adele Peterson  <adele@apple.com>
63245
63246        Reviewed by Dan Bernstein.
63247
63248        Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
63249        REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
63250
63251        Test: updated fast/forms/placeholder-position.html and tested manually
63252
63253        Consider padding and margin for the results and cancel buttons.  This is important for the Windows
63254        theme which uses padding to correctly position those buttons.  This change fixes the placeholder
63255        position, and also better aligns the results popup list with the actual text you type.
63256
63257        * rendering/RenderTextControlSingleLine.cpp:
63258        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
63259        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
63260
632612011-02-21  Nico Weber  <thakis@chromium.org>
63262
63263        Reviewed by Kent Tamura.
63264
63265        GIFImageDecoder::setSize() tries to override the superclass method but fails
63266        https://bugs.webkit.org/show_bug.cgi?id=54305
63267
63268        The superclass uses unsigned instead of int for its parameters, so
63269        GIFImageDecoder::setSize() was an overload, not an override.
63270
63271        * platform/image-decoders/gif/GIFImageDecoder.cpp:
63272        (WebCore::GIFImageDecoder::setSize):
63273        * platform/image-decoders/gif/GIFImageDecoder.h:
63274
632752011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
63276
63277        Reviewed by Darin Adler.
63278
63279        Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
63280        https://bugs.webkit.org/show_bug.cgi?id=54528
63281
63282        * editing/ApplyStyleCommand.cpp:
63283        (WebCore::StyleChange::init): Allows style to be a null pointer.
63284        (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
63285        -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
63286        to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
63287        whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
63288        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
63289        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
63290        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
63291        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
63292        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
63293        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
63294        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
63295        ApplyStyleCommand::applyInlineStyle already does it.
63296        * editing/ApplyStyleCommand.h:
63297        * editing/EditingStyle.cpp:
63298        (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
63299        (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
63300        * editing/EditingStyle.h:
63301
633022011-02-21  Mark Rowe  <mrowe@apple.com>
63303
63304        Reviewed by Darin Adler and Alexey Proskuryakov.
63305
63306        <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
63307
63308        * platform/graphics/cg/ImageSourceCG.cpp:
63309        (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
63310        frame properties dictionary and use that if it exists. If it does not exist in the
63311        dictionary then fall back to using the clamped frame delay.
63312
633132011-02-21  James Kozianski  <koz@chromium.org>
63314
63315        Reviewed by Kent Tamura.
63316
63317        Causes elements to be unfocusable after tabindex property is removed.
63318        https://bugs.webkit.org/show_bug.cgi?id=54727
63319
63320        Test: fast/html/tabindex-removal.html
63321
63322        * dom/Node.cpp:
63323        (WebCore::Node::clearTabIndexExplicitly):
63324        * dom/Node.h:
63325        * dom/NodeRareData.h:
63326        (WebCore::NodeRareData::clearTabIndexExplicitly):
63327        * html/HTMLElement.cpp:
63328        (WebCore::HTMLElement::parseMappedAttribute):
63329
633302011-02-21  Alexey Proskuryakov  <ap@apple.com>
63331
63332        Reviewed by Mark Rowe.
63333
63334        <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
63335
63336        * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
63337
633382011-02-21  Sam Weinig  <sam@webkit.org>
63339
63340        Reviewed by Dan Bernstein.
63341
63342        Overhang areas need to be invalidated on scroll
63343        <rdar://problem/9032194>
63344        https://bugs.webkit.org/show_bug.cgi?id=54917
63345
63346        * platform/ScrollView.cpp:
63347        (WebCore::ScrollView::scrollContents):
63348        We need to explicitly invalidate the overhang areas when we scroll the contents
63349        of a ScrollView, since they could contain arbitrary content that cannot be blitted.
63350
633512011-02-21  Lucas Forschler  <lforschler@apple.com>
63352
63353        Reviewed by Stephanie Lewis.
63354
63355        Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
63356
63357        No new tests required.
63358
63359        * WebCore.xcodeproj/project.pbxproj:
63360
633612011-02-21  Pratik Solanki  <psolanki@apple.com>
63362
63363        Reviewed by Darin Adler.
63364
63365        Remove global initializer in CookieStorageCFNet.cpp
63366        https://bugs.webkit.org/show_bug.cgi?id=54905
63367
63368        * platform/network/cf/CookieStorageCFNet.cpp:
63369        (WebCore::currentCookieStorage):
63370        (WebCore::setCurrentCookieStorage):
63371        (WebCore::setCookieStoragePrivateBrowsingEnabled):
63372
633732011-02-18  Jer Noble  <jer.noble@apple.com>
63374
63375        Reviewed by Sam Weinig.
63376
63377        WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
63378        https://bugs.webkit.org/show_bug.cgi?id=54771
63379
63380        Now that video is accelerated, we no longer need to special case
63381        video playing within a media document.
63382
63383        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63384        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
63385        (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
63386
633872011-02-21  Alexey Proskuryakov  <ap@apple.com>
63388
63389        Reviewed by Adam Roben.
63390
63391        REGRESSION (WebKit2): HTTP requests time out after 60 seconds
63392        https://bugs.webkit.org/show_bug.cgi?id=54755
63393        <rdar://problem/9006592>
63394
63395        No new tests - it won't be great to have a test that runs for a minute.
63396
63397        It's now possible to set a default timeout to be used at ResourceRequest creation. If one
63398        hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
63399        or use INT_MAX on other platforms).
63400
63401        * WebCore.exp.in:
63402        * platform/network/ResourceRequestBase.cpp:
63403        (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
63404        default timeout interval (may be 0 if using NSURLRequest default).
63405        (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
63406        (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
63407        request is updated. Plaform code often calls updateResourceRequest() indirectly from this
63408        function, and that must obviously be a no-op.
63409        (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
63410        direction.
63411        * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
63412        "defaultTimeoutInterval". It has been used as default by most platforms anyway.
63413        (WebCore::ResourceRequestBase::ResourceRequestBase):
63414
63415        * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
63416        Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
63417        setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
63418
634192011-02-21  Martin Robinson  <mrobinson@igalia.com>
63420
63421        Reviewed by Xan Lopez.
63422
63423        [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
63424        https://bugs.webkit.org/show_bug.cgi?id=54895
63425
63426        Correct the GTK+ clipboard implementation to know that "text" is an alias
63427        for "text/html" data. This corrects the failing test.
63428
63429        * platform/gtk/ClipboardGtk.cpp:
63430        (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
63431        (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
63432
634332011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
63434
63435        Reviewed by Pavel Feldman.
63436
63437        ProcessingInstruction should provide a way to know if it is of CSS type.
63438        https://bugs.webkit.org/show_bug.cgi?id=54868
63439
63440        * dom/ProcessingInstruction.cpp:
63441        (WebCore::ProcessingInstruction::ProcessingInstruction):
63442        (WebCore::ProcessingInstruction::checkStyleSheet):
63443        (WebCore::ProcessingInstruction::setCSSStyleSheet):
63444        * dom/ProcessingInstruction.h:
63445        (WebCore::ProcessingInstruction::isCSS):
63446
634472011-02-21  Simon Fraser  <simon.fraser@apple.com>
63448
63449        Put JSDOMImplementationCustom.cpp where it belongs in the project.
63450
63451        * WebCore.xcodeproj/project.pbxproj:
63452
634532011-02-21  Gavin Barraclough  <barraclough@apple.com>
63454
63455        Reviewed by Sam Weinig.
63456
63457        Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
63458
63459        The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
63460        containing a pointer to its parent class. These links should reflect the inheritance
63461        hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
63462        entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
63463        since intervening C++ classes may not have ClassInfo - but would be a potential bug
63464        were ClassInfo were to be added.
63465
63466        * bindings/js/JSAudioConstructor.cpp:
63467        * bindings/js/JSDOMGlobalObject.cpp:
63468        * bindings/js/JSImageConstructor.cpp:
63469        * bindings/js/JSOptionConstructor.cpp:
63470        * bindings/scripts/CodeGeneratorJS.pm:
63471        * bridge/objc/objc_runtime.mm:
63472        * bridge/runtime_object.cpp:
63473
634742011-02-21  Pavel Feldman  <pfeldman@chromium.org>
63475
63476        Reviewed by Yury Semikhatsky.
63477
63478        Web Inspector: navigation does not work after reopening frontend.
63479        https://bugs.webkit.org/show_bug.cgi?id=54879
63480
63481        Test: http/tests/inspector-enabled/open-close-open.html
63482
63483        * inspector/InspectorAgent.cpp:
63484        (WebCore::InspectorAgent::setFrontend):
63485        * inspector/InspectorState.cpp:
63486        (WebCore::InspectorState::unmute):
63487        * inspector/InspectorState.h:
63488
634892011-02-21  Adam Roben  <aroben@apple.com>
63490
63491        Protect the PluginView when evaluating javascript: URLs
63492
63493        Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
63494        plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
63495        added
63496
63497        Reviewed by Sam Weinig.
63498
63499        * plugins/PluginView.cpp:
63500        (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
63501        when evaluating javascript: URLs.
63502
635032011-02-21  Martin Robinson  <mrobinson@igalia.com>
63504
63505        Fix GTK+ build after r79223.
63506
63507        * GNUmakefile.am: Add file missing from the source list.
63508
635092011-02-14  Alexander Pavlov  <apavlov@chromium.org>
63510
63511        Reviewed by Yury Semikhatsky.
63512
63513        Web Inspector: audits should not warn about gzip compression for 304s
63514        https://bugs.webkit.org/show_bug.cgi?id=54343
63515
63516        Do not run compression-related audits on 304 resources.
63517        Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
63518
63519        * inspector/front-end/AuditRules.js:
63520        (WebInspector.AuditRules.GzipRule.prototype.doRun):
63521        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
63522
635232011-02-08  Anton Muhin  <antonm@chromium.org>
63524
63525       Reviewed by Adam Barth and Alexey Proskuryakov.
63526
63527       Propagate security origin of parent document into HTML documents created with DOMImplementation
63528       https://bugs.webkit.org/show_bug.cgi?id=53611
63529
63530       This restores invariant that JS wrappers residing in the same JS context should come
63531       from the same security origin.
63532
63533       Absence of regressions is covered by the current tests.  Different security origin of
63534       DOMImplementation is difficult to check with layout tests as DOMImplementation
63535       resides in the same JS context as parent document and therefore there are no security origin checks.
63536       This is observable however in C++.
63537
63538       * Android.jscbindings.mk:
63539       * CMakeLists.txt:
63540       * WebCore.gypi:
63541       * WebCore.pro:
63542       * WebCore.vcproj/WebCore.vcproj:
63543       * WebCore.xcodeproj/project.pbxproj:
63544       * bindings/v8/V8GCController.cpp:
63545       (WebCore::NodeGrouperVisitor::visitDOMWrapper):
63546       * dom/DOMImplementation.cpp:
63547       (WebCore::DOMImplementation::DOMImplementation):
63548       (WebCore::DOMImplementation::createDocument):
63549       * dom/DOMImplementation.h:
63550       (WebCore::DOMImplementation::create):
63551       (WebCore::DOMImplementation::documentDestroyed):
63552       (WebCore::DOMImplementation::parentDocument):
63553       * dom/DOMImplementation.idl:
63554       * dom/Document.cpp:
63555       (WebCore::Document::~Document):
63556       (WebCore::Document::implementation):
63557       * dom/Document.h:
63558
635592011-02-21  Andrey Adaikin  <aandrey@google.com>
63560
63561        Reviewed by Pavel Feldman.
63562
63563        Web Inspector: [Text editor] Optimize editing updates in gutter panel
63564        https://bugs.webkit.org/show_bug.cgi?id=54866
63565
63566        * inspector/front-end/TextViewer.js:
63567        (WebInspector.TextViewer.prototype.set startEditingListener):
63568        (WebInspector.TextViewer.prototype.set endEditingListener):
63569        (WebInspector.TextViewer.prototype.endUpdates):
63570        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
63571        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
63572        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
63573        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
63574        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
63575        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
63576
635772011-02-21  Alexander Pavlov  <apavlov@chromium.org>
63578
63579        Reviewed by Yury Semikhatsky.
63580
63581        Web Inspector: [Audits] Image dimensions in inline style not checked
63582        https://bugs.webkit.org/show_bug.cgi?id=54738
63583
63584        * inspector/front-end/AuditRules.js:
63585        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
63586
635872011-02-21  Yury Semikhatsky  <yurys@chromium.org>
63588
63589        Reviewed by Pavel Feldman.
63590
63591        Web Inspector: create and destroy DOM agent along with InspectorAgent
63592        https://bugs.webkit.org/show_bug.cgi?id=54875
63593
63594        * GNUmakefile.am:
63595        * WebCore.gypi:
63596        * WebCore.pro:
63597        * WebCore.vcproj/WebCore.vcproj:
63598        * WebCore.xcodeproj/project.pbxproj:
63599        * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
63600        on this object.
63601        (WebCore::InstrumentingAgents::InstrumentingAgents):
63602        (WebCore::InstrumentingAgents::~InstrumentingAgents):
63603        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
63604        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
63605        (WebCore::InstrumentingAgents::inspectorConsoleAgent):
63606        (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
63607        (WebCore::InstrumentingAgents::inspectorDOMAgent):
63608        (WebCore::InstrumentingAgents::setInspectorDOMAgent):
63609        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
63610        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
63611        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
63612        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
63613        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
63614        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
63615        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
63616        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
63617        (WebCore::InstrumentingAgents::inspectorResourceAgent):
63618        (WebCore::InstrumentingAgents::setInspectorResourceAgent):
63619        (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
63620        (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
63621        (WebCore::InstrumentingAgents::inspectorStorageAgent):
63622        (WebCore::InstrumentingAgents::setInspectorStorageAgent):
63623        (WebCore::InstrumentingAgents::inspectorTimelineAgent):
63624        (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
63625        * inspector/InspectorAgent.cpp:
63626        (WebCore::InspectorAgent::InspectorAgent):
63627        (WebCore::InspectorAgent::setFrontend):
63628        (WebCore::InspectorAgent::disconnectFrontend):
63629        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
63630        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
63631        (WebCore::InspectorAgent::didCommitLoad):
63632        (WebCore::InspectorAgent::domContentLoadedEventFired):
63633        (WebCore::InspectorAgent::loadEventFired):
63634        * inspector/InspectorAgent.h:
63635        * inspector/InspectorCSSAgent.cpp:
63636        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
63637        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
63638        * inspector/InspectorCSSAgent.h:
63639        * inspector/InspectorConsoleAgent.cpp:
63640        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
63641        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
63642        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
63643        (WebCore::InspectorConsoleAgent::clearFrontend):
63644        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
63645        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
63646        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
63647        (WebCore::InspectorConsoleAgent::addConsoleMessage):
63648        * inspector/InspectorConsoleAgent.h:
63649        * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
63650        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
63651        (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
63652        is attached.
63653        (WebCore::InspectorDOMAgent::clearFrontend):
63654        * inspector/InspectorDOMAgent.h:
63655        (WebCore::InspectorDOMAgent::create):
63656
636572011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
63658
63659        Reviewed by Andreas Kling.
63660
63661        [Qt][V8]REGRESSION(r79157): Fix build
63662        https://bugs.webkit.org/show_bug.cgi?id=54871
63663
63664        * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
63665
636662011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
63667
63668        Reviewed by Mihai Parparita.
63669
63670        [V8] SerializedScriptValue: fix JS exception handling.
63671        https://bugs.webkit.org/show_bug.cgi?id=54555
63672
63673        Added checks for exceptions and empty handles:
63674        * bindings/v8/SerializedScriptValue.cpp:
63675        (WebCore::Serializer::Serializer):
63676        (WebCore::Serializer::serialize):
63677        (WebCore::Serializer::checkException):
63678        (WebCore::Serializer::reportFailure):
63679        (WebCore::Serializer::ArrayState::advance):
63680        (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
63681        (WebCore::Serializer::AbstractObjectState::advance):
63682        (WebCore::Serializer::push):
63683        (WebCore::Serializer::handleError):
63684        (WebCore::Serializer::newObjectState):
63685        (WebCore::Serializer::doSerialize):
63686        (WebCore::SerializedScriptValue::SerializedScriptValue):
63687
636882011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
63689
63690        Reviewed by Kent Tamura.
63691
63692        Add selectionchange event
63693        https://bugs.webkit.org/show_bug.cgi?id=45712
63694
63695        Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
63696        This event is not cancelable and does not bubble. An event listener can be attached to a document by
63697        body element's onselectionchange attribute or via document's onselectionchange property.
63698
63699        Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
63700        fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
63701        will not observe the event before the control returns to JavaScript.
63702
63703        See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
63704
63705        Tests: fast/events/selectionchange-iframe.html
63706               fast/events/selectionchange-user-initiated.html
63707
63708        * dom/Document.cpp:
63709        (WebCore::Document::enqueueDocumentEvent): Added.
63710        * dom/Document.h: Added selectionchange event listener.
63711        * dom/Document.idl: Added onselectionchagne attribute.
63712        * dom/EventNames.h: Added selectionchange
63713        * editing/SelectionController.cpp:
63714        (WebCore::SelectionController::setSelection): Fires selectionchange event.
63715        * html/HTMLAttributeNames.in: Added onselectionchange.
63716        * html/HTMLBodyElement.cpp:
63717        (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
63718
637192011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
63720
63721        Reviewed by Pavel Feldman.
63722
63723        Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
63724        https://bugs.webkit.org/show_bug.cgi?id=54859
63725
63726        * inspector/CodeGeneratorInspector.pm:
63727
637282011-02-21  Pavel Feldman  <pfeldman@chromium.org>
63729
63730        Reviewed by Yury Semikhatsky.
63731
63732        Web Inspector: generate protocol documentation based on IDL.
63733        https://bugs.webkit.org/show_bug.cgi?id=54822
63734
63735        * inspector/CodeGeneratorInspector.pm:
63736
637372011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
63738
63739        Reviewed by Martin Robinson.
63740
63741        [GStreamer] Add URI queries support in webkitwebsrc
63742        https://bugs.webkit.org/show_bug.cgi?id=54627
63743
63744        This allow replying to URI queries from downstream elements
63745        with the uri currently set in the source element.
63746
63747        No new tests, this feature is dedicated to internal GStreamer use,
63748        such as the upcoming HTTP Live Streaming element.
63749
63750        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
63751        (webKitWebSrcQuery):
63752
637532011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
63754
63755        Reviewed by Martin Robinson.
63756
63757        [GStreamer] Add 'location' property in webkitwebsrc
63758        https://bugs.webkit.org/show_bug.cgi?id=54628
63759
63760        No new tests, this feature is dedicated to internal GStreamer use,
63761        such as the upcoming HTTP Live Streaming element.
63762
63763        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
63764        (webkit_web_src_class_init):
63765        (webKitWebSrcSetProperty):
63766        (webKitWebSrcGetProperty):
63767
637682011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
63769
63770        Reviewed by Kent Tamura.
63771
63772        Rename Position::node() to Position::deprecatedNode()
63773        https://bugs.webkit.org/show_bug.cgi?id=54622
63774
63775        Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
63776        calls were of the form node()->document() and node()->inDocument() in which case they were
63777        replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
63778
63779        * WebCore.exp.in: Added Position::containerNode.
63780
63781        The rest abbreviated for simplicity. Please see svn log.
63782
637832011-02-20  Gavin Barraclough  <barraclough@apple.com>
63784
63785        Build fix (remove includes).
63786
63787        * bindings/js/JSDOMBinding.cpp:
63788        * bindings/js/JSDOMWindowCustom.cpp:
63789        * bindings/js/JSHistoryCustom.cpp:
63790        * bindings/js/JSLocationCustom.cpp:
63791
637922011-02-20  Gavin Barraclough  <barraclough@apple.com>
63793
63794        Reviewed by Oliver Hunt.
63795
63796        https://bugs.webkit.org/show_bug.cgi?id=54839
63797        Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
63798
63799        Historically, Native functions used to be represented by PrototypeFunctions, however
63800        since introducing call optimizations to the JIT this has used JSFunctions for host
63801        calls too. At the point this change was made, the interpreter continued to use
63802        PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
63803        the interpreter has had to be able to run using host functions represented using
63804        JSFunctions - leading to an unnecessary and redundant divergence in behaviour between
63805        interpreter only builds, and situations where the JIT has fallen back to interpreting.
63806
63807        NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
63808        for wrappers for host functions, and as such can also be removed.
63809
63810        GlobalEvalFunction is a redundant wrapper that happens to be derived from
63811        PrototypeFunction. It existed to hold a reference to the global object - but since all
63812        functions how derive from JSObjectWithGlobalObject, this no longer requires an
63813        additional class to provide this functionality.
63814
63815        * bindings/js/JSDOMBinding.cpp:
63816        * bindings/js/JSDOMWindowCustom.cpp:
63817        * bindings/js/JSHistoryCustom.cpp:
63818        * bindings/js/JSLocationCustom.cpp:
63819            Removed use of redundant classes.
63820
638212011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
63822
63823        Unreviewed, rolling out r79169.
63824        http://trac.webkit.org/changeset/79169
63825        https://bugs.webkit.org/show_bug.cgi?id=54846
63826
63827        Made unexpected results for tests without CJK characters
63828        (Requested by tkent on #webkit).
63829
63830        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
63831        (WebCore::FontCache::createFontPlatformData):
63832        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
63833        (WebCore::FontPlatformData::FontPlatformData):
63834        (WebCore::FontPlatformData::operator=):
63835        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
63836        (WebCore::FontPlatformData::orientation):
63837        * platform/graphics/skia/FontCustomPlatformData.cpp:
63838        (WebCore::FontCustomPlatformData::fontPlatformData):
63839
638402011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
63841
63842        Reviewed by Kent Tamura.
63843
63844        On Chromium Windows, glyphs in vertical text tests are rotated 90
63845        degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
63846
63847        This platform dependent patch makes Chromium Windows show the
63848        vertical writing text correctly. Job was done by adding a prefix '@'
63849        in front of the font family name (Windows Only). No new tests added.
63850
63851        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
63852        (WebCore::FontCache::createFontPlatformData):
63853        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
63854        (WebCore::FontPlatformData::FontPlatformData):
63855        (WebCore::FontPlatformData::operator=):
63856        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
63857        (WebCore::FontPlatformData::orientation):
63858        * platform/graphics/skia/FontCustomPlatformData.cpp:
63859        (WebCore::FontCustomPlatformData::fontPlatformData):
63860
638612011-02-20  Simon Fraser  <simon.fraser@apple.com>
63862
63863        Reviewed by Dirk Schulze.
63864
63865        REGRESSION (r73369-r73405): transform animation interpolates incorrectly
63866        https://bugs.webkit.org/show_bug.cgi?id=54793
63867
63868        After the refactoring in r73380, the ending state for some types of
63869        accelerated animations was computed incorrectly, because the TransformationMatrix
63870        wasn't reset to identity before the ending value transformations were applied.
63871
63872        Fix by cleaning up the code to use explicit, separate values for
63873        starting and ending values. Only matrix-type animations had this
63874        issue, but cleaned up other clauses similarly.
63875
63876        Test: animations/3d/matrix-transform-type-animation.html
63877
63878        * platform/graphics/ca/GraphicsLayerCA.cpp:
63879        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
63880
638812011-02-20  Dan Bernstein  <mitz@apple.com>
63882
63883        Reviewed by Maciej Stachowiak.
63884
63885        <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
63886
63887        Test: fast/frames/iframe-scale-applied-twice.html
63888
63889        * page/FrameView.cpp:
63890        (WebCore::FrameView::create): Set the initial bounds of the view to match the
63891        frame size.
63892        * platform/ScrollView.cpp:
63893        (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
63894        (WebCore::ScrollView::updateScrollbars): Ditto.
63895        (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
63896        change to setBoundsSize().
63897        (WebCore::ScrollView::setBoundsSize): Added.
63898        (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
63899        not update anything.
63900        (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
63901        (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
63902        * platform/ScrollView.h:
63903        (WebCore::ScrollView::boundsSize): Added this getter.
63904        * platform/Widget.h:
63905        (WebCore::Widget::resize): Set the bounds size to the frame size.
63906        * platform/mac/ScrollbarThemeMac.mm:
63907        (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
63908        path where the buffer rect was resized to capture only the damaged part, but was
63909        still drawn in the original location.
63910
639112011-02-20  Alexey Proskuryakov  <ap@apple.com>
63912
63913        Reviewed by Eric Seidel.
63914
63915        Tighten up access permissions by using libxslt API
63916        https://bugs.webkit.org/show_bug.cgi?id=52688
63917        <rdar://problem/8909191>
63918
63919        * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
63920        interested in a string result, so let libxslt know about that.
63921
639222011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
63923
63924        Unreviewed, rolling out r79104.
63925        http://trac.webkit.org/changeset/79104
63926        https://bugs.webkit.org/show_bug.cgi?id=54835
63927
63928        Might have caused flaky canaries (Requested by tonyg-cr on
63929        #webkit).
63930
63931        * html/parser/HTMLDocumentParser.cpp:
63932        (WebCore::HTMLDocumentParser::canTakeNextToken):
63933        (WebCore::HTMLDocumentParser::pumpTokenizer):
63934        * html/parser/HTMLParserScheduler.cpp:
63935        (WebCore::isLayoutTimerActive):
63936        * html/parser/HTMLParserScheduler.h:
63937        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
63938        * page/FrameView.h:
63939
639402011-02-20  Dirk Schulze  <krit@webkit.org>
63941
63942        Reviewed by Nikolas Zimmermann.
63943
63944        SVG animation - analyze attribute type for animation
63945        https://bugs.webkit.org/show_bug.cgi?id=54542
63946
63947        Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
63948        with AnimatedAttributeType instead. More cleanup of the animation code.
63949        Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
63950
63951        Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
63952        from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
63953
63954        No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
63955        animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
63956        with the W3C test suite in trunk.
63957
63958        The change on SVGUseElement gets covered by animate-elem-39-t.svg
63959
63960        Test: svg/animations/animate-dynamic-update-attributeName.html
63961
63962        * svg/SVGAnimateElement.cpp:
63963        (WebCore::SVGAnimateElement::SVGAnimateElement):
63964        (WebCore::SVGAnimateElement::hasValidAttributeType):
63965        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
63966        (WebCore::SVGAnimateElement::calculateAnimatedValue):
63967        (WebCore::inheritsFromProperty):
63968        (WebCore::SVGAnimateElement::calculateFromAndToValues):
63969        (WebCore::SVGAnimateElement::calculateFromAndByValues):
63970        (WebCore::SVGAnimateElement::resetToBaseValue):
63971        (WebCore::SVGAnimateElement::applyResultsToTarget):
63972        (WebCore::SVGAnimateElement::calculateDistance):
63973        * svg/SVGAnimateElement.h:
63974        * svg/SVGAnimateMotionElement.cpp:
63975        (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
63976        (WebCore::parsePoint):
63977        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
63978        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
63979        (WebCore::SVGAnimateMotionElement::calculateDistance):
63980        * svg/SVGAnimateMotionElement.h:
63981        * svg/SVGAnimateTransformElement.cpp:
63982        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
63983        (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
63984        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
63985        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
63986        (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
63987        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
63988        (WebCore::SVGAnimateTransformElement::calculateDistance):
63989        * svg/SVGAnimateTransformElement.h:
63990        * svg/SVGAnimationElement.cpp:
63991        (WebCore::parseKeyTimes):
63992        (WebCore::parseKeySplines):
63993        (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
63994        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
63995        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
63996        (WebCore::solveEpsilon):
63997        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
63998        (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
63999        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
64000        (WebCore::SVGAnimationElement::startedActiveInterval):
64001        * svg/SVGAnimationElement.h:
64002        * svg/SVGFilterElement.cpp:
64003        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
64004        * svg/SVGGElement.cpp:
64005        (WebCore::SVGGElement::attributeToPropertyTypeMap):
64006        (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
64007        * svg/SVGGElement.h:
64008        * svg/SVGUseElement.cpp:
64009        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
64010        * svg/animation/SMILTimeContainer.cpp:
64011        (WebCore::SMILTimeContainer::baseValueFor):
64012        (WebCore::SMILTimeContainer::updateAnimations):
64013        * svg/animation/SMILTimeContainer.h:
64014        * svg/animation/SVGSMILElement.cpp:
64015        (WebCore::SVGSMILElement::SVGSMILElement):
64016        (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
64017        (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
64018        (WebCore::SVGSMILElement::removedFromDocument): Ditto.
64019        (WebCore::SVGSMILElement::attributeChanged): Ditto.
64020        * svg/animation/SVGSMILElement.h:
64021        (WebCore::SVGSMILElement::attributeName):
64022
640232011-02-20  David Kilzer  <ddkilzer@apple.com>
64024
64025        BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
64026
64027        Not reviewed.
64028
64029        * rendering/RenderLayerCompositor.cpp:
64030        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
64031
640322011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
64033
64034        Reviewed by Martin Robinson.
64035
64036        [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
64037        https://bugs.webkit.org/show_bug.cgi?id=52880
64038
64039        * platform/gtk/KeyEventGtk.cpp:
64040        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
64041
640422011-02-19  Andreas Kling  <kling@webkit.org>
64043
64044        Reviewed by Oliver Hunt.
64045
64046        DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
64047        https://bugs.webkit.org/show_bug.cgi?id=54545
64048
64049        * page/DragController.cpp:
64050        (WebCore::DragController::concludeEditDrag):
64051
640522011-02-19  Sam Weinig  <sam@webkit.org>
64053
64054        Reviewed by Anders Carlsson.
64055
64056        Add phase in addition to momentumPhase to platform wheel events
64057        Part of <rdar://problem/8945362>
64058
64059        Rename existing phase to momentumPhase.
64060
64061        * platform/PlatformWheelEvent.h:
64062        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
64063        (WebCore::PlatformWheelEvent::momentumPhase):
64064        * platform/mac/ScrollAnimatorMac.mm:
64065        (WebCore::ScrollAnimatorMac::handleWheelEvent):
64066        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
64067        * platform/mac/WheelEventMac.mm:
64068        (WebCore::momentumPhaseForEvent):
64069        (WebCore::phaseForEvent):
64070        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
64071
640722011-02-19  Gavin Barraclough  <barraclough@apple.com>
64073
64074        Qt build fix.
64075
64076        * bridge/runtime_method.h:
64077        (JSC::RuntimeMethod::createStructure):
64078
640792011-02-19  Gavin Barraclough  <barraclough@apple.com>
64080
64081        Qt build fix.
64082
64083        * bridge/qt/qt_instance.cpp:
64084        * bridge/qt/qt_pixmapruntime.cpp:
64085
640862011-02-19  Gavin Barraclough  <barraclough@apple.com>
64087
64088        Qt build fix.
64089
64090        * bridge/qt/qt_instance.cpp:
64091        (JSC::Bindings::QtInstance::getMethod):
64092        * bridge/qt/qt_pixmapruntime.cpp:
64093        (JSC::Bindings::QtPixmapInstance::getMethod):
64094
640952011-02-18  Gavin Barraclough  <barraclough@apple.com>
64096
64097        Reviewed by Sam Weinig.
64098
64099        Bug 54786 - Devirtualize JSCell::classInfo()
64100
64101        Instead of making a virtual function call, add a pointer to the ClassInfo
64102        onto Structure.
64103
64104        This removes a virtual function call, and paves the way towards removing all
64105        the createStructure methods, and StructureFlags/AnonymousSlotCount properties
64106        (these should be able to move onto ClassInfo).
64107
64108        Calls to Structure::create must now pass a pointer to the ClassInfo for the
64109        structure. All objects now have a ClassInfo pointer, non-object cell types
64110        still do not.
64111
64112        Changes are most mechanical, involving three steps:
64113            * Remove virtual classInfo() methods.
64114            * Add &s_info parameter to calls to Structure::create.
64115            * Rename ClassInfo static members on classes from 'info' to 's_info',
64116              for consistency.
64117
64118        * WebCore.exp.in:
64119        * bindings/js/JSAudioConstructor.cpp:
64120        * bindings/js/JSAudioConstructor.h:
64121        * bindings/js/JSDOMBinding.cpp:
64122        * bindings/js/JSDOMBinding.h:
64123        * bindings/js/JSDOMGlobalObject.cpp:
64124        * bindings/js/JSDOMGlobalObject.h:
64125        * bindings/js/JSDOMWindowBase.cpp:
64126        * bindings/js/JSDOMWindowBase.h:
64127        * bindings/js/JSDOMWindowShell.cpp:
64128        * bindings/js/JSDOMWindowShell.h:
64129        * bindings/js/JSGeolocationCustom.cpp:
64130        * bindings/js/JSImageConstructor.cpp:
64131        * bindings/js/JSImageConstructor.h:
64132        * bindings/js/JSImageDataCustom.cpp:
64133        * bindings/js/JSOptionConstructor.cpp:
64134        * bindings/js/JSOptionConstructor.h:
64135        * bindings/js/JSWorkerContextBase.cpp:
64136        * bindings/js/JSWorkerContextBase.h:
64137        * bindings/js/SerializedScriptValue.cpp:
64138        * bindings/scripts/CodeGeneratorJS.pm:
64139        * bridge/c/CRuntimeObject.cpp:
64140        * bridge/c/CRuntimeObject.h:
64141        * bridge/c/c_instance.cpp:
64142        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
64143        * bridge/jni/jsc/JavaInstanceJSC.cpp:
64144        * bridge/jni/jsc/JavaRuntimeObject.cpp:
64145        * bridge/jni/jsc/JavaRuntimeObject.h:
64146        * bridge/jsc/BridgeJSC.cpp:
64147        * bridge/objc/ObjCRuntimeObject.h:
64148        * bridge/objc/ObjCRuntimeObject.mm:
64149        * bridge/objc/objc_instance.mm:
64150        * bridge/objc/objc_runtime.h:
64151        * bridge/objc/objc_runtime.mm:
64152        * bridge/runtime_array.cpp:
64153        * bridge/runtime_array.h:
64154        * bridge/runtime_method.cpp:
64155        * bridge/runtime_method.h:
64156        * bridge/runtime_object.cpp:
64157        * bridge/runtime_object.h:
64158
641592011-02-19  Zan Dobersek  <zandobersek@gmail.com>
64160
64161        Reviewed by Martin Robinson.
64162
64163        [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
64164        https://bugs.webkit.org/show_bug.cgi?id=54491
64165
64166        When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
64167        and would round to 0, alter the behaviour to ensure that width or height are
64168        at least 1 pixel in size in these cases.
64169
64170        * platform/graphics/cairo/GraphicsContextCairo.cpp:
64171        (WebCore::GraphicsContext::roundToDevicePixels):
64172
641732011-02-19  Dan Bernstein  <mitz@apple.com>
64174
64175        LLVM Compiler build fix.
64176
64177        * platform/graphics/ShadowBlur.cpp:
64178        (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
64179        a global initializer since the compiler does not evaluate sqrtf at compile time.
64180
641812011-02-19  Brian Ryner  <bryner@chromium.org>
64182
64183        Reviewed by Adam Barth.
64184
64185        Replace the #include of DocumentLoader.h in Document.h with a
64186        forward declaration, and add a missing #include now that this
64187        transitive include is gone.
64188        https://bugs.webkit.org/show_bug.cgi?id=50489
64189
64190        No new tests required.
64191
64192        * bindings/ScriptControllerBase.cpp:
64193        * dom/Document.h:
64194
641952011-02-19  Patrick Gansterer  <paroga@webkit.org>
64196
64197        Reviewed by Antonio Gomes.
64198
64199        [EFL] Remove WebCore::currentTime()
64200        https://bugs.webkit.org/show_bug.cgi?id=53886
64201
64202        There is no declaration for it and we use WTF::currentTime() everywhere.
64203
64204        * platform/efl/SystemTimeEfl.cpp:
64205
642062011-02-19  Patrick Gansterer  <paroga@webkit.org>
64207
64208        Reviewed by Andreas Kling.
64209
64210        Move KeygenWinCE from wince into win directory
64211        https://bugs.webkit.org/show_bug.cgi?id=54804
64212
64213        Move this file into the win directory, since it can be used on all windows platforms.
64214
64215        * CMakeListsWinCE.txt:
64216        * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
64217
642182011-02-19  Patrick Gansterer  <paroga@webkit.org>
64219
64220        Reviewed by Andreas Kling.
64221
64222        Make FileChooserWin.cpp more portable and use it on WinCE
64223        https://bugs.webkit.org/show_bug.cgi?id=54803
64224
64225        * CMakeListsWinCE.txt:
64226        * platform/win/FileChooserWin.cpp:
64227        (WebCore::FileChooser::basenameForWidth):
64228        * platform/wince/FileChooserWinCE.cpp: Removed.
64229
642302011-02-19  James Simonsen  <simonjam@chromium.org>
64231
64232        Reviewed by Adam Barth.
64233
64234        Make ScriptElement match the HTML5 spec
64235        https://bugs.webkit.org/show_bug.cgi?id=54676
64236
64237        This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
64238        http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
64239
64240        There are a couple of things missing from the spec that would be new functionality. These will be added later.
64241        - Support for async=false
64242        - Empty src attribute should dispatch an error.
64243
64244        There are a couple of slight behavioral changes to match the spec.
64245        - An XHTML script that is loaded then copied will not fire load on the copy.
64246        - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
64247
64248        The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
64249
64250        Test: All existing tests.
64251
64252        * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
64253        (WebCore::ScriptElement::ScriptElement):
64254        (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
64255        (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
64256        (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
64257        (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
64258        (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
64259        (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
64260        (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
64261        (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
64262        (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
64263        (WebCore::ScriptElement::execute): Renamed executeScript.
64264        (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
64265        (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
64266        (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
64267        (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
64268        * dom/ScriptElement.h:
64269        (WebCore::ScriptElement::willBeParserExecuted): Added.
64270        (WebCore::ScriptElement::readyToBeParserExecuted): Added.
64271        (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
64272        (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
64273        (WebCore::ScriptElement::isParserInserted): Added.
64274        * dom/XMLDocumentParserLibxml2.cpp:
64275        (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
64276        * dom/XMLDocumentParserQt.cpp:
64277        (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
64278        * html/HTMLScriptElement.cpp:
64279        (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
64280        (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
64281        * html/HTMLScriptElement.h:
64282        * html/parser/HTMLScriptRunner.cpp:
64283        (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
64284        (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
64285        * svg/SVGScriptElement.cpp:
64286        (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
64287        (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
64288        (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
64289        (WebCore::SVGScriptElement::hasSourceAttribute): Added.
64290        (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
64291        * svg/SVGScriptElement.h:
64292
642932011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
64294
64295        Reviewed by James Robinson.
64296
64297        Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
64298        https://bugs.webkit.org/show_bug.cgi?id=54789
64299
64300        * WebCore.gyp/WebCore.gyp:
64301
643022011-02-19  Bill Budge  <bbudge@chromium.org>
64303
64304        Reviewed by David Levin.
64305
64306        ThreadableLoaderClient needs willSendRequest method
64307        https://bugs.webkit.org/show_bug.cgi?id=54688
64308
64309        No new tests. Exposes no new functionality
64310
64311        * WebCore.gypi:
64312        * loader/DocumentThreadableLoader.cpp:
64313        (WebCore::DocumentThreadableLoader::willSendRequest):
64314        (WebCore::DocumentThreadableLoader::didReceiveData):
64315        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
64316        * loader/DocumentThreadableLoaderClient.h: Added.
64317        (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
64318        (WebCore::DocumentThreadableLoaderClient::willSendRequest):
64319        * loader/ThreadableLoaderClient.h:
64320        (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
64321
643222011-02-19  Charlie Reis  <creis@chromium.org>
64323
64324        Reviewed by Mihai Parparita.
64325
64326        Ensure loading has stopped in HistoryController::goToItem
64327        https://bugs.webkit.org/show_bug.cgi?id=54517
64328
64329        Avoid stopping all loaders in goToItem for same document navigations
64330        or pseudo-back-forward URLs.  Make HistoryController::goToItem private
64331        to force callers to go through Page::goToItem.  Also add a callback to
64332        FrameLoaderClient to let clients decide whether to stop loading first.
64333
64334        Test: http/tests/navigation/forward-to-fragment-fires-onload.html
64335
64336        * loader/EmptyClients.h:
64337        * loader/FrameLoader.h:
64338        * loader/FrameLoaderClient.h:
64339        * loader/HistoryController.cpp:
64340        * loader/HistoryController.h:
64341        * page/Page.cpp:
64342
643432011-02-19  Adam Barth  <abarth@webkit.org>
64344
64345        Reviewed by Daniel Bates.
64346
64347        Fix xssAuditor/iframe-injection.html
64348        https://bugs.webkit.org/show_bug.cgi?id=54591
64349
64350        We should block the iframe src attribute.  Although this technically
64351        can't be used to run script, it's a pretty easy vector for stealing
64352        passwords.
64353
64354        * html/parser/XSSFilter.cpp:
64355        (WebCore::XSSFilter::filterTokenInitial):
64356        (WebCore::XSSFilter::filterIframeToken):
64357        * html/parser/XSSFilter.h:
64358
643592011-02-18  Tony Gentilcore  <tonyg@chromium.org>
64360
64361        Reviewed by Eric Seidel.
64362
64363        Let the parser yield for layout before running scripts
64364        https://bugs.webkit.org/show_bug.cgi?id=54355
64365
64366        Prior to this patch, the parser would yield to perform a layout/paint before running a
64367        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
64368        don't preload scan into the body while parsing the head, typically we'll block on a script
64369        early in the body that causes us to yield to do the first paint within a reasonable time.
64370
64371        However, I'm planning to change the PreloadScanner to scan into the body from the head.
64372        That significantly improves overall load time, but would hurt first paint time because
64373        fewer scripts would be blocked during parsing and thus wouldn't yield.
64374
64375        This change causes us to yield before running scripts if we haven't painted yet (regardless
64376        of whether or not the script is loaded). In addition to allowing the above mentioned
64377        PreloadScanner change to be implemented without regressing first paint time, this also
64378        improves first paint time by itself.
64379
64380        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
64381        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
64382        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
64383        signifcant change in page load time.
64384
64385        Within the pages tested, 33 had no statistically significant change in time to first paint,
64386        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
64387        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
64388
64389        * html/parser/HTMLDocumentParser.cpp:
64390        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
64391        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
64392        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
64393        the right thing whether we are just before a token or waiting for a script. Now that we may
64394        yield before a token or before a script, this may be called while paused.
64395        * html/parser/HTMLParserScheduler.cpp:
64396        (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
64397        to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
64398        no longer works. The fix is to change it to check minimumLayoutDelay() ==
64399        m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
64400        do this in a follow up.
64401        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
64402        * page/FrameView.h:
64403        (WebCore::FrameView::hasEverPainted): Added.
64404
644052011-02-18  Dawit Alemayehu  <adawit@kde.org>
64406
64407        Reviewed by Andreas Kling.
64408
64409        [Qt]  Button Element is rendered w/ text off-center.
64410        https://bugs.webkit.org/show_bug.cgi?id=53373
64411
64412        Test: LayoutTests/fast/forms/button-white-space.html
64413
64414        * platform/qt/RenderThemeQt.cpp:
64415        (WebCore::RenderThemeQt::adjustButtonStyle):
64416
644172011-02-18  Jonathan Backer  <backer@chromium.org>
64418
64419        Reviewed by Eric Seidel.
64420
64421        [chromium] Fix leak of texture IDs in compositor.
64422        https://bugs.webkit.org/show_bug.cgi?id=54750
64423
64424        No new tests. It is extremely unlikely that this leak would have
64425        any user visible impact because only a few bytes of space are wasted
64426        (we're leaking texture IDs, not actual textures) and the space of
64427        texture IDs is large (32 bits).
64428
64429       * platform/graphics/chromium/TextureManager.cpp:
64430        (WebCore::TextureManager::requestTexture):
64431
644322011-02-18  Yi Shen  <yi.4.shen@nokia.com>
64433
64434        Reviewed by Tor Arne Vestbø.
64435
64436        Always display the media controls when requiresFullscreenForVideoPlayback() is true
64437        https://bugs.webkit.org/show_bug.cgi?id=54308
64438
64439        For video element, it should have controls when
64440        Chrome::requiresFullscreenForVideoPlayback() is true.
64441
64442        * html/HTMLMediaElement.cpp:
64443        (WebCore::HTMLMediaElement::controls):
64444
644452011-02-18  Adrienne Walker  <enne@google.com>
64446
64447        Reviewed by Kenneth Russell.
64448
64449        [chromium] Use nearest-neighbor filtering for root layer.
64450        https://bugs.webkit.org/show_bug.cgi?id=54409
64451        https://bugs.webkit.org/show_bug.cgi?id=54509
64452
64453        This setting creates more consistent images for LayoutTests and
64454        prevents small floating point errors in texture coordinates from
64455        creating off-by-one pixel color differences.
64456
64457        * platform/graphics/chromium/LayerTilerChromium.cpp:
64458        (WebCore::LayerTilerChromium::update):
64459
644602011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
64461
64462        Reviewed by Kent Tamura.
64463
64464        [EFL] Fix coding style errors in RenderThemeEfl.h
64465        https://bugs.webkit.org/show_bug.cgi?id=54693
64466
64467        Fix style errors in RenderThemeEfl.h
64468
64469        * platform/efl/RenderThemeEfl.h:
64470
644712011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
64472
64473        Reviewed by Andreas Kling.
64474
64475        [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
64476        https://bugs.webkit.org/show_bug.cgi?id=54742
64477
64478        This change was applied in the Qt repository (qt/src/3rdparty/webkit),
64479        so we should do the same here in QtWebKit.
64480
64481        Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
64482        a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
64483
64484        The previously used name "Nokia, Qt" was not usable for Nokia
64485        Content Signing, which only allows "Nokia" as the visible vendor
64486        name. The unique vendor ID remains as "Nokia, Qt"
64487
64488        * WebCore.pro:
64489
644902011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
64491
64492        Reviewed by Andreas Kling.
64493
64494        [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
64495        menu bar due to flash.
64496        https://bugs.webkit.org/show_bug.cgi?id=54741
64497
64498        Only show plugins with a valid size. We then don't involve X11 if there is
64499        nothing to see anyway.
64500
64501        * plugins/qt/PluginViewQt.cpp:
64502        (WebCore::PluginView::updatePluginWidget):
64503        (WebCore::PluginView::platformStart):
64504
645052011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
64506
64507        Reviewed by Kent Tamura.
64508
64509        [EFL] Remove GDK dependency.
64510        https://bugs.webkit.org/show_bug.cgi?id=53978
64511
64512        Remove GLIB_SUPPORT macro in GDK related code.
64513        Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
64514
64515        * CMakeListsEfl.txt:
64516        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
64517        (WebCore::getDefaultFontOptions):
64518
645192011-02-18  Noel Gordon  <noel.gordon@gmail.com>
64520
64521        Reviewed by James Robinson.
64522
64523        [Chromium] Add elliptical gradient support to GradientSkia
64524        https://bugs.webkit.org/show_bug.cgi?id=51841
64525
64526        Covered by existing tests, these need new rebaselines once this patch
64527        lands for chrome linux, win32
64528
64529        fast/gradients/css3-color-stop-units.html
64530        fast/gradients/css3-color-stops.html
64531        fast/gradients/css3-linear-angle-gradients.html
64532        fast/gradients/css3-radial-gradients.html
64533        fast/gradients/css3-radial-gradients2.html
64534        fast/gradients/css3-radial-gradients3.html
64535        fast/gradients/css3-repeating-radial-gradients.html
64536
64537        * platform/graphics/skia/GradientSkia.cpp:
64538        (WebCore::Gradient::platformGradient):
64539
645402011-02-18  James Robinson  <jamesr@chromium.org>
64541
64542        Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
64543
64544        * platform/graphics/chromium/ContentLayerChromium.cpp:
64545        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
64546
645472011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
64548
64549        Reviewed by Kenneth Rohde Christiansen.
64550
64551        Tiled backing store area is too big.
64552        Error in area calculcation causes size of backing store
64553        up to 6 times bigger than viewport with default multipliers.
64554        https://bugs.webkit.org/show_bug.cgi?id=54587
64555
64556        * platform/graphics/TiledBackingStore.cpp:
64557        (WebCore::TiledBackingStore::createTiles):
64558
645592011-02-18  Beth Dakin  <bdakin@apple.com>
64560
64561        Reviewed by Sam Weinig.
64562
64563        Fix for <rdar://problem/9018729> Horizontal scroller doesn't
64564        appear when loading a page with a Horizontal scrollbar from
64565        the back/forward cache.
64566
64567        This patch adds a new  bool member variable to FrameView to
64568        keep track of whether we are loading a page from the back/
64569        forward cache. If we are, don't suppress scrollbars on
64570        first layout.
64571        * history/CachedFrame.cpp:
64572        (WebCore::CachedFrameBase::restore):
64573        * page/FrameView.cpp:
64574        (WebCore::FrameView::FrameView):
64575        (WebCore::FrameView::reset):
64576        (WebCore::FrameView::layout):
64577        * page/FrameView.h:
64578        (WebCore::FrameView::setIsRestoringFromBackForward):
64579        (WebCore::FrameView::isRestoringFromBackForward):
64580
645812011-02-18  Patrick Gansterer  <paroga@webkit.org>
64582
64583        Unreviewed WinCE build fix for r78846.
64584
64585        * platform/graphics/wince/FontWinCE.cpp:
64586        (WebCore::TextRunComponent::TextRunComponent):
64587        * platform/graphics/wince/GraphicsContextWinCE.cpp:
64588        (WebCore::GraphicsContext::drawLineForText):
64589        (WebCore::GraphicsContext::drawLineForTextChecking):
64590        (WebCore::GraphicsContext::drawText):
64591        * platform/wince/FileChooserWinCE.cpp:
64592        (WebCore::FileChooser::basenameForWidth):
64593
645942011-02-18  Emil A Eklund  <eae@chromium.org>
64595
64596        Reviewed by Darin Adler.
64597
64598        Crash in EventHandler::sendContextMenuEventForKey
64599        https://bugs.webkit.org/show_bug.cgi?id=54495
64600
64601        Test: fast/events/menu-keydown-on-hidden-element.html
64602
64603        * page/EventHandler.cpp:
64604        (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
64605
646062011-02-15  Adrienne Walker  <enne@google.com>
64607
64608        Reviewed by James Robinson.
64609
64610        [chromium] Clean up shader code from LayerChromium classes
64611        https://bugs.webkit.org/show_bug.cgi?id=54484
64612
64613        This is a refactoring and there should be no change in functionality.
64614        All shader code is pulled out into classes in ShaderChromium.
64615        The SharedValues classes are now turned into ProgramBinding, one per
64616        shader program.  These contain shader classes that know about what
64617        variables they can bind.
64618
64619        * WebCore.gypi:
64620        * platform/graphics/chromium/CanvasLayerChromium.cpp:
64621        (WebCore::CanvasLayerChromium::draw):
64622        * platform/graphics/chromium/CanvasLayerChromium.h:
64623        * platform/graphics/chromium/ContentLayerChromium.cpp:
64624        (WebCore::ContentLayerChromium::draw):
64625        * platform/graphics/chromium/ContentLayerChromium.h:
64626        * platform/graphics/chromium/GeometryBinding.cpp: Added.
64627        (WebCore::GeometryBinding::GeometryBinding):
64628        (WebCore::GeometryBinding::~GeometryBinding):
64629        (WebCore::GeometryBinding::prepareForDraw):
64630        * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
64631        (WebCore::GeometryBinding::initialized):
64632        (WebCore::GeometryBinding::context):
64633        (WebCore::GeometryBinding::quadVerticesVbo):
64634        (WebCore::GeometryBinding::quadElementsVbo):
64635        (WebCore::GeometryBinding::positionAttribLocation):
64636        (WebCore::GeometryBinding::texCoordAttribLocation):
64637        * platform/graphics/chromium/LayerChromium.cpp:
64638        (WebCore::LayerChromium::drawDebugBorder):
64639        * platform/graphics/chromium/LayerChromium.h:
64640        * platform/graphics/chromium/LayerRendererChromium.cpp:
64641        (WebCore::LayerRendererChromium::drawLayers):
64642        (WebCore::LayerRendererChromium::initializeSharedObjects):
64643        (WebCore::LayerRendererChromium::cleanupSharedObjects):
64644        * platform/graphics/chromium/LayerRendererChromium.h:
64645        (WebCore::LayerRendererChromium::sharedGeometry):
64646        (WebCore::LayerRendererChromium::borderProgram):
64647        (WebCore::LayerRendererChromium::contentLayerProgram):
64648        (WebCore::LayerRendererChromium::canvasLayerProgram):
64649        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
64650        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
64651        (WebCore::LayerRendererChromium::pluginLayerProgram):
64652        (WebCore::LayerRendererChromium::renderSurfaceProgram):
64653        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
64654        (WebCore::LayerRendererChromium::tilerProgram):
64655        * platform/graphics/chromium/LayerTilerChromium.cpp:
64656        (WebCore::LayerTilerChromium::draw):
64657        (WebCore::LayerTilerChromium::drawTexturedQuad):
64658        * platform/graphics/chromium/LayerTilerChromium.h:
64659        * platform/graphics/chromium/PluginLayerChromium.cpp:
64660        (WebCore::PluginLayerChromium::draw):
64661        * platform/graphics/chromium/PluginLayerChromium.h:
64662        * platform/graphics/chromium/ProgramBinding.cpp: Added.
64663        (WebCore::ProgramBindingBase::ProgramBindingBase):
64664        (WebCore::ProgramBindingBase::~ProgramBindingBase):
64665        (WebCore::ProgramBindingBase::init):
64666        (WebCore::ProgramBindingBase::loadShader):
64667        (WebCore::ProgramBindingBase::createShaderProgram):
64668        * platform/graphics/chromium/ProgramBinding.h: Added.
64669        (WebCore::ProgramBindingBase::program):
64670        (WebCore::ProgramBindingBase::initialized):
64671        (WebCore::ProgramBinding::ProgramBinding):
64672        (WebCore::ProgramBinding::vertexShader):
64673        (WebCore::ProgramBinding::fragmentShader):
64674        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
64675        (WebCore::RenderSurfaceChromium::drawSurface):
64676        * platform/graphics/chromium/RenderSurfaceChromium.h:
64677        * platform/graphics/chromium/ShaderChromium.cpp: Added.
64678        (WebCore::VertexShaderPosTex::VertexShaderPosTex):
64679        (WebCore::VertexShaderPosTex::init):
64680        (WebCore::VertexShaderPosTex::getShaderString):
64681        (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
64682        (WebCore::VertexShaderPosTexYUVStretch::init):
64683        (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
64684        (WebCore::VertexShaderPos::VertexShaderPos):
64685        (WebCore::VertexShaderPos::init):
64686        (WebCore::VertexShaderPos::getShaderString):
64687        (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
64688        (WebCore::VertexShaderPosTexTransform::init):
64689        (WebCore::VertexShaderPosTexTransform::getShaderString):
64690        (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
64691        (WebCore::FragmentTexAlphaBinding::init):
64692        (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
64693        (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
64694        (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
64695        (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
64696        (WebCore::FragmentShaderRGBATexAlphaMask::init):
64697        (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
64698        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
64699        (WebCore::FragmentShaderYUVVideo::init):
64700        (WebCore::FragmentShaderYUVVideo::getShaderString):
64701        (WebCore::FragmentShaderColor::FragmentShaderColor):
64702        (WebCore::FragmentShaderColor::init):
64703        (WebCore::FragmentShaderColor::getShaderString):
64704        * platform/graphics/chromium/ShaderChromium.h: Added.
64705        (WebCore::VertexShaderPosTex::matrixLocation):
64706        (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
64707        (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
64708        (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
64709        (WebCore::VertexShaderPos::matrixLocation):
64710        (WebCore::VertexShaderPosTexTransform::matrixLocation):
64711        (WebCore::VertexShaderPosTexTransform::texTransformLocation):
64712        (WebCore::FragmentTexAlphaBinding::alphaLocation):
64713        (WebCore::FragmentTexAlphaBinding::samplerLocation):
64714        (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
64715        (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
64716        (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
64717        (WebCore::FragmentShaderYUVVideo::yTextureLocation):
64718        (WebCore::FragmentShaderYUVVideo::uTextureLocation):
64719        (WebCore::FragmentShaderYUVVideo::vTextureLocation):
64720        (WebCore::FragmentShaderYUVVideo::alphaLocation):
64721        (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
64722        (WebCore::FragmentShaderYUVVideo::signAdjLocation):
64723        (WebCore::FragmentShaderColor::colorLocation):
64724        * platform/graphics/chromium/VideoLayerChromium.cpp:
64725        (WebCore::VideoLayerChromium::draw):
64726        (WebCore::VideoLayerChromium::drawYUV):
64727        (WebCore::VideoLayerChromium::drawRGBA):
64728        * platform/graphics/chromium/VideoLayerChromium.h:
64729
647302011-02-18  James Robinson  <jamesr@chromium.org>
64731
64732        Reviewed by Kenneth Russell.
64733
64734        [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
64735        https://bugs.webkit.org/show_bug.cgi?id=54315
64736
64737        This defers all operations on the compositor's GL context until the
64738        draw() call which is a prerequisite for moving the draw() off-thread.
64739        Also cleans up the update cycle a bit - there were some unused local
64740        variables and whatnot.
64741
64742        One consequence of this change is that the upload buffer is retained
64743        across updates now instead of allocated by each paint.  This is
64744        necessary so that the full layer contents can be uploaded if the
64745        texture manager evicts the layer's backing texture.  This costs more
64746        persistent memory but avoids lots of allocator churn on updates.
64747        Another nonobvious detail is that I have to update the texture for
64748        ContentLayerChromiums in bindContentsTexture() because mask layers
64749        never draw(), they are instead bound to the secondary texture unit.
64750
64751        * platform/graphics/chromium/ContentLayerChromium.cpp:
64752        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
64753        (WebCore::ContentLayerChromium::updateContentsIfDirty):
64754        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
64755        (WebCore::ContentLayerChromium::resizeUploadBuffer):
64756        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
64757        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
64758        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
64759        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
64760        (WebCore::ContentLayerChromium::draw):
64761        (WebCore::ContentLayerChromium::unreserveContentsTexture):
64762        (WebCore::ContentLayerChromium::bindContentsTexture):
64763        * platform/graphics/chromium/ContentLayerChromium.h:
64764        * platform/graphics/chromium/ImageLayerChromium.cpp:
64765        (WebCore::ImageLayerChromium::updateContentsIfDirty):
64766        * platform/graphics/chromium/LayerChromium.cpp:
64767        (WebCore::LayerChromium::setBounds):
64768        * platform/graphics/chromium/LayerChromium.h:
64769
647702011-02-18  Kenneth Russell  <kbr@google.com>
64771
64772        Unreviewed, Chromium build fix on certain Linux platforms.
64773
64774        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
64775
647762011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
64777
64778        Reviewed by Kenneth Rohde Christiansen.
64779
64780        [Qt] Implement client based geolocation for qtport
64781        https://bugs.webkit.org/show_bug.cgi?id=42629
64782
64783        Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
64784
64785        No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
64786
64787        * WebCore.pro:
64788        * features.pri:
64789        * platform/qt/GeolocationServiceQt.cpp: Removed.
64790        * platform/qt/GeolocationServiceQt.h: Removed.
64791
647922011-02-18  Yael Aharon  <yael.aharon@nokia.com>
64793
64794        Reviewed by Dave Hyatt.
64795
64796        Add support for dir=auto
64797        https://bugs.webkit.org/show_bug.cgi?id=50916
64798
64799        When an element has dir attribute with value "auto", call defaultWritingMode
64800        to find its directionality.
64801        Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
64802        and check this flag. This flag is set on every node between an element with
64803        dir=auto attribute and its first text node. Changes in the DOM between those
64804        elements will trigger re-evaluating the directionality, but changes not
64805        between those element do not need to be concerned.
64806        The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
64807        The directionality is evaluated when children are added, and cleared when they are
64808        removed. Directionality flag is also cleared on a child that is no longer determining
64809        the directionality due to a sibling being added before that child.
64810
64811        Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
64812        We cannot used the mapped declaration, because it can take only one value.
64813
64814        Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
64815               fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
64816               fast/dom/HTMLElement/attr-dir-auto-change-text.html
64817               fast/dom/HTMLElement/attr-dir-auto-children.html
64818               fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
64819               fast/dom/HTMLElement/attr-dir-auto.html
64820               fast/dom/HTMLElement/attr-dir-value-change.html
64821
64822        * css/CSSStyleSelector.cpp:
64823        (WebCore::leftToRightDeclaration):
64824        (WebCore::rightToLeftDeclaration):
64825        (WebCore::CSSStyleSelector::canShareStyleWithElement):
64826        (WebCore::CSSStyleSelector::styleForElement):
64827        * dom/Node.h:
64828        (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
64829        (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
64830        * html/HTMLElement.cpp:
64831        (WebCore::HTMLElement::mapToEntry):
64832        (WebCore::HTMLElement::parseMappedAttribute):
64833        (WebCore::setHasDirAutoFlagRecursively):
64834        (WebCore::HTMLElement::childrenChanged):
64835        (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
64836        (WebCore::HTMLElement::directionality):
64837        (WebCore::HTMLElement::dirAttributeChanged):
64838        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
64839        (WebCore::HTMLElement::calculateAndAdjustDirectionality):
64840        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
64841        * html/HTMLElement.h:
64842
648432011-02-18  Yael Aharon  <yael.aharon@nokia.com>
64844
64845        Reviewed by Antonio Gomes.
64846
64847        Navigating downwards / upwards does not focus on the links spread across more than one line.
64848        https://bugs.webkit.org/show_bug.cgi?id=54639
64849
64850        When 2 anchor elements span more than one line each, and one ends on the same line that the
64851        second starts on, the rects reported by their renderers are overlapping. When handling
64852        2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.
64853
64854        Test: fast/spatial-navigation/snav-two-elements-one-line.html
64855
64856        * page/FocusController.cpp:
64857        (WebCore::updateFocusCandidateIfNeeded):
64858        (WebCore::FocusController::findFocusCandidateInContainer):
64859        * page/SpatialNavigation.cpp:
64860        (WebCore::areElementsOnSameLine):
64861        (WebCore::distanceDataForNode):
64862        * page/SpatialNavigation.h:
64863
648642011-02-18  Ben Vanik  <benvanik@google.com>
64865
64866        Reviewed by Kenneth Russell.
64867
64868        Bug 53940: Implement the OES_vertex_array_object WebGL extension
64869        https://bugs.webkit.org/show_bug.cgi?id=53940
64870
64871        Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
64872        extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
64873        the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
64874        it is available.
64875        Two big changes touching code outside of the extension files:
64876        * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
64877          GraphicsTypes.h). They are not namespaced as they weren't before.
64878        * To make the code cleaner/clearer all vertex attribute state has been moved to the
64879          WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
64880          on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
64881          states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
64882          vertex attributes now defers to or stores values in the bound array object.
64883
64884        Tested against the WebGL conformance suite and the new
64885        oes-vertex-array-object test:
64886        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
64887
64888        * CMakeLists.txt:
64889        * CodeGenerators.pri:
64890        * DerivedSources.make:
64891        * GNUmakefile.am:
64892        * WebCore.gyp: Modified property svn:ignore.
64893        * WebCore.gypi:
64894        * WebCore.pro:
64895        * WebCore.xcodeproj/project.pbxproj:
64896        * bindings/js/JSWebGLRenderingContextCustom.cpp:
64897        (WebCore::toJS):
64898        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
64899        (WebCore::toV8Object):
64900        * html/canvas/OESVertexArrayObject.cpp: Added.
64901        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
64902        (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
64903        (WebCore::OESVertexArrayObject::getName):
64904        (WebCore::OESVertexArrayObject::create):
64905        (WebCore::OESVertexArrayObject::createVertexArrayOES):
64906        (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
64907        (WebCore::OESVertexArrayObject::isVertexArrayOES):
64908        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
64909        * html/canvas/OESVertexArrayObject.h: Added.
64910        * html/canvas/OESVertexArrayObject.idl: Added.
64911        * html/canvas/WebGLExtension.h:
64912        * html/canvas/WebGLGetInfo.cpp:
64913        (WebCore::WebGLGetInfo::WebGLGetInfo):
64914        (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
64915        * html/canvas/WebGLGetInfo.h:
64916        * html/canvas/WebGLRenderingContext.cpp:
64917        (WebCore::WebGLRenderingContext::initializeNewContext):
64918        (WebCore::WebGLRenderingContext::bindBuffer):
64919        (WebCore::WebGLRenderingContext::deleteBuffer):
64920        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
64921        (WebCore::WebGLRenderingContext::validateElementArraySize):
64922        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
64923        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
64924        (WebCore::WebGLRenderingContext::validateRenderingState):
64925        (WebCore::WebGLRenderingContext::drawElements):
64926        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
64927        (WebCore::WebGLRenderingContext::getExtension):
64928        (WebCore::WebGLRenderingContext::getParameter):
64929        (WebCore::WebGLRenderingContext::getSupportedExtensions):
64930        (WebCore::WebGLRenderingContext::getVertexAttrib):
64931        (WebCore::WebGLRenderingContext::vertexAttribPointer):
64932        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
64933        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
64934        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
64935        (WebCore::WebGLRenderingContext::initVertexAttrib0):
64936        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
64937        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
64938        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
64939        (WebCore::WebGLRenderingContext::getExtensionNumber):
64940        * html/canvas/WebGLRenderingContext.h:
64941        (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
64942        (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
64943        (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
64944        * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
64945        (WebCore::WebGLVertexArrayObjectOES::create):
64946        (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
64947        (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
64948        * html/canvas/WebGLVertexArrayObjectOES.h: Added.
64949        (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
64950        (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
64951        (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
64952        (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
64953        (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
64954        (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
64955        (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
64956        (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
64957        (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
64958        * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
64959        * platform/graphics/Extensions3D.h:
64960        * platform/graphics/GraphicsContext3D.h:
64961        * platform/graphics/GraphicsTypes3D.h: Added.
64962        * platform/graphics/chromium/Extensions3DChromium.h:
64963        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
64964        (WebCore::Extensions3DOpenGL::supports):
64965        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
64966        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
64967        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
64968        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
64969        * platform/graphics/opengl/Extensions3DOpenGL.h:
64970        * platform/graphics/qt/Extensions3DQt.cpp:
64971        (WebCore::Extensions3DQt::createVertexArrayOES):
64972        (WebCore::Extensions3DQt::deleteVertexArrayOES):
64973        (WebCore::Extensions3DQt::isVertexArrayOES):
64974        (WebCore::Extensions3DQt::bindVertexArrayOES):
64975        * platform/graphics/qt/Extensions3DQt.h:
64976
649772011-02-17  Alexander Pavlov  <apavlov@chromium.org>
64978
64979        Reviewed by Pavel Feldman.
64980
64981        Web Inspector: reflect changes to styles when they happen outside inspector.
64982        https://bugs.webkit.org/show_bug.cgi?id=44620
64983
64984        Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
64985        whenever the style change does not come from a direct "style" attribute modification.
64986        The performance regression occurs only with the Web Inspector opened, when inline styles
64987        are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
64988        an attribute change requires that all attributes for the node in question be pushed into the frontend.
64989
64990        Test: inspector/styles/styles-update-from-js.html
64991
64992        * css/CSSMutableStyleDeclaration.cpp:
64993        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
64994        * inspector/InspectorDOMAgent.cpp:
64995        (WebCore::RevalidateStyleAttributeTask::reset):
64996        (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
64997        (WebCore::RevalidateStyleAttributeTask::scheduleFor):
64998        (WebCore::RevalidateStyleAttributeTask::onTimer):
64999        (WebCore::InspectorDOMAgent::reset):
65000        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
65001        * inspector/InspectorDOMAgent.h:
65002        * inspector/InspectorInstrumentation.cpp:
65003        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
65004        * inspector/InspectorInstrumentation.h:
65005        (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
65006        * inspector/InspectorStyleSheet.cpp:
65007        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
65008        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
65009        (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
65010        * inspector/InspectorStyleSheet.h:
65011        * inspector/front-end/ElementsPanel.js:
65012        (WebInspector.ElementsPanel.prototype._attributesUpdated):
65013        * inspector/front-end/StylesSidebarPane.js:
65014        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
65015        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
65016        (WebInspector.StylePropertiesSection.prototype.onpopulate):
65017        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
65018        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
65019        (WebInspector.BlankStylePropertiesSection):
65020        (WebInspector.StylePropertyTreeElement):
65021        (WebInspector.StylePropertyTreeElement.prototype):
65022        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
65023
650242011-02-16  Tony Gentilcore  <tonyg@chromium.org>
65025
65026        Reviewed by Eric Seidel.
65027
65028        Refactor pumpTokenizer loop
65029        https://bugs.webkit.org/show_bug.cgi?id=54574
65030
65031        1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
65032           the next token, although ASSERTs still enforce that we aren't waiting for a script. This
65033           enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
65034           yield before running a script rather than before taking a token (see bug 54355).
65035        2. This also picks up the refCount >= 1 assert when stopped.
65036
65037        Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
65038        Before:
65039          avg 985.05
65040          median 985.5
65041          stdev 3.007906248539007
65042          min 980
65043          max 990
65044        After:
65045          avg 980.05
65046          median 981
65047          stdev 3.122098653149833
65048          min 974
65049          max 985
65050
65051        No new tests because no new functionality.
65052
65053        * html/parser/HTMLDocumentParser.cpp:
65054        (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
65055        (WebCore::HTMLDocumentParser::pumpTokenizer):
65056        * html/parser/HTMLDocumentParser.h:
65057
650582011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
65059
65060        Unreviewed, rolling out r79003.
65061        http://trac.webkit.org/changeset/79003
65062        https://bugs.webkit.org/show_bug.cgi?id=54753
65063
65064        It broke tests on GTK bots (Requested by Ossy on #webkit).
65065
65066        * accessibility/AccessibilityRenderObject.cpp:
65067        (WebCore::lastChildConsideringContinuation):
65068        * dom/Node.cpp:
65069        (WebCore::Node::removeEventListener):
65070        * html/DateComponents.cpp:
65071        (WebCore::DateComponents::parseTime):
65072
650732011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
65074
65075        Rubber-stamped by Andreas Kling.
65076
65077        Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
65078
65079        * accessibility/AccessibilityRenderObject.cpp:
65080        (WebCore::lastChildConsideringContinuation):
65081        * dom/Node.cpp:
65082        (WebCore::Node::removeEventListener):
65083        * html/DateComponents.cpp:
65084        (WebCore::DateComponents::parseTime):
65085
650862011-02-18  Andrey Adaikin  <aandrey@google.com>
65087
65088        Reviewed by Pavel Feldman.
65089
65090        Web Inspector: [Text editor] Optimize editing updates in main panel
65091        https://bugs.webkit.org/show_bug.cgi?id=54661
65092
65093        * inspector/front-end/TextViewer.js:
65094        (WebInspector.TextViewer):
65095        (WebInspector.TextViewer.prototype._textChanged):
65096        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
65097        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
65098        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
65099        (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
65100        (WebInspector.TextEditorChunkedPanel.prototype._scroll):
65101        (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
65102        (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
65103        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
65104        (WebInspector.TextEditorGutterChunk):
65105        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
65106        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
65107        (WebInspector.TextEditorMainPanel):
65108        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
65109        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
65110        (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
65111        (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
65112        (WebInspector.TextEditorMainPanel.prototype._paintLines):
65113        (WebInspector.TextEditorMainPanel.prototype._paintLine):
65114        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
65115        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
65116        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
65117        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
65118        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
65119        (WebInspector.TextEditorMainChunk):
65120        (WebInspector.TextEditorMainChunk.prototype.get startLine):
65121        (WebInspector.TextEditorMainChunk.prototype.set startLine):
65122        (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
65123        (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
65124
651252011-02-18  Steve Block  <steveblock@google.com>
65126
65127        Reviewed by Andreas Kling
65128
65129        Memory allocation error in convertV8ObjectToNPVariant() for strings
65130        https://bugs.webkit.org/show_bug.cgi?id=54737
65131
65132        Include the termination character in the length when allocating memory
65133        and copying the string. This fixes a crashing bug on Android.
65134
65135        This should be tested by the java/ tests on Chromium, but these
65136        tests are currently skipped.
65137
65138        * bindings/v8/V8NPUtils.cpp:
65139        (WebCore::convertV8ObjectToNPVariant):
65140
651412011-02-18  Philippe Normand  <pnormand@igalia.com>
65142
65143        Unreviewed, rolling out r78979.
65144        http://trac.webkit.org/changeset/78979
65145        https://bugs.webkit.org/show_bug.cgi?id=53146
65146
65147        causes multiple crashes on GTK
65148
65149        * accessibility/gtk/AXObjectCacheAtk.cpp:
65150        (WebCore::notifyChildrenSelectionChange):
65151        (WebCore::AXObjectCache::postPlatformNotification):
65152
651532011-02-18  Philippe Normand  <pnormand@igalia.com>
65154
65155        Reviewed by Martin Robinson.
65156
65157        [GTK] minimal build unrecognized options
65158        https://bugs.webkit.org/show_bug.cgi?id=50890
65159
65160        * GNUmakefile.am: new feature defines for optional features build.
65161
651622011-02-17  Hans Wennborg  <hans@chromium.org>
65163
65164        Reviewed by Jeremy Orlow.
65165
65166        IndexedDB: Populate indexes created for object stores with data
65167        https://bugs.webkit.org/show_bug.cgi?id=54669
65168
65169        Make sure that indices for object stores that already hold data get
65170        populated.
65171
65172        * storage/IDBIndexBackendImpl.h:
65173        (WebCore::IDBIndexBackendImpl::hasValidId):
65174        * storage/IDBObjectStoreBackendImpl.cpp:
65175        (WebCore::IDBObjectStoreBackendImpl::putInternal):
65176        (WebCore::populateIndex):
65177        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
65178
651792011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
65180
65181        Reviewed by Martin Robinson.
65182
65183        [GTK] Combo boxes should emit object:selection-changed even when collapsed
65184        https://bugs.webkit.org/show_bug.cgi?id=53146
65185
65186        Emit the selection-changed signals when the menu list value has changed
65187
65188        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
65189
65190        * accessibility/gtk/AXObjectCacheAtk.cpp:
65191        (WebCore::getListObject): New, return the right list object for
65192        menu lists and list boxes.
65193        (WebCore::notifyChildrenSelectionChange): Support menu lists.
65194        (WebCore::AXObjectCache::postPlatformNotification): Call function
65195        notifyChildrenSelectionChange for AXMenuListValueChanged.
65196
651972011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
65198
65199        Reviewed by Martin Robinson.
65200
65201        [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
65202        https://bugs.webkit.org/show_bug.cgi?id=53453
65203
65204        Ensure that atk_text_{get|set}_selection() work with list items.
65205
65206        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
65207        (webkit_accessible_text_get_text): Properly handle list item
65208        markers when returning the text for an object for a given interval
65209        specified through the startOffset and endOffset parameters.
65210        (getSelectionOffsetsForObject): Bear in mind list item markers
65211        when returning the offsets for a selection over a list item.
65212        (webkit_accessible_text_set_selection): Adjust offsets if needed
65213        for list items with item markers. Ensure that it returns TRUE only
65214        when everything went fine setting the text selection.
65215
652162011-02-18  Antti Koivisto  <antti@apple.com>
65217
65218        Reviewed by Maciej Stachowiak.
65219
65220        https://bugs.webkit.org/show_bug.cgi?id=54728
65221        checkSelector*Value functions used in fastCheckSelector fail to inline
65222
65223        Wrap the functions used as template arguments to classes.
65224
65225        * css/CSSStyleSelector.cpp:
65226        (WebCore::fastCheckSingleSelector):
65227        (WebCore::ClassCheck::checkValue):
65228        (WebCore::IdCheck::checkValue):
65229        (WebCore::TagCheck::checkValue):
65230        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
65231
652322011-02-17  Simon Fraser  <simon.fraser@apple.com>
65233
65234        Reviewed by Sam Weinig.
65235
65236        Composited iframe content is missing from snapshots in WebKit2
65237        https://bugs.webkit.org/show_bug.cgi?id=54696
65238
65239        We need to propagate the 'flattening' paint behavior flag
65240        down to subviews while painting. WebKit1 does this via
65241        code in WebFrameView, but this is a more general fix
65242        that works in WebKit2 as well.
65243
65244        Made a utility method, parentFrameView(), which I changed
65245        some other methods to use as well.
65246
65247        * page/FrameView.cpp:
65248        (WebCore::FrameView::isEnclosedInCompositingLayer):
65249        (WebCore::FrameView::useSlowRepaints):
65250        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
65251        (WebCore::FrameView::isOverlappedIncludingAncestors):
65252        (WebCore::FrameView::parentFrameView):
65253        (WebCore::FrameView::paintContents):
65254        * page/FrameView.h:
65255
652562011-02-17  Dan Bernstein  <mitz@apple.com>
65257
65258        Reviewed by Simon Fraser.
65259
65260        <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
65261
65262        * html/HTMLBodyElement.cpp:
65263        (WebCore::adjustForZoom): Account for page scale.
65264        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
65265        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
65266        * page/FrameView.cpp:
65267        (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
65268        account for page scale: when the page is scaled, the “viewport” with respect to which fixed
65269        objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
65270        the frame view), we move it around in proportion to the document scroll, so that when the document
65271        is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
65272        (WebCore::FrameView::scrollYForFixedPosition): Ditto.
65273        (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
65274        * page/FrameView.h:
65275        * platform/ScrollView.cpp: Moved functions to FrameView.
65276        * platform/ScrollView.h:
65277        * rendering/RenderLayer.cpp:
65278        (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
65279        (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
65280        (WebCore::RenderLayer::backgroundClipRect): Ditto.
65281
652822011-02-17  Kenneth Russell  <kbr@google.com>
65283
65284        Reviewed by James Robinson.
65285
65286        Add support for GPU accelerated path rendering
65287        https://bugs.webkit.org/show_bug.cgi?id=44729
65288
65289        Incorporates the Loop and Blinn path rendering algorithm as an
65290        option to the GPU-accelerated canvas code, currently only compiled
65291        in to the Chromium port. Currently it's toggled by changing a
65292        hardcoded constant in
65293        SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
65294        disabled by default. This mechanism can be improved once we've
65295        gained more confidence in the implementation. There are some known
65296        bugs that need to be fixed first.
65297
65298        No new tests; ran some 2D Canvas tests manually with the new flag
65299        both enabled and disabled.
65300
65301        * WebCore.gypi:
65302        * platform/graphics/chromium/GLES2Canvas.cpp:
65303        (WebCore::GLES2Canvas::GLES2Canvas):
65304        (WebCore::GLES2Canvas::fillPath):
65305        * platform/graphics/chromium/GLES2Canvas.h:
65306        * platform/graphics/gpu/LoopBlinnClassifier.h:
65307        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
65308        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
65309        (WebCore::SharedGraphicsContext3D::create):
65310        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
65311        (WebCore::SharedGraphicsContext3D::createBuffer):
65312        (WebCore::SharedGraphicsContext3D::bindBuffer):
65313        (WebCore::SharedGraphicsContext3D::bufferData):
65314        (WebCore::SharedGraphicsContext3D::bufferSubData):
65315        (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
65316        (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
65317        (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
65318        * platform/graphics/gpu/SharedGraphicsContext3D.h:
65319        * platform/graphics/skia/GraphicsContextSkia.cpp:
65320        (WebCore::GraphicsContext::fillPath):
65321
653222011-02-16  Stephen White  <senorblanco@chromium.org>
65323
65324        Reviewed by James Robinson.
65325
65326        Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
65327        accelerated 2D canvas w/compositor enabled.
65328        https://bugs.webkit.org/show_bug.cgi?id=54561
65329
65330        When resetting the CanvasRenderingContext2D, we also need to send a
65331        contentChanged() to the relevant RenderLayer.  This is similar to what
65332        is done in didDraw().
65333
65334        Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note
65335        that this test will still fail pixel tests because the compositor
65336        is not compatible with repaint tests (the green square is now white,
65337        but the half-transparent grey repaint rect does not appear).
65338
65339        * html/canvas/CanvasRenderingContext2D.cpp:
65340        (WebCore::CanvasRenderingContext2D::reset):
65341
653422011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
65343
65344        Reviewed by Kenneth Russell.
65345
65346        Null out the WEBKIT_lose_context WebGL extension's context pointer when
65347        the WebGL rendering context is removed.
65348        https://bugs.webkit.org/show_bug.cgi?id=54679
65349
65350        Test: fast/canvas/webgl/context-destroyed-crash.html
65351
65352        * html/canvas/WebGLRenderingContext.cpp:
65353        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
65354        * html/canvas/WebKitLoseContext.cpp:
65355        (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
65356        * html/canvas/WebKitLoseContext.h:
65357        (WebCore::WebKitLoseContext::contextDestroyed):
65358
653592011-02-17  Kenneth Russell  <kbr@google.com>
65360
65361        Reviewed by Chris Marrin.
65362
65363        Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
65364        https://bugs.webkit.org/show_bug.cgi?id=52768
65365
65366        Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
65367        code which casts from incoming double to the destination type.
65368        Changed the JSC bindings to use this code, rather than a copy of
65369        the casting code and a different constructor, in order to reuse
65370        the fix.
65371
65372        * bindings/js/JSArrayBufferViewHelper.h:
65373        (WebCore::constructArrayBufferView):
65374        * html/canvas/Int32Array.h:
65375        (WebCore::Int32Array::set):
65376        * html/canvas/Int8Array.h:
65377        (WebCore::Int8Array::set):
65378        * html/canvas/IntegralTypedArrayBase.h:
65379        (WebCore::IntegralTypedArrayBase::set):
65380        * html/canvas/Uint16Array.h:
65381        (WebCore::Uint16Array::set):
65382        * html/canvas/Uint32Array.h:
65383        (WebCore::Uint32Array::set):
65384        * html/canvas/Uint8Array.h:
65385        (WebCore::Uint8Array::set):
65386
653872011-02-17  Sam Weinig  <sam@webkit.org>
65388
65389        Reviewed by Dan Bernstein.
65390
65391        Knob proportion not quite right during rubber-band.
65392        <rdar://problem/9015201>
65393
65394        Change knob proportion algorithm to treat overhang as making the view smaller,
65395        rather than document bigger.
65396
65397        * platform/mac/ScrollbarThemeMac.mm:
65398        (WebCore::ScrollbarThemeMac::paint):
65399
654002011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
65401
65402        Reviewed by Andreas Kling.
65403
65404        Summary: HTML5 <details> and <summary>: HTMLSummaryElement
65405        https://bugs.webkit.org/show_bug.cgi?id=54584
65406
65407        Adding class HTMLSummaryElement to build systems. This class will be used in
65408        the implementation of new HTML5 tag <summary>.
65409
65410        * CMakeLists.txt:
65411        * GNUmakefile.am:
65412        * WebCore.gypi:
65413        * WebCore.pro:
65414        * WebCore.vcproj/WebCore.vcproj:
65415        * WebCore.xcodeproj/project.pbxproj:
65416        * html/HTMLElementsAllInOne.cpp:
65417        * html/HTMLSummaryElement.cpp: Added.
65418        (WebCore::HTMLSummaryElement::create):
65419        (WebCore::HTMLSummaryElement::HTMLSummaryElement):
65420        * html/HTMLSummaryElement.h: Added.
65421        * html/HTMLTagNames.in:
65422
654232011-02-17  Jeremy Orlow  <jorlow@chromium.org>
65424
65425        Reviewed by Nate Chapin.
65426
65427        Throwing in an IndexedDB error or success event should lead to the transaction aborting
65428        https://bugs.webkit.org/show_bug.cgi?id=54249
65429
65430        When an exception is thrown but not handled  within an IDBRequests success/error event,
65431        we should abort the transaction.
65432
65433        Test: storage/indexeddb/exception-in-event-aborts.html
65434
65435        * bindings/js/JSEventListener.cpp:
65436        (WebCore::JSEventListener::handleEvent):
65437        * bindings/js/JSEventTarget.cpp:
65438        (WebCore::toJS):
65439        * bindings/v8/V8AbstractEventListener.cpp:
65440        (WebCore::V8AbstractEventListener::invokeEventHandler):
65441        * dom/EventTarget.cpp:
65442        (WebCore::EventTarget::uncaughtExceptionInEventHandler):
65443        * dom/EventTarget.h:
65444        * storage/IDBRequest.cpp:
65445        (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
65446        * storage/IDBRequest.h:
65447
654482011-02-17  Sam Weinig  <sam@webkit.org>
65449
65450        Reviewed by Maciej Stachowiak.
65451
65452        WebKit2: Support Dictionary popup
65453        <rdar://problem/7660670>
65454
65455        Add some necessary exports.
65456
65457        * WebCore.exp.in:
65458
654592011-02-17  W. James MacLean  <wjmaclean@chromium.org>
65460
65461        Reviewed by James Robinson.
65462
65463        [chromium] Add command-line flag to enable composite to offscreen texture.
65464        https://bugs.webkit.org/show_bug.cgi?id=52311
65465
65466        Add plumbing to allow command-line switch to enable offscreen compositing. Function
65467        LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
65468        normal renderer operation.
65469
65470        Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
65471
65472        * platform/graphics/chromium/LayerRendererChromium.cpp:
65473        (WebCore::LayerRendererChromium::setRootLayer):
65474        (WebCore::LayerRendererChromium::setCompositeOffscreen):
65475        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
65476        (WebCore::LayerRendererChromium::useRenderSurface):
65477        (WebCore::LayerRendererChromium::setScissorToRect):
65478        * platform/graphics/chromium/LayerRendererChromium.h:
65479        (WebCore::LayerRendererChromium::isCompositingOffscreen):
65480
654812011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
65482
65483        [wx] Build fixes after recent changes.
65484
65485        * dom/ScriptedAnimationController.h:
65486        * platform/graphics/wx/FontWx.cpp:
65487        (WebCore::Font::drawComplexText):
65488        * platform/graphics/wx/GraphicsContextWx.cpp:
65489        (WebCore::GraphicsContext::drawLineForText):
65490        (WebCore::GraphicsContext::drawLineForTextChecking):
65491        * platform/wx/WidgetWx.cpp:
65492        (WebCore::Widget::setFrameRect):
65493
654942011-02-16  Brian Weinstein  <bweinstein@apple.com>
65495
65496        Reviewed by Brady Eidson.
65497
65498        WebKit2: Need a way to manage the WebCore Cache
65499        https://bugs.webkit.org/show_bug.cgi?id=54501
65500
65501        Add a way to get a set of all of the origins that have entries in the
65502        WebCore memory cache, and a method to remove all resources from the memory
65503        cache from a given security origin.
65504
65505        No change in behavior.
65506
65507        * WebCore.exp.in: Add functions that need to be exported.
65508        * loader/cache/MemoryCache.cpp:
65509        (WebCore::MemoryCache::removeResourcesWithOrigin):
65510        (WebCore::MemoryCache::getOriginsWithCache):
65511        * loader/cache/MemoryCache.h:
65512
655132011-02-16  David Hyatt  <hyatt@apple.com>
65514
65515        Reviewed by Dan Bernstein.
65516
65517        https://bugs.webkit.org/show_bug.cgi?id=54244
65518
65519        Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
65520        hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
65521
65522        The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
65523        been changed as well.
65524
65525        In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
65526
65527        Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
65528
65529        Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
65530        still have a precise floating point position.
65531
65532        Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
65533        be rounding justification spacing in their font code.
65534
65535        Many layout test results change on Mac, since rounding hacks were used there and are now gone.
65536
65537        * WebCore.exp.in:
65538        * html/canvas/CanvasRenderingContext2D.cpp:
65539        (WebCore::CanvasRenderingContext2D::drawTextInternal):
65540        * platform/chromium/FileChooserChromium.cpp:
65541        (WebCore::FileChooser::basenameForWidth):
65542        * platform/graphics/Font.cpp:
65543        (WebCore::Font::width):
65544        * platform/graphics/Font.h:
65545        (WebCore::Font::spaceWidth):
65546        (WebCore::Font::tabWidth):
65547        * platform/graphics/FontFastPath.cpp:
65548        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
65549        * platform/graphics/GraphicsContext.cpp:
65550        (WebCore::GraphicsContext::drawText):
65551        (WebCore::GraphicsContext::drawEmphasisMarks):
65552        (WebCore::GraphicsContext::drawBidiText):
65553        (WebCore::GraphicsContext::drawHighlightForText):
65554        * platform/graphics/GraphicsContext.h:
65555        * platform/graphics/SimpleFontData.cpp:
65556        (WebCore::SimpleFontData::SimpleFontData):
65557        (WebCore::SimpleFontData::platformGlyphInit):
65558        * platform/graphics/SimpleFontData.h:
65559        (WebCore::SimpleFontData::spaceWidth):
65560        * platform/graphics/StringTruncator.cpp:
65561        (WebCore::stringWidth):
65562        (WebCore::truncateString):
65563        (WebCore::StringTruncator::centerTruncate):
65564        (WebCore::StringTruncator::rightTruncate):
65565        (WebCore::StringTruncator::width):
65566        * platform/graphics/StringTruncator.h:
65567        * platform/graphics/TextRun.h:
65568        (WebCore::TextRun::TextRun):
65569        (WebCore::TextRun::xPos):
65570        (WebCore::TextRun::expansion):
65571        (WebCore::TextRun::directionalOverride):
65572        (WebCore::TextRun::disableSpacing):
65573        * platform/graphics/WidthIterator.cpp:
65574        (WebCore::WidthIterator::WidthIterator):
65575        (WebCore::WidthIterator::advance):
65576        * platform/graphics/WidthIterator.h:
65577        * platform/graphics/cairo/GraphicsContextCairo.cpp:
65578        (WebCore::GraphicsContext::drawLineForText):
65579        (WebCore::GraphicsContext::drawLineForTextChecking):
65580        * platform/graphics/cg/GraphicsContextCG.cpp:
65581        (WebCore::GraphicsContext::drawLineForText):
65582        * platform/graphics/mac/ComplexTextController.cpp:
65583        (WebCore::ComplexTextController::ComplexTextController):
65584        (WebCore::ComplexTextController::advance):
65585        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
65586        * platform/graphics/mac/ComplexTextController.h:
65587        * platform/graphics/mac/FontComplexTextMac.cpp:
65588        (WebCore::Font::getGlyphsAndAdvancesForComplexText):
65589        * platform/graphics/mac/GraphicsContextMac.mm:
65590        (WebCore::GraphicsContext::drawLineForTextChecking):
65591        * platform/graphics/qt/GraphicsContextQt.cpp:
65592        (WebCore::GraphicsContext::drawLineForText):
65593        (WebCore::GraphicsContext::drawLineForTextChecking):
65594        * platform/graphics/qt/SimpleFontDataQt.cpp:
65595        (WebCore::SimpleFontData::platformGlyphInit):
65596        * platform/graphics/skia/GraphicsContextSkia.cpp:
65597        (WebCore::GraphicsContext::drawLineForTextChecking):
65598        (WebCore::GraphicsContext::drawLineForText):
65599        * platform/graphics/win/GraphicsContextCGWin.cpp:
65600        (WebCore::GraphicsContext::drawLineForTextChecking):
65601        * platform/graphics/win/UniscribeController.cpp:
65602        (WebCore::UniscribeController::shapeAndPlaceItem):
65603        * platform/gtk/FileChooserGtk.cpp:
65604        (WebCore::FileChooser::basenameForWidth):
65605        * platform/mac/DragImageMac.mm:
65606        (WebCore::widthWithFont):
65607        (WebCore::drawAtPoint):
65608        * platform/mac/FileChooserMac.mm:
65609        (WebCore::FileChooser::basenameForWidth):
65610        * platform/win/DragImageWin.cpp:
65611        (WebCore::createDragImageForLink):
65612        * platform/win/FileChooserWin.cpp:
65613        (WebCore::FileChooser::basenameForWidth):
65614        * platform/win/PopupMenuWin.cpp:
65615        (WebCore::PopupMenuWin::calculatePositionAndSize):
65616        * platform/win/WebCoreTextRenderer.cpp:
65617        (WebCore::WebCoreTextFloatWidth):
65618        * rendering/HitTestResult.cpp:
65619        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
65620        * rendering/HitTestResult.h:
65621        * rendering/InlineBox.cpp:
65622        (WebCore::InlineBox::adjustPosition):
65623        (WebCore::InlineBox::placeEllipsisBox):
65624        (WebCore::InlineBox::locationIncludingFlipping):
65625        (WebCore::InlineBox::flipForWritingMode):
65626        * rendering/InlineBox.h:
65627        (WebCore::InlineBox::InlineBox):
65628        (WebCore::InlineBox::adjustLineDirectionPosition):
65629        (WebCore::InlineBox::adjustBlockDirectionPosition):
65630        (WebCore::InlineBox::setX):
65631        (WebCore::InlineBox::x):
65632        (WebCore::InlineBox::setY):
65633        (WebCore::InlineBox::y):
65634        (WebCore::InlineBox::width):
65635        (WebCore::InlineBox::height):
65636        (WebCore::InlineBox::logicalLeft):
65637        (WebCore::InlineBox::logicalRight):
65638        (WebCore::InlineBox::setLogicalLeft):
65639        (WebCore::InlineBox::pixelSnappedLogicalLeft):
65640        (WebCore::InlineBox::pixelSnappedLogicalRight):
65641        (WebCore::InlineBox::setLogicalWidth):
65642        (WebCore::InlineBox::logicalWidth):
65643        (WebCore::InlineBox::verticalAlign):
65644        * rendering/InlineFlowBox.cpp:
65645        (WebCore::InlineFlowBox::roundedFrameRect):
65646        (WebCore::InlineFlowBox::adjustPosition):
65647        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
65648        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
65649        (WebCore::verticalPositionForBox):
65650        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
65651        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
65652        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
65653        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
65654        (WebCore::InlineFlowBox::computeOverflow):
65655        (WebCore::InlineFlowBox::setLayoutOverflow):
65656        (WebCore::InlineFlowBox::setVisualOverflow):
65657        (WebCore::InlineFlowBox::nodeAtPoint):
65658        (WebCore::InlineFlowBox::paintBoxDecorations):
65659        (WebCore::InlineFlowBox::paintMask):
65660        (WebCore::InlineFlowBox::placeEllipsisBox):
65661        * rendering/InlineFlowBox.h:
65662        (WebCore::InlineFlowBox::maxYLayoutOverflow):
65663        (WebCore::InlineFlowBox::maxXLayoutOverflow):
65664        (WebCore::InlineFlowBox::layoutOverflowRect):
65665        (WebCore::InlineFlowBox::maxYVisualOverflow):
65666        (WebCore::InlineFlowBox::maxXVisualOverflow):
65667        (WebCore::InlineFlowBox::visualOverflowRect):
65668        * rendering/InlineTextBox.cpp:
65669        (WebCore::InlineTextBox::placeEllipsisBox):
65670        (WebCore::InlineTextBox::nodeAtPoint):
65671        (WebCore::paintTextWithShadows):
65672        (WebCore::InlineTextBox::paint):
65673        (WebCore::InlineTextBox::paintSelection):
65674        (WebCore::InlineTextBox::paintCompositionBackground):
65675        (WebCore::InlineTextBox::paintDecoration):
65676        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
65677        (WebCore::InlineTextBox::paintTextMatchMarker):
65678        (WebCore::InlineTextBox::paintDocumentMarkers):
65679        (WebCore::InlineTextBox::paintCompositionUnderline):
65680        (WebCore::InlineTextBox::textPos):
65681        (WebCore::InlineTextBox::offsetForPosition):
65682        (WebCore::InlineTextBox::positionForOffset):
65683        * rendering/InlineTextBox.h:
65684        (WebCore::InlineTextBox::setExpansion):
65685        * rendering/RenderBR.h:
65686        (WebCore::RenderBR::width):
65687        * rendering/RenderBlock.cpp:
65688        (WebCore::stripTrailingSpace):
65689        (WebCore::updatePreferredWidth):
65690        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
65691        (WebCore::RenderBlock::adjustForBorderFit):
65692        (WebCore::RenderBlock::addFocusRingRects):
65693        * rendering/RenderBlock.h:
65694        * rendering/RenderBlockLineLayout.cpp:
65695        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
65696        (WebCore::RenderBlock::fitBelowFloats):
65697        (WebCore::textWidth):
65698        (WebCore::tryHyphenating):
65699        (WebCore::RenderBlock::findNextLineBreak):
65700        * rendering/RenderBox.cpp:
65701        (WebCore::RenderBox::positionLineBox):
65702        (WebCore::RenderBox::flipForWritingMode):
65703        * rendering/RenderBox.h:
65704        * rendering/RenderCombineText.cpp:
65705        (WebCore::RenderCombineText::width):
65706        (WebCore::RenderCombineText::adjustTextOrigin):
65707        (WebCore::RenderCombineText::combineText):
65708        * rendering/RenderCombineText.h:
65709        (WebCore::RenderCombineText::combinedTextWidth):
65710        * rendering/RenderCounter.cpp:
65711        (WebCore::RenderCounter::computePreferredLogicalWidths):
65712        * rendering/RenderCounter.h:
65713        * rendering/RenderEmbeddedObject.cpp:
65714        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
65715        * rendering/RenderFileUploadControl.cpp:
65716        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
65717        * rendering/RenderImage.cpp:
65718        * rendering/RenderInline.cpp:
65719        (WebCore::RenderInline::linesBoundingBox):
65720        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
65721        (WebCore::RenderInline::addFocusRingRects):
65722        (WebCore::RenderInline::paintOutline):
65723        * rendering/RenderListBox.cpp:
65724        (WebCore::RenderListBox::updateFromElement):
65725        (WebCore::RenderListBox::paintItemForeground):
65726        * rendering/RenderMenuList.cpp:
65727        (WebCore::RenderMenuList::updateOptionsWidth):
65728        * rendering/RenderText.cpp:
65729        (WebCore::RenderText::localCaretRect):
65730        (WebCore::RenderText::widthFromCache):
65731        (WebCore::RenderText::trimmedPrefWidths):
65732        (WebCore::RenderText::minLogicalWidth):
65733        (WebCore::RenderText::maxLogicalWidth):
65734        (WebCore::RenderText::computePreferredLogicalWidths):
65735        (WebCore::RenderText::firstRunOrigin):
65736        (WebCore::RenderText::firstRunX):
65737        (WebCore::RenderText::firstRunY):
65738        (WebCore::RenderText::width):
65739        (WebCore::RenderText::linesBoundingBox):
65740        * rendering/RenderText.h:
65741        * rendering/RenderTextControl.cpp:
65742        (WebCore::RenderTextControl::getAvgCharWidth):
65743        (WebCore::RenderTextControl::paintPlaceholder):
65744        * rendering/RenderTreeAsText.cpp:
65745        (WebCore::writeTextRun):
65746        * rendering/RootInlineBox.cpp:
65747        (WebCore::RootInlineBox::placeEllipsis):
65748        (WebCore::RootInlineBox::placeEllipsisBox):
65749        (WebCore::RootInlineBox::adjustPosition):
65750        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
65751        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
65752        * rendering/RootInlineBox.h:
65753        * rendering/VerticalPositionCache.h:
65754        * rendering/svg/SVGInlineTextBox.cpp:
65755        (WebCore::SVGInlineTextBox::offsetForPosition):
65756        (WebCore::SVGInlineTextBox::positionForOffset):
65757        (WebCore::SVGInlineTextBox::constructTextRun):
65758        * rendering/svg/SVGInlineTextBox.h:
65759        * rendering/svg/SVGRenderTreeAsText.cpp:
65760        (WebCore::writeRenderSVGTextBox):
65761        * rendering/svg/SVGTextMetrics.cpp:
65762        (WebCore::SVGTextMetrics::SVGTextMetrics):
65763        (WebCore::constructTextRun):
65764        * svg/SVGFont.cpp:
65765        (WebCore::floatWidthMissingGlyphCallback):
65766        (WebCore::Font::drawTextUsingSVGFont):
65767
657682011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
65769
65770        Reviewed by Dirk Schulze.
65771
65772        'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
65773        https://bugs.webkit.org/show_bug.cgi?id=54672
65774
65775        Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
65776        Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
65777
65778        Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
65779
65780        * platform/graphics/SimpleFontData.cpp:
65781        (WebCore::SimpleFontData::SimpleFontData):
65782
657832011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
65784
65785        Reviewed by Adam Roben.
65786
65787        HTML5 <details> and <summary>: localized text
65788        https://bugs.webkit.org/show_bug.cgi?id=54260
65789
65790        The method defaultDetailsSummaryText was added to LocalizationStrategy class and to
65791        platform/LocalizedStrings. It is used to provide the default label to be used by a
65792        <details> tag that has no <summary> child.
65793
65794        * platform/LocalizationStrategy.h:
65795        * platform/LocalizedStrings.cpp:
65796        (WebCore::fileButtonNoFileSelectedLabel):
65797        (WebCore::defaultDetailsSummaryText):
65798        * platform/LocalizedStrings.h:
65799        * platform/android/LocalizedStringsAndroid.cpp:
65800        (WebCore::defaultDetailsSummaryText):
65801        * platform/brew/LocalizedStringsBrew.cpp:
65802        (WebCore::defaultDetailsSummaryText):
65803        * platform/efl/LocalizedStringsEfl.cpp:
65804        (WebCore::defaultDetailsSummaryText):
65805        * platform/gtk/LocalizedStringsGtk.cpp:
65806        (WebCore::defaultDetailsSummaryText):
65807        * platform/haiku/LocalizedStringsHaiku.cpp:
65808        (WebCore::defaultDetailsSummaryText):
65809        * platform/wx/LocalizedStringsWx.cpp:
65810        (WebCore::defaultDetailsSummaryText):
65811
658122011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>
65813
65814        Reviewed by Laszlo Gombos.
65815
65816        Updated include paths for phonon.
65817
65818        [Qt] WebKit patches required to work with a modularized version of Qt
65819        https://bugs.webkit.org/show_bug.cgi?id=53916
65820
65821        Build fix. No tests.
65822
65823        * WebCore.pro:
65824
658252011-02-17  Hui Huang  <hui.2.huang@nokia.com>
65826
65827        Reviewed by Laszlo Gombos.
65828
65829        The URL of HTML5 Video Element is percent encoded at websites such as youtube.
65830        It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes
65831        the HTTP GET request for the video to be rejected by the service provider.
65832        https://bugs.webkit.org/show_bug.cgi?id=53973.
65833
65834        The bug is fixed by constructing QUrl from the encoded URL.
65835
65836        New test function tst_QWebPage::loadHtml5Video() is added in
65837        Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
65838
65839        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
65840        (WebCore::MediaPlayerPrivateQt::commitLoad):
65841
658422011-02-17  Andreas Kling  <kling@webkit.org>
65843
65844        Reviewed by Antti Koivisto.
65845
65846        [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests
65847        https://bugs.webkit.org/show_bug.cgi?id=49216
65848
65849        CachedResourceRequest::didFail() will protect the CachedResourceLoader's
65850        document() while it runs, but if we're being called from the Document destructor,
65851        the protecting RefPtr<Document> will cause a double-delete instead.
65852
65853        * loader/cache/CachedResourceLoader.cpp:
65854        (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document
65855        pointer so CachedResourceRequest::didFail() won't try to protect it.
65856        (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
65857
658582011-02-17  Andrey Adaikin  <aandrey@google.com>
65859
65860        Reviewed by Pavel Feldman.
65861
65862        Web Inspector: [Text editor] Add updateHighlight method to the highlighter
65863        https://bugs.webkit.org/show_bug.cgi?id=54448
65864
65865        * inspector/front-end/SourceTokenizer.js:
65866        * inspector/front-end/TextEditorHighlighter.js:
65867        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
65868        (WebInspector.TextEditorHighlighter.prototype.reset):
65869        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
65870        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
65871        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
65872
658732011-02-16  Pavel Podivilov  <podivilov@chromium.org>
65874
65875        Reviewed by Yury Semikhatsky.
65876
65877        Web Inspector: show all inlined scripts from single document in the same source frame.
65878        https://bugs.webkit.org/show_bug.cgi?id=54544
65879
65880        Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24").
65881        We should show such scripts in the same source frame "example.html" with <script></script> framing.
65882
65883        Test: inspector/debugger/debug-inlined-scripts.html
65884
65885        * inspector/front-end/ScriptsPanel.js:
65886        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
65887        (WebInspector.ScriptsPanel.prototype._addScript):
65888        (WebInspector.ScriptsPanel.prototype._resourceForURL):
65889        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
65890        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
65891        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
65892        (WebInspector.ScriptsPanel.prototype.reset):
65893        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
65894        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
65895        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
65896        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
65897        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
65898        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
65899        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
65900        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
65901
659022011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
65903
65904        Reviewed by Dirk Schulze.
65905
65906        svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
65907        https://bugs.webkit.org/show_bug.cgi?id=44484
65908
65909        Pattern of pattern defined with objectBoundingBox does not render correctly
65910        https://bugs.webkit.org/show_bug.cgi?id=53463
65911
65912        Fix <pattern> + patternContentUnits="objectBoundingBox" support.
65913        We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
65914        RenderSVGResourceMask/Clipper don't have this error.
65915
65916        Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space
65917        when drawing the pattern children. <mask> + <clipPath> don't have the problem.
65918
65919        Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
65920
65921        * rendering/svg/RenderSVGResourcePattern.cpp:
65922        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
65923        (WebCore::RenderSVGResourcePattern::createTileImage):
65924
659252011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
65926
65927        Unreviewed.
65928
65929        [Qt][V8] Buildfix after r78752.
65930
65931        * CodeGenerators.pri: Add missing IDL files.
65932
659332011-02-17  Benjamin Kalman  <kalman@chromium.org>
65934
65935        Reviewed by Ryosuke Niwa.
65936
65937        RTL lineboundary left/right is reversed when cursor is at start of RTL container
65938        https://bugs.webkit.org/show_bug.cgi?id=54534
65939
65940        Test: editing/selection/extend-left-right-by-lineboundary.html
65941
65942        Add missing cases for extending left/right by lineboundary.
65943
65944        * editing/SelectionController.cpp:
65945        (WebCore::SelectionController::modifyExtendingRight):
65946        (WebCore::SelectionController::modifyExtendingLeft):
65947
659482011-02-16  Philippe Normand  <pnormand@igalia.com>
65949
65950        Reviewed by Martin Robinson.
65951
65952        [GTK] libsoup critical warnings
65953        https://bugs.webkit.org/show_bug.cgi?id=54557
65954
65955        Avoid pausing a soup message for already downloaded resources.
65956
65957        * platform/network/soup/ResourceHandleSoup.cpp:
65958        (WebCore::ResourceHandle::platformSetDefersLoading):
65959
659602011-02-16  Brian Ryner  <bryner@chromium.org>
65961
65962        Reviewed by Darin Fisher.
65963
65964        Split the socket address field into separate IP address and port fields.
65965        This will make the field less error-prone to parse, for example when
65966        dealing with IPv6 literals.
65967        https://bugs.webkit.org/show_bug.cgi?id=54607
65968
65969        No new tests required.
65970
65971        * platform/network/chromium/ResourceResponse.cpp:
65972        (WebCore::ResourceResponse::doPlatformCopyData):
65973        (WebCore::ResourceResponse::doPlatformAdopt):
65974        * platform/network/chromium/ResourceResponse.h:
65975        (WebCore::ResourceResponse::ResourceResponse):
65976        (WebCore::ResourceResponse::remoteIPAddress):
65977        (WebCore::ResourceResponse::setRemoteIPAddress):
65978        (WebCore::ResourceResponse::remotePort):
65979        (WebCore::ResourceResponse::setRemotePort):
65980
659812011-02-16  Dominic Mazzoni  <dmazzoni@google.com>
65982
65983        Reviewed by Chris Fleizach.
65984
65985        Add support for canvas fallback content.
65986        https://bugs.webkit.org/show_bug.cgi?id=50126
65987
65988        Test: accessibility/canvas-fallback-content.html
65989
65990        * accessibility/AccessibilityObject.h:
65991        * accessibility/AccessibilityRenderObject.cpp:
65992        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
65993        (WebCore::AccessibilityRenderObject::canHaveChildren):
65994        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
65995        (atkRole):
65996        * accessibility/mac/AccessibilityObjectWrapper.mm:
65997        * html/HTMLFormControlElement.cpp:
65998        (WebCore::HTMLFormControlElement::isFocusable):
65999        * rendering/RenderHTMLCanvas.cpp:
66000        (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout):
66001        (WebCore::RenderHTMLCanvas::layout):
66002        (WebCore::RenderHTMLCanvas::nodeAtPoint):
66003        * rendering/RenderHTMLCanvas.h:
66004        (WebCore::RenderHTMLCanvas::children):
66005        (WebCore::RenderHTMLCanvas::canHaveChildren):
66006        (WebCore::RenderHTMLCanvas::virtualChildren):
66007        * rendering/RenderObject.cpp:
66008        (WebCore::RenderObject::repaint):
66009        * rendering/RenderTreeAsText.cpp:
66010        (WebCore::write):
66011
660122011-02-16  Matthew Delaney  <mdelaney@apple.com>
66013
66014        Reviewed by Simon Fraser.
66015
66016        Allow acceleratesDrawing for WebKit2
66017        https://bugs.webkit.org/show_bug.cgi?id=54511
66018
66019        Plumb through preference for accelerated drawing.
66020
66021        When accelerated drawing is enabled, set a flag on new GraphicsLayers.
66022
66023        Not testable via Layout Tests
66024
66025        * WebCore.exp.in:
66026        * page/Settings.cpp:
66027        (WebCore::Settings::Settings):
66028        (WebCore::Settings::setAcceleratedDrawingEnabled):
66029        * page/Settings.h:
66030        (WebCore::Settings::acceleratedDrawingEnabled):
66031        * rendering/RenderLayerCompositor.cpp:
66032        (WebCore::RenderLayerCompositor::updateBacking):
66033
660342011-02-16  Victoria Kirst  <vrk@google.com>
66035
66036        Reviewed by Kenneth Russell.
66037
66038        [chromium] Fix green pixels at edge of certain GPU-accelerated videos
66039        https://bugs.webkit.org/show_bug.cgi?id=54559
66040
66041        Adds logic to properly resize the range of YUV textures to only
66042        select legitimate values.
66043
66044        * platform/graphics/chromium/VideoFrameChromium.h:
66045        * platform/graphics/chromium/VideoLayerChromium.cpp:
66046        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
66047        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
66048        (WebCore::VideoLayerChromium::drawYUV):
66049        * platform/graphics/chromium/VideoLayerChromium.h:
66050        (WebCore::VideoLayerChromium::SharedValues::yWidthScaleFactorLocation):
66051        (WebCore::VideoLayerChromium::SharedValues::uvWidthScaleFactorLocation):
66052
660532011-02-16  Bill Budge  <bbudge@chromium.org>
66054
66055        Reviewed by David Levin.
66056
66057        Need didReceiveCachedMetadata, and finishTime for didFinishLoading exposed in ThreadableLoaderClient
66058        https://bugs.webkit.org/show_bug.cgi?id=54313
66059
66060        No tests needed, exposes no new functionality
66061
66062        * fileapi/FileReaderLoader.cpp:
66063        (WebCore::FileReaderLoader::didFinishLoading):
66064        * fileapi/FileReaderLoader.h:
66065        * loader/DocumentThreadableLoader.cpp:
66066        (WebCore::DocumentThreadableLoader::setDefersLoading):
66067        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
66068        (WebCore::DocumentThreadableLoader::didFinishLoading):
66069        (WebCore::DocumentThreadableLoader::loadRequest):
66070        * loader/DocumentThreadableLoader.h:
66071        * loader/ThreadableLoaderClient.h:
66072        (WebCore::ThreadableLoaderClient::didReceiveData):
66073        (WebCore::ThreadableLoaderClient::didReceiveCachedMetadata):
66074        (WebCore::ThreadableLoaderClient::didFinishLoading):
66075        * loader/ThreadableLoaderClientWrapper.h:
66076        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
66077        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
66078        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
66079        * loader/WorkerThreadableLoader.cpp:
66080        (WebCore::workerContextDidReceiveCachedMetadata):
66081        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
66082        (WebCore::workerContextDidFinishLoading):
66083        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
66084        * loader/WorkerThreadableLoader.h:
66085        * notifications/Notification.cpp:
66086        (WebCore::Notification::didFinishLoading):
66087        * notifications/Notification.h:
66088        * page/EventSource.cpp:
66089        (WebCore::EventSource::didFinishLoading):
66090        * page/EventSource.h:
66091        * workers/WorkerScriptLoader.cpp:
66092        (WebCore::WorkerScriptLoader::didFinishLoading):
66093        * workers/WorkerScriptLoader.h:
66094        * xml/XMLHttpRequest.cpp:
66095        (WebCore::XMLHttpRequest::didFinishLoading):
66096        * xml/XMLHttpRequest.h:
66097
660982011-02-16  Jeremy Orlow  <jorlow@chromium.org>
66099
66100        Fix uninitialized memory error.
66101
66102        * storage/IDBDatabaseBackendImpl.cpp:
66103        (WebCore::IDBDatabaseBackendImpl::close):
66104
661052011-02-16  Adam Barth  <abarth@webkit.org>
66106
66107        Reviewed by Eric Seidel.
66108
66109        Fix xssAuditor/form-action.html
66110        https://bugs.webkit.org/show_bug.cgi?id=54590
66111
66112        We should block form actions.  Although this technically can't be used
66113        to run script, it's a pretty easy vector for stealing passwords.
66114
66115        * html/parser/XSSFilter.cpp:
66116        (WebCore::XSSFilter::filterTokenInitial):
66117        (WebCore::XSSFilter::filterFormToken):
66118        * html/parser/XSSFilter.h:
66119
661202011-02-16  Abhishek Arya  <inferno@chromium.org>
66121
66122        Reviewed by James Robinson.
66123
66124        Remove the early bail added in r75823 since we can run into anonymous
66125        blocks when traversing the parents chain for clearing floats.
66126        https://bugs.webkit.org/show_bug.cgi?id=54601
66127
66128        removeFloatingOrPositionedChildFromBlockLists tries to find the topmost
66129        parent containing "this" block and then tries to remove it from its floats
66130        list and mark all descendants blocks for layout. I added a bailout condition
66131        in r75823 because we thought that if one of the parent render block does not
66132        contain "this" float, then it is safe to assume that none of the grand parents
66133        will have it. This is a wrong assumption since anonymous blocks do not have
66134        float objects and we need to go higher in the chain to find the top most parent
66135        containing this float. Instead of breaking out of the loop, it is ok to keep
66136        traversing the chain till we find that parent. Otherwise, we will leave deleted
66137        floats in the grand parents floats list.
66138
66139        Test: fast/block/float/floats-not-cleared-from-grand-parents.html
66140
66141        * rendering/RenderBox.cpp:
66142        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
66143
661442011-02-16  Andreas Kling  <kling@webkit.org>
66145
66146        Reviewed by Ryosuke Niwa.
66147
66148        Editing styles should not emit #RRGGBBAA colors
66149        https://bugs.webkit.org/show_bug.cgi?id=54540
66150
66151        * editing/ApplyStyleCommand.cpp:
66152        (WebCore::StyleChange::extractTextStyles): Use Color::serialized()
66153        instead of Color::nameForRenderTreeAsText().
66154
661552011-02-16  Ryosuke Niwa  <rniwa@webkit.org>
66156
66157        Reviewed by Kent Tamura.
66158
66159        Improve showTree of Range, Position, and VisiblePosition
66160        https://bugs.webkit.org/show_bug.cgi?id=54536
66161
66162        Enhanced showTree of Range, Position, and VisiblePosition.
66163
66164        * dom/Position.cpp:
66165        (WebCore::Position::showAnchorTypeAndOffset): Added; dumps "legacy" if the position
66166        is a legacy position and also dumps anchor type.
66167        (WebCore::Position::showTreeForThis): Calls showAnchorTypeAndOffset.
66168        * dom/Position.h:
66169        * dom/Range.cpp:
66170        (showTree): No longer calls deprecatedEditingOffset.
66171        * editing/VisiblePosition.cpp:
66172        (WebCore::VisiblePosition::debugPosition): No longer included in release build.
66173        Calls Position::showAnchorTypeAndOffset instead of manually calling deprecatedEditingOffset.
66174        * editing/VisiblePosition.h:
66175        * editing/VisibleSelection.cpp:
66176        (WebCore::VisibleSelection::debugPosition): Ditto.
66177        (WebCore::VisibleSelection::showTreeForThis): Ditto.
66178        * editing/VisibleSelection.h:
66179        * page/EventHandler.cpp:
66180
661812011-02-16  David Grogan  <dgrogan@chromium.org>
66182
66183        Reviewed by Jeremy Orlow.
66184
66185        fix compile error introduced in 78752
66186        https://bugs.webkit.org/show_bug.cgi?id=54604
66187
66188        * storage/IDBRequest.h:
66189
661902011-02-16  Jeremy Orlow  <jorlow@chromium.org>
66191
66192        Back out IndexedDB change thats no longer necessary
66193        https://bugs.webkit.org/show_bug.cgi?id=54603
66194
66195        Backing out 78645 as it turns out that it's not necessary.
66196
66197        * storage/IDBFactoryBackendImpl.cpp:
66198        (WebCore::IDBFactoryBackendImpl::open):
66199        * storage/IDBFactoryBackendImpl.h:
66200        * storage/IDBFactoryBackendInterface.h:
66201
662022011-02-16  Brian Salomon  <bsalomon@google.com>
66203
66204        Reviewed by James Robinson.
66205
66206        Skia's gpu backed just needs the correct context bound before drawing. It will bind the correct FBO itself and doing so externally confuses it unless resetContext is called.
66207
66208        No new tests required.
66209
66210        * platform/graphics/skia/PlatformContextSkia.cpp:
66211        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
66212
662132011-02-16  Mike Reed  <reed@google.com>
66214
66215        Reviewed by Kenneth Russell.
66216
66217        Use non-asserting pack function for decoding images, since webgl may want
66218        a non-premultiplied version of the image.
66219        https://bugs.webkit.org/show_bug.cgi?id=54023
66220
66221        No new tests.
66222        fast/canvas/webgl/gl-teximage.html
66223        fast/canvas/webgl/tex-image-with-format-and-type.html
66224        fast/canvas/webgl/texture-transparent-pixels-initialized.html
66225
66226        * platform/image-decoders/ImageDecoder.h:
66227        (WebCore::ImageFrame::setRGBA):
66228
662292011-02-16  David Grogan  <dgrogan@chromium.org>
66230
66231        Reviewed by Jeremy Orlow.
66232
66233        indexeddb: make setVersion fire blocked event if other connections are open
66234        https://bugs.webkit.org/show_bug.cgi?id=53728
66235
66236        Tests: storage/indexeddb/set_version_blocked.html
66237               storage/indexeddb/set_version_queue.html
66238
66239        * WebCore.gypi:
66240        * bindings/js/JSEventCustom.cpp:
66241        (WebCore::toJS):
66242        * bindings/v8/custom/V8EventCustom.cpp:
66243        (WebCore::toV8):
66244        * dom/Event.cpp:
66245        (WebCore::Event::isIDBVersionChangeEvent):
66246        * dom/Event.h:
66247        * dom/EventNames.h:
66248        * dom/EventTarget.cpp:
66249        (WebCore::EventTarget::toIDBVersionChangeRequest):
66250        * dom/EventTarget.h:
66251        * storage/IDBCallbacks.h:
66252        * storage/IDBDatabase.cpp:
66253        (WebCore::IDBDatabase::setVersion):
66254        (WebCore::IDBDatabase::close):
66255        * storage/IDBDatabase.h:
66256        * storage/IDBDatabase.idl:
66257        * storage/IDBDatabaseBackendImpl.cpp:
66258        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
66259        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::version):
66260        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::callbacks):
66261        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
66262        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
66263        (WebCore::IDBDatabaseBackendImpl::setVersion):
66264        (WebCore::IDBDatabaseBackendImpl::open):
66265        (WebCore::IDBDatabaseBackendImpl::close):
66266        * storage/IDBDatabaseBackendImpl.h:
66267        * storage/IDBDatabaseBackendInterface.h:
66268        * storage/IDBFactoryBackendImpl.cpp:
66269        (WebCore::IDBFactoryBackendImpl::open):
66270        * storage/IDBRequest.cpp:
66271        (WebCore::IDBRequest::onBlocked):
66272        (WebCore::IDBRequest::dispatchEvent):
66273        (WebCore::IDBRequest::source):
66274        * storage/IDBRequest.h:
66275        * storage/IDBVersionChangeEvent.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
66276        (WebCore::IDBVersionChangeEvent::create):
66277        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
66278        (WebCore::IDBVersionChangeEvent::~IDBVersionChangeEvent):
66279        (WebCore::IDBVersionChangeEvent::version):
66280        * storage/IDBVersionChangeEvent.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
66281        (WebCore::IDBVersionChangeEvent::isIDBVersionChangeEvent):
66282        * storage/IDBVersionChangeEvent.idl: Added.
66283        * storage/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
66284        (WebCore::IDBVersionChangeRequest::create):
66285        (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
66286        (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
66287        (WebCore::IDBVersionChangeRequest::onBlocked):
66288        * storage/IDBVersionChangeRequest.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
66289        * storage/IDBVersionChangeRequest.idl: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
66290
662912011-02-16  Robin Cao  <robin.cao@torchmobile.com.cn>
66292
66293        Reviewed by James Robinson.
66294
66295        PlatformContextSkia::applyAntiAliasedClipPaths does not work for paths which have evenOdd property
66296        https://bugs.webkit.org/show_bug.cgi?id=54336
66297
66298        We need to take fill type of paths into account when drawing them.
66299
66300        No new tests, covered by svg/W3C-SVG-1.1/masking-path-05-f.svg.
66301
66302        * platform/graphics/skia/PlatformContextSkia.cpp:
66303        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
66304
663052011-02-16  Eric Seidel  <eric@webkit.org>
66306
66307        Reviewed by Adam Barth.
66308
66309        REGRESSION (r61234): washingtonpost.com top bar looks wrong, doesn't animate
66310        https://bugs.webkit.org/show_bug.cgi?id=53717
66311
66312        Test: http/tests/local/absolute-url-strip-whitespace.html
66313
66314        This was theoretically tested already in fast/url, however the
66315        tests were disabled due to lack of any clean way to test absolute
66316        url parsing in JavaScript.  I added a test which mimics the sites
66317        behavior using our local http server.  There seems to be no other
66318        way to test this at the moment.
66319
66320        * platform/KURL.cpp:
66321        (WebCore::shouldTrimFromURL):
66322         - Any char 0-20 should be removed (matches google-url and other browsers).
66323        (WebCore::KURL::init):
66324
663252011-02-16  Abhishek Arya  <inferno@chromium.org>
66326
66327        Reviewed by James Robinson.
66328
66329        Traverse the next sibling tree to find the text fragment for a first letter.
66330        https://bugs.webkit.org/show_bug.cgi?id=54568
66331
66332        We cannot assume that the next sibling to the first letter will a text fragment
66333        since there can be intermediatary Apple-style-span inline elements wrapping the
66334        text fragment. So, we traverse the next sibling tree to find it.
66335        Test: fast/css/first-letter-text-fragment-crash.html
66336
66337        * rendering/RenderBlock.cpp:
66338        (WebCore::RenderBlock::updateFirstLetter):
66339
663402011-02-16  Martin Robinson  <mrobinson@igalia.com>
66341
66342        Reviewed by Xan Lopez.
66343
66344        [GTK] r78718 introduced some assertion failures in some HTTP tests
66345        https://bugs.webkit.org/show_bug.cgi?id=54592
66346
66347        No new tests. This fix is covered by tests that are currently failing.
66348
66349        * platform/network/soup/ResourceRequestSoup.cpp:
66350        (WebCore::ResourceRequest::updateFromSoupMessage): Instead of setting the existing
66351        headers and then selectively removing ones that do not exist in the updated soup
66352        message, just remove all headers from the map first.
66353
663542011-02-16  Jian Li  <jianli@chromium.org>
66355
66356        Reviewed by Kenneth Russell.
66357
66358        [V8] DataView constructor can be applied as a regular method
66359        https://bugs.webkit.org/show_bug.cgi?id=54563
66360
66361        Tested by adding a new test case to fast/canvas/webgl/data-view-test.html.
66362
66363        * bindings/v8/custom/V8DataViewCustom.cpp:
66364        (WebCore::V8DataView::constructorCallback):
66365
66366== Rolled over to ChangeLog-2011-02-16 ==
66367