12011-06-04  Darin Adler  <darin@apple.com>
2
3        Reviewed by Anders Carlsson.
4
5        [Mac WebKit2] REGRESSION (r86692): Synchronous XMLHttpRequest hangs in credential shim (affects Netgear ReadyNAS admin page)
6        https://bugs.webkit.org/show_bug.cgi?id=62094
7        rdar://problem/9539204
8
9        * WebCore.exp.in: Export ResourceHandle::synchronousLoadRunLoopMode.
10        * platform/network/ResourceHandle.h: Add synchronousLoadRunLoopMode.
11        * platform/network/cf/ResourceHandleCFNet.cpp:
12        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
13        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.
14        * platform/network/mac/ResourceHandleMac.mm:
15        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
16        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.
17
182011-06-04  Eric Seidel  <eric@webkit.org>
19
20        Reviewed by Adam Barth.
21
22        Add InlineWalker class to hold state for repeated calls to bidiNext
23        https://bugs.webkit.org/show_bug.cgi?id=60724
24
25        This is one more little step towards removing (naked) bidiNext usage.
26        More refactoring is required before all callers of bidiNext can move
27        onto using an InlineWalker instead of bidiNext directly.
28
29        No change in behavior, thus no tests.
30
31        * rendering/InlineIterator.h:
32        (WebCore::InlineWalker::InlineWalker):
33        (WebCore::InlineWalker::root):
34        (WebCore::InlineWalker::current):
35        (WebCore::InlineWalker::atEndOfInline):
36        (WebCore::InlineWalker::atEnd):
37        (WebCore::InlineWalker::advance):
38        * rendering/RenderBlock.cpp:
39        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
40        * rendering/RenderBlockLineLayout.cpp:
41        (WebCore::RenderBlock::layoutInlineChildren):
42
432011-06-04  Sam Weinig  <sam@webkit.org>
44
45        Reviewed by Anders Carlsson.
46
47        WebKit2 needs to know when a scroll is happening due to the ScrollAnimator
48        https://bugs.webkit.org/show_bug.cgi?id=62093
49
50        Add additional ChromeClient functions to indicate the beginning and end of
51        the various ScrollAnimator animations. Change existing notification that a
52        rubber-band has completed for the main frame to be triggered for all frames.
53
54        * page/ChromeClient.h:
55        (WebCore::ChromeClient::didStartRubberBandForFrame):
56        (WebCore::ChromeClient::didCompleteRubberBandForFrame):
57        (WebCore::ChromeClient::didStartAnimatedScroll):
58        (WebCore::ChromeClient::didCompleteAnimatedScroll):
59        * page/FrameView.cpp:
60        (WebCore::FrameView::didStartRubberBand):
61        (WebCore::FrameView::didCompleteRubberBand):
62        (WebCore::FrameView::didStartAnimatedScroll):
63        (WebCore::FrameView::didCompleteAnimatedScroll):
64        * page/FrameView.h:
65        * platform/ScrollableArea.h:
66        (WebCore::ScrollableArea::didStartRubberBand):
67        (WebCore::ScrollableArea::didStartAnimatedScroll):
68        (WebCore::ScrollableArea::didCompleteAnimatedScroll):
69        * platform/mac/ScrollAnimatorMac.h:
70        * platform/mac/ScrollAnimatorMac.mm:
71        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
72        (WebCore::ScrollAnimatorMac::scroll):
73        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
74        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
75
762011-06-04  Martin Robinson  <mrobinson@igalia.com>
77
78        Touch a file to try to fix the GTK+ build on the 32-bit bot.
79
80        * testing/Internals.idl: Touch this IDL file in an effort to fix the build.
81
822011-06-04  Martin Robinson  <mrobinson@igalia.com>
83
84        Fix the GTK+ build.
85
86        * bindings/gobject/GNUmakefile.am: Make the GObject build less noisy.
87
882011-06-03  Dimitri Glazkov  <dglazkov@chromium.org>
89
90        Reviewed by Darin Adler.
91
92        Convert file <input> to use the new shadow DOM model
93        https://bugs.webkit.org/show_bug.cgi?id=59005
94
95        Refactoring, covered by existing tests.
96
97        * css/CSSSelector.cpp:
98        (WebCore::CSSSelector::pseudoId): Removed FILE_UPLOAD_BUTTON pseudoId and all references to it.
99        (WebCore::nameToPseudoTypeMap): Ditto.
100        (WebCore::CSSSelector::extractPseudoType): Ditto.
101        * css/CSSSelector.h: Ditto.
102        * css/html.css:
103        (input[type="button"], input[type="submit"], input[type="reset"]): Moved -webkit-file-upload-button to its own rule.
104        (input[type="file"]::-webkit-file-upload-button): Added and moved all previously hard-coded properties there.
105        * html/FileInputType.cpp:
106        (WebCore::UploadButtonElement::create): Added.
107        (WebCore::UploadButtonElement::UploadButtonElement): Added.
108        (WebCore::UploadButtonElement::shadowPseudoId): Added.
109        (WebCore::FileInputType::createShadowSubtree): Added.
110        * html/FileInputType.h: Added createShadowSubtree decl.
111        * page/DragController.cpp:
112        (WebCore::asFileInput): Changed the logic to use new shadow DOM.
113        * rendering/RenderFileUploadControl.cpp: Removed UploadButton class.
114        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed initializer for m_button.
115        (WebCore::RenderFileUploadControl::updateFromElement): Removed attachment logic that's no longer necessary.
116        (WebCore::nodeWidth): Added a helper.
117        (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use uploadButton and nodeWidth.
118        (WebCore::RenderFileUploadControl::paintObject): Ditto.
119        (WebCore::RenderFileUploadControl::uploadButton): Added a helper to retrieve the button.
120        (WebCore::RenderFileUploadControl::buttonValue): Changed to use uploadButton.
121        * rendering/RenderFileUploadControl.h: Changed decls.
122        * rendering/style/RenderStyleConstants.h: Removed FILE_UPLOAD_BUTTON decls.
123
1242011-06-04  Alexey Proskuryakov  <ap@apple.com>
125
126        Reviewed by Darin Adler.
127
128        Input value sanitization for text fields is incorrect
129        https://bugs.webkit.org/show_bug.cgi?id=62061
130        <rdar://problem/9553273>
131
132        Newline characters should be removed according to HTML5, not replaced with spaces.
133        This also matches Safari 5 behavior.
134
135        * html/TextFieldInputType.cpp:
136        (WebCore::isASCIILineBreak): A functor for removeCharacters().
137        (WebCore::limitLength): Do one thing at once.
138        (WebCore::TextFieldInputType::sanitizeValue): Sanitization removes newlines.
139        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Moved (somewhat surprising)
140        code that replaces newlines with spaces here.
141
1422011-06-04  Jeffrey Pfau  <jpfau@apple.com>
143
144        Reviewed by Beth Dakin.
145
146        Crash in WebCore::RenderMathMLSubSup::baselinePosition()
147        https://bugs.webkit.org/show_bug.cgi?id=57897
148
149        Simple patch adding NULL checks in each function.
150        Test: mathml/msubsup-remove-children.xhtml
151
152        * rendering/mathml/RenderMathMLSubSup.cpp:
153        (WebCore::RenderMathMLSubSup::stretchToHeight):
154        (WebCore::RenderMathMLSubSup::baselinePosition):
155
1562011-06-04  Nico Weber  <thakis@chromium.org>
157
158        Reviewed by James Robinson.
159
160        Give IDBBackingStore::Transaction a virtual destructor
161        https://bugs.webkit.org/show_bug.cgi?id=62063
162
163        IDBLevelDBBackingStore::createTransaction() hands out a
164        PassRefPtr<IDBBackingStore::Transaction>, which means the missing
165        virtual destructor is a real bug.
166
167        * storage/IDBBackingStore.h:
168        (WebCore::IDBBackingStore::Transaction::~Transaction):
169
1702011-06-04  Emil A Eklund  <eae@chromium.org>
171
172        Reviewed by Eric Seidel.
173
174        Convert RenderBox::overflowClipRect to IntPoint
175        https://bugs.webkit.org/show_bug.cgi?id=62032
176
177        Covered by existing tests.
178
179        * editing/Editor.cpp:
180        (WebCore::Editor::insideVisibleArea):
181        * platform/graphics/IntRect.h:
182        (WebCore::IntRect::contract):
183        * rendering/RenderBlock.cpp:
184        (WebCore::RenderBlock::nodeAtPoint):
185        * rendering/RenderBox.cpp:
186        (WebCore::RenderBox::pushContentsClip):
187        (WebCore::RenderBox::overflowClipRect):
188        * rendering/RenderBox.h:
189        * rendering/RenderBoxModelObject.cpp:
190        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
191        * rendering/RenderLayer.cpp:
192        (WebCore::RenderLayer::calculateClipRects):
193        (WebCore::RenderLayer::calculateRects):
194        (WebCore::RenderLayer::repaintBlockSelectionGaps):
195        * rendering/RenderLayerBacking.cpp:
196        (WebCore::clipBox):
197        * rendering/RenderTable.cpp:
198        (WebCore::RenderTable::overflowClipRect):
199        (WebCore::RenderTable::nodeAtPoint):
200        * rendering/RenderTable.h:
201        * rendering/RenderTableSection.cpp:
202        (WebCore::RenderTableSection::nodeAtPoint):
203        * rendering/svg/RenderSVGRoot.cpp:
204        (WebCore::RenderSVGRoot::paint):
205
2062011-06-04  Adam Barth  <abarth@webkit.org>
207
208        Reviewed by Eric Seidel.
209
210        V8Proxy::disconnectFrame doesn't do anything
211        https://bugs.webkit.org/show_bug.cgi?id=62051
212
213        Dead code should die.
214
215        * bindings/v8/ScriptController.cpp:
216        (WebCore::ScriptController::~ScriptController):
217        * bindings/v8/V8Proxy.cpp:
218        * bindings/v8/V8Proxy.h:
219
2202011-06-04  Nico Weber  <thakis@chromium.org>
221
222        Reviewed by James Robinson.
223
224        Make the destructors of DataTransferItem and DataTransferItems virtual
225        https://bugs.webkit.org/show_bug.cgi?id=62052
226
227        Clang has grown a new warning that warns on |delete ptr| if ptr's
228        class is non-final, has virtual methods, but no virtual destructor.
229        This warning finds real bugs, so we want to keep it enabled. However,
230        it also warns about DataTransferItem[s]. Since these are subclassed,
231        they can't be made final, so make their destructors virtual. (Maybe
232        clang's warning even points out an actual bug here.)
233
234        * dom/DataTransferItem.h:
235        (WebCore::DataTransferItem::~DataTransferItem):
236        * dom/DataTransferItems.h:
237        (WebCore::DataTransferItems::~DataTransferItems):
238
2392011-06-04  Nico Weber  <thakis@chromium.org>
240
241        Reviewed by James Robinson.
242
243        [chromium] Make LayerPainterChromium destructor virtual
244        https://bugs.webkit.org/show_bug.cgi?id=62056
245
246        LayerTextureUpdaterCanvas has an OwnPtr<LayerPainterChromium>, which
247        means that without this patch, the destructor of classes implementing
248        LayerPainterChromium wasn't called correctly in that case.
249
250        * platform/graphics/chromium/LayerPainterChromium.h:
251        (WebCore::LayerPainterChromium::~LayerPainterChromium):
252
2532011-06-04  Emil A Eklund  <eae@chromium.org>
254
255        Reviewed by Andreas Kling.
256
257        Fix IntRect::expand(const IntSize& size)
258        https://bugs.webkit.org/show_bug.cgi?id=62042
259
260        No new tests.
261
262        * platform/graphics/IntRect.h:
263        (WebCore::IntRect::expand):
264        Fix IntRect::expand to expand the size rather than move the location.
265        Currently unused.
266
2672011-06-03  Alexey Proskuryakov  <ap@apple.com>
268
269        Reviewed by Darin Adler.
270
271        ResourceHandleMac should always respond to an authentication challenge
272        https://bugs.webkit.org/show_bug.cgi?id=61667
273
274        I don't know if this can actually happen in practice, so no new tests.
275
276        * platform/network/mac/ResourceHandleMac.mm:
277        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
278        Cancel authentication challenge if we don't have a client. We must always respond to the
279        challenge to release the connection, and there is nothing else to do in this state anyway.
280
2812011-06-03  Dan Bernstein  <mitz@apple.com>
282
283        Try to fix the Apple LLVM Compiler build after r88087.
284
285        * rendering/RenderTableCell.cpp:
286        (WebCore::RenderTableCell::paintMask):
287        * rendering/RenderTableCell.h:
288
2892011-06-03  Chris Rogers  <crogers@google.com>
290
291        Unreviewed build fix.
292
293        Fix clang build - take 2
294        https://bugs.webkit.org/show_bug.cgi?id=62081
295
296        * webaudio/AudioParamTimeline.cpp:
297        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
298
2992011-06-03  Chris Rogers  <crogers@google.com>
300
301        Unreviewed clang build fix.
302
303        Fix clang build
304        https://bugs.webkit.org/show_bug.cgi?id=62080
305
306        * webaudio/AudioParamTimeline.cpp:
307        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
308
3092011-06-03  Levi Weintraub  <leviw@chromium.org>
310
311        Reviewed by Eric Seidel.
312
313        Switch paintMask and paintObject to use IntPoint
314        https://bugs.webkit.org/show_bug.cgi?id=62077
315
316        Switching paintMask and paintObject to use IntPoint for their paint offset instead of
317        a pair of ints. paintObject is still on tx/ty, but paintMask was converted to IntSize
318        passed by value -- bringing it in-line with the agreed-upon convention of a const IntPoint&.
319
320        No new tests since this is simple refactoring.
321
322        * rendering/RenderBlock.cpp:
323        (WebCore::RenderBlock::paint):
324        (WebCore::RenderBlock::paintObject):
325        * rendering/RenderBlock.h:
326        * rendering/RenderBox.cpp:
327        (WebCore::RenderBox::paintMask):
328        (WebCore::RenderBox::pushContentsClip):
329        (WebCore::RenderBox::popContentsClip):
330        * rendering/RenderBox.h:
331        (WebCore::RenderBox::paintObject):
332        * rendering/RenderFieldset.cpp:
333        (WebCore::RenderFieldset::paintMask):
334        * rendering/RenderFieldset.h:
335        * rendering/RenderFileUploadControl.cpp:
336        (WebCore::RenderFileUploadControl::paintObject):
337        * rendering/RenderFileUploadControl.h:
338        * rendering/RenderListBox.cpp:
339        (WebCore::RenderListBox::paintObject):
340        * rendering/RenderListBox.h:
341        * rendering/RenderReplaced.cpp:
342        (WebCore::RenderReplaced::paint):
343        * rendering/RenderReplica.cpp:
344        (WebCore::RenderReplica::paint):
345        * rendering/RenderTable.cpp:
346        (WebCore::RenderTable::paint):
347        (WebCore::RenderTable::paintObject):
348        (WebCore::RenderTable::paintMask):
349        * rendering/RenderTable.h:
350        * rendering/RenderTableSection.cpp:
351        (WebCore::RenderTableSection::paint):
352        (WebCore::RenderTableSection::paintObject):
353        * rendering/RenderTableSection.h:
354        * rendering/RenderTextControl.cpp:
355        (WebCore::RenderTextControl::paintPlaceholder):
356        (WebCore::RenderTextControl::paintObject):
357        * rendering/RenderTextControl.h:
358        * rendering/RenderView.cpp:
359        (WebCore::RenderView::paint):
360        * rendering/RenderWidget.cpp:
361        (WebCore::RenderWidget::paint):
362
3632011-06-03  Cary Clark  <caryclark@google.com>
364
365        Reviewed by Eric Seidel.
366
367        Support FontCustomPlatformData on Skia-Mac-Chrome variant
368        https://bugs.webkit.org/show_bug.cgi?id=62040
369
370        Canvas text is only recognized by Skia if it is registered
371        by creating a new SkTypeface. Skia uses CGFont to measure
372        and render the glyphs, then takes care of managing the glyph
373        cache.
374
375        Skia on Mac Chrome is not yet enabled, so this change
376        does not affect existing code, and requires no new tests.
377
378        * platform/graphics/mac/FontCustomPlatformData.cpp:
379        (WebCore::RemoteFontStream::RemoteFontStream):
380        (WebCore::RemoteFontStream::~RemoteFontStream):
381        (WebCore::RemoteFontStream::rewind):
382        (WebCore::RemoteFontStream::read):
383        Turn the buffer into a stream. This is identical to
384        the implementation in skia/FontCustomPlatformData.cpp.
385        While that file could be modified instead of this one,
386        it was simpler to add SkTypeface streaming to this instead
387        of adding all CGFont support to the skia platform file.
388
389        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
390        Release the SkTypeface reference.
391
392        (WebCore::createFontCustomPlatformData):
393        Associate the buffer stream with a SkTypeface so Skia
394        can find the custom font data.
395
396        * platform/graphics/mac/FontCustomPlatformData.h:
397        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
398        Add a slot to hold the SkTypeface.
399
4002011-06-03  Steve Falkenburg  <sfalken@apple.com>
401
402        Reviewed by Brian Weinstein.
403
404        HistoryItem children persist across page loads
405        https://bugs.webkit.org/show_bug.cgi?id=62071
406        <rdar://problem/9552129>
407        
408        Not testable since there's no way to check for the presence/absence
409        of children for a HistoryItem.
410
411        * history/HistoryItem.cpp:
412        (WebCore::HistoryItem::reset): Call clearChildren when we're reusing a HistoryItem.
413
4142011-06-03  Chris Rogers  <crogers@google.com>
415
416        Reviewed by Kenneth Russell.
417
418        Allow existing AudioParams to use scheduled parameter changes
419        https://bugs.webkit.org/show_bug.cgi?id=62046
420
421        No new tests since audio API is not yet implemented.
422
423        * platform/audio/AudioBus.cpp:
424        (WebCore::AudioBus::processWithGainFrom):
425        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
426        * platform/audio/AudioBus.h:
427        * webaudio/AudioBufferSourceNode.cpp:
428        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
429        * webaudio/AudioGainNode.cpp:
430        (WebCore::AudioGainNode::AudioGainNode):
431        (WebCore::AudioGainNode::process):
432        * webaudio/AudioGainNode.h:
433        * webaudio/HighPass2FilterNode.cpp:
434        (WebCore::HighPass2FilterNode::HighPass2FilterNode):
435        * webaudio/LowPass2FilterNode.cpp:
436        (WebCore::LowPass2FilterNode::LowPass2FilterNode):
437
4382011-06-03  Chris Rogers  <crogers@google.com>
439
440        Reviewed by Kenneth Russell.
441
442        Biquad filter coefficient naming is incorrect
443        https://bugs.webkit.org/show_bug.cgi?id=62053
444
445        No new tests since audio API is not yet implemented.
446
447        * platform/audio/Biquad.cpp:
448        (WebCore::Biquad::Biquad):
449        (WebCore::Biquad::process):
450        (WebCore::Biquad::processFast):
451        (WebCore::Biquad::setLowpassParams):
452        (WebCore::Biquad::setHighpassParams):
453        (WebCore::Biquad::setLowShelfParams):
454        (WebCore::Biquad::setZeroPolePairs):
455        * platform/audio/Biquad.h:
456
4572011-06-03  Adam Barth  <abarth@webkit.org>
458
459        Reviewed by Eric Seidel.
460
461        DOMWindow::setLocation doesn't understand that DOMWindow can be inactive
462        https://bugs.webkit.org/show_bug.cgi?id=62057
463
464        This code gets confused when dealing with inactive DOMWindows.  We
465        should just block inactive DOMWindows because there's no compatibility
466        reason to support them in this code path.
467
468        Test: http/tests/security/xss-DENIED-contentWindow-eval.html
469
470        * page/DOMWindow.cpp:
471        (WebCore::DOMWindow::isInsecureScriptAccess):
472
4732011-05-31  Martin Robinson  <mrobinson@igalia.com>
474
475        Reviewed by Ryosuke Niwa.
476
477        [GTK] Support smart replace for the pasteboard
478        https://bugs.webkit.org/show_bug.cgi?id=61734
479
480        Add smart replace support to WebCore and add hooks for it in WebKit
481        via DumpRenderTreeSupportGtk. When a platform supports smart replace,
482        WebCore will remove extra spaces that appear when pasting text. Eventually
483        WebKitGTK+ may want to expose this in the public API.
484
485        * platform/gtk/PasteboardGtk.cpp:
486        (WebCore::Pasteboard::writeSelection): Now pass whether or not to use smart replace
487        when calling writeSelection.
488        (WebCore::Pasteboard::canSmartReplace): Added an implementation that checks the clipboard
489        for whether or not it supports smart paste.
490        * platform/gtk/PasteboardHelper.cpp:
491        (WebCore::initGdkAtoms): Added initialization for smart replace atom.
492        (WebCore::PasteboardHelper::fillSelectionData): Added no-op handler for smart replace atom.
493        (WebCore::PasteboardHelper::targetListForDataObject): Properly handle new smart replace parameter.
494        (WebCore::PasteboardHelper::writeClipboardContents): Properly handle new smart replace parameter.
495        (WebCore::PasteboardHelper::clipboardContentSupportsSmartReplace): Added helper for Pasteboard.
496        * platform/gtk/PasteboardHelper.h: Add new method definition.
497
4982011-06-03  Levi Weintraub  <leviw@chromium.org>
499
500        Reviewed by Eric Seidel.
501
502        Switch paintCell to use IntPoint
503        https://bugs.webkit.org/show_bug.cgi?id=62033
504
505        Switching paintCell to take an IntPoint representing the paint offset
506        instead of a pair of ints.
507
508        No new tests since this is simple refactoring.
509
510        * rendering/RenderTableSection.cpp:
511        (WebCore::RenderTableSection::paintCell):
512        (WebCore::RenderTableSection::paintObject):
513        * rendering/RenderTableSection.h:
514
5152011-06-03  Martin Robinson  <mrobinson@igalia.com>
516
517        Reviewed by Dimitri Glazkov.
518
519        Teach Gtk build about window.internals
520        https://bugs.webkit.org/show_bug.cgi?id=61071
521
522        * GNUmakefile.am: Add new internals directories to the VPATH
523        (for idl processing) and the include list.
524
5252011-06-03  Levi Weintraub  <leviw@chromium.org>
526
527        Reviewed by Eric Seidel.
528
529        Switch paintBackgroundsBehindCell to use IntPoint
530        https://bugs.webkit.org/show_bug.cgi?id=62031
531
532        Switching paintBackgroundsBehindCell to take an IntPoint representing
533        the paint offset instead of a pair of ints.
534
535        No new tests as this is simple refactoring.
536
537        * rendering/RenderTableCell.cpp:
538        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
539        (WebCore::RenderTableCell::paintBoxDecorations):
540        * rendering/RenderTableCell.h:
541        * rendering/RenderTableRow.cpp:
542        (WebCore::RenderTableRow::paint):
543        * rendering/RenderTableSection.cpp:
544        (WebCore::RenderTableSection::paintCell):
545
5462011-06-03  Levi Weintraub  <leviw@chromium.org>
547
548        Reviewed by Eric Seidel.
549
550        Switch paintCaret and paintDragCaret to use IntPoint
551        https://bugs.webkit.org/show_bug.cgi?id=62037
552
553        Switching paintCaret and paintDragCaret to use an IntPoint representing
554        the paint offset instead of a pair of ints.
555
556        No new tests since this is simple refactoring.
557
558        * editing/FrameSelection.cpp:
559        (WebCore::FrameSelection::paintCaret):
560        (WebCore::CaretBase::paintCaret):
561        (WebCore::DragCaretController::paintDragCaret):
562        * editing/FrameSelection.h:
563        * rendering/RenderBlock.cpp:
564        (WebCore::RenderBlock::paintCaret):
565        (WebCore::RenderBlock::paintObject):
566        (WebCore::RenderBlock::positionForPoint):
567        (WebCore::RenderBlock::offsetForContents):
568        * rendering/RenderBlock.h:
569
5702011-06-03  Levi Weintraub  <leviw@chromium.org>
571
572        Reviewed by Eric Seidel.
573
574        Switch paintItemForeground and paintItemForeground to use IntPoint
575        https://bugs.webkit.org/show_bug.cgi?id=62035
576
577        Switching paintItemFore/Background to use IntPoint instead of a pair of ints.
578
579        No new tests since this is simple refactoring.
580
581        * rendering/RenderListBox.cpp:
582        (WebCore::RenderListBox::paintObject):
583        (WebCore::RenderListBox::paintItemForeground):
584        (WebCore::RenderListBox::paintItemBackground):
585        * rendering/RenderListBox.h:
586
5872011-06-03  Alexis Menard  <alexis.menard@openbossa.org>
588
589        Reviewed by Andreas Kling.
590
591        To support building namespaced Qt, we require that forward-declarations
592        of Qt classes be wrapped in QT_BEGIN_NAMESPACE and QT_END_NAMESPACE.
593
594        * platform/network/qt/QtMIMETypeSniffer.h:
595
5962011-06-03  Rob Buis  <rbuis@rim.com>
597
598        Reviewed by Nikolas Zimmermann.
599
600        Cleanup member variable usage in svg/animation classes
601        https://bugs.webkit.org/show_bug.cgi?id=62029
602
603        Cleanup member variables.
604
605        * svg/animation/SMILTimeContainer.cpp:
606        (WebCore::SMILTimeContainer::SMILTimeContainer):
607        (WebCore::SMILTimeContainer::sampleAnimationAtTime):
608        (WebCore::SMILTimeContainer::updateAnimations):
609        * svg/animation/SMILTimeContainer.h:
610        * svg/animation/SVGSMILElement.cpp:
611        (WebCore::SVGSMILElement::SVGSMILElement):
612        * svg/animation/SVGSMILElement.h:
613
6142011-06-03  Chris Rogers  <crogers@google.com>
615
616        Reviewed by Kenneth Russell.
617
618        Add AudioParam parameter scheduling implementation
619        https://bugs.webkit.org/show_bug.cgi?id=61830
620
621        No new tests since audio API is not yet implemented.
622
623        * WebCore.gypi:
624        * WebCore.xcodeproj/project.pbxproj:
625        * webaudio/AudioParam.cpp:
626        (WebCore::AudioParam::value):
627        (WebCore::AudioParam::smoothedValue):
628        (WebCore::AudioParam::smooth):
629        (WebCore::AudioParam::calculateSampleAccurateValues):
630        * webaudio/AudioParam.h:
631        (WebCore::AudioParam::setContext):
632        (WebCore::AudioParam::context):
633        (WebCore::AudioParam::setValueAtTime):
634        (WebCore::AudioParam::linearRampToValueAtTime):
635        (WebCore::AudioParam::exponentialRampToValueAtTime):
636        (WebCore::AudioParam::setTargetValueAtTime):
637        (WebCore::AudioParam::setValueCurveAtTime):
638        (WebCore::AudioParam::cancelScheduledValues):
639        (WebCore::AudioParam::hasTimelineValues):
640        * webaudio/AudioParam.idl:
641        * webaudio/AudioParamTimeline.cpp: Added.
642        (WebCore::AudioParamTimeline::setValueAtTime):
643        (WebCore::AudioParamTimeline::linearRampToValueAtTime):
644        (WebCore::AudioParamTimeline::exponentialRampToValueAtTime):
645        (WebCore::AudioParamTimeline::setTargetValueAtTime):
646        (WebCore::AudioParamTimeline::setValueCurveAtTime):
647        (WebCore::isValidNumber):
648        (WebCore::AudioParamTimeline::insertEvent):
649        (WebCore::AudioParamTimeline::cancelScheduledValues):
650        (WebCore::AudioParamTimeline::valueForContextTime):
651        (WebCore::AudioParamTimeline::valuesForTimeRange):
652        (WebCore::timeToSampleFrame):
653        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
654        * webaudio/AudioParamTimeline.h: Added.
655        (WebCore::AudioParamTimeline::AudioParamTimeline):
656        (WebCore::AudioParamTimeline::hasValues):
657        (WebCore::AudioParamTimeline::ParamEvent::ParamEvent):
658        (WebCore::AudioParamTimeline::ParamEvent::type):
659        (WebCore::AudioParamTimeline::ParamEvent::value):
660        (WebCore::AudioParamTimeline::ParamEvent::time):
661        (WebCore::AudioParamTimeline::ParamEvent::timeConstant):
662        (WebCore::AudioParamTimeline::ParamEvent::duration):
663        (WebCore::AudioParamTimeline::ParamEvent::curve):
664
6652011-06-01  Jer Noble  <jer.noble@apple.com>
666
667        Reviewed by Simon Fraser.
668
669        Flash of broken page when exiting full screen at jerryseinfeld.com
670        https://bugs.webkit.org/show_bug.cgi?id=61897
671        <rdar://problem/9522985>
672
673        Test: fullscreen/full-screen-placeholder.html
674
675        Entering full-screen mode is causing the page layout to change because the full-screen
676        element is taken out of the normal flow.  To counteract this effect, insert a placeholder
677        block as a parent of the full-screen renderer with the same size and style as the full-screen
678        element pre-full-screen.
679
680        Only create a placeholder for block-level elements; the technique required for inline elements
681        would be vastly more complicated.
682
683        * dom/Document.cpp:
684        (WebCore::Document::webkitWillEnterFullScreenForElement): Create a placeholder
685            based on the size and style of the full-screen element.
686        (WebCore::Document::setFullScreenRenderer): Persist the placeholder size and 
687            style across new renderers.
688        * rendering/RenderFullScreen.cpp:
689        (RenderFullScreen::RenderFullScreen): Added ivar.
690        (RenderFullScreen::destroy): Make sure to safely destroy our placeholder.
691        (RenderFullScreen::createPlaceholder): Added.
692        * rendering/RenderFullScreen.h:
693        (WebCore::RenderFullScreen::placeholder): Ivar accessor.
694
6952011-06-03  Levi Weintraub  <leviw@chromium.org>
696
697        Reviewed by Eric Seidel.
698
699        Switch paintBoxDecorations to IntPoint
700        https://bugs.webkit.org/show_bug.cgi?id=61968
701
702        Switching paintBoxDecorations to take an IntPoint representing
703        the paint offset instead of a pair of ints. Also cleaning up
704        some duplicated code in InlineFlowBox related to constraining
705        the paint rect to the linetop and linebottom.
706
707        No new tests since this is just refactoring.
708
709        * rendering/InlineFlowBox.cpp:
710        (WebCore::InlineFlowBox::paint):
711        (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded): Added
712        to remove duplicate code in paintBoxDecorations and paintMask.
713        (WebCore::InlineFlowBox::paintBoxDecorations):
714        (WebCore::InlineFlowBox::paintMask):
715        * rendering/InlineFlowBox.h:
716        * rendering/RenderBlock.cpp:
717        (WebCore::RenderBlock::paintObject):
718        * rendering/RenderBox.cpp:
719        (WebCore::RenderBox::paintBoxDecorations):
720        * rendering/RenderBox.h:
721        * rendering/RenderFieldset.cpp:
722        (WebCore::RenderFieldset::paintBoxDecorations):
723        * rendering/RenderFieldset.h:
724        * rendering/RenderReplaced.cpp:
725        (WebCore::RenderReplaced::paint):
726        * rendering/RenderTable.cpp:
727        (WebCore::RenderTable::paintObject):
728        (WebCore::RenderTable::paintBoxDecorations):
729        * rendering/RenderTable.h:
730        * rendering/RenderTableCell.cpp:
731        (WebCore::RenderTableCell::paintBoxDecorations):
732        * rendering/RenderTableCell.h:
733        * rendering/RenderView.cpp:
734        (WebCore::RenderView::paintBoxDecorations):
735        * rendering/RenderView.h:
736        * rendering/RenderWidget.cpp:
737        (WebCore::RenderWidget::paint):
738        * rendering/svg/RenderSVGRoot.cpp:
739        (WebCore::RenderSVGRoot::paint):
740
7412011-06-03  Doreen Jiang  <doreen.jiang@nokia.com>
742
743        Reviewed by Benjamin Poulain.
744
745        [Qt]The minimum size of the select menu list is incorrect for qtwebkit
746        https://bugs.webkit.org/show_bug.cgi?id=56752
747
748        The minimum width of the select-box is calculated to be as small as possible 
749        instead of hardcoded value (width of 7 characters) in minimumMenuListSize() function
750        This will avoid overapping the select lists in popular websites.
751
752        Test: fast/forms/selectlist-minsize.html
753
754        * platform/qt/RenderThemeQt.cpp:
755        (WebCore::RenderThemeQt::minimumMenuListSize):
756
7572011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>
758
759        Reviewed by Darin Adler.
760
761        Prevent event dispatch for events with related target when host is the target.
762        https://bugs.webkit.org/show_bug.cgi?id=61979
763
764        Turns out, even if we trim the ancestor chain to 0, the event is still dispatched during AT_TARGET.
765        So might as well be explicit about what we are trying to do and add a flag to prevent dispatch in these cases.
766
767        * dom/EventDispatcher.cpp:
768        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added preventing dispatch when the ancestor chain is trimmed to nothing.
769        (WebCore::EventDispatcher::EventDispatcher): Added initializer.
770        (WebCore::EventDispatcher::dispatchEvent): Added a check to prevent dispatch.
771        * dom/EventDispatcher.h: Added a def.
772
7732011-06-03  Dan Bernstein  <mitz@apple.com>
774
775        Mac build fix.
776
777        * WebCore.xcodeproj/project.pbxproj:
778
7792011-06-03  Naoki Takano  <takano.naoki@gmail.com>
780
781        Reviewed by Eric Seidel.
782
783        [Chromium] Call setToolTipText() in WebPopupMenuImpl mouse move handler to show tool tip in select popup window.
784        https://bugs.webkit.org/show_bug.cgi?id=61260
785        http://code.google.com/p/chromium/issues/detail?id=12721
786
787        Manual test: select-popup-tooltip-test.html
788
789        * manual-tests/select-popup-tooltip-test.html: Added.
790        * platform/chromium/PopupMenuChromium.cpp:
791        (WebCore::PopupContainer::getSelectedItemToolTip): Get selected item tooltip string according to hovering mouse position.
792        * platform/chromium/PopupMenuChromium.h: Add getSelectedItemToolTip() declaration.
793
7942011-06-03  Rob Buis  <rbuis@rim.com>
795
796        Reviewed by Nikolas Zimmermann.
797
798        Creating <animateMotion> elements via javascript do not execute
799        https://bugs.webkit.org/show_bug.cgi?id=34301
800
801        Enable constructors for SVGMPathElement and SVGAnimateMotionElement.
802
803        * DerivedSources.cpp:
804        * DerivedSources.make:
805        * GNUmakefile.list.am:
806        * WebCore.gypi:
807        * WebCore.vcproj/WebCore.vcproj:
808        * WebCore.xcodeproj/project.pbxproj:
809        * page/DOMWindow.idl:
810
8112011-06-03  Hans Wennborg  <hans@chromium.org>
812
813        Reviewed by Steve Block.
814
815        IndexedDB: Clean-up use of INT64_MAX in LevelDB back-end
816        https://bugs.webkit.org/show_bug.cgi?id=62009
817
818        This constant should only be needed inside IDBLevelDBCoding.cpp.
819
820        No new functionality, no new tests.
821
822        * storage/IDBLevelDBBackingStore.cpp:
823        (WebCore::getNewDatabaseId):
824        (WebCore::IDBLevelDBBackingStore::getObjectStores):
825        (WebCore::getNewObjectStoreId):
826        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
827        (WebCore::getNewIndexId):
828        * storage/IDBLevelDBCoding.cpp:
829        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
830        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
831        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
832        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
833        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
834        * storage/IDBLevelDBCoding.h:
835
8362011-06-03  Siddharth Mathur  <siddharth.mathur@nokia.com>
837
838        Reviewed by Benjamin Poulain.
839
840        [Qt] Build flag for experimental ICU library support
841        https://bugs.webkit.org/show_bug.cgi?id=60786
842
843        Adds a build-time flag (CONFIG+=use_system_icu) that enables experimental 
844        ICU powered Unicode support. 
845
846        No new tests as no new features added.
847
848        * WebCore.pri: Removed text_breaking_with_icu CONFIG flag. 
849        * WebCore.pro: Added TextCodecICU.cpp and qt/TextBreakIteratorInternalICUQt.cpp.
850        * editing/qt/SmartReplaceQt.cpp:
851        * features.pri: Support for use_system_icu CONFIG flag.
852        * platform/text/TextCodecICU.cpp: Guard with USE(ICU_UNICODE). 
853        * platform/text/qt/TextBreakIteratorInternalICUQt.cpp: Added.
854        (WebCore::Q_GLOBAL_STATIC_WITH_INITIALIZER):
855        (WebCore::currentSearchLocaleID):
856        (WebCore::currentTextBreakLocaleID):
857        * platform/text/qt/TextBreakIteratorQt.cpp: Moved out currentTextBreakLocaleID(). 
858        (WebCore::isTextBreak):
859        * platform/text/qt/TextCodecQt.cpp: Guard with USE(QT4_UNICODE). 
860        (WebCore::TextCodecQt::registerEncodingNames):
861        (WebCore::TextCodecQt::registerCodecs):
862
8632011-06-03  Yael Aharon  <yael.aharon@nokia.com>
864
865        Reviewed by Kenneth Rohde Christiansen.
866
867        Frame flattening is broken with nested frames
868        https://bugs.webkit.org/show_bug.cgi?id=61491
869
870        Do not flatten offscreen iframes during frame flattening, as flattening might make them visible.
871
872        Test: fast/frames/flattening/iframe-flattening-out-of-view.html
873              fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html
874              fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html
875
876        * rendering/RenderIFrame.cpp:
877        (WebCore::RenderIFrame::flattenFrame):
878
8792011-06-03  Nikolas Zimmermann  <nzimmermann@rim.com>
880
881        Reviewed by Andreas Kling.
882
883        Incorrect embedded document replaced size calculation for box-sizing: border-box
884        https://bugs.webkit.org/show_bug.cgi?id=62007
885
886        When using <object style="box-sizing: border-box" data="foo.svg"/> to embed foo.svg
887        which has an intrinsic width/height, the embedded document intrinsic size is incorrect.
888
889        RenderPart::computeEmbeddedDocumentReplacedWidth/Height has to ask the content renderer for the replaced width/height not ourselves.
890
891        Tests: svg/as-image/img-preserveAspectRatio-support-2.html
892               svg/as-object/object-box-sizing-no-width-height.html
893
894        * rendering/RenderPart.cpp:
895        (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
896        (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
897
8982011-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
899
900        Unreviewed, rolling out r88004.
901        http://trac.webkit.org/changeset/88004
902        https://bugs.webkit.org/show_bug.cgi?id=62008
903
904        This patch broke 4 tests in the GTK bots (Requested by
905        msanchez on #webkit).
906
907        * accessibility/gtk/AXObjectCacheAtk.cpp:
908        (WebCore::AXObjectCache::handleScrolledToAnchor):
909
9102011-06-03  Nikolas Zimmermann  <nzimmermann@rim.com>
911
912        Reviewed by Andreas Kling.
913
914        Zooming <object style="width/height: auto" data="foo.svg"/> doesn't work as expected
915        https://bugs.webkit.org/show_bug.cgi?id=62005
916
917        Zooming an object with auto size, that references a svg with fixed size was broken. The svg size stayed the same.
918        Get rid of the dependency between RenderSVGRoot and SVGSVGElement::currentScale(), always ask for the effective
919        zoom in the RenderStyle instead of asking SVGSVGElement.
920
921        The SVGSVGElement::currentScale()/setCurrentScale() methods are now only used when called from the bindings (eg. JS).
922        They only take effect on the outermost <svg> element in standalone documents, otherwhise they are no-ops.
923
924        Test: svg/zoom/page/zoom-svg-through-object-with-auto-size.html
925
926        * rendering/svg/RenderSVGRoot.cpp:
927        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
928        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
929        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
930        * svg/SVGSVGElement.cpp:
931        (WebCore::SVGSVGElement::SVGSVGElement):
932        (WebCore::SVGSVGElement::currentScale):
933        (WebCore::SVGSVGElement::setCurrentScale):
934        * svg/SVGSVGElement.h:
935
9362011-06-03  Mario Sanchez Prada  <msanchez@igalia.com>
937
938        Reviewed by Martin Robinson.
939
940        Focus and caret position should be updated when same-page links are followed
941        https://bugs.webkit.org/show_bug.cgi?id=59737
942
943        Update the caret position to the anchor's position after scrolling.
944
945        This behavior is specific to the Gtk port and requested because of
946        accessibility needs, that's why it's implemented in AXObjectCache.
947
948        Test: platform/gtk/accessibility/caret-browsing-anchor-followed.html
949
950        * accessibility/gtk/AXObjectCacheAtk.cpp:
951        (WebCore::AXObjectCache::handleScrolledToAnchor): Make sure the
952        caret is updated to be in the anchor's position after scrolling.
953
9542011-06-03  Dominic Cooney  <dominicc@chromium.org>
955
956        Reviewed by Kent Tamura.
957
958        Cloned keygen shadows should have -webkit-keygen-select pseudoclass.
959        https://bugs.webkit.org/show_bug.cgi?id=61984
960
961        When cloneNode's tag name-based cloning algorithm clones the
962        KeygenSelectElements of a keygen shadow as select elements. These
963        lack the -webkit-keygen-select pseudoclass.
964
965        Test: fast/html/clone-keygen.html
966
967        * html/HTMLKeygenElement.cpp:
968        (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Create a KeygenSelectElement when being cloned.
969
9702011-06-02  MORITA Hajime  <morrita@google.com>
971        
972        Unreviewed ChangeLog fix.
973        
9742011-06-03  Peter Varga  <pvarga@webkit.org>
975
976        Rubber-stamped by Csaba Osztrogonác.
977        
978        [Qt][V8] Buildfix after r87988.
979
980        No new tests needed.
981
982        * bindings/v8/ScheduledAction.cpp: Add missing guards.
983        (WebCore::ScheduledAction::execute):
984        * bindings/v8/V8EventListener.cpp: Ditto.
985        (WebCore::V8EventListener::callListenerFunction):
986
9872011-06-03  Dominic Cooney  <dominicc@chromium.org>
988
989        Reviewed by Kent Tamura.
990
991        Cloned range input sliders should be SliderThumbElements, not divs.
992        https://bugs.webkit.org/show_bug.cgi?id=61982
993
994        Test: fast/html/clone-range.html
995
996        * html/shadow/SliderThumbElement.h:
997        (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Create a SliderThumbElement when being cloned.
998
9992011-06-02  Yury Semikhatsky  <yurys@chromium.org>
1000
1001        Reviewed by Pavel Feldman.
1002
1003        Web Inspector: add an option for automatically attaching to new workers
1004        https://bugs.webkit.org/show_bug.cgi?id=61930
1005
1006        Worker list is extended with a checkbox that makes inspector attach to each
1007        new worker. Whenever a new worker context starts a new inspector window will
1008        be opened for it.
1009
1010        Also worker agent and worker list will be updated when worker context is terminated.
1011
1012        * inspector/Inspector.json:
1013        * inspector/InspectorController.cpp:
1014        (WebCore::InspectorController::InspectorController):
1015        * inspector/InspectorInstrumentation.cpp:
1016        (WebCore::InspectorInstrumentation::workerContextTerminatedImpl):
1017        * inspector/InspectorInstrumentation.h:
1018        (WebCore::InspectorInstrumentation::workerContextTerminated):
1019        * inspector/InspectorWorkerAgent.cpp:
1020        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
1021        (WebCore::InspectorWorkerAgent::create):
1022        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1023        (WebCore::InspectorWorkerAgent::clearFrontend):
1024        (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
1025        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
1026        (WebCore::InspectorWorkerAgent::workerContextTerminated):
1027        * inspector/InspectorWorkerAgent.h:
1028        * inspector/front-end/WorkerManager.js:
1029        (WebInspector.WorkerManager.prototype._workerCreated):
1030        (WebInspector.WorkerManager.prototype._workerTerminated):
1031        (WebInspector.WorkerManager.prototype.openWorkerInspector):
1032        (WebInspector.WorkerManager.prototype._openInspectorWindow):
1033        (WebInspector.WorkerManager.prototype.reset):
1034        (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
1035        (WebInspector.WorkerMessageForwarder.prototype.workerTerminated):
1036        * inspector/front-end/WorkersSidebarPane.js:
1037        (WebInspector.WorkerListSidebarPane):
1038        (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
1039        (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
1040        (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
1041        (WebInspector.WorkerListSidebarPane.prototype._addWorker):
1042        (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
1043        (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
1044        * inspector/front-end/inspector.js:
1045        (WebInspector.reset):
1046
10472011-06-02  Hayato Ito  <hayato@chromium.org>
1048
1049        Reviewed by Ryosuke Niwa.
1050
1051        Show a shadow root node itself in Node::traverseNextNodeAcrossFrame.
1052        https://bugs.webkit.org/show_bug.cgi?id=61992
1053
1054        It's better to show a shadow root node itself for debugging.
1055        Skipping it didn't add any values.
1056
1057        No new tests since the function is only available in debug builds.
1058
1059        * dom/Node.cpp:
1060        (WebCore::traverseNextNodeAcrossFrame):
1061
10622011-06-02  James Robinson  <jamesr@chromium.org>
1063
1064        Unreviewed, rolling out r87901.
1065        http://trac.webkit.org/changeset/87901
1066        https://bugs.webkit.org/show_bug.cgi?id=61894
1067
1068        Might be responsible for performance regression on Chromium page cyclers, reverting to see...
1069
1070        * loader/DocumentLoader.h:
1071        (WebCore::DocumentLoader::didTellClientAboutLoad):
1072        (WebCore::DocumentLoader::haveToldClientAboutLoad):
1073        * loader/FrameLoader.cpp:
1074        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1075        * loader/ResourceLoadNotifier.cpp:
1076        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1077
10782011-06-02  Levi Weintraub  <leviw@chromium.org>
1079
1080        Reviewed by Eric Seidel.
1081
1082        Switch paintReplaced to use IntPoint
1083        https://bugs.webkit.org/show_bug.cgi?id=61891
1084
1085        Switching paintReplaced to use IntPoint to represent the paint offset instead
1086        of a pair of ints.
1087
1088        Also renaming the IntPoint flavor of IntRect::move to moveBy to clear up the
1089        fact that the IntPoint is added as an offset as opposed to being relocated
1090        to that point.
1091
1092        No tests because this is just a refactoring.
1093
1094        * page/FrameView.cpp:
1095        (WebCore::FrameView::invalidateScrollbarRect):
1096        (WebCore::FrameView::convertFromRenderer):
1097        (WebCore::FrameView::convertToRenderer):
1098        * platform/ScrollView.cpp:
1099        (WebCore::ScrollView::wheelEvent):
1100        * platform/ScrollbarThemeComposite.cpp:
1101        (WebCore::ScrollbarThemeComposite::invalidatePart):
1102        * platform/graphics/gpu/Texture.cpp
1103        (WebCore::Texture::updateSubRect)
1104        * platform/graphics/IntRect.h:
1105        (WebCore::IntRect::moveBy):
1106        * platform/mac/WidgetMac.mm:
1107        (WebCore::Widget::paint):
1108        * rendering/InlineFlowBox.cpp:
1109        (WebCore::InlineFlowBox::paint):
1110        * rendering/RenderBlock.cpp:
1111        (WebCore::RenderBlock::logicalRectToPhysicalRect):
1112        (WebCore::RenderBlock::selectionGaps):
1113        * rendering/RenderBox.cpp:
1114        (WebCore::RenderBox::offsetFromContainer):
1115        (WebCore::RenderBox::computeRectForRepaint):
1116        (WebCore::RenderBox::localCaretRect):
1117        * rendering/RenderDetailsMarker.cpp:
1118        (WebCore::RenderDetailsMarker::paint):
1119        * rendering/RenderEmbeddedObject.cpp:
1120        (WebCore::RenderEmbeddedObject::paintReplaced):
1121        * rendering/RenderEmbeddedObject.h:
1122        * rendering/RenderHTMLCanvas.cpp:
1123        (WebCore::RenderHTMLCanvas::paintReplaced):
1124        * rendering/RenderHTMLCanvas.h:
1125        * rendering/RenderImage.cpp:
1126        (WebCore::RenderImage::paintReplaced):
1127        * rendering/RenderImage.h:
1128        * rendering/RenderInline.cpp:
1129        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
1130        * rendering/RenderLayer.cpp:
1131        (WebCore::expandClipRectForDescendantsAndReflection):
1132        (WebCore::RenderLayer::paintScrollCorner):
1133        (WebCore::RenderLayer::paintResizer):
1134        (WebCore::RenderLayer::paintChildLayerIntoColumns):
1135        (WebCore::RenderLayer::hitTestChildLayerColumns):
1136        (WebCore::RenderLayer::boundingBox):
1137        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
1138        * rendering/RenderLayerBacking.cpp:
1139        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1140        (WebCore::paintScrollbar):
1141        (WebCore::RenderLayerBacking::paintContents):
1142        * rendering/RenderLayerCompositor.cpp:
1143        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1144        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1145        (WebCore::paintScrollbar):
1146        (WebCore::RenderLayerCompositor::paintContents):
1147        * rendering/RenderListBox.cpp:
1148        (WebCore::RenderListBox::controlClipRect):
1149        * rendering/RenderListItem.cpp:
1150        (WebCore::RenderListItem::positionListMarker):
1151        * rendering/RenderListMarker.cpp:
1152        (WebCore::RenderListMarker::paint):
1153        * rendering/RenderReplaced.cpp:
1154        (WebCore::RenderReplaced::paint):
1155        * rendering/RenderReplaced.h:
1156        (WebCore::RenderReplaced::paintReplaced):
1157        * rendering/RenderTableCell.cpp:
1158        (WebCore::RenderTableCell::computeRectForRepaint):
1159        * rendering/RenderTextControlSingleLine.cpp:
1160        (WebCore::RenderTextControlSingleLine::controlClipRect):
1161        * rendering/RenderVideo.cpp:
1162        (WebCore::RenderVideo::paintReplaced):
1163        * rendering/RenderVideo.h:
1164        * rendering/RenderView.cpp:
1165        (WebCore::RenderView::repaintViewRectangle):
1166
11672011-06-02  James Robinson  <jamesr@chromium.org>
1168
1169        Reviewed by Dimitri Glazkov.
1170
1171        [chromium][V8] Add trace events for timer fires and event listener dispatches
1172        https://bugs.webkit.org/show_bug.cgi?id=61977
1173
1174        Adds TRACE_EVENT macro around timer and event listener dispatches.  When tracing (a chromium feature) is
1175        enabled, this allows correlating these events with painting, compositing, and everything else in chromium that
1176        is traced.  When tracing is disabled, this macro does nothing useful.  Trace points are very cheap when tracing
1177        is disabled so this should have no performance impact for non-developers.
1178
1179        * bindings/v8/ScheduledAction.cpp:
1180        (WebCore::ScheduledAction::execute):
1181        * bindings/v8/V8EventListener.cpp:
1182        (WebCore::V8EventListener::callListenerFunction):
1183
11842011-06-02  John Bates  <jbates@google.com>
1185
1186        Reviewed by James Robinson.
1187
1188        DrawingBufferChromium cleanup:
1189        - Correct FIXME comment about synchronization.
1190        - Remove unnecessary DrawingBufferInternal indirection struct
1191          and its unused offscreenColorTexture member.
1192        https://bugs.webkit.org/show_bug.cgi?id=61953
1193
1194        * platform/graphics/chromium/DrawingBufferChromium.cpp:
1195        (WebCore::DrawingBuffer::DrawingBuffer):
1196        (WebCore::DrawingBuffer::~DrawingBuffer):
1197        (WebCore::DrawingBuffer::publishToPlatformLayer):
1198        (WebCore::DrawingBuffer::didReset):
1199        (WebCore::DrawingBuffer::platformLayer):
1200        * platform/graphics/gpu/DrawingBuffer.h:
1201
12022011-06-02  Andrey Kosyakov  <caseq@chromium.org>
1203
1204        Reviewed by Pavel Feldman.
1205
1206        Web Inspector: ResourceCookiesView.resize() is missing
1207        https://bugs.webkit.org/show_bug.cgi?id=61868
1208
1209        * inspector/front-end/ResourceCookiesView.js:
1210        (WebInspector.ResourceCookiesView.prototype.resize):
1211
12122011-06-02  Kent Tamura  <tkent@chromium.org>
1213
1214        Reviewed by Dimitri Glazkov.
1215
1216        REGRESSION(r87014): Cloned text <input> doesn't work well.
1217        https://bugs.webkit.org/show_bug.cgi?id=61909
1218
1219        The default implementation of Element::cloneNode() creates a clone
1220        node by Document::createElement(). So, if a customized class is used for
1221        shadow nodes, cloneNode() doesn't create a node of the correct class.
1222        Such custom classes need to override Element::
1223        cloneElementWithoutAttributesAndChildren().
1224
1225        TextFieldInputType and SearchInputType had references to shadow nodes
1226        initialized in createShadowSubtree(). However createShadowSubtree() is
1227        not called if the host node is cloned. The accessors for shadow nodes
1228        should search a shadow tree.
1229
1230        Test: fast/forms/textfield-clone.html
1231
1232        * html/SearchInputType.cpp:
1233          Remove data members for shadow nodes, and the accessors search the
1234          shadow tree for the requested node by TreeScope::getElementById().
1235        (WebCore::SearchInputType::SearchInputType):
1236        (WebCore::innerBlockId):
1237        (WebCore::resultButtonId):
1238        (WebCore::cancelButtonId):
1239        (WebCore::SearchInputType::createShadowSubtree):
1240        (WebCore::SearchInputType::innerBlockElement):
1241        (WebCore::SearchInputType::resultsButtonElement):
1242        (WebCore::SearchInputType::cancelButtonElement):
1243        * html/SearchInputType.h:
1244        * html/TextFieldInputType.cpp: ditto.
1245        (WebCore::TextFieldInputType::TextFieldInputType):
1246        (WebCore::TextFieldInputType::innerTextId):
1247        (WebCore::spinButtonId):
1248        (WebCore::TextFieldInputType::speechButtonId):
1249        (WebCore::TextFieldInputType::appendChildAndSetId):
1250        (WebCore::TextFieldInputType::createShadowSubtree):
1251        (WebCore::TextFieldInputType::getShadowElementById):
1252        (WebCore::TextFieldInputType::innerTextElement):
1253        (WebCore::TextFieldInputType::innerSpinButtonElement):
1254        (WebCore::TextFieldInputType::speechButtonElement):
1255        * html/TextFieldInputType.h:
1256        * html/shadow/TextControlInnerElements.cpp:
1257          Overrides cloneElementWithoutAttributesAndChildren() in order that cloneNode()
1258          produces an instance of the correct class.
1259        (WebCore::TextControlInnerElement::cloneElementWithoutAttributesAndChildren):
1260        (WebCore::TextControlInnerTextElement::cloneElementWithoutAttributesAndChildren):
1261        (WebCore::SearchFieldResultsButtonElement::cloneElementWithoutAttributesAndChildren):
1262        (WebCore::SearchFieldCancelButtonElement::cloneElementWithoutAttributesAndChildren):
1263        (WebCore::SpinButtonElement::cloneElementWithoutAttributesAndChildren):
1264        (WebCore::InputFieldSpeechButtonElement::cloneElementWithoutAttributesAndChildren):
1265        * html/shadow/TextControlInnerElements.h:
1266
12672011-05-28  Martin Robinson  <mrobinson@igalia.com>
1268
1269        Reviewed by Gustavo Noronha Silva.
1270
1271        [GTK] Remove PasteboardHelperGtk
1272        https://bugs.webkit.org/show_bug.cgi?id=61690
1273
1274        Remove the virtual methods from PasteboardHelper, so that PasteboardHelperGtk
1275        can be removed. Since the GtkClipboard IDs are verified to be the same between
1276        WebKit and WebCore we no longer need to communicate from WebCore to WebKit to
1277        get them.
1278
1279        No new tests. This is just a code refactor.
1280
1281        * platform/Pasteboard.h: Remove GTK+ specific methods. They are no longer needed.
1282        * platform/gtk/ClipboardGtk.cpp: Remove the m_helper member and access the
1283        PasteboardHelper singleton directly.
1284        * platform/gtk/ClipboardGtk.h: Ditto.
1285        * platform/gtk/PasteboardGtk.cpp: Ditto.
1286        * platform/gtk/PasteboardHelper.cpp:
1287        (WebCore::removeMarkupPrefix): Remove an extra line.
1288        (WebCore::PasteboardHelper::defaultPasteboardHelper): Added this static getter
1289        for the singleton.
1290        (WebCore::PasteboardHelper::PasteboardHelper): Moved the contents of initTargetList here.
1291        (WebCore::PasteboardHelper::getCurrentClipboard): Instead of talking with WebKit to determine
1292        whether or not to use the primary selection clipboard, just use our new member.
1293        (WebCore::PasteboardHelper::fillSelectionData): Use our local enum to get the ID.
1294        (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
1295        (WebCore::PasteboardHelper::dropAtomsForContext): Ditto.
1296        (WebCore::getClipboardContentsCallback): Ditto.
1297        * platform/gtk/PasteboardHelper.h: PasteboardHelper now keeps track of whether or
1298        not to use the primary selection clipboard internally.
1299        (WebCore::PasteboardHelper::setUsePrimarySelectionClipboard): Added.
1300        (WebCore::PasteboardHelper::usePrimarySelectionClipboard): Added.
1301
13022011-06-02  Levi Weintraub  <leviw@chromium.org>
1303
1304        Reviewed by Eric Seidel.
1305
1306        Teach InlineBox about FloatPoint
1307        https://bugs.webkit.org/show_bug.cgi?id=44412
1308
1309        Original patch by Eric Seidel. Updated by me.
1310
1311        This is another step towards more point/size
1312        usage throughout the rendering tree.
1313
1314        Added left(), right(), top(), and bottom() methods
1315        to InlineBox. Removed m_x, and m_y and replaced them
1316        with a single m_topLeft member.
1317
1318        No new tests since this is just a refactoring.
1319
1320        * rendering/EllipsisBox.cpp:
1321        (WebCore::EllipsisBox::paint):
1322        (WebCore::EllipsisBox::selectionRect):
1323        (WebCore::EllipsisBox::paintSelection):
1324        (WebCore::EllipsisBox::nodeAtPoint):
1325        * rendering/EllipsisBox.h:
1326        (WebCore::EllipsisBox::EllipsisBox):
1327        * rendering/InlineBox.cpp:
1328        (WebCore::InlineBox::adjustPosition):
1329        (WebCore::InlineBox::canAccommodateEllipsis):
1330        * rendering/InlineBox.h:
1331        (WebCore::InlineBox::InlineBox):
1332        (WebCore::InlineBox::setX):
1333        (WebCore::InlineBox::x):
1334        (WebCore::InlineBox::left):
1335        (WebCore::InlineBox::setY):
1336        (WebCore::InlineBox::y):
1337        (WebCore::InlineBox::top):
1338        (WebCore::InlineBox::topLeft):
1339        (WebCore::InlineBox::right):
1340        (WebCore::InlineBox::bottom):
1341        (WebCore::InlineBox::logicalLeft):
1342        (WebCore::InlineBox::setLogicalLeft):
1343        (WebCore::InlineBox::logicalTop):
1344        (WebCore::InlineBox::setLogicalTop):
1345        (WebCore::InlineBox::logicalFrameRect):
1346        * rendering/InlineFlowBox.h:
1347        (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
1348        * rendering/InlineTextBox.cpp:
1349        (WebCore::InlineTextBox::placeEllipsisBox):
1350        (WebCore::InlineTextBox::paintTextMatchMarker):
1351        (WebCore::InlineTextBox::computeRectForReplacementMarker):
1352        * rendering/RenderText.cpp:
1353        (WebCore::RenderText::firstRunX):
1354        (WebCore::RenderText::firstRunY):
1355        * rendering/RenderTreeAsText.cpp:
1356        (WebCore::writeTextRun):
1357        * rendering/RootInlineBox.cpp:
1358        (WebCore::RootInlineBox::placeEllipsis):
1359        * rendering/svg/RenderSVGText.cpp:
1360        (WebCore::RenderSVGText::positionForPoint):
1361        * rendering/svg/SVGInlineTextBox.h:
1362        (WebCore::SVGInlineTextBox::selectionTop):
1363        * rendering/svg/SVGRootInlineBox.cpp:
1364        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
1365
13662011-06-02  Jian Li  <jianli@chromium.org>
1367
1368        Reviewed by David Levin.
1369
1370        Update the behavior of multiple reads for FileReader
1371        https://bugs.webkit.org/show_bug.cgi?id=61793
1372
1373        Changed to throw an OperationNotAllowedException with the NOT_ALLOWED_ERR
1374        status code on any of the read methods that occur when readyState = LOADING.
1375        Otherwise, calling any of the read methods should work. 
1376
1377        Test: fast/files/read-file-async.html
1378
1379        * CodeGenerators.pri:
1380        * DerivedSources.cpp:
1381        * DerivedSources.make:
1382        * GNUmakefile.list.am:
1383        * WebCore.gypi:
1384        * WebCore.pro:
1385        * WebCore.vcproj/WebCore.vcproj:
1386        * WebCore.xcodeproj/project.pbxproj:
1387        * bindings/js/JSDOMBinding.cpp:
1388        (WebCore::setDOMException):
1389        * bindings/v8/V8Proxy.cpp:
1390        (WebCore::V8Proxy::setDOMException):
1391        * dom/ExceptionCode.cpp:
1392        (WebCore::getExceptionCodeDescription):
1393        * dom/ExceptionCode.h:
1394        * fileapi/FileReader.cpp:
1395        (WebCore::FileReader::FileReader):
1396        (WebCore::FileReader::hasPendingActivity):
1397        (WebCore::FileReader::readAsArrayBuffer):
1398        (WebCore::FileReader::readAsBinaryString):
1399        (WebCore::FileReader::readAsText):
1400        (WebCore::FileReader::readAsDataURL):
1401        (WebCore::FileReader::readInternal):
1402        (WebCore::FileReader::abort):
1403        (WebCore::FileReader::doAbort):
1404        (WebCore::FileReader::terminate):
1405        (WebCore::FileReader::start):
1406        (WebCore::FileReader::didStartLoading):
1407        (WebCore::FileReader::didFinishLoading):
1408        (WebCore::FileReader::didFail):
1409        * fileapi/FileReader.h:
1410        (WebCore::FileReader::readyState):
1411        * fileapi/FileReader.idl:
1412        * fileapi/OperationNotAllowedException.h: Added.
1413        (WebCore::OperationNotAllowedException::create):
1414        (WebCore::OperationNotAllowedException::OperationNotAllowedException):
1415        * fileapi/OperationNotAllowedException.idl: Added.
1416
14172011-06-02  Adrienne Walker  <enne@google.com>
1418
1419        Reviewed by James Robinson.
1420
1421        [chromium] Compositor HUD should respect mapTexSubImage2D returning NULL
1422        https://bugs.webkit.org/show_bug.cgi?id=61954
1423
1424        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1425        (WebCore::CCHeadsUpDisplay::draw):
1426
14272011-06-02  Brady Eidson  <beidson@apple.com>
1428
1429        Reviewed by Oliver Hunt.
1430
1431        <rdar://problem/9539920> and https://bugs.webkit.org/show_bug.cgi?id=61950
1432        Repro crash loading certain webarchives after r87566.
1433
1434        Test: webarchive/loading/javascript-url-iframe-crash.html
1435
1436        * bindings/ScriptControllerBase.cpp:
1437        (WebCore::ScriptController::executeIfJavaScriptURL): DocumentWriter::replaceDocument can
1438          cause the DocumentLoader to be destroyed, so protect it with a Ref here.
1439
14402011-06-02  Jay Civelli  <jcivelli@chromium.org>
1441
1442        Reviewed by Adam Barth.
1443
1444        Adding MHTML generation support to MHTMLArchive.
1445        https://bugs.webkit.org/show_bug.cgi?id=7169
1446
1447        * loader/archive/mhtml/MHTMLArchive.cpp:
1448        (WebCore::generateRandomBoundary):
1449        (WebCore::replaceNonPrintableCharacters):
1450        (WebCore::MHTMLArchive::generateMHTMLData):
1451        * loader/archive/mhtml/MHTMLArchive.h:
1452        * page/PageSerializer.cpp:
1453        (WebCore::PageSerializer::serializeFrame):
1454        (WebCore::PageSerializer::serializeCSSStyleSheet):
1455        * platform/SharedBuffer.cpp:
1456        (WebCore::SharedBuffer::append):
1457        * platform/SharedBuffer.h:
1458
14592011-06-02  Simon Fraser  <simon.fraser@apple.com>
1460
1461        Reviewed by Andreas Kling.
1462
1463        Share Path code that uses beziers to construct a rounded rect
1464        https://bugs.webkit.org/show_bug.cgi?id=61960
1465
1466        Have two methods in Path that construct beziers for rounded
1467        rects to share the same code.
1468        
1469        Make gCircleControlPoint a little more precise, and add
1470        a comment describing its derivation.
1471        
1472        Make use of FloatRect::maxX() and maxY().
1473
1474        * platform/graphics/Path.cpp:
1475        (WebCore::Path::addRoundedRect):
1476        (WebCore::Path::addBeziersForRoundedRect):
1477        * platform/graphics/Path.h:
1478
14792011-06-02  Ryosuke Niwa  <rniwa@webkit.org>
1480
1481        Reviewed by Enrica Casucci.
1482
1483        ApplyStyleCommand shouldn't call collapseTextDecorationProperties
1484        https://bugs.webkit.org/show_bug.cgi?id=61887
1485
1486        Removed the call to collapseTextDecorationProperties in ApplyStyleCommand::applyInlineStyle.
1487
1488        No new tests because this is a code refactoring.
1489
1490        * editing/ApplyStyleCommand.cpp:
1491        (WebCore::ApplyStyleCommand::applyInlineStyle): No loner calls collapseTextDecorationProperties.
1492        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Updated comment.
1493        * editing/EditingStyle.cpp:
1494        (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Added to check both text-decoration
1495        and -webkit-text-decorations-in-effect.
1496        (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Added a comment.
1497        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle): Checks both text-decoration
1498        and -webkit-text-decorations-in-effect.
1499        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Checks if a text decoration
1500        is present in -webkit-text-decorations-in-effect or text-decoration preferring the former.
1501        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Merged loops for when conflictingProperties
1502        is false and true. Added a support for -webkit-text-decorations-in-effect.
1503
15042011-06-02  Ryosuke Niwa  <rniwa@webkit.org>
1505
1506        Reviewed by Eric Seidel.
1507
1508        Make more functions static local in EventHandlers.cpp
1509        https://bugs.webkit.org/show_bug.cgi?id=58503
1510
1511        Removed canHandleDragAndDropForTarget and made focusDirectionForKey local to EventHandler.cpp.
1512
1513        * page/EventHandler.cpp:
1514        (WebCore::targetIsFrame): Extracted from canHandleDragAndDropForTarget.
1515        (WebCore::EventHandler::updateDragAndDrop): Calls contentFrameForTarget instead of canHandleDragAndDropForTarget.
1516        (WebCore::EventHandler::cancelDragAndDrop): Ditto.
1517        (WebCore::EventHandler::performDragAndDrop): Ditto.
1518        (WebCore::focusDirectionForKey): No longer a member function of EventHandler class.
1519        (WebCore::handleKeyboardSelectionMovement): No longer a member function of EventHandler class; also calls
1520        focusDirectionForKey instead of manually comparing.
1521        * page/EventHandler.h:
1522
15232011-06-02  Alok Priyadarshi  <alokp@chromium.org>
1524
1525        Reviewed by James Robinson.
1526
1527        [chromium] Things jump around when selecting anything on the page
1528        https://bugs.webkit.org/show_bug.cgi?id=61639
1529
1530        WebCore::LayerTextureUpdaterSkPicture::updateTextureRect was not updating a tile sub-region properly.
1531        It did not consider dest-rect when selecting the clip and translation required to draw the content-rect into dest-rect.
1532        Also removed clearing of framebuffer because it used to clear the whole tile not just dest-rect.
1533        An appropriate viewport could be set to just clear the dest-rect, but it was debug only code and I did not want to mess
1534        with the viewport set by skia.
1535
1536        No new tests. This case should be covered by most of the layout tests (pixel) targeting selection or hovering when chromium is run in compositing mode.
1537        Here is a non-exhaustive list of existing tests covering this case.
1538        Test: editing/selection/14971.html (existing)
1539              editing/selection/3690703-2.html (existing)
1540              editing/selection/4402375.html (existing)
1541              editing/selection/4818145.html (existing)
1542
1543        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1544        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1545        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
1546        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1547
15482011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>
1549
1550        Reviewed by Darin Adler.
1551
1552        Add build logistics and plumbing for window.internals object.
1553        https://bugs.webkit.org/show_bug.cgi?id=60313
1554
1555        Test: fast/harness/internals-object.html
1556
1557        * Configurations/WebCoreTestSupport.xcconfig: Added.
1558        * DerivedSources.make: Added support for generating from Internals.idl.
1559        * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
1560        * WebCore.gypi: Ditto.
1561        * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
1562        * testing/Internals.cpp: Added.
1563        * testing/Internals.h: Added.
1564        * testing/Internals.idl: Added.
1565        * testing/js/WebCoreTestSupport.cpp: Added.
1566        * testing/js/WebCoreTestSupport.h: Added.
1567        * testing/v8/WebCoreTestSupport.cpp: Added.
1568        * testing/v8/WebCoreTestSupport.h: Added.
1569
15702011-06-01  Adrienne Walker  <enne@google.com>
1571
1572        Reviewed by Eric Seidel.
1573
1574        [chromium] LayerChromium should use a RefPtr for replica layer
1575        https://bugs.webkit.org/show_bug.cgi?id=61898
1576
1577        Having this member variable be a raw pointer is brittle and assumes
1578        that the GraphicsLayer tree keeps this in sync.  There aren't any
1579        known bugs caused by this, but it seems like good sense to do this.
1580
1581        * platform/graphics/chromium/LayerChromium.h:
1582        (WebCore::LayerChromium::replicaLayer):
1583
15842011-06-02  Ryosuke Niwa  <rniwa@webkit.org>
1585
1586        Reviewed by Eric Seidel.
1587
1588        REGRESSION: inline style is lost when deleting line break between paragraphs with same style
1589        https://bugs.webkit.org/show_bug.cgi?id=61899
1590
1591        The bug was caused by ReplaceSelectionCommand::doApply's calling handleStyleSpansBeforeInsertion
1592        before insertionPos is adjusted by positionAvoidingPrecedingNodes and positionOutsideTabSpan.
1593
1594        Fixed the bug by calling handleStyleSpansBeforeInsertion after the calls to these two functions.
1595
1596        Test: editing/deleting/delete-line-break-between-paragraphs-with-same-style.html
1597
1598        * editing/ReplaceSelectionCommand.cpp:
1599        (WebCore::ReplaceSelectionCommand::doApply):
1600
16012011-06-01  Ryosuke Niwa  <rniwa@webkit.org>
1602
1603        Reviewed by Simon Fraser.
1604
1605        REGRESSION: Text selection broken for text with line-height applied
1606        https://bugs.webkit.org/show_bug.cgi?id=54929
1607
1608        The bug was caused by RenderText::positionForPoint's not considering the case where a point is
1609        above selectionTop and below lineTop of the first root inline box. Fixed the bug by considering
1610        any point between selectionTop and lineTop to be inside a root inline box. This condition is
1611        consistent with the condition we use to determine the bottom of a line.
1612
1613        Test: editing/selection/hit-test-on-text-with-line-height.html
1614
1615        * rendering/RenderBlock.cpp:
1616        (WebCore::RenderBlock::positionForPointWithInlineChildren): Fixed a condition to determine whether
1617        or not a point is above the first root line box. We need to check both selectionTop and logicalTop
1618        for the same reason explained above.
1619        * rendering/RenderText.cpp:
1620        (WebCore::RenderText::positionForPoint): See above.
1621
16222011-06-02  Andreas Kling  <kling@webkit.org>
1623
1624        Reviewed by James Robinson.
1625
1626        Canvas/V8: Fix setting strokeStyle or fillStyle to a CSS system color.
1627        https://bugs.webkit.org/show_bug.cgi?id=61944
1628
1629        Call setFillColor/setStrokeColor (instead of setFillStyle/setStrokeStyle)
1630        for string styles. This ensures that system color resolution is performed,
1631        and matches what the JSC bindings do.
1632
1633        Test: canvas/philip/tests/2d.fillStyle.parse.system.html
1634
1635        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1636        (WebCore::toCanvasStyle):
1637        (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorSetter):
1638        (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorSetter):
1639
16402011-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1641
1642        Unreviewed, rolling out r87920.
1643        http://trac.webkit.org/changeset/87920
1644        https://bugs.webkit.org/show_bug.cgi?id=61943
1645
1646        This patch does not build in Win Builder (dbg)(shared)
1647        downstream (Requested by abarth|gardener on #webkit).
1648
1649        * platform/chromium/PopupMenuChromium.cpp:
1650        (WebCore::PopupContainer::showPopup):
1651        (WebCore::PopupListBox::handleMouseReleaseEvent):
1652        (WebCore::PopupListBox::acceptIndex):
1653
16542011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>
1655
1656        Unreviewed, rolling out r87926.
1657        http://trac.webkit.org/changeset/87926
1658        https://bugs.webkit.org/show_bug.cgi?id=60313
1659
1660        Fails to find WebCoreTestSupport.dylib on bots.
1661
1662        * Configurations/WebCore.xcconfig:
1663        * Configurations/WebCoreTestSupport.xcconfig: Removed.
1664        * DerivedSources.make:
1665        * WebCore.exp.in:
1666        * WebCore.gyp/WebCore.gyp:
1667        * WebCore.gypi:
1668        * WebCore.xcodeproj/project.pbxproj:
1669        * bindings/js/JSDOMWrapper.cpp:
1670        (WebCore::JSDOMWrapper::~JSDOMWrapper):
1671        * bindings/js/JSDOMWrapper.h:
1672        * testing/Internals.cpp: Removed.
1673        * testing/Internals.h: Removed.
1674        * testing/Internals.idl: Removed.
1675        * testing/js/WebCoreTestSupport.cpp: Removed.
1676        * testing/js/WebCoreTestSupport.h: Removed.
1677        * testing/v8/WebCoreTestSupport.cpp: Removed.
1678        * testing/v8/WebCoreTestSupport.h: Removed.
1679
16802011-06-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1681
1682        Reviewed by Martin Robinson.
1683
1684        [GTK] Implement popup menus in Webkit2
1685        https://bugs.webkit.org/show_bug.cgi?id=61854
1686
1687        Move common code into a new class to be used by both WebKit1 and
1688        WebKit2.
1689
1690        * GNUmakefile.list.am: Add new files to compilation.
1691        * platform/gtk/GtkPopupMenu.cpp: Copied from Source/WebCore/platform/gtk/PopupMenuGtk.cpp.
1692        (WebCore::GtkPopupMenu::GtkPopupMenu):
1693        (WebCore::GtkPopupMenu::~GtkPopupMenu):
1694        (WebCore::GtkPopupMenu::clear): Remove all menu items.
1695        (WebCore::GtkPopupMenu::appendSeparator): Add a new separator
1696        item to the menu.
1697        (WebCore::GtkPopupMenu::appendItem): Add a new item to the menu for
1698        the given action.
1699        (WebCore::GtkPopupMenu::popUp): Show the menu.
1700        (WebCore::GtkPopupMenu::popDown): Hide the menu.
1701        (WebCore::GtkPopupMenu::menuRemoveItem):
1702        (WebCore::GtkPopupMenu::menuPositionFunction):
1703        (WebCore::GtkPopupMenu::resetTypeAheadFindState):
1704        (WebCore::GtkPopupMenu::typeAheadFind):
1705        (WebCore::GtkPopupMenu::selectItemCallback):
1706        (WebCore::GtkPopupMenu::keyPressEventCallback):
1707        * platform/gtk/GtkPopupMenu.h: Copied from Source/WebCore/platform/gtk/PopupMenuGtk.h.
1708        (WebCore::GtkPopupMenu::create):
1709        (WebCore::GtkPopupMenu::platformMenu):
1710        * platform/gtk/PopupMenuGtk.cpp:
1711        (WebCore::PopupMenuGtk::PopupMenuGtk):
1712        (WebCore::PopupMenuGtk::~PopupMenuGtk):
1713        (WebCore::PopupMenuGtk::show): Use GtkPopupMenu.
1714        (WebCore::PopupMenuGtk::hide): Ditto.
1715        (WebCore::PopupMenuGtk::menuItemActivated):
1716        (WebCore::PopupMenuGtk::menuUnmapped):
1717        * platform/gtk/PopupMenuGtk.h:
1718
17192011-05-21  Dimitri Glazkov  <dglazkov@chromium.org>
1720
1721        Reviewed by Darin Adler.
1722
1723        Add build logistics and plumbing for window.internals object.
1724        https://bugs.webkit.org/show_bug.cgi?id=60313
1725
1726        Test: fast/harness/internals-object.html
1727
1728        * Configurations/WebCoreTestSupport.xcconfig: Added.
1729        * DerivedSources.make: Added support for generating from Internals.idl.
1730        * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
1731        * WebCore.gypi: Ditto.
1732        * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
1733        * testing/Internals.cpp: Added.
1734        * testing/Internals.h: Added.
1735        * testing/Internals.idl: Added.
1736        * testing/js/WebCoreTestSupport.cpp: Added.
1737        * testing/js/WebCoreTestSupport.h: Added.
1738        * testing/v8/WebCoreTestSupport.cpp: Added.
1739        * testing/v8/WebCoreTestSupport.h: Added.
1740
17412011-06-02  Naoki Takano  <takano.naoki@gmail.com>
1742
1743        Reviewed by Dimitri Glazkov.
1744
1745        [Chromium] Click event is not fired for a menulist <select>
1746        https://bugs.webkit.org/show_bug.cgi?id=60563
1747
1748        Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
1749
1750        * platform/chromium/PopupMenuChromium.cpp:
1751        (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
1752        (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
1753        (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
1754
17552011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>
1756
1757        Reviewed by Darin Adler.
1758
1759        Stop event propagation for cases where relatedTarget is both ancestor of the target and at shadow boundary.
1760        https://bugs.webkit.org/show_bug.cgi?id=61892
1761
1762        In the cases where the relatedTarget of an event is an ancestor of the target, and the relatedTarget is
1763        a shadow host, we should not allow events to escape out of the hosted shadow DOM subtree.
1764
1765        * dom/EventDispatcher.cpp:
1766        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a check that is valid for both new and old shadow DOM.
1767
17682011-06-02  Hans Wennborg  <hans@chromium.org>
1769
1770        Reviewed by Tony Gentilcore.
1771
1772        Fix LevelDBTransaction::clearTree()
1773        https://bugs.webkit.org/show_bug.cgi?id=61917
1774
1775        This was broken in the code I copied it from; we can't delete and walk
1776        the tree at the same time.
1777
1778        No new functionality, no new tests.
1779
1780        * platform/leveldb/LevelDBTransaction.cpp:
1781        (WebCore::LevelDBTransaction::clearTree):
1782
17832011-06-02  Andreas Kling  <kling@webkit.org>
1784
1785        Rubber-stamped by Simon Hausmann.
1786
1787        Remove Qt's precompiled header hack as it was broken, and was not even
1788        used unless building WebKit inside a Qt tree.
1789
1790        * WebCore.pri:
1791
17922011-06-02  James Robinson  <jamesr@chromium.org>
1793
1794        Reviewed by Brady Eidson.
1795
1796        DocumentLoader keeps a reference to all URL strings ever loaded leading to lots of memory waste
1797        https://bugs.webkit.org/show_bug.cgi?id=61894
1798
1799        DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs that have passed through
1800        FrameLoader::dispatchWillSendRequest() and is used by FrameLoader::loadedResourceFromMemoryCached to decide
1801        whether to inform the FrameLoader's m_client about this load.  Unfortunately, this set holds a reference to the
1802        URL string for every resource loaded, so on pages that use data URLs to "load" large amounts of data this leaks
1803        lots of memory.
1804
1805        This set only has an effect on the Mac port, as the only two ports that implement
1806        FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache() are Chromium and Mac and the Chromium implementation
1807        can correctly handle receiving multiple callbacks.  This patch limits the set to only PLATFORM(MAC) so other
1808        ports do not have to pay this memory cost.  It's possible that a better fix exists specifically for the Mac port
1809        implementation, but that would have to determined by someone who works on that port specifically.
1810
1811        * loader/DocumentLoader.h:
1812        (WebCore::DocumentLoader::didTellClientAboutLoad):
1813        (WebCore::DocumentLoader::haveToldClientAboutLoad):
1814
18152011-06-02  Aparna Nandyal  <aparna.nand@wipro.com>
1816
1817        Reviewed by Andreas Kling.
1818
1819        [Qt] Multiple drop events when doing DnD of images.
1820        https://bugs.webkit.org/show_bug.cgi?id=61504
1821
1822        Duplicate entries of the url were getting added into drag data
1823        which is removed. The duplicate entries were causing the same image
1824        url to be copied twice. The code changes now match other webkit ports.
1825
1826        * platform/qt/ClipboardQt.cpp:
1827        (WebCore::ClipboardQt::declareAndWriteDragImage):
1828
18292011-06-02  Naiem Shaik  <naiem.shaik@gmail.com>
1830
1831        Reviewed by Kent Tamura.
1832        
1833        Fixing invalid value being returned for default checkbox and radio state
1834        https://bugs.webkit.org/show_bug.cgi?id=61674
1835
1836        As per http://www.w3.org/TR/html5/number-state.html#checkbox-state and
1837        http://www.w3.org/TR/html5/number-state.html#radio-button-state:
1838        The value IDL attribute is in mode default/on: 
1839        If the element has a value attribute, it must return that attribute's 
1840        value; otherwise, it must return the string "on".  
1841        Currently default value is empty string;Default value of Radio button 
1842        and checkbox should be "on".Changed fallbackValue function to return the same
1843        This works as per spec in IE9,Firefox and Opera
1844
1845        Tests: fast/forms/checkbox-default-value.html
1846               fast/forms/radio-default-value.html
1847
1848        * html/BaseCheckableInputType.cpp:
1849        (WebCore::BaseCheckableInputType::fallbackValue):
1850
18512011-06-02  Kent Tamura  <tkent@chromium.org>
1852
1853        [Chromium/Mac] Fix a wrong merge for r87881
1854        https://bugs.webkit.org/show_bug.cgi?id=61845
1855
1856        * platform/chromium/ThemeChromiumMac.mm:
1857        (WebCore::paintStepper):
1858
18592011-06-02  Ian Henderson  <ianh@apple.com>
1860
1861        Reviewed by Simon Fraser.
1862
1863        [CG] GraphicsContext::fillRoundedRect() ignores the gradient fill the CGContextFillEllipseInRect() code path
1864        https://bugs.webkit.org/show_bug.cgi?id=61882
1865
1866        If we have a gradient or pattern fill set, take the slow path, which
1867        handles these cases properly.
1868
1869        No new tests, since we never try to fill a rounded rect with a
1870        gradient or pattern.
1871
1872        * platform/graphics/cg/GraphicsContextCG.cpp:
1873        (WebCore::GraphicsContext::fillRoundedRect):
1874
18752011-06-02  MORITA Hajime  <morrita@google.com>
1876
1877        Reviewed by Kent Tamura.
1878
1879        [Refactoring] Node::nextRenderer() and previousRenderer() should be part of NodeRenderingContext
1880        https://bugs.webkit.org/show_bug.cgi?id=61912
1881
1882        Inlined Node::nextRenderer() and previousRenderer() into NodeRenderingContext and
1883        removed original definitions.
1884
1885        No test, no behavioral change.
1886        
1887        * dom/Node.cpp:
1888        * dom/Node.h:
1889        * dom/NodeRenderingContext.cpp:
1890        (WebCore::NodeRenderingContext::nextRenderer):
1891        (WebCore::NodeRenderingContext::previousRenderer):
1892
18932011-06-02  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
1894
1895        Rubber-stamped by Gabor Loki.
1896
1897        Trivial buildfix for the ParallelJobs part of FEConvolveMatrix.
1898
1899        * platform/graphics/filters/FEConvolveMatrix.cpp:
1900        (WebCore::FEConvolveMatrix::apply): Rename variable i to job
1901
19022011-06-02  Yuta Kitamura  <yutak@chromium.org>
1903
1904        Reviewed by Kent Tamura.
1905
1906        WebSocket: Call WebSocketChannel::fail() when WebSocketHandshake has failed
1907        https://bugs.webkit.org/show_bug.cgi?id=61841
1908
1909        There is no change in behavior except that capitalization of a few error messages
1910        has been changed. No new tests are added.
1911
1912        * websockets/WebSocketChannel.cpp:
1913        (WebCore::WebSocketChannel::processBuffer):
1914        Pass m_handshake.failureReason() to fail() if the handshake has failed.
1915        * websockets/WebSocketHandshake.cpp:
1916        Replace occurrences of m_handle->addMessage() with assignments to m_failureReason.
1917        Change capitalization of a few messages so that all messages start with a capital letter.
1918        (WebCore::WebSocketHandshake::readServerHandshake):
1919        (WebCore::WebSocketHandshake::failureReason):
1920        (WebCore::WebSocketHandshake::readStatusLine):
1921        (WebCore::WebSocketHandshake::readHTTPHeaders):
1922        (WebCore::WebSocketHandshake::checkResponseHeaders):
1923        * websockets/WebSocketHandshake.h:
1924        Add failureReason(), which returns a string that describes why WebSocket handshake
1925        has failed.
1926
19272011-06-01  Dan Bernstein  <mitz@apple.com>
1928
1929        Reviewed by Anders Carlsson.
1930
1931        Incorrect UA style when printing a simple document
1932        https://bugs.webkit.org/show_bug.cgi?id=61900
1933
1934        This is not testable in run-webkit-tests because unless the test is the first to run in an instance
1935        of DumpRenderTree, it is not guaranteed that the full default style sheet has not been initialized.
1936
1937        * css/CSSStyleSelector.cpp:
1938        (WebCore::loadFullDefaultStyle): Replace the simple default print style, which is now equal to the
1939        simple default style, with a new RuleSet before adding the style rules from the full default sheet.
1940        (WebCore::loadSimpleDefaultStyle): Set defaultPrintStyle to point to the default style. They are
1941        equal in the simple case.
1942
19432011-06-01  Kent Tamura  <tkent@chromium.org>
1944
1945        Reviewed by Dimitri Glazkov.
1946
1947        Remove outer-spin-button
1948        https://bugs.webkit.org/show_bug.cgi?id=61845
1949
1950        Remove outer-spin-button, and render steppers as inner-spin-button.
1951        Outer-spin-button have never worked well with padding and border of
1952        <input>, and the layout code is very tricky and very hard to maintain it.
1953
1954        * css/CSSPrimitiveValueMappings.h:
1955        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1956        * css/CSSValueKeywords.in:
1957        * css/html.css:
1958        * html/HTMLInputElement.cpp:
1959        (WebCore::HTMLInputElement::innerSpinButtonElement):
1960        * html/HTMLInputElement.h:
1961        * html/InputType.h:
1962        * html/TextFieldInputType.cpp:
1963        (WebCore::TextFieldInputType::TextFieldInputType):
1964        (WebCore::TextFieldInputType::createShadowSubtree):
1965        (WebCore::TextFieldInputType::destroyShadowSubtree):
1966        * html/TextFieldInputType.h:
1967        * html/shadow/TextControlInnerElements.cpp:
1968        (WebCore::SpinButtonElement::SpinButtonElement):
1969        (WebCore::SpinButtonElement::create):
1970        (WebCore::SpinButtonElement::shadowPseudoId):
1971        * html/shadow/TextControlInnerElements.h:
1972        * platform/ThemeTypes.h:
1973        * platform/chromium/ThemeChromiumMac.mm:
1974        (WebCore::paintStepper):
1975         Center the stepper drawing area because the specified area can be
1976         larger than the NSStepper sizes.
1977        (WebCore::ThemeChromiumMac::controlSize):
1978        (WebCore::ThemeChromiumMac::minimumControlSize):
1979        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
1980        (WebCore::ThemeChromiumMac::paint):
1981        * platform/mac/ThemeMac.mm:
1982        (WebCore::paintStepper):
1983         Center the stepper drawing area because the specified area can be
1984         larger than the NSStepper sizes.
1985        (WebCore::ThemeMac::controlSize):
1986        (WebCore::ThemeMac::minimumControlSize):
1987        (WebCore::ThemeMac::inflateControlPaintRect):
1988        (WebCore::ThemeMac::paint):
1989        * rendering/RenderBox.cpp:
1990        (WebCore::RenderBox::paintBoxDecorations):
1991        * rendering/RenderBox.h:
1992        * rendering/RenderTextControlSingleLine.cpp:
1993        (WebCore::RenderTextControlSingleLine::layout):
1994        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1995        (WebCore::RenderTextControlSingleLine::textBlockWidth):
1996        * rendering/RenderTextControlSingleLine.h:
1997        * rendering/RenderTheme.cpp:
1998        (WebCore::RenderTheme::adjustStyle):
1999        (WebCore::RenderTheme::paint):
2000        (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
2001        * rendering/RenderTheme.h:
2002        * rendering/RenderThemeMac.mm:
2003        (WebCore::RenderThemeMac::adjustRepaintRect):
2004
20052011-06-01  Emil A Eklund  <eae@chromium.org>
2006
2007        Reviewed by Eric Seidel.
2008
2009        Switch RenderLayer::convertToLayerCoords to use IntPoint
2010        https://bugs.webkit.org/show_bug.cgi?id=61818
2011
2012        Covered by existing tests.
2013
2014        * platform/graphics/FloatPoint.h:
2015        (WebCore::flooredIntSize):
2016        * rendering/RenderLayer.cpp:
2017        (WebCore::RenderLayer::updateLayerPositions):
2018        (WebCore::expandClipRectForDescendantsAndReflection):
2019        (WebCore::transparencyClipBox):
2020        (WebCore::RenderLayer::convertToLayerCoords):
2021        (WebCore::RenderLayer::paintLayer):
2022        (WebCore::RenderLayer::paintChildLayerIntoColumns):
2023        (WebCore::RenderLayer::createLocalTransformState):
2024        (WebCore::RenderLayer::hitTestChildLayerColumns):
2025        (WebCore::RenderLayer::calculateClipRects):
2026        (WebCore::RenderLayer::calculateRects):
2027        (WebCore::RenderLayer::boundingBox):
2028        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2029        * rendering/RenderLayer.h:
2030        * rendering/RenderLayerBacking.cpp:
2031        (WebCore::RenderLayerBacking::updateCompositedBounds):
2032        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2033        * rendering/RenderLayerCompositor.cpp:
2034        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2035        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2036        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2037
20382011-06-01  Roland Steiner  <rolandsteiner@chromium.org>
2039
2040        Reviewed by Kent Tamura.
2041
2042        Remove superfluous renderer() test
2043        https://bugs.webkit.org/show_bug.cgi?id=61907
2044
2045        No new tests. (trivial)
2046
2047        * dom/Document.cpp:
2048        (WebCore::Document::recalcStyle):
2049
20502011-06-01  Levi Weintraub  <leviw@chromium.org>
2051
2052        Reviewed by Hajime Morita.
2053
2054        Add IntPoint + IntPoint operator
2055        https://bugs.webkit.org/show_bug.cgi?id=61876
2056
2057        Adding an operator+ convenience method to IntPoint that sums two points
2058        and returns the result as an IntPoint. Changing doImageDrag to use it
2059        as a proof of concept.
2060
2061        No new tests since there is no change in behavior.
2062
2063        * page/DragController.cpp:
2064        (WebCore::DragController::doImageDrag):
2065        * platform/graphics/IntPoint.h:
2066        (WebCore::operator+):
2067
20682011-06-01  Jaehun Lim  <ljaehun.lim@samsung.com>
2069
2070        Reviewed by Eric Seidel.
2071
2072        [EFL] Add adjustMenuListButtonStyle and paintMenuListButton functions
2073        https://bugs.webkit.org/show_bug.cgi?id=61836
2074
2075        Add functions for rendering drop-down list when style attributes are applied.
2076
2077        * platform/efl/RenderThemeEfl.cpp:
2078        (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
2079        (WebCore::RenderThemeEfl::paintMenuListButton):
2080        * platform/efl/RenderThemeEfl.h:
2081
20822011-06-01  Yuta Kitamura  <yutak@chromium.org>
2083
2084        Reviewed by Kent Tamura.
2085
2086        WebSocket: WebSocketChannel::fail() should close the connection immediately
2087        https://bugs.webkit.org/show_bug.cgi?id=61851
2088
2089        The effect of this change is almost unobservable. The difference between m_handle->close() and
2090        m_handle->disconnect() is that the former does not close the connection if the handle has
2091        unsent data while the latter immediately closes the connection regardless of unsent data.
2092        Usually a socket stream handle does not have unsent data, and even if it has any, it is hard
2093        for user scripts to observe the difference between close() and disconnect() (it should take some time
2094        for onclose() to be called if there are any unsent data, but there ought to be no other difference
2095        in user scripts' perspective).
2096
2097        No new tests are added, because writing a test for this issue is not feasible due to the above reason.
2098
2099        * websockets/WebSocketChannel.cpp:
2100        (WebCore::WebSocketChannel::fail): Use m_handle->disconnect() instead of m_handle->close().
2101
21022011-06-01  Abhishek Arya  <inferno@chromium.org>
2103
2104        Unreviewed.
2105
2106        Coding style nit. Move ec=0 initialization, change
2107        recommended by Alexey in bug.
2108        https://bugs.webkit.org/show_bug.cgi?id=60831
2109
2110        * dom/Document.cpp:
2111        (WebCore::Document::setBody):
2112
21132011-06-01  Hayato Ito  <hayato@chromium.org>
2114
2115        Reviewed by Kent Tamura.
2116
2117        Move {Next,Previous}FocusableNode functions from Document to FocusController.
2118        https://bugs.webkit.org/show_bug.cgi?id=61839
2119
2120        There are some member functions in Document which use 'this'
2121        pointer, but we should use TreeScope instead of Document in some
2122        places to handle focus issues nicely. We have to move these
2123        functions out of Document class so that we can give the TreeScope
2124        as a parameter.
2125
2126        No new tests since no functionality was changed.
2127
2128        * dom/Document.cpp:
2129        * dom/Document.h:
2130        * page/FocusController.cpp:
2131        (WebCore::FocusController::deepFocusableNode):
2132        (WebCore::FocusController::advanceFocusInDocumentOrder):
2133        (WebCore::nextNodeWithExactTabIndex):
2134        (WebCore::previousNodeWithExactTabIndex):
2135        (WebCore::nextNodeWithGreaterTabIndex):
2136        (WebCore::previousNodeWithLowerTabIndex):
2137        (WebCore::FocusController::nextFocusableNode):
2138        (WebCore::FocusController::previousFocusableNode):
2139        * page/FocusController.h:
2140
21412011-06-01  Adrienne Walker  <enne@google.com>
2142
2143        Reviewed by James Robinson.
2144
2145        [chromium] Fix syncing of removed mask and replica layers
2146        https://bugs.webkit.org/show_bug.cgi?id=61895
2147
2148        * platform/graphics/chromium/TreeSynchronizer.cpp:
2149        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
2150
21512011-06-01  Julien Chaffraix  <jchaffraix@codeaurora.org>
2152
2153        Reviewed by Simon Fraser.
2154
2155        CSSStyleSheet#insertRule doesn't work well with imported stylesheets
2156        https://bugs.webkit.org/show_bug.cgi?id=56981
2157
2158        Test: fast/css/import-and-insert-rule-no-update.html
2159
2160        The bug arises from the fact that <link> element did not know about a programmatically
2161        loading sheet (using insertRule and @import) and would thus never call removePendingSheet.
2162        This is needed to make sure our style selector contains an up-to-date list of stylesheets.
2163
2164        The gist of the patch adds a way for style sheet owner element to know if we are
2165        programmatically loading a style sheet. This is needed as <link> keeps the information
2166        about that last loaded stylesheet.
2167
2168        * css/CSSImportRule.cpp:
2169        (WebCore::CSSImportRule::insertedIntoParent): Call startLoadingDynamicSheet
2170        on our parent style sheet instead of directly adding a pending style sheet.
2171
2172        * css/CSSStyleSheet.cpp:
2173        (WebCore::CSSStyleSheet::startLoadingDynamicSheet): Call startLoadingDynamicSheet
2174        on our owner element if we have one.
2175
2176        * css/CSSStyleSheet.h:
2177        * dom/Node.h:
2178        (WebCore::Node::startLoadingDynamicSheet): Added common implementation of
2179        startLoadingDynamicSheet, which should never be called.
2180
2181        * dom/StyleElement.cpp:
2182        (WebCore::StyleElement::startLoadingDynamicSheet):
2183        * dom/StyleElement.h:
2184        Common implementation of startLoadingDynamicSheet for style elements.
2185
2186        * html/HTMLLinkElement.cpp:
2187        (WebCore::HTMLLinkElement::startLoadingDynamicSheet):
2188        * html/HTMLLinkElement.h:
2189        Use the HTMLLinkElement plumbing to make sure we call addRemovePendingSheet.
2190
2191        * html/HTMLStyleElement.h:
2192        (WebCore::HTMLStyleElement::startLoadingDynamicSheet):
2193        * svg/SVGStyleElement.h:
2194        (WebCore::SVGStyleElement::startLoadingDynamicSheet):
2195        Forward the call to StyleElement.
2196
21972011-06-01  Levi Weintraub  <leviw@chromium.org>
2198
2199        Reviewed by Eric Seidel.
2200
2201        Switch paintCustomHighlight to use IntPoint
2202        https://bugs.webkit.org/show_bug.cgi?id=61562
2203
2204        Switching paintCustomHighlight to use an IntPoint for
2205        its paint offset instead of a pair of ints.
2206
2207        No new tests since this is refactoring.
2208
2209        * rendering/InlineTextBox.cpp:
2210        (WebCore::InlineTextBox::paint):
2211        (WebCore::InlineTextBox::paintCustomHighlight):
2212        * rendering/InlineTextBox.h:
2213        * rendering/RenderBox.cpp:
2214        (WebCore::RenderBox::paintCustomHighlight):
2215        * rendering/RenderBox.h:
2216        * rendering/RenderImage.cpp:
2217        (WebCore::RenderImage::paintReplaced):
2218        * rendering/RenderListMarker.cpp:
2219        (WebCore::RenderListMarker::paint):
2220        * rendering/RenderWidget.cpp:
2221        (WebCore::RenderWidget::paint):
2222        * rendering/RootInlineBox.cpp:
2223        (WebCore::RootInlineBox::paintCustomHighlight):
2224        (WebCore::RootInlineBox::paint):
2225        * rendering/RootInlineBox.h:
2226
22272011-06-01  Emil A Eklund  <eae@chromium.org>
2228
2229        Reviewed by Eric Seidel.
2230
2231        Switch MouseRelatedEvent to use IntPoint
2232        https://bugs.webkit.org/show_bug.cgi?id=61574
2233
2234        Covered by existing tests.
2235
2236        * dom/MouseEvent.cpp:
2237        (WebCore::MouseEvent::MouseEvent):
2238        (WebCore::MouseEvent::initMouseEvent):
2239        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
2240        * dom/MouseRelatedEvent.cpp:
2241        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2242        (WebCore::contentsScrollOffset):
2243        (WebCore::MouseRelatedEvent::initCoordinates):
2244        (WebCore::MouseRelatedEvent::computeRelativePosition):
2245        (WebCore::MouseRelatedEvent::layerX):
2246        (WebCore::MouseRelatedEvent::layerY):
2247        (WebCore::MouseRelatedEvent::offsetX):
2248        (WebCore::MouseRelatedEvent::offsetY):
2249        (WebCore::MouseRelatedEvent::pageX):
2250        (WebCore::MouseRelatedEvent::pageY):
2251        (WebCore::MouseRelatedEvent::pageLocation):
2252        (WebCore::MouseRelatedEvent::x):
2253        (WebCore::MouseRelatedEvent::y):
2254        * dom/MouseRelatedEvent.h:
2255        (WebCore::MouseRelatedEvent::screenX):
2256        (WebCore::MouseRelatedEvent::screenY):
2257        (WebCore::MouseRelatedEvent::screenLocation):
2258        (WebCore::MouseRelatedEvent::clientX):
2259        (WebCore::MouseRelatedEvent::clientY):
2260        (WebCore::MouseRelatedEvent::clientLocation):
2261        (WebCore::MouseRelatedEvent::absoluteLocation):
2262        * dom/TouchEvent.cpp:
2263        (WebCore::TouchEvent::TouchEvent):
2264        (WebCore::TouchEvent::initTouchEvent):
2265        * dom/WheelEvent.cpp:
2266        (WebCore::WheelEvent::WheelEvent):
2267        (WebCore::WheelEvent::initWheelEvent):
2268        (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
2269        * dom/WheelEvent.h:
2270        (WebCore::WheelEvent::create):
2271        (WebCore::WheelEvent::wheelDelta):
2272        (WebCore::WheelEvent::wheelDeltaX):
2273        (WebCore::WheelEvent::wheelDeltaY):
2274        (WebCore::WheelEvent::rawDeltaX):
2275        (WebCore::WheelEvent::rawDeltaY):
2276        (WebCore::WheelEvent::isHorizontal):
2277        * platform/graphics/IntPoint.h:
2278        (WebCore::IntPoint::scale):
2279
22802011-06-01  Levi Weintraub  <leviw@chromium.org>
2281
2282        Reviewed by Eric Seidel.
2283
2284        Switch paintOverflowControls to use IntPoint
2285        https://bugs.webkit.org/show_bug.cgi?id=61884
2286
2287        Switching paintOverflowControls to use an IntPoint instead of a pair of ints.
2288
2289        No new tests since this is simple refactoring.
2290
2291        * rendering/RenderBlock.cpp:
2292        (WebCore::RenderBlock::paint):
2293        * rendering/RenderLayer.cpp:
2294        (WebCore::RenderLayer::paintOverflowControls):
2295        (WebCore::RenderLayer::paintLayer):
2296        * rendering/RenderLayer.h:
2297        * rendering/RenderLayerBacking.cpp:
2298        (WebCore::RenderLayerBacking::paintIntoLayer):
2299
23002011-06-01  Abhishek Arya  <inferno@chromium.org>
2301
2302        Reviewed by Alexey Proskuryakov.
2303
2304        Fix setting of document.body
2305        https://bugs.webkit.org/show_bug.cgi?id=60831
2306
2307        1. Only allowing setting to an element if it has a body tag.
2308        2. If element is from another document, import it.
2309
2310        Test: fast/dom/document-set-body.html
2311
2312        * dom/Document.cpp:
2313        (WebCore::Document::setBody):
2314
23152011-06-01  Chris Fleizach  <cfleizach@apple.com>
2316
2317        Reviewed by Darin Adler.
2318
2319        Safari always crashes on http://bbc.co.uk when VoiceOver enabled
2320        https://bugs.webkit.org/show_bug.cgi?id=61886
2321
2322        This crash can happen on webpages that remove an element from the DOM when the element receives focus.
2323        When AppKit goes to post a notification to inform VoiceOver the focus has changed, it asks for the AXFocusedUIElement.
2324        However by posting that notification, a render tree update is performed. This causes the element to disappear, but
2325        AppKit still has a handle to it and continues to try to reference it. When the autorelease pool pops, the reference goes bad.
2326
2327        To fix, the root element, the AccessibilityScrollView, needs to implement updateBackingStore(), otherwise this method 
2328        will not be called in time.
2329
2330        No test could be created because to cause it depends on an internal AppKit mechanism
2331        that is only triggered remotely through the accessibility runtime.
2332
2333        * accessibility/AccessibilityObject.cpp:
2334        (WebCore::AccessibilityObject::updateBackingStore):
2335        * accessibility/AccessibilityObject.h:
2336        * accessibility/AccessibilityRenderObject.cpp:
2337        * accessibility/AccessibilityRenderObject.h:
2338
23392011-06-01  David Carson  <dacarson@apple.com>
2340
2341        Reviewed by Antti Koivisto.
2342
2343        https://bugs.webkit.org/show_bug.cgi?id=61831
2344        If width and height of an iframe is fixed and should not be visible, then
2345        it shouldn't be flattened.
2346
2347        Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html
2348
2349        * rendering/RenderIFrame.cpp:
2350        (WebCore::RenderIFrame::flattenFrame): add a check for a zero width or height
2351
23522011-06-01  Daniel Cheng  <dcheng@chromium.org>
2353
2354        Reviewed by Tony Chang.
2355
2356        [chromium] Use correct file name for dragging out images.
2357        https://bugs.webkit.org/show_bug.cgi?id=24887
2358
2359        We try to guess an appropriate filename when dragging out images. In order, we try to use:
2360        - The filename suggested in the HTTP header.
2361        - The last path component of the source URL.
2362        - The alt text.
2363        This matches the behavior of the other WebKit ports.
2364
2365        Test: fast/events/drag-image-filename.html
2366
2367        * platform/chromium/ClipboardChromium.cpp:
2368        (WebCore::writeImageToDataObject):
2369        * platform/chromium/ClipboardChromiumMac.cpp:
2370        (WebCore::isInvalidFileCharacter):
2371        (WebCore::ClipboardChromium::validateFileName):
2372
23732011-06-01  Levi Weintraub  <leviw@chromium.org>
2374
2375        Reviewed by Eric Seidel.
2376
2377        Text is scaled in a stair-step pattern
2378        https://bugs.webkit.org/show_bug.cgi?id=60317
2379
2380        Stop scaling the specified font to the actual on-screen value when font-rendering: 
2381        geometricPrecision is specified, but instead scale the graphics context. This allows
2382        us to scale text up and down smoothly.
2383
2384        Test: svg/text/scaling-font-with-geometric-precision.html
2385
2386        * rendering/svg/RenderSVGInlineText.cpp:
2387        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2388
23892011-06-01  Levi Weintraub  <leviw@chromium.org>
2390
2391        Reviewed by Eric Seidel.
2392
2393        Switch paintResizer to use IntPoint
2394        https://bugs.webkit.org/show_bug.cgi?id=61883
2395
2396        Switch paintResizer to take an IntPoint instead of a pair of ints.
2397
2398        No new tests as this is simple refactoring.
2399
2400        * rendering/RenderLayer.cpp:
2401        (WebCore::RenderLayer::paintOverflowControls):
2402        (WebCore::RenderLayer::paintResizer):
2403        * rendering/RenderLayer.h:
2404        * rendering/RenderLayerBacking.cpp:
2405        (WebCore::RenderLayerBacking::paintContents):
2406
24072011-06-01  Jer Noble  <jer.noble@apple.com>
2408
2409        Reviewed by Darin Adler.
2410
2411        Page layout messed up after exiting full screen at Apple trailers page
2412        https://bugs.webkit.org/show_bug.cgi?id=61755
2413        <rdar://problem/9525277>
2414
2415        Test: fullscreen/full-screen-zIndex-after.html
2416
2417        Fix the incomplete implementation of r87660. Make parameters to
2418        setContainsFullScreenElementRecursively() in webkitWillExitFullScreenForElement() match those
2419        in webkitWillEnterFullScreenForElement(), so the ancestors' flags do not become
2420        inconsistent..
2421
2422        * dom/Document.cpp:
2423        (WebCore::Document::webkitWillExitFullScreenForElement):
2424
24252011-06-01  Levi Weintraub  <leviw@chromium.org>
2426
2427        Reviewed by Eric Seidel.
2428
2429        Switch paintScrollCorner to use IntPoint
2430        https://bugs.webkit.org/show_bug.cgi?id=61874
2431
2432        Changing paintScrollCorner to take an IntPoint representing the paint
2433        offset instead of a pair of ints.
2434
2435        No new tests as this is simple refactoring.
2436
2437        * rendering/RenderLayer.cpp:
2438        (WebCore::RenderLayer::paintOverflowControls):
2439        (WebCore::RenderLayer::paintScrollCorner):
2440        * rendering/RenderLayer.h:
2441        * rendering/RenderLayerBacking.cpp:
2442        (WebCore::RenderLayerBacking::paintContents):
2443
24442011-06-01  Kenneth Russell  <kbr@google.com>
2445
2446        Reviewed by Nate Chapin.
2447
2448        [V8] Optimize fetches of indexed properties in custom bindings
2449        https://bugs.webkit.org/show_bug.cgi?id=61821
2450
2451        Avoid allocating garbage in affected custom bindings. This speeds
2452        up one test case by at least a factor of two. No new tests;
2453        covered by existing layout tests (typed array and otherwise).
2454
2455        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2456        (WebCore::constructWebGLArray):
2457        (WebCore::setWebGLArrayHelper):
2458        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2459        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
2460        * bindings/v8/custom/V8MessagePortCustom.cpp:
2461        (WebCore::getMessagePortArray):
2462        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2463        (WebCore::jsArrayToFloatArray):
2464        (WebCore::jsArrayToIntArray):
2465
24662011-06-01  Andras Becsi  <abecsi@webkit.org>
2467
2468        Reviewed by Csaba Osztrogonác.
2469
2470        [Qt] Fix the Phonon build when logging is disabled
2471        https://bugs.webkit.org/show_bug.cgi?id=61869
2472
2473        No new tests needed.
2474
2475        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add missing guards.
2476        (WebCore::MediaPlayerPrivatePhonon::networkState):
2477        (WebCore::MediaPlayerPrivatePhonon::readyState):
2478        (WebCore::MediaPlayerPrivatePhonon::updateStates):
2479        (WebCore::MediaPlayerPrivatePhonon::stateChanged):
2480
24812011-06-01  Abhishek Arya  <inferno@chromium.org>
2482
2483        Reviewed by Antti Koivisto.
2484
2485        Do not use the pushed style selector if it is not equal to the
2486        parent document's style selector. It usually means that it is
2487        in a bad state, e.g. already cleared.
2488        https://bugs.webkit.org/show_bug.cgi?id=61737
2489
2490        * dom/Element.cpp:
2491        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
2492
24932011-06-01  Levi Weintraub  <leviw@chromium.org>
2494
2495        Reviewed by Eric Seidel.
2496
2497        Switch RenderLineBoxList intersection functions to use IntPoint
2498        https://bugs.webkit.org/show_bug.cgi?id=61794
2499
2500        Switching rangeIntersectsRect, anyLineIntersectsRect, and lineIntersectsDirtyRect
2501        to take IntPoint instead of a tx/ty to represent the offset to be applied match
2502        the rect and lines' coordinates.
2503
2504        No new tests since this is merely refactoring.
2505
2506        * rendering/RenderLineBoxList.cpp:
2507        (WebCore::RenderLineBoxList::rangeIntersectsRect):
2508        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2509        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2510        (WebCore::RenderLineBoxList::paint):
2511        (WebCore::RenderLineBoxList::hitTest):
2512        * rendering/RenderLineBoxList.h:
2513
25142011-05-19  Adrienne Walker  <enne@google.com>
2515
2516        Reviewed by James Robinson.
2517
2518        [chromium] Don't split long, narrow layers into multiple tiles.
2519        https://bugs.webkit.org/show_bug.cgi?id=60821
2520
2521        This changes the heuristic for when we tile layers to be less bad
2522        about wasting texture space.  Long, narrow layers that are tiled with
2523        a large tile size waste texture space.  Now layers are only tiled if
2524        they are above 512px in one dimension and extend into a second tile in
2525        the other.  If they are not tiled, their layer texture will exactly
2526        fit their layer bounds.  In particular, this will help scrollbars.
2527
2528        * platform/graphics/chromium/ContentLayerChromium.cpp:
2529        (WebCore::ContentLayerChromium::updateLayerSize):
2530        * platform/graphics/chromium/LayerRendererChromium.h:
2531        (WebCore::LayerRendererChromium::maxTextureSize):
2532
25332011-06-01  Cary Clark  <caryclark@google.com>
2534
2535        Reviewed by Eric Seidel.
2536
2537        Ready Chromium port for Skia on Mac
2538        https://bugs.webkit.org/show_bug.cgi?id=61800
2539
2540        Skia on Mac is not enabled. The executing
2541        code is unchanged, so there are no new tests.
2542
2543        * platform/chromium/DragImageRef.h:
2544        Use Skia for DragImageRef instead of CG.
2545
2546        * platform/chromium/ScrollbarThemeChromiumMac.mm:
2547        (WebCore::ScrollbarThemeChromiumMac::paint):
2548        Get the total matrix from Skia for the scrollbar.
2549        Convert the SkCanvas into a CGContext to draw.
2550
2551        * platform/chromium/ThemeChromiumMac.mm:
2552        (WebCore::paintStepper):
2553        Ditto.
2554
25552011-06-01  Yury Semikhatsky  <yurys@chromium.org>
2556
2557        Reviewed by Pavel Feldman.
2558
2559        Web Inspector: allow opening inspector for existing workers
2560        https://bugs.webkit.org/show_bug.cgi?id=61853
2561
2562        Added sidebar pane with a list of all workers. Each worker has a check box
2563        that allows opening inspector for the worker.
2564
2565        * inspector/Inspector.json:
2566        * inspector/InspectorInstrumentation.cpp:
2567        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
2568        * inspector/InspectorInstrumentation.h:
2569        (WebCore::InspectorInstrumentation::didStartWorkerContext):
2570        * inspector/InspectorWorkerAgent.cpp:
2571        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
2572        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
2573        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::connectToWorkerContext):
2574        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::disconnectFromWorkerContext):
2575        (WebCore::InspectorWorkerAgent::clearFrontend):
2576        (WebCore::InspectorWorkerAgent::connectToWorker):
2577        (WebCore::InspectorWorkerAgent::disconnectFromWorker):
2578        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
2579        * inspector/InspectorWorkerAgent.h:
2580        * inspector/front-end/ScriptsPanel.js:
2581        (WebInspector.ScriptsPanel):
2582        * inspector/front-end/Settings.js:
2583        * inspector/front-end/WorkerManager.js:
2584        (WebInspector.WorkerManager):
2585        (WebInspector.WorkerManager.prototype._workerCreated):
2586        (WebInspector.WorkerManager.prototype._sendMessageToWorkerInspector):
2587        (WebInspector.WorkerManager.prototype.openWorkerInspector):
2588        (WebInspector.WorkerManager.prototype.closeWorkerInspector):
2589        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2590        (WebInspector.WorkerMessageForwarder):
2591        (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
2592        (WebInspector.WorkerMessageForwarder.prototype.dispatchMessageFromWorker):
2593        * inspector/front-end/WorkersSidebarPane.js:
2594        (WebInspector.WorkersSidebarPane):
2595        (WebInspector.WorkersSidebarPane.prototype.addWorker):
2596        (WebInspector.WorkerListSidebarPane):
2597        (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
2598        (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
2599        (WebInspector.WorkerListSidebarPane.prototype._workerInspectorClosed):
2600        (WebInspector.WorkerListSidebarPane.prototype._addWorker):
2601        (WebInspector.WorkerListSidebarPane.prototype._createCheckbox):
2602        (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
2603        * workers/Worker.cpp:
2604        (WebCore::Worker::notifyFinished):
2605
26062011-06-01  Shishir Agrawal  <shishir@chromium.org>
2607
2608        Reviewed by Tony Gentilcore.
2609
2610        Renaming the Page Visibility attributes as per the modified spec draft.
2611        https://bugs.webkit.org/show_bug.cgi?id=61825
2612
2613        Spec draft:
2614        http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html
2615
2616        - Event needs to be webkitVisibilityChange from webkitVisibilityStateChange
2617        - The attribute webkitIsVisible needs to change to webkitHidden
2618
2619        * dom/Document.cpp:
2620        (WebCore::Document::webkitHidden):
2621        (WebCore::Document::dispatchVisibilityStateChangeEvent):
2622        * dom/Document.h:
2623        * dom/Document.idl:
2624        * dom/EventNames.h:
2625
26262011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2627
2628        Reviewed by Rob Buis.
2629
2630        Remove duplicated code in various computeReplacedLogical*() functions
2631        https://bugs.webkit.org/show_bug.cgi?id=61860
2632
2633        Centralize this calculation in RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth:
2634        int minLogicalWidth = computeReplacedLogicalWidthUsing(style()->logicalMinWidth());
2635        int maxLogicalWidth = !includeMaxWidth || style()->logicalMaxWidth().isUndefined() ? logicalWidth : computeReplacedLogicalWidthUsing(style()->logicalMaxWidth());
2636        return max(minLogicalWidth, min(logicalWidth, maxLogicalWidth));
2637
2638        Centralize this calculation in RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight:
2639        int minLogicalHeight = computeReplacedLogicalHeightUsing(style()->logicalMinHeight());
2640        int maxLogicalHeight = style()->logicalMaxHeight().isUndefined() ? logicalHeight : computeReplacedLogicalHeightUsing(style()->logicalMaxHeight());
2641        return max(minLogicalHeight, min(logicalHeight, maxLogicalHeight));
2642
2643        Use the new helper methods where possible, deduplicating lots of code.
2644
2645        * rendering/RenderBox.cpp:
2646        (WebCore::RenderBox::computeReplacedLogicalWidth):
2647        (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
2648        (WebCore::RenderBox::computeReplacedLogicalHeight):
2649        (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
2650        * rendering/RenderBox.h:
2651        * rendering/RenderImage.cpp:
2652        (WebCore::RenderImage::computeReplacedLogicalWidth):
2653        (WebCore::RenderImage::computeReplacedLogicalHeight):
2654        * rendering/RenderPart.cpp:
2655        (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
2656        (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
2657        (WebCore::RenderPart::computeReplacedLogicalWidth):
2658        (WebCore::RenderPart::computeReplacedLogicalHeight):
2659        * rendering/RenderPart.h:
2660        * rendering/RenderReplaced.cpp:
2661        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2662        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2663        * rendering/svg/RenderSVGRoot.cpp:
2664        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2665        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2666
26672011-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2668
2669        Unreviewed, rolling out r87788.
2670        http://trac.webkit.org/changeset/87788
2671        https://bugs.webkit.org/show_bug.cgi?id=61856
2672
2673        breaks windows chromium canary (Requested by jknotten on
2674        #webkit).
2675
2676        * loader/archive/mhtml/MHTMLArchive.cpp:
2677        * loader/archive/mhtml/MHTMLArchive.h:
2678        * page/PageSerializer.cpp:
2679        (WebCore::PageSerializer::serializeFrame):
2680        (WebCore::PageSerializer::serializeCSSStyleSheet):
2681        * platform/SharedBuffer.cpp:
2682        * platform/SharedBuffer.h:
2683
26842011-06-01  Joseph Pecoraro  <joepeck@webkit.org>
2685
2686        Reviewed by Pavel Feldman.
2687
2688        Web Inspector: [JSC] JSLock ASSERTs Seen Under eventListenerHandlerBody
2689        https://bugs.webkit.org/show_bug.cgi?id=61835
2690
2691        Add a JSLock call before possible allocations in jsFunction and toString.
2692
2693        * bindings/js/ScriptEventListener.cpp:
2694        (WebCore::eventListenerHandlerBody):
2695
26962011-06-01  Jay Civelli  <jcivelli@chromium.org>
2697
2698        Reviewed by Adam Barth.
2699
2700        Adding MHTML generation support to MHTMLArchive.
2701        https://bugs.webkit.org/show_bug.cgi?id=7169
2702
2703        * loader/archive/mhtml/MHTMLArchive.cpp:
2704        (WebCore::generateRandomBoundary):
2705        (WebCore::replaceNonPrintableCharacters):
2706        (WebCore::MHTMLArchive::generateMHTMLData):
2707        * loader/archive/mhtml/MHTMLArchive.h:
2708        * page/PageSerializer.cpp:
2709        (WebCore::PageSerializer::serializeFrame):
2710        (WebCore::PageSerializer::serializeCSSStyleSheet):
2711        * platform/SharedBuffer.cpp:
2712        (WebCore::SharedBuffer::append):
2713        * platform/SharedBuffer.h:
2714
27152011-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
2716
2717        Reviewed by Kent Tamura.
2718
2719        Remove ShadowElement and compact remaining used bits into RenderFileUploadControl.
2720        https://bugs.webkit.org/show_bug.cgi?id=61816
2721
2722        This is a near-mechanical move-and-rename of ShadowElement, which is now only
2723        used by input[type=file]. Next step -- switch it over to new shadow DOM.
2724
2725        Refactoring, no change in behavior.
2726
2727        * CMakeLists.txt: Removed ShadowElement.cpp and ShadowElement.h.
2728        * GNUmakefile.list.am: Ditto.
2729        * WebCore.gypi: Ditto.
2730        * WebCore.pro: Ditto.
2731        * WebCore/WebCore.vcproj/WebCore.vcproj: Ditto.
2732        * WebCore.xcodeproj/project.pbxproj: Ditto.
2733        * WebCore/rendering/RenderingAllInOne.cpp: Ditto.
2734        * rendering/RenderFileUploadControl.cpp:
2735        (WebCore::UploadButton::create): Moved from ShadowElement, renamed as UploadButton.
2736        (WebCore::UploadButton::detach): Ditto.
2737        (WebCore::UploadButton::UploadButton): Ditto.
2738        (WebCore::RenderFileUploadControl::updateFromElement): Changed to use UploadButton.
2739        * rendering/RenderMeter.cpp: Removed ShadowElement.h include, which is no longer used.
2740        * rendering/RenderProgress.cpp: Ditto.
2741        * rendering/ShadowElement.cpp: Removed.
2742        * rendering/ShadowElement.h: Removed.
2743
27442011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2745
2746        Reviewed by Rob Buis.
2747
2748        SVG fails all 3 of Hixie's CSS intrinsic sizing tests
2749        https://bugs.webkit.org/show_bug.cgi?id=15473
2750
2751        Hixies CSS intrinsic sizing tests cover percentage sizes specified on the target SVG document as width/height attributes
2752        and using width: auto / height: auto on the <object> that hosts the SVG document. Take percentage sizes of the outermost
2753        SVGs width/height attributes into account when determining the intrinsic size of the <object>.
2754
2755        Added several other testcases demonstrating several scenarios. All tests work exactly the same in WebKit and Firefox now.
2756        The *on-target-svg-absolute.xhtml tests look equal to WebKit/FF but Opera fails them, likely a relict of the different
2757        interpretation of the intrinsic size of a SVG document in SVG Tiny 1.2.
2758
2759        Tests: svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml
2760               svg/custom/object-sizing-height-50p-on-target-svg.xhtml
2761               svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml
2762               svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml
2763               svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml
2764               svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml
2765               svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml
2766               svg/custom/object-sizing-width-50p-on-target-svg.xhtml
2767               svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml
2768               svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml
2769               svg/hixie/intrinsic/001.html
2770               svg/hixie/intrinsic/002.html
2771               svg/hixie/intrinsic/003.html
2772
2773        * rendering/RenderPart.cpp:
2774        (WebCore::RenderPart::computeReplacedLogicalWidth):
2775        (WebCore::RenderPart::computeReplacedLogicalHeight):
2776        * rendering/svg/RenderSVGRoot.cpp:
2777        (WebCore::RenderSVGRoot::computeIntrinsicRatio):
2778        * rendering/svg/RenderSVGRoot.h:
2779
27802011-05-31  Tonis Tiigi  <tonistiigi@gmail.com>
2781
2782        Reviewed by Pavel Feldman.
2783
2784        Web Inspector: Timeline panel improvements for managing current selection
2785        https://bugs.webkit.org/show_bug.cgi?id=61468
2786
2787        Enables X-axis dragging of the selected area.
2788        Double click zoom-out.
2789        Fixes slightly wrong selection area position.
2790
2791        * inspector/front-end/TimelineOverviewPane.js:
2792        (WebInspector.TimelineOverviewPane):
2793        (WebInspector.TimelineOverviewPane.prototype._dragWindow):
2794        (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
2795        (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
2796        (WebInspector.TimelineOverviewPane.prototype._resizeWindowMaximum):
2797        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
2798        (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
2799        * inspector/front-end/TimelinePanel.js:
2800        (WebInspector.TimelinePanel):
2801
28022011-05-31  Keishi Hattori  <keishi@webkit.org>
2803
2804        Reviewed by Kent Tamura.
2805
2806        Fix to enable page scroll of select element
2807        https://bugs.webkit.org/show_bug.cgi?id=53628
2808
2809        Manual test: select-page-scroll.html
2810
2811        * manual-tests/select-page-scroll.html: Added.
2812        * rendering/RenderListBox.cpp:
2813        (WebCore::RenderListBox::computeLogicalHeight): Fix min to max.
2814
28152011-05-31  Yong Li  <yoli@rim.com>
2816
2817        Reviewed by Eric Seidel.
2818
2819        https://bugs.webkit.org/show_bug.cgi?id=54807
2820        We have been assuming plain bitfields (like "int a : 31") are always signed integers.
2821        However some compilers can treat them as unsigned. For example, RVCT 4.0 states plain
2822        bitfields (declared without either signed or unsigned qualifiers) are treats as unsigned.
2823        http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/Babjddhe.html
2824        Although we can use "--signed-bitfields" flag to make RVCT 4.0 behave as most other compilers,
2825        always using "signed"/"unsigned" qualifier to declare integral type bitfields is still a good
2826        rule we should have in order to make our code independent from compilers and compiler flags.
2827
2828        No new test added because this change is not known to fix any issue.
2829
2830        * css/CSSPrimitiveValue.h:
2831        * css/CSSProperty.h:
2832        * rendering/InlineBox.h:
2833        * rendering/RenderBlock.h:
2834
28352011-05-31  Hironori Bono  <hbono@chromium.org>
2836
2837        Reviewed by Eric Seidel.
2838
2839        Send an input event when we change the text direction.
2840        https://bugs.webkit.org/show_bug.cgi?id=50952
2841
2842        Both Safari and Chrome call Editor::setBaseWritingDirection() to change
2843        the text direction of an editable element with their UIs. This change
2844        calls dispatchInputEvent() to send an input event when the function
2845        actually changes the "dir" attribute so we can send an input event as
2846        written in the HTML5 spec.
2847
2848        Test: fast/html/set-text-direction.html
2849
2850        * editing/Editor.cpp:
2851        (WebCore::Editor::setBaseWritingDirection):
2852
28532011-05-31  Jer Noble  <jer.noble@apple.com>
2854
2855        Reviewed by Darin Adler.
2856
2857        Flash of black at the end of full screen transition at apple.com product videos
2858        https://bugs.webkit.org/show_bug.cgi?id=61756
2859
2860        Added two new entries to the WebCore exports list.
2861
2862        * WebCore.exp.in:
2863
28642011-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
2865
2866        Reviewed by Andreas Kling.
2867
2868        [Qt] tst_QWebFrame::render() failing
2869        https://bugs.webkit.org/show_bug.cgi?id=60893
2870
2871        Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496),
2872        this test was calculating the final geometry incorrectly. As the order between
2873        a translate and a draw operation could be relevant for it, but not for the
2874        final rendered result, they were changed on ScrollbarThemeQt::paint.
2875
2876        * platform/qt/ScrollbarThemeQt.cpp:
2877        (WebCore::ScrollbarThemeQt::paint):
2878
28792011-05-27  Adrienne Walker  <enne@google.com>
2880
2881        Reviewed by James Robinson.
2882
2883        [chromium] Fix crash from empty reflections with masks
2884        https://bugs.webkit.org/show_bug.cgi?id=61654
2885
2886        Change the iteration for updateCompositorResources to match that being
2887        done in the paint and draw steps.  This mismatch of iteration style
2888        was causing layers with replica masks to correctly get skipped while
2889        painting but not get skipped during texture upload.
2890
2891        Test: compositing/reflections/empty-reflection-with-mask.html
2892
2893        * platform/graphics/chromium/LayerRendererChromium.cpp:
2894        (WebCore::LayerRendererChromium::updateLayers):
2895        (WebCore::LayerRendererChromium::updateCompositorResources):
2896        * platform/graphics/chromium/LayerRendererChromium.h:
2897
28982011-05-31  B.J. Wever  <skylined@chromium.org>
2899
2900        Reviewed by Adam Barth.
2901
2902        requestFileSystem and resolveLocalFileSystemURI are not checking if
2903        errorCallback is NULL before scheduling a callback on error.
2904        https://bugs.webkit.org/show_bug.cgi?id=49539
2905
2906        Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html
2907
2908        * fileapi/DOMFileSystem.cpp:
2909        (WebCore::DOMFileSystem::scheduleCallback): Only call callback if
2910          one is supplied.
2911
29122011-05-31  Brady Eidson  <beidson@apple.com>
2913
2914        Reviewed by Darin Adler.
2915
2916        Another swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
2917        
2918        Re-land http://trac.webkit.org/changeset/87566 with invalid ASSERTs removed.
2919
2920        No new tests. No change in behavior.
2921
2922        Instead of storing the DocumentLoader at construction and never changing it,
2923        always calculate it based on the FrameLoader's current DocumentLoader:
2924        * dom/Document.cpp:
2925        (WebCore::Document::Document):
2926        (WebCore::Document::suggestedMIMEType):
2927        (WebCore::Document::lastModified):
2928        (WebCore::Document::initSecurityContext):
2929        (WebCore::Document::updateURLForPushOrReplaceState):
2930        (WebCore::Document::loader):
2931        * dom/Document.h:
2932
2933        Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
2934        * bindings/ScriptControllerBase.cpp:
2935        (WebCore::ScriptController::executeIfJavaScriptURL):
2936        * html/MediaDocument.cpp:
2937        (WebCore::MediaDocument::replaceMediaElementTimerFired):
2938        * html/PluginDocument.cpp:
2939        (WebCore::PluginDocumentParser::createDocumentStructure):
2940        * platform/mac/HTMLConverter.mm:
2941        (fileWrapperForElement):
2942
2943        * WebCore.exp.in:
2944
29452011-05-31  Levi Weintraub  <leviw@chromium.org>
2946
2947        Reviewed by Simon Fraser.
2948
2949        Change InlineBox::paint and its overloaded variants to use IntPoint
2950        https://bugs.webkit.org/show_bug.cgi?id=61804
2951
2952        Changing InlineBox::paint, its 7 overloaded variants, and RootInlineBox::paintEllipsisBox
2953        to use IntPoint for their paint offset instead of a pair of ints.
2954
2955        No new tests since this is just a refactoring.
2956
2957        * rendering/EllipsisBox.cpp:
2958        (WebCore::EllipsisBox::paint):
2959        * rendering/EllipsisBox.h:
2960        * rendering/InlineBox.cpp:
2961        (WebCore::InlineBox::paint):
2962        * rendering/InlineBox.h:
2963        * rendering/InlineFlowBox.cpp:
2964        (WebCore::InlineFlowBox::paint):
2965        * rendering/InlineFlowBox.h:
2966        * rendering/InlineTextBox.cpp:
2967        (WebCore::InlineTextBox::paint):
2968        * rendering/InlineTextBox.h:
2969        * rendering/RenderBlock.cpp:
2970        (WebCore::RenderBlock::paintEllipsisBoxes):
2971        * rendering/RenderBoxModelObject.cpp:
2972        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2973        * rendering/RenderLineBoxList.cpp:
2974        (WebCore::RenderLineBoxList::paint):
2975        * rendering/RootInlineBox.cpp:
2976        (WebCore::RootInlineBox::paintEllipsisBox):
2977        (WebCore::RootInlineBox::paint):
2978        * rendering/RootInlineBox.h:
2979        * rendering/svg/SVGInlineFlowBox.cpp:
2980        (WebCore::SVGInlineFlowBox::paint):
2981        * rendering/svg/SVGInlineFlowBox.h:
2982        * rendering/svg/SVGInlineTextBox.cpp:
2983        (WebCore::SVGInlineTextBox::paint):
2984        * rendering/svg/SVGInlineTextBox.h:
2985        * rendering/svg/SVGRootInlineBox.cpp:
2986        (WebCore::SVGRootInlineBox::paint):
2987        * rendering/svg/SVGRootInlineBox.h:
2988
29892011-05-31  James Robinson  <jamesr@chromium.org>
2990
2991        Reviewed by Kenneth Russell.
2992
2993        [chromium] Clear out LayerChromium's m_ccLayerImpl ptr on CCLayerImpl destruction
2994        https://bugs.webkit.org/show_bug.cgi?id=61593
2995
2996        Whenever a CCLayerImpl is being destroyed, clear out its owner's m_ccLayerImpl pointer.
2997        This is extremely defensive and not strictly necessary, but not harmful either.
2998
2999        * platform/graphics/chromium/LayerChromium.h:
3000        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3001        (WebCore::CCLayerImpl::~CCLayerImpl):
3002
30032011-05-31  Stephen White  <senorblanco@chromium.org>
3004
3005        Unreviewed; build fix.
3006
3007        Silence some warnings on the Safari/Mac release build.
3008
3009        * platform/graphics/gpu/TilingData.h:
3010        (WebCore::TilingData::assertTile):
3011
30122011-05-31  Justin Novosad  <junov@chromium.org>
3013
3014        Reviewed by Stephen White.
3015
3016        [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
3017        https://bugs.webkit.org/show_bug.cgi?id=61790
3018        Changing the build guards in these two files that are required
3019        by the accelerated compositing feature.
3020
3021        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3022        * platform/graphics/gpu/TilingData.cpp:
3023
30242011-05-31  Justin Novosad  <junov@chromium.org>
3025
3026        Reviewed by Stephen White.
3027
3028        [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
3029        https://bugs.webkit.org/show_bug.cgi?id=61790
3030        Changing the build guards in these two files that are required
3031        by the accelerated compositing feature.
3032
3033        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
3034        * platform/graphics/gpu/TilingData.cpp:
3035
30362011-05-31  Rob Buis  <rbuis@rim.com>
3037
3038        Reviewed by Dirk Schulze.
3039
3040        https://bugs.webkit.org/show_bug.cgi?id=34301
3041        Creating <animateMotion> elements via javascript do not execute
3042
3043        https://bugs.webkit.org/show_bug.cgi?id=17043
3044        SVG missing some .idl files
3045
3046        Add missing idl files.
3047
3048        Test: svg/animations/animate-mpath-insert.html
3049
3050        * CMakeLists.txt:
3051        * CodeGenerators.pri:
3052        * WebCore.gypi:
3053        * WebCore.xcodeproj/project.pbxproj:
3054        * svg/SVGAnimateMotionElement.idl: Added.
3055        * svg/SVGMPathElement.idl: Added.
3056
30572011-05-31  Robin Dunn  <robin@alldunn.com>
3058
3059        Reviewed by Kevin Ollivier.
3060
3061        [wx] Implement printing support for wxWidgets 2.9.x and above.
3062        
3063        https://bugs.webkit.org/show_bug.cgi?id=61796
3064
3065        * platform/graphics/GraphicsContext.h:
3066        * platform/graphics/wx/FontWx.cpp:
3067        (WebCore::Font::drawGlyphs):
3068        * platform/graphics/wx/GraphicsContextWx.cpp:
3069        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3070        (WebCore::GraphicsContext::drawRect):
3071        (WebCore::GraphicsContext::drawLine):
3072        (WebCore::GraphicsContext::drawEllipse):
3073        (WebCore::GraphicsContext::strokeArc):
3074        (WebCore::GraphicsContext::drawConvexPolygon):
3075        (WebCore::GraphicsContext::fillRect):
3076        (WebCore::GraphicsContext::drawLineForText):
3077        (WebCore::GraphicsContext::scale):
3078        (WebCore::GraphicsContext::currentScale):
3079        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
3080        (WebCore::drawTextWithSpacing):
3081
30822011-05-31  Joseph Pecoraro  <joepeck@webkit.org>
3083
3084        Reviewed by Pavel Feldman.
3085
3086        Web Inspector: Missing InspectorFrontendHost.saveSessionSetting function
3087        https://bugs.webkit.org/show_bug.cgi?id=61751
3088
3089        Add missing stub function causing an error on load.
3090
3091        * inspector/front-end/InspectorFrontendHostStub.js:
3092        (.WebInspector.InspectorFrontendHostStub.prototype.saveSessionSetting):
3093
30942011-05-31  Abhishek Arya  <inferno@chromium.org>
3095
3096        Reviewed by Dimitri Glazkov.
3097
3098        Improve hasMediaControls logic to check that node has
3099        media controls. This can be false when cloning nodes.
3100        https://bugs.webkit.org/show_bug.cgi?id=61765
3101
3102        Test: media/media-controls-clone-crash.html
3103
3104        * dom/Node.h:
3105        (WebCore::Node::isMediaControls):
3106        * html/HTMLMediaElement.cpp:
3107        (WebCore::HTMLMediaElement::mediaControls):
3108        (WebCore::HTMLMediaElement::hasMediaControls):
3109        * html/shadow/MediaControls.h:
3110        (WebCore::MediaControls::isMediaControls):
3111        (WebCore::toMediaControls):
3112
31132011-05-31  Xan Lopez  <xlopez@igalia.com>
3114
3115        Reviewed by Martin Robinson.
3116
3117        [GTK] Provide custom DOM bindings methods to check if input/textareas have been edited
3118        https://bugs.webkit.org/show_bug.cgi?id=61791
3119
3120        * bindings/gobject/GNUmakefile.am: add new files.
3121        * bindings/gobject/WebKitDOMCustom.cpp: Added.
3122        (webkit_dom_html_text_area_element_is_edited):
3123        (webkit_dom_html_input_element_is_edited):
3124        * bindings/gobject/WebKitDOMCustom.h: Added.
3125
31262011-05-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
3127
3128        Unreviewed build fix for Symbian.
3129        Opt-out Symbian for TextureMapper.
3130
3131        No new tests: build fix.
3132
3133        * WebCore.pri:
3134
31352011-05-31  Levi Weintraub  <leviw@chromium.org>
3136
3137        Reviewed by Eric Seidel.
3138
3139        Switch paintFocusRing to IntPoint
3140        https://bugs.webkit.org/show_bug.cgi?id=61580
3141
3142        Switching paintFocusRing to take an IntPoint representing the paint offset
3143        instead of a pair of ints.
3144
3145        No new tests as this is just refactoring.
3146
3147        * rendering/RenderInline.cpp:
3148        (WebCore::RenderInline::paintOutline):
3149        * rendering/RenderObject.cpp:
3150        (WebCore::RenderObject::paintFocusRing):
3151        (WebCore::RenderObject::paintOutline):
3152        * rendering/RenderObject.h:
3153
31542011-05-31  Abhishek Arya  <inferno@chromium.org>
3155
3156        Reviewed by Dimitri Glazkov.
3157
3158        Convert raw ptr to RefPtr for documentElement.
3159        https://bugs.webkit.org/show_bug.cgi?id=61688
3160
3161        Test: fast/dom/xml-parser-error-message-crash.svg
3162
3163        * dom/XMLDocumentParser.cpp:
3164        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
3165
31662011-05-31  Andreas Kling  <kling@webkit.org>
3167
3168        Reviewed by Antti Koivisto.
3169
3170        Canvas/JSC: Auto-generate overloads for setShadow()
3171        https://bugs.webkit.org/show_bug.cgi?id=61786
3172
3173        Move CanvasRenderingContext2D.setShadow() to auto-generated JSC bindings.
3174
3175        There is a subtle difference to the previous behavior: invalid numbers of
3176        arguments now raise TypeError instead of SyntaxError. This is in accordance
3177        with Web IDL, and matches the existing V8 bindings.
3178
3179        Test: fast/canvas/canvas-overloads-setShadow.html
3180
3181        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3182        * html/canvas/CanvasRenderingContext2D.idl:
3183
31842011-05-31  Andreas Kling  <kling@webkit.org>
3185
3186        Reviewed by Antti Koivisto.
3187
3188        Canvas/JSC: Auto-generate overloads for drawImageFromRect()
3189        https://bugs.webkit.org/show_bug.cgi?id=61709
3190
3191        Move CanvasRenderingContext2D.drawImageFromRect() to auto-generated JSC bindings.
3192        Make it [RequiresAllArguments=Raise] to match the old behavior.
3193        Side effect: calling drawImageFromRect() with zero arguments will now raise
3194        SyntaxError instead of TypeError.
3195
3196        Test: fast/canvas/canvas-overloads-drawImageFromRect.html
3197
3198        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3199        * html/canvas/CanvasRenderingContext2D.h:
3200        * html/canvas/CanvasRenderingContext2D.idl:
3201
32022011-05-31  Andreas Kling  <kling@webkit.org>
3203
3204        Reviewed by Antti Koivisto.
3205
3206        Canvas/JSC: Auto-generate overloads for drawImage()
3207        https://bugs.webkit.org/show_bug.cgi?id=61703
3208
3209        Move CanvasRenderingContext2D.drawImage() to auto-generated JSC bindings.
3210
3211        There is a subtle difference to the previous behavior: invalid numbers of
3212        arguments now raise TypeError instead of SyntaxError. This is in accordance
3213        with Web IDL, and matches the existing V8 bindings.
3214
3215        Test: fast/canvas/canvas-overloads-drawImage.html
3216
3217        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3218        * html/canvas/CanvasRenderingContext2D.idl:
3219
32202011-05-31  Andreas Kling  <kling@webkit.org>
3221
3222        Reviewed by Antti Koivisto.
3223
3224        Canvas/JSC: Auto-generate overloads for strokeRect()
3225        https://bugs.webkit.org/show_bug.cgi?id=61641
3226
3227        Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
3228
3229        No behavioral change.
3230
3231        Test: fast/canvas/canvas-overloads-strokeRect.html
3232
3233        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3234        * html/canvas/CanvasRenderingContext2D.idl:
3235
32362011-05-31  Andreas Kling  <kling@webkit.org>
3237
3238        Reviewed by Antti Koivisto.
3239
3240        Canvas/JSC: Auto-generate overloads for setFillColor()
3241        https://bugs.webkit.org/show_bug.cgi?id=61635
3242
3243        Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
3244
3245        There is a subtle difference to the previous behavior: invalid numbers of
3246        arguments now raise TypeError instead of SyntaxError. This is in accordance
3247        with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
3248
3249        Test: fast/canvas/canvas-overloads-setFillColor.html
3250
3251        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3252        * html/canvas/CanvasRenderingContext2D.idl:
3253
32542011-05-31  Andreas Kling  <kling@webkit.org>
3255
3256        Reviewed by Antti Koivisto.
3257
3258        Canvas/JSC: Auto-generate overloads for setStrokeColor()
3259        https://bugs.webkit.org/show_bug.cgi?id=61629
3260
3261        Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
3262
3263        There is a subtle difference to the previous behavior: invalid numbers of
3264        arguments now raise TypeError instead of SyntaxError. This is in accordance
3265        with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
3266
3267        Test: fast/canvas/canvas-overloads-setStrokeColor.html
3268
3269        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3270        * html/canvas/CanvasRenderingContext2D.idl:
3271
32722011-05-31  Andreas Kling  <kling@webkit.org>
3273
3274        Reviewed by Antti Koivisto.
3275
3276        Canvas/JSC: Auto-generate overloads for strokeText()
3277        https://bugs.webkit.org/show_bug.cgi?id=61626
3278
3279        Move CanvasRenderingContext2D.strokeText() to auto-generated JSC bindings.
3280        Make it [RequiresAllArguments=Raise] to match the old behavior.
3281        This has the side-effect of aligning the behaviors of JSC and V8.
3282
3283        Test: fast/canvas/canvas-overloads-strokeText.html
3284
3285        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3286        * html/canvas/CanvasRenderingContext2D.idl:
3287
32882011-05-31  Andreas Kling  <kling@webkit.org>
3289
3290        Reviewed by Antti Koivisto.
3291
3292        Canvas/JSC: Auto-generate overloads for fillText()
3293        https://bugs.webkit.org/show_bug.cgi?id=61623
3294
3295        Move CanvasRenderingContext2D.fillText() to auto-generated JSC bindings.
3296        Make it [RequiresAllArguments=Raise] to match the old behavior.
3297        This has the side-effect of aligning the behaviors of JSC and V8.
3298
3299        Test: fast/canvas/canvas-overloads-fillText.html
3300
3301        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3302        * html/canvas/CanvasRenderingContext2D.idl:
3303
33042011-05-31  Yael Aharon  <yael.aharon@nokia.com>
3305
3306        Reviewed by Kenneth Rohde Christiansen.
3307
3308        Frame flattening is broken with nested frames
3309        https://bugs.webkit.org/show_bug.cgi?id=61491
3310
3311        After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
3312        This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
3313        Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
3314
3315        Test: fast/frames/flattening/iframe-flattening-nested.html
3316
3317        * page/FrameView.cpp:
3318        (WebCore::FrameView::layout):
3319
33202011-05-31  Tommy Widenflycht  <tommyw@google.com>
3321
3322        Reviewed by Tony Gentilcore.
3323
3324        Fix getUserMedia callback bindings for JSC.
3325        https://bugs.webkit.org/show_bug.cgi?id=60174
3326
3327        This patch initializes the exception code variable to 0.
3328
3329        Test: fast/dom/MediaStream/argument-types.html
3330
3331        * bindings/js/JSNavigatorCustom.cpp:
3332        (WebCore::JSNavigator::webkitGetUserMedia):
3333
33342011-05-31  Oleg Romashin  <oleg.romashin@nokia.com>
3335
3336        Reviewed by Benjamin Poulain.
3337
3338        Fix compilation with debug enabled, m_lightSource.type is not valid anymore
3339        https://bugs.webkit.org/show_bug.cgi?id=61719
3340
3341        * platform/graphics/filters/arm/FELightingNEON.h:
3342        (WebCore::FELighting::platformApplyNeon):
3343
33442011-05-31  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
3345
3346        Reviewed by Nikolas Zimmermann.
3347
3348        Invalid color handling is broken for SVG
3349        https://bugs.webkit.org/show_bug.cgi?id=58531
3350
3351        Fix invalid color fallback handling. If the fill/stroke attributes computed
3352        value leads to a an invalid color, inherit the desired color from the parent
3353        style instead. Matches Opera/FF and SVG 1.1 Second Edition (http://www.w3.org/TR/SVG/).
3354
3355        Tests: svg/custom/invalid-stroke-hex.svg
3356               svg/custom/invalid-uri-stroke.svg
3357
3358        * rendering/svg/RenderSVGResource.cpp:
3359        (WebCore::inheritColorFromParentStyleIfNeeded):
3360        (WebCore::requestPaintingResource):
3361
33622011-05-31  Vangelis Kokkevis  <vangelis@chromium.org>
3363
3364        Reviewed by Kent Tamura.
3365
3366        [chromium] Avoid double deletion of DrawingBuffer's color buffer
3367        texture.
3368        https://bugs.webkit.org/show_bug.cgi?id=61761
3369
3370        Test: Verified that the DCHECK in GraphicsContext3D implementation
3371        doesn't trigger.
3372
3373        * platform/graphics/chromium/DrawingBufferChromium.cpp:
3374        (WebCore::DrawingBuffer::~DrawingBuffer):
3375
33762011-05-30  Hayato Ito  <hayato@chromium.org>
3377
3378        Reviewed by Ryosuke Niwa.
3379
3380        Add a utility function for dumping a tree for the Node, including a document of a frame.
3381        https://bugs.webkit.org/show_bug.cgi?id=61727
3382
3383        No new tests since added functions are only available in debug builds.
3384
3385        * dom/Node.cpp:
3386        (WebCore::parentOrHostOrFrameOwner):
3387        (WebCore::traverseNextNodeAcrossFrame):
3388        (WebCore::Node::showTreeForThisAcrossFrame):
3389        * dom/Node.h:
3390
33912011-05-30  James Kozianski  <koz@chromium.org>
3392
3393        Reviewed by Kent Tamura.
3394
3395        [Chromium] Make isValidProtocol() accept protocols with '+'.
3396        https://bugs.webkit.org/show_bug.cgi?id=61759
3397
3398        Also, detect syntax errors before security errors; some syntax errors
3399        will also trigger a security error, but it's more helpful to the
3400        programmer to know if they have a syntax error, which are well-defined
3401        in the spec, rather than a security error, which aren't.
3402
3403        * page/Navigator.cpp:
3404        (WebCore::Navigator::registerProtocolHandler):
3405        Detect syntax errors before security errors.
3406        * platform/KURLGoogle.cpp:
3407        (WebCore::isSchemeChar):
3408        Include '+' in the list of valid characters.
3409
34102011-05-30  Andrey Petrov  <andrey.petrov@gmail.com>
3411
3412        Reviewed by Hajime Morita.
3413
3414        Using jQuery to show/hide IMG elements crashes WebKit
3415        https://bugs.webkit.org/show_bug.cgi?id=31721
3416
3417        For platform code, do not assert nodes always have renderer at
3418        the time context menu action is invoked.
3419        Renderer can actually be empty for a given node if it was hidden
3420        or removed from domtree by some non-user generated event (e.g timeout) 
3421        after the popup menu had been created.
3422
3423        Changing Chromium, Gtk, Mac, Qt, Win and WinCE.
3424
3425        Test: editing/pasteboard/copy-standalone-image-crash.html
3426
3427        * platform/chromium/PasteboardChromium.cpp:
3428        (WebCore::Pasteboard::writeImage):
3429        * platform/gtk/PasteboardGtk.cpp:
3430        (WebCore::Pasteboard::writeImage):
3431        * platform/mac/PasteboardMac.mm:
3432        (WebCore::Pasteboard::writeImage):
3433        * platform/qt/PasteboardQt.cpp:
3434        (WebCore::Pasteboard::writeImage):
3435        * platform/win/PasteboardWin.cpp:
3436        (WebCore::Pasteboard::writeImage):
3437        * platform/wince/PasteboardWinCE.cpp:
3438        (WebCore::Pasteboard::writeImage):
3439
34402011-05-30  Daniel Bates  <dbates@webkit.org>
3441
3442        Reviewed by Adam Barth.
3443
3444        Rename XSSFilter to XSSAuditor
3445        https://bugs.webkit.org/show_bug.cgi?id=61718
3446
3447        Currently we use the names XSSFilter and XSSAuditor throughout the project.
3448        Instead, we should choose one name for consistency.
3449
3450        No functionality was changed. So, no new tests.
3451
3452        * CMakeLists.txt:
3453        * GNUmakefile.list.am:
3454        * WebCore.gypi:
3455        * WebCore.pro:
3456        * WebCore.vcproj/WebCore.vcproj:
3457        * WebCore.xcodeproj/project.pbxproj:
3458        * html/parser/HTMLDocumentParser.cpp:
3459        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3460        (WebCore::HTMLDocumentParser::pumpTokenizer):
3461        * html/parser/HTMLDocumentParser.h:
3462        * html/parser/XSSAuditor.cpp: Copied from Source/WebCore/html/parser/XSSFilter.cpp.
3463        (WebCore::XSSAuditor::XSSAuditor):
3464        (WebCore::XSSAuditor::init):
3465        (WebCore::XSSAuditor::filterToken):
3466        (WebCore::XSSAuditor::filterTokenInitial):
3467        (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
3468        (WebCore::XSSAuditor::filterScriptToken):
3469        (WebCore::XSSAuditor::filterObjectToken):
3470        (WebCore::XSSAuditor::filterParamToken):
3471        (WebCore::XSSAuditor::filterEmbedToken):
3472        (WebCore::XSSAuditor::filterAppletToken):
3473        (WebCore::XSSAuditor::filterIframeToken):
3474        (WebCore::XSSAuditor::filterMetaToken):
3475        (WebCore::XSSAuditor::filterBaseToken):
3476        (WebCore::XSSAuditor::filterFormToken):
3477        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
3478        (WebCore::XSSAuditor::eraseAttributeIfInjected):
3479        (WebCore::XSSAuditor::snippetForRange):
3480        (WebCore::XSSAuditor::snippetForAttribute):
3481        (WebCore::XSSAuditor::isContainedInRequest):
3482        (WebCore::XSSAuditor::isSameOriginResource):
3483        * html/parser/XSSAuditor.h: Copied from Source/WebCore/html/parser/XSSFilter.h.
3484        * html/parser/XSSFilter.cpp: Removed.
3485        * html/parser/XSSFilter.h: Removed.
3486
34872011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
3488
3489        Reviewed by Simon Hausmann.
3490
3491        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
3492        https://bugs.webkit.org/show_bug.cgi?id=61694
3493
3494        Expose a public clearAll() function to reset WebCore::Animation.
3495
3496        No new functionality, so no new tests.
3497
3498        * platform/animation/Animation.h:
3499        (WebCore::Animation::clearAll):
3500
35012011-05-30  Eric Carlson  <eric.carlson@apple.com>
3502
3503        Reviewed by Alexey Proskuryakov.
3504
3505        Audio and video files saved to the Application Cache should preserve the original file extension
3506        https://bugs.webkit.org/show_bug.cgi?id=61750
3507        <rdar://9524922>
3508
3509        No new tests, it isn't possible to check the name of the file in the cache from within
3510        DRT. Changes verified manually.
3511
3512        * loader/appcache/ApplicationCacheStorage.cpp:
3513        (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
3514            file name.
3515        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
3516        * loader/appcache/ApplicationCacheStorage.h:
3517
35182011-05-30  Jer Noble  <jer.noble@apple.com>
3519
3520        Reviewed by Dan Bernstein.
3521
3522        Play/Pause button in wrong state when entering full screen on Vimeo
3523        https://bugs.webkit.org/show_bug.cgi?id=61754
3524
3525        Update the play/pause button inside reset().  This ensures the button is in
3526        the correct state when the controls are created after playback has already
3527        started.
3528
3529        * html/shadow/MediaControlRootElement.cpp:
3530        (WebCore::MediaControlRootElement::reset):
3531
35322011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
3533
3534        Reviewed by Simon Hausmann.
3535
3536        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
3537        https://bugs.webkit.org/show_bug.cgi?id=61694
3538
3539        Added a public TimingFunction::type() method.
3540
3541        No new functionality, so no new tests.
3542
3543        * platform/animation/TimingFunction.h:
3544        (WebCore::TimingFunction::type):
3545
35462011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
3547
3548        BUILD FIX for r87697 on Windows/Symbian
3549
3550        For now enabling TextureMapper for Mac/Linux only.
3551
3552        * WebCore.pri:
3553
35542011-05-30  David Kilzer  <ddkilzer@apple.com>
3555
3556        BUILD FIX for r87692 with !ENABLE(FULLSCREEN_API)
3557
3558        * dom/EventDispatcher.cpp:
3559        (WebCore::EventDispatcher::determineDispatchBehavior): Mark
3560        shadowRoot as an unused parameter with !ENABLE(FULLSCREEN_API).
3561
35622011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
3563
3564        Reviewed by Andreas Kling.
3565
3566        [Texmap][Qt] Enable TextureMapper by default
3567        https://bugs.webkit.org/show_bug.cgi?id=61740
3568
3569        Make CONFIG+=texmap an opt-out instead of an opt-in.
3570
3571        No new functionality so no new tests.
3572
3573        * WebCore.pri:
3574
35752011-05-30  Martin Robinson  <mrobinson@igalia.com>
3576
3577        Reviewed by Xan Lopez.
3578
3579        [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
3580        https://bugs.webkit.org/show_bug.cgi?id=61693
3581
3582        Do not try to read the FT_Face from m_scaledFont if it m_scaledFont is
3583        null. A recent change fixing 0-pixel-size fonts means that m_scaledFont
3584        may now be null.
3585
3586        No new tests. This change should cause fast/css/font-face-zero-hash-key.html
3587        to stop crashing.
3588
3589        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3590        (WebCore::FontPlatformData::FontPlatformData): Do a null check before accessing
3591        m_scaledFont.
3592
35932011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
3594
3595        Reviewed by Kenneth Rohde Christiansen.
3596
3597        [Texmap][Qt] Disable accelerated plugins/media until they're working.
3598        https://bugs.webkit.org/show_bug.cgi?id=61687
3599
3600        Until this works properly, we should indicate that our media implementation
3601        in texture mapper doesn't support accelerated compositing.
3602
3603        This makes LayoutTests/compositing/video/* work again.
3604
3605        * platform/graphics/qt/MediaPlayerPrivateQt.h:
3606        (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
3607        (WebCore::MediaPlayerPrivateQt::platformLayer):
3608
36092011-05-30  Mikhail Naganov  <mnaganov@chromium.org>
3610
3611        Reviewed by Adam Barth.
3612
3613        [Chromium] Fix regression after r87628.
3614        https://bugs.webkit.org/show_bug.cgi?id=61733
3615
3616        Having r87628 in place, Chrome reliability bot crashes in
3617        WebCore::HTMLLinkElement::onloadTimerFired.
3618
3619        This is because the change makes WebCore::CachedResource::setRequest to
3620        call checkNotify on request reset.  HTMLLinkElement registers itself as
3621        CachedResource client via m_cachedSheet, which can happen even if
3622        m_cachedLinkResource wasn't set.  As a result,
3623        WebCore::HTMLLinkElement::notifyFinished is got called with unset
3624        m_cachedLinkResource, which causes a crash in
3625        HTMLLinkElement::onloadTimerFired
3626
3627        * html/HTMLLinkElement.cpp:
3628        (WebCore::HTMLLinkElement::notifyFinished):
3629
36302011-05-30  Jer Noble  <jer.noble@apple.com>
3631
3632        Reviewed by Darin Adler and Simon Fraser.
3633
3634        REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
3635        https://bugs.webkit.org/show_bug.cgi?id=61717
3636        rdar://problem/9522272
3637
3638        May be some good way to test this later. No immediate idea about the best way.
3639
3640        When a media element is taken into full-screen mode, stop events from propagating
3641        outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
3642        has been changed to take a shadow root node. In our full screen media element check,
3643        we check to see if the passed shadow root is the shadow root of the full screen media
3644        element, and if so, specify events should StayInsideShadowDOM. The end result is that
3645        inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
3646        way from the SliderThumb to the video element's shadow root, but no further.
3647
3648        * dom/EventDispatcher.cpp:
3649        (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
3650        shadow DOM when showing a full screen video.
3651
3652        * html/HTMLMediaElement.cpp:
3653        (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
3654        The events telling us about activity in the shadow DOM no longer bubble out so we need to
3655        handle this inside the shadow DOM on the root element.
3656        (WebCore::HTMLMediaElement::play): Ditto.
3657        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
3658        (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
3659        (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
3660        (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
3661        * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.
3662
3663        * html/shadow/MediaControlElements.cpp:
3664        (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
3665        changes that tried to make special rules for events using preDispatchEventHandler and such.
3666        This rolls out both r87622 and r87655.
3667        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
3668        (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
3669        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
3670        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
3671        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
3672        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
3673        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
3674        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
3675        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
3676        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
3677        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
3678        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
3679        * html/shadow/MediaControlElements.h: Ditto.
3680
3681        * html/shadow/MediaControlRootElement.cpp:
3682        (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
3683        (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
3684        hiding the controls later.
3685        (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
3686        is no longer over the controls.
3687        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
3688        automatically if we're playing.
3689        (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
3690        (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
3691        if we are full screen.
3692        (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
3693        (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
3694        as the mouse is moved in and out.
3695        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
3696        needed.
3697        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
3698        are met.
3699        (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.
3700
3701        * html/shadow/MediaControlRootElement.h: Added new functions and data members.
3702
3703
37042011-05-30  Gavin Peters  <gavinp@chromium.org>
3705
3706        Reviewed by Adam Barth.
3707
3708        prevent HTMLLinkElement from watching multiple CachedResources
3709        https://bugs.webkit.org/show_bug.cgi?id=61686
3710
3711        If we modify an existing link element, stop listening to the previous
3712        cached resource, to prevent double notifications (which crash).
3713
3714        Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
3715
3716        * html/HTMLLinkElement.cpp:
3717        (WebCore::HTMLLinkElement::process):
3718
37192011-05-30  Peter Varga  <pvarga@webkit.org>
3720
3721        Unreviewed build fix.
3722
3723        [Qt][V8] Fix debug build.
3724
3725        No new tests needed.
3726
3727        * css/CSSStyleDeclaration.cpp: Add missing header.
3728        * dom/Text.cpp: Ditto.
3729        * rendering/InlineTextBox.cpp: Ditto.
3730
37312011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3732
3733        Unreviewed, rolling out r87683.
3734        http://trac.webkit.org/changeset/87683
3735        https://bugs.webkit.org/show_bug.cgi?id=61729
3736
3737        Breaks inspector tests on Chromium (Requested by apavlov on
3738        #webkit).
3739
3740        * inspector/front-end/StylesSidebarPane.js:
3741        (WebInspector.StylesSidebarPane.prototype.update):
3742
37432011-05-25  Alexander Pavlov  <apavlov@chromium.org>
3744
3745        Reviewed by Yury Semikhatsky.
3746
3747        Web Inspector: node selection is slow in the Elements panel.
3748        https://bugs.webkit.org/show_bug.cgi?id=60813
3749
3750        Schedule full style updates rather than request all node styles from the backend up front.
3751
3752        * inspector/front-end/StylesSidebarPane.js:
3753        (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
3754        (WebInspector.StylesSidebarPane.prototype.update):
3755
37562011-05-30  Andrey Kosyakov  <caseq@chromium.org>
3757
3758        Reviewed by Pavel Feldman.
3759
3760        Web Inspector: do not issue frontendReused for reload or navigation.
3761        https://bugs.webkit.org/show_bug.cgi?id=61192
3762
3763       - only issue frontendReused when inspector is attached after main resource committed load
3764       - upon committing loading main resource, reset agents before sending FrameNavigated to page agent
3765       - Ensure main resource is set early so that abbreviations of URLs in resource tree are consistent after reload
3766       - do not enable agents explicitly in frontendReused (this is done by backend when resotring state from cookie)
3767
3768        * inspector/InspectorAgent.cpp:
3769        (WebCore::InspectorAgent::InspectorAgent):
3770        (WebCore::InspectorAgent::restore):
3771        (WebCore::InspectorAgent::clearFrontend):
3772        (WebCore::InspectorAgent::didCommitLoad):
3773        * inspector/InspectorAgent.h:
3774        * inspector/InspectorInstrumentation.cpp:
3775        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3776        * inspector/front-end/NetworkManager.js:
3777        * inspector/front-end/ResourceTreeModel.js:
3778        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
3779        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
3780        (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
3781        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3782        * inspector/front-end/ResourcesPanel.js:
3783        (WebInspector.ResourcesPanel.prototype.reset):
3784        (WebInspector.ResourcesPanel.prototype._resetResourcesTree):
3785        (WebInspector.DatabaseTreeElement.prototype.onpopulate):
3786        (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
3787        * inspector/front-end/inspector.js:
3788        (WebInspector.reset):
3789        (WebInspector.frontendReused):
3790
37912011-05-30  Ryan Sleevi  <rsleevi@chromium.org>
3792
3793        Reviewed by Darin Adler.
3794
3795        FEConvolveMatrix::getPixelValue() fails to properly check if y is within bounds, causing it to fail to correctly apply the kernel and edge mode to the first targetY pixels
3796        https://bugs.webkit.org/show_bug.cgi?id=61603
3797
3798        Test: svg/filters/feConvolveFilter-y-bounds.svg
3799
3800        * platform/graphics/filters/FEConvolveMatrix.cpp:
3801        (WebCore::FEConvolveMatrix::getPixelValue):
3802
38032011-05-30  Nate Chapin  <japhet@chromium.org>
3804
3805        Reviewed by Antti Koivisto.
3806
3807        Refactor the CachedResourceLoader -> CachedResource -> CachedResourceRequest
3808        flow so it's a little less circular.
3809        https://bugs.webkit.org/show_bug.cgi?id=61666
3810
3811        * loader/cache/CachedFont.cpp:
3812        (WebCore::CachedFont::beginLoadIfNeeded):
3813        * loader/cache/CachedResource.cpp:
3814        (WebCore::CachedResource::load):
3815        * loader/cache/CachedResourceLoader.cpp:
3816        (WebCore::CachedResourceLoader::requestImage):
3817        (WebCore::CachedResourceLoader::setAutoLoadImages):
3818        (WebCore::CachedResourceLoader::loadStarted):
3819        * loader/cache/CachedResourceLoader.h:
3820        * loader/cache/CachedResourceRequest.cpp:
3821        (WebCore::CachedResourceRequest::load):
3822
38232011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3824
3825        Unreviewed, rolling out r87618.
3826        http://trac.webkit.org/changeset/87618
3827        https://bugs.webkit.org/show_bug.cgi?id=61720
3828
3829        Causes BrowserFocusTest.FocusOnReload to fail (Requested by
3830        abarth|gardener on #webkit).
3831
3832        * html/HTMLLinkElement.cpp:
3833        (WebCore::HTMLLinkElement::process):
3834
38352011-05-29  Yuta Kitamura  <yutak@chromium.org>
3836
3837        Reviewed by Kent Tamura.
3838
3839        WebSocket closing handshake
3840        https://bugs.webkit.org/show_bug.cgi?id=35721
3841
3842        Implement WebSocket closing handshake based on Ian Hickson's
3843        WebSocket protocol draft 76.
3844
3845        Tests: http/tests/websocket/tests/client-close.html
3846               http/tests/websocket/tests/server-close.html
3847
3848        * platform/network/SocketStreamHandleBase.cpp:
3849        (WebCore::SocketStreamHandleBase::send):
3850        Do not send a message if we are in Closing state.
3851        (WebCore::SocketStreamHandleBase::close):
3852        Do not disconnect if we have pending data which have not been sent yet.
3853        In this case, the actual disconnection will happen in sendPendingData().
3854        (WebCore::SocketStreamHandleBase::disconnect):
3855        Renamed from close(). Disconnect the connection immediately.
3856        (WebCore::SocketStreamHandleBase::sendPendingData):
3857        * platform/network/SocketStreamHandleBase.h:
3858        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3859        Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
3860        to didClose().
3861        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
3862        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
3863        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
3864        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
3865        * websockets/ThreadableWebSocketChannelClientWrapper.h:
3866        * websockets/WebSocket.cpp:
3867        (WebCore::WebSocket::send):
3868        (WebCore::WebSocket::close):
3869        Fail if close() is attempted before the connection is established.
3870        Otherwise, set the state to CLOSING and start the closing handshake.
3871        (WebCore::WebSocket::bufferedAmount):
3872        If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
3873        (WebCore::WebSocket::didConnect):
3874        (WebCore::WebSocket::didReceiveMessage):
3875        We need to invoke message event in CLOSING state as well as OPEN state.
3876        (WebCore::WebSocket::didReceiveMessageError):
3877        (WebCore::WebSocket::didStartClosingHandshake):
3878        (WebCore::WebSocket::didClose):
3879        * websockets/WebSocket.h:
3880        * websockets/WebSocketChannel.cpp:
3881        (WebCore::WebSocketChannel::WebSocketChannel):
3882        (WebCore::WebSocketChannel::close):
3883        Start the closing handshake.
3884        (WebCore::WebSocketChannel::disconnect):
3885        Disconnect the socket stream, instead of close.
3886        (WebCore::WebSocketChannel::didClose):
3887        (WebCore::WebSocketChannel::didReceiveData): Ditto.
3888        (WebCore::WebSocketChannel::didFail): Ditto.
3889        (WebCore::WebSocketChannel::processBuffer):
3890        Ditto.
3891        Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
3892        (WebCore::WebSocketChannel::startClosingHandshake):
3893        Send 0xFF 0x00 byte sequence.
3894        (WebCore::WebSocketChannel::closingTimerFired):
3895        Disconnect the socket stream if the closing handshake has timed out.
3896        * websockets/WebSocketChannel.h:
3897        m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
3898        specification).
3899        * websockets/WebSocketChannelClient.h:
3900        (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
3901        (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
3902        * websockets/WorkerThreadableWebSocketChannel.cpp:
3903        Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
3904        (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
3905        (WebCore::workerContextDidStartClosingHandshake):
3906        (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
3907        (WebCore::workerContextDidClose):
3908        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
3909        * websockets/WorkerThreadableWebSocketChannel.h:
3910
39112011-05-29  Adam Barth  <abarth@webkit.org>
3912
3913        Attempt to fix build by implementing pure virtual function.
3914
3915        * html/shadow/MediaControlRootElementChromium.cpp:
3916        (WebCore::MediaControlRootElementChromium::shouldHideControls):
3917        * html/shadow/MediaControlRootElementChromium.h:
3918
39192011-05-29  Brian Weinstein  <bweinstein@apple.com>
3920
3921        Reviewed by Darin Adler.
3922
3923        Controls never hide in full screen after user stops moving mouse
3924        https://bugs.webkit.org/show_bug.cgi?id=61715
3925        <rdar://problem/9522182>
3926        
3927        When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
3928        show the media controls, and then start a timer.
3929        
3930        The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
3931        move), and hides the controls.
3932
3933        * html/HTMLMediaElement.cpp:
3934        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
3935        (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
3936            controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
3937            to play.
3938        (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
3939            if we are in full screen.
3940        (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
3941            we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
3942        (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
3943        (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
3944            controls and start a timer to hide them.
3945        (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
3946            have the move the mouse once they enter full screen to hide the controls.
3947        (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
3948        * html/HTMLMediaElement.h:
3949        * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
3950        * html/shadow/MediaControlRootElement.cpp:
3951        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
3952        (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
3953            the caller should hide the controls if the panel is not hovered.
3954        * html/shadow/MediaControlRootElement.h:
3955
39562011-05-29  Jer Noble  <jer.noble@apple.com>
3957
3958        Reviewed by Simon Fraser.
3959
3960        Embedded Vimeo video, when taken fullscreen, is overlapped by content from the enclosing page
3961        https://bugs.webkit.org/show_bug.cgi?id=61712
3962
3963        Tests: fullscreen/full-screen-iframe-zIndex.html
3964
3965        Walk up the ancestor chain for the full-screen element, marking them as full-screen
3966        ancestors. Then, we apply a pseudo-class to those elements, which disable all their
3967        stacking-context-creating styles.  Set the z-index of all full-screen elements (and
3968        the iframes which contain them) to a large value, ensuring they appear above other
3969        sibling elements.
3970
3971        This new behavior replaces the previous "-webkit-full-screen-media-document" behavior
3972        and pesudo-class, so remove it and replace it with the new pseudo-class.
3973
3974        * css/CSSSelector.cpp:
3975        (WebCore::nameToPseudoTypeMap): Add -webkit-full-screen-ancestor and remove
3976            -webkit-full-screen-media-document.
3977        (WebCore::CSSSelector::pseudoId): Add PseudoFullScreenAncestor and remove
3978            PseudoFullScreenMediaDocument
3979        (WebCore::CSSSelector::extractPseudoType): Ditto.
3980        * css/CSSSelector.h: Ditto.
3981        * css/CSSStyleSelector.cpp:
3982        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove the
3983            PseudoFullScreenMediaDocument implementation and replace it with
3984            PseudoFullScreenAncestor.
3985        * css/fullscreen.css:
3986        (:-webkit-full-screen): Add a z-index property.
3987        (:-webkit-full-screen-ancestor:not(iframe)): Added.  Reset the z-index to
3988            auto, and reset other stacking-context creating properties.
3989        * dom/Document.cpp:
3990        (WebCore::Document::setContainsFullScreenElementRecursively): Recurse up every element
3991            instead of just the iframe elements.
3992        (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
3993        * dom/Element.cpp:
3994        (WebCore::Element::willRemove): Reset our parent's containsFullScreenElement property.
3995        (WebCore::Element::insertedIntoTree): Ditto.
3996        (WebCore::Element::containsFullScreenElement): Moved here from HTMLElementBase.
3997        (WebCore::Element::setContainsFullScreenElement): Ditto.
3998        * dom/Element.h:
3999        * dom/ElementRareData.h:
4000        (WebCore::ElementRareData::ElementRareData): Added ivar and initializer for 
4001            m_containsFullScreenElement.
4002        * html/HTMLFrameElementBase.cpp:
4003        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed ivar and initializer.
4004        (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Moved into Element.
4005        * html/HTMLFrameElementBase.h:
4006        * rendering/style/RenderStyleConstants.h:
4007
40082011-05-29  Dan Bernstein  <mitz@apple.com>
4009
4010        Reviewed by Darin Adler.
4011
4012        <rdar://problem/9515650> 30 second rewind button obscured in fullscreen controller when video uses custom inline controls
4013        https://bugs.webkit.org/show_bug.cgi?id=61714
4014
4015        * dom/Document.cpp:
4016        (WebCore::Document::webkitDidEnterFullScreenForElement): Call didBecomeFullscreenElement() on the
4017        new full screen element.
4018        (WebCore::Document::webkitWillExitFullScreenForElement): Call willStopBeingFullscreenElement() on
4019        the full screen element.
4020        * dom/Element.h:
4021        (WebCore::Element::didBecomeFullscreenElement): Added with a default implementation that does nothing.
4022        (WebCore::Element::willStopBeingFullscreenElement): Ditto.
4023        * html/HTMLMediaElement.cpp:
4024        (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Added this override, which calls
4025        MediaControls::enteredFullscreen().
4026        (WebCore::HTMLMediaElement::willStopBeingFullscreenElement): Added this override, which calls
4027        MediaControls::exitedFullscreen().
4028        * html/HTMLMediaElement.h:
4029        * html/shadow/MediaControlElements.cpp:
4030        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Removed calls to
4031        enteredFullscreen() and exitedFullscreen() from here, since they are now called in response to
4032        changes to the fullscreen-ness of the element.
4033
40342011-05-29  Darin Adler  <darin@apple.com>
4035
4036        Reviewed by Kevin Decker.
4037
4038        REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
4039        https://bugs.webkit.org/show_bug.cgi?id=61713
4040
4041        We need to come up with a way to regression-test these changes. Nothing at the moment.
4042
4043        The bug is that we removed calls to preventDefault, but we still do need to prevent
4044        default handling of this event.
4045
4046        * html/shadow/MediaControlElements.cpp:
4047        (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
4048        that was in here before r87622 as well as the stopPropagation that was added in r87622.
4049        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
4050        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
4051        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
4052        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
4053        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
4054        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
4055        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
4056        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
4057        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
4058
40592011-05-29  Andreas Kling  <kling@webkit.org>
4060
4061        Reviewed by Kenneth Rohde Christiansen.
4062
4063        Element: Micro-cleanup of scroll methods.
4064        https://bugs.webkit.org/show_bug.cgi?id=61705
4065
4066        Do an early return without calculating element boundaries when asked
4067        to scroll an element without a renderer().
4068
4069        * dom/Element.cpp:
4070        (WebCore::Element::scrollIntoView):
4071        (WebCore::Element::scrollIntoViewIfNeeded):
4072        (WebCore::Element::scrollByUnits):
4073
40742011-05-29  Darin Adler  <darin@apple.com>
4075
4076        Reviewed by Dan Bernstein.
4077
4078        Fix assertion seen when entering full screen mode for standalone video
4079        https://bugs.webkit.org/show_bug.cgi?id=61708
4080
4081        We don't currently have a way to make a regression test for this.
4082
4083        * dom/Document.cpp:
4084        (WebCore::Document::setAnimatingFullScreen): Call scheduleForcedStyleRecalc,
4085        because scheduleStyleRecalc is intended to only be called when the style
4086        system itself detects recalc is needed.
4087
40882011-05-27  Andreas Kling  <kling@webkit.org>
4089
4090        Reviewed by James Robinson.
4091
4092        [Qt] Add area check to ImageBufferData::getImageData()
4093        https://bugs.webkit.org/show_bug.cgi?id=61375
4094
4095        No change in behavior, just a sanity check.
4096
4097        * platform/graphics/qt/ImageBufferQt.cpp:
4098        (WebCore::getImageData):
4099
41002011-05-29  Beth Dakin  <bdakin@apple.com>
4101
4102        Reviewed by Darin Adler.
4103
4104        https://bugs.webkit.org/show_bug.cgi?id=61700
4105        Need WebKit2 API to get the size of the render tree
4106        -and corresponding-
4107        <rdar://problem/9512733>
4108
4109        New member variable on RenderArena keeps track of the current amount of memory 
4110        allocated in the arena. The new client function sends this piece of data to 
4111        WebKit.
4112        * page/ChromeClient.h:
4113        (WebCore::ChromeClient::setRenderTreeSize):
4114        * page/FrameView.cpp:
4115        (WebCore::FrameView::performPostLayoutTasks):
4116        * rendering/RenderArena.cpp:
4117        (WebCore::RenderArena::RenderArena):
4118        (WebCore::RenderArena::allocate):
4119        (WebCore::RenderArena::free):
4120        * rendering/RenderArena.h:
4121        (WebCore::RenderArena::totalRenderArenaSize):
4122
41232011-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
4124
4125        Unreviewed, rolling out r87566.
4126        http://trac.webkit.org/changeset/87566
4127        https://bugs.webkit.org/show_bug.cgi?id=61702
4128
4129        It made all tests assert on Qt in debug mode (Requested by
4130        Ossy_weekend on #webkit).
4131
4132        * WebCore.exp.in:
4133        * bindings/ScriptControllerBase.cpp:
4134        (WebCore::ScriptController::executeIfJavaScriptURL):
4135        * dom/Document.cpp:
4136        (WebCore::Document::Document):
4137        (WebCore::Document::suggestedMIMEType):
4138        (WebCore::Document::lastModified):
4139        (WebCore::Document::initSecurityContext):
4140        (WebCore::Document::updateURLForPushOrReplaceState):
4141        * dom/Document.h:
4142        (WebCore::Document::setDocumentLoader):
4143        (WebCore::Document::loader):
4144        * html/MediaDocument.cpp:
4145        (WebCore::MediaDocument::replaceMediaElementTimerFired):
4146        * html/PluginDocument.cpp:
4147        (WebCore::PluginDocumentParser::createDocumentStructure):
4148        * platform/mac/HTMLConverter.mm:
4149        (fileWrapperForElement):
4150
41512011-05-28  Steve Falkenburg  <sfalken@apple.com>
4152
4153        Reviewed by Dan Bernstein.
4154
4155        Don't add sub-frames to global history when navigating via back/forward
4156        https://bugs.webkit.org/show_bug.cgi?id=61701
4157        <rdar://problem/9521222>
4158
4159        Instead of just checking whether the load is the first in the frame, we also need to
4160        check to make sure we're loading in the main frame.
4161
4162        Not testable due to lack of global history infrastructure in DRT.
4163
4164        * loader/FrameLoader.cpp:
4165        (WebCore::FrameLoader::transitionToCommitted):
4166
41672011-05-28  Alexey Proskuryakov  <ap@apple.com>
4168
4169        Suggested by Simon Fraser.
4170
4171        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
4172        https://bugs.webkit.org/show_bug.cgi?id=61692
4173        <rdar://problem/9488628>
4174
4175        * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
4176        ASSERT_UNUSED here.
4177
41782011-05-28  Alexey Proskuryakov  <ap@apple.com>
4179
4180        Reviewed by Geoff Garen.
4181
4182        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
4183        https://bugs.webkit.org/show_bug.cgi?id=61692
4184        <rdar://problem/9488628>
4185
4186        Test: fast/dom/gc-image-element-2.html
4187
4188        Manually verified that tests from bug 59604 and from bug 40926 still pass.
4189
4190        The problem here was that HTMLImageElement::hasPendingActivity() could return false when
4191        a load (or error) event was still expected to fire.
4192
4193        * loader/cache/CachedResource.cpp:
4194        (WebCore::CachedResource::setRequest):
4195        * loader/cache/CachedResource.h:
4196        (WebCore::CachedResource::wasCanceled):
4197        (WebCore::CachedResource::errorOccurred):
4198        Track whether the load was canceled. We want to always notify clients of load outcome,
4199        as that's the only way they could make intelligent decisions.
4200
4201        * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
4202        get a notifyFinished call on cancellation. Handle this case, where we don't need the
4203        execute the script, but also don't need to fire an error event.
4204
4205        * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
4206        function call now.
4207
4208        * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
4209        window between when CachedResource::isLoading() becomes false and events are queued.
4210        ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
4211        an event to fire.
4212
4213        * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
4214        anything on cancellation.
4215
4216        * loader/ImageLoader.cpp:
4217        (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
4218        give an accurate result while looping over the list of events to dispatch.
4219        (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
4220        switch to a broken image icon, or to dispatch events.
4221        (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
4222        list, as the event is no longer pending when it's being dispatched.
4223
4224        * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
4225        is already pending, we only care if one is expected at some time in the future, and
4226        !haveFiredLoadEvent() is our best idea of that.
4227
4228        * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
4229        handle cancellation.
4230
42312011-05-28  Adam Barth  <abarth@webkit.org>
4232
4233        Reviewed by Alexey Proskuryakov.
4234
4235        Audit all uses of KURL::prettyURL
4236        https://bugs.webkit.org/show_bug.cgi?id=61201
4237
4238        As far as I can tell, all the callers of this API are confused.  There
4239        seems to be a cargo cult of using the "pretty" version of a URL, but in
4240        reality folks just want the URL itself.  The only case I'm unsure about
4241        is location.href, which could have some compatibility constraints.
4242        I've renamed prettyURL to deprecatedString to discourage folks from
4243        further cargo-culting.
4244
4245        * WebCore.exp.in:
4246        * page/Location.cpp:
4247        (WebCore::Location::href):
4248        (WebCore::Location::toString):
4249        * platform/KURL.cpp:
4250        (WebCore::KURL::deprecatedString):
4251        * platform/KURL.h:
4252        * platform/KURLGoogle.cpp:
4253        (WebCore::KURL::deprecatedString):
4254        * platform/network/soup/ResourceHandleSoup.cpp:
4255        (WebCore::ResourceHandle::prepareForURL):
4256        * workers/WorkerLocation.cpp:
4257        (WebCore::WorkerLocation::href):
4258        (WebCore::WorkerLocation::toString):
4259
42602011-05-28  Jer Noble  <jer.noble@apple.com>
4261
4262        Reviewed by Maciej Stachowiak.
4263
4264        Mouse clicks propagate outside full-screen media controls.
4265        https://bugs.webkit.org/show_bug.cgi?id=61689
4266
4267        Mouse click events are propagating out of the media controls, so mouse click
4268        listeners registered on the video element are getting fired when the user
4269        clicks on media controller buttons.  By default, block propagation of click 
4270        events from MediaControlElements by overriding preDispatchEventHandler, and
4271        convert all instances of defaultEventHandler -> preDispatchEventHandler.  Change
4272        all calls of event->setDefaultHandled() to event->stopPropagation().
4273
4274        * html/shadow/MediaControlElements.cpp:
4275        (WebCore::MediaControlElement::preDispatchEventHandler): Added.  Block 
4276            propagation of all mouse click events.
4277        (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
4278            Renamed from setDefaultHandled.
4279        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
4280        (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
4281        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
4282        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
4283        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
4284        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
4285        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
4286        (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
4287        (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
4288        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
4289        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
4290        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
4291        * html/shadow/MediaControlElements.h:
4292
42932011-05-28  Gavin Peters  <gavinp@chromium.org>
4294
4295        Reviewed by Adam Barth.
4296
4297        prevent HTMLLinkElement from watching multiple CachedResources
4298        https://bugs.webkit.org/show_bug.cgi?id=61686
4299
4300        If we modify an existing link element, stop listening to the previous
4301        cached resource, to prevent double notifications (which crash).
4302
4303        Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
4304
4305        * html/HTMLLinkElement.cpp:
4306        (WebCore::HTMLLinkElement::process):
4307
43082011-05-28  Tonis Tiigi  <tonistiigi@gmail.com>
4309
4310        Reviewed by Pavel Feldman.
4311
4312        Web Inspector: there is a problem with computed style properties with wrong values
4313        https://bugs.webkit.org/show_bug.cgi?id=60535
4314
4315        * inspector/front-end/StylesSidebarPane.js:
4316        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
4317        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
4318
43192011-05-26  Antonio Gomes  <agomes@rim.com>
4320
4321        Reviewed by Andreas Kling.
4322
4323        Logic error in WebCore/Page/SpatialNavigation.cpp::areRectsPartiallyAligned
4324        https://bugs.webkit.org/show_bug.cgi?id=61606
4325
4326        Removed duplicated statement within if condition.
4327
4328        No new tests. Obvious clean up patch.
4329
4330        * page/SpatialNavigation.cpp:
4331        (WebCore::areRectsPartiallyAligned):
4332
43332011-05-27  Simon Fraser  <simon.fraser@apple.com>
4334
4335        Reviewed by Dan Bernstein.
4336
4337        CG BitmapImage needs to check for valid CGImage in a couple of places
4338        https://bugs.webkit.org/show_bug.cgi?id=61684
4339        <rdar://problem/9519348>
4340
4341        BitmapImage::getCGImageArray() can throw an exception if frameAtIndex()
4342        returns null, which it may do if the image is corrupted or still
4343        loading. Protect against that here and in getFirstCGImageRefOfSize().
4344
4345        * platform/graphics/cg/ImageCG.cpp:
4346        (WebCore::BitmapImage::getFirstCGImageRefOfSize):
4347        (WebCore::BitmapImage::getCGImageArray):
4348
43492011-05-27  Jochen Eisinger  <jochen@chromium.org>
4350
4351        Reviewed by Adam Barth.
4352
4353        Add Frame parameter to all StorageArea methods. The chromium
4354        embedder uses the Frame as context to decide whether or not
4355        to allow usage of the storage API.
4356        https://bugs.webkit.org/show_bug.cgi?id=61581
4357
4358        Test: platform/chromium/permissionclient/storage-permission.html
4359
4360        * storage/Storage.cpp:
4361        (WebCore::Storage::length):
4362        (WebCore::Storage::key):
4363        (WebCore::Storage::getItem):
4364        (WebCore::Storage::contains):
4365        * storage/StorageArea.h:
4366        * storage/StorageAreaImpl.cpp:
4367        (WebCore::StorageAreaImpl::length):
4368        (WebCore::StorageAreaImpl::key):
4369        (WebCore::StorageAreaImpl::getItem):
4370        (WebCore::StorageAreaImpl::contains):
4371        * storage/StorageAreaImpl.h:
4372
43732011-05-27  Nate Chapin  <japhet@chromium.org>
4374
4375        Reviewed by Jian Li.
4376
4377        Keep a reference to BlobResourceHandle before calling doNotifyFinish()
4378        asynchronously to ensure it's still safe in the main thread.
4379
4380        https://bugs.webkit.org/show_bug.cgi?id=61669
4381
4382        I triggered this crash in fast/files/file-reader-abort.html during a
4383        refactor that changed timings slightly.
4384
4385        * platform/network/BlobResourceHandle.cpp:
4386        (WebCore::doNotifyFinish):
4387        (WebCore::BlobResourceHandle::notifyFinish):
4388        * platform/network/BlobResourceHandle.h:
4389        (WebCore::BlobResourceHandle::aborted):
4390
43912011-05-27  Stephanie Lewis  <slewis@apple.com>
4392
4393        Unreviewed.
4394
4395        Fix a typo in the order_file flag.
4396
4397        * Configurations/Base.xcconfig:
4398
43992011-05-27  Anders Carlsson  <andersca@apple.com>
4400
4401        Reviewed by Sam Weinig.
4402
4403        Always use the default localization strategy
4404        https://bugs.webkit.org/show_bug.cgi?id=61670
4405        <rdar://problem/9516130>
4406
4407        Always use the default localization strategy when there's no platform strategy.
4408
4409        * platform/DefaultLocalizationStrategy.cpp:
4410        (WebCore::DefaultLocalizationStrategy::shared):
4411        * platform/DefaultLocalizationStrategy.h:
4412        * platform/LocalizedStrings.cpp:
4413        (WebCore::inputElementAltText):
4414        (WebCore::resetButtonDefaultLabel):
4415        (WebCore::searchableIndexIntroduction):
4416        (WebCore::submitButtonDefaultLabel):
4417        (WebCore::fileButtonChooseFileLabel):
4418        (WebCore::fileButtonNoFileSelectedLabel):
4419        (WebCore::defaultDetailsSummaryText):
4420        (WebCore::copyImageUnknownFileLabel):
4421        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
4422        (WebCore::contextMenuItemTagDownloadLinkToDisk):
4423        (WebCore::contextMenuItemTagCopyLinkToClipboard):
4424        (WebCore::contextMenuItemTagOpenImageInNewWindow):
4425        (WebCore::contextMenuItemTagDownloadImageToDisk):
4426        (WebCore::contextMenuItemTagCopyImageToClipboard):
4427        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
4428        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
4429        (WebCore::contextMenuItemTagCopy):
4430        (WebCore::contextMenuItemTagGoBack):
4431        (WebCore::contextMenuItemTagGoForward):
4432        (WebCore::contextMenuItemTagStop):
4433        (WebCore::contextMenuItemTagReload):
4434        (WebCore::contextMenuItemTagCut):
4435        (WebCore::contextMenuItemTagPaste):
4436        (WebCore::contextMenuItemTagSelectAll):
4437        (WebCore::contextMenuItemTagNoGuessesFound):
4438        (WebCore::contextMenuItemTagIgnoreSpelling):
4439        (WebCore::contextMenuItemTagLearnSpelling):
4440        (WebCore::contextMenuItemTagSearchInSpotlight):
4441        (WebCore::contextMenuItemTagSearchWeb):
4442        (WebCore::contextMenuItemTagLookUpInDictionary):
4443        (WebCore::contextMenuItemTagOpenLink):
4444        (WebCore::contextMenuItemTagIgnoreGrammar):
4445        (WebCore::contextMenuItemTagSpellingMenu):
4446        (WebCore::contextMenuItemTagShowSpellingPanel):
4447        (WebCore::contextMenuItemTagCheckSpelling):
4448        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
4449        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
4450        (WebCore::contextMenuItemTagFontMenu):
4451        (WebCore::contextMenuItemTagShowFonts):
4452        (WebCore::contextMenuItemTagBold):
4453        (WebCore::contextMenuItemTagItalic):
4454        (WebCore::contextMenuItemTagUnderline):
4455        (WebCore::contextMenuItemTagOutline):
4456        (WebCore::contextMenuItemTagStyles):
4457        (WebCore::contextMenuItemTagShowColors):
4458        (WebCore::contextMenuItemTagSpeechMenu):
4459        (WebCore::contextMenuItemTagStartSpeaking):
4460        (WebCore::contextMenuItemTagStopSpeaking):
4461        (WebCore::contextMenuItemTagWritingDirectionMenu):
4462        (WebCore::contextMenuItemTagTextDirectionMenu):
4463        (WebCore::contextMenuItemTagDefaultDirection):
4464        (WebCore::contextMenuItemTagLeftToRight):
4465        (WebCore::contextMenuItemTagRightToLeft):
4466        (WebCore::contextMenuItemTagCorrectSpellingAutomatically):
4467        (WebCore::contextMenuItemTagSubstitutionsMenu):
4468        (WebCore::contextMenuItemTagShowSubstitutions):
4469        (WebCore::contextMenuItemTagSmartCopyPaste):
4470        (WebCore::contextMenuItemTagSmartQuotes):
4471        (WebCore::contextMenuItemTagSmartDashes):
4472        (WebCore::contextMenuItemTagSmartLinks):
4473        (WebCore::contextMenuItemTagTextReplacement):
4474        (WebCore::contextMenuItemTagTransformationsMenu):
4475        (WebCore::contextMenuItemTagMakeUpperCase):
4476        (WebCore::contextMenuItemTagMakeLowerCase):
4477        (WebCore::contextMenuItemTagCapitalize):
4478        (WebCore::contextMenuItemTagChangeBack):
4479        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
4480        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
4481        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
4482        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
4483        (WebCore::contextMenuItemTagToggleMediaControls):
4484        (WebCore::contextMenuItemTagToggleMediaLoop):
4485        (WebCore::contextMenuItemTagEnterVideoFullscreen):
4486        (WebCore::contextMenuItemTagMediaPlay):
4487        (WebCore::contextMenuItemTagMediaPause):
4488        (WebCore::contextMenuItemTagMediaMute):
4489        (WebCore::contextMenuItemTagInspectElement):
4490        (WebCore::searchMenuNoRecentSearchesText):
4491        (WebCore::searchMenuRecentSearchesText):
4492        (WebCore::searchMenuClearRecentSearchesText):
4493        (WebCore::AXWebAreaText):
4494        (WebCore::AXLinkText):
4495        (WebCore::AXListMarkerText):
4496        (WebCore::AXImageMapText):
4497        (WebCore::AXHeadingText):
4498        (WebCore::AXDefinitionListTermText):
4499        (WebCore::AXDefinitionListDefinitionText):
4500        (WebCore::AXARIAContentGroupText):
4501        (WebCore::AXButtonActionVerb):
4502        (WebCore::AXRadioButtonActionVerb):
4503        (WebCore::AXTextFieldActionVerb):
4504        (WebCore::AXCheckedCheckBoxActionVerb):
4505        (WebCore::AXUncheckedCheckBoxActionVerb):
4506        (WebCore::AXLinkActionVerb):
4507        (WebCore::AXMenuListPopupActionVerb):
4508        (WebCore::AXMenuListActionVerb):
4509        (WebCore::missingPluginText):
4510        (WebCore::crashedPluginText):
4511        (WebCore::multipleFileUploadText):
4512        (WebCore::unknownFileSizeText):
4513        (WebCore::uploadFileText):
4514        (WebCore::allFilesText):
4515        (WebCore::keygenMenuItem512):
4516        (WebCore::keygenMenuItem1024):
4517        (WebCore::keygenMenuItem2048):
4518        (WebCore::keygenKeychainItemName):
4519        (WebCore::imageTitle):
4520        (WebCore::mediaElementLoadingStateText):
4521        (WebCore::mediaElementLiveBroadcastStateText):
4522        (WebCore::localizedMediaControlElementString):
4523        (WebCore::localizedMediaControlElementHelpText):
4524        (WebCore::localizedMediaTimeDescription):
4525        (WebCore::validationMessageValueMissingText):
4526        (WebCore::validationMessageValueMissingForCheckboxText):
4527        (WebCore::validationMessageValueMissingForFileText):
4528        (WebCore::validationMessageValueMissingForMultipleFileText):
4529        (WebCore::validationMessageValueMissingForRadioText):
4530        (WebCore::validationMessageValueMissingForSelectText):
4531        (WebCore::validationMessageTypeMismatchText):
4532        (WebCore::validationMessageTypeMismatchForEmailText):
4533        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
4534        (WebCore::validationMessageTypeMismatchForURLText):
4535        (WebCore::validationMessagePatternMismatchText):
4536        (WebCore::validationMessageTooLongText):
4537        (WebCore::validationMessageRangeUnderflowText):
4538        (WebCore::validationMessageRangeOverflowText):
4539        (WebCore::validationMessageStepMismatchText):
4540
45412011-05-27  Brady Eidson  <beidson@apple.com>
4542
4543        Reviewed by Darin Adler.
4544
4545        First swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
4546        
4547        Make the Document be intelligent about returning its DocumentLoader, including the possibility that
4548        the DocumentLoader will be null.
4549
4550        No new tests. No change in behavior.
4551
4552        Instead of storing the DocumentLoader at construction and never changing it,
4553        always calculate it based on the FrameLoader's current DocumentLoader:
4554        * dom/Document.cpp:
4555        (WebCore::Document::Document):
4556        (WebCore::Document::suggestedMIMEType):
4557        (WebCore::Document::lastModified):
4558        (WebCore::Document::initSecurityContext):
4559        (WebCore::Document::updateURLForPushOrReplaceState):
4560        (WebCore::Document::loader):
4561        * dom/Document.h:
4562
4563        Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
4564        * bindings/ScriptControllerBase.cpp:
4565        (WebCore::ScriptController::executeIfJavaScriptURL):
4566        * html/MediaDocument.cpp:
4567        (WebCore::MediaDocument::replaceMediaElementTimerFired):
4568        * html/PluginDocument.cpp:
4569        (WebCore::PluginDocumentParser::createDocumentStructure):
4570        * platform/mac/HTMLConverter.mm:
4571        (fileWrapperForElement):
4572
4573        * WebCore.exp.in:
4574
45752011-05-27  Jer Noble  <jer.noble@apple.com>
4576
4577        Reviewed by Maciej Stachowiak.
4578
4579        30 second rewind button obscured in fullscreen controller
4580        https://bugs.webkit.org/show_bug.cgi?id=61663
4581
4582        If reset() is called while in full-screen mode, make sure to show and hide
4583        the correct controls for that mode.
4584
4585        * html/shadow/MediaControlRootElement.cpp:
4586        (WebCore::MediaControlRootElement::reset):
4587
45882011-05-27  James Robinson  <jamesr@chromium.org>
4589
4590        Reviewed by Simon Fraser.
4591
4592        GraphicsLayers for overflow controls on iframe without clipping layer left out of layer tree
4593        https://bugs.webkit.org/show_bug.cgi?id=61590
4594
4595        Adds overflow control layers to the compositor tree for layers without clipping layers regardless of whether the
4596        backing is parented.  This ensures that the scroll corner layer for an iframe without a clipping layer ends up
4597        in the final layer tree.  We don't currently render resizers for iframes, but we will soon and this keeps the
4598        graphics layer tree consistent.
4599
4600        Test: compositing/iframes/resizer.html
4601
4602        * rendering/RenderLayerCompositor.cpp:
4603        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
4604
46052011-05-27  Adam Barth  <abarth@webkit.org>
4606
4607        Reviewed by Eric Seidel.
4608
4609        HTMLVideoElement::currentSrc() should return a KURL
4610        https://bugs.webkit.org/show_bug.cgi?id=61578
4611
4612        I suspect we got into this mess because the author of this code didn't
4613        know about the URL attribute in WebKit IDL, which is super useful!
4614
4615        Bad news: The line of code in question seems to have another bug, which
4616        I've documented in a FIXME.  Let the yak shaving continue!
4617
4618        * html/HTMLMediaElement.cpp:
4619        (WebCore::urlForLogging):
4620        (WebCore::HTMLMediaElement::loadResource):
4621        (WebCore::HTMLMediaElement::isSafeToLoadURL):
4622        (WebCore::HTMLMediaElement::selectNextSourceChild):
4623        (WebCore::HTMLMediaElement::getPluginProxyParams):
4624        * html/HTMLMediaElement.h:
4625        (WebCore::HTMLMediaElement::currentSrc):
4626        (WebCore::HTMLMediaElement::currentURL):
4627        * html/canvas/CanvasRenderingContext.cpp:
4628        (WebCore::CanvasRenderingContext::checkOrigin):
4629        * rendering/HitTestResult.cpp:
4630        (WebCore::HitTestResult::absoluteMediaURL):
4631            - This complete URL call was unnecessary because currentSrc is
4632              already absolute.
4633
46342011-05-27  Mikhail Naganov  <mnaganov@chromium.org>
4635
4636        Reviewed by Pavel Feldman.
4637
4638        Web Inspector: [Chromium] Add support for showing URL of DOMWindow in heap profiles.
4639        https://bugs.webkit.org/show_bug.cgi?id=61177
4640
4641        * inspector/front-end/HeapSnapshot.js:
4642        (WebInspector.HeapSnapshotNode.prototype.get className):
4643
46442011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
4645
4646        Rubber-stamped by Rob Buis.
4647
4648        embedded SVG object doesn't scale right
4649        https://bugs.webkit.org/show_bug.cgi?id=10526
4650
4651        Fixes crash in svg/custom/immutable-properties.html, seen on the bots.
4652
4653        * svg/SVGLength.cpp:
4654        (WebCore::SVGLength::determineViewport): Oops forgot to merge-in a null check before landing.
4655
46562011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
4657
4658        Reviewed by Rob Buis.
4659
4660        embedded SVG object doesn't scale right
4661        https://bugs.webkit.org/show_bug.cgi?id=10526
4662
4663        <object> tags should treat width/height on a referenced SVG as intrinsic width/height
4664        https://bugs.webkit.org/show_bug.cgi?id=11976
4665
4666        Incorrect handling of percentage values for width/height on embedded elements
4667        https://bugs.webkit.org/show_bug.cgi?id=14793
4668
4669        WebKit fails some WICD 1.0 core test cases
4670        https://bugs.webkit.org/show_bug.cgi?id=15836 (partially fixed, all 'rightsizing' tests are fixed)
4671
4672        CSS 2.1: Support replaced elements with relative intrinsic sizes
4673        https://bugs.webkit.org/show_bug.cgai?id=15849 (partially fixed)
4674
4675        SVG embedded as <object> doesn't respect width/height attributes
4676        https://bugs.webkit.org/show_bug.cgi?id=34972
4677
4678        Explicit size of object tag ignored
4679        https://bugs.webkit.org/show_bug.cgi?id=37086
4680
4681        Add partial support of CSS 2.1 replaced elements with intrinsic size. The feature itself is complete but has only
4682        been implemented for RenderPart, to support SVG content document size negotiation. It serves as starting point for a generalization, in future.
4683        The changes in RenderPart are a 1:1 transliteration of the spec (http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width/height, see code).
4684
4685        SVG 1.1 says:
4686        The 'width' attribute on the outermost svg element establishes the viewport's width, unless the following conditions are met:
4687        ...
4688        and there are CSS-compatible positioning properties ([CSS2], section 9.3) specified on the referencing element (e.g., the 'object' element)
4689        or on the containing document's outermost svg element that are sufficient to establish the width of the viewport. Under these conditions,
4690        the positioning properties establish the viewport's width.
4691
4692        If an <object> carries width/height attributes, these specify the viewport size of the embedded SVG, instead of its own
4693        width/height or viewBox properties. If an <object> has no width/height information, its intrinsic size needs to be calculated depending
4694        on the intrinsic ratio (viewBox width divided by height ratio) and the width/height properties on the outermost referenced <svg> element.
4695        This requires a negotiation between the host document and the embedded document.
4696        (There are several more factors that need to be considered, the CSS spec covers this and the RenderPart::computeReplaced* code covers this.)
4697
4698        Fixes dozens of long-standing bug reports. The number one integration issue when using SVG through <object> is resolved: "right sizing".
4699
4700        Tests: http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml
4701               svg/custom/object-no-size-attributes.xhtml (bug 11976, from Eric Seidel)
4702               svg/custom/object-sizing-explicit-height.xhtml (bug 10526, from Ryan Cannon)
4703               svg/custom/object-sizing-explicit-width-height.xhtml
4704               svg/custom/object-sizing-explicit-width.xhtml (bug 14793, from Oliver Hunt)
4705               svg/custom/object-sizing-no-width-height-change-content-box-size.xhtml
4706               svg/custom/object-sizing-no-width-height.xhtml
4707               svg/custom/object-sizing.xhtml (bug 37086, from Jeff Schiller)
4708               svg/wicd/rightsizing-grid.xhtml (bug 15836, WICD rightsizing test now works)
4709               svg/wicd/test-rightsizing-a.xhtml (ditto)
4710               svg/wicd/test-rightsizing-b.xhtml (ditto)
4711               svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
4712               svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
4713               svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
4714               svg/zoom/page/zoom-svg-through-object-with-override-size.html (bug 34972, from Andreas Kling)
4715               svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
4716               svg/zoom/page/zoom-svg-through-object-with-text.xhtml
4717
4718        * platform/Length.h:
4719        (WebCore::Length::isSpecified):
4720        * rendering/RenderPart.cpp:
4721        (WebCore::RenderPart::embeddedSVGContentRenderer):
4722        (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
4723        (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
4724        (WebCore::RenderPart::computeReplacedLogicalWidth):
4725        (WebCore::RenderPart::computeReplacedLogicalHeight):
4726        (WebCore::RenderPart::layout):
4727        * rendering/RenderPart.h:
4728        * rendering/RenderReplaced.cpp:
4729        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
4730        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
4731        * rendering/svg/RenderSVGRoot.cpp:
4732        (WebCore::RenderSVGRoot::RenderSVGRoot):
4733        (WebCore::RenderSVGRoot::computeIntrinsicRatio):
4734        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
4735        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
4736        (WebCore::RenderSVGRoot::negotiateSizeWithHostDocumentIfNeeded):
4737        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
4738        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
4739        (WebCore::RenderSVGRoot::layout):
4740        * rendering/svg/RenderSVGRoot.h:
4741        * svg/SVGLength.cpp:
4742        (WebCore::SVGLength::determineViewport):
4743        * svg/SVGSVGElement.cpp:
4744        (WebCore::SVGSVGElement::currentScale):
4745        (WebCore::SVGSVGElement::setCurrentScale):
4746        (WebCore::SVGSVGElement::currentViewBoxRect):
4747        (WebCore::SVGSVGElement::viewBoxToViewTransform):
4748        * svg/SVGSVGElement.h:
4749
47502011-05-27  Michael Saboff  <msaboff@apple.com>
4751
4752        Reviewed by David Hyatt.
4753
4754        https://bugs.webkit.org/show_bug.cgi?id=61646
4755        Duplicate Fonts Put in Font Cache on Mac Due to Duplicate CGFontRefs for Same Font
4756
4757        Change the platformIsEqual to just compare the m_font members if
4758        either is not null.
4759
4760        No tests added - functionality unchanged, fixing memory abandonment.
4761
4762        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
4763        (WebCore::FontPlatformData::platformIsEqual):
4764
47652011-05-25  Martin Robinson  <mrobinson@igalia.com>
4766
4767        Reviewed by Dirk Schulze.
4768
4769        [GTK][Cairo] Twitter rendering breaks
4770        https://bugs.webkit.org/show_bug.cgi?id=60917
4771
4772        When instantiating a cairo_scaled_font_t font would put the font in an error state,
4773        leave the m_scaledFont member of platform data as null. Rendering with scaled fonts
4774        in the error state can later lead to corrupted rendering.
4775
4776        Due to this change, we must always null check cairo_scaled_font_t and the platform
4777        data now carries the cairo_font_face_t object with it, so that it can be accessed later
4778        if there is no cairo_scaled_font_t.
4779
4780        Test: platform/gtk/fonts/zero-pixel-sized-fonts.html
4781
4782        * platform/graphics/cairo/FontCairo.cpp:
4783        (WebCore::Font::drawGlyphs): If the scaled font is null, do not render.
4784        * platform/graphics/freetype/FontPlatformData.h: Now include the cairo_font_face_t.
4785        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
4786        (WebCore::FontPlatformData::FontPlatformData): Initialize the new member.
4787        (WebCore::FontPlatformData::operator=): Carry over the new member.
4788        (WebCore::FontPlatformData::operator==): Check equality with the new member.
4789        (WebCore::FontPlatformData::initializeWithFontFace): If the initialization of m_scaledFont
4790        put the font into an error state, then just free it and return.
4791        (WebCore::FontPlatformData::hasCompatibleCharmap): The font always has a compatible charmap
4792        when the scaled font is null, because rendering is always a no-op and the font data never
4793        needs to be read.
4794        * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
4795        (WebCore::GlyphPage::fill): Don't read font data when the scaled font is null.
4796        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
4797        (WebCore::SimpleFontData::platformInit): Return early when there's no scaled font.
4798        (WebCore::SimpleFontData::scaledFontData): Use the new m_font member.
4799        (WebCore::SimpleFontData::containsCharacters): Return early when there's no scaled font.
4800        (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
4801
48022011-05-27  David Levin  <levin@chromium.org>
4803
4804        Reviewed by Darin Fisher.
4805
4806        Need a callback for when the preferred rendered size may have changed.
4807        https://bugs.webkit.org/show_bug.cgi?id=61309
4808
4809        No new tests needed since no new functionality is exposed.
4810
4811        * page/Chrome.cpp:
4812        (WebCore::Chrome::layoutUpdated): Plumbed through the call.
4813        * page/Chrome.h: Added the new method.
4814        * page/ChromeClient.h:
4815        (WebCore::ChromeClient::layoutUpdated): Ditto.
4816        * page/FrameView.cpp:
4817        (WebCore::FrameView::layout): Added a callback for whem a layout has finished.
4818
48192011-05-27  Stephanie Lewis  <slewis@apple.com>
4820
4821        Rubber Stamped by Adam Roben.
4822
4823        Update Order Files.  Use -order_file flag since it can order more of the binary.
4824
4825        * Configurations/Base.xcconfig:
4826        * WebCore.order:
4827
48282011-05-27  Sheriff Bot  <webkit.review.bot@gmail.com>
4829
4830        Unreviewed, rolling out r87464.
4831        http://trac.webkit.org/changeset/87464
4832        https://bugs.webkit.org/show_bug.cgi?id=61643
4833
4834        client-close/server-close tests are flaky on Chromium Mac and
4835        Windows (Requested by aklein on #webkit).
4836
4837        * platform/network/SocketStreamHandleBase.cpp:
4838        (WebCore::SocketStreamHandleBase::send):
4839        (WebCore::SocketStreamHandleBase::close):
4840        (WebCore::SocketStreamHandleBase::sendPendingData):
4841        * platform/network/SocketStreamHandleBase.h:
4842        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
4843        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
4844        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
4845        * websockets/ThreadableWebSocketChannelClientWrapper.h:
4846        * websockets/WebSocket.cpp:
4847        (WebCore::WebSocket::send):
4848        (WebCore::WebSocket::close):
4849        (WebCore::WebSocket::bufferedAmount):
4850        (WebCore::WebSocket::didConnect):
4851        (WebCore::WebSocket::didReceiveMessage):
4852        (WebCore::WebSocket::didReceiveMessageError):
4853        (WebCore::WebSocket::didClose):
4854        * websockets/WebSocket.h:
4855        * websockets/WebSocketChannel.cpp:
4856        (WebCore::WebSocketChannel::WebSocketChannel):
4857        (WebCore::WebSocketChannel::close):
4858        (WebCore::WebSocketChannel::disconnect):
4859        (WebCore::WebSocketChannel::didClose):
4860        (WebCore::WebSocketChannel::didReceiveData):
4861        (WebCore::WebSocketChannel::didFail):
4862        (WebCore::WebSocketChannel::processBuffer):
4863        * websockets/WebSocketChannel.h:
4864        * websockets/WebSocketChannelClient.h:
4865        (WebCore::WebSocketChannelClient::didClose):
4866        * websockets/WorkerThreadableWebSocketChannel.cpp:
4867        (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
4868        (WebCore::workerContextDidClose):
4869        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
4870        * websockets/WorkerThreadableWebSocketChannel.h:
4871
48722011-05-27  Rob Buis  <rbuis@rim.com>
4873
4874        Reviewed by Nikolas Zimmermann.
4875
4876        https://bugs.webkit.org/show_bug.cgi?id=19995
4877        hixie.ch : anchor Link fails with fragment identifiers inside SVG fragments.
4878
4879        Only allow links to animation elements within the document.
4880
4881        Test: svg/hixie/links/003.xml
4882
4883        * svg/SVGAElement.cpp:
4884        (WebCore::SVGAElement::defaultEventHandler):
4885
48862011-05-27  Andreas Kling  <kling@webkit.org>
4887
4888        Reviewed by Benjamin Poulain.
4889
4890        Update RGBA color serialization to match HTML5.
4891        https://bugs.webkit.org/show_bug.cgi?id=61449
4892
4893        HTML5 now specifies that fully transparent colors should have their alpha value
4894        serialized to "0" rather than "0.0" (followed by any number of extra zeroes.)
4895
4896        The number of decimals for alpha values between 0 and 1 is not specified,
4897        so match Gecko and Presto by returning the lowest number of decimals needed
4898        to represent the number. (No more trailing zeroes.)
4899
4900        * platform/graphics/Color.cpp:
4901        (WebCore::Color::serialized):
4902
49032011-05-27  Hans Wennborg  <hans@chromium.org>
4904
4905        Reviewed by Tony Gentilcore.
4906
4907        IndexedDB: Support mutating cursors on top of LevelDB
4908        https://bugs.webkit.org/show_bug.cgi?id=61615
4909
4910        We need to support the case where a new node is added to the tree in a
4911        transaction after the TreeIterator has covered the whole tree.
4912
4913        Since this is done lazily, i.e. we set a flag that the tree might have
4914        changed, and act upon it later, some members need to be mutable,
4915        because we might need to re-seek the tree iterator in a const function.
4916
4917        Test: storage/indexeddb/mutating-cursor.html
4918              storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html (existing)
4919
4920        * platform/leveldb/LevelDBTransaction.cpp:
4921        (WebCore::LevelDBTransaction::set):
4922        (WebCore::LevelDBTransaction::TreeIterator::reset):
4923        (WebCore::LevelDBTransaction::TreeIterator::~TreeIterator):
4924        (WebCore::LevelDBTransaction::TreeIterator::TreeIterator):
4925        (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
4926        (WebCore::LevelDBTransaction::TransactionIterator::~TransactionIterator):
4927        (WebCore::LevelDBTransaction::TransactionIterator::next):
4928        (WebCore::LevelDBTransaction::TransactionIterator::prev):
4929        (WebCore::LevelDBTransaction::TransactionIterator::key):
4930        (WebCore::LevelDBTransaction::TransactionIterator::value):
4931        (WebCore::LevelDBTransaction::TransactionIterator::treeChanged):
4932        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
4933        (WebCore::LevelDBTransaction::registerIterator):
4934        (WebCore::LevelDBTransaction::unregisterIterator):
4935        (WebCore::LevelDBTransaction::notifyIteratorsOfTreeChange):
4936        * platform/leveldb/LevelDBTransaction.h:
4937        * storage/IDBFactoryBackendImpl.cpp:
4938        (WebCore::IDBFactoryBackendImpl::open):
4939        * storage/IDBLevelDBBackingStore.cpp:
4940        (WebCore::IDBLevelDBBackingStore::open):
4941
49422011-05-27  Sujin Park  <sujjin.park@gmail.com>
4943
4944        Unreviewed, buildfix if --no-javascript-debugger.
4945
4946        Regression(R84125): Broke GTK build
4947        https://bugs.webkit.org/show_bug.cgi?id=60698
4948
4949        No new tests since this doesn't change any behavior.
4950
4951        * inspector/WorkerInspectorController.h:
4952
49532011-05-26  Yael Aharon  <yael.aharon@nokia.com>
4954
4955        Reviewed by Tony Chang.
4956
4957        webkit should implement the dropzone attribute
4958        https://bugs.webkit.org/show_bug.cgi?id=58210
4959
4960        Add support for dropzone attribute.
4961        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
4962        If a drag event was not canceled by JavaScript, look for an element with a dropzone attribute.
4963        If there is such an element, and it matches the drag data store, set the action defined by that
4964        element and continue processing the drag and drop operation.
4965
4966        Tests: fast/events/dropzone-001.html
4967               fast/events/dropzone-002.html
4968               fast/events/dropzone-003.html
4969               fast/events/dropzone-004.html
4970
4971        * dom/Clipboard.cpp:
4972        (WebCore::Clipboard::hasFileOfType):
4973        (WebCore::Clipboard::hasStringOfType):
4974        (WebCore::convertDropZoneOperationToDragOperation):
4975        (WebCore::convertDragOperationToDropZoneOperation):
4976        (WebCore::Clipboard::processDropZoneKeyword):
4977        * dom/Clipboard.h:
4978        * html/HTMLAttributeNames.in:
4979        * html/HTMLElement.idl:
4980        * page/EventHandler.cpp:
4981        (WebCore::EventHandler::findDropZone):
4982        (WebCore::EventHandler::updateDragAndDrop):
4983        * page/EventHandler.h:
4984
49852011-05-27  Patrick Gansterer  <paroga@webkit.org>
4986
4987        Unreviewed WinCE build fix for r87467.
4988
4989        * page/wince/FrameWinCE.cpp:
4990
49912011-05-26  Hans Wennborg  <hans@chromium.org>
4992
4993        Reviewed by Tony Gentilcore.
4994
4995        IndexedDB: Support NO_DUPLICATE cursors on LevelDB back-end
4996        https://bugs.webkit.org/show_bug.cgi?id=61517
4997
4998        Support cursors where the direction is set to NEXT_NO_DUPLICATE,
4999        or PREV_NO_DUPLICATE, as specified here:
5000        http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-NEXT_NO_DUPLICATE
5001
5002        This is tested by storage/indexeddb/mozilla/indexes.html
5003
5004        * storage/IDBLevelDBBackingStore.cpp:
5005        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
5006        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
5007        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
5008
50092011-05-26  Hans Wennborg  <hans@chromium.org>
5010
5011        Reviewed by Tony Gentilcore.
5012
5013        LevelDB: turn on paranoid checks and verify checksums, log errors
5014        https://bugs.webkit.org/show_bug.cgi?id=61516
5015
5016        This allows for detection of corrupted databases.
5017        Even if we can't recover from a corrupted database, discovering the
5018        problem is a step in the right direction.
5019
5020        No new functionality, no new tests.
5021
5022        * platform/leveldb/LevelDBDatabase.cpp:
5023        (WebCore::LevelDBDatabase::open):
5024        (WebCore::LevelDBDatabase::put):
5025        (WebCore::LevelDBDatabase::remove):
5026        (WebCore::LevelDBDatabase::get):
5027        (WebCore::LevelDBDatabase::write):
5028        (WebCore::IteratorImpl::checkStatus):
5029        (WebCore::IteratorImpl::seekToLast):
5030        (WebCore::IteratorImpl::seek):
5031        (WebCore::IteratorImpl::next):
5032        (WebCore::IteratorImpl::prev):
5033        (WebCore::LevelDBDatabase::createIterator):
5034
50352011-05-27  James Robinson  <jamesr@chromium.org>
5036
5037        Reviewed by Adam Barth.
5038
5039        CachedResourceLoader stores data: urls in validated URL set
5040        https://bugs.webkit.org/show_bug.cgi?id=61604
5041
5042        CachedResourceLoader maintains a set of URLs that have been validated to avoid validating the same resource
5043        multiple times for loads within the same document.  This doesn't make sense for data: URLs and just wastes
5044        memory.
5045
5046        * loader/cache/CachedResourceLoader.cpp:
5047        (WebCore::CachedResourceLoader::revalidateResource):
5048        (WebCore::CachedResourceLoader::loadResource):
5049
50502011-05-23  MORITA Hajime  <morrita@google.com>
5051
5052        Reviewed by Tony Chang.
5053
5054        [Refactoring] DocumentMarker should be carried around as a pointer, not value.
5055        https://bugs.webkit.org/show_bug.cgi?id=61262
5056
5057        - Changed return value of markersInRange() from Vector<DocumentMarker> to Vector<DocumentMarker*>.
5058        - Introduced markersFor() that returns Vector<DocumentMarker*>
5059        - Removed DocumentMarkerController::setRenderedRectForMarker() which now can be replaced by
5060          RenderedDocumentMarker::setRenderedRect().
5061        - This change didn't remove markersForNode() beucase there is patches on review which depends
5062          markersForNode(). I'll remove its call after these patches are landed.
5063        
5064        No new tests. No behavior change.
5065
5066        * WebCore.exp.in:
5067        * dom/DocumentMarkerController.cpp:
5068        (WebCore::DocumentMarkerController::addTextMatchMarker):
5069        (WebCore::DocumentMarkerController::markersFor):
5070        (WebCore::DocumentMarkerController::markersInRange):
5071        (WebCore::DocumentMarkerController::hasMarkers):
5072        * dom/DocumentMarkerController.h:
5073        * dom/RenderedDocumentMarker.h:
5074        (WebCore::toRenderedDocumentMarker):
5075        * editing/CompositeEditCommand.cpp:
5076        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
5077        * editing/DeleteSelectionCommand.cpp:
5078        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
5079        * editing/Editor.cpp:
5080        (WebCore::Editor::selectionStartHasMarkerFor):
5081        * editing/SpellingCorrectionController.cpp:
5082        (WebCore::markersHaveIdenticalDescription):
5083        (WebCore::SpellingCorrectionController::respondToChangedSelection):
5084        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
5085        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
5086        * editing/SpellingCorrectionController.h:
5087        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
5088        * rendering/InlineTextBox.cpp:
5089        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
5090        (WebCore::InlineTextBox::paintTextMatchMarker):
5091        (WebCore::InlineTextBox::computeRectForReplacementMarker):
5092        (WebCore::InlineTextBox::paintDocumentMarkers):
5093        * rendering/InlineTextBox.h:
5094        * rendering/svg/SVGInlineFlowBox.cpp:
5095        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
5096
50972011-05-26  MORITA Hajime  <morrita@google.com>
5098
5099        Reviewed by Kent Tamura.
5100
5101        WebCore::HTMLSummaryElement::isMainSummary ReadAV@NULL
5102        https://bugs.webkit.org/show_bug.cgi?id=61511
5103
5104        Removed Unnecessary wrong cast to Elmement, which can be non-Element.
5105
5106        Test: fast/html/details-summary-document-child.html
5107
5108        * html/HTMLSummaryElement.cpp:
5109        (WebCore::HTMLSummaryElement::detailsElement):
5110
51112011-05-26  Adam Barth  <abarth@webkit.org>
5112
5113        Reviewed by Ryosuke Niwa.
5114
5115        FrameLoader cannot be null
5116        https://bugs.webkit.org/show_bug.cgi?id=61609
5117
5118        This code has a bunch of cargo-cult null checking.
5119
5120        * html/HTMLMediaElement.cpp:
5121        (WebCore::HTMLMediaElement::createRenderer):
5122        (WebCore::HTMLMediaElement::attach):
5123        (WebCore::HTMLMediaElement::loadResource):
5124        (WebCore::HTMLMediaElement::getPluginProxyParams):
5125        (WebCore::HTMLMediaElement::createMediaPlayerProxy):
5126        (WebCore::HTMLMediaElement::updateWidget):
5127
51282011-05-26  Shane Stephens  <shanestephens@google.com>
5129
5130        Reviewed by James Robinson.
5131
5132        REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
5133        https://bugs.webkit.org/show_bug.cgi?id=60689
5134
5135        When a transform is modified in a style, we were upgrading our understanding
5136        of the difference from PositionedMovementOnly to SimplifiedLayout.  However,
5137        if the position of the style is independently changed at the same time, both
5138        PositionedMovement and SimplifiedLayout passes are required.
5139
5140        Test: transforms/2d/set-transform-and-top.html
5141
5142        * rendering/RenderObject.cpp:
5143        Added checks for SimplifiedLayoutAndPositionedMovement - when encountered,
5144        set both PositionedMovement and SimplifiedLayout update flasgs. 
5145        * rendering/style/RenderStyleConstants.h:
5146        Added a new StyleDifference enum value (SimplifiedLayoutAndPositionedMovement) for 
5147        cases when both PositionedMovement and SimplifiedLayout are required.
5148
51492011-05-26  Luke Macpherson   <macpherson@chromium.org>
5150
5151        Reviewed by Eric Seidel.
5152
5153        Implement webkit margin collapse CSS properties in CSSStyleApplyProperty
5154        https://bugs.webkit.org/show_bug.cgi?id=61589
5155
5156        No new tests as no new functionality added.
5157
5158        * css/CSSStyleApplyProperty.cpp:
5159        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
5160        Add handlers for:
5161          CSSPropertyWebkitMarginBeforeCollapse
5162          CSSPropertyWebkitMarginAfterCollapse
5163          CSSPropertyWebkitMarginTopCollapse
5164          CSSPropertyWebkitMarginBottomCollapse
5165          CSSPropertyWebkitMarginCollapse
5166        * css/CSSStyleSelector.cpp:
5167        (WebCore::CSSStyleSelector::applyProperty):
5168        Remove cases that are no longer required.
5169
51702011-05-26  Adam Barth  <abarth@webkit.org>
5171
5172        Reviewed by Eric Seidel.
5173
5174        Support cross-origin property for images
5175        https://bugs.webkit.org/show_bug.cgi?id=61015
5176
5177        This patch add support for the crossorigin attribute of images and
5178        teaches 2D canvas to respect that flag and not taint a canvas if the
5179        image drawn on the canvas is allowed by CORS.
5180
5181        While I was editing this code, I couldn't resist a couple touch-up
5182        changes.
5183
5184        Tests: http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html
5185               http/tests/security/canvas-remote-read-remote-image-allowed.html
5186               http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html
5187
5188        * html/HTMLAttributeNames.in:
5189        * html/HTMLCanvasElement.cpp:
5190        (WebCore::HTMLCanvasElement::securityOrigin):
5191        * html/HTMLCanvasElement.h:
5192        * html/HTMLImageElement.idl:
5193        * html/canvas/CanvasRenderingContext.cpp:
5194        (WebCore::CanvasRenderingContext::checkOrigin):
5195        * html/canvas/CanvasRenderingContext2D.cpp:
5196        (WebCore::CanvasRenderingContext2D::createPattern):
5197        * loader/ImageLoader.cpp:
5198        (WebCore::ImageLoader::updateFromElement):
5199        * loader/cache/CachedResource.cpp:
5200        (WebCore::CachedResource::passesAccessControlCheck):
5201        * loader/cache/CachedResource.h:
5202
52032011-05-26  Mihai Parparita  <mihaip@chromium.org>
5204
5205        Reviewed by Adam Barth.
5206
5207        Fix worldID and destinationDomain argument names
5208        https://bugs.webkit.org/show_bug.cgi?id=61571
5209
5210        As part of working on r87423, I noticed a couple of inconsistencies in
5211        argument names:
5212        - We would use worldId in .h files but worldID in .cpp files.
5213          Standardize on the latter
5214        - SecurityOrigin::addOriginAccessWhitelistEntry would take a
5215          destinationDomains argument, even though the actual parameter was for
5216          a single domain (renamed to be singular).
5217
5218        * bindings/v8/ScriptController.h:
5219        * bindings/v8/V8Proxy.h:
5220        * page/SecurityOrigin.cpp:
5221        (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
5222        (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry):
5223        * page/SecurityOrigin.h:
5224
52252011-05-26  Emil A Eklund  <eae@chromium.org>
5226
5227        Reviewed by Eric Seidel.
5228
5229        Replace RenderLayer::x/y/width/height with location/size
5230        https://bugs.webkit.org/show_bug.cgi?id=61414
5231
5232        Covered by existing tests.
5233
5234        * dom/MouseRelatedEvent.cpp:
5235        (WebCore::MouseRelatedEvent::computeRelativePosition):
5236        * rendering/RenderBox.cpp:
5237        (WebCore::RenderBox::computeRectForRepaint):
5238        * rendering/RenderBox.h:
5239        (WebCore::RenderBox::maxLayoutOverflow):
5240        * rendering/RenderInline.cpp:
5241        (WebCore::RenderInline::clippedOverflowRectForRepaint):
5242        (WebCore::RenderInline::computeRectForRepaint):
5243        * rendering/RenderLayer.cpp:
5244        (WebCore::RenderLayer::updateLayerPosition):
5245        (WebCore::RenderLayer::convertToLayerCoords):
5246        (WebCore::RenderLayer::offsetFromResizeCorner):
5247        (WebCore::RenderLayer::calculateRects):
5248        * rendering/RenderLayer.h:
5249        (WebCore::RenderLayer::location):
5250        (WebCore::RenderLayer::setSize):
5251        * rendering/RenderObject.cpp:
5252        (WebCore::RenderObject::computeRectForRepaint):
5253        * rendering/RenderTreeAsText.cpp:
5254        (WebCore::write):
5255        (WebCore::writeLayers):
5256        (WebCore::externalRepresentation):
5257        * rendering/RenderView.cpp:
5258        (WebCore::RenderView::absoluteRects):
5259        (WebCore::RenderView::absoluteQuads):
5260
52612011-05-26  Annie Sullivan  <sullivan@chromium.org>
5262
5263        Reviewed by Ryosuke Niwa.
5264
5265        Delete table in contentEditable/designMode produces odd contents
5266        https://bugs.webkit.org/show_bug.cgi?id=57148
5267
5268        Removes border-collapse, -webkit-border-horizontal-spacing, and
5269        -webkit-border-vertical-spacing from the list of properties which
5270        should be preserved during edit operations. Also renames this
5271        list to editingInheritableProperties to be more clear about what
5272        the list is for.
5273
5274        Test: editing/deleting/delete-last-char-in-table.html
5275
5276        * editing/EditingStyle.cpp: Removes border vertical/horizontal
5277        spacing from editingStyleProperties.
5278        * editing/EditingStyle.h: Renames OnlyInheritableProperties to
5279        OnlyEditingInheritableProperties.
5280        * editing/markup.cpp: Renames InheritablePropertiesAndBackgroundColorInEffect.
5281
52822011-05-26  Yuta Kitamura  <yutak@chromium.org>
5283
5284        Reviewed by Kent Tamura.
5285
5286        WebSocket closing handshake
5287        https://bugs.webkit.org/show_bug.cgi?id=35721
5288
5289        Implement WebSocket closing handshake based on Ian Hickson's
5290        WebSocket protocol draft 76.
5291
5292        Tests: http/tests/websocket/tests/client-close.html
5293               http/tests/websocket/tests/server-close.html
5294
5295        * platform/network/SocketStreamHandleBase.cpp:
5296        (WebCore::SocketStreamHandleBase::send):
5297        Do not send a message if we are in Closing state.
5298        (WebCore::SocketStreamHandleBase::close):
5299        Do not disconnect if we have pending data which have not been sent yet.
5300        In this case, the actual disconnection will happen in sendPendingData().
5301        (WebCore::SocketStreamHandleBase::disconnect):
5302        Renamed from close(). Disconnect the connection immediately.
5303        (WebCore::SocketStreamHandleBase::sendPendingData):
5304        * platform/network/SocketStreamHandleBase.h:
5305        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
5306        Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
5307        to didClose().
5308        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
5309        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
5310        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
5311        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
5312        * websockets/ThreadableWebSocketChannelClientWrapper.h:
5313        * websockets/WebSocket.cpp:
5314        (WebCore::WebSocket::send):
5315        (WebCore::WebSocket::close):
5316        Fail if close() is attempted before the connection is established.
5317        Otherwise, set the state to CLOSING and start the closing handshake.
5318        (WebCore::WebSocket::bufferedAmount):
5319        If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
5320        (WebCore::WebSocket::didConnect):
5321        (WebCore::WebSocket::didReceiveMessage):
5322        We need to invoke message event in CLOSING state as well as OPEN state.
5323        (WebCore::WebSocket::didReceiveMessageError):
5324        (WebCore::WebSocket::didStartClosingHandshake):
5325        (WebCore::WebSocket::didClose):
5326        * websockets/WebSocket.h:
5327        * websockets/WebSocketChannel.cpp:
5328        (WebCore::WebSocketChannel::WebSocketChannel):
5329        (WebCore::WebSocketChannel::close):
5330        Start the closing handshake.
5331        (WebCore::WebSocketChannel::disconnect):
5332        Disconnect the socket stream, instead of close.
5333        (WebCore::WebSocketChannel::didClose):
5334        (WebCore::WebSocketChannel::didReceiveData): Ditto.
5335        (WebCore::WebSocketChannel::didFail): Ditto.
5336        (WebCore::WebSocketChannel::processBuffer):
5337        Ditto.
5338        Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
5339        (WebCore::WebSocketChannel::startClosingHandshake):
5340        Send 0xFF 0x00 byte sequence.
5341        (WebCore::WebSocketChannel::closingTimerFired):
5342        Disconnect the socket stream if the closing handshake has timed out.
5343        * websockets/WebSocketChannel.h:
5344        m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
5345        specification).
5346        * websockets/WebSocketChannelClient.h:
5347        (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
5348        (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
5349        * websockets/WorkerThreadableWebSocketChannel.cpp:
5350        Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
5351        (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
5352        (WebCore::workerContextDidStartClosingHandshake):
5353        (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
5354        (WebCore::workerContextDidClose):
5355        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
5356        * websockets/WorkerThreadableWebSocketChannel.h:
5357
53582011-05-26  David Levin  <levin@chromium.org>
5359
5360        Reviewed by Dmitry Titov.
5361
5362        WebKit's font notification has problems when the WebKit main thread != UI thread.
5363        https://bugs.webkit.org/show_bug.cgi?id=61391
5364
5365        This doesn't happen in DumpRenderTree, so it needs a unit test which is taking me
5366        some time to write correctly. In the meantime, this issues happens to be causing
5367        some crashes in Chrome so here's the fix alone for the time being.
5368
5369        * platform/graphics/mac/FontCacheMac.mm:
5370        (WebCore::invalidateFontCache): Ensure that FontCache::invalidate is only called on WebKit's main thread.
5371        (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Call common function for font cache invalidation.
5372         Note that the call to fontCache() is fine since the singleton is initialized well before calling this function. Theoretically,
5373         there could be a problem due to a lack of a memory barrier but that is highly unlikely and this is debug only code.
5374        (WebCore::fontCacheATSNotificationCallback): Ditto.
5375
53762011-05-26  Stephanie Lewis  <slewis@apple.com>
5377
5378        Reviewed by Geoff Garen.
5379
5380        https://bugs.webkit.org/show_bug.cgi?id=61345
5381        part of <rdar://problem/8675177>
5382        Roll back in now that the Crashes are fixed.  ResourceResponseBase and ResourceResponse had two different definitions
5383        for m_isNull.  ResourceResponse treats m_isNull as meaning there isn't any platform ResourceResponse. 
5384        ResourceResponseBase treats m_isNull as meaning no fields have been initialized.  Consolidate calls into ResourceResponseBase meaning. 
5385
5386        Don't initialize ResourceResponse.m_suggestedFilename until we want to use it.  Initializing it requires reading in and parsing a plist.  
5387        Add new initialization state CommonAndUncommonFields to ResourceResponse.  This will be for all the header fields.
5388        Move suggestedFilename initialization to AllFields so it is never initialized unless we ask for it. 
5389        Add "Content-Type" to common headers since it is looked for by every CSS sheet load.
5390
5391        No new functionality so no new tests.
5392
5393        * platform/network/ResourceResponseBase.cpp:
5394        (WebCore::ResourceResponseBase::adopt):
5395        (WebCore::ResourceResponseBase::suggestedFilename):
5396        (WebCore::ResourceResponseBase::setSuggestedFilename):
5397        (WebCore::ResourceResponseBase::httpStatusText):
5398        (WebCore::ResourceResponseBase::setHTTPStatusText):
5399        (WebCore::ResourceResponseBase::httpHeaderField):
5400        (WebCore::ResourceResponseBase::setHTTPHeaderField):
5401        (WebCore::ResourceResponseBase::httpHeaderFields):
5402        (WebCore::ResourceResponseBase::isAttachment):
5403        (WebCore::ResourceResponseBase::setLastModifiedDate):
5404        (WebCore::ResourceResponseBase::lastModifiedDate):
5405        (WebCore::ResourceResponseBase::wasCached):
5406        (WebCore::ResourceResponseBase::connectionReused):
5407        (WebCore::ResourceResponseBase::setConnectionReused):
5408        (WebCore::ResourceResponseBase::connectionID):
5409        (WebCore::ResourceResponseBase::setConnectionID):
5410        (WebCore::ResourceResponseBase::resourceLoadTiming):
5411        (WebCore::ResourceResponseBase::setResourceLoadTiming):
5412        (WebCore::ResourceResponseBase::resourceLoadInfo):
5413        (WebCore::ResourceResponseBase::setResourceLoadInfo):
5414        * platform/network/ResourceResponseBase.h:
5415        * platform/network/cf/ResourceResponse.h:
5416        (WebCore::ResourceResponse::ResourceResponse):
5417        * platform/network/cf/ResourceResponseCFNet.cpp:
5418        (WebCore::ResourceResponse::platformLazyInit):
5419        * platform/network/mac/ResourceResponseMac.mm:
5420
54212011-05-26  James Kozianski  <koz@chromium.org>
5422
5423        Reviewed by Eric Seidel.
5424
5425        Implement a whitelist for registerProtocolHandler
5426        https://bugs.webkit.org/show_bug.cgi?id=60322
5427
5428        * page/Navigator.cpp:
5429        (WebCore::initProtocolHandlerWhitelist):
5430        (WebCore::isProtocolWhitelisted):
5431        (WebCore::verifyProtocolHandlerScheme):
5432
54332011-05-26  Annie Sullivan  <sullivan@chromium.org>
5434
5435        Reviewed by Ryosuke Niwa.
5436
5437        [debug feature] CSSStyleDeclaration should have a way to print cssText
5438        https://bugs.webkit.org/show_bug.cgi?id=61570
5439
5440        Adds a method to print the cssText to stderr for debugging.
5441
5442        * css/CSSStyleDeclaration.cpp:
5443        (WebCore::CSSStyleDeclaration::showStyle): New method to print cssText to stderr
5444        * css/CSSStyleDeclaration.h: New method declaration
5445
54462011-05-26  Syed Idris Shah  <syed.idris-shah@nokia.com>
5447
5448        Reviewed by Andreas Kling.
5449
5450        [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
5451        https://bugs.webkit.org/show_bug.cgi?id=60377 
5452
5453        LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
5454
5455        For an array of active uniform, we should be careful while truncating the name of the uniform. 
5456        Currently we are truncating the last three characters of an array with out checking for [0]. 
5457        As a result we are truncating the the actual name of the active uniforms i.e. color to co. 
5458
5459        * html/canvas/WebGLRenderingContext.cpp:
5460        (WebCore::WebGLRenderingContext::getUniform): Strip "[0]" from the name if it's an array and is part of the name.
5461
54622011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
5463
5464        Unreviewed, rolling out r87444.
5465        http://trac.webkit.org/changeset/87444
5466        https://bugs.webkit.org/show_bug.cgi?id=61582
5467
5468        Layout test regressions in Chromium/WebKit: fast/css/first-
5469        letter-text-fragment-crash.html, fast/css/first-letter-
5470        visibility.html (Requested by aklein on #webkit).
5471
5472        * page/Chrome.cpp:
5473        * page/Chrome.h:
5474        * page/ChromeClient.h:
5475        * page/FrameView.cpp:
5476        (WebCore::FrameView::setContentsSize):
5477        * page/FrameView.h:
5478
54792011-05-26  David Levin  <levin@chromium.org>
5480
5481        Reviewed by Darin Fisher.
5482
5483        Need a callback for when the preferred rendered size changed.
5484        https://bugs.webkit.org/show_bug.cgi?id=61309
5485
5486        No new tests needed since no new functionality is exposed.
5487
5488        * page/Chrome.cpp:
5489        (WebCore::Chrome::contentsPreferredSizeChanged): Plumbed through the call.
5490        * page/Chrome.h: Added the new method.
5491        * page/ChromeClient.h: Ditto.
5492        * page/FrameView.cpp:
5493        (WebCore::FrameView::setContentsSize): Added calculations for the preferred size
5494        and the call to contentsPreferredSizeChanged.
5495
54962011-05-25  Levi Weintraub  <leviw@chromium.org>
5497
5498        Reviewed by Eric Seidel.
5499
5500        Switch controlClipRect to use IntPoint
5501        https://bugs.webkit.org/show_bug.cgi?id=60806
5502
5503        Switching controlClipRect to take an IntPoint representing the
5504        offset to be added instead of a pair of ints.
5505
5506        No new tests as this is just refactoring.
5507
5508        * WebCore.xcodeproj/project.pbxproj:
5509        * rendering/RenderBlock.cpp:
5510        (WebCore::RenderBlock::nodeAtPoint):
5511        * rendering/RenderBox.cpp:
5512        (WebCore::RenderBox::pushContentsClip):
5513        * rendering/RenderBox.h:
5514        (WebCore::RenderBox::controlClipRect):
5515        * rendering/RenderButton.cpp:
5516        (WebCore::RenderButton::controlClipRect):
5517        * rendering/RenderButton.h:
5518        * rendering/RenderListBox.cpp:
5519        (WebCore::RenderListBox::paintItemBackground):
5520        (WebCore::RenderListBox::controlClipRect):
5521        * rendering/RenderListBox.h:
5522        * rendering/RenderMenuList.cpp:
5523        (WebCore::RenderMenuList::controlClipRect):
5524        * rendering/RenderMenuList.h:
5525        * rendering/RenderTextControlSingleLine.cpp:
5526        (WebCore::RenderTextControlSingleLine::controlClipRect):
5527        * rendering/RenderTextControlSingleLine.h:
5528
55292011-05-25  Levi Weintraub  <leviw@chromium.org>
5530
5531        Reviewed by Eric Seidel.
5532
5533        Switch controlClipRect to use IntPoint
5534        https://bugs.webkit.org/show_bug.cgi?id=60806
5535
5536        Switching controlClipRect to take an IntPoint representing the
5537        offset to be added instead of a pair of ints.
5538
5539        No new tests as this is just refactoring.
5540
5541        * WebCore.xcodeproj/project.pbxproj:
5542        * rendering/RenderBlock.cpp:
5543        (WebCore::RenderBlock::nodeAtPoint):
5544        * rendering/RenderBox.cpp:
5545        (WebCore::RenderBox::pushContentsClip):
5546        * rendering/RenderBox.h:
5547        (WebCore::RenderBox::controlClipRect):
5548        * rendering/RenderButton.cpp:
5549        (WebCore::RenderButton::controlClipRect):
5550        * rendering/RenderButton.h:
5551        * rendering/RenderListBox.cpp:
5552        (WebCore::RenderListBox::paintItemBackground):
5553        (WebCore::RenderListBox::controlClipRect):
5554        * rendering/RenderListBox.h:
5555        * rendering/RenderMenuList.cpp:
5556        (WebCore::RenderMenuList::controlClipRect):
5557        * rendering/RenderMenuList.h:
5558        * rendering/RenderTextControlSingleLine.cpp:
5559        (WebCore::RenderTextControlSingleLine::controlClipRect):
5560        * rendering/RenderTextControlSingleLine.h:
5561
55622011-05-26  Jeff Miller  <jeffm@apple.com>
5563
5564        Reviewed by Steve Falkenburg.
5565
5566        Fullscreen content is sometimes obscured by taskbar (which even covers up the "exit fullscreen" button)
5567        https://bugs.webkit.org/show_bug.cgi?id=61569
5568        <rdar://problem/9454315>
5569
5570        Normally, when the background fullscreen window is animated in, the Windows taskbar will be hidden, but this doesn't always work for some reason.
5571        Workaround this issue by setting the real fullscreen window to be a topmost window.
5572
5573        * platform/graphics/win/FullScreenController.cpp:
5574        (FullScreenController::Private::fullscreenClientWndProc): Exit fullscreen when m_fullScreenWindow is deactivated.
5575        (FullScreenController::enterFullScreenRepaintCompleted): Make m_fullScreenWindow a topmost window before animating it in to ensure the taskbar is hidden.
5576
55772011-05-26  James Robinson  <jamesr@chromium.org>
5578
5579        Reviewed by Darin Fisher.
5580
5581        [skia] Add area check to ImageBufferData::getImageData
5582        https://bugs.webkit.org/show_bug.cgi?id=61375
5583
5584        No change in behavior, just a sanity check.
5585
5586        * platform/graphics/skia/ImageBufferSkia.cpp:
5587        (WebCore::getImageData):
5588
55892011-05-26  Levi Weintraub  <leviw@chromium.org>
5590
5591        Reviewed by Eric Seidel.
5592
5593        Switch positionOverflowControls to IntSize
5594        https://bugs.webkit.org/show_bug.cgi?id=61493
5595
5596        Switching positionOverflowControls to take a layerOffset IntSize
5597        as opposed to a pair of ints.
5598
5599        No new tests since this is just refactoring.
5600
5601        * rendering/RenderLayer.cpp:
5602        (WebCore::RenderLayer::updateLayerPositions):
5603        (WebCore::RenderLayer::positionOverflowControls):
5604        (WebCore::RenderLayer::paintOverflowControls):
5605        * rendering/RenderLayer.h:
5606
56072011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
5608
5609        Unreviewed, rolling out r87368.
5610        http://trac.webkit.org/changeset/87368
5611        https://bugs.webkit.org/show_bug.cgi?id=61564
5612
5613        Wrong approach, will do the wrong thing if the element needs
5614        simplified normal flow layout but is not positioned (Requested
5615        by jamesr on #webkit).
5616
5617        * rendering/RenderObject.h:
5618        (WebCore::RenderObject::needsPositionedMovementLayout):
5619
56202011-05-02  Robert Hogan  <robert@webkit.org>
5621
5622        Reviewed by Adam Roben.
5623
5624        [Qt] Allow popup windows from plugins when initiated by a user gesture
5625
5626        https://bugs.webkit.org/show_bug.cgi?id=41292
5627
5628        If the event is from a user gesture and the plugin doesn't support
5629        NPN_PushPopupsEnabledState() and NPN_PopPopupsEnabledState(), allow popups.
5630
5631        * plugins/qt/PluginViewQt.cpp:
5632        (WebCore::PluginView::dispatchNPEvent):
5633
56342011-05-26  Leandro Gracia Gil  <leandrogracia@chromium.org>
5635
5636        Reviewed by Dmitry Titov.
5637
5638        [V8] Add missing compile guards for WebWorkers in WebCore.
5639        https://bugs.webkit.org/show_bug.cgi?id=61535
5640
5641        No new tests - refactoring only.
5642
5643        * bindings/v8/V8AbstractEventListener.cpp:
5644        (WebCore::V8AbstractEventListener::invokeEventHandler):
5645        * bindings/v8/V8DOMWrapper.cpp:
5646        (WebCore::V8DOMWrapper::instantiateV8Object):
5647
56482011-05-26  Mihai Parparita  <mihaip@chromium.org>
5649
5650        Reviewed by Adam Barth.
5651
5652        Support cross-origin XMLHttpRequest in isolated worlds
5653        https://bugs.webkit.org/show_bug.cgi?id=59843
5654
5655        Allows isolated worlds to be associated with a different SecurityOrigin
5656        (exposed as a setIsolatedWorldSecurityOrigin function in
5657        ScriptController).
5658
5659        The XMLHttpRequest constructor can then check that it's being
5660        instantiated in an isolated world and use its security origin.
5661        XMLHttpRequest, ThreadableLoader and DocumentThreadableLoader had to be
5662        changed to use the copied SecurityOrigin instead of always grabbing the
5663        Document's.
5664
5665        Test: http/tests/security/isolatedWorld/cross-origin-xhr.html
5666
5667        * bindings/v8/ScriptController.cpp:
5668        (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
5669        * bindings/v8/ScriptController.h:
5670        * bindings/v8/V8IsolatedContext.cpp:
5671        (WebCore::V8IsolatedContext::setSecurityOrigin):
5672        * bindings/v8/V8IsolatedContext.h:
5673        (WebCore::V8IsolatedContext::securityOrigin):
5674        * bindings/v8/V8Proxy.cpp:
5675        (WebCore::V8Proxy::evaluateInIsolatedWorld):
5676        (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
5677        (WebCore::V8Proxy::resetIsolatedWorlds):
5678        * bindings/v8/V8Proxy.h:
5679        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
5680        (WebCore::V8XMLHttpRequest::constructorCallback):
5681        * loader/DocumentThreadableLoader.cpp:
5682        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
5683        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
5684        (WebCore::DocumentThreadableLoader::didReceiveResponse):
5685        (WebCore::DocumentThreadableLoader::preflightSuccess):
5686        (WebCore::DocumentThreadableLoader::isAllowedRedirect):
5687        (WebCore::DocumentThreadableLoader::securityOrigin):
5688        * loader/DocumentThreadableLoader.h:
5689        * loader/ThreadableLoader.h:
5690        * xml/XMLHttpRequest.cpp:
5691        (WebCore::XMLHttpRequest::create):
5692        (WebCore::XMLHttpRequest::XMLHttpRequest):
5693        (WebCore::XMLHttpRequest::securityOrigin):
5694        (WebCore::XMLHttpRequest::responseXML):
5695        (WebCore::XMLHttpRequest::createRequest):
5696        (WebCore::XMLHttpRequest::setRequestHeader):
5697        (WebCore::XMLHttpRequest::getAllResponseHeaders):
5698        (WebCore::XMLHttpRequest::getResponseHeader):
5699        * xml/XMLHttpRequest.h:
5700
57012011-05-26  Michael Nordman  <michaeln@google.com>
5702
5703        Reviewed by Darin Fisher.
5704
5705        [Chromium] Use SecurityOrigin produced databaseIdentifier strings, instead of
5706        SecurityOrigin RefPtrs, as the top level key into the DatabaseTracker's
5707        collection of open databases. Otherwise we can fail to lookup databases when
5708        trying to forceably close them via  WebDatabase::closeDatabaseImmediately.
5709        https://bugs.webkit.org/show_bug.cgi?id=61417
5710
5711        New new functionality, no tests.
5712
5713        * storage/DatabaseTracker.h:
5714        * storage/chromium/DatabaseTrackerChromium.cpp:
5715        (WebCore::DatabaseTracker::addOpenDatabase):
5716        (WebCore::DatabaseTracker::removeOpenDatabase):
5717        (WebCore::DatabaseTracker::getOpenDatabases):
5718        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
5719
57202011-05-25  Jer Noble  <jer.noble@apple.com>
5721
5722        Reviewed by Maciej Stachowiak.
5723
5724        Safari Web Content crashes while entering/exiting the full screen mode of the video content
5725        https://bugs.webkit.org/show_bug.cgi?id=61498
5726
5727        No new tests, as DRT does not currently animate the full screen transition.
5728
5729        To guard against m_fullScreenRenderer being called after it has been deleted, add
5730        code in RenderFullScreen which notifies the document when its full-screen renderer
5731        will be destroyed.
5732
5733        Also, add some sanity checks when accessing the full-screen renderer's layer backing.
5734
5735        * dom/Document.cpp:
5736        (WebCore::Document::webkitWillEnterFullScreenForElement): Guard against a missing
5737            full-screen renderer layer.
5738        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
5739        (WebCore::Document::setFullScreenRenderer): Added ASSERT.
5740        (WebCore::Document::fullScreenRendererDestroyed): Added.
5741        (WebCore::Document::setAnimatingFullScreen): Guard against the full-screen
5742            element having been removed from the document.
5743        * dom/Document.h:
5744        * rendering/RenderFullScreen.cpp:
5745        (RenderFullScreen::destroy): Added.  Tell the Document that it's full-screen
5746            renderer is about to be destroyed.
5747        * rendering/RenderFullScreen.h:
5748
57492011-05-26  Andreas Kling  <kling@webkit.org>
5750
5751        Reviewed by Geoffrey Garen.
5752
5753        Overload resolution in generated JSC bindings could be more efficient.
5754        https://bugs.webkit.org/show_bug.cgi?id=61544
5755
5756        Only fetch the arguments once, and not until they are needed (less work
5757        in the case of an early return.)
5758
5759        * bindings/scripts/CodeGeneratorJS.pm:
5760        * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
5761        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
5762
57632011-05-26  Adrienne Walker  <enne@google.com>
5764
5765        Reviewed by James Robinson.
5766
5767        [chromium] Be robust to empty viewports in the compositor
5768        https://bugs.webkit.org/show_bug.cgi?id=61545
5769
5770        It's possible for a frame to be requested to be drawn before it is
5771        non-empty.  The compositor should be robust to that possibility.  The
5772        changes in LayerTilerChromium are the only required changes to handle
5773        this, but having an early out in LayerRendererChromium seemed like a
5774        good sanity check.
5775
5776        * platform/graphics/chromium/LayerRendererChromium.cpp:
5777        (WebCore::LayerRendererChromium::updateAndDrawLayers):
5778        (WebCore::LayerRendererChromium::drawLayers):
5779        * platform/graphics/chromium/LayerTilerChromium.cpp:
5780        (WebCore::LayerTilerChromium::prepareToUpdate):
5781        (WebCore::LayerTilerChromium::updateRect):
5782        (WebCore::LayerTilerChromium::draw):
5783
57842011-05-26  Emil A Eklund  <eae@chromium.org>
5785
5786        Reviewed by Eric Seidel.
5787
5788        Change RenderObject to use FloatPoint::scale and FloatQuad::scale
5789        https://bugs.webkit.org/show_bug.cgi?id=61497
5790
5791        Covered by existing test.
5792
5793        * platform/graphics/FloatQuad.h:
5794        (WebCore::FloatQuad::scale):
5795        * rendering/RenderObject.h:
5796        (WebCore::adjustFloatQuadForAbsoluteZoom):
5797        (WebCore::adjustFloatRectForAbsoluteZoom):
5798        (WebCore::adjustFloatQuadForPageScale):
5799        (WebCore::adjustFloatRectForPageScale):
5800
58012011-05-26  Alexis Menard  <alexis.menard@openbossa.org>
5802
5803        Unreviewed build fix for Qt and QuickTime backend.
5804
5805        r87328 added a new system interface, we need to add it too.
5806
5807        * platform/qt/WebCoreSystemInterface.h:
5808        * platform/qt/WebCoreSystemInterface.mm:
5809
58102011-05-26  Andrey Kosyakov  <caseq@chromium.org>
5811
5812        Unreviewed follow-up to r87395, added checks to avoid accessing undefined member for certain timeline events.
5813
5814        * inspector/front-end/TimelinePanel.js:
5815        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
5816        (WebInspector.TimelinePanel.FormattedRecord):
5817
58182011-05-25  Ryosuke Niwa  <rniwa@webkit.org>
5819
5820        Reviewed by Enrica Casucci.
5821
5822        WebKit duplicates styles from css rules on copy and paste
5823        https://bugs.webkit.org/show_bug.cgi?id=61466
5824
5825        Fixed the bug by removing duplicate properties from inline style declarations in ReplaceSelectionCommand.
5826        Also moved the code to obtain style from rules from markup.cpp to EditingStyle.cpp to share code.
5827
5828        Test: editing/pasteboard/style-from-rules.html
5829
5830        * editing/EditingStyle.cpp:
5831        (WebCore::EditingStyle::EditingStyle): Added a null check.
5832        (WebCore::EditingStyle::extractFontSizeDelta): Ditto.
5833        (WebCore::styleFromMatchedRulesForElement): Moved from markup.cpp.
5834        (WebCore::EditingStyle::mergeStyleFromRules): Extracted from StyledMarkupAccumulator::appendElement.
5835        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization): Ditto.
5836        (WebCore::EditingStyle::removeStyleFromRules): Added.
5837        * editing/EditingStyle.h:
5838        * editing/ReplaceSelectionCommand.cpp:
5839        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Renamed from
5840        negateStyleRulesThatAffectAppearance; Calls removeStyleFromRules.
5841        * editing/markup.cpp:
5842        (WebCore::StyledMarkupAccumulator::appendElement): Calls mergeStyleFromRulesForSerialization.
5843        (WebCore::styleFromMatchedRulesAndInlineDecl): Calls mergeStyleFromRules; changed the return type
5844        from CSSMutableStyleDeclaration to EditingStyle.
5845        (WebCore::isElementPresentational): Calls styleFromMatchedRulesAndInlineDecl.
5846        (WebCore::shouldIncludeWrapperForFullySelectedRoot): Ditto.
5847        (WebCore::highestAncestorToWrapMarkup): Calls shouldIncludeWrapperForFullySelectedRoot.
5848        (WebCore::createMarkup): Calls styleFromMatchedRulesAndInlineDecl.
5849
58502011-05-26  Michael Schneider  <michschn@google.com>
5851
5852        Reviewed by Pavel Feldman.
5853
5854        WebInspector: Added API to access the timeline data in a inspector extension.
5855        https://bugs.webkit.org/show_bug.cgi?id=61098
5856
5857        * WebCore.gypi:
5858        * WebCore.vcproj/WebCore.vcproj:
5859        * inspector/front-end/ExtensionAPI.js:
5860        (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
5861        (WebInspector.injectedExtensionAPI):
5862        * inspector/front-end/ExtensionServer.js:
5863        (WebInspector.ExtensionServer):
5864        (WebInspector.ExtensionServer.prototype._addRecordToTimeline):
5865        (WebInspector.ExtensionServer.prototype._onSubscribe):
5866        (WebInspector.ExtensionServer.prototype._onUnsubscribe):
5867        (WebInspector.ExtensionServer.prototype._registerHandler):
5868        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
5869        * inspector/front-end/TimelineManager.js: Added.
5870        (WebInspector.TimelineManager):
5871        (WebInspector.TimelineManager.prototype.start):
5872        (WebInspector.TimelineManager.prototype.stop):
5873        (WebInspector.TimelineDispatcher):
5874        (WebInspector.TimelineDispatcher.prototype.started):
5875        (WebInspector.TimelineDispatcher.prototype.stopped):
5876        (WebInspector.TimelineDispatcher.prototype.eventRecorded):
5877        * inspector/front-end/TimelinePanel.js:
5878        (WebInspector.TimelinePanel):
5879        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
5880        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
5881        * inspector/front-end/WebKit.qrc:
5882        * inspector/front-end/inspector.html:
5883
58842011-05-26  Andrey Kosyakov  <caseq@chromium.org>
5885
5886        Reviewed by Yury Semikhatsky.
5887
5888        Web Inspector: TimelinePanel should not modify input timeline data when processing timeline event
5889        https://bugs.webkit.org/show_bug.cgi?id=61529
5890
5891        Do not modify input timeline data when processing timeline event.
5892
5893        * inspector/front-end/TimelinePanel.js:
5894        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
5895        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
5896        (WebInspector.TimelinePanel.FormattedRecord):
5897        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
5898        (WebInspector.TimelinePanel.FormattedRecord.prototype._refreshDetails):
5899        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
5900
59012011-05-26  Rob Buis  <rbuis@rim.com>
5902
5903        Reviewed by Dirk Schulze.
5904
5905        Dynamically created <animate> elements do not animate upon document insertion as they should
5906        https://bugs.webkit.org/show_bug.cgi?id=20028
5907
5908        Tests: svg/animations/animate-insert-begin.html
5909               svg/animations/animate-insert-no-begin.html
5910
5911        Move animation initializing and rescheduling to insertedIntoDocument. This way animate elements
5912        dynamicaly inserted into the document using js start as well.
5913
5914        * svg/animation/SVGSMILElement.cpp:
5915        (WebCore::SVGSMILElement::insertedIntoDocument):
5916        * svg/animation/SVGSMILElement.h:
5917
59182011-05-26  Andreas Kling  <kling@webkit.org>
5919
5920        Reviewed by Benjamin Poulain.
5921
5922        JSC DOM bindings: ExecState::argumentCount() is size_t, not int.
5923        https://bugs.webkit.org/show_bug.cgi?id=61530
5924
5925        * bindings/scripts/CodeGeneratorJS.pm:
5926        * bindings/scripts/test/JS/JSTestObj.cpp:
5927        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
5928        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
5929        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
5930        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
5931        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
5932        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
5933        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
5934        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
5935
59362011-05-26  Simon Fraser  <simon.fraser@apple.com>
5937
5938        Reviewed by Adam Roben.
5939
5940        Some repeating linear gradients look wrong
5941        https://bugs.webkit.org/show_bug.cgi?id=61371
5942
5943        Test: fast/gradients/css3-repeating-linear-gradients2.html
5944        
5945        Fix incorrect stop duplication code when filling forwards a repeating
5946        gradient. The "if (srcStopOrdinal < originalNumStops - 1)" test was wrong
5947        because srcStopOrdinal had been adjusted for stops added by start-filling,
5948        but originalNumStops had not. Fix by considering srcStopOrdinal as an index
5949        into the original stops, so comparing it with originalNumStops remains valid.
5950
5951        * css/CSSGradientValue.cpp:
5952        (WebCore::CSSGradientValue::addStops):
5953
59542011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
5955
5956        Reviewed by Yury Semikhatsky.
5957
5958        Web Inspector: In network panel, show transfer size in a first line of resource row.
5959        https://bugs.webkit.org/show_bug.cgi?id=61354
5960
5961        * English.lproj/localizedStrings.js:
5962        * inspector/front-end/NetworkPanel.js:
5963        (WebInspector.NetworkPanel.prototype._createTable):
5964        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
5965
59662011-05-25  Simon Fraser  <simon.fraser@apple.com>
5967
5968        Reviewed by Dan Bernstein.
5969
5970        Always antialias borders, outlines and rules when scaling
5971        https://bugs.webkit.org/show_bug.cgi?id=61502
5972        
5973        r84273 changed the behavior of drawLineForBoxSide() to never antialias by default.
5974        This actually disabled antialiasing in some circumstances where it used to be enabled,
5975        for example collapsed table border drawing.
5976        
5977        Fix by allowing antialiasing for collapsed table borders, column rules and span
5978        outlines when the context is scaled.
5979
5980        Test: fast/borders/border-antialiasing.html
5981
5982        * rendering/RenderBlock.cpp:
5983        (WebCore::RenderBlock::paintColumnRules):
5984        * rendering/RenderInline.cpp:
5985        (WebCore::RenderInline::paintOutline):
5986        (WebCore::RenderInline::paintOutlineForLine):
5987        * rendering/RenderTableCell.cpp:
5988        (WebCore::RenderTableCell::paintCollapsedBorder):
5989
59902011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
5991
5992        Reviewed by Yury Semikhatsky.
5993
5994        Web Inspector: Use different SourceFrame instances for ResourcesPanel and NetworkPanel
5995        https://bugs.webkit.org/show_bug.cgi?id=59193
5996
5997        * inspector/front-end/NetworkItemView.js:
5998        (WebInspector.NetworkItemView):
5999        (WebInspector.NetworkItemView._contentViewForResource):
6000        * inspector/front-end/NetworkPanel.js:
6001        (WebInspector.NetworkPanel.prototype._refreshResource):
6002        * inspector/front-end/Resource.js:
6003        (WebInspector.Resource.prototype.get messages):
6004        (WebInspector.Resource.prototype.addMessage):
6005        (WebInspector.Resource.prototype.set errors):
6006        (WebInspector.Resource.prototype.set warnings):
6007        (WebInspector.Resource.prototype.clearErrorsAndWarnings):
6008        * inspector/front-end/ResourceTreeModel.js:
6009        (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
6010        * inspector/front-end/ResourceView.js:
6011        (WebInspector.ResourceView.hasTextContent):
6012        (WebInspector.ResourceView.nonSourceViewForResource):
6013        (WebInspector.ResourceSourceFrame):
6014        (WebInspector.ResourceSourceFrame.mimeTypeForResource):
6015        (WebInspector.ResourceSourceFrame.prototype.requestContent):
6016        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
6017        (WebInspector.EditableResourceSourceFrame):
6018        (WebInspector.EditableResourceSourceFrame.prototype.doubleClick):
6019        (WebInspector.EditableResourceSourceFrame.prototype.editContent):
6020        (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
6021        (WebInspector.EditableResourceSourceFrame.prototype.afterTextChanged):
6022        (WebInspector.EditableResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
6023        (WebInspector.ResourceRevisionSourceFrame):
6024        (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
6025        * inspector/front-end/ResourcesPanel.js:
6026        (WebInspector.ResourcesPanel.prototype.showResource):
6027        (WebInspector.ResourcesPanel.prototype._showResourceView):
6028        (WebInspector.ResourcesPanel.prototype._resourceViewForResource):
6029        (WebInspector.ResourcesPanel.prototype._showRevisionView):
6030        (WebInspector.ResourcesPanel.prototype._sourceViewForRevision):
6031        (WebInspector.ResourcesPanel.prototype.searchCanceled):
6032        (WebInspector.ResourcesPanel.prototype._findTreeElementForRevision):
6033        (WebInspector.ResourcesPanel.prototype._findTreeElementForRevision.getParent):
6034        (WebInspector.FrameResourceTreeElement):
6035        (WebInspector.FrameResourceTreeElement.prototype.onattach):
6036        (WebInspector.FrameResourceTreeElement.prototype._updateErrorsAndWarningsBubbles):
6037        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsCleared):
6038        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsMessageAdded):
6039        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
6040        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
6041        (WebInspector.FrameResourceTreeElement.prototype._createSourceView):
6042        (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
6043        (WebInspector.ResourceRevisionTreeElement):
6044        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
6045        (WebInspector.ResourceRevisionTreeElement.prototype.sourceView):
6046
60472011-05-26  Andreas Kling  <kling@webkit.org>
6048
6049        Reviewed by Darin Adler.
6050
6051        JSC DOM bindings: Use isUndefinedOrNull() instead of (isNull() || isUndefined()).
6052        https://bugs.webkit.org/show_bug.cgi?id=61472
6053
6054        * bindings/scripts/CodeGeneratorJS.pm:
6055        * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
6056        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
6057        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
6058
60592011-05-26  Keishi Hattori  <keishi@webkit.org>
6060
6061        Reviewed by Kent Tamura.
6062
6063        Add <input type=color> appearance.
6064        https://bugs.webkit.org/show_bug.cgi?id=61275
6065
6066        Test: fast/forms/color/input-appearance-color.html
6067
6068        * css/html.css:
6069        (input[type="color"]): Adds square-button appearance.
6070        (input[type="color"]::-webkit-color-swatch-wrapper):
6071        (input[type="color"]::-webkit-color-swatch):
6072        (input[type="color"][list]): Adds menulist appearance.
6073        (input[type="color"][list]::-webkit-color-swatch-wrapper):
6074        (input[type="color"][list]::-webkit-color-swatch):
6075        * html/ColorInputType.cpp:
6076        (WebCore::ColorInputType::createShadowSubtree): Creates -webkit-color-swatch inside -webkit-color-swatch-wrapper.
6077        (WebCore::ColorInputType::updateColorSwatch): Updates background color of shadowColorSwatch.
6078        (WebCore::ColorInputType::valueChanged): Calls updateColorSwatch.
6079        (WebCore::ColorInputType::shadowColorSwatch): Gets shadowColorSwatch element.
6080        * html/ColorInputType.h:
6081        (WebCore::ColorInputType::ColorInputType): Changed to inherit InputType.
6082
60832011-05-26  Kent Tamura  <tkent@chromium.org>
6084
6085        Reviewed by Dimitri Glazkov.
6086
6087        Fix a bug that <input type="number"> dispatches two blurs when tabbing
6088        from an invalid number
6089        https://bugs.webkit.org/show_bug.cgi?id=59071
6090
6091        NumberInputType::handleBlurEvent() dispatched an extra focus event
6092        and an extra blur event because
6093        SelectionController::textWillBeReplaced() called by
6094        RenderTextControlSingleLine::updateFromElement() focuses a node
6095        with the selection.
6096
6097        In order to avoid this problem,
6098         - Introduce Node::willBlur()
6099           It is called before any state changes by a blur event.
6100         - Call RenderTextControlSingleLine::updateFromElement() in willBlur()
6101           It avoids extra focus/blur events because Document::m_focusedNode is
6102           still the number input during willBlur().
6103
6104        Test: fast/forms/input-number-blur-twice.html
6105
6106        * dom/Document.cpp:
6107        (WebCore::Document::setFocusedNode): Calls Node::beforeBlueEvent().
6108        * dom/Node.cpp:
6109        (WebCore::Node::willBlur):
6110          Default empty implementation of willBlur().
6111        * dom/Node.h: Declare willBlur().
6112        * html/HTMLInputElement.cpp:
6113        (WebCore::HTMLInputElement::willBlur):
6114          Added.  It just calls InputType::willBlur().
6115        (WebCore::HTMLInputElement::handleBlurEvent):
6116          Removed InputType::handleBlurEvent() call.
6117        * html/HTMLInputElement.h: Declare willBlur().
6118        * html/InputType.cpp:
6119        (WebCore::InputType::willBlur): Default empty implementation.
6120        (WebCore::InputType::handleBlurEvent): Removed.
6121        * html/InputType.h: Declare willBlur(), remove handleBlurEvent().
6122        * html/NumberInputType.cpp:
6123        (WebCore::NumberInputType::willBlur):
6124          Move the code in handleBlurEvent() here.
6125        * html/NumberInputType.h: Declare willBlur().
6126
61272011-05-25  Hans Wennborg  <hans@chromium.org>
6128
6129        Reviewed by Steve Block.
6130
6131        IndexedDB: Support LevelDB transactions.
6132        https://bugs.webkit.org/show_bug.cgi?id=61270
6133
6134        Introduce LevelDBTransaction, which implements in-memory transaction
6135        support on top of LevelDB, and hook this up for IndexedDB to use.
6136
6137        This is all covered by existing tests.
6138
6139        * CMakeLists.txt:
6140        * GNUmakefile.list.am:
6141        * WebCore.gypi:
6142        * WebCore.pro:
6143        * WebCore.xcodeproj/project.pbxproj:
6144        * platform/leveldb/LevelDBDatabase.cpp:
6145        (WebCore::LevelDBDatabase::open):
6146        (WebCore::LevelDBDatabase::put):
6147        (WebCore::LevelDBDatabase::remove):
6148        (WebCore::LevelDBDatabase::write):
6149        (WebCore::IteratorImpl::IteratorImpl):
6150        (WebCore::IteratorImpl::isValid):
6151        (WebCore::IteratorImpl::seekToLast):
6152        (WebCore::IteratorImpl::seek):
6153        (WebCore::IteratorImpl::next):
6154        (WebCore::IteratorImpl::prev):
6155        (WebCore::IteratorImpl::key):
6156        (WebCore::IteratorImpl::value):
6157        (WebCore::LevelDBDatabase::createIterator):
6158        (WebCore::LevelDBDatabase::comparator):
6159        * platform/leveldb/LevelDBDatabase.h:
6160        * platform/leveldb/LevelDBIterator.h:
6161        (WebCore::LevelDBIterator::~LevelDBIterator):
6162        * platform/leveldb/LevelDBTransaction.cpp: Added.
6163        (WebCore::LevelDBTransaction::create):
6164        (WebCore::LevelDBTransaction::LevelDBTransaction):
6165        (WebCore::LevelDBTransaction::clearTree):
6166        (WebCore::LevelDBTransaction::~LevelDBTransaction):
6167        (WebCore::makeVector):
6168        (WebCore::LevelDBTransaction::set):
6169        (WebCore::LevelDBTransaction::put):
6170        (WebCore::LevelDBTransaction::remove):
6171        (WebCore::LevelDBTransaction::get):
6172        (WebCore::LevelDBTransaction::commit):
6173        (WebCore::LevelDBTransaction::rollback):
6174        (WebCore::LevelDBTransaction::createIterator):
6175        (WebCore::LevelDBTransaction::TreeIterator::create):
6176        (WebCore::LevelDBTransaction::TreeIterator::isValid):
6177        (WebCore::LevelDBTransaction::TreeIterator::seekToLast):
6178        (WebCore::LevelDBTransaction::TreeIterator::seek):
6179        (WebCore::LevelDBTransaction::TreeIterator::next):
6180        (WebCore::LevelDBTransaction::TreeIterator::prev):
6181        (WebCore::LevelDBTransaction::TreeIterator::key):
6182        (WebCore::LevelDBTransaction::TreeIterator::value):
6183        (WebCore::LevelDBTransaction::TreeIterator::isDeleted):
6184        (WebCore::LevelDBTransaction::TreeIterator::reset):
6185        (WebCore::LevelDBTransaction::TreeIterator::~TreeIterator):
6186        (WebCore::LevelDBTransaction::TreeIterator::TreeIterator):
6187        (WebCore::LevelDBTransaction::TransactionIterator::create):
6188        (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
6189        (WebCore::LevelDBTransaction::TransactionIterator::isValid):
6190        (WebCore::LevelDBTransaction::TransactionIterator::seekToLast):
6191        (WebCore::LevelDBTransaction::TransactionIterator::seek):
6192        (WebCore::LevelDBTransaction::TransactionIterator::next):
6193        (WebCore::LevelDBTransaction::TransactionIterator::prev):
6194        (WebCore::LevelDBTransaction::TransactionIterator::key):
6195        (WebCore::LevelDBTransaction::TransactionIterator::value):
6196        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
6197        (WebCore::LevelDBTransaction::TransactionIterator::setCurrentIteratorToSmallestKey):
6198        (WebCore::LevelDBTransaction::TransactionIterator::setCurrentIteratorToLargestKey):
6199        (WebCore::LevelDBTransaction::registerIterator):
6200        (WebCore::LevelDBTransaction::unregisterIterator):
6201        (WebCore::LevelDBTransaction::resetIterators):
6202        * platform/leveldb/LevelDBTransaction.h: Added.
6203        (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_less):
6204        (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_less):
6205        (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_greater):
6206        (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_greater):
6207        (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_balance_factor):
6208        (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_balance_factor):
6209        (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_key_key):
6210        (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_key_node):
6211        (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_node_node):
6212        (WebCore::LevelDBTransaction::AVLTreeAbstractor::null):
6213        (WebCore::LevelDBTransaction::TransactionIterator::~TransactionIterator):
6214        * platform/leveldb/LevelDBWriteBatch.cpp:
6215        (WebCore::LevelDBWriteBatch::create):
6216        (WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
6217        (WebCore::LevelDBWriteBatch::~LevelDBWriteBatch):
6218        (WebCore::makeSlice):
6219        (WebCore::LevelDBWriteBatch::put):
6220        (WebCore::LevelDBWriteBatch::remove):
6221        (WebCore::LevelDBWriteBatch::clear):
6222        * storage/IDBLevelDBBackingStore.cpp:
6223        (WebCore::getInt):
6224        (WebCore::putInt):
6225        (WebCore::getString):
6226        (WebCore::putString):
6227        (WebCore::getNewObjectStoreId):
6228        (WebCore::IDBLevelDBBackingStore::createObjectStore):
6229        (WebCore::deleteRange):
6230        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
6231        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
6232        (WebCore::getNewVersionNumber):
6233        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
6234        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
6235        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
6236        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
6237        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
6238        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
6239        (WebCore::getNewIndexId):
6240        (WebCore::IDBLevelDBBackingStore::createIndex):
6241        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
6242        (WebCore::findGreatestKeyLessThan):
6243        (WebCore::versionExists):
6244        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
6245        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
6246        (WebCore::findLastIndexKeyEqualTo):
6247        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
6248        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
6249        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
6250        (WebCore::IDBLevelDBBackingStore::createTransaction):
6251        (WebCore::IDBLevelDBBackingStore::Transaction::create):
6252        (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
6253        (WebCore::IDBLevelDBBackingStore::Transaction::begin):
6254        (WebCore::IDBLevelDBBackingStore::Transaction::commit):
6255        (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
6256        * storage/IDBLevelDBBackingStore.h:
6257        * storage/IDBTransactionBackendImpl.cpp:
6258        (WebCore::IDBTransactionBackendImpl::abort):
6259
62602011-05-26  Shane Stephens  <shanestephens@google.com>
6261
6262        Reviewed by James Robinson.
6263
6264        REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
6265        https://bugs.webkit.org/show_bug.cgi?id=60689
6266
6267        Test: transforms/2d/set-transform-and-top.html
6268
6269        * rendering/RenderBlock.cpp:
6270        (WebCore::RenderBlock::simplifiedLayout):
6271
62722011-05-26  Igor Oliveira  <igor.oliveira@openbossa.org>
6273
6274        Reviewed by Andreas Kling.
6275
6276        drag-not-loaded-image.html test crashes when WebKit is built with debug option
6277        https://bugs.webkit.org/show_bug.cgi?id=61480
6278
6279        Checks if image has content before starting to drag.
6280
6281        * page/DragController.cpp:
6282        (WebCore::DragController::startDrag):
6283
62842011-05-26  Alok Priyadarshi  <alokp@chromium.org>
6285
6286        Reviewed by James Robinson.
6287
6288        [chromium] Cannot create stencil render-buffer for accelerated drawing on desktop GL
6289        https://bugs.webkit.org/show_bug.cgi?id=61444
6290
6291        Used DEPTH24_STENCIL8 format for stencil buffer instead of STENCIL_INDEX8.
6292        Packed depth-stencil buffer is the most common format supported by graphics cards.
6293        It is not very robust to rely on just one format being supported,
6294        so long term the task of creating FBO should be delegated to SKIA,
6295        which has necessary code to iterate through all possible formats.
6296
6297        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
6298        (WebCore::LayerTextureUpdaterSkPicture::deleteFrameBuffer):
6299        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
6300
63012011-05-25  Jer Noble  <jer.noble@apple.com>
6302
6303        Reviewed by Dan Bernstein.
6304
6305        30 second rewind button dysfunctional viewing trailers fullscreen.
6306        https://bugs.webkit.org/show_bug.cgi?id=61505
6307
6308        Add support for painting MediaReturnToRealtimeButton, as well as hide and show
6309        the correct default video control buttons when entering full-screen mode.
6310
6311        * css/fullscreenQuickTime.css:
6312        (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
6313        * html/shadow/MediaControlRootElement.cpp:
6314        (WebCore::MediaControlRootElement::enteredFullscreen): Show the "Back 30s" and
6315            "Return to Realtime" buttons for Live Streams in full-screen mode.
6316        (WebCore::MediaControlRootElement::exitedFullscreen): Reset the styles of 
6317            all the buttons affected by enteredFullscreen().
6318        * rendering/RenderMediaControls.cpp:
6319        (WebCore::RenderMediaControls::paintMediaControlsPart): Add support for 
6320            MediaReturnToRealtimeButton.
6321
63222011-05-25  Luke Macpherson   <macpherson@chromium.org>
6323
6324        Reviewed by Dimitri Glazkov.
6325
6326        Implement various CSS font properties in CSSStyleApplyProperty.
6327        https://bugs.webkit.org/show_bug.cgi?id=60603
6328
6329        No new tests - refactoring only.
6330
6331        * css/CSSStyleApplyProperty.cpp:
6332        (WebCore::ApplyPropertyFont):
6333        Added templated class to handle font properties
6334        (WebCore::ApplyPropertyFontWeight):
6335        Added class to handle font weight calculation
6336        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
6337        Instantiate ApplyPropertyFont/ApplyPropertyFontWeight for appropriate properties.
6338        * css/CSSStyleSelector.cpp:
6339        (WebCore::CSSStyleSelector::applyProperty):
6340        Remove properties that are now implemented in CSSStyleApplyProperty
6341        * css/CSSStyleSelector.h:
6342        (WebCore::CSSStyleSelector::fontDescription):
6343        Added getter for m_style->fontDescription()
6344        (WebCore::CSSStyleSelector::parentFontDescription):
6345        Added getter for m_parentStyle->fontDescription()
6346        (WebCore::CSSStyleSelector::setFontDescription):
6347        Added setter for m_style->setFontDescription() that automatically sets m_fontDirty
6348
63492011-05-25  James Simonsen  <simonjam@chromium.org>
6350
6351        Reviewed by Adam Barth.
6352
6353        Add site-specific hack for zipcar.com with old versions of requirejs.
6354        https://bugs.webkit.org/show_bug.cgi?id=61321
6355
6356        Old versions of requirejs (< 0.15.0) try to load scripts in parallel but execute them in
6357        order. This used to work in webkit by setting a bogus script type (script/cache), then
6358        changing the type to a valid one when they wanted to execute it. This hack translates the
6359        behavior into the new API (by disabling forceAsync).
6360
6361        * html/HTMLScriptElement.cpp:
6362        (WebCore::needsOldRequirejsQuirk): Added.
6363        (WebCore::HTMLScriptElement::insertedIntoDocument):
6364        If hack is needed, set a proper script type so script loads.
6365        If script isn't async, disable forceAsync so script executes in order.
6366
63672011-05-25  Andreas Kling  <kling@webkit.org>
6368
6369        Reviewed by David Levin.
6370
6371        Rebaseline run-bindings-tests.
6372        https://bugs.webkit.org/show_bug.cgi?id=61469
6373
6374        * bindings/scripts/test/JS/:
6375        * bindings/scripts/test/V8/:
6376
63772011-05-25  Levi Weintraub  <leviw@chromium.org>
6378
6379        Reviewed by Eric Seidel.
6380
6381        Switch itemBoundingBoxRect to use IntPoint
6382        https://bugs.webkit.org/show_bug.cgi?id=60789
6383
6384        Changing itemBoundingBoxRect to use an IntPoint representing the offset
6385        to be added tot he box rect instead of a pair of ints.
6386
6387        No new tests since this is just refactoring.
6388
6389        * accessibility/AccessibilityListBox.cpp:
6390        (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
6391        * accessibility/AccessibilityListBoxOption.cpp:
6392        (WebCore::AccessibilityListBoxOption::elementRect):
6393        * rendering/RenderListBox.cpp:
6394        (WebCore::RenderListBox::itemBoundingBoxRect):
6395        (WebCore::RenderListBox::addFocusRingRects):
6396        (WebCore::RenderListBox::paintItemForeground):
6397        (WebCore::RenderListBox::paintItemBackground):
6398        (WebCore::RenderListBox::nodeAtPoint):
6399        * rendering/RenderListBox.h:
6400
64012011-05-24  MORITA Hajime  <morrita@google.com>
6402
6403        Reviewed by Dimitri Glazkov.
6404
6405        RenderText with empty text is not created inside ShadowContentElement 
6406        https://bugs.webkit.org/show_bug.cgi?id=61111        
6407
6408        - Changed Text::rendererIsNeeded() to be shadow-aware.
6409        - previousRenderer(), nextRenderer() and parentRenderer() on NodeRenderingContext is now
6410          safe even if it's used with an attached node, which was originally used only during attach().
6411          We need this change because these APIs are called inside CharacterData::updateRenderer() callstack.
6412        
6413        Tests: fast/html/details-replace-summary-child.html
6414               fast/html/details-replace-text.html
6415
6416        * dom/NodeRenderingContext.cpp:
6417        (WebCore::NodeRenderingContext::NodeRenderingContext):
6418        (WebCore::NodeRenderingContext::nextRenderer):
6419        (WebCore::NodeRenderingContext::previousRenderer):
6420        (WebCore::NodeRenderingContext::parentRenderer):
6421        (WebCore::NodeRenderingContext::shouldCreateRenderer):
6422        * dom/NodeRenderingContext.h:
6423        (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
6424        * dom/Text.cpp:
6425        (WebCore::Text::rendererIsNeeded):
6426
64272011-05-25  Sailesh Agrawal  <sail@chromium.org>
6428
6429        Reviewed by Tony Chang.
6430
6431        Rename ScrollbarOverlayUtilitiesMac to ScrollbarOverlayUtilitiesChromiumMac
6432        https://bugs.webkit.org/show_bug.cgi?id=61401
6433
6434        ScrollbarOverlayUtilitiesMac.mm was being excluded from the WebCore project. Fix was to make sure the file name ended with ChromiumMac.
6435
6436        * WebCore.gypi:
6437        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Copied from Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesMac.h.
6438        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Copied from Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesMac.mm.
6439        * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Removed.
6440        * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Removed.
6441
64422011-05-25  James Robinson  <jamesr@chromium.org>
6443
6444        Reviewed by Geoffrey Garen
6445
6446        CachedResource overhead size calculation ignores the actual size of the URL
6447        https://bugs.webkit.org/show_bug.cgi?id=61481
6448
6449        CachedResource::overheadSize is used to determine the size of an entry in the memory cache to know when to evict
6450        it.  When the resource is a large data: URL, for example representing image or audio data, the URL size itself
6451        can be significant.
6452
6453        This patch uses an estimate of actual number of bytes used by the URL that is valid for ASCII urls and close for
6454        other types of strings instead of a fixed number.
6455
6456        * loader/cache/CachedResource.cpp:
6457        (WebCore::CachedResource::overheadSize):
6458
64592011-05-25  Oliver Hunt  <oliver@apple.com>
6460
6461        Reviewed by Geoffrey Garen.
6462
6463        Make RegExp GC allocated
6464        https://bugs.webkit.org/show_bug.cgi?id=61490
6465
6466        RegExp is GC'd so we don't need the RefPtr shenanigans anymore.
6467
6468        * bindings/js/SerializedScriptValue.cpp:
6469        (WebCore::CloneDeserializer::readTerminal):
6470
64712011-05-25  Martin Robinson  <mrobinson@igalia.com>
6472
6473        Reviewed by Dirk Schulze.
6474
6475        [Cairo] Move the global alpha property from GraphicsContext to PlatformContextCairo
6476        https://bugs.webkit.org/show_bug.cgi?id=60185
6477
6478        Remove Cairo #ifdefs from GraphicsContext.h by pushing the global alpha
6479        state into PlatformContextCairo. Since Cairo is the only platform that needs
6480        to store this, this is the proper place for it. Change the image mask stack into
6481        a more generic state stack that can keep track of the multiple bits of platform
6482        specific state and properly handle save/restore pairs.
6483
6484        No new tests. This is just a code refactor.
6485
6486        * platform/graphics/GraphicsContext.h: Remove Cairo #ifdefs.
6487        (WebCore::GraphicsContextState::GraphicsContextState): Ditto.
6488        * platform/graphics/cairo/ContextShadowCairo.cpp: Access global alpha from PlatformContextCairo now.
6489        (WebCore::ContextShadow::drawRectShadow):
6490        * platform/graphics/cairo/FontCairo.cpp: Ditto.
6491        (WebCore::Font::drawGlyphs):
6492        * platform/graphics/cairo/GraphicsContextCairo.cpp:
6493        (WebCore::setPlatformFill): Ditto.
6494        (WebCore::setPlatformStroke): Ditto.
6495        (WebCore::GraphicsContext::setAlpha): Ditto.
6496        * platform/graphics/cairo/PlatformContextCairo.cpp: Moved ImageMaskInformation class from the
6497        header file, since it can be private now. Abstract the image mask state and the global alpha
6498        in a generic State class.
6499        (WebCore::ImageMaskInformation::update): 
6500        (WebCore::ImageMaskInformation::isValid):
6501        (WebCore::ImageMaskInformation::maskSurface):
6502        (WebCore::ImageMaskInformation::maskRect):
6503        (WebCore::PlatformContextCairo::State::State): Added.
6504        (WebCore::PlatformContextCairo::PlatformContextCairo): Intialize the state
6505        class when this class is constructed.
6506        (WebCore::PlatformContextCairo::restore): Now pop the last state off the state stack.
6507        (WebCore::PlatformContextCairo::~PlatformContextCairo): Added this so that we can forward
6508        declare the State class in the header.
6509        (WebCore::PlatformContextCairo::save): Push a new state onto the stack.
6510        (WebCore::PlatformContextCairo::pushImageMask): Operate on the state stack now.
6511        (WebCore::PlatformContextCairo::globalAlpha): Added.
6512        (WebCore::PlatformContextCairo::setGlobalAlpha): Added.
6513        (WebCore::PlatformContextCairo::drawSurfaceToContext: Call globalAlpha().
6514        * platform/graphics/cairo/PlatformContextCairo.h: Changed the image mask stack
6515        into a more generic state stack, much like PlatformContextChromium.
6516
65172011-05-25  Mark Rowe  <mrowe@apple.com>
6518
6519        Reviewed by Sam Weinig.
6520
6521        <rdar://problem/9504058> Need some way to query user gesture state from injected bundle
6522
6523        * WebCore.exp.in: Add an export that WebKit2 needs.
6524
65252011-05-25  Jer Noble  <jer.noble@apple.com>
6526
6527        Ureviewed; Build fix for Leopard and Snow Leopard.
6528
6529        Move _wkQTMovieResolvedURL outside of a #if check for Leopard and SL.
6530
6531        * WebCore.exp.in:
6532
65332011-05-25  Michael Saboff  <msaboff@apple.com>
6534
6535        Reviewed by Sam Weinig.
6536
6537        Cleanup of commented items from https://bugs.webkit.org/show_bug.cgi?id=61222
6538        https://bugs.webkit.org/show_bug.cgi?id=61478
6539
6540        Cleanup of further comments after patch was landed.  Changes include
6541        using /2 instead of >>1, adding a blank line after class include,
6542        making method names start with lower case and adding clarifying
6543        comments.
6544
6545        No new tests as the changes are stylistic and not functional.
6546
6547        * loader/cache/MemoryCache.cpp:
6548        (WebCore::MemoryCache::pruneLiveResourcesToPercentage):
6549        (WebCore::MemoryCache::pruneDeadResourcesToPercentage):
6550        * loader/cache/MemoryCache.h:
6551        (WebCore::MemoryCache::pruneToPercentage):
6552        * platform/mac/MemoryPressureHandlerMac.mm:
6553        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
6554
65552011-05-25  Stephanie Lewis  <slewis@apple.com>
6556
6557        Reviewed by Brady Eidson.
6558
6559        https://bugs.webkit.org/show_bug.cgi?id=61407
6560        part of <rdar://problem/8675177>
6561        Move Quicklook quirk down into WebCore so it can be caculated when the user
6562        starts a reload.  Restructure the conditions so it only called when absolutely 
6563        necessary.
6564  
6565        No change in functionality so no new tests.
6566
6567        * loader/FrameLoader.cpp:
6568        (WebCore::FrameLoader::subresourceCachePolicy):
6569        * page/Settings.cpp:
6570        (WebCore::Settings::Settings):
6571        * page/Settings.h:
6572        * platform/network/cf/ResourceRequest.h:
6573        * platform/network/mac/ResourceRequestMac.mm:
6574        (WebCore::initQuickLookResourceCachingQuirks):
6575        (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
6576
65772011-05-24  Jer Noble  <jer.noble@apple.com>
6578
6579        Reviewed by Darin Adler.
6580
6581        Video fails to play on Vimeo
6582        https://bugs.webkit.org/show_bug.cgi?id=61403
6583
6584        No new tests; Covered by media/video-canvas-source.html.
6585
6586        Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
6587        by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
6588        creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
6589        remote->local and make our answer to hasSingleSecurityOrigin dynamic.
6590
6591        When checking whether a given request has a single security origin, use a 
6592        SecurityOrigin to check the host, port, and scheme.
6593
6594        * WebCore.exp.in:
6595        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
6596        (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
6597        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6598        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
6599        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
6600            for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
6601        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
6602            requested and resolved URLs have the same host and port.
6603        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
6604        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for 
6605            NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
6606        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
6607                requested and resolved URLs have the same host and port.
6608        * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
6609        * platform/mac/WebCoreSystemInterface.mm: Ditto.
6610
66112011-05-25  Andrew Scherkus  <scherkus@chromium.org>
6612
6613        Reviewed by Eric Carlson.
6614
6615        Fix media element regression where ended event stopped firing after changing the src attribute.
6616
6617        https://bugs.webkit.org/show_bug.cgi?id=61336
6618
6619        Test: media/media-ended.html
6620
6621        * html/HTMLMediaElement.cpp:
6622        (WebCore::HTMLMediaElement::prepareForLoad):
6623
66242011-05-25  Jer Noble  <jer.noble@apple.com>
6625
6626        Reviewed by Darin Adler.
6627
6628        REGRESSION: Fullscreen button on embedded Vimeo videos does nothing
6629        https://bugs.webkit.org/show_bug.cgi?id=61461
6630
6631        Tests: fullscreen/full-screen-iframe-legacy.html
6632
6633        Allow calls from the legacy full-screen API to bypass the iframe
6634        "webkitallowfullscreen" requirement by adding a parameter to 
6635        Document::webkitRequestFullScreenForElement specifying the strictness
6636        of that check.  Specify this new parameter everywhere that function is 
6637        called, including in the default controls' full-screen button handler.
6638
6639        * dom/Document.cpp:
6640        (WebCore::Document::webkitRequestFullScreenForElement):
6641        * dom/Document.h:
6642        * dom/Element.cpp:
6643        (WebCore::Element::requestFullScreen): Renamed from webkitRequestFullScreen.
6644        * html/HTMLMediaElement.cpp:
6645        (WebCore::HTMLMediaElement::enterFullscreen):
6646        * html/shadow/MediaControlElements.cpp:
6647        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
6648
66492011-05-25  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
6650
6651        Reviewed by David Hyatt.
6652
6653        Selector matching doesn't update when DOM changes ("[data-a=x] #x")
6654        https://bugs.webkit.org/show_bug.cgi?id=60752
6655
6656        Currently CSSStyleSelector maintains a HashSet of attributes (m_selectorAttrs)
6657        which are used in CSS attribute selectors to determine the need for style
6658        recalculation whenever element attributes are manipulated in DOM.
6659        In certain conditions (element with no style, element is styled and attribute
6660        is not a mapped attribute, attribute is of type 'type' or read-only)
6661        even when attribute selector matches for an element, the attribute is not
6662        added to m_selectorAttrs. This results in missing style recalculations
6663        when a DOM element attribute is changed and is not found in m_selectorAttrs.
6664
6665        Removing the above said conditions in
6666        CSSStyleSelector::SelectorChecker::checkOneSelector() for registering
6667        attributes in m_selectorAttrs will solve this issue. But this particular
6668        function is called numerous times which triggers adding duplicate attributes
6669        again and again.
6670
6671        This patch follows the approach taken for collecting ids in selectors, where
6672        all the attributes in selectors are added to a HashSet at the time of adding
6673        style rules to CSSStyleSelector from StyleSheets and when
6674        CSSStyleSelector::hasSelectorForAttribute() is called, the attribute is
6675        simply looked up in this pre-populated hash set.
6676
6677        Test: fast/css/attribute-selector-dynamic-no-elementstyle.html
6678
6679        * css/CSSStyleSelector.cpp:
6680        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
6681        (WebCore::CSSStyleSelector::checkSelector):
6682        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6683        (WebCore::collectFeaturesFromSelector):
6684        (WebCore::CSSStyleSelector::applyProperty):
6685        (WebCore::CSSStyleSelector::hasSelectorForAttribute):
6686        * css/CSSStyleSelector.h:
6687
66882011-05-25  Ryosuke Niwa  <rniwa@webkit.org>
6689
6690        Reviewed by James Robinson.
6691
6692        CSSStyleSelector should provide a way to obtain rules from non-author stylesheets
6693        https://bugs.webkit.org/show_bug.cgi?id=61454
6694
6695        Replaced bool and enum arguments of styleRulesForElement and pseudoStyleRulesForElement
6696        by one enum, and provided a way to obtain rules from UA/user stylesheets.
6697
6698        * css/CSSRule.h: Removed CSSRuleFilter.
6699        * css/CSSStyleSelector.cpp:
6700        (WebCore::CSSStyleSelector::styleRulesForElement): See above.
6701        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
6702        * css/CSSStyleSelector.h: Moved CSSRuleFilter here.
6703        * editing/markup.cpp:
6704        (WebCore::styleFromMatchedRulesForElement): Calls styleRulesForElement.
6705        * inspector/InspectorCSSAgent.cpp:
6706        (WebCore::InspectorCSSAgent::getStylesForNode): Ditto.
6707        * page/DOMWindow.cpp:
6708        (WebCore::DOMWindow::getMatchedCSSRules): Ditto.
6709
67102011-05-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
6711
6712        Reviewed by Andreas Kling.
6713
6714        [Qt] JSC bridge: implement __qt_sender__ without using Scope Chain
6715        https://bugs.webkit.org/show_bug.cgi?id=61343
6716
6717        Create a stack to keep track of the sender objects. This is simpler than
6718        the similar mechanism in QObject (C++ API), that keeps a stack per-object.
6719
6720        Since we do not support multiple threads, one static stack will be enough for
6721        handling the behavior.
6722
6723        This behavior is covered by the tst_QWebFrame::connectAndDisconnect() auto test.
6724
6725        * bridge/qt/qt_instance.cpp:
6726        (JSC::Bindings::QtInstance::qtSenderStack):
6727        We have one static stack of QObject*. The top of the stack contains the
6728        last object that emitted signal that called a JavaScript function.
6729
6730        * bridge/qt/qt_instance.h:
6731        (JSC::Bindings::QtInstance::QtSenderStack::top):
6732        (JSC::Bindings::QtInstance::QtSenderStack::push):
6733        (JSC::Bindings::QtInstance::QtSenderStack::pop):
6734        Minimal functionality to manipulate the sender stack.
6735
6736        * bridge/qt/qt_runtime.cpp:
6737        (JSC::Bindings::QtConnectionObject::execute):
6738        Remove the previous code that modified the scope chain. Push the sender object
6739        to the stack before calling the JavaScript function (the "slot" in Qt-speak) and
6740        pop it afterwards.
6741
67422011-05-25  Sheriff Bot  <webkit.review.bot@gmail.com>
6743
6744        Unreviewed, rolling out r87257.
6745        http://trac.webkit.org/changeset/87257
6746        https://bugs.webkit.org/show_bug.cgi?id=61457
6747
6748        This broke layout tests, see bug 61431. (Requested by
6749        hwennborg on #webkit).
6750
6751        * storage/IDBBackingStore.h:
6752        * storage/IDBFactoryBackendImpl.cpp:
6753        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
6754        (WebCore::IDBFactoryBackendImpl::open):
6755        * storage/IDBFactoryBackendImpl.h:
6756        * storage/IDBFactoryBackendInterface.h:
6757        * storage/IDBLevelDBBackingStore.cpp:
6758        * storage/IDBLevelDBBackingStore.h:
6759        * storage/IDBSQLiteBackingStore.cpp:
6760        * storage/IDBSQLiteBackingStore.h:
6761
67622011-05-25  Alexis Menard  <alexis.menard@openbossa.org>
6763
6764        Reviewed by Eric Carlson.
6765
6766        [Qt] Enable usage of QuickTime mediaplayer for the Qt port on Mac.
6767        https://bugs.webkit.org/show_bug.cgi?id=61279
6768
6769        Enable the QuickTime backend for the Qt port on Mac. The patch adds the bits in WebCore
6770        to enable the QTKit backend of the Mac port. It can be enabled by passing DEFINES+=USE_QTKIT=1
6771        when calling build-webkit.
6772
6773        * WebCore.pri:
6774        * WebCore.pro:
6775        * features.pri:
6776        * platform/KURL.h:
6777        * platform/SharedBuffer.h:
6778        * platform/cf/KURLCFNet.cpp:
6779        * platform/cf/SharedBufferCF.cpp:
6780        * platform/graphics/FloatSize.h:
6781        * platform/graphics/IntRect.h:
6782        * platform/graphics/IntSize.h:
6783        * platform/graphics/MediaPlayer.cpp:
6784        * platform/graphics/cg/FloatSizeCG.cpp:
6785        * platform/graphics/cg/IntRectCG.cpp:
6786        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
6787        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
6788        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
6789        (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
6790        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
6791        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
6792        (WebCore::MediaPlayerPrivateQTKit::paint):
6793        (-[WebCoreMovieObserver layerHostChanged:]):
6794        * platform/mac/KURLMac.mm:
6795        * platform/mac/SharedBufferMac.mm:
6796        (+[WebCoreSharedBufferData initialize]):
6797        * platform/mac/WebCoreObjCExtras.mm:
6798        * platform/qt/WebCoreSystemInterface.h: Added.
6799        * platform/qt/WebCoreSystemInterface.mm: Added.
6800
68012011-05-25  Rob Buis  <rbuis@rim.com>
6802
6803        Reviewed by Eric Seidel.
6804        New test rubber-stamped by Dirk Schulze.
6805
6806        WebKit does not handle missing filter elements correctly
6807        https://bugs.webkit.org/show_bug.cgi?id=12569
6808
6809        Do not render elements that reference non-existant filters.
6810
6811        Test: svg/W3C-SVG-1.1-SE/filters-felem-01-b.svg
6812
6813        * rendering/svg/SVGRenderSupport.cpp:
6814        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
6815
68162011-05-25  Nate Chapin  <japhet@chromium.org>
6817
6818        Reviewed by Adam Barth.
6819
6820        Put view-source documents in a unique origin and always allow them to run scripts. This ensures tools like
6821        XMLViewer work even when scripts are disabled, while still providing the protections expected when scripts are disabled.
6822        https://bugs.webkit.org/show_bug.cgi?id=59113
6823
6824        * bindings/ScriptControllerBase.cpp:
6825        (WebCore::ScriptController::canExecuteScripts): Check whether the document is viewing source, and allow scripts in that case.
6826        * css/CSSStyleSelector.cpp:
6827        (WebCore::CSSStyleSelector::matchUARules):
6828        * dom/Document.cpp:
6829        (WebCore::Document::Document):
6830        (WebCore::Document::setIsViewSource): Renamed from setUsesViewSourceStyles(), set's a unique security origin if we are viewing source.
6831        * dom/Document.h:
6832        (WebCore::Document::isViewSource): Renamed from usesViewSourceStyles().
6833        * html/HTMLViewSourceDocument.cpp:
6834        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
6835        * loader/FrameLoader.cpp:
6836        (WebCore::FrameLoader::receivedFirstData):
6837        * xml/XMLTreeViewer.cpp:
6838        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
6839
68402011-05-25  Julien Chaffraix  <jchaffraix@codeaurora.org>
6841
6842        Reviewed by James Robinson.
6843
6844        http://philip.html5.org/tests/canvas/suite/tests/2d.composite.uncovered.fill.source-in.html fails
6845        https://bugs.webkit.org/show_bug.cgi?id=39027
6846
6847        And:
6848
6849        - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.source-out.html
6850          https://bugs.webkit.org/show_bug.cgi?id=48295
6851
6852        - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html
6853          https://bugs.webkit.org/show_bug.cgi?id=48304
6854
6855        - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html
6856        https://bugs.webkit.org/show_bug.cgi?id=48305
6857
6858        Those 4 tests have the same root cause for failing. Instead of splitting them in 2 fixes, I squashed
6859        them together as the fix is common.
6860
6861        Based on an older work by Ariya Hidayat.
6862
6863        * html/canvas/CanvasRenderingContext2D.cpp:
6864        (WebCore::CanvasRenderingContext2D::fill):
6865        (WebCore::CanvasRenderingContext2D::fillRect): Added call displayTransparencyEverywhere for those 2
6866        cases if we have to.
6867
6868        (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyEverywhere): This method returns true if
6869        the spec says to display transparency everywhere. We only do so for source-in and source-out for now.
6870        (WebCore::CanvasRenderingContext2D::displayTransparencyEverywhere): This method implements the spec
6871        (which matches other browsers' behavior) and "display transparency elsewhere".
6872
6873        * html/canvas/CanvasRenderingContext2D.h: Added the two previous methods.
6874
68752011-05-25  Levi Weintraub  <leviw@chromium.org>
6876
6877        Reviewed by Eric Seidel.
6878
6879        Add IntPoint versions of IntRect::move and IntPoint::move
6880        https://bugs.webkit.org/show_bug.cgi?id=61390
6881
6882        Adding move methods to IntRect and IntPoint that take an IntPoint
6883        that's acting as an offset. Since we also apply negative offsets,
6884        also adding a single parameter operator- for IntPoint.
6885
6886        No new tests since this is refactoring.
6887
6888        * page/FrameView.cpp:
6889        (WebCore::FrameView::invalidateScrollbarRect):
6890        (WebCore::FrameView::convertFromRenderer):
6891        (WebCore::FrameView::convertToRenderer):
6892        * platform/ScrollView.cpp:
6893        (WebCore::ScrollView::wheelEvent):
6894        * platform/ScrollView.h:
6895        (WebCore::ScrollView::convertChildToSelf):
6896        (WebCore::ScrollView::convertSelfToChild):
6897        * platform/ScrollbarThemeComposite.cpp:
6898        (WebCore::ScrollbarThemeComposite::invalidatePart):
6899        * platform/graphics/IntPoint.h:
6900        (WebCore::IntPoint::move):
6901        (WebCore::operator-):
6902        * platform/graphics/IntRect.h:
6903        (WebCore::IntRect::move):
6904        * platform/graphics/filters/FilterEffect.cpp:
6905        (WebCore::FilterEffect::requestedRegionOfInputImageData):
6906        * platform/graphics/gpu/Texture.cpp:
6907        (WebCore::Texture::updateSubRect):
6908        * platform/mac/WidgetMac.mm:
6909        (WebCore::Widget::paint):
6910        * rendering/RenderBlock.cpp:
6911        (WebCore::RenderBlock::logicalRectToPhysicalRect):
6912        (WebCore::RenderBlock::selectionGaps):
6913        * rendering/RenderBox.cpp:
6914        (WebCore::RenderBox::offsetFromContainer):
6915        (WebCore::RenderBox::computeRectForRepaint):
6916        (WebCore::RenderBox::localCaretRect):
6917        * rendering/RenderDetailsMarker.cpp:
6918        (WebCore::RenderDetailsMarker::paint):
6919        * rendering/RenderInline.cpp:
6920        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
6921        * rendering/RenderInputSpeech.cpp:
6922        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
6923        * rendering/RenderLayerBacking.cpp:
6924        (WebCore::paintScrollbar):
6925        (WebCore::RenderLayerBacking::paintContents):
6926        * rendering/RenderLayerCompositor.cpp:
6927        (WebCore::paintScrollbar):
6928        (WebCore::RenderLayerCompositor::paintContents):
6929        * rendering/RenderListItem.cpp:
6930        (WebCore::RenderListItem::positionListMarker):
6931        * rendering/RenderListMarker.cpp:
6932        (WebCore::RenderListMarker::paint):
6933        * rendering/RenderTableCell.cpp:
6934        (WebCore::RenderTableCell::computeRectForRepaint):
6935        * rendering/RenderTextControlSingleLine.cpp:
6936        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
6937        * rendering/RenderView.cpp:
6938        (WebCore::RenderView::repaintViewRectangle):
6939
69402011-05-25  Levi Weintraub  <leviw@chromium.org>
6941
6942        Reviewed by Eric Seidel.
6943
6944        Switch addFocusRingRects to use IntPoint
6945        https://bugs.webkit.org/show_bug.cgi?id=60783
6946
6947        Switching addFocusRingRects to use an IntPoint representing the offset being
6948        applied instead of a pair of ints.
6949
6950        No new tests as this is only refactoring.
6951
6952        * platform/graphics/FloatSize.h:
6953        (WebCore::flooredIntPoint):
6954        * rendering/RenderBlock.cpp:
6955        (WebCore::RenderBlock::addFocusRingRects):
6956        * rendering/RenderBlock.h:
6957        * rendering/RenderBox.cpp:
6958        (WebCore::RenderBox::addFocusRingRects):
6959        * rendering/RenderBox.h:
6960        * rendering/RenderInline.cpp:
6961        (WebCore::RenderInline::addFocusRingRects):
6962        * rendering/RenderInline.h:
6963        * rendering/RenderListBox.cpp:
6964        (WebCore::RenderListBox::addFocusRingRects):
6965        * rendering/RenderListBox.h:
6966        * rendering/RenderObject.cpp:
6967        (WebCore::RenderObject::paintFocusRing):
6968        (WebCore::RenderObject::absoluteFocusRingQuads):
6969        * rendering/RenderObject.h:
6970        (WebCore::RenderObject::addFocusRingRects):
6971        * rendering/RenderTextControl.cpp:
6972        (WebCore::RenderTextControl::addFocusRingRects):
6973        * rendering/RenderTextControl.h:
6974        * rendering/RenderTextControlSingleLine.cpp:
6975        (WebCore::RenderTextControlSingleLine::addFocusRingRects):
6976        * rendering/RenderTextControlSingleLine.h:
6977        * rendering/svg/RenderSVGContainer.cpp:
6978        (WebCore::RenderSVGContainer::addFocusRingRects):
6979        * rendering/svg/RenderSVGContainer.h:
6980        * rendering/svg/RenderSVGImage.cpp:
6981        (WebCore::RenderSVGImage::addFocusRingRects):
6982        * rendering/svg/RenderSVGImage.h:
6983        * rendering/svg/RenderSVGPath.cpp:
6984        (WebCore::RenderSVGPath::addFocusRingRects):
6985        * rendering/svg/RenderSVGPath.h:
6986
69872011-05-25  Sheriff Bot  <webkit.review.bot@gmail.com>
6988
6989        Unreviewed, rolling out r87229.
6990        http://trac.webkit.org/changeset/87229
6991        https://bugs.webkit.org/show_bug.cgi?id=61445
6992
6993        Lots of tests crashing in
6994        CFNetwork!URLResponse::createFilenameFromResponseHeaders on
6995        Windows XP (Requested by aroben on #webkit).
6996
6997        * platform/network/ResourceResponseBase.cpp:
6998        (WebCore::ResourceResponseBase::adopt):
6999        (WebCore::ResourceResponseBase::suggestedFilename):
7000        (WebCore::ResourceResponseBase::setSuggestedFilename):
7001        (WebCore::ResourceResponseBase::httpStatusText):
7002        (WebCore::ResourceResponseBase::setHTTPStatusText):
7003        (WebCore::ResourceResponseBase::httpHeaderField):
7004        (WebCore::ResourceResponseBase::setHTTPHeaderField):
7005        (WebCore::ResourceResponseBase::httpHeaderFields):
7006        (WebCore::ResourceResponseBase::isAttachment):
7007        (WebCore::ResourceResponseBase::setLastModifiedDate):
7008        (WebCore::ResourceResponseBase::lastModifiedDate):
7009        (WebCore::ResourceResponseBase::wasCached):
7010        (WebCore::ResourceResponseBase::connectionReused):
7011        (WebCore::ResourceResponseBase::setConnectionReused):
7012        (WebCore::ResourceResponseBase::connectionID):
7013        (WebCore::ResourceResponseBase::setConnectionID):
7014        (WebCore::ResourceResponseBase::resourceLoadTiming):
7015        (WebCore::ResourceResponseBase::setResourceLoadTiming):
7016        (WebCore::ResourceResponseBase::resourceLoadInfo):
7017        (WebCore::ResourceResponseBase::setResourceLoadInfo):
7018        * platform/network/ResourceResponseBase.h:
7019        * platform/network/cf/ResourceResponse.h:
7020        (WebCore::ResourceResponse::ResourceResponse):
7021        * platform/network/cf/ResourceResponseCFNet.cpp:
7022        (WebCore::ResourceResponse::platformLazyInit):
7023        * platform/network/mac/ResourceResponseMac.mm:
7024        (WebCore::ResourceResponse::platformLazyInit):
7025
70262011-05-25  Igor Oliveira  <igor.oliveira@openbossa.org>
7027
7028        Reviewed by Antonio Gomes.
7029
7030        [Qt] QtWebKit crashes when dragging not loaded images
7031        https://bugs.webkit.org/show_bug.cgi?id=61314
7032
7033        Checks if nativeImageForCurrentFrame is a valid pointer.
7034
7035        Test: http/tests/misc/drag-not-loaded-image.html
7036
7037        * platform/qt/DragImageQt.cpp:
7038        (WebCore::createDragImageFromImage):
7039
70402011-05-25  Ryuan Choi  <ryuan.choi@samsung.com>
7041
7042        Reviewed by Xan Lopez.
7043
7044        [GTK] combobox and scrollbar are rendered small size at gtk+2.22.0
7045        https://bugs.webkit.org/show_bug.cgi?id=61436
7046
7047        Fix arguments of gdk_drawable_get_size.
7048
7049        No new tests, no behavior change.
7050
7051        * platform/gtk/GtkVersioning.c:
7052        (getGdkDrawableSize):
7053
70542011-05-23  Alexander Pavlov  <apavlov@chromium.org>
7055
7056        Reviewed by Yury Semikhatsky.
7057
7058        Web Inspector: extreme lagging when searching for "img[src*="
7059        https://bugs.webkit.org/show_bug.cgi?id=61282
7060
7061        No new tests, as this is a refactoring: ElementsTreeElement DOM is manipulated directly
7062        when built and search-highlighted, rather than through innerHTML.
7063
7064        * inspector/front-end/DOMSyntaxHighlighter.js:
7065        (WebInspector.DOMSyntaxHighlighter):
7066        (WebInspector.DOMSyntaxHighlighter.prototype.createSpan):
7067        * inspector/front-end/ElementsPanel.js:
7068        (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
7069        * inspector/front-end/ElementsTreeOutline.js:
7070        (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
7071        (WebInspector.ElementsTreeElement.prototype.hideSearchHighlights):
7072        (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryShow):
7073        (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryHide):
7074        (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):
7075        (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
7076        (WebInspector.ElementsTreeElement.prototype.updateTitle):
7077        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
7078        ():
7079        * inspector/front-end/utilities.js:
7080        ():
7081
70822011-05-25  Leandro Gracia Gil  <leandrogracia@chromium.org>
7083
7084        Reviewed by Tony Gentilcore.
7085
7086        Introduce HTML5 track list objects.
7087        https://bugs.webkit.org/show_bug.cgi?id=60184
7088
7089        Introduce the TrackList, MultipleTrackList and ExclusiveTrackList objects
7090        for their use in the MediaStream API and the HTML Media Element.
7091        Current spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#tracklist
7092
7093        The Media Stream API will test this feature in the bug 56587.
7094        More tests related to the HTML Media Element may be added later.
7095
7096        * CMakeLists.txt:
7097        * CodeGenerators.pri:
7098        * DerivedSources.cpp:
7099        * DerivedSources.make:
7100        * GNUmakefile.list.am:
7101        * WebCore.gypi:
7102        * WebCore.pro:
7103        * WebCore.vcproj/WebCore.vcproj:
7104        * WebCore.xcodeproj/project.pbxproj:
7105        * bindings/js/JSEventTarget.cpp:
7106        (WebCore::toJS):
7107        * bindings/v8/V8DOMWrapper.cpp:
7108        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
7109        * dom/DOMAllInOne.cpp:
7110        * dom/EventTarget.cpp:
7111        (WebCore::EventTarget::toTrackList):
7112        (WebCore::EventTarget::toMultipleTrackList):
7113        (WebCore::EventTarget::toExclusiveTrackList):
7114        * dom/EventTarget.h:
7115        * dom/ExclusiveTrackList.cpp: Added.
7116        (WebCore::ExclusiveTrackList::create):
7117        (WebCore::ExclusiveTrackList::ExclusiveTrackList):
7118        (WebCore::ExclusiveTrackList::~ExclusiveTrackList):
7119        (WebCore::ExclusiveTrackList::clear):
7120        (WebCore::ExclusiveTrackList::select):
7121        (WebCore::ExclusiveTrackList::toExclusiveTrackList):
7122        * dom/ExclusiveTrackList.h: Added.
7123        (WebCore::ExclusiveTrackList::selectedIndex):
7124        * dom/ExclusiveTrackList.idl: Added.
7125        * dom/MultipleTrackList.cpp: Added.
7126        (WebCore::MultipleTrackList::create):
7127        (WebCore::MultipleTrackList::MultipleTrackList):
7128        (WebCore::MultipleTrackList::~MultipleTrackList):
7129        (WebCore::MultipleTrackList::clear):
7130        (WebCore::MultipleTrackList::isEnabled):
7131        (WebCore::MultipleTrackList::enable):
7132        (WebCore::MultipleTrackList::disable):
7133        (WebCore::MultipleTrackList::toMultipleTrackList):
7134        * dom/MultipleTrackList.h: Added.
7135        * dom/MultipleTrackList.idl: Added.
7136        * dom/TrackList.cpp: Added.
7137        (WebCore::Track::create):
7138        (WebCore::Track::Track):
7139        (WebCore::TrackList::create):
7140        (WebCore::TrackList::TrackList):
7141        (WebCore::TrackList::~TrackList):
7142        (WebCore::TrackList::length):
7143        (WebCore::TrackList::checkIndex):
7144        (WebCore::TrackList::getID):
7145        (WebCore::TrackList::getKind):
7146        (WebCore::TrackList::getLabel):
7147        (WebCore::TrackList::getLanguage):
7148        (WebCore::TrackList::clear):
7149        (WebCore::TrackList::postChangeEvent):
7150        (WebCore::TrackList::dispatchChangeEvent):
7151        (WebCore::TrackList::toTrackList):
7152        (WebCore::TrackList::scriptExecutionContext):
7153        (WebCore::TrackList::eventTargetData):
7154        (WebCore::TrackList::ensureEventTargetData):
7155        * dom/TrackList.h: Added.
7156        (WebCore::Track::id):
7157        (WebCore::Track::kind):
7158        (WebCore::Track::label):
7159        (WebCore::Track::language):
7160        (WebCore::TrackList::DispatchTask::create):
7161        (WebCore::TrackList::DispatchTask::performTask):
7162        (WebCore::TrackList::DispatchTask::DispatchTask):
7163        (WebCore::TrackList::refEventTarget):
7164        (WebCore::TrackList::derefEventTarget):
7165        * dom/TrackList.idl: Added.
7166
71672011-05-25  Keishi Hattori  <keishi@webkit.org>
7168
7169        Reviewed by Kent Tamura.
7170
7171        Move ElementWithPseudoId to separate file
7172        https://bugs.webkit.org/show_bug.cgi?id=61430
7173
7174        No new tests because no behavior changes.
7175
7176        * CMakeLists.txt: Added ElementWithPseudoId.cpp
7177        * GNUmakefile.list.am: Added ElementWithPseudoId.{h,cpp}
7178        * WebCore.gypi: Added ElementWithPseudoId.{h,cpp}
7179        * WebCore.pro: Added ElementWithPseudoId.{h,cpp}
7180        * WebCore.vcproj/WebCore.vcproj: Added ElementWithPseudoId.{h,cpp}
7181        * WebCore.xcodeproj/project.pbxproj: Added ElementWithPseudoId.{h,cpp}
7182        * html/ValidationMessage.cpp: Removed ElementWithPseudoId definition.
7183        * html/shadow/ElementWithPseudoId.cpp: Added.
7184        (WebCore::ElementWithPseudoId::shadowPseudoId):
7185        * html/shadow/ElementWithPseudoId.h: Added.
7186        (WebCore::ElementWithPseudoId::create):
7187        (WebCore::ElementWithPseudoId::ElementWithPseudoId):
7188
71892011-05-25  Alexis Menard  <alexis.menard@openbossa.org>
7190
7191        Reviewed by Antonio Gomes.
7192
7193        [Qt] When QWebView has a different style set on it then the scrollbars are not rendered correctly
7194        https://bugs.webkit.org/show_bug.cgi?id=34635
7195
7196        Make sure the scrollbar is properly rendered on Mac with another style than the Mac style. The code had
7197        two paths, one for Mac and one for any other styles. The problem is that on Mac you can still run the
7198        application with -style plastique for example, therefore the code used for other styles should also be
7199        used whenever the current style is not the Mac style.
7200
7201        * platform/qt/ScrollbarThemeQt.cpp:
7202        (WebCore::ScrollbarThemeQt::paint):
7203
72042011-05-25  Yuta Kitamura  <yutak@chromium.org>
7205
7206        Reviewed by Kent Tamura.
7207
7208        WebSocket: Use fail() when WebSocketChannel has failed
7209        https://bugs.webkit.org/show_bug.cgi?id=61353
7210
7211        An existing error message has been modified, but it is impossible
7212        to test this message in LayoutTests because it is only shown when
7213        memory allocation has failed, which is hard to reproduce reliably.
7214
7215        One new message has been added. It is covered by an existing test
7216        http/tests/websocket/tests/frame-length-overflow.html.
7217
7218        There is no other change in behavior. No new tests are added.
7219
7220        * websockets/WebSocketChannel.cpp:
7221        (WebCore::WebSocketChannel::fail):
7222        Do not close if we know the socket stream is already closed. This does not
7223        change the behavior, because SocketStreamBase does nothing if it is already
7224        closed.
7225        (WebCore::WebSocketChannel::didOpen):
7226        (WebCore::WebSocketChannel::didReceiveData):
7227        We need to set m_shouldDiscardReceivedData to true before calling fail(),
7228        so I moved the error message from appendToBuffer() to here.
7229        The error message was rephrased in order to improve readability.
7230        (WebCore::WebSocketChannel::appendToBuffer):
7231        Unnested the code.
7232        (WebCore::WebSocketChannel::processBuffer):
7233
72342011-05-16  Alexander Pavlov  <apavlov@chromium.org>
7235
7236        Reviewed by David Levin.
7237
7238        CSSParser: m_implicitShorthand should probably be RAII
7239        https://bugs.webkit.org/show_bug.cgi?id=51586
7240
7241        It was impossible to entirely eliminate the m_implicitShorthand manual changes
7242        due to the parseFill*() method stateful call chains.
7243
7244        No new tests, as this is a refactoring.
7245
7246        * css/CSSParser.cpp:
7247        (ImplicitScope::ImplicitScope):
7248        (ImplicitScope::~ImplicitScope):
7249        (WebCore::CSSParser::parseShorthand):
7250        (WebCore::CSSParser::parse4Values):
7251        (WebCore::CSSParser::parseBorderRadius):
7252
72532011-05-24  Pavel Podivilov  <podivilov@chromium.org>
7254
7255        Reviewed by Yury Semikhatsky.
7256
7257        Web Inspector: inspected page crashes when call stack is empty after live edit.
7258        https://bugs.webkit.org/show_bug.cgi?id=61364
7259
7260        * bindings/v8/ScriptDebugServer.cpp:
7261        (WebCore::ScriptDebugServer::currentCallFrame):
7262
72632011-05-23  Yury Semikhatsky  <yurys@chromium.org>
7264
7265        Reviewed by Adam Barth.
7266
7267        Chromium DevTools: Tab crashes with "Aw, snap!" on entering "(new Image())." in console
7268        https://bugs.webkit.org/show_bug.cgi?id=61194
7269
7270        Test: inspector/console/console-eval-syntax-error.html
7271
7272        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
7273        (WebCore::V8InjectedScriptHost::evaluateCallback): return immediately in case of syntax error
7274
72752011-05-25  Yuzo Fujishima  <yuzo@google.com>
7276
7277        Reviewed by Kent Tamura.
7278
7279        Fix for Bug 61352 - Refactor RenderView::{enable,disable}LayoutState call sites to use RIIA
7280        https://bugs.webkit.org/show_bug.cgi?id=61352
7281
7282        No new tests because no behavior changes.
7283
7284        * html/shadow/MediaControlElements.cpp:
7285        (WebCore::RenderMediaVolumeSliderContainer::layout):
7286        * page/FrameView.cpp:
7287        (WebCore::FrameView::layout):
7288        * rendering/RenderBlock.cpp:
7289        (WebCore::RenderBlock::repaintOverhangingFloats):
7290        (WebCore::RenderBlock::updateFirstLetter):
7291        * rendering/RenderLayer.cpp:
7292        (WebCore::RenderLayer::updateLayerPositions):
7293        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
7294        * rendering/RenderListBox.cpp:
7295        (WebCore::RenderListBox::layout):
7296        * rendering/RenderListItem.cpp:
7297        (WebCore::RenderListItem::updateMarkerLocation):
7298        * rendering/RenderMedia.cpp:
7299        (WebCore::RenderMedia::layout):
7300        * rendering/RenderView.h:
7301        (WebCore::RenderView::disableLayoutState):
7302        (WebCore::RenderView::enableLayoutState):
7303        (WebCore::LayoutStateDisabler::LayoutStateDisabler):
7304        (WebCore::LayoutStateDisabler::~LayoutStateDisabler):
7305        * rendering/svg/RenderSVGRoot.cpp:
7306        (WebCore::RenderSVGRoot::layout):
7307
73082011-05-24  Csaba Osztrogonác  <ossy@webkit.org>
7309
7310        [Qt] Unreviewed typo fix after r87228.
7311
7312        * WebCore.pro:
7313
73142011-05-24  Keishi Hattori  <keishi@webkit.org>
7315
7316        Reviewed by Kent Tamura.
7317
7318        Disable textfield implementation of <input type=color>. Add INPUT_COLOR feature flag. Add input color sanitizer.
7319        https://bugs.webkit.org/show_bug.cgi?id=61273
7320
7321        Test: fast/forms/color/input-value-sanitization-color.html
7322
7323        * Configurations/FeatureDefines.xcconfig: Added COLOR_INPUT feature flag.
7324        * GNUmakefile.am: Added COLOR_INPUT feature flag.
7325        * features.pri: Added COLOR_INPUT feature flag.
7326        * html/ColorInputType.cpp: Wrapped with COLOR_INPUT feature flag.
7327        (WebCore::ColorInputType::isColorControl): Added.
7328        (WebCore::ColorInputType::fallbackValue): Added. Fallback value defined in spec.
7329        (WebCore::ColorInputType::sanitizeValue): Added. Sanitize value string as defined in spec.
7330        * html/ColorInputType.h: Wrapped with COLOR_INPUT feature flag.
7331        (WebCore::ColorInputType::ColorInputType): Changed to inherit BaseButtonInputType.
7332        * html/InputType.cpp:
7333        (WebCore::InputType::isColorControl): Added.
7334        * html/InputType.h:
7335
73362011-05-24  Steve Lacey  <sjl@chromium.org>
7337
7338        Reviewed by Eric Carlson.
7339
7340        Move chromium media controls timeline back to flexible rather than absolute
7341        layout.
7342
7343        https://bugs.webkit.org/show_bug.cgi?id=61379
7344
7345        * css/mediaControlsChromium.css:
7346        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
7347        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
7348
73492011-05-24  Fumitoshi Ukai  <ukai@chromium.org>
7350
7351        Unreviewed. Fix clang error.
7352
7353        error: initialization of pointer of type 'WebCore::MHTMLArchive *' to
7354        NULL from a constant boolean expression [-Werror,-Wbool-conversio
7355
7356        * loader/archive/mhtml/MHTMLArchive.cpp:
7357        (WebCore::MHTMLArchive::create):
7358
73592011-05-24  Adam Barth  <abarth@webkit.org>
7360
7361        Reviewed by Eric Seidel.
7362
7363        Add FIXME comments about removing FrameLoader::isProcessingUserGesture
7364        https://bugs.webkit.org/show_bug.cgi?id=61395
7365
7366        All the callers of the API are wrong.  They should call the more modern
7367        static member function of ScriptController instead.  I'll remove the
7368        FrameLoader function in a future patch.
7369
7370        * html/HTMLMediaElement.cpp:
7371        (WebCore::HTMLMediaElement::processingUserGesture):
7372        * rendering/RenderFileUploadControl.cpp:
7373        (WebCore::RenderFileUploadControl::click):
7374
73752011-05-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
7376
7377        Unreviewed. Fix style error.
7378
7379        * platform/efl/WidgetEfl.cpp:
7380        (WebCore::WidgetPrivate::WidgetPrivate):
7381
73822011-05-24  Greg Simon  <gregsimon@chromium.org>
7383
7384        Reviewed by Dimitri Glazkov.
7385
7386        Control Indexeddb backends from LayoutTestController
7387        https://bugs.webkit.org/show_bug.cgi?id=61000
7388
7389        Test: storage/indexeddb/migrate-basics.html
7390
7391        * storage/IDBBackingStore.h:
7392        * storage/IDBFactoryBackendImpl.cpp:
7393        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
7394        (WebCore::IDBFactoryBackendImpl::open):
7395        (WebCore::IDBFactoryBackendImpl::setEnableMigration):
7396        (WebCore::IDBFactoryBackendImpl::migrate):
7397        * storage/IDBFactoryBackendImpl.h:
7398        * storage/IDBFactoryBackendInterface.h:
7399        * storage/IDBLevelDBBackingStore.cpp:
7400        (WebCore::IDBLevelDBBackingStore::backingStoreExists):
7401        * storage/IDBLevelDBBackingStore.h:
7402        (WebCore::IDBLevelDBBackingStore::backingStoreType):
7403        * storage/IDBSQLiteBackingStore.cpp:
7404        (WebCore::IDBSQLiteBackingStore::backingStoreExists):
7405        * storage/IDBSQLiteBackingStore.h:
7406        (WebCore::IDBSQLiteBackingStore::backingStoreType):
7407
74082011-05-24  Leo Yang  <leo.yang@torchmobile.com.cn>
7409
7410        Reviewed by Ryosuke Niwa.
7411
7412        [SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
7413        https://bugs.webkit.org/show_bug.cgi?id=60692
7414
7415        Add NULL check of 'holder' in WebCore::ReplacementFragment::ReplacementFragment()
7416        before call VisibleSelection::selectionFromContentsOfNode() to prevent crashing.
7417
7418        Test: editing/pasteboard/drag-drop-input-in-svg.svg
7419
7420        * editing/ReplaceSelectionCommand.cpp:
7421        (WebCore::ReplacementFragment::ReplacementFragment):
7422
74232011-05-24  Andy Estes  <aestes@apple.com>
7424
7425        Reviewed by Geoffrey Garen.
7426
7427        REGRESSION (r70748): WebKit cannot play QuickTime movies on Mac OS X Wiki Server pages
7428        https://bugs.webkit.org/show_bug.cgi?id=61229
7429
7430        This site-specific hack maintains compatibility with Mac OS X Wiki Server,
7431        which embeds QuickTime movies using an object tag containing QuickTime's
7432        ActiveX classid. Treat this classid as valid only if OS X Server's unique
7433        'generator' meta tag is present. Only apply this quirk if there is no
7434        fallback content, which ensures the quirk will disable itself if Wiki
7435        Server is updated to generate an alternate embed tag as fallback content.
7436
7437        * html/HTMLObjectElement.cpp:
7438        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Return
7439        true if site-specific quirks are enabled, the object element has no
7440        fallback content, the classid attribute matches QuickTime's classid and
7441        the document has a 'generator' meta tag matching Mac OS X Web Services
7442        Server's unique generator string.
7443        (WebCore::HTMLObjectElement::hasValidClassId): Call
7444        shouldAllowQuickTimeClassIdQuirk()
7445        * html/HTMLObjectElement.h:
7446
74472011-05-24  Nate Chapin  <japhet@chromium.org>
7448
7449        Reviewed by Adam Barth.
7450
7451        Change CachedResources to take a ResourceRequest instead of
7452        a url in their constructors and provide a very minimal set of
7453        cases for avoiding reusing a CachedResource. The ResourceRequest
7454        part of this change requires pushing responsibility
7455        for calling Document::completeURL() to the caller, instead of
7456        CachedResourceLoader, since ResourceRequest ASSERTs if it
7457        is constructed with an invalid url.
7458
7459        https://bugs.webkit.org/show_bug.cgi?id=61318
7460
7461        Refactor, no new tests.
7462
7463        * css/CSSFontSelector.cpp:
7464        (WebCore::CSSFontSelector::addFontFaceRule):
7465        * css/CSSImageValue.cpp:
7466        (WebCore::CSSImageValue::cachedImage):
7467        * css/CSSImportRule.cpp:
7468        (WebCore::CSSImportRule::insertedIntoParent):
7469        * dom/ProcessingInstruction.cpp:
7470        (WebCore::ProcessingInstruction::checkStyleSheet):
7471        * dom/ScriptElement.cpp:
7472        (WebCore::ScriptElement::requestScript):
7473        * html/HTMLLinkElement.cpp:
7474        (WebCore::HTMLLinkElement::process):
7475        * loader/ImageLoader.cpp:
7476        (WebCore::ImageLoader::updateFromElement):
7477        * loader/cache/CachedCSSStyleSheet.cpp:
7478        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
7479        (WebCore::CachedCSSStyleSheet::didAddClient):
7480        (WebCore::CachedCSSStyleSheet::checkNotify):
7481        * loader/cache/CachedCSSStyleSheet.h:
7482        * loader/cache/CachedFont.cpp:
7483        (WebCore::CachedFont::CachedFont):
7484        * loader/cache/CachedFont.h:
7485        * loader/cache/CachedImage.cpp:
7486        (WebCore::CachedImage::CachedImage):
7487        (WebCore::CachedImage::checkShouldPaintBrokenImage):
7488        * loader/cache/CachedImage.h:
7489        * loader/cache/CachedResource.cpp:
7490        (WebCore::CachedResource::CachedResource):
7491        (WebCore::reuseRequest):
7492        (WebCore::CachedResource::allowReuseOfRequest):
7493        (WebCore::CachedResource::removeClient):
7494        (WebCore::CachedResource::canUseCacheValidator):
7495        * loader/cache/CachedResource.h:
7496        (WebCore::CachedResource::resourceRequest):
7497        (WebCore::CachedResource::url):
7498        * loader/cache/CachedResourceLoader.cpp:
7499        * loader/cache/CachedResourceLoader.h:
7500        * loader/cache/CachedResourceRequest.cpp:
7501        (WebCore::CachedResourceRequest::load):
7502        * loader/cache/CachedScript.cpp:
7503        (WebCore::CachedScript::CachedScript):
7504        * loader/cache/CachedScript.h:
7505        * loader/cache/CachedXSLStyleSheet.cpp:
7506        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
7507        (WebCore::CachedXSLStyleSheet::didAddClient):
7508        (WebCore::CachedXSLStyleSheet::checkNotify):
7509        * loader/cache/CachedXSLStyleSheet.h:
7510        * svg/SVGFEImageElement.cpp:
7511        (WebCore::SVGFEImageElement::requestImageResource):
7512        * svg/SVGFontFaceUriElement.cpp:
7513        (WebCore::SVGFontFaceUriElement::loadFont):
7514        * xml/XSLImportRule.cpp:
7515        (WebCore::XSLImportRule::loadSheet):
7516
75172011-05-24  Kent Tamura  <tkent@chromium.org>
7518
7519        Reviewed by Dimitri Glazkov.
7520
7521        Use Element::shadowPseudoId() for text field decoration elements
7522        https://bugs.webkit.org/show_bug.cgi?id=61351
7523
7524        No new tests. Covered by existing tests.
7525
7526        * css/CSSSelector.cpp: Remove support for the following static pseudo selectors:
7527          - -webkit-inner-spin-button
7528          - -webkit-input-speech-button
7529          - -webkit-outer-spin-button
7530          - -webkit-search-cancel-button
7531          - -webkit-search-decoration
7532          - -webkit-search-results-button
7533          - -webkit-search-results-decoration
7534        (WebCore::CSSSelector::pseudoId):
7535        (WebCore::nameToPseudoTypeMap):
7536        (WebCore::CSSSelector::extractPseudoType):
7537        * css/CSSSelector.h: ditto.
7538        * css/CSSStyleSelector.cpp:
7539        (WebCore::CSSStyleSelector::matchRules):
7540          Store shadowPseudoId() result in a local variable because
7541          SearchFieldResultsButtonElement::shadowPseudoId() is a little expensive.
7542        * html/shadow/TextControlInnerElements.cpp:
7543         Override Element::shadowPseudoId() instead of Element::styleForRenderer().
7544        (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
7545        (WebCore::SearchFieldCancelButtonElement::shadowPseudoId):
7546        (WebCore::SpinButtonElement::shadowPseudoId):
7547        (WebCore::InputFieldSpeechButtonElement::shadowPseudoId):
7548        * html/shadow/TextControlInnerElements.h: Update declarations.
7549        * rendering/RenderTextControlSingleLine.cpp: Remove createFooStyle() functions.
7550        * rendering/RenderTextControlSingleLine.h: ditto.
7551        * rendering/style/RenderStyleConstants.h: Remove unused pseudo IDs.
7552
75532011-05-24  Dimitri Glazkov  <dglazkov@chromium.org>
7554
7555        Sorted WebCore.xcodeproj again.
7556
7557        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
7558
75592011-05-24  Stephanie Lewis  <slewis@apple.com>
7560
7561        Reviewed by Geoff Garen.
7562
7563        https://bugs.webkit.org/show_bug.cgi?id=61345
7564        part of <rdar://problem/8675177>
7565        Don't initialize ResourceResponse.m_suggestedFilename until we want to use it.  Initializing it requires reading in and parsing a plist.  
7566        Add new initialization state CommonAndUncommonFields to ResourceResponse.  This will be for all the header fields.
7567        Move suggestedFilename initialization to AllFields so it is never initialized unless we ask for it. 
7568        Add "Content-Type" to common headers since it is looked for by every CSS sheet load.
7569
7570        No new tests because functionality has not changed.
7571
7572        * platform/network/ResourceResponseBase.cpp:
7573        (WebCore::ResourceResponseBase::adopt):
7574        (WebCore::ResourceResponseBase::suggestedFilename):
7575        (WebCore::ResourceResponseBase::setSuggestedFilename):
7576        (WebCore::ResourceResponseBase::httpStatusText):
7577        (WebCore::ResourceResponseBase::setHTTPStatusText):
7578        (WebCore::ResourceResponseBase::httpHeaderField):
7579        (WebCore::ResourceResponseBase::setHTTPHeaderField):
7580        (WebCore::ResourceResponseBase::httpHeaderFields):
7581        (WebCore::ResourceResponseBase::isAttachment):
7582        (WebCore::ResourceResponseBase::setLastModifiedDate):
7583        (WebCore::ResourceResponseBase::lastModifiedDate):
7584        (WebCore::ResourceResponseBase::wasCached):
7585        (WebCore::ResourceResponseBase::connectionReused):
7586        (WebCore::ResourceResponseBase::setConnectionReused):
7587        (WebCore::ResourceResponseBase::connectionID):
7588        (WebCore::ResourceResponseBase::setConnectionID):
7589        (WebCore::ResourceResponseBase::resourceLoadTiming):
7590        (WebCore::ResourceResponseBase::setResourceLoadTiming):
7591        (WebCore::ResourceResponseBase::resourceLoadInfo):
7592        (WebCore::ResourceResponseBase::setResourceLoadInfo):
7593        * platform/network/ResourceResponseBase.h:
7594        * platform/network/cf/ResourceResponse.h:
7595        (WebCore::ResourceResponse::ResourceResponse):
7596        * platform/network/cf/ResourceResponseCFNet.cpp:
7597        (WebCore::ResourceResponse::platformLazyInit):
7598        * platform/network/mac/ResourceResponseMac.mm:
7599        (WebCore::ResourceResponse::platformLazyInit):
7600
76012011-05-24  Michael Saboff  <msaboff@apple.com>
7602
7603        Reviewed by Geoffrey Garen.
7604
7605        Improve handling in WebCore of low memory situations
7606        https://bugs.webkit.org/show_bug.cgi?id=61222
7607
7608        Added new class, MemoryPressureHandler, to platform to respond to low
7609        system memory events. Added Mac specific implementation that reduces the
7610        page cache, NSURL cache, WebCore cache by half their current usage
7611        and then garbage collects.  This can allow Safari to continue operating
7612        in a low memory situation with minimal paging.
7613        Split up prune operations in MemoryCache to allow for pruning to a
7614        specific actual size to support this change.
7615
7616        No tests added as the functionality of WebKit wasn't changed.
7617
7618        * GNUmakefile.list.am:
7619        * WebCore.exp.in:
7620        * WebCore.gypi:
7621        * WebCore.pro:
7622        * WebCore.vcproj/WebCore.vcproj:
7623        * WebCore.xcodeproj/project.pbxproj:
7624        * loader/cache/MemoryCache.cpp:
7625        (WebCore::MemoryCache::pruneLiveResources):
7626        (WebCore::MemoryCache::forcePruneLiveResources):
7627        (WebCore::MemoryCache::pruneLiveResourcesToTarget):
7628        (WebCore::MemoryCache::pruneDeadResources):
7629        (WebCore::MemoryCache::forcePruneDeadResources):
7630        (WebCore::MemoryCache::pruneDeadResourcesToTarget):
7631        * loader/cache/MemoryCache.h:
7632        (WebCore::MemoryCache::forcePrune):
7633        * platform/MemoryPressureHandler.cpp: Added.
7634        (WebCore::memoryPressureHandler):
7635        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
7636        (WebCore::MemoryPressureHandler::install):
7637        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
7638        * platform/MemoryPressureHandler.h: Added.
7639        * platform/mac/MemoryPressureHandler.mm: Added.
7640        (WebCore::MemoryPressureHandler::install):
7641        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
7642
76432011-05-24  Kent Tamura  <tkent@chromium.org>
7644
7645        Reviewed by Dimitri Glazkov.
7646
7647        Node::shadowAncestorNode() and shadowTreeRootNode() should be const.
7648        https://bugs.webkit.org/show_bug.cgi?id=61398
7649
7650        shadowAncestorNode() and shadowTreeRootNode() should be const
7651        though they can return 'this' pointer.
7652
7653        No new tests. This doesn't change any visible behavior.
7654
7655        * dom/Node.cpp:
7656        (WebCore::Node::shadowAncestorNode): Make this const.
7657        (WebCore::Node::shadowTreeRootNode): ditto.
7658        * dom/Node.h: Update declarations.
7659        * html/shadow/TextControlInnerElements.h:
7660        (WebCore::SpinButtonElement::isEnabledFormControl): Need no const_cast<>.
7661        (WebCore::SpinButtonElement::isReadOnlyFormControl): ditto.
7662
76632011-05-24  James Simonsen  <simonjam@chromium.org>
7664
7665        Reviewed by Eric Seidel.
7666
7667        ASSERT_NOT_REACHED reached with broken ideograph and system fallback
7668        https://bugs.webkit.org/show_bug.cgi?id=53528
7669
7670        Test: fast/text/justify-ideograph-vertical.html (on chromium linux)
7671
7672        * platform/graphics/FontFastPath.cpp:
7673        (WebCore::Font::glyphDataForCharacter): Identify and handle broken ideographs as any other variant.
7674        * platform/graphics/SimpleFontData.h:
7675        (WebCore::SimpleFontData::variantFontData): Added BrokenIdeographVariant.
7676
76772011-05-24  Syed Idris Shah  <syed.idris-shah@nokia.com>
7678
7679        Reviewed by Andreas Kling.
7680
7681        [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
7682        https://bugs.webkit.org/show_bug.cgi?id=60377 
7683
7684        LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
7685
7686        We do not need assert for the useProgram as program can be null.
7687
7688        * platform/graphics/qt/GraphicsContext3DQt.cpp:
7689        (WebCore::GraphicsContext3D::useProgram): Program can be null. Removing assert.
7690
76912011-05-24  Ryosuke Niwa  <rniwa@webkit.org>
7692
7693        Reviewed by Darin Adler.
7694
7695        Undo gets broken in contenteditable area when a text field's value is set by script
7696        https://bugs.webkit.org/show_bug.cgi?id=61340
7697
7698        The bug was caused by RenderTextControl::setInnerTextValue's clearing undo stack by
7699        calling clearUndoRedoOperations whenever script sets new value to input or textarea.
7700
7701        Fixed the bug by removing the offending call to clearUndoRedoOperations. While this call
7702        was added by r15565 to fix a crash, SimpleEditCommands have since become much more robust
7703        and the test added by r15565 (fast/forms/text-field-setvalue-crash.html) still passes.
7704
7705        Test: editing/undo/undo-after-setting-value.html
7706
7707        * rendering/RenderTextControl.cpp:
7708        (WebCore::RenderTextControl::setInnerTextValue):
7709
77102011-05-24  Dan Bernstein  <mitz@apple.com>
7711
7712        Reviewed by Dave Hyatt.
7713
7714        Move code to discover if a CTFont has vertical glyphs out of SimpleFontData::platformInit()
7715        https://bugs.webkit.org/show_bug.cgi?id=61392
7716
7717        * platform/graphics/mac/SimpleFontDataMac.mm:
7718        (WebCore::fontHasVerticalGlyphs): Moved code here...
7719        (WebCore::SimpleFontData::platformInit): ...from here.
7720
77212011-05-24  Kenneth Russell  <kbr@google.com>
7722
7723        Reviewed by James Robinson.
7724
7725        Implement Float64Array
7726        https://bugs.webkit.org/show_bug.cgi?id=39144
7727
7728        Implemented Float64Array based on the existing Float32Array sources.
7729        Built and tested in Chromium on Linux and Mac OS X and Safari on Mac OS X.
7730
7731        * CMakeLists.txt:
7732        * CodeGenerators.pri:
7733        * DerivedSources.cpp:
7734        * DerivedSources.make:
7735        * GNUmakefile.list.am:
7736        * UseJSC.cmake:
7737        * WebCore.gypi:
7738        * WebCore.pro:
7739        * WebCore.vcproj/WebCore.vcproj:
7740        * WebCore.xcodeproj/project.pbxproj:
7741        * bindings/js/JSBindingsAllInOne.cpp:
7742        * bindings/js/JSDOMWindowCustom.cpp:
7743        (WebCore::JSDOMWindow::float64Array):
7744        * bindings/js/JSFloat64ArrayCustom.cpp: Added.
7745        (WebCore::JSFloat64Array::indexSetter):
7746        (WebCore::toJS):
7747        (WebCore::JSFloat64Array::set):
7748        (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
7749        * bindings/v8/custom/V8Float64ArrayCustom.cpp: Added.
7750        (WebCore::V8Float64Array::constructorCallback):
7751        (WebCore::V8Float64Array::setCallback):
7752        (WebCore::toV8):
7753        * html/canvas/ArrayBufferView.h:
7754        (WebCore::ArrayBufferView::isDoubleArray):
7755        * html/canvas/Float64Array.cpp: Added.
7756        (WebCore::Float64Array::create):
7757        (WebCore::Float64Array::Float64Array):
7758        (WebCore::Float64Array::subarray):
7759        * html/canvas/Float64Array.h: Added.
7760        (WebCore::Float64Array::set):
7761        (WebCore::Float64Array::item):
7762        (WebCore::Float64Array::isDoubleArray):
7763        * html/canvas/Float64Array.idl: Added.
7764        * page/DOMWindow.idl:
7765        * workers/WorkerContext.idl:
7766
77672011-05-24  Simon Fraser  <simon.fraser@apple.com>
7768
7769        Reviewed by Chris Marrin.
7770
7771        Add ability to set compositing layer bounds origin
7772        https://bugs.webkit.org/show_bug.cgi?id=61381
7773
7774        On Core Animation layers, the origin of the bounds
7775        rectangle affects where layer content is rendered, as well
7776        as the offset of sublayers. Currently we always set the
7777        bounds offset to a zero point, but may need to make use
7778        of the bounds offset in future, so expose it via GraphicsLayer.
7779
7780        * platform/graphics/GraphicsLayer.h:
7781        (WebCore::GraphicsLayer::boundsOrigin):
7782        (WebCore::GraphicsLayer::setBoundsOrigin):
7783        * platform/graphics/ca/GraphicsLayerCA.cpp:
7784        (WebCore::GraphicsLayerCA::setSize):
7785        (WebCore::GraphicsLayerCA::setBoundsOrigin):
7786        (WebCore::GraphicsLayerCA::setAllowTiledLayer):
7787        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
7788        (WebCore::GraphicsLayerCA::updateBounds):
7789        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
7790        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
7791        * platform/graphics/ca/GraphicsLayerCA.h:
7792
77932011-05-24  Leandro Pereira  <leandro@profusion.mobi>
7794
7795        [EFL] Build fix.
7796
7797        * CMakeLists.txt: Also build platform/network/ContentTypeParser.cpp,
7798        added by r86289.
7799
78002011-05-24  Leandro Pereira  <leandro@profusion.mobi>
7801
7802        [EFL] Build fix.
7803
7804        * bridge/runtime_root.cpp: Include <heap/Weak.h> instead of
7805        <JavaScriptCore/Weak.h>.
7806
78072011-05-24  Jay Civelli  <jcivelli@chromium.org>
7808
7809        Reviewed by Adam Barth.
7810
7811        Adding MHTML reading support. That required some basic MIME header parsing.
7812        Modified DocumentLoader to keep a reference to the currently Archive loaded,
7813        so we can have different policies for loading subresources depending on the
7814        archive type.
7815        https://bugs.webkit.org/show_bug.cgi?id=7168
7816
7817        * CMakeLists.txt:
7818        * Configurations/FeatureDefines.xcconfig:
7819        * GNUmakefile.am:
7820        * GNUmakefile.list.am:
7821        * WebCore.gyp/WebCore.gyp:
7822        * WebCore.gypi:
7823        * WebCore.pro:
7824        * WebCore.vcproj/WebCore.vcproj:
7825        * WebCore.xcodeproj/project.pbxproj:
7826        * features.pri:
7827        * loader/DocumentLoader.cpp:
7828        (WebCore::DocumentLoader::commitLoad):
7829        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
7830        (WebCore::DocumentLoader::popArchiveForSubframe):
7831        (WebCore::DocumentLoader::scheduleArchiveLoad):
7832        * loader/DocumentLoader.h:
7833        * loader/FrameLoader.cpp:
7834        (WebCore::FrameLoader::loadURLIntoChildFrame):
7835        (WebCore::FrameLoader::loadArchive):
7836        (WebCore::FrameLoader::stopAllLoaders):
7837        (WebCore::FrameLoader::finishedLoadingDocument):
7838        * loader/FrameLoader.h:
7839        (WebCore::FrameLoader::archive):
7840        * loader/MainResourceLoader.cpp:
7841        (WebCore::MainResourceLoader::continueAfterContentPolicy):
7842        * loader/ResourceLoader.cpp:
7843        (WebCore::ResourceLoader::start):
7844        * loader/archive/Archive.cpp: Added.
7845        * loader/archive/Archive.h:
7846        (WebCore::Archive::mainResource):
7847        * loader/archive/ArchiveFactory.cpp:
7848        (WebCore::archiveFactoryCreate):
7849        (WebCore::archiveMIMETypes):
7850        (WebCore::ArchiveFactory::create):
7851        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
7852        * loader/archive/ArchiveFactory.h:
7853        * loader/archive/ArchiveResourceCollection.cpp:
7854        (WebCore::ArchiveResourceCollection::addAllResources):
7855        (WebCore::ArchiveResourceCollection::popSubframeArchive):
7856        * loader/archive/ArchiveResourceCollection.h:
7857        * loader/archive/cf/LegacyWebArchive.cpp:
7858        (WebCore::LegacyWebArchive::create):
7859        (WebCore::LegacyWebArchive::type):
7860        * loader/archive/cf/LegacyWebArchive.h:
7861        * loader/archive/mhtml/MHTMLArchive.cpp: Added.
7862        * loader/archive/mhtml/MHTMLArchive.h: Added.
7863        * loader/archive/mhtml/MHTMLParser.cpp: Added.
7864        * loader/archive/mhtml/MHTMLParser.h: Added.
7865        * platform/MIMETypeRegistry.cpp:
7866        (WebCore::initializeSupportedNonImageMimeTypes):
7867        * platform/mac/PasteboardMac.mm:
7868        (WebCore::Pasteboard::documentFragment):
7869        * platform/network/MIMEHeader.cpp: Added.
7870        * platform/network/MIMEHeader.h: Added.
7871
78722011-05-24  Geoffrey Garen  <ggaren@apple.com>
7873
7874        Try to fix some builds: #include Weak.h for Weak<T>.
7875
7876        * bridge/runtime_root.h:
7877
78782011-05-24  Sam Weinig  <sam@webkit.org>
7879
7880        Reviewed by Beth Dakin.
7881
7882        Can't scroll scaled page that has overflow:hidden on its root
7883        <rdar://problem/9029189>
7884        https://bugs.webkit.org/show_bug.cgi?id=61339
7885
7886        Test: fast/events/scroll-in-scaled-page-with-overflow-hidden.html
7887
7888        * page/FrameView.cpp:
7889        (WebCore::FrameView::applyOverflowToViewport):
7890        Scrollbars should be enabled for the viewport when scaled, even if overflow:hidden
7891        is specified.
7892
78932011-05-24  Adam Roben  <aroben@apple.com>
7894
7895        Leopard build fix
7896
7897        * bridge/runtime_root.cpp: Added a missing #include.
7898
78992011-05-24  Jian Li  <jianli@chromium.org>
7900
7901        Reviewed by Kenneth Russell.
7902
7903        Make start parameter of Blob.slice optional.
7904        https://bugs.webkit.org/show_bug.cgi?id=59628
7905
7906        The start parameter should be optional per the latest FILE API
7907        spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob.
7908
7909        * fileapi/Blob.h:
7910        * fileapi/Blob.idl: Make start parameter optional.
7911
79122011-05-24  Adam Roben  <aroben@apple.com>
7913
7914        Invalidate RuntimeObjects when they are finalized
7915
7916        This will cause the underlying NPObject to be released at finalization time, rather than at
7917        destruction time (which is unpredictable and could occur after the plugin has been
7918        unloaded).
7919
7920        Test: plugins/npobject-js-wrapper-destroyed-after-plugin-unload.html
7921
7922        Fixes <http://webkit.org/b/61317> <rdar://problem/9489829> Crash in _NPN_DeallocateObject
7923        when reloading yahoo.com webarchive in WebKit1
7924
7925        Reviewed by Oliver Hunt.
7926
7927        * bridge/runtime_object.cpp:
7928        (JSC::Bindings::RuntimeObject::~RuntimeObject): Assert that we've already been invalidated.
7929
7930        * bridge/runtime_root.cpp:
7931        (JSC::Bindings::RootObject::invalidate):
7932        (JSC::Bindings::RootObject::addRuntimeObject):
7933        Updated for m_runtimeObjects type change.
7934
7935        (JSC::Bindings::RootObject::finalize): Added. Invalidates the RuntimeObject and removes it
7936        from the map.
7937
7938        * bridge/runtime_root.h: Now inherits from WeakHandleOwner.
7939        Changed m_runtimeObjects from a WeakGCMap to a HashMap of JSC::Weak objects so that we will
7940        be notified when the RuntimeObjects are finalized.
7941
79422011-05-24  Mike Reed  <reed@google.com>
7943
7944        Reviewed by Kenneth Russell.
7945
7946        skia: fix stroking of zero-height rectangles
7947        https://bugs.webkit.org/show_bug.cgi?id=61284
7948
7949        Tests: canvas/philip/tests/2d.line.miter.lineedge.html
7950               canvas/philip/tests/2d.strokeRect.zero.4.html
7951
7952        * platform/graphics/skia/GraphicsContextSkia.cpp:
7953        (WebCore::GraphicsContext::strokeRect):
7954
79552011-05-24  Zan Dobersek  <zandobersek@gmail.com> and Philippe Normand  <pnormand@igalia.com>
7956
7957        Reviewed by Kenneth Russell.
7958
7959        Enable FloatArray usage outside WebGL guards
7960        https://bugs.webkit.org/show_bug.cgi?id=61356
7961
7962        * webaudio/AudioBuffer.cpp:
7963        * webaudio/AudioBuffer.idl:
7964        * webaudio/RealtimeAnalyser.cpp:
7965        * webaudio/RealtimeAnalyser.h:
7966        * webaudio/RealtimeAnalyserNode.h:
7967        * webaudio/RealtimeAnalyserNode.idl:
7968
79692011-05-24  Adam Klein  <adamk@chromium.org>
7970
7971        Unreviewed, rolling out r87145.
7972        http://trac.webkit.org/changeset/87145
7973        https://bugs.webkit.org/show_bug.cgi?id=61194
7974
7975        Regression in LayoutTests/inspector/debugger/scripts-panel.html on Chromium Win & Linux.
7976
7977        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
7978        (WebCore::V8InjectedScriptHost::evaluateCallback):
7979
79802011-05-24  Matthew Delaney  <mdelaney@apple.com>
7981
7982        Reviewed by Simon Fraser.
7983
7984        Clamp coordinates to integers for canvas create/getImageData routines
7985        https://bugs.webkit.org/show_bug.cgi?id=61135
7986
7987        Test: fast/canvas/canvas-getImageData-largeNonintegralDimensions.html
7988
7989        * html/HTMLCanvasElement.cpp:
7990        (WebCore::HTMLCanvasElement::convertLogicalToDevice): clamp to ints
7991        * html/canvas/CanvasRenderingContext2D.cpp:
7992        (WebCore::CanvasRenderingContext2D::createImageData):
7993        (WebCore::CanvasRenderingContext2D::getImageData):
7994        * platform/graphics/cg/ImageBufferDataCG.cpp:
7995        (WebCore::ImageBufferData::getData):
7996
79972011-05-24  Robin Dunn  <robin@alldunn.com>
7998
7999        Reviewed by Kevin Ollivier.
8000
8001        [wx] Make sure x and y adjustments are applied to all operations, and fix the calculations
8002        for the height and width checks to take into account x and y offsets.
8003        
8004        https://bugs.webkit.org/show_bug.cgi?id=61367
8005
8006        * platform/graphics/wx/ImageWx.cpp:
8007        (WebCore::Image::drawPattern):
8008
80092011-05-24  Tony Chang  <tony@chromium.org>
8010
8011        Reviewed by James Robinson.
8012
8013        fix render overflow computation for input type=range
8014        https://bugs.webkit.org/show_bug.cgi?id=61132
8015
8016        Test: fast/forms/slider-hit-testing.html
8017
8018        We need to clear m_overflow otherwise we use the first
8019        size of the slider for hit testing (i.e., changes to the size
8020        cause problems).  This only shows up if the thumb isn't contained
8021        in the bounds of the slider.  Making the range have a smaller height
8022        than the thumb shows the bug.
8023
8024        * rendering/RenderSlider.cpp:
8025        (WebCore::RenderSlider::layout): Clear the overflow during layout
8026            so we re-compute the overflow based on the current size of the
8027            slider.
8028
80292011-05-24  Alok Priyadarshi  <alokp@chromium.org>
8030
8031        Reviewed by James Robinson.
8032
8033        Enable skia gpu rendering for content layers
8034        https://bugs.webkit.org/show_bug.cgi?id=56749
8035
8036        This patch adds gpu accelerated rendering for content and root layers.
8037        Layer textures are updated in two stages:
8038        1. Paint: The non-accelerated path paints the layer contents into a bitmap.
8039                  The accelerated path paints into an SkPicture, which is essentially a display list.
8040        2. Upload: The non-accelerated path uploads the pixels obtained in the first stage to a texture.
8041                   The accelerated path renders the picture directly into the texture.
8042
8043        The accelerated path can be enabled by --enable-accelerated-drawing command-line flag in chromium.
8044        Note that this patch does not accelerate the CG path on mac. We have two options here - use skia or accelrate CG path.
8045        Any bugs should be caught by layout tests.
8046
8047        * platform/graphics/chromium/ContentLayerChromium.cpp:
8048        (WebCore::ContentLayerChromium::createTextureUpdater):
8049        * platform/graphics/chromium/LayerRendererChromium.cpp:
8050        (WebCore::LayerRendererChromium::create):
8051        (WebCore::LayerRendererChromium::LayerRendererChromium):
8052        (WebCore::LayerRendererChromium::skiaContext):
8053        (WebCore::LayerRendererChromium::updateAndDrawLayers):
8054        (WebCore::LayerRendererChromium::createRootLayerTextureUpdater):
8055        * platform/graphics/chromium/LayerRendererChromium.h:
8056        (WebCore::LayerRendererChromium::acceleratedDrawing):
8057        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
8058        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
8059        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
8060        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
8061        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
8062        (WebCore::LayerTextureUpdaterSkPicture::deleteFrameBuffer):
8063        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
8064        (WebCore::LayerTextureUpdaterSkPicture::clearFrameBuffer):
8065        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
8066        (WebCore::LayerTextureUpdaterSkPicture::orientation):
8067        * platform/graphics/chromium/LayerTilerChromium.cpp:
8068        (WebCore::LayerTilerChromium::updateRect):
8069        (WebCore::LayerTilerChromium::draw):
8070
80712011-05-24  Pavel Podivilov  <podivilov@chromium.org>
8072
8073        Reviewed by Yury Semikhatsky.
8074
8075        Web Inspector: display keyboard shortcuts in scripts panel sidebar buttons tooltip text.
8076        https://bugs.webkit.org/show_bug.cgi?id=61358
8077
8078        * English.lproj/localizedStrings.js:
8079        * inspector/front-end/CallStackSidebarPane.js:
8080        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
8081        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
8082        * inspector/front-end/Panel.js:
8083        (WebInspector.Panel.prototype.registerShortcut):
8084        * inspector/front-end/ScriptsPanel.js:
8085        (WebInspector.ScriptsPanel):
8086        (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
8087        (WebInspector.ScriptsPanel.prototype._createSidebarButtonAndRegisterShortcuts):
8088
80892011-05-24  Philippe Normand  <pnormand@igalia.com>
8090
8091        Reviewed by Andres Kling.
8092
8093        JSAudioContextCustom doesn't encode errors
8094        https://bugs.webkit.org/show_bug.cgi?id=61357
8095
8096        Fix AudioContext return values
8097
8098        * bindings/js/JSAudioContextCustom.cpp:
8099        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
8100
81012011-05-24  Rob Buis  <rbuis@rim.com>
8102
8103        Rubber-stamped by Dirk Schulze.
8104
8105        Remove requiresLayer inlines, already provided by RenderSVGModelObject.
8106
8107        * rendering/svg/RenderSVGHiddenContainer.h:
8108        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
8109        * rendering/svg/RenderSVGImage.h:
8110
81112011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>
8112
8113        Not reviewed, build fix.
8114
8115        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
8116        https://bugs.webkit.org/show_bug.cgi?id=60254
8117
8118        Forgot to rename the destructor.
8119
8120        * platform/graphics/SimpleFontData.h:
8121        (WebCore::SimpleFontData::AdditionalFontData::~AdditionalFontData):
8122
81232011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>
8124
8125        Not reviewed, build fix.
8126
8127        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
8128        https://bugs.webkit.org/show_bug.cgi?id=60254
8129
8130        Rename SimpleFontData::FontData subclass to AdditionalFontData, to avoid clashes with the WebCore::FontData class, which breaks the win build.
8131
8132        * platform/graphics/SimpleFontData.cpp:
8133        (WebCore::SimpleFontData::SimpleFontData):
8134        * platform/graphics/SimpleFontData.h:
8135        (WebCore::SimpleFontData::fontData):
8136        * svg/SVGFontData.h:
8137
81382011-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>
8139
8140        Reviewed by Antti Koivisto.
8141
8142        Remove platform layering violation: TextRun stores RenderObjects for SVG Fonts support
8143        https://bugs.webkit.org/show_bug.cgi?id=60254
8144
8145        First part:
8146        Remove a long-standing layering violation in TextRun: it stores RenderObject/RenderSVGResource pointers for SVG Fonts support.
8147        Replace the two Render* pointers with a single RefPtr<AbstractRenderingContext>. AbstractRenderingContext is a helper class,
8148        that can be derived from in order to associate additional data with a TextRun. This effectively reduces the memory consumption of TextRun.
8149
8150        Introduce rendering/TextRunRenderingContext.h, which inherits from TextRun::AbstractRenderingContext and holds additional data.
8151        If the primary font in use is a SVG Font then allocate a TextRunRenderingContext object and store it in the RefPtr<AbstractRenderingContext>
8152        in TextRun. If the primary font is not a SVG Font, don't even allocate the TextRunRenderingContext structure, as we won't need the context data.
8153        SVG Fonts glyph matching only works within a context, so we need access to the RenderObject that's drawing the text.
8154
8155        This is the main preparation patch for the SVG Fonts rewrite, that will allow us to share the simple text code path for SVG Fonts as well,
8156        making all CSS text properties work for HTML text using SVG Fonts, and allows proper integration within the GlyphPage concept. Soon
8157        we can intermix WOFF/SVG & native fonts, within segment font declarations.
8158
8159        Second part:
8160        Remove a long-standing layering violation in SimpleFontData: it stores SVGFontData objects, that are living in svg/.
8161        Use the same concept as above, introduce SimpleFontData::AbstractFontData, and let SVGFontData inherit from AbstractFontData and extent it.
8162        If SVG Fonts are used, CSSFontFaceSource will create a SVGFontData object and pass it as PassOwnPtr<AbstractFontData> to SimpleFontData.
8163
8164        All layering violations are gone now, SVG Fonts are cleanly integrated now.
8165        Doesn't affect any tests yet, refactoring only.
8166
8167        * CMakeLists.txt:
8168        * GNUmakefile.list.am:
8169        * WebCore.gypi:
8170        * WebCore.pro:
8171        * WebCore.vcproj/WebCore.vcproj:
8172        * WebCore.xcodeproj/project.pbxproj:
8173        * css/CSSFontFaceSource.cpp:
8174        (WebCore::CSSFontFaceSource::getFontData):
8175        * platform/graphics/Font.cpp:
8176        (WebCore::Font::drawText):
8177        (WebCore::Font::width):
8178        (WebCore::Font::selectionRectForText):
8179        (WebCore::Font::offsetForPosition):
8180        * platform/graphics/Font.h:
8181        * platform/graphics/SimpleFontData.cpp:
8182        (WebCore::SimpleFontData::SimpleFontData):
8183        (WebCore::SimpleFontData::~SimpleFontData):
8184        * platform/graphics/SimpleFontData.h:
8185        (WebCore::SimpleFontData::FontData::~FontData):
8186        (WebCore::SimpleFontData::fontMetrics):
8187        (WebCore::SimpleFontData::setMaxCharWidth):
8188        (WebCore::SimpleFontData::setAvgCharWidth):
8189        (WebCore::SimpleFontData::setSpaceWidth):
8190        (WebCore::SimpleFontData::setSpaceGlyph):
8191        (WebCore::SimpleFontData::setZeroWidthSpaceGlyph):
8192        (WebCore::SimpleFontData::fontData):
8193        (WebCore::SimpleFontData::isSVGFont):
8194        (WebCore::SimpleFontData::setMissingGlyphData):
8195        * platform/graphics/TextRun.h:
8196        (WebCore::TextRun::TextRun):
8197        (WebCore::TextRun::setAllowTabs):
8198        (WebCore::TextRun::setXPos):
8199        (WebCore::TextRun::RenderingContext::~RenderingContext):
8200        (WebCore::TextRun::renderingContext):
8201        (WebCore::TextRun::setRenderingContext):
8202        * rendering/EllipsisBox.cpp:
8203        (WebCore::EllipsisBox::paint):
8204        (WebCore::EllipsisBox::selectionRect):
8205        (WebCore::EllipsisBox::paintSelection):
8206        * rendering/InlineTextBox.cpp:
8207        (WebCore::InlineTextBox::selectionRect):
8208        (WebCore::InlineTextBox::paint):
8209        (WebCore::InlineTextBox::paintSelection):
8210        (WebCore::InlineTextBox::paintCompositionBackground):
8211        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
8212        (WebCore::InlineTextBox::paintTextMatchMarker):
8213        (WebCore::InlineTextBox::computeRectForReplacementMarker):
8214        (WebCore::InlineTextBox::offsetForPosition):
8215        (WebCore::InlineTextBox::positionForOffset):
8216        (WebCore::InlineTextBox::constructTextRun):
8217        * rendering/InlineTextBox.h:
8218        * rendering/RenderBlock.cpp:
8219        (WebCore::stripTrailingSpace):
8220        (WebCore::RenderBlock::constructTextRun):
8221        * rendering/RenderBlock.h:
8222        * rendering/RenderBlockLineLayout.cpp:
8223        (WebCore::setLogicalWidthForTextRun):
8224        (WebCore::textWidth):
8225        (WebCore::tryHyphenating):
8226        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
8227        (WebCore::RenderBlock::checkLinesForTextOverflow):
8228        * rendering/RenderCombineText.cpp:
8229        (WebCore::RenderCombineText::combineText):
8230        * rendering/RenderFileUploadControl.cpp:
8231        (WebCore::RenderFileUploadControl::paintObject):
8232        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
8233        * rendering/RenderFlexibleBox.cpp:
8234        (WebCore::RenderFlexibleBox::applyLineClamp):
8235        * rendering/RenderImage.cpp:
8236        (WebCore::RenderImage::setImageSizeForAltText):
8237        (WebCore::RenderImage::paintReplaced):
8238        * rendering/RenderListBox.cpp:
8239        (WebCore::RenderListBox::updateFromElement):
8240        * rendering/RenderListMarker.cpp:
8241        (WebCore::RenderListMarker::paint):
8242        (WebCore::RenderListMarker::computePreferredLogicalWidths):
8243        (WebCore::RenderListMarker::getRelativeMarkerRect):
8244        * rendering/RenderText.cpp:
8245        (WebCore::RenderText::widthFromCache):
8246        (WebCore::RenderText::trimmedPrefWidths):
8247        (WebCore::RenderText::computePreferredLogicalWidths):
8248        (WebCore::RenderText::width):
8249        * rendering/RenderTextControl.cpp:
8250        (WebCore::RenderTextControl::getAvgCharWidth):
8251        * rendering/svg/RenderSVGAllInOne.cpp:
8252        * rendering/svg/SVGInlineTextBox.cpp:
8253        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
8254        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
8255        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
8256        (WebCore::SVGInlineTextBox::constructTextRun):
8257        (WebCore::SVGInlineTextBox::paintText):
8258        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
8259        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
8260        * rendering/svg/SVGTextMetrics.cpp:
8261        (WebCore::constructTextRun):
8262        (WebCore::SVGTextMetrics::measureCharacterRange):
8263        * rendering/svg/SVGTextRunRenderingContext.cpp: Copied from svg/SVGFont.cpp.
8264        (WebCore::svgFontAndFontFaceElementForFontData):
8265        (WebCore::firstParentRendererForNonTextNode):
8266        (WebCore::referencingRenderObjectFromRun):
8267        (WebCore::activePaintingResourceFromRun):
8268        (WebCore::SVGTextRunWalker::walk):
8269        (WebCore::floatWidthMissingGlyphCallback):
8270        (WebCore::floatWidthOfSubStringUsingSVGFont):
8271        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
8272        (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
8273        (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
8274        (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
8275        * rendering/svg/SVGTextRunRenderingContext.h: Added.
8276        (WebCore::SVGTextRunRenderingContext::create):
8277        (WebCore::SVGTextRunRenderingContext::context):
8278        (WebCore::SVGTextRunRenderingContext::activePaintingResource):
8279        (WebCore::SVGTextRunRenderingContext::setActivePaintingResource):
8280        (WebCore::SVGTextRunRenderingContext::SVGTextRunRenderingContext):
8281        (WebCore::textRunNeedsRenderingContext):
8282        * svg/SVGAllInOne.cpp:
8283        * svg/SVGFont.cpp: Removed.
8284        * svg/SVGFontData.cpp:
8285        (WebCore::SVGFontData::initializeFontData):
8286        * svg/SVGFontData.h:
8287        (WebCore::SVGFontData::create):
8288        (WebCore::SVGFontData::isSVGFontData):
8289        * svg/SVGGlyphElement.cpp:
8290        (WebCore::SVGGlyphElement::SVGGlyphElement):
8291        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
8292        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
8293        * svg/SVGHKernElement.cpp:
8294        (WebCore::SVGHKernElement::SVGHKernElement):
8295        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
8296        * svg/SVGVKernElement.cpp:
8297        (WebCore::SVGVKernElement::SVGVKernElement):
8298        (WebCore::SVGVKernElement::buildVerticalKerningPair):
8299        * svg/SVGVKernElement.h:
8300
83012011-05-24  Ryuan Choi  <ryuan.choi@samsung.com>
8302
8303        Reviewed by Andreas Kling.
8304
8305        [GTK] Implement GraphicsContextCairo::imageInterpolationQuality().
8306        https://bugs.webkit.org/show_bug.cgi?id=60827
8307
8308        Implement getter/setter of imageInterpolationQuality and logic to change
8309        interpolation algorithm when drawing image.
8310        Mac and Qt already implemented it.
8311
8312        * platform/graphics/cairo/GraphicsContextCairo.cpp:
8313        (WebCore::GraphicsContext::setImageInterpolationQuality):
8314        (WebCore::GraphicsContext::imageInterpolationQuality):
8315        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
8316        * platform/graphics/cairo/PlatformContextCairo.cpp:
8317        (WebCore::PlatformContextCairo::drawSurfaceToContext):
8318        * platform/graphics/cairo/PlatformContextCairo.h:
8319        (WebCore::PlatformContextCairo::setImageInterpolationQuality): Added.
8320        (WebCore::PlatformContextCairo::imageInterpolationQuality): Added.
8321
83222011-05-24  Leandro Gracia Gil  <leandrogracia@chromium.org>
8323
8324        Reviewed by Tony Gentilcore.
8325
8326        Media Stream API: adding Stream and GeneratedStream classes.
8327        https://bugs.webkit.org/show_bug.cgi?id=56666
8328
8329        Add the code for the Stream and GeneratedStream classes and integrate it
8330        with the existing stream generation requests.
8331
8332        Tests for the Media Stream API will be provided by the bug 56587.
8333
8334        * CMakeLists.txt:
8335        * CodeGenerators.pri:
8336        * DerivedSources.cpp:
8337        * DerivedSources.make:
8338        * GNUmakefile.list.am:
8339        * WebCore.gypi:
8340        * WebCore.pro:
8341        * WebCore.vcproj/WebCore.vcproj:
8342        * WebCore.xcodeproj/project.pbxproj:
8343        * bindings/js/JSEventTarget.cpp:
8344        (WebCore::toJS):
8345        * bindings/v8/V8DOMWrapper.cpp:
8346        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
8347        * dom/DOMAllInOne.cpp:
8348        * dom/EventTarget.cpp:
8349        (WebCore::EventTarget::toStream):
8350        (WebCore::EventTarget::toGeneratedStream):
8351        * dom/EventTarget.h:
8352        * dom/GeneratedStream.cpp: Added.
8353        (WebCore::GeneratedStream::DispatchUpdateTask::create):
8354        (WebCore::GeneratedStream::DispatchUpdateTask::performTask):
8355        (WebCore::GeneratedStream::DispatchUpdateTask::DispatchUpdateTask):
8356        (WebCore::GeneratedStream::create):
8357        (WebCore::GeneratedStream::GeneratedStream):
8358        (WebCore::GeneratedStream::~GeneratedStream):
8359        (WebCore::GeneratedStream::toGeneratedStream):
8360        (WebCore::GeneratedStream::detachEmbedder):
8361        (WebCore::GeneratedStream::stop):
8362        (WebCore::GeneratedStream::onStop):
8363        * dom/GeneratedStream.h: Added.
8364        * dom/GeneratedStream.idl: Added.
8365        * dom/Stream.cpp: Added.
8366        (WebCore::Stream::create):
8367        (WebCore::Stream::Stream):
8368        (WebCore::Stream::~Stream):
8369        (WebCore::Stream::toStream):
8370        (WebCore::Stream::streamEnded):
8371        (WebCore::Stream::scriptExecutionContext):
8372        (WebCore::Stream::eventTargetData):
8373        (WebCore::Stream::ensureEventTargetData):
8374        * dom/Stream.h: Added.
8375        (WebCore::Stream::readyState):
8376        (WebCore::Stream::label):
8377        (WebCore::Stream::refEventTarget):
8378        (WebCore::Stream::derefEventTarget):
8379        * dom/Stream.idl: Added.
8380        * page/CallbackTask.h:
8381        (WebCore::CallbackTask1::Scheduler::~Scheduler):
8382        * page/MediaStreamClient.h:
8383        * page/MediaStreamController.cpp:
8384        (WebCore::MediaStreamController::stopGeneratedStream):
8385        (WebCore::MediaStreamController::streamFailed):
8386        * page/MediaStreamController.h:
8387        * page/MediaStreamFrameController.cpp:
8388        (WebCore::MediaStreamFrameController::Request::Request):
8389        (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
8390        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
8391        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
8392        (WebCore::MediaStreamFrameController::unregister):
8393        (WebCore::MediaStreamFrameController::getStreamFromLabel):
8394        (WebCore::MediaStreamFrameController::generateStream):
8395        (WebCore::MediaStreamFrameController::stopGeneratedStream):
8396        (WebCore::MediaStreamFrameController::streamGenerated):
8397        (WebCore::MediaStreamFrameController::streamGenerationFailed):
8398        (WebCore::MediaStreamFrameController::streamFailed):
8399        * page/MediaStreamFrameController.h:
8400        (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
8401        (WebCore::MediaStreamFrameController::StreamClient::isGeneratedStream):
8402        * page/NavigatorUserMediaError.h:
8403        (WebCore::NavigatorUserMediaError::create):
8404        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
8405        * page/NavigatorUserMediaSuccessCallback.h:
8406        * page/NavigatorUserMediaSuccessCallback.idl:
8407
84082011-05-23  Antti Koivisto  <antti@apple.com>
8409
8410        Reviewed by Oliver Hunt.
8411    
8412        REGRESSION (r45620): Node list caches never deleted
8413        https://bugs.webkit.org/show_bug.cgi?id=61268
8414        <rdar://problem/9467379>
8415        
8416        NodeListsNodeData::isEmpty() tests if RefCounted objects have refcount of zero which is impossible.
8417        As a results NodeList caches are never deleted, causing bad performance in DOM mutating operations as
8418        they repeatedly invalidate caches.
8419
8420        * dom/Node.cpp:
8421        (WebCore::Node::childNodes):
8422            Construct m_childNodeListCaches lazily.
8423
8424        (WebCore::Node::unregisterDynamicNodeList):
8425        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
8426        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
8427        (WebCore::Node::removeNodeListCacheIfPossible): 
8428            Add a helper.
8429
8430        (WebCore::NodeListsNodeData::invalidateCaches):
8431            Invalidate m_childNodeListCaches by clearing it if there are no additional clients
8432
8433        (WebCore::NodeListsNodeData::isEmpty):
8434            Test emptiness of various NodeListCaches simply by testing hash emptiness instead of testing for non-zero ref count of items.
8435            m_childNodeListCaches is empty if it is null.
8436
8437        * dom/Node.h: 
8438        * dom/NodeRareData.h:
8439        (WebCore::NodeListsNodeData::NodeListsNodeData):
8440            Construct m_childNodeListCaches lazily.
8441
84422011-05-24  Mikhail Naganov  <mnaganov@chromium.org>
8443
8444        Reviewed by Yury Semikhatsky.
8445
8446        Web Inspector: Reorganize InspectorBackendDispatch code to eliminate duplication
8447        https://bugs.webkit.org/show_bug.cgi?id=61300
8448
8449        * inspector/CodeGeneratorInspector.pm:
8450
84512011-05-23  Yury Semikhatsky  <yurys@chromium.org>
8452
8453        Reviewed by Adam Barth.
8454
8455        Chromium DevTools: Tab crashes with "Aw, snap!" on entering "(new Image())." in console
8456        https://bugs.webkit.org/show_bug.cgi?id=61194
8457
8458        Test: inspector/console/console-eval-syntax-error.html
8459
8460        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
8461        (WebCore::V8InjectedScriptHost::evaluateCallback): return immediately in case of syntax error
8462
84632011-04-13  Steve Block  <steveblock@google.com>
8464
8465        Reviewed by Eric Seidel.
8466
8467        Geolocation callbacks should make use of new callback generation mechanism
8468        https://bugs.webkit.org/show_bug.cgi?id=40065
8469
8470        No new tests, refactoring only.
8471
8472        * Android.derived.jscbindings.mk:
8473        * Android.derived.v8bindings.mk:
8474        * Android.jscbindings.mk:
8475        * Android.v8bindings.mk:
8476        * CMakeLists.txt:
8477        * CodeGenerators.pri:
8478        * DerivedSources.cpp:
8479        * DerivedSources.make:
8480        * GNUmakefile.list.am:
8481        * UseJSC.cmake:
8482        * WebCore.gypi:
8483        * WebCore.order:
8484        * WebCore.pro:
8485        * WebCore.vcproj/WebCore.vcproj:
8486        * WebCore.xcodeproj/project.pbxproj:
8487        * bindings/js/JSBindingsAllInOne.cpp:
8488        * bindings/js/JSCustomPositionCallback.cpp: Removed.
8489        * bindings/js/JSCustomPositionCallback.h: Removed.
8490        * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
8491        * bindings/js/JSCustomPositionErrorCallback.h: Removed.
8492        * bindings/js/JSGeolocationCustom.cpp:
8493        (WebCore::JSGeolocation::getCurrentPosition):
8494        (WebCore::JSGeolocation::watchPosition):
8495        * bindings/v8/custom/V8CustomPositionCallback.cpp: Removed.
8496        * bindings/v8/custom/V8CustomPositionCallback.h: Removed.
8497        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Removed.
8498        * bindings/v8/custom/V8CustomPositionErrorCallback.h: Removed.
8499        * bindings/v8/custom/V8GeolocationCustom.cpp:
8500        (WebCore::V8Geolocation::getCurrentPositionCallback):
8501        (WebCore::V8Geolocation::watchPositionCallback):
8502        * page/PositionCallback.h:
8503        * page/PositionCallback.idl: Added.
8504        * page/PositionErrorCallback.h:
8505        * page/PositionErrorCallback.idl: Added.
8506
85072011-05-23  Pavel Podivilov  <podivilov@chromium.org>
8508
8509        Reviewed by Yury Semikhatsky.
8510
8511        Web Inspector: watched expressions buttons do not match inspector styles.
8512        https://bugs.webkit.org/show_bug.cgi?id=30554
8513
8514        * WebCore.gypi:
8515        * inspector/front-end/BreakpointsSidebarPane.js:
8516        (WebInspector.XHRBreakpointsSidebarPane):
8517        * inspector/front-end/Images/deleteIcon.png: Added.
8518        * inspector/front-end/Images/paneRefreshButtons.png: Added.
8519        * inspector/front-end/WatchExpressionsSidebarPane.js:
8520        (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
8521        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
8522        (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
8523        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
8524        (WebInspector.WatchExpressionsSection):
8525        (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
8526        (WebInspector.WatchExpressionsSection.prototype.update):
8527        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
8528        (WebInspector.WatchExpressionsSection.prototype._mouseMove):
8529        (WebInspector.WatchExpressionsSection.prototype._mouseOut):
8530        (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
8531        (WebInspector.WatchExpressionsSection.CompareProperties):
8532        (WebInspector.WatchExpressionTreeElement.prototype.update):
8533        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
8534        * inspector/front-end/WebKit.qrc:
8535        * inspector/front-end/inspector.css:
8536        (.properties-tree.watch-expressions):
8537        (.properties-tree.watch-expressions li):
8538        (.section .properties .delete-button):
8539        (.section .properties li.hovered .delete-button):
8540        (.pane > .title > .pane-title-button):
8541        (.pane > .title > .pane-title-button:hover):
8542        (.pane > .title > .pane-title-button:active):
8543        (.pane > .title > .pane-title-button.add):
8544        (.pane > .title > .pane-title-button.refresh):
8545
85462011-05-24  Yuta Kitamura  <yutak@chromium.org>
8547
8548        Reviewed by Kent Tamura.
8549
8550        WebSocket: Add fail() to WebSocketChannel and its family
8551        https://bugs.webkit.org/show_bug.cgi?id=61277
8552
8553        This is the first part of refactoring effort described in bug 61115.
8554        Existing error reports will be modified to use fail() in a later patch.
8555
8556        No change in behavior, thus no new tests.
8557
8558        * websockets/ThreadableWebSocketChannel.h:
8559        * websockets/WebSocketChannel.cpp:
8560        (WebCore::WebSocketChannel::fail):
8561        * websockets/WebSocketChannel.h:
8562        * websockets/WorkerThreadableWebSocketChannel.cpp:
8563        (WebCore::WorkerThreadableWebSocketChannel::fail):
8564        (WebCore::WorkerThreadableWebSocketChannel::Peer::fail):
8565        (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail):
8566        (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
8567        * websockets/WorkerThreadableWebSocketChannel.h:
8568
85692011-05-24  Andras Becsi  <abecsi@webkit.org>
8570
8571        Reviewed by Csaba Osztrogonác.
8572
8573        [Qt][V8] REGRESSION (r87063): Fix the build.
8574        https://bugs.webkit.org/show_bug.cgi?id=61290
8575
8576        No new tests needed.
8577
8578        * bindings/scripts/CodeGeneratorV8.pm: disable the unsupported call
8579        tracked in: https://bugs.webkit.org/show_bug.cgi?id=61291
8580
85812011-05-24  Naoki Takano  <takano.naoki@gmail.com>
8582
8583        Reviewed by Kent Tamura.
8584
8585        [Chromium]Add clipping for listBox in popup window to fix wrong location display when the autofill item is really long.
8586        https://bugs.webkit.org/show_bug.cgi?id=61252
8587        http://code.google.com/p/chromium/issues/detail?id=83539
8588
8589        Manual test: manual-tests/autofill-popup-location.html.
8590
8591        * manual-tests/autofill-popup-location.html: With long long text, test the shown location is correct.
8592        * platform/chromium/PopupMenuChromium.cpp:
8593        (WebCore::PopupListBox::setBaseWidth): Clip width with m_maxWindowWidth.
8594        (WebCore::PopupListBox::PopupListBox): Add m_maxWindowWidth initialization.
8595        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Call setMaxWidthAndLayout() when the width is clipped with screen size.
8596        (WebCore::PopupListBox::setMaxWidthAndLayout): Set m_maxWindowWidth and call layout().
8597        (WebCore::PopupListBox::layout): Compare renewed windowWidth and m_maxWindowWidth, and clip the it.
8598
85992011-05-24  James Robinson  <jamesr@chromium.org>
8600
8601        Reviewed by Kenneth Russell.
8602
8603        [chromium] Properly handle huge initial dimensions for 2d canvas when accelerated 2d canvas is enabled
8604        https://bugs.webkit.org/show_bug.cgi?id=60077
8605
8606        Return NULL from DrawingBuffer::create() if the initial dimensions are larger than we can support in hardware so
8607        that we properly use the software canvas path and not enable the compositor for the canvas.
8608
8609        compositing/tiling/huge-layer-img.html triggers this case by trying to create a 20000 pixel high canvas.  The
8610        failure was previously masked by other bugs fixed by r85661.
8611
8612        * platform/graphics/chromium/DrawingBufferChromium.cpp:
8613        (WebCore::DrawingBuffer::DrawingBuffer):
8614            Return NULL from DrawingBuffer::create() if resize() fails.
8615
86162011-05-24  Fumitoshi Ukai  <ukai@chromium.org>
8617
8618        Reviewed by Adam Barth.
8619
8620        close before open WebSocket doesn't fire close event.
8621        https://bugs.webkit.org/show_bug.cgi?id=57301
8622
8623        In platformClose(), m_readStream may be 0 until proxy is resolved.
8624        It should callback didClose() in such case.
8625        
8626        Test: http/tests/websocket/tests/close-before-open.html
8627
8628        * platform/network/cf/SocketStreamHandleCFNet.cpp:
8629        (WebCore::SocketStreamHandle::platformClose):
8630
86312011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8632
8633        Unreviewed, rolling out r87118.
8634        http://trac.webkit.org/changeset/87118
8635        https://bugs.webkit.org/show_bug.cgi?id=61347
8636
8637        patch breaks layout tests
8638        (https://bugs.webkit.org/show_bug.cgi?id=61342), and chromium
8639        tests (browser_test MacTestCmdUp and ui_test Scrollbar)
8640        (Requested by ukai_ on #webkit).
8641
8642        * WebCore.gyp/WebCore.gyp:
8643        * WebCore.gypi:
8644        * platform/ScrollAnimator.cpp:
8645        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
8646        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
8647        * platform/graphics/IntPoint.h:
8648
86492011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>
8650
8651        Reviewed by Adam Barth.
8652
8653        Remove Node::deprecatedParserAddChild
8654        https://bugs.webkit.org/show_bug.cgi?id=60818
8655
8656        No new tests as this is just a removal.
8657
8658        * dom/ContainerNode.cpp:
8659        * dom/ContainerNode.h:
8660        * dom/Node.cpp:
8661        * dom/Node.h:
8662        Removed the method now that the last instance got removed as part of the <input>
8663        shadow DOM refactoring.
8664
86652011-05-23  Dirk Schulze  <krit@webkit.org>
8666
8667        Reviewed by Darin Adler.
8668
8669        SVGTextPositioning attributes are marked as NumberList instead of LengthList
8670        https://bugs.webkit.org/show_bug.cgi?id=61301
8671
8672        SVGTextPositioningElement attributes x, y, dx and dy were marked as AnimatedNumberList
8673        instead of AnimatedLengthList.
8674        See specification http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextPositioningElement
8675
8676        This does not affect the behavior, since we do not respect SVG units in SMIL animation yet.
8677        No new tests added.
8678
8679        * svg/SVGTextPositioningElement.cpp:
8680        (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
8681
86822011-05-19  MORITA Hajime  <morrita@google.com>
8683
8684        Reviewed by Dimitri Glazkov.
8685
8686        [Refactoring] Pass NodeRenderingContext to Node::rendererIsNeeded()
8687        https://bugs.webkit.org/show_bug.cgi?id=61114
8688
8689        - Extracted NodeRenderingContext from NodeRendererFactory, giving separate files to it.
8690        - Changed signature rendererIsNeeded(RenderStyle*) 
8691          to rendererIsNeeded(const NodeRenderingContext&).
8692          The style object is retrieved from NodeRendererFactory::style()
8693          This will allow rendererIsNeeded() to access contextual
8694          information like attaching phase and rendering-parent.
8695        
8696        No new tests. No behaviour change.
8697        
8698        * CMakeLists.txt:
8699        * GNUmakefile.list.am:
8700        * WebCore.gypi:
8701        * WebCore.pro:
8702        * WebCore.vcproj/WebCore.vcproj:
8703        * WebCore.xcodeproj/project.pbxproj:
8704        * dom/CharacterData.cpp:
8705        (WebCore::CharacterData::updateRenderer): Pass unresolved NodeRenderingContext& to rendererIsNeeded()
8706        (WebCore::CharacterData::rendererIsNeeded):
8707        * dom/CharacterData.h:
8708        * dom/DOMAllInOne.cpp:
8709        * dom/EditingText.cpp:
8710        (WebCore::EditingText::rendererIsNeeded):
8711        * dom/EditingText.h:
8712        * dom/Node.cpp:
8713        (WebCore::Node::parentNodeForRenderingAndStyle):
8714        (WebCore::Node::rendererIsNeeded):
8715        * dom/Node.h:
8716        * dom/NodeRenderingContext.cpp: Added.
8717        (WebCore::NodeRenderingContext::NodeRenderingContext):
8718        (WebCore::NodeRenderingContext::~NodeRenderingContext):
8719        (WebCore::NodeRenderingContext::setStyle):
8720        (WebCore::NodeRenderingContext::releaseStyle):
8721        (WebCore::NodeRenderingContext::nextRenderer):
8722        (WebCore::NodeRenderingContext::parentRenderer):
8723        (WebCore::NodeRenderingContext::hostChildrenChanged):
8724        (WebCore::NodeRenderingContext::shouldCreateRenderer):
8725        (WebCore::NodeRendererFactory::NodeRendererFactory):
8726        (WebCore::NodeRendererFactory::createRendererAndStyle):
8727        (WebCore::wrapWithRenderFullScreen):
8728        (WebCore::NodeRendererFactory::createRendererIfNeeded):
8729        * dom/NodeRenderingContext.h: Added.
8730        (WebCore::NodeRenderingContext::node):
8731        (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
8732        (WebCore::NodeRenderingContext::style):
8733        (WebCore::NodeRendererFactory::context):
8734        * dom/ShadowContentElement.h:
8735        * dom/Text.cpp:
8736        * dom/Text.h:
8737        * html/HTMLAppletElement.cpp:
8738        * html/HTMLAppletElement.h:
8739        * html/HTMLElement.cpp:
8740        * html/HTMLElement.h:
8741        * html/HTMLEmbedElement.cpp:
8742        * html/HTMLEmbedElement.h:
8743        * html/HTMLFormElement.cpp:
8744        * html/HTMLFormElement.h:
8745        * html/HTMLFrameElement.cpp:
8746        * html/HTMLFrameElement.h:
8747        * html/HTMLFrameSetElement.cpp:
8748        * html/HTMLFrameSetElement.h:
8749        * html/HTMLIFrameElement.cpp:
8750        * html/HTMLIFrameElement.h:
8751        * html/HTMLInputElement.cpp:
8752        * html/HTMLInputElement.h:
8753        * html/HTMLMediaElement.cpp:
8754        * html/HTMLMediaElement.h:
8755        * html/HTMLNoScriptElement.h:
8756        * html/HTMLObjectElement.cpp:
8757        * html/HTMLObjectElement.h:
8758        * html/HTMLOptGroupElement.h:
8759        * html/HTMLOptionElement.h:
8760        * html/HTMLVideoElement.cpp:
8761        * html/HTMLVideoElement.h:
8762        * html/shadow/DetailsMarkerControl.cpp:
8763        * html/shadow/DetailsMarkerControl.h:
8764        * html/shadow/MeterShadowElement.cpp:
8765        * html/shadow/MeterShadowElement.h:
8766        * html/shadow/ProgressShadowElement.cpp:
8767        * html/shadow/ProgressShadowElement.h:
8768        * svg/SVGDescElement.h:
8769        * svg/SVGElement.h:
8770        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
8771        * svg/SVGFilterPrimitiveStandardAttributes.h:
8772        * svg/SVGFontElement.h:
8773        * svg/SVGGElement.cpp:
8774        * svg/SVGGElement.h:
8775        * svg/SVGGlyphElement.h:
8776        * svg/SVGHKernElement.h:
8777        * svg/SVGMarkerElement.h:
8778        * svg/SVGMissingGlyphElement.h:
8779        * svg/SVGSVGElement.h:
8780        * svg/SVGStyledElement.cpp:
8781        * svg/SVGStyledElement.h:
8782        * svg/SVGSymbolElement.h:
8783        * svg/SVGTRefElement.cpp:
8784        * svg/SVGTRefElement.h:
8785        * svg/SVGTSpanElement.cpp:
8786        * svg/SVGTSpanElement.h:
8787        * svg/SVGTextPathElement.cpp:
8788        * svg/SVGTextPathElement.h:
8789        * svg/SVGTitleElement.h:
8790        * svg/SVGVKernElement.h:
8791        * svg/SVGViewElement.h:
8792
87932011-05-20  MORITA Hajime  <morrita@google.com>
8794
8795        Reviewed by Dimitri Glazkov.
8796        
8797        [Refactoring] attach() following detach() should be replaced with Node::reattach()
8798        https://bugs.webkit.org/show_bug.cgi?id=61011
8799
8800        - Renamed forceReattach() to reattach()
8801        - Introduced reattachIfAttached() as a variant.
8802        
8803        No new tests. No behavior change.
8804
8805        * dom/CharacterData.cpp:
8806        (WebCore::CharacterData::updateRenderer):
8807        * dom/Element.cpp:
8808        (WebCore::Element::recalcStyle):
8809        * dom/Node.h:
8810        (WebCore::Node::reattach):
8811        (WebCore::Node::reattachIfAttached):
8812        * dom/Text.cpp:
8813        (WebCore::Text::recalcStyle):
8814        * html/HTMLDetailsElement.cpp:
8815        (WebCore::HTMLDetailsElement::refreshMainSummary):
8816        (WebCore::HTMLDetailsElement::parseMappedAttribute):
8817        * html/HTMLInputElement.cpp:
8818        (WebCore::HTMLInputElement::parseMappedAttribute):
8819        * html/HTMLObjectElement.cpp:
8820        (WebCore::HTMLObjectElement::renderFallbackContent):
8821        * html/HTMLPlugInImageElement.cpp:
8822        (WebCore::HTMLPlugInImageElement::recalcStyle):
8823        * html/HTMLSelectElement.cpp:
8824        (WebCore::HTMLSelectElement::parseMappedAttribute):
8825
88262011-05-23  Mark Rowe  <mrowe@apple.com>
8827
8828        Build fix after r87117.
8829
8830        When moving #defines out in to separate files I find that code is more likely to compile
8831        when the new header file is actually #included.
8832
8833        * editing/SpellingCorrectionController.h:
8834
88352011-05-23  Mike Lawther  <mikelawther@chromium.org>
8836
8837        Reviewed by James Robinson.
8838
8839        implement image-rendering: optimize-contrast (with a vendor prefix) as defined in CSS3 image values
8840        https://bugs.webkit.org/show_bug.cgi?id=56627
8841
8842        Tests: css3/images/optimize-contrast-canvas.html
8843               css3/images/optimize-contrast-image.html
8844
8845        * WebCore.xcodeproj/project.pbxproj:
8846        * css/CSSComputedStyleDeclaration.cpp:
8847        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8848        * css/CSSParser.cpp:
8849        (WebCore::CSSParser::parseValue):
8850        * css/CSSPrimitiveValueMappings.h:
8851        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8852        (WebCore::CSSPrimitiveValue::operator EImageRendering):
8853        * css/CSSPropertyNames.in:
8854        * css/CSSStyleSelector.cpp:
8855        (WebCore::CSSStyleSelector::applyProperty):
8856        * css/CSSValueKeywords.in:
8857        * css/SVGCSSComputedStyleDeclaration.cpp:
8858        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
8859        * css/SVGCSSPropertyNames.in:
8860        * css/SVGCSSStyleSelector.cpp:
8861        (WebCore::CSSStyleSelector::applySVGProperty):
8862        * css/SVGCSSValueKeywords.in:
8863        * html/HTMLCanvasElement.cpp:
8864        (WebCore::HTMLCanvasElement::paint):
8865        * html/HTMLCanvasElement.h:
8866        * platform/graphics/ImageRenderingMode.h: Added.
8867        * rendering/RenderBoxModelObject.cpp:
8868        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
8869        * rendering/RenderHTMLCanvas.cpp:
8870        (WebCore::RenderHTMLCanvas::paintReplaced):
8871        * rendering/style/RenderStyle.cpp:
8872        (WebCore::RenderStyle::diff):
8873        * rendering/style/RenderStyle.h:
8874        (WebCore::InheritedFlags::imageRendering):
8875        (WebCore::InheritedFlags::setImageRendering):
8876        (WebCore::InheritedFlags::initialImageRendering):
8877        * rendering/style/RenderStyleConstants.h:
8878        * rendering/style/SVGRenderStyle.cpp:
8879        (WebCore::SVGRenderStyle::diff):
8880        * rendering/style/SVGRenderStyle.h:
8881        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
8882        (WebCore::SVGRenderStyle::setBitDefaults):
8883        * rendering/style/SVGRenderStyleDefs.h:
8884        * rendering/svg/SVGRenderTreeAsText.cpp:
8885        (WebCore::writeStyle):
8886
88872011-05-23  Sailesh Agrawal  <sail@chromium.org>
8888
8889        Reviewed by James Robinson.
8890
8891        Chromium Mac: Use ScrollAnimatorMac.mm for overlay scrollbar support
8892        https://bugs.webkit.org/show_bug.cgi?id=59753
8893
8894        No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
8895
8896        * WebCore.gyp/WebCore.gyp:
8897        * WebCore.gypi:
8898        * platform/ScrollAnimator.cpp:
8899        * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
8900        (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
8901        (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
8902        (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
8903        * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file.
8904        (abs):
8905        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
8906        (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
8907        (-[ScrollAnimationHelperDelegate bounds]):
8908        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
8909        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
8910        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
8911        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
8912        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
8913        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
8914        (-[ScrollAnimationHelperDelegate superview]):
8915        (-[ScrollAnimationHelperDelegate documentView]):
8916        (-[ScrollAnimationHelperDelegate window]):
8917        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
8918        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
8919        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
8920        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
8921        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
8922        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
8923        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
8924        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
8925        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
8926        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
8927        (-[ScrollbarPartAnimation setCurrentProgress:]):
8928        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
8929        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
8930        (-[ScrollbarPainterDelegate cancelAnimations]):
8931        (-[ScrollbarPainterDelegate convertRectToBacking:]):
8932        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
8933        (-[ScrollbarPainterDelegate layer]):
8934        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
8935        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
8936        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
8937        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
8938        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
8939        (WebCore::ScrollAnimator::create):
8940        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
8941        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
8942        (WebCore::ScrollAnimatorChromiumMac::scroll):
8943        (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
8944        (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
8945        (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
8946        (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
8947        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
8948        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
8949        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
8950        (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
8951        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
8952        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
8953        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
8954        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
8955        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
8956        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
8957        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
8958        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
8959        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
8960        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
8961        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
8962        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
8963        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
8964        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
8965        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
8966        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
8967        (WebCore::elasticDeltaForTimeDelta):
8968        (WebCore::reboundDeltaForElasticDelta):
8969        (WebCore::elasticDeltaForReboundDelta):
8970        (WebCore::scrollWheelMultiplier):
8971        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
8972        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
8973        (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
8974        (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
8975        (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
8976        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
8977        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
8978        (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
8979        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
8980        (WebCore::roundTowardZero):
8981        (WebCore::roundToDevicePixelTowardZero):
8982        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
8983        (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
8984        (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
8985        (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
8986        (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
8987        (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
8988        * platform/graphics/IntPoint.h:
8989
89902011-05-22  MORITA Hajime  <morrita@google.com>
8991
8992        Reviewed by Ryosuke Niwa.
8993
8994        SUPPORT_AUTOCORRECTION_PANEL should be USE(AUTOCORRECTION_PANEL)
8995        https://bugs.webkit.org/show_bug.cgi?id=61181
8996
8997        - Removed SUPPORT_AUTOCORRECTION_PANEL and REMOVE_MARKERS_UPON_EDITING from SpellingCorrectionController.h
8998        - Define WTF_USE_UNIFIED_TEXT_CHECKING and WTF_USE_AUTOMATIC_TEXT_REPLACEMENT at TextChecking.h
8999
9000        No new tests. Just renaming a compilation conditional.
9001
9002        * editing/Editor.cpp:
9003        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
9004        * editing/SpellingCorrectionCommand.cpp:
9005        (WebCore::SpellingCorrectionCommand::doApply):
9006        * editing/SpellingCorrectionController.cpp:
9007        * editing/SpellingCorrectionController.h:
9008        (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
9009        * loader/EmptyClients.h:
9010        * page/EditorClient.h:
9011        * platform/text/TextChecking.h:
9012
90132011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
9014
9015        Unreviewed, rolling out r87007.
9016        http://trac.webkit.org/changeset/87007
9017        https://bugs.webkit.org/show_bug.cgi?id=61329
9018
9019        patch unnecessarily breaks HTML5 compatibility (Requested by
9020        estes on #webkit).
9021
9022        * html/HTMLObjectElement.cpp:
9023        (WebCore::HTMLObjectElement::hasValidClassId):
9024
90252011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>
9026
9027        Reviewed by Darin Adler.
9028
9029        Crash from null pointer dereference below WebCore::StorageAreaImpl::setItem()
9030        https://bugs.webkit.org/show_bug.cgi?id=57140
9031
9032        Test: fast/storage/storage-detached-iframe.html
9033
9034        Access of localStorage on a detached iframe was causing a crash because a detached 
9035        iframe has a null m_page, and WebCore::privateBrowsingEnabled() wasn't testing for such.
9036
9037        * storage/StorageAreaImpl.cpp:
9038        (WebCore::privateBrowsingEnabled): check that child->page() is non-null before
9039        accessing it.
9040
90412011-05-23  Chris Fleizach  <cfleizach@apple.com>
9042
9043        Reviewed by David Kilzer.
9044
9045        VO doesn't work with HTML5 range (slider) input @step attribute
9046        https://bugs.webkit.org/show_bug.cgi?id=61298
9047
9048        Test: platform/mac/accessibility/range-alter-by-step.html
9049
9050        * accessibility/AccessibilityObject.h:
9051        (WebCore::AccessibilityObject::stepValueForRange):
9052        * accessibility/AccessibilityRenderObject.cpp:
9053        (WebCore::AccessibilityRenderObject::alterSliderValue):
9054        (WebCore::AccessibilityRenderObject::increment):
9055        (WebCore::AccessibilityRenderObject::decrement):
9056        (WebCore::AccessibilityRenderObject::stepValueForRange):
9057        (WebCore::AccessibilityRenderObject::changeValueByStep):
9058        * accessibility/AccessibilityRenderObject.h:
9059
90602011-05-23  Gavin Peters  <gavinp@chromium.org>
9061
9062        Reviewed by Adam Barth.
9063
9064        fix rel=prerender target types
9065        https://bugs.webkit.org/show_bug.cgi?id=61297
9066
9067        The original fix in https://bugs.webkit.org/show_bug.cgi?id=61079
9068        didn't properly map the target type, and didn't carry the target
9069        types through to chromium properly.  Fixed.
9070
9071        No new tests; it's very hard to catch these with a layout test, however
9072        all of the chromium Prerender browser tests will test this functionality
9073        when I land an upcoming chromium CL.
9074
9075        * loader/cache/CachedResourceRequest.cpp:
9076        (WebCore::cachedResourceTypeToTargetType):
9077
90782011-05-23  Matthew Delaney  <mdelaney@apple.com>
9079
9080        Reviewed by Simon Fraser.
9081
9082        Remove safeFloatToInt() in FloatRect.cpp and replace with working version of clampToInteger()
9083        https://bugs.webkit.org/show_bug.cgi?id=58216
9084
9085        No new tests. The SVG tests mask-excessive-malloc.svg and pattern-excessive-malloc.svg exercise this code path.
9086
9087        * platform/graphics/FloatRect.cpp:
9088        (WebCore::enclosingIntRect):
9089
90902011-05-20  Jeremy Noble  <jer.noble@apple.com>
9091
9092        Reviewed by Darin Adler.
9093
9094        Video looks squished when animating to full screen.
9095        https://bugs.webkit.org/show_bug.cgi?id=61220
9096
9097        No new tests, because DumpRenderTree does not currently "animate" the full-screen transition.
9098
9099        There are three issues animating video content to full screen which this patch is meant to
9100        address:
9101        1) The animation scales between the client sizes of the element before and after full-screen.
9102        Because these sizes have different aspect ratios, the video appears "squished" for part of
9103        the animation. Instead, we will animate between the content box sizes before and after full
9104        screen which, in the case of video now and object-fit content in the future, will have the
9105        same aspect ratio before and after full screen.
9106        2) Now that we are animating the full-screen video element's content box, the black letterbox
9107        bars appear above and below the video (depending on the video's aspect ratio) as soon as the
9108        animation begins. This is extremely jarring, so set the background color to clear. The
9109        full-screen renderer's background color will serve the same purpose (providing the letterbox
9110        background) once the animation completes.
9111        3) Now that the letterbox color is gone, the full screen controls can appear to float in thin
9112        air beneath the video (again, depending on aspect ratio) during the animation, so to avoid
9113        that effect and to make the animation consistent with the old webkitenterfullscreen()
9114        animation, we will hide the controls during the animation by adding a new CSS pseudo class
9115        -webkit-animating-full-screen-transition.
9116
9117        Added a new css pseudo-class: -webkit-animating-full-screen.  During the transition animation, this
9118        pseudo-class will be applied to the current full-screen element.  Styles have been added to 
9119        fullscreenQuickTime.css to hide the video element's built-in controller during the full-screen
9120        animation.
9121
9122        To accomplish this, the ivar tracking whether the full-screen animation is taking place has been moved
9123        from the RenderFullScreen renderer, to the current full-screen Document.  Because changing 
9124        isAnimatingFullScreen causes style changes, make sure to call recalcStyle on the full-screen element
9125        after changing.
9126
9127        This extra transition caused assertions in HTMLFormControlElement::updateFromElementCallback. A
9128        full-screen media control's renderer is disabled during the style recalculation when exiting full
9129        screen. This assertion was exposed by the extra recalcStyle() issued during the exit transition, and
9130        has been removed.
9131
9132        * WebCore.exp.in:
9133        * css/CSSSelector.cpp:
9134        (WebCore::CSSSelector::pseudoId): Add support for new pseudo class -webkit-animate-full-screen-transition.
9135        (WebCore::nameToPseudoTypeMap): Ditto.
9136        (WebCore::CSSSelector::extractPseudoType): Ditto.
9137        * css/CSSSelector.h:
9138        * css/CSSStyleSelector.cpp:
9139        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
9140        * css/fullscreen.css: 
9141        (video:-webkit-full-screen): Set full screen video background color to clear.
9142        * css/fullscreenQuickTime.css: 
9143        (video:-webkit-full-screen::-webkit-media-controls-panel): Set a default opacity transition.
9144        (video:-webkit-animating-full-screen::-webkit-media-controls-panel): Set the opacity to 0 and 
9145            disable the transition.
9146        * dom/Document.cpp:
9147        (WebCore::Document::Document):
9148        (WebCore::Document::webkitWillEnterFullScreenForElement): Call our new setAnimatingFullScreen function.
9149        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
9150        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
9151        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
9152        (WebCore::Document::isAnimatingFullScreen): Moved here from RenderFullScreen.
9153        (WebCore::Document::setAnimatingFullScreen): Ditto.
9154        * dom/Document.h:
9155        * html/HTMLFormControlElement.cpp: 
9156        (WebCore::updateFromElementCallback): Use the Document's isAnimatingFullScreen function.
9157        * page/FrameView.cpp:
9158        (WebCore::isDocumentRunningFullScreenAnimation): Ditto.
9159        * rendering/RenderFullScreen.cpp:
9160        * rendering/RenderFullScreen.h:
9161        * rendering/RenderLayerCompositor.cpp:
9162        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.
9163        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
9164        * rendering/style/RenderStyleConstants.h:
9165
91662011-05-23  Emil A Eklund  <eae@chromium.org>
9167
9168        Reviewed by Eric Seidel.
9169
9170        Change RenderBlock hit testing to use IntPoint instead x,y pair
9171        https://bugs.webkit.org/show_bug.cgi?id=61146
9172
9173        Covered by existing tests.
9174
9175        * platform/graphics/IntPoint.h:
9176        (WebCore::toSize):
9177        Add toSize function for converting from point to size.
9178
9179        * rendering/RenderBlock.cpp:
9180        (WebCore::RenderBlock::isPointInOverflowControl):
9181        (WebCore::RenderBlock::nodeAtPoint):
9182        (WebCore::RenderBlock::hitTestFloats):
9183        (WebCore::RenderBlock::hitTestColumns):
9184        (WebCore::RenderBlock::hitTestContents):
9185        * rendering/RenderBlock.h:
9186        Change hit testing code in RenderBlock to use IntPoint.
9187
9188        * rendering/RenderListBox.cpp:
9189        (WebCore::RenderListBox::isPointInOverflowControl):
9190        * rendering/RenderListBox.h:
9191        Change overridden method to use IntPoint.
9192
91932011-05-23  Mike Reed  <reed@google.com>
9194
9195        Reviewed by James Robinson.
9196
9197        Skia: Need to implement GraphicsContext::clipConvexPolygon()
9198        https://bugs.webkit.org/show_bug.cgi?id=41311
9199
9200        No new tests. 
9201
9202        * platform/graphics/skia/GraphicsContextSkia.cpp:
9203        (WebCore::setPathFromConvexPoints):
9204        (WebCore::GraphicsContext::drawConvexPolygon):
9205        (WebCore::GraphicsContext::clipConvexPolygon):
9206
92072011-05-23  James Simonsen  <simonjam@chromium.org>
9208
9209        Reviewed by Adam Barth.
9210
9211        Convert raw pointer to RefPtr.
9212        https://bugs.webkit.org/show_bug.cgi?id=61196
9213
9214        * dom/XMLDocumentParserLibxml2.cpp:
9215        (WebCore::XMLDocumentParser::endElementNs):
9216        * dom/XMLDocumentParserQt.cpp:
9217        (WebCore::XMLDocumentParser::parseEndElement):
9218
92192011-05-23  Ryosuke Niwa  <rniwa@webkit.org>
9220
9221        Reviewed by Alexey Proskuryakov.
9222
9223        selectstart is fired for every mouse move
9224        https://bugs.webkit.org/show_bug.cgi?id=19489
9225
9226        Fixed the bug by dispatching selectstart event immediately before modifying selection in
9227        handleMousePressEventSingleClick and updateSelectionForMouseDrag.
9228
9229        Also replaced a boolean EventHandler::m_beganSelectingText by an enum-valued m_selectionInitiationState
9230        to retain 3 states:
9231        1. HaveNotStartedSelection - Selection has not been set by a mouse drag or a mouse click
9232        2. PlacedCaret - A caret was placed by a mouse click, double click, or triple click, and is about
9233        to replace selection if a mouse drag never occurs.
9234        3. ExtendedSelection - A range selection was set by a mouse click, a double click, a triple click,
9235        or a mouse drag; otherwise a caret selection was set by a mouse drag.
9236
9237        State 1 corresponds to m_beganSelectingText being false and state 3 corresponds to m_beganSelectingText
9238        being true. State 2 is used in updateSelectionForMouseDrag to avoid dispatching selectstart twice.
9239
9240        States 1 and 2 are set by updateSelectionForMouseDownDispatchingSelectStart and state 3 is set by
9241        updateSelectionForMouseDrag.
9242
9243        Test: fast/events/selectstart-by-double-triple-clicks.html
9244              fast/events/selectstart-by-drag.html
9245              fast/events/selectstart-by-single-click-with-shift.html
9246
9247        * page/EventHandler.cpp: Removed canMouseDragExtendSelect.
9248        (WebCore::EventHandler::EventHandler): Initializes m_selectionInitiationState.
9249        (WebCore::dispatchSelectStart): Returns true only if selectstart was successfully fired
9250        and default action was not prevented.
9251        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart): Updates m_selectionInitiationState
9252        and modifies the selection if dispatchSelectStart returns true.
9253        (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls updateSelectionForMouseDownDispatchingSelectStart.
9254        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
9255        (WebCore::EventHandler::handleMousePressEventDoubleClick):
9256        (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
9257        (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
9258        (WebCore::canMouseDownStartSelect): No longer dispatches startselect; also renamed from
9259        EventHandler::canMouseDownStartSelect.
9260        (WebCore::EventHandler::handleMousePressEvent): No longer calls canMouseDragExtendSelect.
9261        (WebCore::EventHandler::handleMouseDraggedEvent):
9262        (WebCore::EventHandler::updateSelectionForMouseDrag): Exit early if m_selectionInitiationState is
9263        HaveNotStartedSelection and dispatchSelectStart returns false. Since setSelectionIfPossible dispatches
9264        selectstart event before assigning PlacedCaret or ExtendedSelection to m_selectionInitiationState,
9265        there is no need to dispatch event for those two cases.
9266        (WebCore::EventHandler::handleMouseReleaseEvent):
9267        * page/EventHandler.h: Removed canMouseDownStartSelect and canMouseDragExtendSelect from EventHandler
9268        and added setSelectionIfPossible.
9269
92702011-05-23  Adam Klein  <adamk@chromium.org>
9271
9272        Reviewed by Jian Li.
9273
9274        [fileapi] Add a File::createWithName method to avoid obfuscated filename leakage from FileEntry.file() method
9275        https://bugs.webkit.org/show_bug.cgi?id=61155
9276
9277        Covered by existing tests: fast/filesystem/file-from-file-entry.html
9278                                   fast/filesystem/workers/file-from-file-entry.html
9279                                   fast/filesystem/workers/file-from-file-entry-sync.html
9280
9281        * fileapi/DOMFileSystem.cpp:
9282        (WebCore::DOMFileSystem::createFile): Updated to call createWithName().
9283        * fileapi/DOMFileSystemSync.cpp:
9284        (WebCore::DOMFileSystemSync::createFile): Updated to call createWithName().
9285        * fileapi/File.cpp:
9286        (WebCore::createBlobDataForFile): Added an optional name argument to fix MIME type lookup.
9287        (WebCore::File::createWithRelativePath): Renamed from create() for consistency with new method.
9288        (WebCore::File::File):
9289        * fileapi/File.h:
9290        (WebCore::File::createWithName):
9291        * html/FileInputType.cpp:
9292        (WebCore::FileInputType::setFileList): Updated the single caller of File::createWithRelativePath().
9293
92942011-05-23  Adrienne Walker  <enne@google.com>
9295
9296        Reviewed by James Robinson.
9297
9298        [chromium] Fix division by zero in TilingData for boundary case texture sizes
9299        https://bugs.webkit.org/show_bug.cgi?id=61164
9300
9301        * platform/graphics/gpu/TilingData.cpp:
9302        (WebCore::TilingData::tileXIndexFromSrcCoord):
9303        (WebCore::TilingData::tileYIndexFromSrcCoord):
9304
93052011-05-23  Adam Barth  <abarth@webkit.org>
9306
9307        Reviewed by Eric Seidel.
9308
9309        Update ImageDecoder::create to match sniffing spec
9310        https://bugs.webkit.org/show_bug.cgi?id=47683
9311
9312        This change is difficult to test.  We're making this change to comply
9313        with standards even if the change is difficult to observe.  (This patch
9314        also causes us to match Firefox.)
9315
9316        Test: fast/images/busted-oval-does-not-render.html
9317
9318        * platform/image-decoders/ImageDecoder.cpp:
9319
93202011-05-23  Ruben  <chromium@hybridsource.org>
9321
9322        Reviewed by Tony Chang.
9323
9324        Chromium gyp patch to use new POSIX defines toolkit_uses_gtk and os_posix
9325        https://bugs.webkit.org/show_bug.cgi?id=61219
9326
9327        No new tests, just changing gyp defines.
9328
9329        * WebCore.gyp/WebCore.gyp:
9330
93312011-05-23  Abhishek Arya  <inferno@chromium.org>
9332
9333        Reviewed by Simon Fraser.
9334
9335        Terminate css color parsing on integers which are not followed
9336        by a terminator.
9337        https://bugs.webkit.org/show_bug.cgi?id=61293
9338
9339        Test: fast/css/parse-color-int-or-percent-crash.html
9340
9341        * css/CSSParser.cpp:
9342        (WebCore::parseColorIntOrPercentage):
9343
93442011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
9345
9346        Reviewed by Enrica Casucci.
9347
9348        REGRESSION(r84311): WebKit copies too much styles when copying
9349        https://bugs.webkit.org/show_bug.cgi?id=60914
9350
9351        The bug was caused by WebKit's cloning node hierarchy up until the node that has background color.
9352        Fixed the bug by not cloning background color and adding the effective background color to the wrapping
9353        style span.
9354
9355        Tests: editing/pasteboard/do-no-clone-unnecessary-styles-2.html
9356               editing/pasteboard/do-no-clone-unnecessary-styles.html
9357
9358        * editing/EditingStyle.cpp:
9359        (WebCore::cssValueToRGBA): Extracted from getRGBAFontColor.
9360        (WebCore::getRGBAFontColor): Moved.
9361        (WebCore::rgbaBackgroundColorInEffect): Added.
9362        (WebCore::EditingStyle::init): Added support for InheritablePropertiesAndBackgroundColorInEffect.
9363        (WebCore::EditingStyle::prepareToApplyAt): Include the effective background color at the given position.
9364        Also remove the background color property when the effective background color is equal to the background
9365        color property (in terms of RGBA value) of the editing style.
9366        (WebCore::hasTransparentBackgroundColor): Moved from Editor class.
9367        (WebCore::backgroundColorInEffect): Extracted from Editor::selectionStartCSSPropertyValue.
9368        * editing/EditingStyle.h: Added prototypes for hasTransparentBackgroundColor and backgroundColorInEffect.
9369        * editing/Editor.cpp:
9370        (WebCore::Editor::selectionStartCSSPropertyValue): Calls backgroundColorInEffect.
9371        * editing/Editor.h: Removed hasTransparentBackgroundColor.
9372        * editing/markup.cpp:
9373        (WebCore::isElementPresentational): Reverted r85090 and r84311.
9374        (WebCore::createMarkup): Include the background color in effect when computing the editing style.
9375
93762011-05-23  Roland Steiner  <rolandsteiner@chromium.org>
9377
9378        Reviewed by Dimitri Glazkov.
9379
9380        Update node list cache count on the containing TreeScope rather than the Document
9381        https://bugs.webkit.org/show_bug.cgi?id=59983
9382
9383        Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
9384        Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
9385        Make setDocument() and setDocumentRecursively() private.
9386
9387        No new tests. (refactoring)
9388
9389        * dom/ContainerNode.cpp:
9390        (WebCore::ContainerNode::childrenChanged):
9391        * dom/Node.cpp:
9392        (WebCore::Node::~Node):
9393        (WebCore::Node::setDocument):
9394        (WebCore::Node::setTreeScopeRecursively):
9395        (WebCore::Node::childNodes):
9396        (WebCore::Node::registerDynamicNodeList):
9397        (WebCore::Node::unregisterDynamicNodeList):
9398        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
9399        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
9400        (WebCore::Node::getElementsByTagName):
9401        (WebCore::Node::getElementsByTagNameNS):
9402        (WebCore::Node::getElementsByName):
9403        (WebCore::Node::getElementsByClassName):
9404        * dom/Node.h:
9405        * html/HTMLFormControlElement.cpp:
9406        (WebCore::HTMLFormControlElement::labels):
9407
94082011-05-23  Yury Semikhatsky  <yurys@chromium.org>
9409
9410        Reviewed by Pavel Feldman.
9411
9412        [Chromium] Web Inspector: provide initial implementation of worker inspector transport
9413        https://bugs.webkit.org/show_bug.cgi?id=60267
9414
9415        All methods of WorkerContextInspectorProxy are inlined in WorkerContextProxy and
9416        the class itself is removed. Messages from worker inspector to page inspector
9417        are sent by means of WorkerReportingProxy.
9418
9419        * GNUmakefile.list.am:
9420        * WebCore.gypi:
9421        * WebCore.vcproj/WebCore.vcproj:
9422        * WebCore.xcodeproj/project.pbxproj:
9423        * inspector/InspectorWorkerAgent.cpp:
9424        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
9425        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::proxy):
9426        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::dispatchMessageFromWorker):
9427        (WebCore::InspectorWorkerAgent::sendMessageToWorker):
9428        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
9429        * inspector/InspectorWorkerAgent.h:
9430        * inspector/WorkerInspectorController.cpp:
9431        (WebCore::WorkerInspectorController::connectFrontend):
9432        (WebCore::WorkerInspectorController::disconnectFrontend):
9433        * inspector/WorkerInspectorController.h:
9434        * workers/DefaultSharedWorkerRepository.cpp:
9435        (WebCore::SharedWorkerProxy::postMessageToPageInspector):
9436        * workers/WorkerContextInspectorProxy.h: Removed.
9437        * workers/WorkerContextProxy.h:
9438        (WebCore::WorkerContextProxy::PageInspector::~PageInspector):
9439        (WebCore::WorkerContextProxy::connectToInspector):
9440        (WebCore::WorkerContextProxy::disconnectFromInspector):
9441        (WebCore::WorkerContextProxy::sendMessageToInspector):
9442        * workers/WorkerMessagingProxy.cpp:
9443        (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
9444        * workers/WorkerMessagingProxy.h:
9445        * workers/WorkerReportingProxy.h:
9446
94472011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
9448
9449        Unreviewed, rolling out r87070.
9450        http://trac.webkit.org/changeset/87070
9451        https://bugs.webkit.org/show_bug.cgi?id=61285
9452
9453        broke resource-parameters.html on win, weird failures on wk2
9454        (Requested by caseq on #webkit).
9455
9456        * inspector/front-end/HAREntry.js:
9457        (WebInspector.HAREntry.prototype.build):
9458        (WebInspector.HAREntry.prototype._buildRequest):
9459        (WebInspector.HAREntry.prototype._buildResponse):
9460        (WebInspector.HAREntry.prototype._buildContent):
9461        (WebInspector.HAREntry.prototype._buildCookie):
9462        (WebInspector.HAREntry.prototype._interval):
9463        (WebInspector.HARLog.prototype.build):
9464        * inspector/front-end/Resource.js:
9465        (WebInspector.Resource.prototype.set requestHeaders):
9466        (WebInspector.Resource.prototype.get requestHeadersText):
9467        (WebInspector.Resource.prototype.set requestHeadersText):
9468        (WebInspector.Resource.prototype.get requestHeadersSize):
9469        (WebInspector.Resource.prototype.set responseHeaders):
9470        (WebInspector.Resource.prototype.get responseHeadersText):
9471        (WebInspector.Resource.prototype.set responseHeadersText):
9472        (WebInspector.Resource.prototype.get responseHeadersSize):
9473        (WebInspector.Resource.prototype._headersSize):
9474
94752011-05-18  Pavel Podivilov  <podivilov@chromium.org>
9476
9477        Reviewed by Yury Semikhatsky.
9478
9479        Web Inspector: source mapping for pretty-printed scripts is sometimes inaccurate after indented comments.
9480        https://bugs.webkit.org/show_bug.cgi?id=61037
9481
9482        * inspector/front-end/JavaScriptFormatter.js:
9483        (FormattedContentBuilder.prototype.addToken):
9484        (FormattedContentBuilder.prototype._addComment):
9485        (FormattedContentBuilder.prototype._addText):
9486        (FormattedContentBuilder.prototype._addMappingIfNeeded):
9487
94882011-05-23  Mike West  <mkwst@chromium.org>
9489
9490        Reviewed by Yury Semikhatsky.
9491
9492        Web Inspector: Missing fields in HAR
9493        https://bugs.webkit.org/show_bug.cgi?id=58127
9494        
9495        Specifically, this patch adds:
9496        - entry.request.httpVersion
9497        - entry.request.headersSize
9498        - entry.request.bodySize
9499        - entry.response.httpVersion
9500        - entry.response.headersSize
9501        - entry.response.bodySize
9502        - entry.response.content.compression
9503        
9504        Tests: http/tests/inspector/resource-har-conversion.html
9505               http/tests/inspector/resource-har-headers.html
9506               http/tests/inspector/resource-parameters.html
9507               http/tests/inspector/network/network-size.html
9508
9509        * inspector/front-end/HAREntry.js:
9510        (WebInspector.HAREntry.prototype.build):
9511        (WebInspector.HAREntry.prototype._buildRequest):
9512        (WebInspector.HAREntry.prototype._buildResponse):
9513        (WebInspector.HAREntry.prototype._buildContent):
9514        (WebInspector.HAREntry.prototype._buildCookie):
9515        (WebInspector.HAREntry.prototype._interval):
9516        (WebInspector.HAREntry.prototype.get requestBodySize):
9517        (WebInspector.HAREntry.prototype.get responseBodySize):
9518        (WebInspector.HAREntry.prototype.get responseCompression):
9519        (WebInspector.HARLog.prototype.build):
9520        * inspector/front-end/Resource.js:
9521        (WebInspector.Resource.prototype.set requestHeaders):
9522        (WebInspector.Resource.prototype.get requestHeadersText):
9523        (WebInspector.Resource.prototype.set requestHeadersText):
9524        (WebInspector.Resource.prototype.get requestHeadersSize):
9525        (WebInspector.Resource.prototype.get requestHttpVersion):
9526        (WebInspector.Resource.prototype.set responseHeaders):
9527        (WebInspector.Resource.prototype.get responseHeadersText):
9528        (WebInspector.Resource.prototype.set responseHeadersText):
9529        (WebInspector.Resource.prototype.get responseHeadersSize):
9530        (WebInspector.Resource.prototype.get responseHttpVersion):
9531
95322011-05-23  Andrey Kosyakov  <caseq@chromium.org>
9533
9534        Reviewed by Yury Semikhatsky.
9535
9536        Web Inspector: keyboard shortcut panel is 1px too short
9537        https://bugs.webkit.org/show_bug.cgi?id=61242
9538
9539        Fixed bottom margin of attached helpscreen so it's glued to status bar.
9540
9541        * inspector/front-end/helpScreen.css:
9542        (body.attached .help-window-outer):
9543
95442011-05-23  Kent Tamura  <tkent@chromium.org>
9545
9546        Reviewed by Dimitri Glazkov.
9547
9548        Change text-based <input> types to the new shadow DOM model
9549        https://bugs.webkit.org/show_bug.cgi?id=54179
9550
9551        By this change, text field inputs and textareas have one extra
9552        shadow node at the root of shadow trees.
9553        e.g. Before the change:
9554          <textarea> --(shadow-connection)-- <div> -- ...
9555        After the change:
9556          <textarea> --(shadow-connection)-- {#shadow-root} -- <div> -- ...
9557
9558        The goals of this change are
9559        - Change to the new shadow DOM model, and
9560        - Minimize the patch size.
9561
9562        We should use shadowPseudoId() in the new shadow DOM model, but the
9563        shadow elements in this patch don't use it in order to reduce the patch
9564        size.
9565
9566        Note: This is a re-landing for r87014 with a small fix of
9567        Element::removeShadowRoot().
9568        
9569        * css/html.css:
9570        (input::-webkit-inner-spin-button):
9571         Add vertical-align in order to avoid the button affect the baseline.
9572        (input::-webkit-outer-spin-button): ditto.
9573        (input::-webkit-input-speech-button): ditto.
9574        * dom/Element.cpp:
9575        (WebCore::Element::recalcStyle): Calls styleForRenderer() so that a
9576         subclass of Element can override it.
9577        (WebCore::Element::remvoeShadowRoot):
9578         Fix a wrong parameter for willRemoveDOMNode().
9579        (WebCore::Element::isSpellCheckingEnabled):
9580         Handle ShadowRoot, which is not an Element.
9581        * dom/Node.cpp:
9582          Add utility functions for editing code.
9583        (WebCore::Node::nonBoundaryShadowTreeRootNode):
9584        (WebCore::Node::nonShadowBoundaryParentNode):
9585        * dom/Node.h: Declare them.
9586        * dom/Position.cpp:
9587         - Add some assertions about ShadowRoot
9588         - Replace parentNode() with nonShadowBoundaryParentNode()
9589        Because input/textarea shadow structures are changed.
9590        (WebCore::Position::Position):
9591        (WebCore::Position::containerNode):
9592        (WebCore::Position::parentAnchoredEquivalent):
9593        (WebCore::Position::previous):
9594        (WebCore::Position::next):
9595        (WebCore::Position::parentEditingBoundary):
9596        (WebCore::Position::atStartOfTree):
9597        (WebCore::Position::atEndOfTree):
9598        * dom/Position.h: ditto.
9599        (WebCore::positionInParentBeforeNode):
9600        (WebCore::positionInParentAfterNode):
9601        * editing/CompositeEditCommand.cpp: ditto.
9602        (WebCore::CompositeEditCommand::insertNodeAfter):
9603        (WebCore::CompositeEditCommand::removeNode):
9604        * editing/Editor.cpp:
9605        (WebCore::Editor::findString): ditto.
9606        * editing/FrameSelection.cpp:
9607        (WebCore::FrameSelection::selectAll): Inline shadowTreeRootNode() calls.
9608        * editing/FrameSelection.h:
9609          Remove shadowTreeRootNode(). It is used only by FrameSelection::selectAll().
9610        * editing/InsertParagraphSeparatorCommand.cpp:
9611        (WebCore::InsertParagraphSeparatorCommand::doApply): Use nonShadowBoundaryParentNode()
9612        * editing/ReplaceSelectionCommand.cpp:
9613        (WebCore::ReplacementFragment::removeNode): ditto.
9614        (WebCore::ReplacementFragment::insertNodeBefore): ditto.
9615        * editing/VisibleSelection.cpp:
9616          Rename shadowTreeRootNode() to nonBoundaryShadowTreeRootNode(), and it reutrns
9617          a child node of ShadowRoot.
9618        (WebCore::VisibleSelection::isAll):
9619        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
9620        (WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
9621        * editing/VisibleSelection.h: ditto.
9622        * editing/htmlediting.cpp: Add assertions.
9623        (WebCore::visiblePositionBeforeNode):
9624        (WebCore::visiblePositionAfterNode):
9625        * html/HTMLInputElement.cpp:
9626        (WebCore::HTMLInputElement::create): Calls createShadowSubtree().
9627        (WebCore::HTMLInputElement::createShadowSubtree):
9628          Calls InputType::createShadowSubTree().
9629        (WebCore::HTMLInputElement::innerTextElement):
9630          Accessor of a shadow node. This is used by RenderTextControlSingleLine.
9631        (WebCore::HTMLInputElement::innerBlockElement): ditto.
9632        (WebCore::HTMLInputElement::innerSpinButtonElement): ditto.
9633        (WebCore::HTMLInputElement::outerSpinButtonElement): ditto.
9634        (WebCore::HTMLInputElement::resultsButtonElement): ditto.
9635        (WebCore::HTMLInputElement::cancelButtonElement): ditto.
9636        (WebCore::HTMLInputElement::speechButtonElement): ditto.
9637        (WebCore::HTMLInputElement::parseMappedAttribute):
9638          Rebuild shadow trees because x-webkit-speech attribute affects it.
9639        * html/HTMLInputElement.h: Add declarations.
9640        * html/HTMLIsIndexElement.cpp:
9641        (WebCore::HTMLIsIndexElement::create): Calls createShadowSubtree().
9642        * html/HTMLTextAreaElement.cpp:
9643        (WebCore::HTMLTextAreaElement::create): Calls createShadowSubtree().
9644        (WebCore::HTMLTextAreaElement::createShadowSubtree): Added.
9645        * html/HTMLTextAreaElement.h: Declare createShadowSubtree().
9646        * html/InputType.h: Add default implementations of accessors.
9647        (WebCore::InputType::innerBlockElement):
9648        (WebCore::InputType::innerTextElement):
9649        (WebCore::InputType::innerSpinButtonElement):
9650        (WebCore::InputType::outerSpinButtonElement):
9651        (WebCore::InputType::resultsButtonElement):
9652        (WebCore::InputType::cancelButtonElement):
9653        (WebCore::InputType::speechButtonElement):
9654        * html/SearchInputType.cpp:
9655        (WebCore::SearchInputType::SearchInputType): Initializes new data members.
9656        (WebCore::SearchInputType::createShadowSubtree):
9657          Moved from RenderTextControlSingleLine.
9658        (WebCore::SearchInputType::destroyShadowSubtree): Clear element references.
9659        * html/SearchInputType.h: Add declarations.
9660        (WebCore::SearchInputType::innerBlockElement):
9661        (WebCore::SearchInputType::resultsButtonElement):
9662        (WebCore::SearchInputType::cancelButtonElement):
9663        * html/TextFieldInputType.cpp:
9664        (WebCore::TextFieldInputType::TextFieldInputType):
9665          Initializes new data members.
9666        (WebCore::TextFieldInputType::createShadowSubtree):
9667          Moved from RenderTextControlSingleLine.
9668        (WebCore::TextFieldInputType::destroyShadowSubtree): Clear element references.
9669        * html/TextFieldInputType.h: Add declarations.
9670        (WebCore::TextFieldInputType::innerTextElement):
9671        (WebCore::TextFieldInputType::innerSpinButtonElement):
9672        (WebCore::TextFieldInputType::outerSpinButtonElement):
9673        (WebCore::TextFieldInputType::speechButtonElement):
9674        (WebCore::TextFieldInputType::setInnerTextElement):
9675        (WebCore::TextFieldInputType::setSpeechButtonElement):
9676        * html/shadow/TextControlInnerElements.cpp:
9677        (WebCore::TextControlInnerElement::TextControlInnerElement):
9678          Remove shadowParent parameter. It is unnecessary because we switch to
9679          new shadow model.
9680        (WebCore::TextControlInnerElement::create):
9681          Change the parameter type to Document.
9682        (WebCore::TextControlInnerElement::styleForRenderer):
9683          Override this in order to set style by
9684          RenderTextControlSingleLine::createInnerBlockStyle().
9685        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
9686          Remove shadowParent parameter.
9687          Inherit HTMLDivElement, not TextControlInnerElement.
9688        (WebCore::TextControlInnerTextElement::create): Remove shadowParent parameter.
9689        (WebCore::TextControlInnerTextElement::styleForRenderer):
9690          Override this in order to set style by
9691          RenderTextControlSingleLine::createInnerTextStyle().
9692        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
9693          Inherit HTMLDivElement, not TextControlInnerElement.
9694        (WebCore::SearchFieldResultsButtonElement::styleForRenderer):
9695          Override this in order to set style by
9696          RenderTextControlSingleLine::createResultButtonStyle().
9697        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
9698          Inherit HTMLDivElement, not TextControlInnerElement.
9699        (WebCore::SearchFieldCancelButtonElement::styleForRenderer):
9700          Override this in order to set style by
9701          RenderTextControlSingleLine::createCancelButtonStyle().
9702        (WebCore::SearchFieldCancelButtonElement::detach):
9703          Update for the parent class change.
9704        (WebCore::SpinButtonElement::SpinButtonElement):
9705          - Change the parameter type: shadowParent -> Document
9706          - Add the inner flag
9707          - Inherit HTMLDivElement, not TextControlInnerElement.
9708        (WebCore::SpinButtonElement::createInner): Introduce a new factory
9709          method to hide a bool parameter of the constructor.
9710        (WebCore::SpinButtonElement::createOuter): ditto.
9711        (WebCore::SpinButtonElement::styleForRenderer):
9712          Override this in order to set style by
9713          RenderTextControlSingleLine::createInnerSpinButtonStyle() or
9714          createOuterSpinButtonStyle().
9715        (WebCore::SpinButtonElement::detach): Update for the parent class change.
9716        (WebCore::SpinButtonElement::setHovered): ditto.
9717        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
9718          - Change the parameter type: shadowParent -> Document
9719          - Inherit HTMLDivElement, not TextControlInnerElement.
9720          - Do not register this as a speech input listener here.
9721        (WebCore::InputFieldSpeechButtonElement::create):
9722          Update for the parameter change.
9723        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
9724          Do not handle click event if listener registration is not done.
9725        (WebCore::InputFieldSpeechButtonElement::attach):
9726          Register this as a speech input listener.
9727        (WebCore::InputFieldSpeechButtonElement::detach):
9728          Update for the parent class change.
9729        (WebCore::InputFieldSpeechButtonElement::styleForRenderer):
9730          Override this in order to set style by
9731          RenderTextControlSingleLine::createSpeechButtonStyle().
9732        * html/shadow/TextControlInnerElements.h:
9733        (WebCore::TextControlInnerTextElement::isMouseFocusable):
9734          Add this because the class is not a subclass of TextControllInnerElement.
9735        (WebCore::SearchFieldResultsButtonElement::isMouseFocusable): ditto.
9736        (WebCore::SearchFieldCancelButtonElement::isMouseFocusable): ditto.
9737        (WebCore::SpinButtonElement::isMouseFocusable): ditto.
9738        (WebCore::InputFieldSpeechButtonElement::isMouseFocusable): ditto.
9739        * rendering/RenderTextControl.cpp:
9740        (WebCore::RenderTextControl::~RenderTextControl): Remove unnecessary code.
9741        (WebCore::RenderTextControl::styleDidChange):
9742          innerTextElement can have no renderer.
9743          Explicitly call setNeedsStyleRecals() for innerTextElement. It is
9744          needed for LayoutTests/editing/selection/select-across-readonly-input-*.html.
9745        (WebCore::RenderTextControl::textBlockWidth): Member data -> function
9746        (WebCore::RenderTextControl::updateFromElement): ditto.
9747        (WebCore::RenderTextControl::setInnerTextValue): ditto.
9748        (WebCore::RenderTextControl::hasVisibleTextArea): ditto.
9749        (WebCore::RenderTextControl::isSelectableElement): ditto.
9750        (WebCore::RenderTextControl::selection): ditto.
9751        (WebCore::RenderTextControl::visiblePositionForIndex): ditto.
9752        (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
9753        (WebCore::RenderTextControl::text): ditto.
9754        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
9755        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
9756        (WebCore::RenderTextControl::hitInnerTextElement): ditto.
9757        (WebCore::RenderTextControl::forwardEvent): ditto.
9758        (WebCore::RenderTextControl::computePreferredLogicalWidths): ditto.
9759        * rendering/RenderTextControl.h:
9760          - Make m_innerText virtual function.
9761          - Make createInnerTextStyle() public in order that
9762            TextControlInnerElements can call it.
9763        * rendering/RenderTextControlMultiLine.cpp:
9764        (WebCore::RenderTextControlMultiLine::innerTextElement): Added.
9765        (WebCore::RenderTextControlMultiLine::updateFromElement):
9766          Remove unnecessary createSubtreeIfNeeded() call.
9767        * rendering/RenderTextControlMultiLine.h: Add a declaration.
9768        * rendering/RenderTextControlSingleLine.cpp:
9769        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
9770          Remove unnecessary code.
9771        (WebCore::RenderTextControlSingleLine::innerTextElement): Added.
9772        (WebCore::RenderTextControlSingleLine::innerBlockElement): Added.
9773        (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): Added.
9774        (WebCore::RenderTextControlSingleLine::outerSpinButtonElement): Added.
9775        (WebCore::RenderTextControlSingleLine::resultsButtonElement): Added.
9776        (WebCore::RenderTextControlSingleLine::cancelButtonElement): Added.
9777        (WebCore::RenderTextControlSingleLine::speechButtonElement): Added.
9778        (WebCore::RenderTextControlSingleLine::textBaseStyle): Data member -> function
9779        (WebCore::RenderTextControlSingleLine::subtreeHasChanged): ditto.
9780        (WebCore::RenderTextControlSingleLine::layout): ditto.
9781        (WebCore::RenderTextControlSingleLine::nodeAtPoint): ditto.
9782        (WebCore::RenderTextControlSingleLine::forwardEvent): ditto.
9783        (WebCore::RenderTextControlSingleLine::styleDidChange): ditto.
9784        (WebCore::RenderTextControlSingleLine::hasControlClip): ditto.
9785        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
9786        (WebCore::RenderTextControlSingleLine::textBlockWidth): ditto.
9787        (WebCore::RenderTextControlSingleLine::decorationWidthRight): ditto.
9788        (WebCore::RenderTextControlSingleLine::preferredContentWidth): ditto.
9789        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): ditto.
9790        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): ditto.
9791        (WebCore::RenderTextControlSingleLine::updateFromElement):
9792          ditto, and remove unnecessary createSubtreeIfNeeded() call.
9793        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
9794          Data member -> function
9795        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): ditto.
9796        (WebCore::RenderTextControlSingleLine::clientPaddingLeft): ditto.
9797        (WebCore::RenderTextControlSingleLine::clientPaddingRight): ditto.
9798        (WebCore::RenderTextControlSingleLine::textBlockInsetTop): ditto.
9799        * rendering/RenderTextControlSingleLine.h:
9800          Add declarations, and remove unnecessary data members.
9801
98022011-05-19  Vitaly Repeshko  <vitalyr@chromium.org>
9803
9804        Reviewed by Adam Barth.
9805
9806        [V8] Explicitly mark objects with complex GC rules.
9807        https://bugs.webkit.org/show_bug.cgi?id=61131
9808
9809        From the GC point view there are two kinds of objects: the ones
9810        that may participate in object grouping (i.e. their lifetime
9811        depends on other objects) and the ones that never participate in
9812        grouping (independent). V8 added support for marking persistent
9813        handles as independent so that the GC can process the objects they
9814        hold faster. The motivating use case here is typed arrays.
9815
9816        This patch adds V8-specific inherited IDL attribute
9817        V8DependentLifetime to types used in V8GCController, which is
9818        exactly the set of types with object lifetimes depending on other
9819        objects. The handles for the types that are not marked with the
9820        new attribute can be marked as independent and GC-ed faster.
9821
9822        * bindings/scripts/CodeGeneratorV8.pm: Added proccessing of the new attribute.
9823
9824        Updated test output:
9825        * bindings/scripts/test/V8/V8TestInterface.cpp:
9826        (WebCore::V8TestInterface::wrapSlow):
9827        * bindings/scripts/test/V8/V8TestInterface.h:
9828        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
9829        (WebCore::V8TestMediaQueryListListener::wrapSlow):
9830        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
9831        * bindings/scripts/test/V8/V8TestObj.cpp:
9832        (WebCore::V8TestObj::wrapSlow):
9833        * bindings/scripts/test/V8/V8TestObj.h:
9834        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
9835        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
9836        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
9837
9838        Added the new attribute:
9839        * css/CSSRule.idl:
9840        * css/CSSRuleList.idl:
9841        * css/CSSStyleDeclaration.idl:
9842        * css/CSSValue.idl:
9843        * css/StyleSheet.idl:
9844        * css/StyleSheetList.idl:
9845        * dom/DOMImplementation.idl:
9846        * dom/Node.idl:
9847
98482011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
9849
9850        Unreviewed, rolling out r87014, r87016, and r87017.
9851        http://trac.webkit.org/changeset/87014
9852        http://trac.webkit.org/changeset/87016
9853        http://trac.webkit.org/changeset/87017
9854        https://bugs.webkit.org/show_bug.cgi?id=61266
9855
9856        It made more tests assert (Requested by Ossy on #webkit).
9857
9858        * css/html.css:
9859        (input::-webkit-inner-spin-button):
9860        (input::-webkit-outer-spin-button):
9861        (input::-webkit-input-speech-button):
9862        * dom/Element.cpp:
9863        (WebCore::Element::recalcStyle):
9864        (WebCore::Element::isSpellCheckingEnabled):
9865        * dom/Node.cpp:
9866        * dom/Node.h:
9867        * dom/Position.cpp:
9868        (WebCore::Position::Position):
9869        (WebCore::Position::containerNode):
9870        (WebCore::Position::parentAnchoredEquivalent):
9871        (WebCore::Position::previous):
9872        (WebCore::Position::next):
9873        (WebCore::Position::parentEditingBoundary):
9874        (WebCore::Position::atStartOfTree):
9875        (WebCore::Position::atEndOfTree):
9876        * dom/Position.h:
9877        (WebCore::positionInParentBeforeNode):
9878        (WebCore::positionInParentAfterNode):
9879        * editing/CompositeEditCommand.cpp:
9880        (WebCore::CompositeEditCommand::insertNodeAfter):
9881        (WebCore::CompositeEditCommand::removeNode):
9882        * editing/Editor.cpp:
9883        (WebCore::Editor::findString):
9884        * editing/FrameSelection.cpp:
9885        (WebCore::FrameSelection::selectAll):
9886        * editing/FrameSelection.h:
9887        (WebCore::FrameSelection::shadowTreeRootNode):
9888        * editing/InsertParagraphSeparatorCommand.cpp:
9889        (WebCore::InsertParagraphSeparatorCommand::doApply):
9890        * editing/ReplaceSelectionCommand.cpp:
9891        (WebCore::ReplacementFragment::removeNode):
9892        (WebCore::ReplacementFragment::insertNodeBefore):
9893        * editing/VisibleSelection.cpp:
9894        (WebCore::VisibleSelection::isAll):
9895        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
9896        (WebCore::VisibleSelection::shadowTreeRootNode):
9897        * editing/VisibleSelection.h:
9898        * editing/htmlediting.cpp:
9899        (WebCore::visiblePositionBeforeNode):
9900        (WebCore::visiblePositionAfterNode):
9901        * html/HTMLInputElement.cpp:
9902        (WebCore::HTMLInputElement::create):
9903        (WebCore::HTMLInputElement::parseMappedAttribute):
9904        * html/HTMLInputElement.h:
9905        * html/HTMLIsIndexElement.cpp:
9906        (WebCore::HTMLIsIndexElement::create):
9907        * html/HTMLTextAreaElement.cpp:
9908        (WebCore::HTMLTextAreaElement::create):
9909        * html/HTMLTextAreaElement.h:
9910        * html/InputType.h:
9911        * html/SearchInputType.cpp:
9912        * html/SearchInputType.h:
9913        (WebCore::SearchInputType::SearchInputType):
9914        * html/TextFieldInputType.cpp:
9915        * html/TextFieldInputType.h:
9916        (WebCore::TextFieldInputType::TextFieldInputType):
9917        * html/shadow/TextControlInnerElements.cpp:
9918        (WebCore::TextControlInnerElement::TextControlInnerElement):
9919        (WebCore::TextControlInnerElement::create):
9920        (WebCore::TextControlInnerElement::attachInnerElement):
9921        (WebCore::TextControlInnerElement::detach):
9922        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
9923        (WebCore::TextControlInnerTextElement::create):
9924        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
9925        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
9926        (WebCore::SearchFieldCancelButtonElement::detach):
9927        (WebCore::SpinButtonElement::SpinButtonElement):
9928        (WebCore::SpinButtonElement::create):
9929        (WebCore::SpinButtonElement::detach):
9930        (WebCore::SpinButtonElement::setHovered):
9931        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
9932        (WebCore::InputFieldSpeechButtonElement::create):
9933        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
9934        (WebCore::InputFieldSpeechButtonElement::detach):
9935        * html/shadow/TextControlInnerElements.h:
9936        * rendering/RenderTextControl.cpp:
9937        (WebCore::RenderTextControl::~RenderTextControl):
9938        (WebCore::RenderTextControl::styleDidChange):
9939        (WebCore::RenderTextControl::setInnerTextStyle):
9940        (WebCore::RenderTextControl::createSubtreeIfNeeded):
9941        (WebCore::RenderTextControl::textBlockWidth):
9942        (WebCore::RenderTextControl::updateFromElement):
9943        (WebCore::RenderTextControl::setInnerTextValue):
9944        (WebCore::RenderTextControl::hasVisibleTextArea):
9945        (WebCore::RenderTextControl::isSelectableElement):
9946        (WebCore::RenderTextControl::selection):
9947        (WebCore::RenderTextControl::visiblePositionForIndex):
9948        (WebCore::RenderTextControl::indexForVisiblePosition):
9949        (WebCore::RenderTextControl::text):
9950        (WebCore::RenderTextControl::textWithHardLineBreaks):
9951        (WebCore::RenderTextControl::computeLogicalHeight):
9952        (WebCore::RenderTextControl::hitInnerTextElement):
9953        (WebCore::RenderTextControl::forwardEvent):
9954        (WebCore::RenderTextControl::computePreferredLogicalWidths):
9955        (WebCore::RenderTextControl::innerTextElement):
9956        * rendering/RenderTextControl.h:
9957        * rendering/RenderTextControlMultiLine.cpp:
9958        (WebCore::RenderTextControlMultiLine::updateFromElement):
9959        * rendering/RenderTextControlMultiLine.h:
9960        * rendering/RenderTextControlSingleLine.cpp:
9961        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
9962        (WebCore::RenderTextControlSingleLine::textBaseStyle):
9963        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
9964        (WebCore::RenderTextControlSingleLine::layout):
9965        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
9966        (WebCore::RenderTextControlSingleLine::forwardEvent):
9967        (WebCore::RenderTextControlSingleLine::styleDidChange):
9968        (WebCore::RenderTextControlSingleLine::hasControlClip):
9969        (WebCore::RenderTextControlSingleLine::controlClipRect):
9970        (WebCore::RenderTextControlSingleLine::textBlockWidth):
9971        (WebCore::RenderTextControlSingleLine::decorationWidthRight):
9972        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
9973        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
9974        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
9975        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
9976        (WebCore::RenderTextControlSingleLine::updateFromElement):
9977        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
9978        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
9979        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
9980        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
9981        (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
9982        * rendering/RenderTextControlSingleLine.h:
9983
99842011-05-23  Syed Idris Shah  <syed.idris-shah@nokia.com>
9985
9986        Reviewed by Andreas Kling.
9987
9988        GraphicsContext3DInternal object should be called for getAttachedShaders.
9989        [Qt] fast/canvas/webgl/gl-object-get-calls.html crash for Qt based webkit
9990        https://bugs.webkit.org/show_bug.cgi?id=61202 
9991
9992        LayoutTests/fast/canvas/webgl/gl-object-get-calls.html
9993
9994        getAttachedShaders should be called on GraphicsContext3DInternal instance.
9995        It was left out by mistake.
9996
9997        * platform/graphics/qt/GraphicsContext3DQt.cpp: 
9998        (WebCore::GraphicsContext3D::getAttachedShaders): GraphicsContext3DInternal instance should be called.
9999
100002011-05-23  Carlos Garcia Campos  <cgarcia@igalia.com>
10001
10002        Unreviewed. Strict PassOwnPtr build fix.
10003
10004        * platform/text/gtk/TextCodecGtk.cpp:
10005        (WebCore::newTextCodecGtk):
10006
100072011-05-23  Mikhail Naganov  <mnaganov@chromium.org>
10008
10009        Reviewed by Yury Semikhatsky.
10010
10011        Web Inspector: [Chromium] Show "Please wait" message during initial
10012        heap snapshot processing.
10013        https://bugs.webkit.org/show_bug.cgi?id=61040
10014
10015        * inspector/front-end/DetailedHeapshotView.js:
10016        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
10017        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
10018        (WebInspector.DetailedHeapshotView.profileCallback):
10019        (WebInspector.DetailedHeapshotView.setDataSource):
10020        (WebInspector.DetailedHeapshotView):
10021        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
10022        (WebInspector.DetailedHeapshotView.prototype._changeBase.setDataSource):
10023        (WebInspector.DetailedHeapshotView.prototype._changeBase):
10024        (WebInspector.DetailedHeapshotView.prototype._changeView.setDataSource):
10025        (WebInspector.DetailedHeapshotView.prototype._changeView):
10026        * inspector/front-end/PleaseWaitMessage.js:
10027        (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
10028
100292011-05-23  Adam Barth  <abarth@webkit.org>
10030
10031        Strict PassOwnPtr build fixes.
10032
10033        * platform/gtk/GeolocationServiceGtk.cpp:
10034        (WebCore::GeolocationServiceGtk::create):
10035        * platform/gtk/RenderThemeGtk.cpp:
10036        (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
10037        (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
10038        (WebCore::RenderThemeGtk::adjustProgressBarStyle):
10039
100402011-05-22  Adam Barth  <abarth@webkit.org>
10041
10042        Strict PassOwnPtr build fix.
10043
10044        * platform/efl/RenderThemeEfl.cpp:
10045        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
10046
100472011-05-22  Andrew Wason  <rectalogic@rectalogic.com>
10048
10049        Reviewed by Benjamin Poulain.
10050
10051        [Qt] Implement toImageData() in QtWebKit Bridge
10052        https://bugs.webkit.org/show_bug.cgi?id=60897
10053
10054        Tests are in WebKit/qt/tests/hybridPixmap
10055
10056        * bridge/qt/qt_pixmapruntime.cpp:
10057        (JSC::Bindings::QtPixmapToImageDataMethod::name):
10058        (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
10059        (JSC::Bindings::QtPixmapToImageDataMethod::copyPixels):
10060        (JSC::Bindings::QtPixmapClass::methodsNamed):
10061        (JSC::Bindings::QtPixmapInstance::getPropertyNames):
10062         Add toImageData() to Qt Bridge, alternative to
10063         assignToHTMLImageElement().
10064
100652011-05-22  Dominic Cooney  <dominicc@chromium.org>
10066
10067        Reviewed by Dimitri Glazkov.
10068
10069        When removing a shadow root, also remove it from the render tree.
10070        https://bugs.webkit.org/show_bug.cgi?id=61245
10071
10072        Test: existing fast/dom/shadow/layout-tests-can-access-shadow.html
10073
10074        * dom/Element.cpp:
10075        (WebCore::Element::removeShadowRoot): Call detach if attached.
10076
100772011-05-22  Dirk Schulze  <krit@webkit.org>
10078
10079        Reviewed by Nikolas Zimmermann.
10080
10081        Don't do manually style resolution for SVGElements with renderer
10082        https://bugs.webkit.org/show_bug.cgi?id=59176
10083
10084        General clean-up.
10085
10086        Don't resolve style manually, instead ask the RenderObject for its style.
10087
10088        Cleanup svgattrs.in, some SVG element names were accidently listed there as attributes.
10089
10090        No new tests needed. No change of behavior.
10091
10092        * svg/SVGFEDiffuseLightingElement.cpp:
10093        (WebCore::SVGFEDiffuseLightingElement::build):
10094        * svg/SVGFEDropShadowElement.cpp:
10095        (WebCore::SVGFEDropShadowElement::build):
10096        * svg/SVGFEFloodElement.cpp:
10097        (WebCore::SVGFEFloodElement::build):
10098        * svg/SVGFESpecularLightingElement.cpp:
10099        (WebCore::SVGFESpecularLightingElement::build):
10100        * svg/svgattrs.in:
10101
101022011-05-21  Dirk Schulze  <krit@webkit.org>
10103
10104        Reviewed by Darin Adler.
10105
10106        REGRESSION(r66731): pointer-events are broken in some cases
10107        https://bugs.webkit.org/show_bug.cgi?id=45467
10108
10109        The SVGSVGElement shouldn't be the target of a mouse event, if its pointer-events attribute is set
10110        to 'none'. This matches the behavior on Firefox where an embedded SVG element is the target of an event,
10111        if none of its childs caught the event. This is the case for all pointer-events other than 'none'.
10112
10113        Tests: svg/custom/pointer-events-on-svg-with-pointer.xhtml
10114               svg/custom/pointer-events-on-svg-without-pointer.xhtml
10115
10116        * rendering/svg/RenderSVGRoot.cpp:
10117        (WebCore::RenderSVGRoot::nodeAtPoint):
10118
101192011-05-21  Dan Bernstein  <mitz@apple.com>
10120
10121        Reviewed by Darin Adler.
10122
10123        <rdar://problem/9479926> REGRESSION (r82144): Icon overlaps text in Twitter message dialog
10124        https://bugs.webkit.org/show_bug.cgi?id=61241
10125
10126        Test: fast/block/positioning/start-ignoring-before.html
10127
10128        * rendering/RenderBlockLineLayout.cpp:
10129        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Added a boolean parameter saying
10130        whether to merge the first trailing space with the line break.
10131        (WebCore::RenderBlock::LineBreaker::nextLineBreak): When adding a midpoint behind the current
10132        character, account for trailing positioned objects that occurred after the midpoint by calling
10133        updateMidpointsForTrailingBoxes(), which adds midpoints for them.
10134
101352011-05-21  Jeremy Noble  <jer.noble@apple.com>
10136
10137        Reviewed by Eric Carlson.
10138
10139        WebKit2: fix failing fullscreen/full-screen-remove* tests.
10140        https://bugs.webkit.org/show_bug.cgi?id=61027
10141
10142        * dom/Document.cpp:
10143        (WebCore::Document::fullScreenChangeDelayTimerFired): dispatchEvent can be
10144            synchronous, so make sure to check whether the current element is
10145            in the DOM before dispatching.
10146
101472011-05-21  Gavin Peters  <gavinp@chromium.org>
10148
10149        Reviewed by Adam Barth.
10150
10151        Add rel type prerender to distinguish prerender from prefetch
10152        https://bugs.webkit.org/show_bug.cgi?id=61079
10153
10154        Chrome right now uses <link rel=prefetch ...> for one of two things,
10155        to warm the cache in the same way as firefox, or to launch a speculative
10156        rendering of a web page, for faster "loading" when the user navigates to it.
10157
10158        This new rel type will let us distinguish the two cases; the rel type prerender
10159        isn't used on the web today, but the Google Web Search example prerendering application
10160        is ready to experiment with it.
10161
10162        Test: fast/dom/HTMLLinkElement/prerender.html
10163
10164        * html/HTMLLinkElement.cpp:
10165        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
10166        (WebCore::HTMLLinkElement::process):
10167        * html/HTMLLinkElement.h:
10168        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
10169        * loader/cache/CachedResource.cpp:
10170        (WebCore::defaultPriorityForResourceType):
10171        * loader/cache/CachedResource.h:
10172        (WebCore::CachedResource::isLinkResource):
10173        * loader/cache/CachedResourceLoader.cpp:
10174        (WebCore::createResource):
10175        (WebCore::CachedResourceLoader::requestLinkResource):
10176        (WebCore::CachedResourceLoader::canRequest):
10177        * loader/cache/CachedResourceLoader.h:
10178        * loader/cache/CachedResourceRequest.cpp:
10179        (WebCore::cachedResourceTypeToTargetType):
10180        (WebCore::CachedResourceRequest::load):
10181        * platform/network/ResourceRequestBase.h:
10182
101832011-05-21  Emil A Eklund  <eae@chromium.org>
10184
10185        Reviewed by Eric Seidel.
10186
10187        Change RenderLineBoxList::hitTest to use IntPoint
10188        https://bugs.webkit.org/show_bug.cgi?id=61156
10189
10190        Change the RenderLineBoxList hit testing to use IntPoint and clean up the rect calculation.
10191
10192        Covered by existing tests.
10193
10194        * rendering/RenderBlock.cpp:
10195        (WebCore::RenderBlock::hitTestContents):
10196        * rendering/RenderInline.cpp:
10197        (WebCore::RenderInline::nodeAtPoint):
10198        * rendering/RenderLineBoxList.cpp:
10199        (WebCore::RenderLineBoxList::hitTest):
10200        * rendering/RenderLineBoxList.h:
10201
102022011-05-21  Emil A Eklund  <eae@chromium.org>
10203
10204        Reviewed by Eric Seidel.
10205
10206        Change HitTestResult to use IntPoint
10207        https://bugs.webkit.org/show_bug.cgi?id=61230
10208
10209        Covered by existing tests.
10210
10211        * rendering/EllipsisBox.cpp:
10212        (WebCore::EllipsisBox::nodeAtPoint):
10213        * rendering/HitTestResult.cpp:
10214        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
10215        * rendering/HitTestResult.h:
10216        (WebCore::HitTestResult::isRectBasedTest):
10217        * rendering/InlineFlowBox.cpp:
10218        (WebCore::InlineFlowBox::nodeAtPoint):
10219        * rendering/InlineTextBox.cpp:
10220        (WebCore::InlineTextBox::nodeAtPoint):
10221        * rendering/RenderBlock.cpp:
10222        (WebCore::RenderBlock::nodeAtPoint):
10223        (WebCore::RenderBlock::hitTestColumns):
10224        * rendering/RenderBox.cpp:
10225        (WebCore::RenderBox::nodeAtPoint):
10226        * rendering/RenderTable.cpp:
10227        (WebCore::RenderTable::nodeAtPoint):
10228        * rendering/svg/RenderSVGRoot.cpp:
10229        (WebCore::RenderSVGRoot::nodeAtPoint):
10230
102312011-05-21  Jochen Eisinger  <jochen@chromium.org>
10232
10233        Reviewed by Darin Fisher.
10234
10235        [chromium] add extraData field to resource requests
10236        https://bugs.webkit.org/show_bug.cgi?id=61033
10237
10238        * platform/network/chromium/ResourceRequest.h:
10239        (WebCore::ResourceRequest::ExtraData::~ExtraData):
10240        (WebCore::ResourceRequest::extraData):
10241        (WebCore::ResourceRequest::setExtraData):
10242
102432011-05-21  Kent Tamura  <tkent@chromium.org>
10244
10245        Reviewed by Dimitri Glazkov.
10246
10247        Change text-based <input> types to the new shadow DOM model
10248        https://bugs.webkit.org/show_bug.cgi?id=54179
10249
10250        By this change, text field inputs and textareas have one extra
10251        shadow node at the root of shadow trees.
10252        e.g. Before the change:
10253          <textarea> --(shadow-connection)-- <div> -- ...
10254        After the change:
10255          <textarea> --(shadow-connection)-- {#shadow-root} -- <div> -- ...
10256
10257        The goals of this change are
10258        - Change to the new shadow DOM model, and
10259        - Minimize the patch size.
10260
10261        We should use shadowPseudoId() in the new shadow DOM model, but the
10262        shadow elements in this patch don't use it in order to reduce the patch
10263        size.
10264
10265        * css/html.css:
10266        (input::-webkit-inner-spin-button):
10267         Add vertical-align in order to avoid the button affect the baseline.
10268        (input::-webkit-outer-spin-button): ditto.
10269        (input::-webkit-input-speech-button): ditto.
10270        * dom/Element.cpp:
10271        (WebCore::Element::recalcStyle): Calls styleForRenderer() so that a
10272         subclass of Element can override it.
10273        (WebCore::Element::isSpellCheckingEnabled):
10274        Handle ShadowRoot, which is not an Element.
10275        * dom/Node.cpp:
10276          Add utility functions for editing code.
10277        (WebCore::Node::nonBoundaryShadowTreeRootNode):
10278        (WebCore::Node::nonShadowBoundaryParentNode):
10279        * dom/Node.h: Declare them.
10280        * dom/Position.cpp:
10281         - Add some assertions about ShadowRoot
10282         - Replace parentNode() with nonShadowBoundaryParentNode()
10283        Because input/textarea shadow structures are changed.
10284        (WebCore::Position::Position):
10285        (WebCore::Position::containerNode):
10286        (WebCore::Position::parentAnchoredEquivalent):
10287        (WebCore::Position::previous):
10288        (WebCore::Position::next):
10289        (WebCore::Position::parentEditingBoundary):
10290        (WebCore::Position::atStartOfTree):
10291        (WebCore::Position::atEndOfTree):
10292        * dom/Position.h: ditto.
10293        (WebCore::positionInParentBeforeNode):
10294        (WebCore::positionInParentAfterNode):
10295        * editing/CompositeEditCommand.cpp: ditto.
10296        (WebCore::CompositeEditCommand::insertNodeAfter):
10297        (WebCore::CompositeEditCommand::removeNode):
10298        * editing/Editor.cpp:
10299        (WebCore::Editor::findString): ditto.
10300        * editing/FrameSelection.cpp:
10301        (WebCore::FrameSelection::selectAll): Inline shadowTreeRootNode() calls.
10302        * editing/FrameSelection.h:
10303          Remove shadowTreeRootNode(). It is used only by FrameSelection::selectAll().
10304        * editing/InsertParagraphSeparatorCommand.cpp:
10305        (WebCore::InsertParagraphSeparatorCommand::doApply): Use nonShadowBoundaryParentNode()
10306        * editing/ReplaceSelectionCommand.cpp:
10307        (WebCore::ReplacementFragment::removeNode): ditto.
10308        (WebCore::ReplacementFragment::insertNodeBefore): ditto.
10309        * editing/VisibleSelection.cpp:
10310          Rename shadowTreeRootNode() to nonBoundaryShadowTreeRootNode(), and it reutrns
10311          a child node of ShadowRoot.
10312        (WebCore::VisibleSelection::isAll):
10313        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
10314        (WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
10315        * editing/VisibleSelection.h: ditto.
10316        * editing/htmlediting.cpp: Add assertions.
10317        (WebCore::visiblePositionBeforeNode):
10318        (WebCore::visiblePositionAfterNode):
10319        * html/HTMLInputElement.cpp:
10320        (WebCore::HTMLInputElement::create): Calls createShadowSubtree().
10321        (WebCore::HTMLInputElement::createShadowSubtree):
10322          Calls InputType::createShadowSubTree().
10323        (WebCore::HTMLInputElement::innerTextElement):
10324          Accessor of a shadow node. This is used by RenderTextControlSingleLine.
10325        (WebCore::HTMLInputElement::innerBlockElement): ditto.
10326        (WebCore::HTMLInputElement::innerSpinButtonElement): ditto.
10327        (WebCore::HTMLInputElement::outerSpinButtonElement): ditto.
10328        (WebCore::HTMLInputElement::resultsButtonElement): ditto.
10329        (WebCore::HTMLInputElement::cancelButtonElement): ditto.
10330        (WebCore::HTMLInputElement::speechButtonElement): ditto.
10331        (WebCore::HTMLInputElement::parseMappedAttribute):
10332          Rebuild shadow trees because x-webkit-speech attribute affects it.
10333        * html/HTMLInputElement.h: Add declarations.
10334        * html/HTMLIsIndexElement.cpp:
10335        (WebCore::HTMLIsIndexElement::create): Calls createShadowSubtree().
10336        * html/HTMLTextAreaElement.cpp:
10337        (WebCore::HTMLTextAreaElement::create): Calls createShadowSubtree().
10338        (WebCore::HTMLTextAreaElement::createShadowSubtree): Added.
10339        * html/HTMLTextAreaElement.h: Declare createShadowSubtree().
10340        * html/InputType.h: Add default implementations of accessors.
10341        (WebCore::InputType::innerBlockElement):
10342        (WebCore::InputType::innerTextElement):
10343        (WebCore::InputType::innerSpinButtonElement):
10344        (WebCore::InputType::outerSpinButtonElement):
10345        (WebCore::InputType::resultsButtonElement):
10346        (WebCore::InputType::cancelButtonElement):
10347        (WebCore::InputType::speechButtonElement):
10348        * html/SearchInputType.cpp:
10349        (WebCore::SearchInputType::SearchInputType): Initializes new data members.
10350        (WebCore::SearchInputType::createShadowSubtree):
10351          Moved from RenderTextControlSingleLine.
10352        (WebCore::SearchInputType::destroyShadowSubtree): Clear element references.
10353        * html/SearchInputType.h: Add declarations.
10354        (WebCore::SearchInputType::innerBlockElement):
10355        (WebCore::SearchInputType::resultsButtonElement):
10356        (WebCore::SearchInputType::cancelButtonElement):
10357        * html/TextFieldInputType.cpp:
10358        (WebCore::TextFieldInputType::TextFieldInputType):
10359          Initializes new data members.
10360        (WebCore::TextFieldInputType::createShadowSubtree):
10361          Moved from RenderTextControlSingleLine.
10362        (WebCore::TextFieldInputType::destroyShadowSubtree): Clear element references.
10363        * html/TextFieldInputType.h: Add declarations.
10364        (WebCore::TextFieldInputType::innerTextElement):
10365        (WebCore::TextFieldInputType::innerSpinButtonElement):
10366        (WebCore::TextFieldInputType::outerSpinButtonElement):
10367        (WebCore::TextFieldInputType::speechButtonElement):
10368        (WebCore::TextFieldInputType::setInnerTextElement):
10369        (WebCore::TextFieldInputType::setSpeechButtonElement):
10370        * html/shadow/TextControlInnerElements.cpp:
10371        (WebCore::TextControlInnerElement::TextControlInnerElement):
10372          Remove shadowParent parameter. It is unnecessary because we switch to
10373          new shadow model.
10374        (WebCore::TextControlInnerElement::create):
10375          Change the parameter type to Document.
10376        (WebCore::TextControlInnerElement::styleForRenderer):
10377          Override this in order to set style by
10378          RenderTextControlSingleLine::createInnerBlockStyle().
10379        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
10380          Remove shadowParent parameter.
10381          Inherit HTMLDivElement, not TextControlInnerElement.
10382        (WebCore::TextControlInnerTextElement::create): Remove shadowParent parameter.
10383        (WebCore::TextControlInnerTextElement::styleForRenderer):
10384          Override this in order to set style by
10385          RenderTextControlSingleLine::createInnerTextStyle().
10386        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
10387          Inherit HTMLDivElement, not TextControlInnerElement.
10388        (WebCore::SearchFieldResultsButtonElement::styleForRenderer):
10389          Override this in order to set style by
10390          RenderTextControlSingleLine::createResultButtonStyle().
10391        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
10392          Inherit HTMLDivElement, not TextControlInnerElement.
10393        (WebCore::SearchFieldCancelButtonElement::styleForRenderer):
10394          Override this in order to set style by
10395          RenderTextControlSingleLine::createCancelButtonStyle().
10396        (WebCore::SearchFieldCancelButtonElement::detach):
10397          Update for the parent class change.
10398        (WebCore::SpinButtonElement::SpinButtonElement):
10399          - Change the parameter type: shadowParent -> Document
10400          - Add the inner flag
10401          - Inherit HTMLDivElement, not TextControlInnerElement.
10402        (WebCore::SpinButtonElement::createInner): Introduce a new factory
10403          method to hide a bool parameter of the constructor.
10404        (WebCore::SpinButtonElement::createOuter): ditto.
10405        (WebCore::SpinButtonElement::styleForRenderer):
10406          Override this in order to set style by
10407          RenderTextControlSingleLine::createInnerSpinButtonStyle() or
10408          createOuterSpinButtonStyle().
10409        (WebCore::SpinButtonElement::detach): Update for the parent class change.
10410        (WebCore::SpinButtonElement::setHovered): ditto.
10411        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
10412          - Change the parameter type: shadowParent -> Document
10413          - Inherit HTMLDivElement, not TextControlInnerElement.
10414          - Do not register this as a speech input listener here.
10415        (WebCore::InputFieldSpeechButtonElement::create):
10416          Update for the parameter change.
10417        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
10418          Do not handle click event if listener registration is not done.
10419        (WebCore::InputFieldSpeechButtonElement::attach):
10420          Register this as a speech input listener.
10421        (WebCore::InputFieldSpeechButtonElement::detach):
10422          Update for the parent class change.
10423        (WebCore::InputFieldSpeechButtonElement::styleForRenderer):
10424          Override this in order to set style by
10425          RenderTextControlSingleLine::createSpeechButtonStyle().
10426        * html/shadow/TextControlInnerElements.h:
10427        (WebCore::TextControlInnerTextElement::isMouseFocusable):
10428          Add this because the class is not a subclass of TextControllInnerElement.
10429        (WebCore::SearchFieldResultsButtonElement::isMouseFocusable): ditto.
10430        (WebCore::SearchFieldCancelButtonElement::isMouseFocusable): ditto.
10431        (WebCore::SpinButtonElement::isMouseFocusable): ditto.
10432        (WebCore::InputFieldSpeechButtonElement::isMouseFocusable): ditto.
10433        * rendering/RenderTextControl.cpp:
10434        (WebCore::RenderTextControl::~RenderTextControl): Remove unnecessary code.
10435        (WebCore::RenderTextControl::styleDidChange):
10436          innerTextElement can have no renderer.
10437          Explicitly call setNeedsStyleRecals() for innerTextElement. It is
10438          needed for LayoutTests/editing/selection/select-across-readonly-input-*.html.
10439        (WebCore::RenderTextControl::textBlockWidth): Member data -> function
10440        (WebCore::RenderTextControl::updateFromElement): ditto.
10441        (WebCore::RenderTextControl::setInnerTextValue): ditto.
10442        (WebCore::RenderTextControl::hasVisibleTextArea): ditto.
10443        (WebCore::RenderTextControl::isSelectableElement): ditto.
10444        (WebCore::RenderTextControl::selection): ditto.
10445        (WebCore::RenderTextControl::visiblePositionForIndex): ditto.
10446        (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
10447        (WebCore::RenderTextControl::text): ditto.
10448        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
10449        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
10450        (WebCore::RenderTextControl::hitInnerTextElement): ditto.
10451        (WebCore::RenderTextControl::forwardEvent): ditto.
10452        (WebCore::RenderTextControl::computePreferredLogicalWidths): ditto.
10453        * rendering/RenderTextControl.h:
10454          - Make m_innerText virtual function.
10455          - Make createInnerTextStyle() public in order that
10456            TextControlInnerElements can call it.
10457        * rendering/RenderTextControlMultiLine.cpp:
10458        (WebCore::RenderTextControlMultiLine::innerTextElement): Added.
10459        (WebCore::RenderTextControlMultiLine::updateFromElement):
10460          Remove unnecessary createSubtreeIfNeeded() call.
10461        * rendering/RenderTextControlMultiLine.h: Add a declaration.
10462        * rendering/RenderTextControlSingleLine.cpp:
10463        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
10464          Remove unnecessary code.
10465        (WebCore::RenderTextControlSingleLine::innerTextElement): Added.
10466        (WebCore::RenderTextControlSingleLine::innerBlockElement): Added.
10467        (WebCore::RenderTextControlSingleLine::innerSpinButtonElement): Added.
10468        (WebCore::RenderTextControlSingleLine::outerSpinButtonElement): Added.
10469        (WebCore::RenderTextControlSingleLine::resultsButtonElement): Added.
10470        (WebCore::RenderTextControlSingleLine::cancelButtonElement): Added.
10471        (WebCore::RenderTextControlSingleLine::speechButtonElement): Added.
10472        (WebCore::RenderTextControlSingleLine::textBaseStyle): Data member -> function
10473        (WebCore::RenderTextControlSingleLine::subtreeHasChanged): ditto.
10474        (WebCore::RenderTextControlSingleLine::layout): ditto.
10475        (WebCore::RenderTextControlSingleLine::nodeAtPoint): ditto.
10476        (WebCore::RenderTextControlSingleLine::forwardEvent): ditto.
10477        (WebCore::RenderTextControlSingleLine::styleDidChange): ditto.
10478        (WebCore::RenderTextControlSingleLine::hasControlClip): ditto.
10479        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
10480        (WebCore::RenderTextControlSingleLine::textBlockWidth): ditto.
10481        (WebCore::RenderTextControlSingleLine::decorationWidthRight): ditto.
10482        (WebCore::RenderTextControlSingleLine::preferredContentWidth): ditto.
10483        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): ditto.
10484        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): ditto.
10485        (WebCore::RenderTextControlSingleLine::updateFromElement):
10486          ditto, and remove unnecessary createSubtreeIfNeeded() call.
10487        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
10488          Data member -> function
10489        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): ditto.
10490        (WebCore::RenderTextControlSingleLine::clientPaddingLeft): ditto.
10491        (WebCore::RenderTextControlSingleLine::clientPaddingRight): ditto.
10492        (WebCore::RenderTextControlSingleLine::textBlockInsetTop): ditto.
10493        * rendering/RenderTextControlSingleLine.h:
10494          Add declarations, and remove unnecessary data members.
10495
104962011-05-21  Chris Rogers  <crogers@google.com>
10497
10498        Reviewed by Kenneth Russell.
10499
10500        AudioBufferSourceNode noteOff() method must respect scheduling time
10501        https://bugs.webkit.org/show_bug.cgi?id=61226
10502
10503        No new tests since audio API is not yet implemented.
10504
10505        * webaudio/AudioBufferSourceNode.cpp:
10506        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
10507        (WebCore::AudioBufferSourceNode::process):
10508        (WebCore::AudioBufferSourceNode::provideInput):
10509        (WebCore::AudioBufferSourceNode::finish):
10510        (WebCore::AudioBufferSourceNode::noteGrainOn):
10511        (WebCore::AudioBufferSourceNode::noteOff):
10512        * webaudio/AudioBufferSourceNode.h:
10513
105142011-05-20  Dirk Schulze  <krit@webkit.org>
10515
10516        Reviewed by Nikolas Zimmermann.
10517
10518        Share more code in PathTraversalState
10519        https://bugs.webkit.org/show_bug.cgi?id=61238
10520
10521        Share more code between SVGPathTraversalStateBuilder and Path in PathTraversalState.
10522
10523        No change in functionality, so no new tests.
10524
10525        * platform/graphics/Path.cpp:
10526        (WebCore::pathLengthApplierFunction):
10527        * platform/graphics/PathTraversalState.cpp:
10528        (WebCore::PathTraversalState::processSegment):
10529        * platform/graphics/PathTraversalState.h:
10530        * svg/SVGPathTraversalStateBuilder.cpp:
10531        (WebCore::SVGPathTraversalStateBuilder::continueConsuming):
10532
105332011-05-21  Nikolas Zimmermann  <nzimmermann@rim.com>
10534
10535        Reviewed by Rob Buis.
10536
10537        SVG svgAttributeChanged/synchronizeProperty/parseMappedAttribute should be optimized
10538        https://bugs.webkit.org/show_bug.cgi?id=61183
10539
10540        Example: rect.x.baseVal.value = 100;
10541        What happens: SVGRectElement::svgAttributeChanged(const QualifiedName& attrName) is invoked with "SVGNames::rectAttr" as parameter.
10542
10543        void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName)
10544        {
10545            SVGStyledTransformableElement::svgAttributeChanged(attrName);
10546            // Handle my own attribute changes...
10547        }
10548
10549        Currently we always traverse the base class hierarchy, when invoking svgAttributeChanged. Every svgAttributeChanged call from a class
10550        like SVGRectElement has to reach the base class SVGStyledElement::svgAttributeChanged, as it handles invalidation of the instances of
10551        an element. Say that a <rect> is referenced by a <use> and we change the 'x' attribute of the <rect>, then SVGStyledElement::svgAttributeChanged,
10552        calls SVGElementInstance::invalidateAllInstancesOfElement(this), so that the <use> can rebuild its shadow tree...
10553        That's the only reason all svgAttributeChanged implementations call the base class immediately, so SVGStyledElement is always reached.
10554
10555        Switch to a more efficient pattern, by providing a "bool isSupportedAttribute(const QualifiedName&);" function for all SVG*Elements.
10556        It contains all attributes the particular SVG*Element class handles (but not its parent classes attributes). For example SVGRectElement
10557        contains x/y/width/height/rx/ry attributes, and the ones from SVGTests/SVGLangSpace/SVGExternalResourcesRequired (xml:space/lang, etc.),
10558        but not eg. transform as that's handled by the parent class SVGStyledTransformableElement.
10559
10560        void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName)
10561        {
10562            if (!isSupportedAttribute.contains(attrName)) {
10563                SVGStyledTransformableElement::svgAttributeChanged(attrName);
10564                return;
10565            }
10566
10567            // When we get here, we know for sure it's one of our attributes that has changed.
10568            // Note for eg. SVGNames::transformAttr, the call from SVGRectElement::svgAttributeChanged, would be immediately forwarded to the base class, which handles transformAttr changes)
10569
10570            if (attrName == SVGNames::xAttr) { do_work(); return; }
10571            if (attrName == SVGNames::yAttr) { do_work(); return; }
10572            ...
10573            // Assure that we handled all properties we claim support for in "isSupportedAttribute()".
10574            ASSERT_NOT_REACHED();
10575        }
10576
10577        Exactly the same pattern can be applied to synchronizeProperty and parseMappedAttribute to speed them up as well.
10578
10579        Add "SVGElementInstance::InvalidationGuard guard(this)" statements in all svgAttributeChanged implementations, that calls invalidateAllInstancesOfElement(this)
10580        upon destruction, after we've reacted to the svg attribute change. This assures we never forget to call the invalidation method anywhere, and don't
10581        need to rely on the base class svgAttributeChanged() call to do it.
10582       
10583        It's a slight overal performance progression.
10584
10585        * svg/SVGAElement.cpp:
10586        (WebCore::SVGAElement::isSupportedAttribute):
10587        (WebCore::SVGAElement::parseMappedAttribute):
10588        (WebCore::SVGAElement::svgAttributeChanged):
10589        (WebCore::SVGAElement::synchronizeProperty):
10590        * svg/SVGAElement.h:
10591        * svg/SVGAnimateMotionElement.cpp:
10592        (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
10593        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
10594        * svg/SVGAnimateMotionElement.h:
10595        * svg/SVGAnimateTransformElement.cpp:
10596        (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
10597        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
10598        * svg/SVGAnimateTransformElement.h:
10599        * svg/SVGAnimationElement.cpp:
10600        (WebCore::SVGAnimationElement::isSupportedAttribute):
10601        (WebCore::SVGAnimationElement::parseMappedAttribute):
10602        * svg/SVGAnimationElement.h:
10603        * svg/SVGCircleElement.cpp:
10604        (WebCore::SVGCircleElement::isSupportedAttribute):
10605        (WebCore::SVGCircleElement::parseMappedAttribute):
10606        (WebCore::SVGCircleElement::svgAttributeChanged):
10607        (WebCore::SVGCircleElement::synchronizeProperty):
10608        * svg/SVGCircleElement.h:
10609        * svg/SVGClipPathElement.cpp:
10610        (WebCore::SVGClipPathElement::isSupportedAttribute):
10611        (WebCore::SVGClipPathElement::parseMappedAttribute):
10612        (WebCore::SVGClipPathElement::svgAttributeChanged):
10613        (WebCore::SVGClipPathElement::synchronizeProperty):
10614        * svg/SVGClipPathElement.h:
10615        * svg/SVGComponentTransferFunctionElement.cpp:
10616        (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
10617        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
10618        (WebCore::SVGComponentTransferFunctionElement::synchronizeProperty):
10619        * svg/SVGComponentTransferFunctionElement.h:
10620        * svg/SVGCursorElement.cpp:
10621        (WebCore::SVGCursorElement::isSupportedAttribute):
10622        (WebCore::SVGCursorElement::parseMappedAttribute):
10623        (WebCore::SVGCursorElement::svgAttributeChanged):
10624        (WebCore::SVGCursorElement::synchronizeProperty):
10625        * svg/SVGCursorElement.h:
10626        * svg/SVGElementInstance.h:
10627        (WebCore::SVGElementInstance::InvalidationGuard::InvalidationGuard):
10628        (WebCore::SVGElementInstance::InvalidationGuard::~InvalidationGuard):
10629        * svg/SVGEllipseElement.cpp:
10630        (WebCore::SVGEllipseElement::isSupportedAttribute):
10631        (WebCore::SVGEllipseElement::parseMappedAttribute):
10632        (WebCore::SVGEllipseElement::svgAttributeChanged):
10633        (WebCore::SVGEllipseElement::synchronizeProperty):
10634        * svg/SVGEllipseElement.h:
10635        * svg/SVGExternalResourcesRequired.cpp:
10636        (WebCore::SVGExternalResourcesRequired::addSupportedAttributes):
10637        * svg/SVGExternalResourcesRequired.h:
10638        * svg/SVGFEBlendElement.cpp:
10639        (WebCore::SVGFEBlendElement::isSupportedAttribute):
10640        (WebCore::SVGFEBlendElement::parseMappedAttribute):
10641        (WebCore::SVGFEBlendElement::svgAttributeChanged):
10642        (WebCore::SVGFEBlendElement::synchronizeProperty):
10643        * svg/SVGFEBlendElement.h:
10644        * svg/SVGFEColorMatrixElement.cpp:
10645        (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
10646        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
10647        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
10648        (WebCore::SVGFEColorMatrixElement::synchronizeProperty):
10649        * svg/SVGFEColorMatrixElement.h:
10650        * svg/SVGFEComponentTransferElement.cpp:
10651        (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
10652        (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
10653        (WebCore::SVGFEComponentTransferElement::synchronizeProperty):
10654        * svg/SVGFEComponentTransferElement.h:
10655        * svg/SVGFECompositeElement.cpp:
10656        (WebCore::SVGFECompositeElement::isSupportedAttribute):
10657        (WebCore::SVGFECompositeElement::parseMappedAttribute):
10658        (WebCore::SVGFECompositeElement::svgAttributeChanged):
10659        (WebCore::SVGFECompositeElement::synchronizeProperty):
10660        * svg/SVGFECompositeElement.h:
10661        * svg/SVGFEConvolveMatrixElement.cpp:
10662        (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
10663        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
10664        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
10665        (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty):
10666        * svg/SVGFEConvolveMatrixElement.h:
10667        * svg/SVGFEDiffuseLightingElement.cpp:
10668        (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
10669        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
10670        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
10671        (WebCore::SVGFEDiffuseLightingElement::synchronizeProperty):
10672        * svg/SVGFEDiffuseLightingElement.h:
10673        * svg/SVGFEDisplacementMapElement.cpp:
10674        (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
10675        (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute):
10676        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
10677        (WebCore::SVGFEDisplacementMapElement::synchronizeProperty):
10678        * svg/SVGFEDisplacementMapElement.h:
10679        * svg/SVGFEDropShadowElement.cpp:
10680        (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
10681        (WebCore::SVGFEDropShadowElement::parseMappedAttribute):
10682        (WebCore::SVGFEDropShadowElement::svgAttributeChanged):
10683        (WebCore::SVGFEDropShadowElement::synchronizeProperty):
10684        * svg/SVGFEDropShadowElement.h:
10685        * svg/SVGFEGaussianBlurElement.cpp:
10686        (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
10687        (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
10688        (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
10689        (WebCore::SVGFEGaussianBlurElement::synchronizeProperty):
10690        * svg/SVGFEGaussianBlurElement.h:
10691        * svg/SVGFEImageElement.cpp:
10692        (WebCore::SVGFEImageElement::isSupportedAttribute):
10693        (WebCore::SVGFEImageElement::parseMappedAttribute):
10694        (WebCore::SVGFEImageElement::svgAttributeChanged):
10695        (WebCore::SVGFEImageElement::synchronizeProperty):
10696        * svg/SVGFEImageElement.h:
10697        * svg/SVGFELightElement.cpp:
10698        (WebCore::SVGFELightElement::isSupportedAttribute):
10699        (WebCore::SVGFELightElement::parseMappedAttribute):
10700        (WebCore::SVGFELightElement::svgAttributeChanged):
10701        (WebCore::SVGFELightElement::synchronizeProperty):
10702        * svg/SVGFELightElement.h:
10703        * svg/SVGFEMergeNodeElement.cpp:
10704        (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
10705        (WebCore::SVGFEMergeNodeElement::parseMappedAttribute):
10706        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
10707        (WebCore::SVGFEMergeNodeElement::synchronizeProperty):
10708        * svg/SVGFEMergeNodeElement.h:
10709        * svg/SVGFEMorphologyElement.cpp:
10710        (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
10711        (WebCore::SVGFEMorphologyElement::parseMappedAttribute):
10712        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
10713        (WebCore::SVGFEMorphologyElement::synchronizeProperty):
10714        * svg/SVGFEMorphologyElement.h:
10715        * svg/SVGFEOffsetElement.cpp:
10716        (WebCore::SVGFEOffsetElement::isSupportedAttribute):
10717        (WebCore::SVGFEOffsetElement::parseMappedAttribute):
10718        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
10719        (WebCore::SVGFEOffsetElement::synchronizeProperty):
10720        * svg/SVGFEOffsetElement.h:
10721        * svg/SVGFESpecularLightingElement.cpp:
10722        (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
10723        (WebCore::SVGFESpecularLightingElement::parseMappedAttribute):
10724        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
10725        (WebCore::SVGFESpecularLightingElement::synchronizeProperty):
10726        * svg/SVGFESpecularLightingElement.h:
10727        * svg/SVGFETileElement.cpp:
10728        (WebCore::SVGFETileElement::isSupportedAttribute):
10729        (WebCore::SVGFETileElement::parseMappedAttribute):
10730        (WebCore::SVGFETileElement::svgAttributeChanged):
10731        (WebCore::SVGFETileElement::synchronizeProperty):
10732        * svg/SVGFETileElement.h:
10733        * svg/SVGFETurbulenceElement.cpp:
10734        (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
10735        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
10736        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
10737        (WebCore::SVGFETurbulenceElement::synchronizeProperty):
10738        * svg/SVGFETurbulenceElement.h:
10739        * svg/SVGFilterElement.cpp:
10740        (WebCore::SVGFilterElement::isSupportedAttribute):
10741        (WebCore::SVGFilterElement::parseMappedAttribute):
10742        (WebCore::SVGFilterElement::svgAttributeChanged):
10743        (WebCore::SVGFilterElement::synchronizeProperty):
10744        * svg/SVGFilterElement.h:
10745        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
10746        (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
10747        (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
10748        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
10749        (WebCore::SVGFilterPrimitiveStandardAttributes::synchronizeProperty):
10750        * svg/SVGFilterPrimitiveStandardAttributes.h:
10751        * svg/SVGFitToViewBox.cpp:
10752        (WebCore::SVGFitToViewBox::parseMappedAttribute):
10753        (WebCore::SVGFitToViewBox::synchronizeProperties):
10754        (WebCore::SVGFitToViewBox::addSupportedAttributes):
10755        * svg/SVGFitToViewBox.h:
10756        * svg/SVGForeignObjectElement.cpp:
10757        (WebCore::SVGForeignObjectElement::isSupportedAttribute):
10758        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
10759        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
10760        (WebCore::SVGForeignObjectElement::synchronizeProperty):
10761        * svg/SVGForeignObjectElement.h:
10762        * svg/SVGGElement.cpp:
10763        (WebCore::SVGGElement::isSupportedAttribute):
10764        (WebCore::SVGGElement::parseMappedAttribute):
10765        (WebCore::SVGGElement::svgAttributeChanged):
10766        (WebCore::SVGGElement::synchronizeProperty):
10767        * svg/SVGGElement.h:
10768        * svg/SVGGradientElement.cpp:
10769        (WebCore::SVGGradientElement::isSupportedAttribute):
10770        (WebCore::SVGGradientElement::parseMappedAttribute):
10771        (WebCore::SVGGradientElement::svgAttributeChanged):
10772        (WebCore::SVGGradientElement::synchronizeProperty):
10773        * svg/SVGGradientElement.h:
10774        * svg/SVGImageElement.cpp:
10775        (WebCore::SVGImageElement::isSupportedAttribute):
10776        (WebCore::SVGImageElement::parseMappedAttribute):
10777        (WebCore::SVGImageElement::svgAttributeChanged):
10778        (WebCore::SVGImageElement::synchronizeProperty):
10779        * svg/SVGImageElement.h:
10780        * svg/SVGLangSpace.cpp:
10781        (WebCore::SVGLangSpace::addSupportedAttributes):
10782        * svg/SVGLangSpace.h:
10783        * svg/SVGLineElement.cpp:
10784        (WebCore::SVGLineElement::isSupportedAttribute):
10785        (WebCore::SVGLineElement::parseMappedAttribute):
10786        (WebCore::SVGLineElement::svgAttributeChanged):
10787        (WebCore::SVGLineElement::synchronizeProperty):
10788        * svg/SVGLineElement.h:
10789        * svg/SVGLinearGradientElement.cpp:
10790        (WebCore::SVGLinearGradientElement::isSupportedAttribute):
10791        (WebCore::SVGLinearGradientElement::parseMappedAttribute):
10792        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
10793        (WebCore::SVGLinearGradientElement::synchronizeProperty):
10794        * svg/SVGLinearGradientElement.h:
10795        * svg/SVGMPathElement.cpp:
10796        (WebCore::SVGMPathElement::isSupportedAttribute):
10797        (WebCore::SVGMPathElement::parseMappedAttribute):
10798        (WebCore::SVGMPathElement::synchronizeProperty):
10799        * svg/SVGMPathElement.h:
10800        * svg/SVGMarkerElement.cpp:
10801        (WebCore::SVGMarkerElement::isSupportedAttribute):
10802        (WebCore::SVGMarkerElement::parseMappedAttribute):
10803        (WebCore::SVGMarkerElement::svgAttributeChanged):
10804        (WebCore::SVGMarkerElement::synchronizeProperty):
10805        * svg/SVGMarkerElement.h:
10806        * svg/SVGMaskElement.cpp:
10807        (WebCore::SVGMaskElement::isSupportedAttribute):
10808        (WebCore::SVGMaskElement::parseMappedAttribute):
10809        (WebCore::SVGMaskElement::svgAttributeChanged):
10810        (WebCore::SVGMaskElement::synchronizeProperty):
10811        * svg/SVGMaskElement.h:
10812        * svg/SVGPathElement.cpp:
10813        (WebCore::SVGPathElement::isSupportedAttribute):
10814        (WebCore::SVGPathElement::parseMappedAttribute):
10815        (WebCore::SVGPathElement::svgAttributeChanged):
10816        (WebCore::SVGPathElement::synchronizeProperty):
10817        * svg/SVGPathElement.h:
10818        * svg/SVGPatternElement.cpp:
10819        (WebCore::SVGPatternElement::isSupportedAttribute):
10820        (WebCore::SVGPatternElement::parseMappedAttribute):
10821        (WebCore::SVGPatternElement::svgAttributeChanged):
10822        (WebCore::SVGPatternElement::synchronizeProperty):
10823        * svg/SVGPatternElement.h:
10824        * svg/SVGPolyElement.cpp:
10825        (WebCore::SVGPolyElement::isSupportedAttribute):
10826        (WebCore::SVGPolyElement::parseMappedAttribute):
10827        (WebCore::SVGPolyElement::svgAttributeChanged):
10828        * svg/SVGPolyElement.h:
10829        * svg/SVGRadialGradientElement.cpp:
10830        (WebCore::SVGRadialGradientElement::isSupportedAttribute):
10831        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
10832        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
10833        (WebCore::SVGRadialGradientElement::synchronizeProperty):
10834        * svg/SVGRadialGradientElement.h:
10835        * svg/SVGRectElement.cpp:
10836        (WebCore::SVGRectElement::isSupportedAttribute):
10837        (WebCore::SVGRectElement::parseMappedAttribute):
10838        (WebCore::SVGRectElement::svgAttributeChanged):
10839        (WebCore::SVGRectElement::synchronizeProperty):
10840        * svg/SVGRectElement.h:
10841        * svg/SVGSVGElement.cpp:
10842        (WebCore::SVGSVGElement::svgAttributeChanged):
10843        (WebCore::SVGSVGElement::synchronizeProperty):
10844        * svg/SVGScriptElement.cpp:
10845        (WebCore::SVGScriptElement::isSupportedAttribute):
10846        (WebCore::SVGScriptElement::parseMappedAttribute):
10847        (WebCore::SVGScriptElement::svgAttributeChanged):
10848        (WebCore::SVGScriptElement::synchronizeProperty):
10849        * svg/SVGScriptElement.h:
10850        * svg/SVGStopElement.cpp:
10851        (WebCore::SVGStopElement::isSupportedAttribute):
10852        (WebCore::SVGStopElement::parseMappedAttribute):
10853        (WebCore::SVGStopElement::svgAttributeChanged):
10854        (WebCore::SVGStopElement::synchronizeProperty):
10855        * svg/SVGStopElement.h:
10856        * svg/SVGStyleElement.cpp:
10857        (WebCore::SVGStyleElement::isSupportedAttribute):
10858        (WebCore::SVGStyleElement::parseMappedAttribute):
10859        * svg/SVGStyleElement.h:
10860        * svg/SVGStyledElement.cpp:
10861        (WebCore::SVGStyledElement::parseMappedAttribute):
10862        (WebCore::SVGStyledElement::svgAttributeChanged):
10863        (WebCore::SVGStyledElement::synchronizeProperty):
10864        * svg/SVGStyledTransformableElement.cpp:
10865        (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
10866        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
10867        (WebCore::SVGStyledTransformableElement::svgAttributeChanged):
10868        (WebCore::SVGStyledTransformableElement::synchronizeProperty):
10869        * svg/SVGStyledTransformableElement.h:
10870        * svg/SVGSymbolElement.cpp:
10871        (WebCore::SVGSymbolElement::isSupportedAttribute):
10872        (WebCore::SVGSymbolElement::parseMappedAttribute):
10873        (WebCore::SVGSymbolElement::svgAttributeChanged):
10874        (WebCore::SVGSymbolElement::synchronizeProperty):
10875        * svg/SVGSymbolElement.h:
10876        * svg/SVGTRefElement.cpp:
10877        (WebCore::SVGTRefElement::isSupportedAttribute):
10878        (WebCore::SVGTRefElement::parseMappedAttribute):
10879        (WebCore::SVGTRefElement::svgAttributeChanged):
10880        (WebCore::SVGTRefElement::synchronizeProperty):
10881        * svg/SVGTRefElement.h:
10882        * svg/SVGTests.cpp:
10883        (WebCore::SVGTests::addSupportedAttributes):
10884        * svg/SVGTests.h:
10885        * svg/SVGTextContentElement.cpp:
10886        (WebCore::SVGTextContentElement::isSupportedAttribute):
10887        (WebCore::SVGTextContentElement::parseMappedAttribute):
10888        (WebCore::SVGTextContentElement::synchronizeProperty):
10889        (WebCore::SVGTextContentElement::svgAttributeChanged):
10890        * svg/SVGTextContentElement.h:
10891        * svg/SVGTextElement.cpp:
10892        (WebCore::SVGTextElement::isSupportedAttribute):
10893        (WebCore::SVGTextElement::parseMappedAttribute):
10894        (WebCore::SVGTextElement::svgAttributeChanged):
10895        (WebCore::SVGTextElement::synchronizeProperty):
10896        * svg/SVGTextElement.h:
10897        * svg/SVGTextPathElement.cpp:
10898        (WebCore::SVGTextPathElement::isSupportedAttribute):
10899        (WebCore::SVGTextPathElement::parseMappedAttribute):
10900        (WebCore::SVGTextPathElement::svgAttributeChanged):
10901        (WebCore::SVGTextPathElement::synchronizeProperty):
10902        * svg/SVGTextPathElement.h:
10903        * svg/SVGTextPositioningElement.cpp:
10904        (WebCore::SVGTextPositioningElement::isSupportedAttribute):
10905        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
10906        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
10907        (WebCore::SVGTextPositioningElement::synchronizeProperty):
10908        * svg/SVGTextPositioningElement.h:
10909        * svg/SVGTransformable.cpp:
10910        * svg/SVGTransformable.h:
10911        * svg/SVGURIReference.cpp:
10912        (WebCore::SVGURIReference::addSupportedAttributes):
10913        * svg/SVGURIReference.h:
10914        * svg/SVGUseElement.cpp:
10915        (WebCore::SVGUseElement::isSupportedAttribute):
10916        (WebCore::SVGUseElement::parseMappedAttribute):
10917        (WebCore::SVGUseElement::svgAttributeChanged):
10918        (WebCore::SVGUseElement::synchronizeProperty):
10919        * svg/SVGUseElement.h:
10920        * svg/SVGViewElement.cpp:
10921        (WebCore::SVGViewElement::isSupportedAttribute):
10922        (WebCore::SVGViewElement::parseMappedAttribute):
10923        (WebCore::SVGViewElement::synchronizeProperty):
10924        * svg/SVGViewElement.h:
10925        * svg/SVGZoomAndPan.cpp:
10926        (WebCore::SVGZoomAndPan::addSupportedAttributes):
10927        * svg/SVGZoomAndPan.h:
10928
109292011-05-20  Simon Fraser  <simon.fraser@apple.com>
10930
10931        Reviewed by Dan Bernstein.
10932
10933        Allow ShadowBlur to do tiling when the context is scaled
10934        https://bugs.webkit.org/show_bug.cgi?id=61232
10935
10936        If the GraphicsContext is scaled or rotated by a multiple of 90deg, have ShadowBlur
10937        use the tiling code path, to avoid blurring large areas on pages like cracked.com
10938        when the context is scaled.
10939
10940        * platform/graphics/ShadowBlur.cpp:
10941        (WebCore::ShadowBlur::drawRectShadow): Call preservesAxisAlignment()
10942        to decide when to not use tiling.
10943        (WebCore::ShadowBlur::drawInsetShadow): Ditto.
10944        (WebCore::ShadowBlur::drawLayerPieces): Round to device pixels when drawing tiles
10945        to avoid pixel cracks in scaled contexts.
10946        * platform/graphics/transforms/AffineTransform.h:
10947        (WebCore::AffineTransform::preservesAxisAlignment): Return true if there is the matrix
10948        contains a transform that results in axis alignment (no rotation or skew, or rotations
10949        which are multiples of 90deg).
10950
109512011-05-20  Alexey Proskuryakov  <ap@apple.com>
10952
10953        Reviewed by Kent Tamura.
10954
10955        Special characters can be inserted in text field having reached maxlength
10956        https://bugs.webkit.org/show_bug.cgi?id=19479
10957        <rdar://problem/7828739>
10958
10959        Test: platform/mac/editing/input/maxlength.html
10960
10961        * editing/CompositeEditCommand.cpp:
10962        (WebCore::CompositeEditCommand::insertTextIntoNode):
10963        (WebCore::CompositeEditCommand::replaceTextInNode):
10964        Avoid hitting an assertion below, now that we can get here with empty text.
10965
10966        * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): There is still work to do
10967        even if beforetextinput removed all text from the event. At the very least, we should delete
10968        the current selection.
10969
109702011-05-20  Andy Estes  <aestes@apple.com>
10971
10972        Reviewed by Darin Adler.
10973
10974        REGRESSION (r70748): WebKit cannot play videos created by Podcast Producer.
10975        https://bugs.webkit.org/show_bug.cgi?id=61229
10976        
10977        Podcast Producer uses an object tag with a classid attribute to embed
10978        QuickTime Player into a page. In r70748, we changed our behavior to
10979        render the object's fallback content when a non-empty classid is
10980        encountered, per HTML5. Since Podcast Producer videos have no fallback
10981        content, this change in behavior causes the video to fail to load.
10982        
10983        Since the object tag has a valid type attribute, we would be able to
10984        load it if weren't for the non-empty classid. This patch changes our
10985        policy to allow objects with non-empty classids if there is no fallback
10986        content. We still continue to prefer fallback content if it exists,
10987        however.
10988
10989        * html/HTMLObjectElement.cpp:
10990        (WebCore::HTMLObjectElement::hasValidClassId): Treat a non-empty
10991        classid as valid if the object has no fallback content.
10992
109932011-05-20  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
10994
10995        Reviewed by Simon Fraser.
10996
10997        If both border-radius and box-shadow applied, shadow is not fully visible
10998        https://bugs.webkit.org/show_bug.cgi?id=59577
10999
11000        The current implementation of RoundedIntRect::inflateWithRadii() inflates
11001        its rect size and corner radii out of sync. This leads to validation failure in
11002        Path::addRoundedRect() and results in ignoring radii in the path.
11003        When this invalid path is used to clip out the rounded corner box before painting
11004        the box shadow, the entire rectangle is clipped out without the corner radii.
11005
11006        This patch implements RoundedIntRect::inflateWithRadii() properly to inflate
11007        rounded rect radii based on inflate ratios of rect size.
11008
11009        Test: fast/css/box-shadow-and-border-radius.html
11010
11011        * platform/graphics/RoundedIntRect.cpp:
11012        (WebCore::RoundedIntRect::inflateWithRadii):
11013        * platform/graphics/RoundedIntRect.h:
11014
110152011-05-20  Michael Nordman  <michaeln@google.com>
11016
11017        Reviewed by Darin Fisher.
11018
11019        [Chromium] Support the new webkit apis so the WebDatabase system participates
11020        in the unified quota management system.
11021        https://bugs.webkit.org/show_bug.cgi?id=60985
11022
11023        No change in functionality, no new tests.
11024
11025        * platform/chromium/PlatformBridge.h:
11026        * storage/chromium/QuotaTracker.cpp:
11027        (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
11028        (WebCore::QuotaTracker::updateDatabaseSize):
11029        (WebCore::QuotaTracker::updateSpaceAvailableToOrigin):
11030        (WebCore::QuotaTracker::resetSpaceAvailableToOrigin):
11031        * storage/chromium/QuotaTracker.h:
11032
110332011-05-20  Andy Estes  <aestes@apple.com>
11034
11035        Reviewed by Darin Adler.
11036
11037        WebView loses firstResponder status when entering full-screen mode.
11038        https://bugs.webkit.org/show_bug.cgi?id=61153
11039
11040        No test possible via DRT. Add a manual test instead.
11041
11042        * manual-tests/full-screen-keypress.html: Added.
11043
110442011-05-20  Jeremy Noble  <jer.noble@apple.com>
11045
11046        Reviewed by Maciej Stachowiak.
11047
11048        WebKit2: Exit full screen mode if the WebProcess crashes.
11049        https://bugs.webkit.org/show_bug.cgi?id=61151
11050
11051        * platform/graphics/win/FullScreenController.h:
11052        * platform/graphics/win/FullScreenController.cpp:
11053        (FullScreenController::close): Added.  Close the full-screen window without animation
11054            if called.
11055
110562011-05-20  Enrica Casucci  <enrica@apple.com>
11057
11058        Reviewed by David Kilzer.
11059
11060        Add delegate methods about focus and blur to all elements.
11061        https://bugs.webkit.org/show_bug.cgi?id=61218
11062
11063        We want to have delegates for these events for all the elements, not only the form elements.
11064        The patch moves the call to the delegate in the Node class and changes the name
11065        of the methods not to be form element specific.
11066
11067        * dom/Node.cpp:
11068        (WebCore::Node::dispatchFocusEvent): Added call to delegate with the new name.
11069        (WebCore::Node::dispatchBlurEvent): Added call to delegate with the new name.
11070        * html/HTMLFormControlElement.cpp:
11071        (WebCore::HTMLFormControlElement::dispatchBlurEvent): Removed code that calls the delegate since
11072        it has been moved into Node.
11073        * html/HTMLFormControlElement.h: Removed dispatchFocusEvent, since we are using the default inplementation in Node.
11074        * loader/EmptyClients.h:
11075        (WebCore::EmptyChromeClient::elementDidFocus): Name changed.
11076        (WebCore::EmptyChromeClient::elementDidBlur): Name changed.
11077        * page/ChromeClient.h:
11078        (WebCore::ChromeClient::elementDidFocus): Name changed.
11079        (WebCore::ChromeClient::elementDidBlur): Name changed.
11080
110812011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
11082
11083        Reviewed by Enrica Casucci.
11084
11085        Wrap copied contents by one style span instead of two
11086        https://bugs.webkit.org/show_bug.cgi?id=60988
11087
11088        Replaced sourceDocumentStyleSpan and copiedRangeStyleSpan by one wrapping style span. Instead
11089        of wrapping the copied contents by user-applied style and document default style in serialization,
11090        take the difference with the document default's style in paste code.
11091
11092        This will dramatically simplify our copy and paste code and pave a way to fix the bug 60914.
11093
11094        No new tests because copy & paste is tested by existing layout tests.
11095
11096        * editing/EditingStyle.cpp:
11097        (WebCore::EditingStyle::prepareToApplyAt): Remove the color property if RGBA values of color
11098        matches that of the computed style at the specified position.
11099        * editing/ReplaceSelectionCommand.cpp:
11100        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Replaced sourceDocumentStyleSpan and
11101        copiedRangeStyleSpan by wrappingStyleSpan. When pasting as a quotation, compare style against
11102        the document's default style to avoid keeping the document default style (tested by
11103        editing/pasteboard/4930986-3.html).
11104        * editing/ReplaceSelectionCommand.h:
11105        * editing/markup.cpp:
11106        (WebCore::createMarkup): Only use one style span to wrap the serialized contents.
11107
111082011-05-20  Simon Fraser  <simon.fraser@apple.com>
11109
11110        Reviewed by Sam Weinig.
11111
11112        numberOfActiveAnimations() can include animations from documents in the page cache
11113        https://bugs.webkit.org/show_bug.cgi?id=53641
11114        
11115        Some transition tests using layoutTestController.numberOfActiveAnimations() failed
11116        in WebKit2 because numberOfActiveAnimations() could include those from other documents
11117        in the page cache.
11118        
11119        Fix by passing in the document for which we wish to count animations.
11120
11121        * WebCore.exp.in:
11122        * page/animation/AnimationController.cpp:
11123        (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
11124        (WebCore::AnimationController::numberOfActiveAnimations):
11125        * page/animation/AnimationController.h:
11126        * page/animation/AnimationControllerPrivate.h:
11127
111282011-05-20  Adam Barth  <abarth@webkit.org>
11129
11130        Reviewed by Alexey Proskuryakov.
11131
11132        Factor CORS request preparation out of DocumentThreadableLoader
11133        https://bugs.webkit.org/show_bug.cgi?id=61209
11134
11135        DocumentThreadableLoader has two jobs:
11136
11137        1) Proxy loads between threads.
11138        2) Run the CORS state machine.
11139
11140        This patch begins the work of separating those concerns, allowing CORS
11141        to be used elsewhere in the loading pipeline.  In particular, this
11142        patch moves knowledge of how to prepare CORS requests out of
11143        DocumentThreadableLoder.
11144
11145        * loader/CrossOriginAccessControl.cpp:
11146        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
11147        (WebCore::updateRequestForAccessControl):
11148        (WebCore::createAccessControlPreflightRequest):
11149        * loader/CrossOriginAccessControl.h:
11150        * loader/DocumentThreadableLoader.cpp:
11151        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
11152        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
11153        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
11154
111552011-05-20  Rob Buis  <rbuis@rim.com>
11156
11157        Reviewed by Dirk Schulze.
11158
11159        Use test from ietestcenter fails
11160        https://bugs.webkit.org/show_bug.cgi?id=60844
11161
11162        When an id changes on an in-document element, we need to check whether the id
11163        is part of the pending elements. Since this is the same thing as happens in
11164        insertedIntoDocument, split out the common code into buildPendingResourcesIfNeeded.
11165
11166        Test: svg/W3C-SVG-1.1-SE/struct-use-14-f.svg
11167
11168        * svg/SVGStyledElement.cpp:
11169        (WebCore::SVGStyledElement::svgAttributeChanged):
11170        (WebCore::SVGStyledElement::insertedIntoDocument):
11171        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
11172        * svg/SVGStyledElement.h:
11173
111742011-05-20  Abhishek Arya  <inferno@chromium.org>
11175
11176        Reviewed by Kent Tamura.
11177
11178        Make auto-focus a post attach callback in
11179        HTMLFormControlElement::attach().
11180        https://bugs.webkit.org/show_bug.cgi?id=32882
11181
11182        Original patch by Darin Adler. This one uses a part of it.
11183        
11184        Test: fast/forms/input-element-attach-crash.html
11185
11186        * dom/Document.cpp:
11187        (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
11188        already false by the time post-attach callbacks are done so that
11189        layout triggered inside those callbacks can work properly.
11190        * html/HTMLFormControlElement.cpp:
11191        (WebCore::shouldAutofocus): Helper function that expresses
11192        the rule for which form control elements should auto-focus.
11193        (WebCore::focusPostAttach): Called post-attach to focus an
11194        element if we discover it should be focused during attach.
11195        (WebCore::HTMLFormControlElement::attach): Refactored code for
11196        which elements need auto-focus into a separate function. Instead
11197        of focusing right away, use the focusPostAttach function to focus
11198        after attach is done. Also added calls to suspendPostAttachCallbacks
11199        and resumePostAttachCallbacks so post-attach callbacks happen late
11200        enough. Before, they could run inside the base attach function.
11201        * html/HTMLInputElement.cpp:
11202        (WebCore::HTMLInputElement::attach): Added calls to
11203        suspendPostAttachCallbacks and resumePostAttachCallbacks so
11204        post-attach callbacks happen late enough
11205
112062011-05-20  Alok Priyadarshi  <alokp@chromium.org>
11207
11208        Reviewed by James Robinson.
11209
11210        [chromium] Remove LayerRendererChromium::useShader
11211        https://bugs.webkit.org/show_bug.cgi?id=61143
11212
11213        GPU compositor tests should be sufficient.
11214
11215        * platform/graphics/chromium/LayerRendererChromium.cpp:
11216        (WebCore::LayerRendererChromium::LayerRendererChromium):
11217        * platform/graphics/chromium/LayerRendererChromium.h:
11218        * platform/graphics/chromium/LayerTilerChromium.cpp:
11219        (WebCore::LayerTilerChromium::draw):
11220        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
11221        (WebCore::RenderSurfaceChromium::drawSurface):
11222        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
11223        (WebCore::CCCanvasLayerImpl::draw):
11224        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
11225        (WebCore::CCHeadsUpDisplay::draw):
11226        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
11227        (WebCore::CCLayerImpl::drawDebugBorder):
11228        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
11229        (WebCore::CCPluginLayerImpl::draw):
11230        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
11231        (WebCore::CCVideoLayerImpl::drawYUV):
11232        (WebCore::CCVideoLayerImpl::drawRGBA):
11233
112342011-05-20  Dirk Schulze  <krit@webkit.org>
11235
11236        Reviewed by Darin Adler.
11237
11238        SVGPathSegList needs better getTotalLength, getSegmentAtLength path traversal code
11239        https://bugs.webkit.org/show_bug.cgi?id=12047
11240
11241        Right now SVGPathElement::getTotalLength and SVGPathElement::getPointAtLength use toPathData()
11242        to transform a SVGPathByteStream to a Path. This Path gets traversed to find the searched value.
11243        With this patch both functions use the SVGPathByteStream directly together with the existing
11244        traversing code in SVG. This avoids the intermediate transforming to a platform path and gives
11245        platform independent results.
11246        The traversal code in SVG needed to be extended to support all PathTraversalActions.
11247
11248        No new tests added. The existing tests cover the changes.
11249
11250        * svg/SVGPathElement.cpp:
11251        (WebCore::SVGPathElement::getTotalLength):
11252        (WebCore::SVGPathElement::getPointAtLength):
11253        * svg/SVGPathParserFactory.cpp:
11254        (WebCore::SVGPathParserFactory::getTotalLengthOfSVGPathByteStream):
11255        (WebCore::SVGPathParserFactory::getPointAtLengthOfSVGPathByteStream):
11256        * svg/SVGPathParserFactory.h:
11257        * svg/SVGPathTraversalStateBuilder.cpp:
11258        (WebCore::SVGPathTraversalStateBuilder::continueConsuming):
11259        (WebCore::SVGPathTraversalStateBuilder::totalLength):
11260        (WebCore::SVGPathTraversalStateBuilder::currentPoint):
11261        * svg/SVGPathTraversalStateBuilder.h:
11262
112632011-05-20  Mark Pilgrim  <pilgrim@chromium.org>
11264
11265        Reviewed by Tony Chang.
11266
11267        IndexedDB createObjectStore should throw if name is null
11268        https://bugs.webkit.org/show_bug.cgi?id=58465
11269
11270        Test: storage/indexeddb/mozilla/create-objectstore-null-name.html
11271
11272        * storage/IDBDatabase.idl:
11273        * storage/IDBDatabaseBackendImpl.cpp:
11274        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
11275
112762011-05-20  Xiaomei Ji  <xji@chromium.org>
11277
11278        Reviewed by Ryosuke Niwa.
11279
11280        ctrl-arrow does not work on words separated by multiple spaces.
11281        https://bugs.webkit.org/show_bug.cgi?id=57543.
11282
11283        Add the leftmost boundary of a box in RTL block or the rightmost boundary of a box in LTR
11284        block as word break if its inlineBox is the current box and it is a word break.
11285
11286        * editing/visible_units.cpp:
11287        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Add the rightmost
11288        boundary of a box in LTR block or leftmost boundary of a box in RTL block as visually
11289        first word break.
11290        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
11291        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
11292        (WebCore::leftWordBoundary): Fix bug change "box" to "adjacentBox".
11293        (WebCore::rightWordBoundary): Fix bug change "box" to "adjacentBox".
11294
112952011-05-19  Evan Martin  <evan@chromium.org>
11296
11297        Reviewed by Tony Chang.
11298
11299        [chromium] remove <(library) variable
11300        https://bugs.webkit.org/show_bug.cgi?id=61158
11301
11302        This was for a build experiment; we can just use the correct value now.
11303
11304        * WebCore.gyp/WebCore.gyp:
11305
113062011-05-20  Pavel Podivilov  <podivilov@chromium.org>
11307
11308        Reviewed by Pavel Feldman.
11309
11310        Web Inspector: breakpoints disappear from ui after navigation.
11311        https://bugs.webkit.org/show_bug.cgi?id=61133
11312
11313        * inspector/front-end/DebuggerPresentationModel.js:
11314        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
11315        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
11316
113172011-05-20  Sheriff Bot  <webkit.review.bot@gmail.com>
11318
11319        Unreviewed, rolling out r86958.
11320        http://trac.webkit.org/changeset/86958
11321        https://bugs.webkit.org/show_bug.cgi?id=61195
11322
11323        broke breakpoints persisting (Requested by podivilov on
11324        #webkit).
11325
11326        * inspector/front-end/DebuggerPresentationModel.js:
11327        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
11328        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
11329
113302011-05-19  Sergey Vorobyev  <sergeyvorobyev@google.com>
11331
11332        Reviewed by Yury Semikhatsky.
11333
11334        Web Inspector: Background network events collection - add GUI to Inspector.
11335        https://bugs.webkit.org/show_bug.cgi?id=58652
11336
11337        Now in WebInspector Network panel avalaible new checkbox item in context menu:
11338        "Background events collection". It allows to save all network events when inspector
11339        frontend closed. Events that occur before collection enabling are not preserved after
11340        frontend reopening. Property unique for each page. Disabled by default.
11341
11342
11343        Tests: http/tests/inspector/network/network-clear-after-disabled.html
11344               http/tests/inspector/network/network-close-load-open.html
11345               http/tests/inspector/network/network-open-load-reopen.html
11346
11347        * inspector/EventsCollector.cpp:
11348        (WebCore::EventsCollector::clear):
11349        * inspector/EventsCollector.h:
11350        * inspector/Inspector.json:
11351        * inspector/InspectorFrontendProxy.cpp:
11352        (WebCore::InspectorFrontendProxy::inspectorFrontendChannel):
11353        * inspector/InspectorFrontendProxy.h:
11354        * inspector/InspectorResourceAgent.cpp:
11355        (WebCore::InspectorResourceAgent::setFrontend):
11356        (WebCore::InspectorResourceAgent::clearFrontend):
11357        (WebCore::InspectorResourceAgent::isBackgroundEventsCollectionEnabled):
11358        (WebCore::InspectorResourceAgent::setBackgroundEventsCollectionEnabled):
11359        (WebCore::InspectorResourceAgent::initializeBackgroundCollection):
11360        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
11361        * inspector/InspectorResourceAgent.h:
11362        * inspector/front-end/NetworkPanel.js:
11363        (WebInspector.NetworkPanel):
11364        (WebInspector.NetworkPanel.prototype._contextMenu):
11365        (WebInspector.NetworkPanel.prototype._toggleBackgroundEventsCollection):
11366
113672011-05-20  Pavel Podivilov  <podivilov@chromium.org>
11368
11369        Reviewed by Pavel Feldman.
11370
11371        Web Inspector: breakpoints disappear from ui after navigation.
11372        https://bugs.webkit.org/show_bug.cgi?id=61133
11373
11374        * inspector/front-end/DebuggerPresentationModel.js:
11375        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
11376        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
11377
113782011-05-20  Jer Noble  <jer.noble@apple.com>
11379
11380        Reviewed by Maciej Stachowiak.
11381
11382        Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
11383        https://bugs.webkit.org/show_bug.cgi?id=61108
11384
11385        Instead of repainting the full- and non-full-screen windows in WebCore, delegate that
11386        responsibility to the FullScreenControllerClient.  Because the repaint operation may 
11387        be asynchronous, add a new method for clients to use to indicate repainting has completed.
11388
11389        * platform/graphics/win/FullScreenController.cpp:
11390        (FullScreenController::Private::Private): Added new ivars.
11391        (FullScreenController::enterFullScreen): Split into two functions (pre-and post repaint)
11392        (FullScreenController::enterFullScreenRepaintCompleted): Ditto.
11393        (FullScreenController::exitFullScreen): Ditto.
11394        (FullScreenController::exitFullScreenRepaintCompleted): Ditto.
11395        (FullScreenController::repaintCompleted): Call the appropriated repaint completed function.
11396        * platform/graphics/win/FullScreenController.h:
11397        * platform/graphics/win/FullScreenControllerClient.h:
11398
113992011-05-20  Yury Semikhatsky  <yurys@chromium.org>
11400
11401        Reviewed by Pavel Feldman.
11402
11403        Web Inspector: use RefPtr instead of OwnPtr to store InspectorBackendDispatcher
11404        https://bugs.webkit.org/show_bug.cgi?id=61188
11405
11406        * inspector/WorkerInspectorController.cpp:
11407        (WebCore::WorkerInspectorController::connectFrontend):
11408        (WebCore::WorkerInspectorController::disconnectFrontend):
11409        * inspector/WorkerInspectorController.h:
11410
114112011-05-20  Tonis Tiigi  <tonistiigi@gmail.com>
11412
11413        Reviewed by Pavel Feldman.
11414
11415        Web Inspector: Network panel should only show pointer cursor over valid resources
11416        https://bugs.webkit.org/show_bug.cgi?id=55240
11417
11418        Cursor style removed from filler area.
11419
11420        * inspector/front-end/networkPanel.css:
11421        (.network-sidebar .data-grid tr:not(.filler) td.name-column):
11422
114232011-05-20  Peter Varga  <pvarga@webkit.org>
11424
11425        Reviewed by Simon Hausmann.
11426
11427        [Qt][V8] Use qtscript-staging's shipped version of V8 when building with --v8
11428        https://bugs.webkit.org/show_bug.cgi?id=56649
11429
11430        Use the provided V8 and functionality of
11431        http://qt.gitorious.org/+qt-developers/qt/qtscript-staging to build QtWebKit+V8.
11432        Based on the original patch of Andras Becsi <abecsi@webkit.org>.
11433
11434        No new tests needed.
11435
11436        * CodeGenerators.pri: Add generating of DebuggerScriptSource.h
11437        * WebCore.pri: Fix the options for V8 build.
11438        * WebCore.pro: Ditto.
11439        * bindings/v8/NPV8Object.cpp:
11440        (WebCore::npObjectTypeInfo): Add missing initializer.
11441        * bindings/v8/ScriptController.cpp:
11442        (WebCore::ScriptController::disableEval): Temporarily disable
11443        unsupported feature on Qt.
11444        * bindings/v8/ScriptControllerQt.cpp:
11445        (WebCore::ScriptController::qtScriptEngine): use the QtScriptEngine
11446        constructor of qtscript-staging.
11447        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Add missing
11448        initializer.
11449        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Ditto.
11450        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Ditto.
11451        * loader/appcache/ApplicationCacheGroup.cpp: Add missing header.
11452        * loader/cache/CachedResourceRequest.cpp: Ditto.
11453        * page/PageSerializer.cpp: Ditto.
11454        * page/qt/FrameQt.cpp: Ditto.
11455        * storage/StorageEventDispatcher.cpp: Ditto.
11456
114572011-05-20  Tonis Tiigi  <tonistiigi@gmail.com>
11458
11459        Reviewed by Pavel Feldman.
11460
11461        Web Inspector: console.log(XMLDocument) should be case preserving
11462        https://bugs.webkit.org/show_bug.cgi?id=60765
11463
11464        Changes the XML document checking from base documents MIME type
11465        to xmlVersion parameter.
11466
11467        * inspector/InspectorDOMAgent.cpp:
11468        (WebCore::InspectorDOMAgent::buildObjectForNode):
11469        * inspector/front-end/DOMAgent.js:
11470        (WebInspector.DOMNode):
11471        * inspector/front-end/ElementsTreeOutline.js:
11472        (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
11473
114742011-05-20  Mikhail Naganov  <mnaganov@chromium.org>
11475
11476        Reviewed by Yury Semikhatsky.
11477
11478        Web Inspector: [Chromium] Use bottom-up CPU profile tree built in VM,
11479        instead of building it on Inspector's side.
11480        https://bugs.webkit.org/show_bug.cgi?id=61185
11481
11482        * bindings/js/ScriptProfile.cpp:
11483        (WebCore::ScriptProfile::bottomUpHead):
11484        (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
11485        * bindings/js/ScriptProfile.h:
11486        * bindings/v8/ScriptProfile.cpp:
11487        (WebCore::ScriptProfile::bottomUpHead):
11488        (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
11489        * bindings/v8/ScriptProfile.h:
11490        * inspector/InspectorProfilerAgent.cpp:
11491        (WebCore::InspectorProfilerAgent::getProfile):
11492        * inspector/front-end/ProfileView.js:
11493        (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
11494
114952011-05-20  Adam Roben  <aroben@apple.com>
11496
11497        Mac build fix after r86936
11498
11499        * WebCore.xcodeproj/project.pbxproj: Added preprocessor.pm like the
11500        other .pm files.
11501
115022011-05-20  Kent Tamura  <tkent@chromium.org>
11503
11504        Try to fix Windows CE build.
11505        Touch html.css to kick UA style sheet generation.
11506
11507        * css/html.css:
11508
115092011-05-20  Kent Tamura  <tkent@chromium.org>
11510
11511        Try to fix Windows CE build. 
11512
11513        * CMakeLists.txt: Add --preprocessor flag.
11514
115152011-05-20  Kent Tamura  <tkent@chromium.org>
11516
11517        Reviewed by Hajime Morita.
11518
11519        Apply feature flags to user-agent style sheets
11520        https://bugs.webkit.org/show_bug.cgi?id=52612
11521
11522        A user-agent style sheet should not have style definitions for disabled
11523        features because such definitions makes feature detection harder and
11524        causes incorrect behavior (See Bug 52214).
11525
11526        We have handled such feature-dependent style definitions by providing
11527        separated CSS files and selecting them in build files. Adding such style
11528        definition was hard because we need to update each of build files. This
11529        change simplifies the process to add such style definitions by applying
11530        preprocessor to the CSS files.
11531
11532        Implementation:
11533        make-css-file-arrays.pl invokes a preprocessor if it has --defines
11534        option. Otherwise, it just remove lines beginning with #.
11535        In this change, we pass --defines on Mac, Windows, Chromium, GTK, and
11536        CMake platforms. Qt and Android have no behavior change.
11537
11538        * CMakeLists.txt:
11539          - IDL handling depends on preprocessor.pm.
11540          - Pass --defines option to make-css-file-arrays.pl
11541          - Add WebCore/bindings/scripts to @INC for make-css-file-arrays.pl
11542        * CodeGenerators.pri: IDL handling depends on preprocessor.pm.
11543        * DerivedSources.make: ditto.
11544        * GNUmakefile.am: ditto.
11545        * WebCore.gyp/WebCore.gyp: ditto.
11546        * WebCore.gyp/scripts/action_useragentstylesheets.py:
11547          Change parameter order to support perl modules and options.
11548          Many code is taken from rule_bindings.py.
11549        * WebCore.vcproj/MigrateScripts: Handles preprocessor.pm.
11550        * bindings/scripts/IDLParser.pm:
11551          Move the preprocessor code to preprocessor.pm.
11552        * bindings/scripts/preprocessor.pm:
11553          Added. The code was moved from IDLParser.pm
11554        * css/html.css: Enclose some style definitions with #if-#endif.
11555        * css/make-css-file-arrays.pl:
11556          - Add --defines and --preprocessor options.
11557          - Invoke a preprocessor if --defines is specified.
11558
115592011-05-20  Dirk Schulze  <krit@webkit.org>
11560
11561        Rubber-stamped by Nikolas Zimmermann.
11562
11563        Remove unnecessary class Path inlcude from PathTraversalState.
11564
11565        * platform/graphics/PathTraversalState.h:
11566
115672011-05-19  Pavel Podivilov  <podivilov@chromium.org>
11568
11569        Reviewed by Pavel Feldman.
11570
11571        Web Inspector: ctrl+s should not switch source frame to read only mode.
11572        https://bugs.webkit.org/show_bug.cgi?id=61125
11573
11574        * inspector/front-end/SourceFrame.js:
11575        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
11576        (WebInspector.SourceFrame.prototype.commitEditing):
11577        * inspector/front-end/inspector.js:
11578        (WebInspector.documentKeyDown):
11579
115802011-05-20  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
11581
11582        Reviewed by Nikolas Zimmermann.
11583
11584        Apply the ParallelJobs support to FEConvolveMatrix
11585        https://bugs.webkit.org/show_bug.cgi?id=61171
11586
11587        The FEConvolveMatrix filter of SVG can consume lots of resources if it is
11588        applied to a large area. The computation can be distributed to multiple
11589        cores if the architecture supports.
11590        The average performance progression is 20-30% on dual-core machines.
11591
11592        Developed in cooperation with Gabor Loki.
11593
11594        * platform/graphics/filters/FEConvolveMatrix.cpp:
11595        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
11596        (WebCore::FEConvolveMatrix::setInteriorPixels):
11597        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
11598        (WebCore::FEConvolveMatrix::apply):
11599        * platform/graphics/filters/FEConvolveMatrix.h:
11600
116012011-05-20  Sheriff Bot  <webkit.review.bot@gmail.com>
11602
11603        Unreviewed, rolling out r86920.
11604        http://trac.webkit.org/changeset/86920
11605        https://bugs.webkit.org/show_bug.cgi?id=61173
11606
11607        It cause compile error on some buildbot in chromium. e.g.
11608        http://build.chromium.org/p/chromium.memory/builders/Chromium%20Mac%20Builder%20%28valgrind%29/builds/12336/steps/compile/logs/stdio#error1
11609        (Requested by ukai_ on #webkit).
11610
11611        * WebCore.xcodeproj/project.pbxproj:
11612        * css/CSSComputedStyleDeclaration.cpp:
11613        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11614        * css/CSSParser.cpp:
11615        (WebCore::CSSParser::parseValue):
11616        * css/CSSPrimitiveValueMappings.h:
11617        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
11618        (WebCore::CSSPrimitiveValue::operator EImageRendering):
11619        * css/CSSPropertyNames.in:
11620        * css/CSSStyleSelector.cpp:
11621        (WebCore::CSSStyleSelector::applyProperty):
11622        * css/CSSValueKeywords.in:
11623        * css/SVGCSSComputedStyleDeclaration.cpp:
11624        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
11625        * css/SVGCSSPropertyNames.in:
11626        * css/SVGCSSStyleSelector.cpp:
11627        (WebCore::CSSStyleSelector::applySVGProperty):
11628        * css/SVGCSSValueKeywords.in:
11629        * html/HTMLCanvasElement.cpp:
11630        (WebCore::HTMLCanvasElement::paint):
11631        * html/HTMLCanvasElement.h:
11632        * platform/graphics/ImageRenderingMode.h: Removed.
11633        * rendering/RenderBoxModelObject.cpp:
11634        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
11635        * rendering/RenderHTMLCanvas.cpp:
11636        (WebCore::RenderHTMLCanvas::paintReplaced):
11637        * rendering/style/RenderStyle.cpp:
11638        (WebCore::RenderStyle::diff):
11639        * rendering/style/RenderStyle.h:
11640        * rendering/style/RenderStyleConstants.h:
11641        * rendering/style/SVGRenderStyle.cpp:
11642        (WebCore::SVGRenderStyle::diff):
11643        * rendering/style/SVGRenderStyle.h:
11644        (WebCore::SVGRenderStyle::initialImageRendering):
11645        (WebCore::SVGRenderStyle::setImageRendering):
11646        (WebCore::SVGRenderStyle::imageRendering):
11647        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
11648        (WebCore::SVGRenderStyle::setBitDefaults):
11649        * rendering/style/SVGRenderStyleDefs.h:
11650        * rendering/style/StyleRareInheritedData.cpp:
11651        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
11652        (WebCore::StyleRareInheritedData::operator==):
11653        * rendering/style/StyleRareInheritedData.h:
11654        * rendering/svg/SVGRenderTreeAsText.cpp:
11655        (WebCore::writeStyle):
11656
116572011-05-20  Dirk Schulze  <krit@webkit.org>
11658
11659        Reviewed by Eric Seidel.
11660
11661        SVG Large curve path segment OOM crash
11662        https://bugs.webkit.org/show_bug.cgi?id=42079
11663
11664        Limit the depth of repeatedly splitting a segment on length calculation to 20. The limitation
11665        is necessary for very big segments that would be splitter into millions of parts otherwise.
11666        The limitation just cause a less accurate approximation.
11667        At the moment the limit is fixed to 20. This is comparable with splitting the segment into 
11668        ~1 million parts as a worst case. We might want to be more flexible later.
11669
11670        Test: svg/custom/path-getTotalLength-on-big-segment-crash.svg
11671
11672        * platform/graphics/PathTraversalState.cpp:
11673        (WebCore::midPoint):
11674        (WebCore::curveLength):
11675        (WebCore::PathTraversalState::PathTraversalState):
11676        (WebCore::PathTraversalState::moveTo):
11677        (WebCore::PathTraversalState::quadraticBezierTo):
11678        (WebCore::PathTraversalState::cubicBezierTo):
11679        * platform/graphics/PathTraversalState.h:
11680
116812011-05-20  Leo Yang  <leo.yang@torchmobile.com.cn>
11682
11683        Reviewed by Nikolas Zimmermann.
11684
11685        SVGRootInlineBox triggers calculateBoundaries twice in layout
11686        https://bugs.webkit.org/show_bug.cgi?id=60979
11687
11688        SVGRootInlineBox was calculating boundaries for children twice
11689        in computePerCharacterLayoutInformation(). The first time of
11690        calculation was in layoutChildBoxes() which is called by
11691        computePerCharacterLayoutInformation(), and the second time of
11692        calculation was in layoutRootBox() following layoutChildBoxes().
11693
11694        This patch calculates rectangle of children in layoutChildBoxes()
11695        and then uses the rectange in layoutRootBox() to reduce a pass
11696        of calculating child boundaries.
11697
11698        No functionality change, no new tests.
11699
11700        * rendering/svg/SVGRootInlineBox.cpp:
11701        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
11702        (WebCore::SVGRootInlineBox::layoutChildBoxes):
11703        (WebCore::SVGRootInlineBox::layoutRootBox):
11704        * rendering/svg/SVGRootInlineBox.h:
11705
117062011-05-19  Naoki Takano  <takano.naoki@gmail.com>
11707
11708        Reviewed by Kent Tamura.
11709
11710        Fix a problem that updating HTMLInputElement::value sets the cursor to a wrong position.
11711        https://bugs.webkit.org/show_bug.cgi?id=61163
11712
11713        Manual test input-number-localization.html.
11714        Because we can't assume any number formats in various WebKit ports.
11715
11716        * html/HTMLInputElement.cpp:
11717        (WebCore::HTMLInputElement::setValue): The cursor must be the last position of visibleValue(), not m_value.
11718        * manual-tests/input-number-localization.html: Added manual test to check the cursor correctly moved to the last poisition of the input.
11719
117202011-05-19  Jer Noble  <jer.noble@apple.com>
11721
11722        Reviewed by Maciej Stachowiak.
11723
11724        WebKit2: Flashing when entering and exiting full screen mode
11725        https://bugs.webkit.org/show_bug.cgi?id=56957
11726
11727        Guard against the parameter of setAnimating() matching the ivar value it's 
11728        setting, thus avoiding tearing down the renderer's layer backing.
11729
11730        * rendering/RenderFullScreen.cpp:
11731        (RenderFullScreen::setAnimating):
11732
117332011-05-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
11734
11735        Reviewed by Adam Barth.
11736
11737        Remove Node::deprecatedParserAddChild
11738        https://bugs.webkit.org/show_bug.cgi?id=60818
11739
11740        Refactoring only so no new tests.
11741
11742        This patch fails short of one instance of deprecatedParserAddChild which will
11743        require a refactoring of <input> shadow DOM to be removed.
11744
11745        * dom/XMLDocumentParser.cpp:
11746        (WebCore::XMLDocumentParser::pushCurrentNode): Updated to use a ContainerNode.
11747        (WebCore::XMLDocumentParser::clearCurrentNodeStack): We now need to clear
11748        up m_leafTextNode too.
11749
11750        (WebCore::XMLDocumentParser::enterText):
11751        (WebCore::XMLDocumentParser::exitText):
11752        Those methods were updated to use m_leafTextNode instead of m_currentNode.
11753
11754        * dom/XMLDocumentParser.h:
11755        Changed the currentNode logic to use ContainerNode. Also fixed the style of the
11756        forward declarations.
11757
11758        * dom/XMLDocumentParserLibxml2.cpp:
11759        (WebCore::XMLDocumentParser::startElementNs):
11760        (WebCore::XMLDocumentParser::endElementNs):
11761        (WebCore::XMLDocumentParser::characters):
11762        (WebCore::XMLDocumentParser::processingInstruction):
11763        (WebCore::XMLDocumentParser::cdataBlock):
11764        (WebCore::XMLDocumentParser::comment):
11765        * dom/XMLDocumentParserQt.cpp:
11766        (WebCore::XMLDocumentParser::parse):
11767        (WebCore::XMLDocumentParser::parseStartElement):
11768        (WebCore::XMLDocumentParser::parseEndElement):
11769        (WebCore::XMLDocumentParser::parseCharacters):
11770        (WebCore::XMLDocumentParser::parseProcessingInstruction):
11771        (WebCore::XMLDocumentParser::parseCdata):
11772        (WebCore::XMLDocumentParser::parseComment):
11773        Removed the calls to deprecatedParserAddChild, changed the code to use
11774        m_leafTextNode when it made sense and used ContainerNode instead of
11775        Node for m_currentNode.
11776
117772011-05-19  Mike Lawther  <mikelawther@chromium.org>
11778
11779        Reviewed by Simon Fraser.
11780
11781        implement image-rendering: optimize-contrast (with a vendor prefix) as defined in CSS3 image values
11782        https://bugs.webkit.org/show_bug.cgi?id=56627
11783
11784        Tests: css3/images/optimize-contrast-canvas.html
11785               css3/images/optimize-contrast-image.html
11786
11787        * WebCore.xcodeproj/project.pbxproj:
11788        * css/CSSComputedStyleDeclaration.cpp:
11789        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11790        * css/CSSParser.cpp:
11791        (WebCore::CSSParser::parseValue):
11792        * css/CSSPrimitiveValueMappings.h:
11793        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
11794        (WebCore::CSSPrimitiveValue::operator EImageRendering):
11795        * css/CSSPropertyNames.in:
11796        * css/CSSStyleSelector.cpp:
11797        (WebCore::CSSStyleSelector::applyProperty):
11798        * css/CSSValueKeywords.in:
11799        * css/SVGCSSComputedStyleDeclaration.cpp:
11800        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
11801        * css/SVGCSSPropertyNames.in:
11802        * css/SVGCSSStyleSelector.cpp:
11803        (WebCore::CSSStyleSelector::applySVGProperty):
11804        * css/SVGCSSValueKeywords.in:
11805        * html/HTMLCanvasElement.cpp:
11806        (WebCore::HTMLCanvasElement::paint):
11807        * html/HTMLCanvasElement.h:
11808        * platform/graphics/ImageRenderingMode.h: Added.
11809        * rendering/RenderBoxModelObject.cpp:
11810        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
11811        * rendering/RenderHTMLCanvas.cpp:
11812        (WebCore::RenderHTMLCanvas::paintReplaced):
11813        * rendering/style/RenderStyle.cpp:
11814        (WebCore::RenderStyle::diff):
11815        * rendering/style/RenderStyle.h:
11816        (WebCore::InheritedFlags::imageRendering):
11817        (WebCore::InheritedFlags::setImageRendering):
11818        (WebCore::InheritedFlags::initialImageRendering):
11819        * rendering/style/RenderStyleConstants.h:
11820        * rendering/style/SVGRenderStyle.cpp:
11821        (WebCore::SVGRenderStyle::diff):
11822        * rendering/style/SVGRenderStyle.h:
11823        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
11824        (WebCore::SVGRenderStyle::setBitDefaults):
11825        * rendering/style/SVGRenderStyleDefs.h:
11826        * rendering/svg/SVGRenderTreeAsText.cpp:
11827        (WebCore::writeStyle):
11828
118292011-05-18  Kenneth Russell  <kbr@google.com>
11830
11831        Reviewed by James Robinson.
11832
11833        [chromium] Disable blending in compositor for WebGL layers with alpha=false
11834        https://bugs.webkit.org/show_bug.cgi?id=61091
11835
11836        Test: compositing/webgl/webgl-no-alpha.html
11837
11838        * platform/graphics/chromium/CanvasLayerChromium.cpp:
11839        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
11840        (WebCore::CanvasLayerChromium::pushPropertiesTo):
11841        * platform/graphics/chromium/CanvasLayerChromium.h:
11842        * platform/graphics/chromium/WebGLLayerChromium.cpp:
11843        (WebCore::WebGLLayerChromium::setContext):
11844        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
11845        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
11846        (WebCore::CCCanvasLayerImpl::draw):
11847        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
11848        (WebCore::CCCanvasLayerImpl::setHasAlpha):
11849
118502011-05-18  Jeremy Noble  <jer.noble@apple.com>
11851
11852        Reviewed by Darin Adler.
11853
11854        Poster is not shown in Safari for video element with no playable source elements.
11855        https://bugs.webkit.org/show_bug.cgi?id=61109
11856
11857        Test: media/video-src-invalid-poster.html
11858
11859        In the case where no video sources are playable, update the display state and 
11860        renderer, allowing the poster image to display.
11861
11862        * html/HTMLMediaElement.cpp:
11863        (WebCore::HTMLMediaElement::waitForSourceChange): 
11864
118652011-05-19  Andrew Wilson  <atwilson@chromium.org>
11866
11867        Reviewed by Darin Adler.
11868
11869        MessagePortArray cloning code needs to verify source before copying.
11870        https://bugs.webkit.org/show_bug.cgi?id=61130
11871
11872        * bindings/js/JSMessagePortCustom.cpp:
11873        (WebCore::fillMessagePortArray):
11874        Changed code to not pre-allocate the destination array.
11875        * bindings/v8/custom/V8MessagePortCustom.cpp:
11876        (WebCore::getMessagePortArray):
11877        Changed code to not pre-allocate the destination array.
11878
118792011-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
11880
11881        Unreviewed, rolling out r86869, r86873, r86875, and r86877.
11882        http://trac.webkit.org/changeset/86869
11883        http://trac.webkit.org/changeset/86873
11884        http://trac.webkit.org/changeset/86875
11885        http://trac.webkit.org/changeset/86877
11886        https://bugs.webkit.org/show_bug.cgi?id=61139
11887
11888        broke builds and debug DRT (Requested by rniwa on #webkit).
11889
11890        * DerivedSources.make:
11891        * WebCore.exp.in:
11892        * WebCore.gyp/WebCore.gyp:
11893        * WebCore.gypi:
11894        * WebCore.xcodeproj/project.pbxproj:
11895        * testing/Internals.cpp: Removed.
11896        * testing/Internals.h: Removed.
11897        * testing/Internals.idl: Removed.
11898        * testing/js/WebCoreTestSupport.cpp: Removed.
11899        * testing/js/WebCoreTestSupport.h: Removed.
11900        * testing/v8/WebCoreTestSupport.cpp: Removed.
11901        * testing/v8/WebCoreTestSupport.h: Removed.
11902
119032011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
11904
11905        One more fix after r86869.
11906
11907        * WebCore.exp.in: Made __ZN7WebCore12JSDOMWrapperD2Ev only export for debug builds.
11908
119092011-05-19  Anders Carlsson  <andersca@apple.com>
11910
11911        Add two more symbols needed by the window.internals library.
11912
11913        * WebCore.exp.in:
11914
119152011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
11916
11917        Fix Leopard build after r86869.
11918
11919        * WebCore.exp.in: Moved now-always-used exported symbols out of the conditional guard.
11920
119212011-05-19  Robert Hogan  <robert@webkit.org>
11922
11923        Reviewed by Andreas Kling.
11924
11925        [Qt] Fix plugins/windowless_plugin_paint_test.html
11926        https://bugs.webkit.org/show_bug.cgi?id=60992
11927
11928        Call gdk_init_check before gdk_display_get_default().
11929        If we don't do this, gdk_display_get_default() will hang
11930        the next time it's called.
11931
11932        * plugins/qt/PluginViewQt.cpp:
11933        (WebCore::getPluginDisplay):
11934
119352011-05-18  Dimitri Glazkov  <dglazkov@chromium.org>
11936
11937        Reviewed by Darin Adler.
11938
11939        Add build logistics and plumbing for window.internals object.
11940        https://bugs.webkit.org/show_bug.cgi?id=60313
11941
11942        Test: fast/harness/internals-object.html
11943
11944        * DerivedSources.make: Added support for generating from Internals.idl.
11945        * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
11946        * WebCore.gypi: Ditto.
11947        * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
11948        * testing/Internals.cpp: Added.
11949        * testing/Internals.h: Added.
11950        * testing/Internals.idl: Added.
11951        * testing/js/WebCoreTestSupport.cpp: Added.
11952        * testing/js/WebCoreTestSupport.h: Added.
11953        * testing/v8/WebCoreTestSupport.cpp: Added.
11954        * testing/v8/WebCoreTestSupport.h: Added.
11955
119562011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
11957
11958        Accept XCode's decisions to keep modifying WebCore.xcodeproj.
11959
11960        * WebCore.xcodeproj/project.pbxproj: Opened in XCode then closed.
11961
119622011-05-19  Andrew Wason  <rectalogic@rectalogic.com>
11963
11964        Reviewed by Darin Adler.
11965
11966        Fix GraphicsContext3DQt.cpp compile error
11967        https://bugs.webkit.org/show_bug.cgi?id=61128
11968
11969        * platform/graphics/qt/GraphicsContext3DQt.cpp:
11970        (WebCore::GraphicsContext3D::GraphicsContext3D):
11971         clear() m_internal OwnPtr.
11972
119732011-05-19  Tonis Tiigi  <tonistiigi@gmail.com>
11974
11975        Reviewed by Pavel Feldman.
11976
11977        Web Inspector: Resizing columns in the network panel is weird
11978        https://bugs.webkit.org/show_bug.cgi?id=55238
11979
11980        Makes network panel column resizing more usable by adding "first only" and "last only"
11981        resizing methods to WebInspector.DataGrid. Current behavior is named "nearest" and
11982        remains default. Network panels datagrid is set to use method "last".
11983
11984        * inspector/front-end/DataGrid.js:
11985        (WebInspector.DataGrid.prototype.get resizeMethod):
11986        (WebInspector.DataGrid.prototype.set resizeMethod):
11987        (WebInspector.DataGrid.prototype._resizerDragging):
11988        * inspector/front-end/NetworkPanel.js:
11989        (WebInspector.NetworkPanel.prototype._createTable):
11990
119912011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
11992
11993        Reviewed by Darin Adler.
11994
11995        JoinTextNodesCommand is never used
11996        https://bugs.webkit.org/show_bug.cgi?id=61089
11997
11998        Deleted JoinTextNodesCommand because it's never used.
11999
12000        * CMakeLists.txt:
12001        * GNUmakefile.list.am:
12002        * WebCore.gypi:
12003        * WebCore.pro:
12004        * WebCore.vcproj/WebCore.vcproj:
12005        * WebCore.xcodeproj/project.pbxproj:
12006        * editing/CompositeEditCommand.cpp:
12007        * editing/CompositeEditCommand.h:
12008        * editing/EditingAllInOne.cpp:
12009        * editing/JoinTextNodesCommand.cpp: Removed.
12010        * editing/JoinTextNodesCommand.h: Removed.
12011
120122011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
12013
12014        Reviewed by Darin Adler.
12015
12016        REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
12017        https://bugs.webkit.org/show_bug.cgi?id=61012
12018
12019        The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
12020        being moved when the insertion position's container node is the node to split to. Fixed the crash
12021        by not changing the insertion position in such a case.
12022
12023        Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
12024        it's much better than crashing.
12025
12026        Test: editing/pasteboard/paste-after-inline-style-element.html
12027
12028        * editing/ReplaceSelectionCommand.cpp:
12029        (WebCore::ReplaceSelectionCommand::doApply):
12030
120312011-05-19  Brady Eidson  <beidson@apple.com>
12032
12033        Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
12034
12035        * editing/SpellingCorrectionController.cpp:
12036        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
12037        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
12038
120392011-05-19  Darin Adler  <darin@apple.com>
12040
12041        Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
12042
12043        * editing/SpellingCorrectionController.cpp:
12044        (WebCore::markersHaveIdenticalDescription): Call description() function.
12045
120462011-05-19  Andrey Adaikin  <aandrey@google.com>
12047
12048        Reviewed by Pavel Feldman.
12049
12050        Web Inspector: switch to Scripts panel is too slow
12051        https://bugs.webkit.org/show_bug.cgi?id=61030
12052
12053        - It is very expensive to listen to the DOM mutation events, thus we remove the listeners whenever we do any internal
12054        DOM manipulations (such as expand/collapse line rows) and set the listeners back when we are finished.
12055        - Also, when we switch to the Scripts panel that have a non-zero scrollTop offset, we would do the rendering work twice.
12056
12057        * inspector/front-end/SourceFrame.js:
12058        (WebInspector.SourceFrame.prototype.show):
12059        * inspector/front-end/TextViewer.js:
12060        (WebInspector.TextEditorMainPanel):
12061        (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
12062        (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
12063        (WebInspector.TextEditorMainPanel.prototype._enableDOMNodeRemovedListener):
12064        (WebInspector.TextEditorMainChunk):
12065        (WebInspector.TextEditorMainChunk.prototype.set expanded):
12066        (WebInspector.TextEditorMainChunk.prototype._createRow):
12067
120682011-05-19  Pavel Feldman  <pfeldman@google.com>
12069
12070        Not reviewed: inspector protocol tests fixed.
12071
12072        * inspector/InjectedScriptSource.js:
12073
120742011-05-19  David Grogan  <dgrogan@chromium.org>
12075
12076        Reviewed by David Levin.
12077
12078        Make EventQueue post a Task to the task queue for each asynchronous event
12079        https://bugs.webkit.org/show_bug.cgi?id=60790
12080
12081        Currently EventQueue queues up events to be fired asynchronously and
12082        fires each of them when a single DOMTimer goes off.  In the words of
12083        dimich, "Having 2 queues will sooner or later cause problems with
12084        ordering of tasks, termination, suspension and other things that all
12085        require some control on how queues operate."
12086
12087        No new tests; this is just a refactoring to avoid potential future
12088        problems.
12089
12090        * dom/EventQueue.cpp:
12091        (WebCore::EventQueue::EventQueue):
12092        (WebCore::EventQueue::EventDispatcherTask::create):
12093        (WebCore::EventQueue::EventDispatcherTask::dispatchEvent):
12094        (WebCore::EventQueue::EventDispatcherTask::performTask):
12095        (WebCore::EventQueue::EventDispatcherTask::cancel):
12096        (WebCore::EventQueue::EventDispatcherTask::EventDispatcherTask):
12097        (WebCore::EventQueue::removeEvent):
12098        (WebCore::EventQueue::enqueueEvent):
12099        (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
12100        (WebCore::EventQueue::cancelEvent):
12101        (WebCore::EventQueue::cancelQueuedEvents):
12102        * dom/EventQueue.h:
12103
121042011-05-18  Yury Semikhatsky  <yurys@chromium.org>
12105
12106        Reviewed by Pavel Feldman.
12107
12108        InjectedScriptSource.js - "Don't be eval()."
12109        https://bugs.webkit.org/show_bug.cgi?id=60800
12110
12111        Thanks to Adam Barth for providing JSC implementation!
12112
12113        InjectedScriptHost.evaluate is used to perform script evaluations for
12114        inspector needs. This method is not affected by CSP and should fix inspector
12115        on pages with CSP restrictions.
12116
12117        Test: inspector/console/console-eval-blocked.html
12118
12119        * bindings/js/JSInjectedScriptHostCustom.cpp:
12120        (WebCore::JSInjectedScriptHost::evaluate):
12121        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
12122        (WebCore::V8InjectedScriptHost::evaluateCallback):
12123        (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
12124        * inspector/InjectedScriptHost.idl:
12125        * inspector/InjectedScriptSource.js:
12126        (.):
12127
121282011-05-19  Pavel Feldman  <pfeldman@google.com>
12129
12130        Reviewed by Yury Semikhatsky.
12131
12132        Web Inspector: expose object class name as a part of RemoteObject mirror.
12133        https://bugs.webkit.org/show_bug.cgi?id=61067
12134
12135        * inspector/InjectedScriptSource.js:
12136        * inspector/Inspector.json:
12137
121382011-05-19  Pavel Feldman  <pfeldman@google.com>
12139
12140        Reviewed by Yury Semikhatsky.
12141
12142        Web Inspector: make "this" a part of callFrame, not scope in the protocol.
12143        https://bugs.webkit.org/show_bug.cgi?id=61057
12144
12145        * inspector/InjectedScriptSource.js:
12146        * inspector/Inspector.json:
12147        * inspector/front-end/ScopeChainSidebarPane.js:
12148        (WebInspector.ScopeChainSidebarPane.prototype.update):
12149
121502011-05-19  Kent Tamura  <tkent@chromium.org>
12151
12152        Reviewed by Hajime Morita.
12153
12154        tooLong validity should not be true for a value set by a script
12155        https://bugs.webkit.org/show_bug.cgi?id=60948
12156
12157        The specification has been updated so that tooLong should be true only
12158        for user-edit values.
12159        
12160        Introduce m_wasModifiedByUser flag to HTMLInputElement and
12161        HTMLTextAreaElemnt. It is set to true when a renderer updates the
12162        value, and is cleared when the value is updated by others.
12163
12164        * html/HTMLInputElement.cpp:
12165        (WebCore::HTMLInputElement::HTMLInputElement):
12166          Initialize m_wasModifiedByUser.
12167        (WebCore::HTMLInputElement::tooLong):
12168          Skip the check if m_wasModifiedByUser is false.
12169        (WebCore::HTMLInputElement::updateType): Clear m_wasModifiedByUser.
12170        (WebCore::HTMLInputElement::copyNonAttributeProperties):
12171        (WebCore::HTMLInputElement::setValue): If sendChange is true,
12172          m_wasModifiedByUser should be true because sendChange is set in a case
12173          of form auto-fill.  We assume a value set by form auto-fill is a kind
12174          of user-edit.
12175        (WebCore::HTMLInputElement::setValueFromRenderer):
12176          m_wasModifiedByUser should be true for the update by a renderer.
12177        * html/HTMLInputElement.h: Declare m_wasModifiedByUser.
12178        * html/HTMLTextAreaElement.cpp:
12179        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
12180          Initialize m_wasModifiedByUser.
12181        (WebCore::HTMLTextAreaElement::updateValue):
12182          m_wasModifiedByUser should be true for the update by a renderer.
12183        (WebCore::HTMLTextAreaElement::setValueCommon): Clear m_wasModifiedByUser.
12184        (WebCore::HTMLTextAreaElement::tooLong):
12185          Skip the check if m_wasModifiedByUser is false.
12186        * html/HTMLTextAreaElement.h: Declare m_wasModifiedByUser.
12187
121882011-05-19  David Barr  <davidbarr@chromium.org>
12189
12190        Reviewed by Simon Fraser.
12191
12192        CSS3: We fail 'border radius sum of radii' test
12193        https://bugs.webkit.org/show_bug.cgi?id=38788
12194
12195        Ignore border-radius properties with negative values.
12196
12197        Test: fast/css/border-radius-non-negative.html
12198
12199        * WebCore.xcodeproj/project.pbxproj:
12200        * css/CSSParser.cpp:
12201        (WebCore::CSSParser::parseValue):
12202        (WebCore::CSSParser::parseBorderRadius):
12203
122042011-05-19  Yuta Kitamura  <yutak@chromium.org>
12205
12206        Reviewed by Kent Tamura.
12207
12208        WebSocket: Use ScriptContext::Task to hold pending events of ThreadableWebSocketChannelClientWrapper
12209        https://bugs.webkit.org/show_bug.cgi?id=61034
12210
12211        Refactoring only. No new tests.
12212
12213        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
12214        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
12215        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
12216        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
12217        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
12218        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
12219        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
12220        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
12221        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
12222        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
12223        * websockets/ThreadableWebSocketChannelClientWrapper.h:
12224        Remove m_pendingConnected, m_pendingMessages and m_pendingClosed, and use ScriptContext::Task
12225        to hold these pending events.
12226
122272011-05-19  Emil A Eklund  <eae@chromium.org>
12228
12229        Reviewed by Alexey Proskuryakov.
12230
12231        REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
12232        https://bugs.webkit.org/show_bug.cgi?id=60986
12233
12234        * html/HTMLSelectElement.cpp:
12235        (WebCore::HTMLSelectElement::setMultiple):
12236        Don't restore selection if the multiple attribute hasn't changed.
12237
122382011-05-18  Fumitoshi Ukai  <ukai@chromium.org>
12239
12240        Reviewed by Alexey Proskuryakov.
12241
12242        http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html crashed once on Windows XP Debug (Tests)
12243        https://bugs.webkit.org/show_bug.cgi?id=57048
12244
12245        * platform/network/cf/SocketStreamHandleCFNet.cpp:
12246        (WebCore::SocketStreamHandle::platformClose): use loaderRunLoop to schedule streams on platform WIN
12247
122482011-05-18  MORITA Hajime  <morrita@google.com>
12249
12250        Unreviewed attempt to fix clang build.
12251
12252        * rendering/InlineTextBox.h:
12253
122542011-05-18  Nat Duca  <nduca@chromium.org>
12255
12256        Reviewed by James Robinson.
12257
12258        [chromium] Add histograms for paint times
12259        https://bugs.webkit.org/show_bug.cgi?id=61010
12260
12261        * platform/graphics/chromium/ContentLayerChromium.cpp:
12262        (WebCore::ContentLayerPainter::paint):
12263
122642011-05-18  Adrienne Walker  <enne@google.com>
12265
12266        Reviewed by James Robinson.
12267
12268        [chromium] Fix incorrect size when clipping image layer upload rects
12269        https://bugs.webkit.org/show_bug.cgi?id=61105
12270
12271        The clipped destination and source rects should have the same size.
12272
12273        * platform/graphics/chromium/ImageLayerChromium.cpp:
12274        (WebCore::ImageLayerTextureUpdater::updateTextureRect):
12275
122762011-05-17  MORITA Hajime  <morrita@google.com>
12277
12278        Reviewed by Tony Chang.
12279
12280        [Refactoring] Member variables of DocumentMarker should be encapsulated.
12281        https://bugs.webkit.org/show_bug.cgi?id=56814
12282
12283        - Moved DocumentMarker's member variables to private and added getters for them.
12284        - Added DocumentMarker setters and constructors, which contain assertions against m_type values
12285          because description and activeMatch are used with specific type of MarkerType.
12286        - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController::addTextMatchMarker()
12287          because it accesses DocumentMarker internals.
12288        - Moved a version of DMC::addMarker() to private and add alternatives that hide
12289          internals of DocumentMarker. (The internal will be renewed by upcoming change.)
12290        
12291        * dom/DocumentMarker.h:
12292        (WebCore::DocumentMarker::type):
12293        (WebCore::DocumentMarker::startOffset):
12294        (WebCore::DocumentMarker::endOffset):
12295        (WebCore::DocumentMarker::description):
12296        (WebCore::DocumentMarker::hasDescription):
12297        (WebCore::DocumentMarker::activeMatch):
12298        (WebCore::DocumentMarker::clearDescription):
12299        (WebCore::DocumentMarker::setStartOffset):
12300        (WebCore::DocumentMarker::setEndOffset):
12301        (WebCore::DocumentMarker::operator==):
12302        (WebCore::DocumentMarker::DocumentMarker):
12303        (WebCore::DocumentMarker::shiftOffsets):
12304        (WebCore::DocumentMarker::setActiveMatch):
12305        * dom/DocumentMarkerController.cpp:
12306        (WebCore::DocumentMarkerController::addMarker):
12307        (WebCore::DocumentMarkerController::addTextMatchMarker):
12308        (WebCore::DocumentMarkerController::copyMarkers):
12309        (WebCore::DocumentMarkerController::removeMarkers):
12310        (WebCore::DocumentMarkerController::markerContainingPoint):
12311        (WebCore::DocumentMarkerController::markersInRange):
12312        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
12313        (WebCore::DocumentMarkerController::removeMarkersFromList):
12314        (WebCore::DocumentMarkerController::repaintMarkers):
12315        (WebCore::DocumentMarkerController::shiftMarkers):
12316        (WebCore::DocumentMarkerController::setMarkersActive):
12317        (WebCore::DocumentMarkerController::hasMarkers):
12318        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
12319        (WebCore::DocumentMarkerController::showMarkers):
12320        * dom/DocumentMarkerController.h:
12321        * editing/CompositeEditCommand.cpp:
12322        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
12323        * editing/DeleteSelectionCommand.cpp:
12324        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
12325        * editing/Editor.cpp:
12326        (WebCore::Editor::selectionStartHasMarkerFor):
12327        * editing/SpellingCorrectionController.cpp:
12328        (WebCore::SpellingCorrectionController::respondToChangedSelection):
12329        * editing/SpellingCorrectionController.h:
12330        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
12331        * rendering/HitTestResult.cpp:
12332        (WebCore::HitTestResult::spellingToolTip):
12333        (WebCore::HitTestResult::replacedString):
12334        * rendering/InlineTextBox.cpp:
12335        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
12336        (WebCore::InlineTextBox::paintTextMatchMarker):
12337        (WebCore::InlineTextBox::computeRectForReplacementMarker):
12338        (WebCore::InlineTextBox::paintDocumentMarkers):
12339        * rendering/svg/SVGInlineFlowBox.cpp:
12340        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
12341
123422011-05-18  Oliver Hunt  <oliver@apple.com>
12343
12344        Reviewed by Geoffrey Garen.
12345
12346        +[WebScriptObject throwException:] doesn't work when invoked from obj-c field access
12347        https://bugs.webkit.org/show_bug.cgi?id=61100
12348
12349        The objc bindings were written to assume exceptions would
12350        come from obj-c style exceptions, rather than throwException:
12351        This code simply calls the global ObjcInstance mechanism for
12352        transferring the reported exception.
12353
12354        * bridge/objc/objc_instance.h:
12355        * bridge/objc/objc_runtime.mm:
12356        (JSC::Bindings::ObjcField::valueFromInstance):
12357        (JSC::Bindings::ObjcField::setValueToInstance):
12358
123592011-05-16  Adrienne Walker  <enne@google.com>
12360
12361        Reviewed by James Robinson.
12362
12363        [chromium] Robustly handle mapTexSubImage2D returning NULL
12364        https://bugs.webkit.org/show_bug.cgi?id=60934
12365
12366        Also, lazily create the temp buffer so that both the map and non-map
12367        cases can use it.
12368
12369        * platform/graphics/chromium/LayerTextureSubImage.cpp:
12370        (WebCore::LayerTextureSubImage::setSubImageSize):
12371        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
12372        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
12373
123742011-05-18  Emil A Eklund  <eae@chromium.org>
12375
12376        Reviewed by Darin Adler.
12377
12378        Change RenderTextControl::hitInnerTextElement to use IntPoint
12379        https://bugs.webkit.org/show_bug.cgi?id=61003
12380
12381        Covered by existing tests.
12382
12383        * rendering/RenderTextControl.cpp:
12384        (WebCore::RenderTextControl::hitInnerTextElement):
12385        * rendering/RenderTextControl.h:
12386        * rendering/RenderTextControlMultiLine.cpp:
12387        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
12388        * rendering/RenderTextControlSingleLine.cpp:
12389        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
12390
123912011-05-18  Chris Fleizach  <cfleizach@apple.com>
12392
12393        Reviewed by Maciej Stachowiak.
12394
12395        WK2: VoiceOver cannot move focus into a web area programmatically
12396        https://bugs.webkit.org/show_bug.cgi?id=60661
12397
12398        Accessibility code relies on the ability to bring focus to the containing widget view.
12399        In WK2, that message needs to be propagated to the UI process.
12400
12401        * page/ChromeClient.h:
12402        (WebCore::ChromeClient::makeFirstResponder):
12403        * page/mac/ChromeMac.mm:
12404        (WebCore::Chrome::focusNSView):
12405        * platform/mac/WidgetMac.mm:
12406        (WebCore::Widget::setFocus):
12407
124082011-05-18  Alok Priyadarshi  <alokp@chromium.org> and Adrienne Walker  <enne@google.com>
12409
12410        Reviewed by James Robinson.
12411
12412        [chromium] Split canvas from LayerTilerChromium
12413        https://bugs.webkit.org/show_bug.cgi?id=60719
12414
12415        LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
12416        Also abstracted LayerTextureSubImage to upload texture pixels.
12417
12418        * WebCore.gypi:
12419        * platform/chromium/TraceEvent.h:
12420        * platform/graphics/chromium/ContentLayerChromium.cpp:
12421        (WebCore::ContentLayerChromium::create):
12422        (WebCore::ContentLayerChromium::ContentLayerChromium):
12423        (WebCore::ContentLayerChromium::~ContentLayerChromium):
12424        (WebCore::ContentLayerChromium::paintContentsIfDirty):
12425        (WebCore::ContentLayerChromium::cleanupResources):
12426        (WebCore::ContentLayerChromium::setLayerRenderer):
12427        (WebCore::ContentLayerChromium::createTextureUpdater):
12428        (WebCore::ContentLayerChromium::drawsContent):
12429        (WebCore::ContentLayerChromium::createTilerIfNeeded):
12430        (WebCore::ContentLayerChromium::updateCompositorResources):
12431        * platform/graphics/chromium/ContentLayerChromium.h:
12432        * platform/graphics/chromium/ImageLayerChromium.cpp:
12433        (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
12434        (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
12435        (WebCore::ImageLayerTextureUpdater::orientation):
12436        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
12437        (WebCore::ImageLayerTextureUpdater::updateTextureRect):
12438        (WebCore::ImageLayerTextureUpdater::imageRect):
12439        (WebCore::ImageLayerChromium::paintContentsIfDirty):
12440        (WebCore::ImageLayerChromium::updateCompositorResources):
12441        (WebCore::ImageLayerChromium::createTextureUpdater):
12442        * platform/graphics/chromium/ImageLayerChromium.h:
12443        * platform/graphics/chromium/LayerPainterChromium.h: Added.
12444        * platform/graphics/chromium/LayerRendererChromium.cpp:
12445        (WebCore::LayerRendererChromium::create):
12446        (WebCore::LayerRendererChromium::LayerRendererChromium):
12447        (WebCore::LayerRendererChromium::updateRootLayerContents):
12448        (WebCore::LayerRendererChromium::drawRootLayer):
12449        (WebCore::LayerRendererChromium::updateAndDrawLayers):
12450        (WebCore::LayerRendererChromium::updateLayers):
12451        * platform/graphics/chromium/LayerRendererChromium.h:
12452        * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
12453        (WebCore::LayerTextureSubImage::LayerTextureSubImage):
12454        (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
12455        (WebCore::LayerTextureSubImage::setSubImageSize):
12456        (WebCore::LayerTextureSubImage::upload):
12457        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
12458        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
12459        * platform/graphics/chromium/LayerTextureSubImage.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
12460        * platform/graphics/chromium/LayerTextureUpdater.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
12461        (WebCore::LayerTextureUpdater::LayerTextureUpdater):
12462        (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
12463        (WebCore::LayerTextureUpdater::context):
12464        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
12465        (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
12466        (WebCore::LayerTextureUpdaterCanvas::paintContents):
12467        (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
12468        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
12469        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
12470        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
12471        (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
12472        (WebCore::LayerTextureUpdaterCanvas::contentRect):
12473        (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
12474        (WebCore::LayerTextureUpdaterBitmap::orientation):
12475        * platform/graphics/chromium/LayerTilerChromium.cpp:
12476        (WebCore::LayerTilerChromium::create):
12477        (WebCore::LayerTilerChromium::LayerTilerChromium):
12478        (WebCore::LayerTilerChromium::setTileSize):
12479        (WebCore::LayerTilerChromium::prepareToUpdate):
12480        (WebCore::LayerTilerChromium::updateRect):
12481        (WebCore::LayerTilerChromium::draw):
12482        * platform/graphics/chromium/LayerTilerChromium.h:
12483        (WebCore::LayerTilerChromium::Tile::Tile):
12484        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
12485        (WebCore::CCHeadsUpDisplay::draw):
12486
124872011-05-18  Mark Pilgrim  <pilgrim@chromium.org>
12488
12489        Reviewed by Tony Chang.
12490
12491        IndexedDB put() should fail adding to object store that uses
12492        out-of-line keys and has no key generator and the key parameter
12493        was not provided
12494        https://bugs.webkit.org/show_bug.cgi?id=58609
12495
12496        Out-of-line keys means that objectStore->m_keyPath is null in ::put(),
12497        no key generator means that objectStore->autoIncrement() is false, and
12498        key parameter was not provided means that prpKey will be a null pointer.
12499        The combination of these 3 should throw a DATA_ERR.
12500
12501        Test: storage/indexeddb/mozilla/key-requirements-put-no-key.html
12502
12503        * storage/IDBObjectStoreBackendImpl.cpp:
12504        (WebCore::IDBObjectStoreBackendImpl::put):
12505
125062011-05-18  Chris Rogers  <crogers@google.com>
12507
12508        Reviewed by James Robinson.
12509
12510        EqualPowerPanner is not using the correct azimuth range for stereo panning
12511        https://bugs.webkit.org/show_bug.cgi?id=61085
12512
12513        No new tests since audio API is not yet implemented.
12514
12515        * platform/audio/EqualPowerPanner.cpp:
12516        (WebCore::EqualPowerPanner::pan):
12517
125182011-05-18  Yi Shen  <yi.4.shen@nokia.com>
12519
12520        Reviewed by Andreas Kling.
12521
12522        [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
12523        https://bugs.webkit.org/show_bug.cgi?id=33179
12524
12525        Fill the missing key text for the EnterKey event.
12526
12527        Tests: fast/events/onsearch-enter.html
12528
12529        * platform/qt/PlatformKeyboardEventQt.cpp:
12530        (WebCore::keyTextForKeyEvent):
12531
125322011-05-17  Timothy Hatcher  <timothy@apple.com>
12533
12534        Update the the context menu to reflect the system search provider on Mac.
12535
12536        <rdar://problem/9198419>
12537
12538        Reviewed by Sam Weinig.
12539
12540        * English.lproj/Localizable.strings: Updated.
12541        * Source/WebCore/WebCore.exp.in: Added _wkCopyDefaultSearchProviderDisplayName.
12542        * platform/DefaultLocalizationStrategy.cpp:
12543        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagSearchWeb): Use wkCopyDefaultSearchProviderDisplayName to
12544        create the string.
12545        * platform/mac/WebCoreSystemInterface.h: Added wkCopyDefaultSearchProviderDisplayName.
12546        * platform/mac/WebCoreSystemInterface.mm: Ditto.
12547
125482011-05-18  Rob Buis  <rbuis@rim.com>
12549
12550        Reviewed by Nikolas Zimmermann.
12551
12552        Marker test from ietestcenter fails
12553        https://bugs.webkit.org/show_bug.cgi?id=60721
12554
12555        Change <marker> renderer creation behaviour to always create the renderer. This fixes
12556        the problem that no marker is rendered when display=none is set on the <marker>. The
12557        specification states that display=none should have no influence on <marker> usage:
12558        "The ‘display’ property does not apply to the ‘marker’ element; thus, ..., and ‘marker’
12559        elements are available for referencing even when the ‘display’ property on the ‘marker’
12560        element or any of its ancestors is set to none."
12561
12562        Tests: svg/W3C-SVG-1.1-SE/painting-marker-07-f.svg
12563               svg/custom/painting-marker-07-f-inherit.svg
12564
12565        * svg/SVGMarkerElement.h:
12566        (WebCore::SVGMarkerElement::rendererIsNeeded):
12567
125682011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
12569
12570        Reviewed by Eric Carlson.
12571
12572        MediaElements fails to load the data in some cases.
12573        https://bugs.webkit.org/show_bug.cgi?id=60760
12574
12575        WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
12576        that uses the ResourceHandle API to request data and pass it down. For
12577        our builds it is absolutely essential that we have a NetworkingContext
12578        available there, in order to get access to the QNetworkAccessManager.
12579        No access means we basically cannot load the video. The WebSource gains
12580        access to the NetworkingContext through a WebCore::Frame pointer it has.
12581
12582        MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
12583        the WebCore::Frame to the WebKitWebSource in
12584        mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
12585        frameView() accessor to access the frame. However the frameView() member
12586        is only set through the render tree's RenderVideo, which is rather unreliable
12587        given that some sites create "fake" video tags initially that only become
12588        visible later (or never).
12589
12590        A more reliable way is to simply use the document of the MediaPlayerClient,
12591        which is provided at constructor time.
12592
12593        Test: http/tests/media/media-can-load-when-hidden.html
12594
12595        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
12596        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
12597
125982011-05-18  Adrienne Walker  <enne@google.com>
12599
12600        Reviewed by James Robinson.
12601
12602        [chromium] Check HUD texture reserve status before using texture
12603        https://bugs.webkit.org/show_bug.cgi?id=61082
12604
12605        This only changes behavior behind a flag, so shouldn't impact any tests.
12606
12607        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
12608        (WebCore::CCHeadsUpDisplay::draw):
12609
126102011-05-18  Oliver Hunt  <oliver@apple.com>
12611
12612        Reviewed by Sam Weinig.
12613
12614        JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
12615        https://bugs.webkit.org/show_bug.cgi?id=61090
12616
12617        Rather than having Constructor objects create their structure
12618        as part of initialisation, we now pass their expected structure
12619        in as an argument.  This required fixing the few custom Constructors
12620        and the code generator.
12621
12622        * bindings/js/JSAudioConstructor.cpp:
12623        (WebCore::JSAudioConstructor::JSAudioConstructor):
12624        * bindings/js/JSAudioConstructor.h:
12625        * bindings/js/JSDOMGlobalObject.h:
12626        (WebCore::getDOMConstructor):
12627          Pass the Constructor objects structure in as an argument
12628        * bindings/js/JSImageConstructor.cpp:
12629        (WebCore::JSImageConstructor::JSImageConstructor):
12630        * bindings/js/JSImageConstructor.h:
12631        * bindings/js/JSOptionConstructor.cpp:
12632        (WebCore::JSOptionConstructor::JSOptionConstructor):
12633        * bindings/js/JSOptionConstructor.h:
12634        * bindings/scripts/CodeGeneratorJS.pm:
12635
126362011-05-18  Abhishek Arya  <inferno@chromium.org>
12637
12638        Reviewed by Beth Dakin.
12639
12640        Remove removeChild on table caption since destroy call
12641        already does that.
12642        https://bugs.webkit.org/show_bug.cgi?id=61083
12643
12644        Test: fast/table/table-captions-child-visible-crash.html
12645
12646        * rendering/RenderTable.cpp:
12647        (WebCore::RenderTable::recalcCaption):
12648
126492011-05-18  Evan Martin  <evan@chromium.org>
12650
12651        Reviewed by Tony Chang.
12652
12653        [chromium] make action_derivedsourcesallinone.py quiet
12654        https://bugs.webkit.org/show_bug.cgi?id=61081
12655
12656        In gyp, it's the responsibility of the build system to print what actions are doing;
12657        for example, the compile command is generally silent, while the build system prints
12658        "compiling".
12659
12660        Make this program behave like a compiler: silent on success.
12661
12662        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
12663        delete a print statement.
12664
126652011-05-18  David Kilzer  <ddkilzer@apple.com>
12666
12667        <http://webkit.org/b/61078> Use toHTTPPipeliningPriority() in initializeMaximumHTTPConnectionCountPerHost()
12668
12669        Reviewed by Joseph Pecoraro.
12670
12671        * platform/network/cf/ResourceRequestCFNet.cpp:
12672        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Use
12673        toHTTPPipeliningPriority() to convert arguments passed to
12674        wkSetHTTPPipeliningMaximumPriority() and
12675        wkSetHTTPPipeliningMinimumFastLanePriority().
12676
126772011-05-18  Erik Arvidsson  <arv@chromium.org>
12678
12679        Reviewed by Ojan Vafai.
12680
12681        event.clientX/clientY is 0/0 in a click generated through a label
12682        https://bugs.webkit.org/show_bug.cgi?id=56606
12683
12684        This copies the coordinates from the underlying event to the simulated mouse event if the underlying event
12685        is a mouse event.
12686
12687        This makes us match Firefox and IE.
12688
12689        Test: fast/events/simulated-click-coords.html
12690
12691        * dom/MouseEvent.cpp:
12692        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
12693
126942011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
12695
12696        Not reviewed. Sorted XCode project file.
12697
12698        * WebCore.xcodeproj/project.pbxproj:
12699
127002011-05-18  Alexander Pavlov  <apavlov@chromium.org>
12701
12702        Reviewed by Pavel Feldman.
12703
12704        Web Inspector: Non-color CSS property values can get a color-picker
12705        https://bugs.webkit.org/show_bug.cgi?id=61056
12706
12707        * inspector/front-end/CSSKeywordCompletions.js:
12708        (WebInspector.CSSKeywordCompletions.forProperty):
12709        (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
12710        * inspector/front-end/StylesSidebarPane.js:
12711        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
12712
127132011-05-18  Pratik Solanki  <psolanki@apple.com>
12714
12715        Reviewed by Dan Bernstein.
12716
12717        Don't use DEFINE_STATIC_LOCAL with an unsigned
12718        https://bugs.webkit.org/show_bug.cgi?id=61026
12719
12720        * storage/StorageTracker.cpp:
12721        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): DEFINE_STATIC_LOCAL is meant
12722        for objects, not unsigned ints. We can just use static here.
12723
127242011-05-18  Rob Buis  <rbuis@rim.com>
12725
12726        Reviewed by Nikolas Zimmermann.
12727
12728        NULL deref when SVG elements have table styles 
12729        https://bugs.webkit.org/show_bug.cgi?id=45561
12730
12731        Restrict computed CSS values for SVG display property to block, inline or none.
12732
12733        Tests: svg/custom/display-table-caption-foreignObject.svg
12734               svg/custom/display-table-caption-inherit-foreignObject.xhtml
12735               svg/custom/display-table-caption-inherit-text.xhtml
12736               svg/custom/display-table-caption-text.svg
12737
12738        * css/CSSStyleSelector.cpp:
12739        (WebCore::SVGDisplayPropertyGuard::SVGDisplayPropertyGuard):
12740        (WebCore::SVGDisplayPropertyGuard::~SVGDisplayPropertyGuard):
12741        (WebCore::isAcceptableForSVGElement):
12742        (WebCore::CSSStyleSelector::applyProperty):
12743
127442011-05-18  Pavel Feldman  <pfeldman@google.com>
12745
12746        Reviewed by Yury Semikhatsky.
12747
12748        Web Inspector: [REGRESSION] Completion while on a breakpoint is not working.
12749        https://bugs.webkit.org/show_bug.cgi?id=60811
12750
12751        Test: inspector/debugger/debugger-completions-on-call-frame.html
12752
12753        * inspector/InjectedScriptSource.js:
12754        * inspector/front-end/ConsoleView.js:
12755        (WebInspector.ConsoleView.prototype.completions.else.evaluated):
12756        * inspector/front-end/DebuggerPresentationModel.js:
12757        (WebInspector.PresenationCallFrame.prototype.get variables):
12758        * inspector/front-end/ScriptsPanel.js:
12759        (WebInspector.ScriptsPanel.prototype.selectedCallFrameVariables):
12760
127612011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
12762
12763        Reviewed by Rob Buis.
12764
12765        All animated SVG enum properties are now ints
12766        https://bugs.webkit.org/show_bug.cgi?id=10749
12767
12768        DECLARE/DEFINE_ANIMATED_ENUMERATION created fooBaseVal()/setFooBaseVal() methods that take int parameters, and stored all enum types as integers.
12769        Modify the SVG DOM API to store real enums, and get rid of any int<->enum conversions. It's now impossible to change any enum values to undefined
12770        types, which is the root of several filter security bugs in the past, that were fixed by adding workarounds.
12771        (Usual workaround: svgAttributeChanged(): if fooAttr has been changed from SVG DOM, and if it's an enum, check whether the enum is in range, or fix it up.)
12772
12773        Using a type-safe internal representation for these enum values we can get rid of ugly int<->enum conversions.
12774        A lot of parseMappedAttribute() functions duplicated the code for parsing enum values (eg. userSpaceOnUse/objectBoundingBox unit values, in pattern/filter/mask/etc..)
12775        Add dozens of new SVGPropertyTraits<EnumType> specializations for all enums we expose to JS, and offer static fromString/toString conversion methods in single places.
12776        Use the new SVGPropertyTraits everywhere in svg/.
12777
12778        This also fixes SVG DOM <-> XML DOM synchronization for SVGAnimatedEnumeration types.
12779        Example: <clipPath clipPathUnits="objectBoundingBox">
12780        myClipPath.clipPathUnits.baseVal = SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE;
12781        alert(myClipPath.getAttribute('clipPathUnits')); <- without this patch it says "1", now it says "userSpaceOnUse" as expected, and as other browsers do.
12782        We're now properly converting the enum values to strings.
12783
12784        Add testcases for all SVGAnimatedEnumeration objects used in the SVG DOM API. Found several small bugs:
12785        - SVGFEConvolveMatrix 'edgeMode' SVG DOM <-> XML DOM synchronization was not working, because of a typo: s/operatorAttr/edgeModeAttr
12786        - SVGFEConvolveMatrix was missing an synchronizeProperty() implementation, disabling SVG <-> XML DOM synchronization completly.
12787
12788        Tests: svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html
12789               svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html
12790               svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html
12791               svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html
12792               svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html
12793               svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html
12794               svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html
12795               svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html
12796               svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html
12797               svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html
12798               svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html
12799               svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
12800               svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html
12801               svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html
12802               svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html
12803               svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html
12804
12805        Fixes existing svg/dynamic-update/SVGTextContentElement-svgdom-lengthAdjust-prop.html where I found the bug initially.
12806
12807        * GNUmakefile.list.am: Add svg/properties/SVGAnimatedEnumerationPropertyTearOff.h to build.
12808        * WebCore.gypi: Ditto.
12809        * WebCore.pro: Ditto.
12810        * WebCore.vcproj/WebCore.vcproj: Ditto.
12811        * WebCore.xcodeproj/project.pbxproj: Ditto.
12812        * bindings/scripts/CodeGeneratorV8.pm: Add V8 magic, to avoid ambigious conversion warning in toV8(PassRefPtr<SVGAnimatedEnumeration>).
12813        * platform/graphics/GraphicsTypes.h: Cleanup GradientSpreadMethod, as the SVG dependency is gone.
12814        * platform/graphics/filters/FEBlend.cpp:
12815        (WebCore::FEBlend::apply): Turn early-returns (introduce in security patches a while ago) into ASSERTs, as the underlying bug has been fixed.
12816        * platform/graphics/filters/FEDisplacementMap.cpp:
12817        (WebCore::FEDisplacementMap::apply): Ditto.
12818        * rendering/svg/RenderSVGResourceClipper.h: Remove toUnitType() usage, the clipPathUnits() provided by SVGClipPathElement have the correct enum type now.
12819        (WebCore::RenderSVGResourceClipper::clipPathUnits):
12820        * rendering/svg/RenderSVGResourceFilter.h: Remove toUnitType() usage, the filterUnits()/primitiveUnits() provided by SVGFilterElement have the correct enum type now.
12821        (WebCore::RenderSVGResourceFilter::filterUnits):
12822        (WebCore::RenderSVGResourceFilter::primitiveUnits):
12823        * rendering/svg/RenderSVGResourceGradient.cpp: Add helper method platformSpreadMethodFromSVGType() converting from SVGGradientElement::SVGSpreadMethodType to GradientSpreadMethod (platform).
12824        (WebCore::RenderSVGResourceGradient::applyResource):
12825        * rendering/svg/RenderSVGResourceGradient.h: Ditto.
12826        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
12827        (WebCore::RenderSVGResourceLinearGradient::buildGradient): Use platformSpreadMethodFromSVGType().
12828        * rendering/svg/RenderSVGResourceMarker.h: Remove toUnitType() usage, the markerUnits() provided by SVGMarkerElement have the correct enum type now.
12829        (WebCore::RenderSVGResourceMarker::markerUnits):
12830        * rendering/svg/RenderSVGResourceMasker.h: Remove toUnitType() usage, the maskUnits()/maskContentUnits() provided by SVGMaskElement have the correct enum type now.
12831        (WebCore::RenderSVGResourceMasker::maskUnits):
12832        (WebCore::RenderSVGResourceMasker::maskContentUnits):
12833        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
12834        (WebCore::RenderSVGResourceRadialGradient::buildGradient): Use platformSpreadMethodFromSVGType().
12835        * rendering/svg/SVGRenderTreeAsText.cpp:
12836        (WebCore::operator<<): Use SVGPropertyTraits<SomeSVGEnumType>::toString() to convert from enum to string, remove code duplication.
12837        (WebCore::writeCommonGradientProperties):
12838        * rendering/svg/SVGTextChunkBuilder.cpp:
12839        (WebCore::SVGTextChunkBuilder::addTextChunk): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12840        * rendering/svg/SVGTextLayoutEngine.cpp:
12841        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): Ditto.
12842        (WebCore::SVGTextLayoutEngine::beginTextPathLayout): Ditto.
12843        * svg/GradientAttributes.h: Change spread method type from platform GradientSpreadMethod to SVGSpreadMethodType.
12844        (WebCore::GradientAttributes::GradientAttributes):
12845        (WebCore::GradientAttributes::spreadMethod):
12846        (WebCore::GradientAttributes::setSpreadMethod):
12847        * svg/SVGAnimatedBoolean.idl: Enable potential exception raising on baseVal setting for the primitive types.
12848        * svg/SVGAnimatedEnumeration.h: Switch from generic SVGAnimatedStaticPropertyTearOff<int> to new SVGAnimatedEnumerationPropertyTearOff<EnumType>.
12849        * svg/SVGAnimatedEnumeration.idl: Enable potential exception raising on baseVal setting for the primitive types.
12850                                          Only SVGAnimatedEnumeration makes use of this if the assigned value is out of range.
12851        * svg/SVGAnimatedInteger.idl: Ditto.
12852        * svg/SVGAnimatedNumber.idl: Ditto.
12853        * svg/SVGAnimatedString.idl: Ditto.
12854        * svg/SVGClipPathElement.cpp:
12855        (WebCore::SVGClipPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
12856        * svg/SVGClipPathElement.h:
12857        * svg/SVGComponentTransferFunctionElement.cpp:
12858        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): Initialize type to identity, not unknown, as per spec.
12859        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
12860        (WebCore::SVGComponentTransferFunctionElement::transferFunction): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12861        * svg/SVGComponentTransferFunctionElement.h: Remove svgAttributeChanged() method, that verified the enum value is not out of range.
12862                                                     It's not possible anymore for these values to go out of range.
12863        * svg/SVGFEBlendElement.cpp:
12864        (WebCore::SVGFEBlendElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<BlendModeType>::fromString(attr->value()).
12865        (WebCore::SVGFEBlendElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12866        (WebCore::SVGFEBlendElement::build): Ditto.
12867        * svg/SVGFEBlendElement.h: Add SVGPropertyTraits<BlendModeType> specializations.
12868        * svg/SVGFEColorMatrixElement.cpp:
12869        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ColorMatrixType>::fromString(attr->value()).
12870        (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now..
12871        (WebCore::SVGFEColorMatrixElement::build): Ditto.
12872        * svg/SVGFEColorMatrixElement.h: Add SVGPropertyTraits<ColorMatrixType> specializations.
12873        * svg/SVGFECompositeElement.cpp:
12874        (WebCore::SVGFECompositeElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<CompositeOperationType>::fromString(attr->value()).
12875        (WebCore::SVGFECompositeElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12876        (WebCore::SVGFECompositeElement::build): Ditto.
12877        * svg/SVGFECompositeElement.h: Add SVGPropertyTraits<CompositeOperationType> specializations.
12878        * svg/SVGFEConvolveMatrixElement.cpp: Fix typo, edgeMode needs to be associated with SVGNames::edgeModeAttr, not SVGNames::operatorAttr.
12879        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EdgeModeType>::fromString(attr->value()).
12880        (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12881        (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty): Add missing synchronizeProperty() implementation, otherwhise SVG DOM <-> XML DOM is not in sync.
12882        (WebCore::SVGFEConvolveMatrixElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12883        * svg/SVGFEConvolveMatrixElement.h: Add SVGPropertyTraits<EdgeModeType> specializations.
12884        * svg/SVGFEDisplacementMapElement.cpp:
12885        (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ChannelSelectorType>::fromString(attr->value()).
12886        (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12887        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Remove range validation for enum types, they are always in range now.
12888        (WebCore::SVGFEDisplacementMapElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12889        * svg/SVGFEDisplacementMapElement.h: Add SVGPropertyTraits<ChannelSelectorType> specializations.
12890        * svg/SVGFEMorphologyElement.cpp:
12891        (WebCore::SVGFEMorphologyElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<MorphologyOperatorType>::fromString(attr->value()).
12892        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12893        (WebCore::SVGFEMorphologyElement::build): Ditto.
12894        * svg/SVGFEMorphologyElement.h: Add SVGPropertyTraits<MorphologyOperatorType> specializations.
12895        * svg/SVGFETurbulenceElement.cpp:
12896        (WebCore::SVGFETurbulenceElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGStitchOptions/TurbulenceType>::fromString(attr->value()).
12897        (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12898        (WebCore::SVGFETurbulenceElement::build): Ditto.
12899        * svg/SVGFETurbulenceElement.h: Add SVGPropertyTraits<SVGStitchOptions/TurbulenceType> specializations.
12900        * svg/SVGFilterElement.cpp:
12901        (WebCore::SVGFilterElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType>::fromString(attr->value()).
12902        * svg/SVGFilterElement.h:
12903        * svg/SVGGradientElement.cpp:
12904        (WebCore::SVGGradientElement::SVGGradientElement): Missing spread method default initialization: set it to 'pad' as per spec.
12905        (WebCore::SVGGradientElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType/SVGSpreadMethodType>::fromString(attr->value()).
12906        * svg/SVGGradientElement.h: Add SVGPropertyTraits<SVGSpreadMethodType> specializations.
12907        * svg/SVGLinearGradientElement.cpp:
12908        (WebCore::SVGLinearGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12909        * svg/SVGMarkerElement.cpp:
12910        (WebCore::SVGMarkerElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
12911        (WebCore::SVGMarkerElement::synchronizeOrientType): Add a custom synchronization method, that handles orientType/orientAngle -> orientAttr synchronization, which is special
12912                                                            as it depends on to other SVG DOM objects (SVGAnimatedAngle and SVGAnimatedEnumeration). All covered by new tests.
12913        (WebCore::SVGMarkerElement::orientTypeAnimated): Custom tear off creation method, which would usually be generated by the DECLARE_ANIMATED_... macros.
12914        * svg/SVGMarkerElement.h: Add SVGPropertyTraits<SVGMarkerUnitsType/SVGMarkerOrientType> specializations.
12915        (WebCore::SVGMarkerElement::orientType): Add custom property handling for the 'orientType' SVGAnimatedEnumeration object, as it has special demands, based on 'orientAngle'.
12916        (WebCore::SVGMarkerElement::orientTypeBaseValue): Ditto.
12917        (WebCore::SVGMarkerElement::setOrientTypeBaseValue): Ditto.
12918        * svg/SVGMaskElement.cpp:
12919        (WebCore::SVGMaskElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
12920        * svg/SVGMaskElement.h:
12921        * svg/SVGPatternElement.cpp:
12922        (WebCore::SVGPatternElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
12923        * svg/SVGPatternElement.h:
12924        * svg/SVGRadialGradientElement.cpp:
12925        (WebCore::SVGRadialGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
12926        * svg/SVGTextContentElement.cpp:
12927        (WebCore::SVGTextContentElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGLengthAdjustType>::fromString(attr->value()).
12928        * svg/SVGTextContentElement.h: Add SVGPropertyTraits<SVGLengthAdjustType> specializations.
12929        * svg/SVGTextPathElement.cpp:
12930        (WebCore::SVGTextPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType>::fromString(attr->value()).
12931        * svg/SVGTextPathElement.h: Add SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType> specializations.
12932        * svg/SVGUnitTypes.h: Add SVGPropertyTraits<SVGUnitType> specializations.
12933        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Added. SVGAnimatedEnumerationPropertyTearOff inherits from SVGAnimatedStaticPropertyTearOff<int>.
12934                                                                  SVGAnimatedEnumeration remains a typedef to SVGAnimatedStaticPropertyTearOff<int>, to have a common base
12935                                                                  class for all enum types. This special tear off object, overrides setBaseVal, to verify the incoming int
12936                                                                  is within the enum range, otherwhise raise an SVG DOM exception. This makes it impossible to make any of
12937                                                                  the enums go out of range anymore (which lead to security bugs in the past).
12938        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
12939        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
12940        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
12941        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
12942        (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Made this method virtual, to SVGAnimatedEnumerationPropertyTearOff can override the default behaviour. Also added an ExceptionCode param.
12943        (WebCore::SVGAnimatedStaticPropertyTearOff::~SVGAnimatedStaticPropertyTearOff):
12944
129452011-05-18  Kinuko Yasuda  <kinuko@chromium.org>
12946
12947        Reviewed by David Levin.
12948
12949        Expose webkitStorageInfo.requestQuota() for Quota API if QUOTA flag is enabled
12950        https://bugs.webkit.org/show_bug.cgi?id=59681
12951
12952        Test: storage/storageinfo-request-quota.html
12953
12954        * CMakeLists.txt:
12955        * CodeGenerators.pri:
12956        * DerivedSources.cpp:
12957        * DerivedSources.make:
12958        * GNUmakefile.am:
12959        * GNUmakefile.list.am:
12960        * WebCore.gypi:
12961        * WebCore.vcproj/WebCore.vcproj:
12962        * WebCore.xcodeproj/project.pbxproj:
12963        * storage/StorageInfo.idl: Added requestQuota().
12964        * storage/StorageInfoQuotaCallback.idl: Added.
12965
129662011-05-18  Renata Hodovan  <reni@webkit.org>
12967
12968        Reviewed by Nikolas Zimmermann.
12969
12970        Apply the ParallelJobs support to FEGaussianBlur
12971        https://bugs.webkit.org/show_bug.cgi?id=61049
12972
12973        The Gaussian blur filter of SVG can consume lots of resources if it is
12974        applied to a large area. The computation can be distributed to multiple
12975        cores if the architecture supports.
12976        The average performance progression is about 15% on dual-core machines.
12977
12978        Developed in cooperation with Gabor Loki and Zoltan Herczeg.
12979
12980
12981        * platform/graphics/filters/FEGaussianBlur.cpp:
12982        (WebCore::FEGaussianBlur::platformApplyWorker):
12983        (WebCore::FEGaussianBlur::platformApply):
12984        * platform/graphics/filters/FEGaussianBlur.h:
12985
129862011-05-18  Pavel Feldman  <pfeldman@google.com>
12987
12988        Reviewed by Yury Semikhatsky.
12989
12990        Web Inspector: make parentId for frame optional.
12991        https://bugs.webkit.org/show_bug.cgi?id=61032
12992
12993        * inspector/Inspector.json:
12994        * inspector/InspectorPageAgent.cpp:
12995        (WebCore::InspectorPageAgent::buildObjectForFrame):
12996        * inspector/front-end/ResourceTreeModel.js:
12997        (WebInspector.ResourceTreeModel.prototype._addFrame):
12998
129992011-05-18  Gabor Loki  <loki@webkit.org>
13000
13001        Reviewed by Nikolas Zimmermann.
13002
13003        Apply the ParallelJobs support to FELighting
13004        https://bugs.webkit.org/show_bug.cgi?id=61048
13005
13006        The lighting filter of SVG can consume lots of resources if it is
13007        applied to a large area. The computation can be distributed to multiple
13008        cores if the architecture supports.
13009        The average performance progression is 10-20% on dual-core machines.
13010
13011        Developed in cooperation with Zoltan Herczeg.
13012
13013        * platform/graphics/filters/FELighting.cpp:
13014        (WebCore::FELighting::platformApplyGenericPaint):
13015        (WebCore::FELighting::platformApplyGenericWorker):
13016        (WebCore::FELighting::platformApplyGeneric):
13017        * platform/graphics/filters/FELighting.h:
13018        * platform/graphics/filters/arm/FELightingNEON.cpp:
13019        (WebCore::FELighting::platformApplyNeonWorker):
13020        * platform/graphics/filters/arm/FELightingNEON.h:
13021        (WebCore::FELighting::platformApplyNeon):
13022
130232011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
13024
13025        Reviewed by Andreas Kling.
13026
13027        [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
13028        https://bugs.webkit.org/show_bug.cgi?id=60984
13029
13030        The code for converting objects to QVariantMap was causing exception,
13031        that was "leaking" to the next evaluation. One situation was reading
13032        the property 'localStorage' when we do not have a proper security
13033        origin, which throws a SECURITY_ERR.
13034
13035        Now, we will simply not include on the QVariantMap those properties,
13036        and make sure that we clean the exception if necessary.
13037
13038        * bridge/qt/qt_runtime.cpp:
13039        (JSC::Bindings::convertValueToQVariantMap):
13040        Extracted function that performs conversion from JSObject to a QVariantMap. This
13041        functions makes sure that exception is clean after its execution.
13042
13043        (JSC::Bindings::convertValueToQVariant):
13044        Use the previous function. Add a comment explaining the choice of distance value.
13045
130462011-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
13047
13048        Reviewed by Yury Semikhatsky.
13049
13050        Web Inspector: scripts panel file selector element doesn't track keyboard events 
13051        https://bugs.webkit.org/show_bug.cgi?id=61047
13052
13053        * inspector/front-end/ScriptsPanel.js:
13054        (WebInspector.ScriptsPanel):
13055
130562011-05-16  Pavel Podivilov  <podivilov@chromium.org>
13057
13058        Reviewed by Yury Semikhatsky.
13059
13060        Web Inspector: refactoring: ScriptDebugListener::didParseSource has too many parameters.
13061        https://bugs.webkit.org/show_bug.cgi?id=60900
13062
13063        * bindings/js/ScriptDebugServer.cpp:
13064        (WebCore::ScriptDebugServer::dispatchDidParseSource):
13065        * bindings/v8/ScriptDebugServer.cpp:
13066        (WebCore::ScriptDebugServer::dispatchDidParseSource):
13067        * inspector/InspectorDebuggerAgent.cpp:
13068        (WebCore::InspectorDebuggerAgent::getScriptSource):
13069        (WebCore::InspectorDebuggerAgent::didParseSource):
13070        * inspector/InspectorDebuggerAgent.h:
13071        * inspector/ScriptDebugListener.h:
13072        (WebCore::ScriptDebugListener::Script::Script):
13073
130742011-05-18  Alexander Pavlov  <apavlov@chromium.org>
13075
13076        Reviewed by Pavel Feldman.
13077
13078        Web Inspector: model-based CSS editing does not update @import-ed stylesheet resources
13079        https://bugs.webkit.org/show_bug.cgi?id=60966
13080
13081        Imported stylesheets didn't use to be returned by InspectorCSSAgent.
13082
13083        * inspector/InspectorCSSAgent.cpp:
13084        (WebCore::InspectorCSSAgent::getAllStyleSheets):
13085        (WebCore::InspectorCSSAgent::collectStyleSheets):
13086        * inspector/InspectorCSSAgent.h:
13087
130882011-05-18  Pavel Feldman  <pfeldman@google.com>
13089
13090        Reviewed by Yury Semikhatsky.
13091
13092        Web Inspector: make "Id" suffixes use consistent case.
13093        https://bugs.webkit.org/show_bug.cgi?id=61028
13094
13095        * inspector/InjectedScriptSource.js:
13096        * inspector/Inspector.json:
13097        * inspector/InspectorConsoleAgent.cpp:
13098        (WebCore::InspectorConsoleAgent::addMessageToConsole):
13099        * inspector/InspectorConsoleAgent.h:
13100        * inspector/InspectorConsoleInstrumentation.h:
13101        (WebCore::InspectorInstrumentation::addMessageToConsole):
13102        * inspector/InspectorDebuggerAgent.cpp:
13103        (WebCore::parseLocation):
13104        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
13105        (WebCore::InspectorDebuggerAgent::editScriptSource):
13106        (WebCore::InspectorDebuggerAgent::getScriptSource):
13107        (WebCore::InspectorDebuggerAgent::didParseSource):
13108        * inspector/InspectorDebuggerAgent.h:
13109        * inspector/InspectorInstrumentation.cpp:
13110        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
13111        * inspector/InspectorInstrumentation.h:
13112        * inspector/InspectorResourceAgent.cpp:
13113        (WebCore::buildObjectForResourceResponse):
13114        * inspector/ScriptDebugListener.h:
13115        * inspector/front-end/DebuggerModel.js:
13116        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
13117        (WebInspector.DebuggerModel.prototype.queryScripts):
13118        (WebInspector.DebuggerModel.prototype.editScriptSource):
13119        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
13120        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
13121        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
13122        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
13123        * inspector/front-end/DebuggerPresentationModel.js:
13124        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
13125        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
13126        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
13127        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
13128        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
13129        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
13130        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
13131        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
13132        (WebInspector.PresenationCallFrame):
13133        * inspector/front-end/NetworkManager.js:
13134        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
13135        * inspector/front-end/Script.js:
13136        (WebInspector.Script):
13137        (WebInspector.Script.prototype.requestSource):
13138        (WebInspector.Script.prototype.editSource):
13139        * inspector/front-end/SourceFile.js:
13140        (WebInspector.SourceFile.prototype.forceLoadContent):
13141        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
13142        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
13143        (WebInspector):
13144
131452011-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
13146
13147        Unreviewed, rolling out r86747.
13148        http://trac.webkit.org/changeset/86747
13149        https://bugs.webkit.org/show_bug.cgi?id=61039
13150
13151        Breaks JSC debugger tests. (Requested by pfeldman on #webkit).
13152
13153        * inspector/InjectedScriptSource.js:
13154        ():
13155        * inspector/Inspector.json:
13156        * inspector/InspectorConsoleAgent.cpp:
13157        (WebCore::InspectorConsoleAgent::addMessageToConsole):
13158        * inspector/InspectorConsoleAgent.h:
13159        * inspector/InspectorConsoleInstrumentation.h:
13160        (WebCore::InspectorInstrumentation::addMessageToConsole):
13161        * inspector/InspectorDebuggerAgent.cpp:
13162        (WebCore::parseLocation):
13163        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
13164        (WebCore::InspectorDebuggerAgent::editScriptSource):
13165        (WebCore::InspectorDebuggerAgent::getScriptSource):
13166        (WebCore::InspectorDebuggerAgent::didParseSource):
13167        * inspector/InspectorDebuggerAgent.h:
13168        * inspector/InspectorInstrumentation.cpp:
13169        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
13170        * inspector/InspectorInstrumentation.h:
13171        * inspector/InspectorResourceAgent.cpp:
13172        (WebCore::buildObjectForResourceResponse):
13173        * inspector/ScriptDebugListener.h:
13174        * inspector/front-end/DebuggerModel.js:
13175        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
13176        (WebInspector.DebuggerModel.prototype.queryScripts):
13177        (WebInspector.DebuggerModel.prototype.editScriptSource):
13178        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
13179        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
13180        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
13181        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
13182        * inspector/front-end/DebuggerPresentationModel.js:
13183        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
13184        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
13185        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
13186        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
13187        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
13188        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
13189        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
13190        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
13191        (WebInspector.PresenationCallFrame):
13192        * inspector/front-end/NetworkManager.js:
13193        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
13194        * inspector/front-end/Script.js:
13195        (WebInspector.Script):
13196        (WebInspector.Script.prototype.requestSource):
13197        (WebInspector.Script.prototype.editSource):
13198        * inspector/front-end/SourceFile.js:
13199        (WebInspector.SourceFile.prototype.forceLoadContent):
13200        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
13201        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
13202        (WebInspector):
13203
132042011-05-18  Abhishek Arya  <inferno@chromium.org>
13205
13206        Reviewed by Dirk Schulze.
13207
13208        When SMIL element is getting removed, make sure to remove it
13209        from target's animation elements list.
13210        https://bugs.webkit.org/show_bug.cgi?id=60980
13211
13212        Test: svg/animations/smil-element-not-removed-crash.html
13213
13214        * svg/animation/SVGSMILElement.cpp:
13215        (WebCore::SVGSMILElement::~SVGSMILElement):
13216
132172011-05-18  Pavel Feldman  <pfeldman@google.com>
13218
13219        Reviewed by Yury Semikhatsky.
13220
13221        Web Inspector: make "Id" suffixes use consistent case.
13222        https://bugs.webkit.org/show_bug.cgi?id=61028
13223
13224        * inspector/InjectedScriptSource.js:
13225        * inspector/Inspector.json:
13226        * inspector/InspectorConsoleAgent.cpp:
13227        (WebCore::InspectorConsoleAgent::addMessageToConsole):
13228        * inspector/InspectorConsoleAgent.h:
13229        * inspector/InspectorConsoleInstrumentation.h:
13230        (WebCore::InspectorInstrumentation::addMessageToConsole):
13231        * inspector/InspectorDebuggerAgent.cpp:
13232        (WebCore::parseLocation):
13233        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
13234        (WebCore::InspectorDebuggerAgent::editScriptSource):
13235        (WebCore::InspectorDebuggerAgent::getScriptSource):
13236        (WebCore::InspectorDebuggerAgent::didParseSource):
13237        * inspector/InspectorDebuggerAgent.h:
13238        * inspector/InspectorInstrumentation.cpp:
13239        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
13240        * inspector/InspectorInstrumentation.h:
13241        * inspector/InspectorResourceAgent.cpp:
13242        (WebCore::buildObjectForResourceResponse):
13243        * inspector/ScriptDebugListener.h:
13244        * inspector/front-end/DebuggerModel.js:
13245        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
13246        (WebInspector.DebuggerModel.prototype.queryScripts):
13247        (WebInspector.DebuggerModel.prototype.editScriptSource):
13248        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
13249        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
13250        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
13251        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
13252        * inspector/front-end/DebuggerPresentationModel.js:
13253        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
13254        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
13255        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
13256        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
13257        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
13258        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
13259        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
13260        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
13261        (WebInspector.PresenationCallFrame):
13262        * inspector/front-end/NetworkManager.js:
13263        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
13264        * inspector/front-end/Script.js:
13265        (WebInspector.Script):
13266        (WebInspector.Script.prototype.requestSource):
13267        (WebInspector.Script.prototype.editSource):
13268        * inspector/front-end/SourceFile.js:
13269        (WebInspector.SourceFile.prototype.forceLoadContent):
13270        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
13271        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
13272        (WebInspector):
13273
132742011-05-18  Pavel Feldman  <pfeldman@google.com>
13275
13276        Reviewed by Yury Semikhatsky.
13277
13278        Web Inspector: do not reveal line -1 when navigating to anchor without line specified.
13279        https://bugs.webkit.org/show_bug.cgi?id=60971
13280
13281        * inspector/front-end/ResourcesPanel.js:
13282        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
13283        * inspector/front-end/ScriptsPanel.js:
13284        (WebInspector.ScriptsPanel.prototype.showAnchorLocation.):
13285        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
13286        * inspector/front-end/inspector.js:
13287        (WebInspector._showAnchorLocation):
13288
132892011-05-18  Kent Tamura  <tkent@chromium.org>
13290
13291        Reviewed by Hajime Morita.
13292
13293        valueMissing validity for <select> is lame when selecting a value by a key operation
13294        https://bugs.webkit.org/show_bug.cgi?id=61021
13295
13296        We missed updating validity in case that SelectElement::defaultEventHandler
13297        update selections.  So, SelectElement::setSelectedIndex() updates validity.
13298
13299        * dom/SelectElement.cpp:
13300        (WebCore::SelectElement::setSelectedIndex): Call SelectElement::updateValidity().
13301        * html/HTMLSelectElement.cpp:
13302        (WebCore::HTMLSelectElement::setSelectedIndex):
13303          Remove unnecessary setNeedsValidityCheck() call.
13304          SelectElement::setSlectedIndex() calls it.
13305        (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
13306
133072011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
13308
13309        Reviewed by Pavel Feldman.
13310
13311        Web Inspector: [Chromium] Enable detailed heap snapshots by default.
13312        https://bugs.webkit.org/show_bug.cgi?id=60286
13313
13314        * inspector/front-end/ProfilesPanel.js:
13315
133162011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
13317
13318        Reviewed by Pavel Feldman.
13319
13320        Web Inspector: [Chromium] Make retaining paths list of the Detailed
13321        heap snapshots view resizable.
13322        https://bugs.webkit.org/show_bug.cgi?id=60960
13323
13324        * inspector/front-end/DetailedHeapshotView.js:
13325        (WebInspector.DetailedHeapshotView.prototype.resize):
13326        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
13327        (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
13328        (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
13329        (WebInspector.DetailedHeapshotView.prototype._updateRetainmentViewHeight):
13330        * inspector/front-end/heapProfiler.css:
13331
133322011-05-16  Jeremy Noble  <jer.noble@apple.com>
13333
13334        Reviewed by Darin Adler.
13335
13336        Disable keyboard input (with exceptions) in full-screen mode.
13337        https://bugs.webkit.org/show_bug.cgi?id=60943
13338
13339        Tests: fullscreen/full-screen-keyboard-disabled.html
13340               fullscreen/full-screen-keyboard-enabled.html
13341
13342        * page/EventHandler.cpp:
13343        (WebCore::EventHandler::isKeyEventAllowedInFullScreen): Added.  Implements the 
13344            list of allowed keyboard events in the proposed API.
13345        (WebCore::EventHandler::keyEvent): Discard events which are not allowed in
13346            full-screen mode.
13347        * page/EventHandler.h:
13348
133492011-05-17  Nikolas Zimmermann  <nzimmermann@rim.com>
13350
13351        Reviewed by Dirk Schulze.
13352
13353        Refactor TextRun creation
13354        https://bugs.webkit.org/show_bug.cgi?id=60255
13355
13356        Add constructTextRun() methods to RenderBlock/InlineTextBox and use it in various places in rendering/.
13357        The long-term goal is to remove the ugly eight parameters catch-it-all TextRun constructor, and
13358        replace it with explicit setters/getters. To avoid expanding dozens of callsites, when removing
13359        the catch-it-all constructor, these helper functions are introduced, which hide the details of
13360        creating a TextRun.
13361
13362        Furthermore it will be used to remove the platform layering violation, that TextRun stores
13363        RenderObject pointers for the sake of SVG Fonts support, see bug 60254.
13364
13365        No change in functionaliy, no new tests.
13366
13367        * rendering/EllipsisBox.cpp:
13368        (WebCore::EllipsisBox::paint):
13369        (WebCore::EllipsisBox::selectionRect):
13370        (WebCore::EllipsisBox::paintSelection):
13371        * rendering/InlineTextBox.cpp:
13372        (WebCore::InlineTextBox::selectionRect):
13373        (WebCore::InlineTextBox::paint):
13374        (WebCore::InlineTextBox::paintSelection):
13375        (WebCore::InlineTextBox::paintCompositionBackground):
13376        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13377        (WebCore::InlineTextBox::paintTextMatchMarker):
13378        (WebCore::InlineTextBox::computeRectForReplacementMarker):
13379        (WebCore::InlineTextBox::offsetForPosition):
13380        (WebCore::InlineTextBox::positionForOffset):
13381        (WebCore::InlineTextBox::constructTextRun):
13382        * rendering/InlineTextBox.h:
13383        * rendering/RenderBlock.cpp:
13384        (WebCore::RenderBlock::constructTextRunAllowTrailingExpansion):
13385        * rendering/RenderBlock.h:
13386        * rendering/RenderEmbeddedObject.cpp:
13387        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
13388        * rendering/RenderFileUploadControl.cpp:
13389        (WebCore::RenderFileUploadControl::paintObject):
13390        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
13391        * rendering/RenderImage.cpp:
13392        (WebCore::RenderImage::setImageSizeForAltText):
13393        (WebCore::RenderImage::paintReplaced):
13394        * rendering/RenderListBox.cpp:
13395        (WebCore::RenderListBox::updateFromElement):
13396        * rendering/RenderTextControl.cpp:
13397        (WebCore::RenderTextControl::getAvgCharWidth):
13398
133992011-05-17  Jeremy Noble  <jer.noble@apple.com>
13400
13401        Reviewed by Darin Adler.
13402
13403        Removing a full-screen element or ancestor from the DOM should trigger exiting full-screen mode.
13404        https://bugs.webkit.org/show_bug.cgi?id=60997
13405
13406        Tests: fullscreen/full-screen-remove-ancestor.html
13407               fullscreen/full-screen-remove-children.html
13408               fullscreen/full-screen-remove.html
13409
13410        * dom/Document.cpp:
13411        (WebCore::Document::fullScreenChangeDelayTimerFired): If the target node was removed from the document
13412            make sure to message the documentElement() as well.
13413        (WebCore::Document::fullScreenElementRemoved): Cancel full screen mode.
13414
134152011-05-17  Yuta Kitamura  <yutak@chromium.org>
13416
13417        Reviewed by Kent Tamura.
13418
13419        WebSocket: Add CLOSING state
13420        https://bugs.webkit.org/show_bug.cgi?id=60878
13421
13422        No new tests are added because there is no change in functionality.
13423
13424        * platform/network/SocketStreamHandleBase.h:
13425        * websockets/WebSocket.h:
13426        * websockets/WebSocket.idl:
13427
134282011-05-16  MORITA Hajime  <morrita@google.com>
13429
13430        Reviewed by Dimitri Glazkov.
13431
13432        [Refactoring] ShadowContentElement should be part of dom/
13433        https://bugs.webkit.org/show_bug.cgi?id=59117
13434
13435        - Moved html/shadow/ShadowContentElement.h to dom/ShadowContentElement.h
13436        - Pulled ShadowContentElement up to a subclass of StyledElement, from HTMLDivElement
13437        - Added ShadowContentElement.cpp
13438        - Extracted ShadowContentSelector.{cpp,h} from ShadowRoot.{cpp,h}
13439        
13440        No new tests, no behavior change.
13441
13442        * CMakeLists.txt:
13443        * GNUmakefile.list.am:
13444        * WebCore.gypi:
13445        * WebCore.pro:
13446        * WebCore.vcproj/WebCore.vcproj:
13447        * WebCore.xcodeproj/project.pbxproj:
13448        * dom/DOMAllInOne.cpp: Added new ShadowContentSelector.cpp and ShadowContentElement.cpp.
13449        * dom/Node.h: 
13450        (WebCore::Node::forceReattach): Moved from static local function to share between classes.
13451        * dom/ShadowContentElement.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
13452        (WebCore::ShadowContentElement::attach):
13453        * dom/ShadowContentElement.h: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
13454        (WebCore::ShadowContentElement::ShadowContentElement):
13455        (WebCore::ShadowContentElement::isShadowBoundary):
13456        (WebCore::ShadowContentElement::rendererIsNeeded):
13457        (WebCore::ShadowContentElement::createRenderer):
13458        * dom/ShadowContentSelector.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
13459        (WebCore::ShadowContentSelector::ShadowContentSelector):
13460        (WebCore::ShadowContentSelector::~ShadowContentSelector):
13461        (WebCore::ShadowContentSelector::attachChildrenFor):
13462        * dom/ShadowContentSelector.h: Renamed from Source/WebCore/html/shadow/ShadowContentElement.h.
13463        (WebCore::ShadowContentSelector::shadowRoot):
13464        (WebCore::ShadowContentSelector::activeElement):
13465        (WebCore::ShadowContentSelector::currentInstance):
13466        * dom/ShadowRoot.cpp:
13467        (WebCore::ShadowRoot::recalcStyle):
13468        * html/HTMLDetailsElement.cpp:
13469        (WebCore::DetailsContentElement::DetailsContentElement):
13470        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
13471        * html/HTMLSummaryElement.cpp:
13472        (WebCore::SummaryContentElement::SummaryContentElement):
13473
134742011-05-17  Cris Neckar  <cdn@chromium.org>
13475
13476        Reviewed by Adam Barth.
13477
13478        Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
13479        https://bugs.webkit.org/show_bug.cgi?id=61005
13480
13481        Test: http/tests/loading/nested_bad_objects.php
13482
13483        * html/HTMLObjectElement.cpp:
13484        (WebCore::HTMLObjectElement::renderFallbackContent):
13485
134862011-05-17  Chris Rogers  <crogers@google.com>
13487
13488        Reviewed by Kenneth Russell.
13489
13490        Make sure that AudioNode gets re-enabled after having been disconnected and re-connected.
13491        https://bugs.webkit.org/show_bug.cgi?id=60995
13492
13493        No new tests since audio API is not yet implemented.
13494
13495        * webaudio/AudioNode.cpp:
13496        (WebCore::AudioNode::ref):
13497
134982011-05-17  Brady Eidson  <beidson@apple.com>
13499
13500        Reviewed by Darin Adler.
13501
13502        <rdar://problem/9366728> and https://webkit.org/b/60796
13503        Crash when code inside a ResourceLoadDelegate method calls [WebView stopLoading:]
13504
13505        Break up ResourceLoader::didCancel() into willCancel() and didCancel(), and making them pure virtual.
13506        This change has the following benefits:
13507          - Managing ResourceLoader state can be in the base class; Subclasses no longer need to protect
13508            themselves, check these variables as often, or ASSERT them.
13509          - ResourceLoader subclasses no longer have to call the base class ::didCancel
13510          - ResourceLoader::cancel becomes more capable of handling reentrancy with the design that the 
13511            cancellation is completed inside the last call.
13512
13513        No new tests - No change in behavior for previous tests, and new test would require API usage outside
13514        the scope of DumpRenderTree.
13515
13516        * loader/ResourceLoader.cpp:
13517        (WebCore::ResourceLoader::ResourceLoader):
13518        (WebCore::ResourceLoader::cancel): Moved from ResourceLoader::didCancel, and does all of that same work
13519          except it interposes calls to "willCancel" and "didCancel" as required to maintain the same behavior.
13520        * loader/ResourceLoader.h: Added pure virtual didCancel() and willCancel().
13521
13522        Split-up into willCancel() and didCancel(), based on when the base class didCancel() used to be called:
13523        * loader/MainResourceLoader.cpp:
13524        (WebCore::MainResourceLoader::willCancel):
13525        (WebCore::MainResourceLoader::didCancel):
13526        * loader/MainResourceLoader.h:
13527
13528        Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
13529        * loader/NetscapePlugInStreamLoader.cpp:
13530        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Call the entry point cancel() instead of the old didCancel()
13531        (WebCore::NetscapePlugInStreamLoader::willCancel):
13532        (WebCore::NetscapePlugInStreamLoader::didCancel):
13533        * loader/NetscapePlugInStreamLoader.h:
13534
13535        Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
13536        * loader/SubresourceLoader.cpp:
13537        (WebCore::SubresourceLoader::willCancel):
13538        (WebCore::SubresourceLoader::didCancel):
13539        * loader/SubresourceLoader.h:
13540
135412011-05-17  Nat Duca  <nduca@chromium.org>
13542
13543        Reviewed by James Robinson.
13544
13545        [chromium] Always set layerRenderer, even on non-drawn-layers
13546        https://bugs.webkit.org/show_bug.cgi?id=60977
13547
13548        This is a defensive fixe for crbug.com/82799, in which
13549        a RenderLayer could not prepare itself because its owning layerImpl
13550        had no associated layerRenderer. The underlying issue is that we
13551        sometimes put renderSurfaces onto the list that won't actually render.
13552        For now, the priority is to reduce fragility so that invisible layers
13553        dont lead to crashers. We do this by being more agressive about 
13554        binding CCLayerImpls to the LayerRenderer, doing it all the time rather
13555        than only when we think it will get rendered.
13556
13557        * platform/graphics/chromium/LayerRendererChromium.cpp:
13558        (WebCore::LayerRendererChromium::paintLayerContents):
13559
135602011-05-17  Anders Carlsson  <andersca@apple.com>
13561
13562        Fix the clang build.
13563
13564        * rendering/RenderText.h:
13565        (WebCore::RenderText::nodeAtPoint):
13566        nodeAtPoint should take a const IntPoint reference.
13567
135682011-05-17  Erik Arvidsson  <arv@chromium.org>
13569
13570        Reviewed by Ryosuke Niwa.
13571
13572        document.activeElement doesn't point to the focused frame
13573        https://bugs.webkit.org/show_bug.cgi?id=49509
13574
13575        This makes us match IE and Firefox and there is an ongoing WHATWG discussion to make the spec match this.
13576
13577        Test: fast/dom/HTMLDocument/active-element-frames.html
13578
13579        * html/HTMLDocument.cpp:
13580        (WebCore::HTMLDocument::activeElement): Walk up the frame tree from the focusedFrame to find the active frame if any.
13581
135822011-05-17  Emil A Eklund  <eae@chromium.org>
13583
13584        Reviewed by Eric Seidel.
13585
13586        Change nodeAtPoint to take IntPoint instead of int x, int y
13587        https://bugs.webkit.org/show_bug.cgi?id=60663
13588
13589        Change nodeAtPoint to take a single const IntPoint& instead of a pair of
13590        ints for the location.
13591
13592        Covered by existing tests.
13593
13594        * platform/graphics/FloatPoint.h:
13595        (WebCore::flooredIntPoint):
13596        * rendering/EllipsisBox.cpp:
13597        (WebCore::EllipsisBox::nodeAtPoint):
13598        * rendering/EllipsisBox.h:
13599        * rendering/InlineBox.cpp:
13600        (WebCore::InlineBox::nodeAtPoint):
13601        * rendering/InlineBox.h:
13602        * rendering/InlineFlowBox.cpp:
13603        (WebCore::InlineFlowBox::nodeAtPoint):
13604        * rendering/InlineFlowBox.h:
13605        * rendering/InlineTextBox.cpp:
13606        (WebCore::InlineTextBox::nodeAtPoint):
13607        * rendering/InlineTextBox.h:
13608        * rendering/RenderBlock.cpp:
13609        (WebCore::RenderBlock::nodeAtPoint):
13610        (WebCore::RenderBlock::hitTestContents):
13611        * rendering/RenderBlock.h:
13612        * rendering/RenderBox.cpp:
13613        (WebCore::RenderBox::nodeAtPoint):
13614        * rendering/RenderBox.h:
13615        * rendering/RenderFrameSet.cpp:
13616        (WebCore::RenderFrameSet::nodeAtPoint):
13617        * rendering/RenderFrameSet.h:
13618        * rendering/RenderImage.cpp:
13619        (WebCore::RenderImage::nodeAtPoint):
13620        * rendering/RenderImage.h:
13621        * rendering/RenderInline.cpp:
13622        (WebCore::RenderInline::nodeAtPoint):
13623        * rendering/RenderInline.h:
13624        * rendering/RenderLineBoxList.cpp:
13625        (WebCore::RenderLineBoxList::hitTest):
13626        * rendering/RenderListBox.cpp:
13627        (WebCore::RenderListBox::nodeAtPoint):
13628        * rendering/RenderListBox.h:
13629        * rendering/RenderObject.cpp:
13630        (WebCore::RenderObject::hitTest):
13631        (WebCore::RenderObject::nodeAtPoint):
13632        * rendering/RenderObject.h:
13633        * rendering/RenderTable.cpp:
13634        (WebCore::RenderTable::nodeAtPoint):
13635        * rendering/RenderTable.h:
13636        * rendering/RenderTableRow.cpp:
13637        (WebCore::RenderTableRow::nodeAtPoint):
13638        * rendering/RenderTableRow.h:
13639        * rendering/RenderTableSection.cpp:
13640        (WebCore::RenderTableSection::nodeAtPoint):
13641        * rendering/RenderTableSection.h:
13642        * rendering/RenderText.h:
13643        (WebCore::RenderText::nodeAtPoint):
13644        * rendering/RenderTextControlMultiLine.cpp:
13645        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
13646        * rendering/RenderTextControlMultiLine.h:
13647        * rendering/RenderTextControlSingleLine.cpp:
13648        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
13649        * rendering/RenderTextControlSingleLine.h:
13650        * rendering/RenderWidget.cpp:
13651        (WebCore::RenderWidget::nodeAtPoint):
13652        * rendering/RenderWidget.h:
13653        * rendering/RootInlineBox.cpp:
13654        (WebCore::RootInlineBox::nodeAtPoint):
13655        * rendering/RootInlineBox.h:
13656        * rendering/svg/RenderSVGForeignObject.cpp:
13657        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
13658        (WebCore::RenderSVGForeignObject::nodeAtPoint):
13659        * rendering/svg/RenderSVGForeignObject.h:
13660        * rendering/svg/RenderSVGModelObject.cpp:
13661        (WebCore::RenderSVGModelObject::nodeAtPoint):
13662        * rendering/svg/RenderSVGModelObject.h:
13663        * rendering/svg/RenderSVGRoot.cpp:
13664        (WebCore::RenderSVGRoot::nodeAtPoint):
13665        * rendering/svg/RenderSVGRoot.h:
13666        * rendering/svg/RenderSVGText.cpp:
13667        (WebCore::RenderSVGText::nodeAtFloatPoint):
13668        (WebCore::RenderSVGText::nodeAtPoint):
13669        * rendering/svg/RenderSVGText.h:
13670
136712011-05-17  Andrew Wilson  <atwilson@chromium.org>
13672
13673        Unreviewed, rolling out r86647.
13674        http://trac.webkit.org/changeset/86647
13675        https://bugs.webkit.org/show_bug.cgi?id=56814
13676
13677        Broke tests downstream in Chromium
13678
13679        * dom/DocumentMarker.h:
13680        (WebCore::DocumentMarker::operator==):
13681        (WebCore::DocumentMarker::operator!=):
13682        * dom/DocumentMarkerController.cpp:
13683        (WebCore::DocumentMarkerController::addMarker):
13684        (WebCore::DocumentMarkerController::copyMarkers):
13685        (WebCore::DocumentMarkerController::removeMarkers):
13686        (WebCore::DocumentMarkerController::markerContainingPoint):
13687        (WebCore::DocumentMarkerController::markersInRange):
13688        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
13689        (WebCore::DocumentMarkerController::removeMarkersFromList):
13690        (WebCore::DocumentMarkerController::repaintMarkers):
13691        (WebCore::DocumentMarkerController::shiftMarkers):
13692        (WebCore::DocumentMarkerController::setMarkersActive):
13693        (WebCore::DocumentMarkerController::hasMarkers):
13694        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
13695        (WebCore::DocumentMarkerController::showMarkers):
13696        * dom/DocumentMarkerController.h:
13697        * editing/CompositeEditCommand.cpp:
13698        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
13699        * editing/DeleteSelectionCommand.cpp:
13700        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
13701        * editing/Editor.cpp:
13702        (WebCore::Editor::selectionStartHasMarkerFor):
13703        * editing/SpellingCorrectionController.cpp:
13704        (WebCore::SpellingCorrectionController::respondToChangedSelection):
13705        * editing/SpellingCorrectionController.h:
13706        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
13707        * rendering/HitTestResult.cpp:
13708        (WebCore::HitTestResult::spellingToolTip):
13709        (WebCore::HitTestResult::replacedString):
13710        * rendering/InlineTextBox.cpp:
13711        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13712        (WebCore::InlineTextBox::paintTextMatchMarker):
13713        (WebCore::InlineTextBox::computeRectForReplacementMarker):
13714        (WebCore::InlineTextBox::paintDocumentMarkers):
13715        * rendering/svg/SVGInlineFlowBox.cpp:
13716        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
13717
137182011-05-17  Andrew Wilson  <atwilson@chromium.org>
13719
13720        Unreviewed, rolling out r86656.
13721        http://trac.webkit.org/changeset/86656
13722
13723        Broke tests downstream in Chromium
13724
13725        * editing/SpellingCorrectionController.cpp:
13726        (WebCore::markersHaveIdenticalDescription):
13727        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
13728        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
13729
137302011-05-17  Yufeng Shen  <miletus@chromium.org>
13731
13732        Reviewed by Darin Fisher.
13733
13734        Make WebKit expose extra touch information
13735        https://bugs.webkit.org/show_bug.cgi?id=59030
13736
13737        * dom/Document.cpp:
13738        (WebCore::Document::createTouch):
13739        * dom/Document.h:
13740        * dom/Document.idl:
13741        * dom/Touch.cpp:
13742        (WebCore::Touch::Touch):
13743        * dom/Touch.h:
13744        (WebCore::Touch::create):
13745        (WebCore::Touch::webkitRadiusX):
13746        (WebCore::Touch::webkitRadiusY):
13747        (WebCore::Touch::webkitRotationAngle):
13748        * dom/Touch.idl:
13749        * page/EventHandler.cpp:
13750        (WebCore::EventHandler::handleTouchEvent):
13751        * platform/PlatformTouchPoint.h:
13752        (WebCore::PlatformTouchPoint::radiusX):
13753        (WebCore::PlatformTouchPoint::radiusY):
13754        (WebCore::PlatformTouchPoint::rotationAngle):
13755
137562011-05-17  Eric Seidel  <eric@webkit.org>
13757
13758        Reviewed by Ryosuke Niwa.
13759
13760        Add a LineLayoutState object to hold global state during line layout
13761        https://bugs.webkit.org/show_bug.cgi?id=60113
13762
13763        Like LayoutState for layout(), LineLayoutState keeps track of global information
13764        during an entire linebox tree layout pass (aka layoutInlineChildren).
13765
13766        For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
13767        It's possible we should hold the useRepaintBounds bool as well as
13768        the startLine and endLine RootInlineBox pointers.
13769
13770        No change in behavior, thus no tests.
13771
13772        * rendering/RenderBlock.cpp:
13773        (WebCore::RenderBlock::layoutBlock):
13774        * rendering/RenderBlock.h:
13775        * rendering/RenderBlockLineLayout.cpp:
13776        (WebCore::LineLayoutState::LineLayoutState):
13777        (WebCore::LineLayoutState::markForFullLayout):
13778        (WebCore::LineLayoutState::isFullLayout):
13779        (WebCore::LineLayoutState::setRepaintRange):
13780        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
13781        (WebCore::LineLayoutState::startLine):
13782        (WebCore::LineLayoutState::endLine):
13783        (WebCore::deleteLineRange):
13784        (WebCore::RenderBlock::layoutRunsAndFloats):
13785        (WebCore::RenderBlock::layoutInlineChildren):
13786        (WebCore::RenderBlock::checkFloatsInCleanLine):
13787        (WebCore::RenderBlock::determineStartPosition):
13788        (WebCore::RenderBlock::determineEndPosition):
13789        (WebCore::RenderBlock::matchedEndLine):
13790
137912011-05-17  Andreas Kling  <kling@webkit.org>
13792
13793        Reviewed by Kenneth Rohde Christiansen.
13794
13795        Area element doesn't update region when dynamically altered.
13796        https://bugs.webkit.org/show_bug.cgi?id=54636
13797
13798        Recompute the clickable region after the "shape" or "coords" attribute
13799        of an area element is changed.
13800
13801        Test: fast/images/imagemap-dynamic-area-updates.html
13802
13803        * html/HTMLAreaElement.cpp:
13804        (WebCore::HTMLAreaElement::parseMappedAttribute):
13805        (WebCore::HTMLAreaElement::invalidateCachedRegion):
13806        * html/HTMLAreaElement.h:
13807
138082011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
13809
13810        Reviewed by Kenneth Rohde Christiansen.
13811
13812        [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
13813        https://bugs.webkit.org/show_bug.cgi?id=60440
13814
13815        Makes sure that the HTTP headers Content-type and Content-length are not included in
13816        the requests that do not have any content.
13817
13818        Tests: http/tests/navigation/post-301-response.html
13819               http/tests/navigation/post-302-response.html
13820               http/tests/navigation/post-303-response.html
13821               http/tests/navigation/post-307-response.html
13822
13823        * platform/network/qt/QNetworkReplyHandler.cpp:
13824        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
13825
138262011-05-17  Andreas Kling  <kling@webkit.org>
13827
13828        Reviewed by Benjamin Poulain.
13829
13830        [Qt] GraphicsLayerQtImpl: Remove an unused variable.
13831
13832        * platform/graphics/qt/GraphicsLayerQt.cpp:
13833        (WebCore::GraphicsLayerQtImpl::paint):
13834
138352011-05-17  Pavel Feldman  <pfeldman@google.com>
13836
13837        Reviewed by Yury Semikhatsky.
13838
13839        Web Inspector: navigating from elements panel does not show source view.
13840        https://bugs.webkit.org/show_bug.cgi?id=60970
13841
13842        * inspector/front-end/TextViewer.js:
13843        (WebInspector.TextViewer.prototype.highlightLine):
13844        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
13845
138462011-05-17  Sam Magnuson  <smagnuson@netflix.com>
13847
13848        Reviewed by Kenneth Rohde Christiansen.
13849
13850        [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
13851        https://bugs.webkit.org/show_bug.cgi?id=40841
13852
13853        Test: compositing/animation/busy-indicator.html
13854
13855        * platform/graphics/qt/GraphicsLayerQt.cpp:
13856        (WebCore::GraphicsLayerQtImpl::recache):
13857        (WebCore::GraphicsLayerQtImpl::flushChanges):
13858        (WebCore::GraphicsLayerQt::setContentsToImage):
13859        (WebCore::TransformAnimationQt::getAnimatedProperty):
13860        (WebCore::OpacityAnimationQt::getAnimatedProperty):
13861        (WebCore::GraphicsLayerQt::addAnimation):
13862
138632011-05-17  Grace Kloba  <klobag@chromium.org>
13864
13865        Reviewed by Kenneth Russell.
13866
13867        GraphicsContext3DSkia needs to honor the platform Sk_x_SHIFT value instead of assuming BGRA color
13868        https://bugs.webkit.org/show_bug.cgi?id=60965
13869
13870        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
13871        (WebCore::GraphicsContext3D::getImageData):
13872
138732011-05-17  Alexander Pavlov  <apavlov@chromium.org>
13874
13875        Reviewed by Yury Semikhatsky.
13876
13877        Web Inspector: Enter/Tab after editing a CSS property does not invoke editor on next field
13878        https://bugs.webkit.org/show_bug.cgi?id=60962
13879
13880        * inspector/front-end/ElementsPanel.js:
13881        (WebInspector.ElementsPanel.prototype.updateStyles):
13882
138832011-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
13884
13885        Unreviewed, rolling out r86660.
13886        http://trac.webkit.org/changeset/86660
13887        https://bugs.webkit.org/show_bug.cgi?id=60958
13888
13889        broke search in console panel (Requested by podivilov on
13890        #webkit).
13891
13892        * inspector/front-end/ConsoleView.js:
13893        (WebInspector.ConsoleView.prototype.show):
13894        (WebInspector.ConsoleView.prototype.afterShow):
13895        (WebInspector.ConsoleView.prototype.hide):
13896        (WebInspector.ConsoleView.prototype.addMessage):
13897        (WebInspector.ConsoleView.prototype.clearMessages):
13898        * inspector/front-end/DebuggerPresentationModel.js:
13899        (WebInspector.DebuggerPresentationModel):
13900        * inspector/front-end/Drawer.js:
13901        (WebInspector.Drawer.prototype.set visibleView):
13902        (WebInspector.Drawer.prototype.show.animationFinished):
13903        (WebInspector.Drawer.prototype.show):
13904        * inspector/front-end/Panel.js:
13905        (WebInspector.Panel):
13906        * inspector/front-end/ResourceTreeModel.js:
13907        (WebInspector.ResourceTreeModel):
13908        * inspector/front-end/inspector.html:
13909        * inspector/front-end/inspector.js:
13910        (WebInspector._createPanels):
13911
139122011-05-17  Alexis Menard  <alexis.menard@openbossa.org>
13913
13914        Unreviewed warning fix introduced by r86377.
13915
13916        * rendering/RenderFieldset.cpp:
13917        (WebCore::RenderFieldset::paintMask):
13918
139192011-05-17  Yuta Kitamura  <yutak@chromium.org>
13920
13921        Reviewed by Kent Tamura.
13922
13923        WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
13924        https://bugs.webkit.org/show_bug.cgi?id=60945
13925
13926        Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
13927        move these definitions into .cpp in order to allow further modifications in this class.
13928
13929        No new tests, as this is just refactoring.
13930
13931        * CMakeLists.txt:
13932        * GNUmakefile.list.am:
13933        * WebCore.gypi:
13934        * WebCore.pro:
13935        * WebCore.vcproj/WebCore.vcproj:
13936        * WebCore.xcodeproj/project.pbxproj:
13937        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added.
13938        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
13939        (WebCore::ThreadableWebSocketChannelClientWrapper::create):
13940        (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone):
13941        (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone):
13942        (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone):
13943        (WebCore::ThreadableWebSocketChannelClientWrapper::sent):
13944        (WebCore::ThreadableWebSocketChannelClientWrapper::setSent):
13945        (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount):
13946        (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount):
13947        (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
13948        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
13949        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
13950        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
13951        (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
13952        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
13953        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
13954        * websockets/ThreadableWebSocketChannelClientWrapper.h:
13955
139562011-05-17  Andreas Kling  <andreas.kling@nokia.com>
13957
13958        Reviewed by Kenneth Rohde Christiansen.
13959
13960        [Qt] Support shadowed text in fast font path.
13961        https://bugs.webkit.org/show_bug.cgi?id=60462
13962
13963        * platform/graphics/Font.cpp:
13964        (WebCore::Font::drawText): Remove complex path shortcut for shadowed text.
13965
13966        * platform/graphics/qt/FontQt.cpp:
13967        (WebCore::Font::drawGlyphs): Paint shadows for simple text.
13968
139692011-05-17  Andreas Kling  <kling@webkit.org>
13970
13971        Reviewed by Kenneth Rohde Christiansen.
13972
13973        [Qt] Construct GraphicsLayerQtImpl::State with correct values.
13974        https://bugs.webkit.org/show_bug.cgi?id=60902
13975
13976        The GraphicsLayerQtImpl initial state should match the initial values
13977        of the corresponding GraphicsLayer flags.
13978
13979        * platform/graphics/qt/GraphicsLayerQt.cpp:
13980        (WebCore::GraphicsLayerQtImpl::State::State):
13981
139822011-05-12  Hans Wennborg  <hans@chromium.org>
13983
13984        Reviewed by Steve Block.
13985
13986        IndexedDB: Index population should ignore records without key for index
13987        https://bugs.webkit.org/show_bug.cgi?id=60697
13988
13989        When populating a new index, records which do not have a key on the
13990        index's key path should be ignored.
13991
13992        * storage/IDBObjectStoreBackendImpl.cpp:
13993
139942011-05-17  Young Han Lee  <joybro@company100.net>
13995
13996        Reviewed by Csaba Osztrogonác.
13997
13998        [Texmap][Qt] Enable strict PassOwnPtr for Qt with texmap enabled.
13999        https://bugs.webkit.org/show_bug.cgi?id=60947
14000
14001        No new tests. Build fix.
14002
14003        * platform/graphics/qt/TextureMapperQt.cpp:
14004        (WebCore::TextureMapper::create):
14005        * platform/graphics/qt/TextureMapperQt.h:
14006        (WebCore::TextureMapperQt::create):
14007        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
14008        (WebCore::GraphicsLayer::create):
14009
140102011-05-17  Alexander Pavlov  <apavlov@chromium.org>
14011
14012        Reviewed by Yury Semikhatsky.
14013
14014        Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
14015        https://bugs.webkit.org/show_bug.cgi?id=60890
14016
14017        * inspector/front-end/MetricsSidebarPane.js:
14018        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
14019        * inspector/front-end/StylesSidebarPane.js:
14020        (WebInspector.StylesSidebarPane.alteredFloatNumber):
14021        (WebInspector.StylePropertyTreeElement.prototype):
14022
140232011-05-17  Pavel Podivilov  <podivilov@chromium.org>
14024
14025        Reviewed by Yury Semikhatsky.
14026
14027        Web Inspector: merge ConsoleView into ConsolePanel.
14028        https://bugs.webkit.org/show_bug.cgi?id=54670
14029
14030        Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
14031        will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
14032
14033        * inspector/front-end/ConsoleView.js:
14034        (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
14035        (WebInspector.ConsolePanel.prototype.show):
14036        (WebInspector.ConsolePanel.prototype.hide):
14037        (WebInspector.ConsolePanel.prototype.showInDrawer):
14038        (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
14039        (WebInspector.ConsolePanel.prototype.hideInDrawer):
14040        (WebInspector.ConsolePanel.prototype.addMessage):
14041        (WebInspector.ConsolePanel.prototype.clearMessages):
14042        * inspector/front-end/DebuggerPresentationModel.js:
14043        (WebInspector.DebuggerPresentationModel):
14044        * inspector/front-end/Drawer.js:
14045        (WebInspector.Drawer.prototype.set visibleView):
14046        (WebInspector.Drawer.prototype.show.animationFinished):
14047        (WebInspector.Drawer.prototype.show):
14048        * inspector/front-end/Panel.js:
14049        (WebInspector.Panel):
14050        * inspector/front-end/ResourceTreeModel.js:
14051        (WebInspector.ResourceTreeModel):
14052        * inspector/front-end/inspector.html:
14053        * inspector/front-end/inspector.js:
14054        (WebInspector._createPanels):
14055
140562011-05-16  Yuta Kitamura  <yutak@chromium.org>
14057
14058        Reviewed by Kent Tamura.
14059
14060        WebSocket: WebSocketHandshake prints a carriage return to console
14061        https://bugs.webkit.org/show_bug.cgi?id=60880
14062
14063        * websockets/WebSocketHandshake.cpp:
14064        (WebCore::WebSocketHandshake::readStatusLine):
14065        WebSocketHandshake should not print a carriage return to console. To fix this,
14066        we first check whether the status line ends with CRLF. After that,
14067        we can print the first (lineLength - 2) characters of the status line
14068        which do not contain a carriage return.
14069
140702011-05-16  MORITA Hajime  <morrita@google.com>
14071
14072        Unreviewed build fix for r86647, which broke SUPPORT_AUTOCORRECTION_PANEL.
14073
14074        * editing/SpellingCorrectionController.cpp:
14075        (WebCore::markersHaveIdenticalDescription):
14076        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
14077        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
14078
140792011-05-16  Kent Tamura  <tkent@chromium.org>
14080
14081        Fix Leopard build.
14082
14083        * html/HTMLInputElement.cpp:
14084        (WebCore::HTMLInputElement::stepUpFromRenderer): Use double instead of int.
14085
140862011-05-16  James Robinson  <jamesr@chromium.org>
14087
14088        Reviewed by Kenneth Russell.
14089
14090        [chromium] Decouple LayerChromium/CCLayerImpl trees
14091        https://bugs.webkit.org/show_bug.cgi?id=58830
14092
14093        Makes the CCLayerImpl tree self-hosting and provides an explicit step
14094        to synchronize the LayerChromium tree to the CCLayerImpl tree.
14095        Tested by compositing/ layout tests and by unit tests in WebKit/chromium.
14096
14097        * WebCore.gypi:
14098        * platform/graphics/chromium/CanvasLayerChromium.cpp:
14099        (WebCore::CanvasLayerChromium::createCCLayerImpl):
14100        * platform/graphics/chromium/LayerChromium.cpp:
14101        (WebCore::LayerChromium::LayerChromium):
14102        (WebCore::LayerChromium::~LayerChromium):
14103        (WebCore::LayerChromium::cleanupResources):
14104        (WebCore::LayerChromium::dumpLayer):
14105        (WebCore::LayerChromium::dumpLayerProperties):
14106        (WebCore::LayerChromium::createCCLayerImpl):
14107        (WebCore::LayerChromium::ccLayerImpl):
14108        * platform/graphics/chromium/LayerChromium.h:
14109        (WebCore::LayerChromium::id):
14110        (WebCore::LayerChromium::setCCLayerImpl):
14111        * platform/graphics/chromium/LayerRendererChromium.cpp:
14112        (WebCore::LayerRendererChromium::updateAndDrawLayers):
14113        (WebCore::LayerRendererChromium::updateLayers):
14114        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
14115        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
14116        * platform/graphics/chromium/LayerRendererChromium.h:
14117        * platform/graphics/chromium/PluginLayerChromium.cpp:
14118        (WebCore::PluginLayerChromium::createCCLayerImpl):
14119        * platform/graphics/chromium/TreeSynchronizer.cpp: Added.
14120        (WebCore::TreeSynchronizer::addCCLayerImplsToMapRecursive):
14121        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
14122        (WebCore::TreeSynchronizer::synchronizeTrees):
14123        * platform/graphics/chromium/TreeSynchronizer.h:
14124        * platform/graphics/chromium/VideoLayerChromium.cpp:
14125        (WebCore::VideoLayerChromium::createCCLayerImpl):
14126        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
14127        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
14128        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
14129        (WebCore::CCCanvasLayerImpl::create):
14130        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
14131        (WebCore::CCLayerImpl::CCLayerImpl):
14132        (WebCore::CCLayerImpl::addChild):
14133        (WebCore::CCLayerImpl::removeFromParent):
14134        (WebCore::CCLayerImpl::removeAllChildren):
14135        (WebCore::CCLayerImpl::clearChildList):
14136        (WebCore::CCLayerImpl::descendantsDrawsContent):
14137        (WebCore::CCLayerImpl::drawsContent):
14138        (WebCore::CCLayerImpl::updateCompositorResources):
14139        * platform/graphics/chromium/cc/CCLayerImpl.h:
14140        (WebCore::CCLayerImpl::create):
14141        (WebCore::CCLayerImpl::parent):
14142        (WebCore::CCLayerImpl::children):
14143        (WebCore::CCLayerImpl::setMaskLayer):
14144        (WebCore::CCLayerImpl::maskLayer):
14145        (WebCore::CCLayerImpl::setReplicaLayer):
14146        (WebCore::CCLayerImpl::replicaLayer):
14147        (WebCore::CCLayerImpl::id):
14148        (WebCore::CCLayerImpl::owner):
14149        (WebCore::CCLayerImpl::setParent):
14150        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
14151        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
14152        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
14153        (WebCore::CCPluginLayerImpl::create):
14154        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
14155        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
14156        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
14157        (WebCore::CCVideoLayerImpl::create):
14158
141592011-05-16  Naoki Takano  <takano.naoki@gmail.com>
14160
14161        Reviewed by Kent Tamura.
14162
14163        HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.
14164        https://bugs.webkit.org/show_bug.cgi?id=60871
14165
14166        Test: fast/forms/input-stepup-stepdown-from-renderer.html
14167
14168        In number input type, if the value is not a number, including empty, the currect valued is assumed 0.
14169        But we have to handle it separately from the case when the value is actuall "0".
14170
14171        * html/HTMLInputElement.cpp:
14172        (WebCore::HTMLInputElement::stepUpFromRenderer): Added cliping for default value.
14173
141742011-05-16  Adam Barth  <abarth@webkit.org>
14175
14176        Reviewed by Eric Seidel.
14177
14178        Remove bogus ASSERT in Document::setCompatibilityMode
14179        https://bugs.webkit.org/show_bug.cgi?id=60935
14180
14181        The ASSERT is invalid when the parser is in the initial state and the
14182        document is non-empty, which is strange but not impossible.
14183
14184        Test: fast/parser/append-child-followed-by-document-write.html
14185
14186        * dom/Document.cpp:
14187        (WebCore::Document::setCompatibilityMode):
14188
141892011-05-16  MORITA Hajime  <morrita@google.com>
14190
14191        Reviewed by Tony Chang.
14192
14193        [Refactoring] Member variables of DocumentMarker should be encapsulated.        
14194        https://bugs.webkit.org/show_bug.cgi?id=56814
14195
14196        - Moved DocumentMarker's member variables to private and added getters for them.
14197        - Added DocumentMarker setters and constructors, which contain assertions against m_type values
14198          because description and activeMatch are used with specific type of MarkerType.
14199        - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController because
14200          it accesses DocumentMarker internals.
14201        - Moved a version of DMC::addMarker() to private and add alternatives that hide
14202          internals of DocumentMarker. (The internal will be renewed by upcoming change.)
14203        
14204        * dom/DocumentMarker.h:
14205        (WebCore::DocumentMarker::type):
14206        (WebCore::DocumentMarker::startOffset):
14207        (WebCore::DocumentMarker::endOffset):
14208        (WebCore::DocumentMarker::description):
14209        (WebCore::DocumentMarker::hasDescription):
14210        (WebCore::DocumentMarker::activeMatch):
14211        (WebCore::DocumentMarker::clearDescription):
14212        (WebCore::DocumentMarker::setStartOffset):
14213        (WebCore::DocumentMarker::setEndOffset):
14214        (WebCore::DocumentMarker::operator==):
14215        (WebCore::DocumentMarker::DocumentMarker):
14216        (WebCore::DocumentMarker::shiftOffsets):
14217        (WebCore::DocumentMarker::setActiveMatch):
14218        * dom/DocumentMarkerController.cpp:
14219        (WebCore::DocumentMarkerController::addMarker):
14220        (WebCore::DocumentMarkerController::addTextMatchMarker):
14221        (WebCore::DocumentMarkerController::copyMarkers):
14222        (WebCore::DocumentMarkerController::removeMarkers):
14223        (WebCore::DocumentMarkerController::markerContainingPoint):
14224        (WebCore::DocumentMarkerController::markersInRange):
14225        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
14226        (WebCore::DocumentMarkerController::removeMarkersFromList):
14227        (WebCore::DocumentMarkerController::repaintMarkers):
14228        (WebCore::DocumentMarkerController::shiftMarkers):
14229        (WebCore::DocumentMarkerController::setMarkersActive):
14230        (WebCore::DocumentMarkerController::hasMarkers):
14231        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
14232        (WebCore::DocumentMarkerController::showMarkers):
14233        * dom/DocumentMarkerController.h:
14234        * editing/CompositeEditCommand.cpp:
14235        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
14236        * editing/DeleteSelectionCommand.cpp:
14237        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
14238        * editing/Editor.cpp:
14239        (WebCore::Editor::selectionStartHasMarkerFor):
14240        * editing/SpellingCorrectionController.cpp:
14241        (WebCore::SpellingCorrectionController::respondToChangedSelection):
14242        * editing/SpellingCorrectionController.h:
14243        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
14244        * rendering/HitTestResult.cpp:
14245        (WebCore::HitTestResult::spellingToolTip):
14246        (WebCore::HitTestResult::replacedString):
14247        * rendering/InlineTextBox.cpp:
14248        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
14249        (WebCore::InlineTextBox::paintTextMatchMarker):
14250        (WebCore::InlineTextBox::computeRectForReplacementMarker):
14251        (WebCore::InlineTextBox::paintDocumentMarkers):
14252        * rendering/svg/SVGInlineFlowBox.cpp:
14253        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
14254
142552011-05-16  Martin Robinson  <mrobinson@igalia.com>
14256
14257        Fix the Cairo build for older versions of GTK+.
14258
14259        * platform/gtk/GtkWidgetBackingStoreX11.cpp: Include GtkVersioning.h to
14260        satisfy older versions of GTK+ 2.x.
14261
142622011-05-16  Ian Henderson  <ianh@apple.com>
14263
14264        Reviewed by Joseph Pecoraro.
14265
14266        Page::goToItem doesn't work while loading is deferred
14267        https://bugs.webkit.org/show_bug.cgi?id=60412
14268
14269        If goToItem is called while loading is deferred, save the arguments
14270        and try again later instead of doing nothing.
14271
14272        Test: loader/navigation-while-deferring-loads.html
14273
14274        * loader/FrameLoader.cpp:
14275        (WebCore::FrameLoader::setDefersLoading):
14276        Pipe the "defersLoading" state into HistoryController.
14277        * loader/HistoryController.cpp:
14278        (WebCore::HistoryController::HistoryController):
14279        (WebCore::HistoryController::goToItem):
14280        Save the HistoryItem and FrameLoadType if loading is deferred.
14281        (WebCore::HistoryController::setDefersLoading):
14282        If we have a saved HistoryItem after resuming, try going to it.
14283        * loader/HistoryController.h:
14284        * page/Page.cpp:
14285        (WebCore::Page::goToItem):
14286        No longer bail early if loading is deferred, since HistoryController
14287        now handles this case.
14288
142892011-05-16  Andrew Wilson  <atwilson@chromium.org>
14290
14291        Unreviewed, rolling out r86625.
14292        http://trac.webkit.org/changeset/86625
14293        https://bugs.webkit.org/show_bug.cgi?id=60719
14294
14295        Caused failed assertion on Chromium gpu canary bots
14296
14297        * WebCore.gypi:
14298        * platform/chromium/TraceEvent.h:
14299        * platform/graphics/chromium/ContentLayerChromium.cpp:
14300        (WebCore::ContentLayerChromium::create):
14301        (WebCore::ContentLayerChromium::ContentLayerChromium):
14302        (WebCore::ContentLayerChromium::~ContentLayerChromium):
14303        (WebCore::ContentLayerChromium::paintContentsIfDirty):
14304        (WebCore::ContentLayerChromium::setLayerRenderer):
14305        (WebCore::ContentLayerChromium::createTilerIfNeeded):
14306        (WebCore::ContentLayerChromium::updateCompositorResources):
14307        * platform/graphics/chromium/ContentLayerChromium.h:
14308        (WebCore::ContentLayerChromium::drawsContent):
14309        * platform/graphics/chromium/ImageLayerChromium.cpp:
14310        (WebCore::ImageLayerChromium::paintContentsIfDirty):
14311        (WebCore::ImageLayerChromium::updateCompositorResources):
14312        * platform/graphics/chromium/ImageLayerChromium.h:
14313        * platform/graphics/chromium/LayerPainterChromium.h: Removed.
14314        * platform/graphics/chromium/LayerRendererChromium.cpp:
14315        (WebCore::LayerRendererChromium::create):
14316        (WebCore::LayerRendererChromium::LayerRendererChromium):
14317        (WebCore::LayerRendererChromium::updateRootLayerContents):
14318        (WebCore::LayerRendererChromium::drawRootLayer):
14319        (WebCore::LayerRendererChromium::updateAndDrawLayers):
14320        (WebCore::LayerRendererChromium::updateLayers):
14321        * platform/graphics/chromium/LayerRendererChromium.h:
14322        * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
14323        * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
14324        * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
14325        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
14326        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
14327        * platform/graphics/chromium/LayerTilerChromium.cpp:
14328        (WebCore::LayerTilerChromium::create):
14329        (WebCore::LayerTilerChromium::LayerTilerChromium):
14330        (WebCore::LayerTilerChromium::setLayerRenderer):
14331        (WebCore::LayerTilerChromium::setTileSize):
14332        (WebCore::LayerTilerChromium::update):
14333        (WebCore::LayerTilerChromium::uploadCanvas):
14334        (WebCore::LayerTilerChromium::updateFromPixels):
14335        (WebCore::LayerTilerChromium::draw):
14336        * platform/graphics/chromium/LayerTilerChromium.h:
14337        (WebCore::LayerTilerChromium::Tile::Tile):
14338        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14339        (WebCore::CCHeadsUpDisplay::draw):
14340
143412011-05-16  Antti Koivisto  <antti@apple.com>
14342
14343        Reviewed by Dave Kilzer.
14344
14345        https://bugs.webkit.org/show_bug.cgi?id=60927
14346        fastCheckSelector() does not inline correctly in all cases
14347
14348        Use anonymous namespace instead of static qualifier to get internal linkage.
14349        Use functions as template arguments instead of classes.
14350
14351        * css/CSSStyleSelector.cpp:
14352        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
14353
143542011-05-16  Chris Rogers  <crogers@google.com>
14355
14356        Unreviewed build fix.
14357
14358        Just return "nullptr" to fix compile errors
14359        https://bugs.webkit.org/show_bug.cgi?id=60932
14360
14361        * platform/audio/mac/AudioBusMac.mm:
14362        (WebCore::AudioBus::loadPlatformResource):
14363        * platform/audio/mac/AudioFileReaderMac.cpp:
14364        (WebCore::AudioFileReader::createBus):
14365
143662011-05-16  Emil A Eklund  <eae@chromium.org>
14367
14368        Reviewed by Eric Seidel.
14369
14370        Replace docTop/Right/Bottom/Left/Width/Height with documentRect
14371        https://bugs.webkit.org/show_bug.cgi?id=60743
14372
14373        Change RenderView::documentRect to compute rect once rather than four times.
14374        Replace all uses of docTop/Right/Bottom/Left/Width/Height with documentRect to
14375        simplify the code and reduce complexity.
14376
14377        Covered by existing tests.
14378
14379        * WebCore.exp.in:
14380        * page/FrameView.cpp:
14381        (WebCore::FrameView::adjustViewSize):
14382        (WebCore::FrameView::forceLayoutForPagination):
14383        * page/PrintContext.cpp:
14384        (WebCore::PrintContext::computePageRects):
14385        * rendering/RenderBox.cpp:
14386        (WebCore::RenderBox::paintRootBoxFillLayers):
14387        * rendering/RenderLayerCompositor.cpp:
14388        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
14389        * rendering/RenderView.cpp:
14390        (WebCore::RenderView::documentRect):
14391        * rendering/RenderView.h:
14392
143932011-05-16  Tony Chang  <tony@chromium.org>
14394
14395        Reviewed by Adam Barth.
14396
14397        [chromium] shard V8DerivedSources into 19 files
14398        https://bugs.webkit.org/show_bug.cgi?id=60926
14399
14400        This reduces the clobber build time by 4s on my machine.  It helps
14401        by making the slowest to compile V8DerivedSources faster (and thus
14402        more parallelizable).  With 8 files, the 3 slowest are 23s, 18s and
14403        10s.  With 19 files, the 3 slowest are 16s, 10s, and 10s.
14404
14405        * WebCore.gyp/WebCore.gyp:
14406        * storage/IDBObjectStore.h: Fix a missing include that was working
14407          because a different .cpp file before it was including the header.
14408
144092011-05-16  Chris Rogers  <crogers@google.com>
14410
14411        Unreviewed build fix.
14412
14413        Fix web audio enabled mac port compile errors
14414        https://bugs.webkit.org/show_bug.cgi?id=60930
14415
14416        * platform/audio/mac/AudioBusMac.mm:
14417        (WebCore::AudioBus::loadPlatformResource):
14418        * platform/audio/mac/AudioFileReaderMac.cpp:
14419        (WebCore::AudioFileReader::createBus):
14420
144212011-05-16  Eric Seidel  <eric@webkit.org>
14422
14423        Reviewed by Adam Barth.
14424
14425        Document why RenderBlockLineLayout has its own deleteLineBoxTree implementation
14426        https://bugs.webkit.org/show_bug.cgi?id=60925
14427
14428        I suspect this difference is really just papering over other bugs
14429        but now that I finally understand the difference, I should at least
14430        document it for others.
14431
14432        * rendering/RenderBlockLineLayout.cpp:
14433        (WebCore::deleteLineRange):
14434        (WebCore::RenderBlock::determineStartPosition):
14435
144362011-05-16  Alok Priyadarshi  <alokp@chromium.org>
14437
14438        Reviewed by James Robinson.
14439
14440        [chromium] Split canvas from LayerTilerChromium
14441        https://bugs.webkit.org/show_bug.cgi?id=60719
14442
14443        LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
14444        Also abstracted LayerTextureSubImage to upload texture pixels.
14445
14446        * WebCore.gypi:
14447        * platform/chromium/TraceEvent.h:
14448        * platform/graphics/chromium/ContentLayerChromium.cpp:
14449        (WebCore::ContentLayerChromium::create):
14450        (WebCore::ContentLayerChromium::ContentLayerChromium):
14451        (WebCore::ContentLayerChromium::~ContentLayerChromium):
14452        (WebCore::ContentLayerChromium::paintContentsIfDirty):
14453        (WebCore::ContentLayerChromium::cleanupResources):
14454        (WebCore::ContentLayerChromium::setLayerRenderer):
14455        (WebCore::ContentLayerChromium::createTextureUpdater):
14456        (WebCore::ContentLayerChromium::drawsContent):
14457        (WebCore::ContentLayerChromium::createTilerIfNeeded):
14458        (WebCore::ContentLayerChromium::updateCompositorResources):
14459        * platform/graphics/chromium/ContentLayerChromium.h:
14460        * platform/graphics/chromium/ImageLayerChromium.cpp:
14461        (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
14462        (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
14463        (WebCore::ImageLayerTextureUpdater::orientation):
14464        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
14465        (WebCore::ImageLayerTextureUpdater::updateTextureRect):
14466        (WebCore::ImageLayerTextureUpdater::imageRect):
14467        (WebCore::ImageLayerChromium::paintContentsIfDirty):
14468        (WebCore::ImageLayerChromium::updateCompositorResources):
14469        (WebCore::ImageLayerChromium::createTextureUpdater):
14470        * platform/graphics/chromium/ImageLayerChromium.h:
14471        * platform/graphics/chromium/LayerPainterChromium.h: Added.
14472        * platform/graphics/chromium/LayerRendererChromium.cpp:
14473        (WebCore::LayerRendererChromium::create):
14474        (WebCore::LayerRendererChromium::LayerRendererChromium):
14475        (WebCore::LayerRendererChromium::updateRootLayerContents):
14476        (WebCore::LayerRendererChromium::drawRootLayer):
14477        (WebCore::LayerRendererChromium::updateAndDrawLayers):
14478        (WebCore::LayerRendererChromium::updateLayers):
14479        * platform/graphics/chromium/LayerRendererChromium.h:
14480        * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
14481        (WebCore::LayerTextureSubImage::LayerTextureSubImage):
14482        (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
14483        (WebCore::LayerTextureSubImage::setSubImageSize):
14484        (WebCore::LayerTextureSubImage::upload):
14485        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
14486        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
14487        * platform/graphics/chromium/LayerTextureSubImage.h: Added.
14488        * platform/graphics/chromium/LayerTextureUpdater.h: Added.
14489        (WebCore::LayerTextureUpdater::LayerTextureUpdater):
14490        (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
14491        (WebCore::LayerTextureUpdater::context):
14492        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
14493        (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
14494        (WebCore::LayerTextureUpdaterCanvas::paintContents):
14495        (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
14496        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
14497        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
14498        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
14499        (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
14500        (WebCore::LayerTextureUpdaterCanvas::contentRect):
14501        (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
14502        (WebCore::LayerTextureUpdaterBitmap::orientation):
14503        * platform/graphics/chromium/LayerTilerChromium.cpp:
14504        (WebCore::LayerTilerChromium::create):
14505        (WebCore::LayerTilerChromium::LayerTilerChromium):
14506        (WebCore::LayerTilerChromium::setTileSize):
14507        (WebCore::LayerTilerChromium::prepareToUpdate):
14508        (WebCore::LayerTilerChromium::updateRect):
14509        (WebCore::LayerTilerChromium::draw):
14510        * platform/graphics/chromium/LayerTilerChromium.h:
14511        (WebCore::LayerTilerChromium::Tile::Tile):
14512        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14513        (WebCore::CCHeadsUpDisplay::draw):
14514
145152011-05-16  Andrew Wilson  <atwilson@chromium.org>
14516
14517        Unreviewed prospective build fix/workaround for chromium ARM compiler error.
14518
14519        * platform/graphics/GraphicsLayer.cpp:
14520        (WebCore::GraphicsLayer::animationNameForTransition):
14521
145222011-05-16  Martin Robinson  <mrobinson@igalia.com>
14523
14524        Reviewed by Anders Carlsson.
14525
14526        [GTK] [WebKit2] Provide a fast version of the backing store for X11
14527        https://bugs.webkit.org/show_bug.cgi?id=60912
14528
14529        No new tests. This will be covered by WebKit2 pixel tests.
14530
14531        * GNUmakefile.list.am: Added new GtkWidgetBackingStore source and header files.
14532        * platform/gtk/GtkWidgetBackingStore.h: Added.
14533        * platform/gtk/GtkWidgetBackingStoreCairo.cpp: Added this implementation of the backing
14534        store that uses Cairo and has the same performance characteristics as the WebKit2 implementaiton.
14535        * platform/gtk/GtkWidgetBackingStoreX11.cpp: Added this implementation of the backing
14536        store that uses X11 directly and has better performance than the Cairo version.
14537
145382011-05-16  Chris Rogers  <crogers@google.com>
14539
14540        Reviewed by senorblanco@chromium.org.
14541
14542        Add DynamicsCompressorNode implementation
14543        https://bugs.webkit.org/show_bug.cgi?id=60682
14544
14545        No new tests since audio API is not yet implemented.
14546
14547        * DerivedSources.make:
14548        * WebCore.gypi:
14549        * WebCore.xcodeproj/project.pbxproj:
14550        * platform/audio/DynamicsCompressor.cpp: Added.
14551        (WebCore::DynamicsCompressor::DynamicsCompressor):
14552        (WebCore::DynamicsCompressor::initializeParameters):
14553        (WebCore::DynamicsCompressor::parameterValue):
14554        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
14555        (WebCore::DynamicsCompressor::setEmphasisParameters):
14556        (WebCore::DynamicsCompressor::process):
14557        (WebCore::DynamicsCompressor::reset):
14558        * platform/audio/DynamicsCompressor.h: Added.
14559        (WebCore::DynamicsCompressor::isStereo):
14560        (WebCore::DynamicsCompressor::sampleRate):
14561        (WebCore::DynamicsCompressor::nyquist):
14562        * platform/audio/DynamicsCompressorKernel.cpp: Added.
14563        (WebCore::saturate):
14564        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
14565        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
14566        (WebCore::DynamicsCompressorKernel::process):
14567        (WebCore::DynamicsCompressorKernel::reset):
14568        * platform/audio/DynamicsCompressorKernel.h: Added.
14569        (WebCore::DynamicsCompressorKernel::latencyFrames):
14570        (WebCore::DynamicsCompressorKernel::sampleRate):
14571        * platform/audio/ZeroPole.cpp: Added.
14572        (WebCore::ZeroPole::process):
14573        * platform/audio/ZeroPole.h: Added.
14574        (WebCore::ZeroPole::ZeroPole):
14575        (WebCore::ZeroPole::reset):
14576        (WebCore::ZeroPole::setZero):
14577        (WebCore::ZeroPole::setPole):
14578        (WebCore::ZeroPole::zero):
14579        (WebCore::ZeroPole::pole):
14580        * webaudio/AudioContext.cpp:
14581        (WebCore::AudioContext::createDynamicsCompressor):
14582        * webaudio/AudioContext.h:
14583        * webaudio/AudioContext.idl:
14584        * webaudio/AudioNode.h:
14585        * webaudio/DynamicsCompressorNode.cpp: Added.
14586        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
14587        (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode):
14588        (WebCore::DynamicsCompressorNode::process):
14589        (WebCore::DynamicsCompressorNode::reset):
14590        (WebCore::DynamicsCompressorNode::initialize):
14591        (WebCore::DynamicsCompressorNode::uninitialize):
14592        * webaudio/DynamicsCompressorNode.h: Added.
14593        (WebCore::DynamicsCompressorNode::create):
14594        * webaudio/DynamicsCompressorNode.idl: Added.
14595
145962011-05-16  Yuzo Fujishima  <yuzo@google.com>
14597
14598        Reviewed by Antti Koivisto.
14599
14600        Fix for Bug 43704 - Web font is printed as blank if it is not cached
14601        https://bugs.webkit.org/show_bug.cgi?id=43704
14602
14603        In setting printing, we should not validate resources already cached
14604        for the document. If we do, web fonts used for screen are revalidated
14605        and possiby reloaded. Then the fonts can be shown as blank on print.
14606        This patch won't save the case where screen and print use different web
14607        fonts. Nonetheless, this is an improvement.
14608
14609        No new tests because there seems to be no good way to test print images.
14610
14611        * editing/Editor.cpp:
14612        (WebCore::Editor::paste): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
14613        * loader/cache/CachedResourceLoader.h:
14614        (WebCore::ResourceCacheValidationSuppressor::ResourceCacheValidationSuppressor): RAII class for allowing/disallowing stale resources.
14615        (WebCore::ResourceCacheValidationSuppressor::~ResourceCacheValidationSuppressor):
14616        * page/DragController.cpp:
14617        (WebCore::DragController::concludeEditDrag): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
14618        * page/Frame.cpp:
14619        (WebCore::Frame::setPrinting): Use ResourceCacheValidationSuppressor to allow stale resources in printing.
14620
146212011-05-16  Dan Bernstein  <mitz@apple.com>
14622
14623        Reviewed by Darin Adler.
14624
14625        <rdar://problem/9446653> REGRESSION (r84750): Moving by word stops at apostrophe mid-word
14626        https://bugs.webkit.org/show_bug.cgi?id=60915
14627
14628        CFStringTokenizer’s kCFStringTokenizerUnitWord considers “Here’s” as two separate tokens.
14629        Switching to CFStringTokenizer in r84750 was an attempt to address an issue with Japanese word
14630        boundaries for searches with WebFindOptionsAtWordStarts, but it turned out to be insufficient,
14631        and in r86387 the Japanese word issue was addressed independently of text boundaries, so just
14632        revert r84750.
14633
14634        * platform/text/mac/TextBoundaries.mm:
14635        (WebCore::findNextWordFromIndex):
14636
146372011-05-16  David Kilzer  <ddkilzer@apple.com>
14638
14639        <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
14640        <rdar://problem/9446430>
14641
14642        Reviewed by Mark Rowe.
14643
14644        * Configurations/Base.xcconfig: Fixed typo.
14645
146462011-05-16  Jon Lee  <jonlee@apple.com>
14647
14648        Fix for broken regression tests. Adding null pointer check
14649
14650        * page/FrameView.cpp:
14651        (WebCore::FrameView::didAddHorizontalScrollbar):
14652        (WebCore::FrameView::willRemoveHorizontalScrollbar):
14653
146542011-05-16  Adrienne Walker  <enne@google.com>
14655
14656        Reviewed by James Robinson.
14657
14658        [chromium] Remove unused member variables from LayerRendererChromium
14659        https://bugs.webkit.org/show_bug.cgi?id=60899
14660
14661        These should have been removed when tiling was enabled for root
14662        layers.
14663
14664        * platform/graphics/chromium/LayerRendererChromium.h:
14665
146662011-05-16  Andrew Wilson  <atwilson@chromium.org>
14667
14668        Unreviewed, rolling out r86589.
14669        http://trac.webkit.org/changeset/86589
14670        https://bugs.webkit.org/show_bug.cgi?id=54670
14671
14672        Broke chromium inspector tests.
14673
14674        * inspector/front-end/ConsoleView.js:
14675        (WebInspector.ConsoleView.prototype.show):
14676        (WebInspector.ConsoleView.prototype.afterShow):
14677        (WebInspector.ConsoleView.prototype.hide):
14678        (WebInspector.ConsoleView.prototype.addMessage):
14679        (WebInspector.ConsoleView.prototype.clearMessages):
14680        * inspector/front-end/DebuggerPresentationModel.js:
14681        (WebInspector.DebuggerPresentationModel):
14682        * inspector/front-end/Drawer.js:
14683        (WebInspector.Drawer.prototype.set visibleView):
14684        (WebInspector.Drawer.prototype.show.animationFinished):
14685        (WebInspector.Drawer.prototype.show):
14686        * inspector/front-end/Panel.js:
14687        (WebInspector.Panel):
14688        * inspector/front-end/ResourceTreeModel.js:
14689        (WebInspector.ResourceTreeModel):
14690        * inspector/front-end/inspector.html:
14691        * inspector/front-end/inspector.js:
14692        (WebInspector._createPanels):
14693
146942011-05-16  Brian Weinstein  <bweinstein@apple.com>
14695
14696        Reviewed by Enrica Casucci.
14697
14698        REGRESSION (r86542): Dropping URL onto Desktop creates broken Internet Shortcut file.
14699        
14700        r86477 fixed this bug by using latin1 as the CString's encoding instead of ascii, but r86542
14701        undid this change.
14702        
14703        Change it back to latin1 to fix the bug.
14704
14705        * platform/win/ClipboardWin.cpp:
14706        (WebCore::ClipboardWin::writeURL):
14707
147082011-05-16  Jeremy Noble  <jer.noble@apple.com>
14709
14710        Unreviewed; build fix for non-SnowLeopard builds.
14711
14712        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Wrap definition 
14713            of layerIsDescendentOf in a #if check.
14714
147152011-05-16  Pavel Podivilov  <podivilov@chromium.org>
14716
14717        Reviewed by Yury Semikhatsky.
14718
14719        Web Inspector: merge ConsoleView into ConsolePanel.
14720        https://bugs.webkit.org/show_bug.cgi?id=54670
14721
14722        Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
14723        will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
14724
14725        * inspector/front-end/ConsoleView.js:
14726        (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
14727        (WebInspector.ConsolePanel.prototype.show):
14728        (WebInspector.ConsolePanel.prototype.hide):
14729        (WebInspector.ConsolePanel.prototype.showInDrawer):
14730        (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
14731        (WebInspector.ConsolePanel.prototype.hideInDrawer):
14732        (WebInspector.ConsolePanel.prototype.addMessage):
14733        (WebInspector.ConsolePanel.prototype.clearMessages):
14734        * inspector/front-end/DebuggerPresentationModel.js:
14735        (WebInspector.DebuggerPresentationModel):
14736        * inspector/front-end/Drawer.js:
14737        (WebInspector.Drawer.prototype.set visibleView):
14738        (WebInspector.Drawer.prototype.show.animationFinished):
14739        (WebInspector.Drawer.prototype.show):
14740        * inspector/front-end/Panel.js:
14741        (WebInspector.Panel):
14742        * inspector/front-end/ResourceTreeModel.js:
14743        (WebInspector.ResourceTreeModel):
14744        * inspector/front-end/inspector.html:
14745        * inspector/front-end/inspector.js:
14746        (WebInspector._createPanels):
14747
147482011-05-13  Jer Noble  <jer.noble@apple.com>
14749
14750        Reviewed by Simon Fraser.
14751
14752        Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
14753        https://bugs.webkit.org/show_bug.cgi?id=60826
14754
14755        Listen for a WebKitLayerHostChanged notification and, if the affected layer is an
14756        ancestor layer of the qtMovieLayer, tear down the layer and recreate it the
14757        next time setVisible(true) is called.
14758
14759        * dom/Document.cpp:
14760        (WebCore::Document::webkitDidEnterFullScreenForElement):  Call setFullScreenRootLayer(0) 
14761            before disabling animation on the full screen renderer.
14762        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
14763        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
14764        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Register an observer for the new 
14765            WebKitLayerHostChanged notification.
14766        (WebCore::layerIsDescendentOf): Added.
14767        (WebCore::MediaPlayerPrivateQTKit::layerHostChanged): Added.  If the changed
14768            layer is an ancestor of the movie layer, tear down rendering and re-
14769            create the next time setVisible(true) is called.
14770        (-[WebCoreMovieObserver layerHostChanged:]):  Added ObjC listener wrapper.
14771
147722011-05-16  Adam Barth  <abarth@webkit.org>
14773
14774        Reviewed by Darin Adler.
14775
14776        Remove disable-javascript-urls CSP directive
14777        https://bugs.webkit.org/show_bug.cgi?id=60874
14778
14779        After talking this out with various folks in the CSP working group, we
14780        decided that this syntax isn't the right way to approach this issue.
14781        If we want to address the use case of enabling JavaScript URLs
14782        separately from inline script, we'll probably just make
14783
14784          script-src javascript:
14785
14786        work that way.
14787
14788        * page/ContentSecurityPolicy.cpp:
14789        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
14790        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
14791        (WebCore::ContentSecurityPolicy::addDirective):
14792        * page/ContentSecurityPolicy.h:
14793
147942011-05-16  Jon Lee  <jonlee@apple.com>
14795
14796       Reviewed by Simon Fraser.
14797
14798       Can't horizontally scroll iframes and overflow because wheel events are always accepted
14799       https://bugs.webkit.org/show_bug.cgi?id=60779
14800
14801       * dom/Document.cpp:
14802       (WebCore::Document::Document): Initialize wheel event handler count
14803       (WebCore::Document::didAddWheelEventHandler): Increment count, and tell the main frame
14804       to recalculate the total number of wheel event handlers in all of its frames' documents
14805       (WebCore::Document::didRemoveWheelEventHandler): Reverse of previous method
14806       * dom/Document.h:
14807       (WebCore::Document::wheelEventHandlerCount): Access the count
14808       * dom/Node.cpp:
14809       (WebCore::tryAddEventListener): If the event listener is a mouse wheel event, then
14810       tell the document to increment its count
14811       (WebCore::tryRemoveEventListener): Reverse of previous method
14812
14813       * page/ChromeClient.h: Two new methods:
14814         numWheelEventHandlersChanged: WebProcess tells UIProcess to update its cached
14815           count of total wheel event handlers, which in this case only include horizontal
14816           scrollbars and mouse wheel JS handlers
14817         shouldRubberBandInDirection: allow the UIProcess to provide some control over
14818           whether rubber banding is allowed when scrolling in a particular direction
14819       * loader/EmptyClients.h:
14820       (WebCore::EmptyChromeClient::numWheelEventHandlersChanged): Default empty impl
14821       (WebCore::EmptyChromeClient::shouldRubberBandInDirection): Default empty impl
14822       * page/EventHandler.cpp:
14823       (WebCore::EventHandler::handleWheelEvent): Remove a redundant pointer check
14824       * page/Frame.cpp:
14825       (WebCore::Frame::setDocument): When the frame's document changes, calculate that
14826       document's total wheel event handlers, and notify the UIProcess
14827       (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged): Performs a crawl
14828       of the frame tree to aggregate the count
14829       * page/Frame.h:
14830
14831       * platform/ScrollableArea.h: Virtualize didAddHorizontalScrollbar and
14832       willRemoveHorizontalScrollbar for overriding in RenderLayer and FrameView
14833       (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition): Returns true if there is
14834       no scrollbar or the scroller position is in the minimum scroll position.
14835       (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition): Converse of the above.
14836       (WebCore::ScrollableArea::shouldRubberBandInDirection): Default impl
14837       * page/FrameView.cpp:
14838       (WebCore::FrameView::didAddHorizontalScrollbar): Updates the frame's document's count
14839       (WebCore::FrameView::willRemoveHorizontalScrollbar): Updates the frame's document's
14840       count
14841       (WebCore::FrameView::shouldRubberBandInDirection): Connective glue
14842       * page/FrameView.h: Adding overriding methods from ScrollableArea
14843       * rendering/RenderLayer.cpp: Similar functionality to FrameView
14844       (WebCore::RenderLayer::didAddHorizontalScrollbar):
14845       (WebCore::RenderLayer::willRemoveHorizontalScrollbar):
14846       * rendering/RenderLayer.h:
14847       
14848       * platform/mac/ScrollAnimatorMac.h: Fix typo of "momentum"
14849       * platform/mac/ScrollAnimatorMac.mm:
14850       (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Fix typo of "momentum"
14851       (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): Fix typo of "coalesced"
14852       (WebCore::ScrollAnimatorMac::beginScrollGesture): Fix typo of "coalesced"
14853       (WebCore::ScrollAnimatorMac::snapRubberBand): Fix typo of "momentum"
14854       
14855       (WebCore::ScrollAnimatorMac::handleWheelEvent): New logic for determining whether
14856       to allow rubber-banding based on the area's scroll position and the wheel event.
14857       Could prevent accepting the wheel event. Also, fix typo of "momentum"
14858       (WebCore::isScrollingLeftAndShouldNotRubberBand): Inline helper function for logic
14859       (WebCore::isScrollingRightAndShouldNotRubberBand): Inline helper function for logic
14860
148612011-05-16  Leandro Gracia Gil  <leandrogracia@chromium.org>
14862
14863        Reviewed by Tony Gentilcore.
14864
14865        Media Stream API: add local stream requests.
14866        https://bugs.webkit.org/show_bug.cgi?id=60177
14867
14868        Add the code and messages for requesting the generation of local streams and getting the reply back.
14869
14870        Tests for the Media Stream API will be provided by the bug 56587.
14871        One test is re-enabled with this patch.
14872
14873        Test: fast/dom/MediaStream/argument-types.html
14874
14875        * GNUmakefile.list.am:
14876        * WebCore.gypi:
14877        * WebCore.pro:
14878        * WebCore.vcproj/WebCore.vcproj:
14879        * WebCore.xcodeproj/project.pbxproj:
14880        * page/CallbackTask.h: Added.
14881        (WebCore::CallbackTask1::create):
14882        (WebCore::CallbackTask1::performTask):
14883        (WebCore::CallbackTask1::Scheduler::scheduleCallback):
14884        (WebCore::CallbackTask1::CallbackTask1):
14885        * page/MediaStreamClient.h:
14886        * page/MediaStreamController.cpp:
14887        (WebCore::MediaStreamController::isClientAvailable):
14888        (WebCore::MediaStreamController::unregisterFrameController):
14889        (WebCore::MediaStreamController::registerRequest):
14890        (WebCore::MediaStreamController::registerStream):
14891        (WebCore::MediaStreamController::generateStream):
14892        (WebCore::MediaStreamController::streamGenerated):
14893        (WebCore::MediaStreamController::streamGenerationFailed):
14894        * page/MediaStreamController.h:
14895        * page/MediaStreamFrameController.cpp:
14896        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
14897        (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
14898        (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
14899        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
14900        (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
14901        (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
14902        (WebCore::::unregisterAll):
14903        (WebCore::::detachEmbedder):
14904        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
14905        (WebCore::MediaStreamFrameController::pageController):
14906        (WebCore::MediaStreamFrameController::unregister):
14907        (WebCore::MediaStreamFrameController::enterDetachedState):
14908        (WebCore::MediaStreamFrameController::isClientAvailable):
14909        (WebCore::MediaStreamFrameController::disconnectFrame):
14910        (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
14911        (WebCore::MediaStreamFrameController::generateStream):
14912        (WebCore::MediaStreamFrameController::streamGenerated):
14913        (WebCore::MediaStreamFrameController::streamGenerationFailed):
14914        * page/MediaStreamFrameController.h:
14915        (WebCore::MediaStreamFrameController::ClientBase::ClientBase):
14916        (WebCore::MediaStreamFrameController::ClientBase::~ClientBase):
14917        (WebCore::MediaStreamFrameController::ClientBase::mediaStreamFrameController):
14918        (WebCore::MediaStreamFrameController::ClientBase::clientId):
14919        (WebCore::MediaStreamFrameController::ClientBase::isStream):
14920        (WebCore::MediaStreamFrameController::ClientBase::isGeneratedStream):
14921        (WebCore::MediaStreamFrameController::ClientBase::detachEmbedder):
14922        (WebCore::MediaStreamFrameController::ClientBase::associateFrameController):
14923        (WebCore::MediaStreamFrameController::ClientBase::unregisterClient):
14924        (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
14925        (WebCore::MediaStreamFrameController::StreamClient::~StreamClient):
14926        (WebCore::MediaStreamFrameController::StreamClient::isStream):
14927        (WebCore::MediaStreamFrameController::StreamClient::unregister):
14928        (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
14929        (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
14930        (WebCore::MediaStreamFrameController::ClientMapBase::ClientMapBase):
14931        * page/Navigator.cpp:
14932        (WebCore::Navigator::webkitGetUserMedia):
14933        * page/NavigatorUserMediaErrorCallback.h:
14934
149352011-05-16  Pavel Podivilov  <podivilov@chromium.org>
14936
14937        Reviewed by Yury Semikhatsky.
14938
14939        Web Inspector: debuggerWasEnabled notification should not be send to front-end on navigation.
14940        https://bugs.webkit.org/show_bug.cgi?id=60888
14941
14942        * inspector/InspectorController.cpp:
14943        (WebCore::InspectorController::disableDebugger):
14944        * inspector/InspectorDebuggerAgent.cpp:
14945        (WebCore::InspectorDebuggerAgent::enable):
14946        (WebCore::InspectorDebuggerAgent::disable):
14947        (WebCore::InspectorDebuggerAgent::restore):
14948        (WebCore::InspectorDebuggerAgent::clearFrontend):
14949        * inspector/InspectorDebuggerAgent.h:
14950
149512011-05-16  Yury Semikhatsky  <yurys@chromium.org>
14952
14953        Unreviewed. Windows build fix.
14954
14955        * inspector/InspectorConsoleInstrumentation.h:
14956        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
14957
149582011-05-16  Yury Semikhatsky  <yurys@chromium.org>
14959
14960        Unreviewed. Build fix.
14961
14962        * inspector/InspectorInstrumentation.h:
14963        (WebCore::InspectorInstrumentation::willStartWorkerContext):
14964
149652011-05-11  Yury Semikhatsky  <yurys@chromium.org>
14966
14967        Reviewed by Pavel Feldman.
14968
14969        Web Inspector: use InstrumentingAgents to access agents from InspectorInstrumentation
14970        https://bugs.webkit.org/show_bug.cgi?id=60624
14971
14972        InspectorInstrumentation retrieves inspector agents from corresponding InstrumentingAgents
14973        instance. Each agent notifies InstrumentingAgents whenever it wants to receive notifications
14974        about changes in WebCore.
14975
14976        * inspector/InspectorAgent.cpp:
14977        (WebCore::InspectorAgent::InspectorAgent):
14978        (WebCore::InspectorAgent::inspectedPageDestroyed):
14979        * inspector/InspectorAgent.h:
14980        * inspector/InspectorConsoleInstrumentation.h:
14981        (WebCore::InspectorInstrumentation::addMessageToConsole):
14982        (WebCore::InspectorInstrumentation::consoleCount):
14983        (WebCore::InspectorInstrumentation::startConsoleTiming):
14984        (WebCore::InspectorInstrumentation::stopConsoleTiming):
14985        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
14986        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
14987        (WebCore::InspectorInstrumentation::addProfile):
14988        (WebCore::InspectorInstrumentation::profilerEnabled):
14989        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
14990        * inspector/InspectorController.cpp:
14991        (WebCore::InspectorController::InspectorController):
14992        (WebCore::InspectorController::inspectedPageDestroyed):
14993        (WebCore::InspectorController::didClearWindowObjectInWorld):
14994        (WebCore::InspectorController::inspectedPage):
14995        * inspector/InspectorController.h:
14996        * inspector/InspectorDatabaseInstrumentation.h: FAST_RETURN_IF_NO_FRONTENDS macros
14997        is used for early return in common case when inspector is not opened. In this
14998        case inspector instrumentation costs one additional check of a static field.
14999        (WebCore::InspectorInstrumentation::didOpenDatabase):
15000        * inspector/InspectorInstrumentation.cpp:
15001        (WebCore::InspectorInstrumentation::instrumentingAgents):
15002        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
15003        (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
15004        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
15005        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
15006        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
15007        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
15008        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
15009        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
15010        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
15011        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
15012        (WebCore::InspectorInstrumentation::handleMousePressImpl):
15013        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
15014        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
15015        (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
15016        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
15017        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
15018        (WebCore::InspectorInstrumentation::willCallFunctionImpl):
15019        (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
15020        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
15021        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
15022        (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
15023        (WebCore::InspectorInstrumentation::willFireTimerImpl):
15024        (WebCore::InspectorInstrumentation::willLayoutImpl):
15025        (WebCore::InspectorInstrumentation::willLoadXHRImpl):
15026        (WebCore::InspectorInstrumentation::willPaintImpl):
15027        (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
15028        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
15029        (WebCore::InspectorInstrumentation::willSendRequestImpl):
15030        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
15031        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
15032        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15033        (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
15034        (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
15035        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
15036        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
15037        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
15038        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
15039        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
15040        (WebCore::InspectorInstrumentation::scriptImportedImpl):
15041        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
15042        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
15043        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
15044        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
15045        (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
15046        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
15047        (WebCore::InspectorInstrumentation::consoleCountImpl):
15048        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
15049        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
15050        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
15051        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
15052        (WebCore::InspectorInstrumentation::addProfileImpl):
15053        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
15054        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
15055        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
15056        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
15057        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
15058        (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
15059        (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
15060        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
15061        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
15062        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
15063        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
15064        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
15065        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
15066        (WebCore::InspectorInstrumentation::hasFrontend):
15067        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
15068        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
15069        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
15070        * inspector/InspectorInstrumentation.h:
15071        (WebCore::InspectorInstrumentation::bindInstrumentingAgents):
15072        (WebCore::InspectorInstrumentation::unbindInstrumentingAgents):
15073        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
15074        (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
15075        (WebCore::InspectorInstrumentation::willInsertDOMNode):
15076        (WebCore::InspectorInstrumentation::didInsertDOMNode):
15077        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
15078        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
15079        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
15080        (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
15081        (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
15082        (WebCore::InspectorInstrumentation::handleMousePress):
15083        (WebCore::InspectorInstrumentation::characterDataModified):
15084        (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
15085        (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
15086        (WebCore::InspectorInstrumentation::didInstallTimer):
15087        (WebCore::InspectorInstrumentation::didRemoveTimer):
15088        (WebCore::InspectorInstrumentation::willCallFunction):
15089        (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
15090        (WebCore::InspectorInstrumentation::willDispatchEvent):
15091        (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
15092        (WebCore::InspectorInstrumentation::willEvaluateScript):
15093        (WebCore::InspectorInstrumentation::willFireTimer):
15094        (WebCore::InspectorInstrumentation::willLayout):
15095        (WebCore::InspectorInstrumentation::willLoadXHR):
15096        (WebCore::InspectorInstrumentation::willPaint):
15097        (WebCore::InspectorInstrumentation::willRecalculateStyle):
15098        (WebCore::InspectorInstrumentation::applyUserAgentOverride):
15099        (WebCore::InspectorInstrumentation::willSendRequest):
15100        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
15101        (WebCore::InspectorInstrumentation::markResourceAsCached):
15102        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
15103        (WebCore::InspectorInstrumentation::willReceiveResourceData):
15104        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
15105        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
15106        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
15107        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
15108        (WebCore::InspectorInstrumentation::didReceiveContentLength):
15109        (WebCore::InspectorInstrumentation::didFinishLoading):
15110        (WebCore::InspectorInstrumentation::didFailLoading):
15111        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
15112        (WebCore::InspectorInstrumentation::scriptImported):
15113        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
15114        (WebCore::InspectorInstrumentation::loadEventFired):
15115        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
15116        (WebCore::InspectorInstrumentation::didCommitLoad):
15117        (WebCore::InspectorInstrumentation::willWriteHTML):
15118        (WebCore::InspectorInstrumentation::didUseDOMStorage):
15119        (WebCore::InspectorInstrumentation::willStartWorkerContext):
15120        (WebCore::InspectorInstrumentation::didStartWorkerContext):
15121        (WebCore::InspectorInstrumentation::didCreateWorker):
15122        (WebCore::InspectorInstrumentation::didDestroyWorker):
15123        (WebCore::InspectorInstrumentation::didCreateWebSocket):
15124        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
15125        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
15126        (WebCore::InspectorInstrumentation::didCloseWebSocket):
15127        (WebCore::InspectorInstrumentation::networkStateChanged):
15128        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
15129        (WebCore::InspectorInstrumentation::hasFrontend):
15130        (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
15131        (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
15132        (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
15133        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForFrame):
15134        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForPage):
15135        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForContext):
15136        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForDocument):
15137
151382011-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
15139
15140        Reviewed by Pavel Feldman.
15141
15142        Web Inspector: Move Resources Panel search to backend
15143        https://bugs.webkit.org/show_bug.cgi?id=59596
15144
15145        * inspector/Inspector.json:
15146        * inspector/InspectorPageAgent.cpp:
15147        (WebCore::decodeMainResource):
15148        (WebCore::InspectorPageAgent::resourceContent):
15149        (WebCore::cachedResourcesForFrame):
15150        (WebCore::InspectorPageAgent::getCookies):
15151        (WebCore::InspectorPageAgent::deleteCookie):
15152        (WebCore::createSearchRegexSource):
15153        (WebCore::countRegularExpressionMatches):
15154        (WebCore::buildObjectForSearchMatch):
15155        (WebCore::InspectorPageAgent::searchInResources):
15156        (WebCore::InspectorPageAgent::domContentEventFired):
15157        (WebCore::InspectorPageAgent::loadEventFired):
15158        (WebCore::InspectorPageAgent::frameNavigated):
15159        (WebCore::InspectorPageAgent::frameDetached):
15160        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
15161        * inspector/InspectorPageAgent.h:
15162        * inspector/front-end/ResourcesPanel.js:
15163        (WebInspector.ResourcesPanel.prototype._showResourceView):
15164        (WebInspector.ResourcesPanel.prototype.performSearch.searchInEditedResource):
15165        (WebInspector.ResourcesPanel.prototype.performSearch.callback):
15166        (WebInspector.ResourcesPanel.prototype.performSearch):
15167        (WebInspector.ResourcesPanel.prototype._ensureViewSearchPerformed):
15168        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
15169        (WebInspector.ResourcesPanel.prototype._showSearchResult):
15170        (WebInspector.ResourcesPanel.prototype._resetSearchResults):
15171        (WebInspector.ResourcesPanel.prototype.searchCanceled):
15172        (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
15173        (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
15174        (WebInspector.FrameTreeElement.prototype.resourceByURL):
15175        (WebInspector.FrameResourceTreeElement.prototype._resetSearchResults):
15176        (WebInspector.FrameResourceTreeElement.prototype.get searchMatchesCount):
15177        (WebInspector.FrameResourceTreeElement.prototype.searchMatchesFound):
15178        (WebInspector.ResourcesSearchController):
15179        (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
15180        (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
15181        (WebInspector.ResourcesSearchController.prototype._searchResult):
15182        (WebInspector.SearchResultsTreeElementsTraverser):
15183        (WebInspector.SearchResultsTreeElementsTraverser.prototype.first):
15184        (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
15185        (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
15186        (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
15187        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
15188        (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementHasSearchResults):
15189        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
15190        (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
15191        * inspector/front-end/SourceFrame.js:
15192        (WebInspector.SourceFrame.createSearchRegex):
15193        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
15194        (WebInspector.SourceFrame.prototype.performSearch):
15195        (WebInspector.SourceFrame.prototype.hasSearchResults):
15196        (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
15197        (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
15198        (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
15199        (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
15200        (WebInspector.SourceFrame.prototype.jumpToSearchResult):
15201        (WebInspector.SourceFrame.prototype._collectRegexMatches):
15202        * inspector/front-end/utilities.js:
15203        ():
15204
152052011-05-16  Andreas Kling  <kling@webkit.org>
15206
15207        Reviewed by Darin Adler.
15208
15209        CSS: Fast path for 'px' lengths should be case-insensitive.
15210        https://bugs.webkit.org/show_bug.cgi?id=60703
15211
15212        No new tests, this is an optimization that avoids creating
15213        a full CSSParser to parse the value.
15214
15215        * css/CSSParser.cpp:
15216        (WebCore::parseSimpleLengthValue):
15217
152182011-05-16  Naiem Shaik  <naiem.shaik@gmail.com>
15219
15220        Reviewed by Adam Barth.
15221
15222        This is for fixing build break in webgl due to https://bugs.webkit.org/show_bug.cgi?id=59861
15223        The bug raised for fixing this is https://bugs.webkit.org/show_bug.cgi?id=60867
15224
15225        No new tests. This does not change any functionality.
15226
15227        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
15228        (WebCore::GraphicsContext3D::create):
15229        * platform/graphics/gtk/GraphicsContext3DInternal.cpp:
15230        (WebCore::GraphicsContext3DInternal::create):
15231        * platform/graphics/gtk/GraphicsContext3DInternal.h:
15232
152332011-05-16  Pavel Feldman  <pfeldman@chromium.org>
15234
15235        Reviewed by Yury Semikhatsky.
15236
15237        Web Inspector: parse edited attributes by means of InspectorDOMAgent.
15238        https://bugs.webkit.org/show_bug.cgi?id=60807
15239
15240        This change moves attribute parsing from the front-end to the backend. 
15241
15242        * inspector/InspectorDOMAgent.cpp:
15243        (WebCore::InspectorDOMAgent::setAttribute):
15244        * inspector/front-end/DOMAgent.js:
15245        (WebInspector.DOMNode.prototype.setAttribute):
15246        * inspector/front-end/ElementsTreeOutline.js:
15247        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
15248        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
15249
152502011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
15251
15252        Not reviewed.
15253
15254        Switch from Vector<UChar> to StringBuilder in dom/
15255        https://bugs.webkit.org/show_bug.cgi?id=57843
15256
15257        Incorporate comment from Darin/Andreas.
15258
15259        * dom/DatasetDOMStringMap.cpp:
15260        (WebCore::convertAttributeNameToPropertyName): Use 'character' local, instead of charaters[i].
15261        (WebCore::convertPropertyNameToAttributeName): Ditto.
15262
152632011-05-16  Alexander Pavlov  <apavlov@chromium.org>
15264
15265        Reviewed by Pavel Feldman.
15266
15267        Web Inspector: Fix SourceJavaScriptTokenizer keyword parsing
15268        https://bugs.webkit.org/show_bug.cgi?id=60773
15269
15270        * inspector/front-end/SourceJavaScriptTokenizer.js:
15271        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
15272        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
15273
152742011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
15275
15276        Reviewed by Darin Adler.
15277
15278        Switch from Vector<UChar> to StringBuilder in dom/
15279        https://bugs.webkit.org/show_bug.cgi?id=57843
15280
15281        * dom/DatasetDOMStringMap.cpp:
15282        (WebCore::convertAttributeNameToPropertyName):
15283        (WebCore::convertPropertyNameToAttributeName):
15284        * dom/Range.cpp:
15285        (WebCore::Range::toString):
15286        * dom/ScriptElement.cpp:
15287        (WebCore::ScriptElement::scriptContent):
15288
152892011-05-05  Pavel Podivilov  <podivilov@chromium.org>
15290
15291        Reviewed by Pavel Feldman.
15292
15293        Web Inspector: move double click handling from TextEditor to SourceFrame.
15294        https://bugs.webkit.org/show_bug.cgi?id=60271
15295
15296        It is SourceFrame's responsibility to check if content is editable and
15297        to configure TextEditor component (e.g. set editable range) when user
15298        tries to initiate editing.
15299
15300        * inspector/front-end/ResourceView.js:
15301        (WebInspector.ResourceSourceFrame.prototype.doubleClick):
15302        (WebInspector.RevisionSourceFrame.prototype.doubleClick):
15303        * inspector/front-end/SourceFrame.js:
15304        (WebInspector.SourceFrame.prototype.beforeTextChanged):
15305        (WebInspector.SourceFrame.prototype.afterTextChanged):
15306        (WebInspector.SourceFrame.prototype.doubleClick):
15307        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
15308        (WebInspector.SourceFrame.prototype.commitEditing):
15309        (WebInspector.SourceFrame.prototype.cancelEditing):
15310        (WebInspector.SourceFrame.prototype._setReadOnly):
15311        * inspector/front-end/TextViewer.js:
15312        (WebInspector.TextViewer.prototype.set readOnly):
15313        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
15314        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
15315        (WebInspector.TextViewer.prototype._doubleClick):
15316        (WebInspector.TextViewer.prototype._commitEditing):
15317        (WebInspector.TextViewer.prototype._cancelEditing):
15318        (WebInspector.TextViewerDelegate.prototype.doubleClick):
15319        (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
15320        (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
15321
153222011-05-15  Robert Hogan  <robert@webkit.org>
15323
15324        Reviewed by Yury Semikhatsky.
15325
15326        [Qt] Fix crash in inspector/console/console-long-eval-crash.html
15327        https://bugs.webkit.org/show_bug.cgi?id=60858
15328
15329        The client may be gone when sendMessageToBackend() is called.
15330
15331        * inspector/InspectorFrontendHost.cpp:
15332        (WebCore::InspectorFrontendHost::sendMessageToBackend):
15333
153342011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
15335
15336        Reviewed by Dirk Schulze.
15337
15338        Replace direct StringConcatenate usage, by using operator+ (again)
15339        https://bugs.webkit.org/show_bug.cgi?id=60700
15340
15341        Remove makeString() usage everywhere, instead directly use operator+.
15342
15343        * accessibility/AccessibilityObject.cpp:
15344        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
15345        * bindings/js/JSDOMWindowBase.cpp:
15346        * bindings/js/ScriptDebugServer.cpp:
15347        (WebCore::ScriptDebugServer::setBreakpoint):
15348        * bindings/v8/V8Proxy.cpp:
15349        (WebCore::V8Proxy::reportUnsafeAccessTo):
15350        * css/CSSMutableStyleDeclaration.cpp:
15351        (WebCore::CSSMutableStyleDeclaration::borderSpacingValue):
15352        * dom/ExceptionBase.cpp:
15353        (WebCore::ExceptionBase::ExceptionBase):
15354        * dom/XMLDocumentParser.cpp:
15355        (WebCore::XMLDocumentParser::handleError):
15356        * html/FTPDirectoryDocument.cpp:
15357        (WebCore::processFileDateString):
15358        * inspector/CodeGeneratorInspector.pm:
15359        * inspector/InspectorConsoleAgent.cpp:
15360        (WebCore::InspectorConsoleAgent::count):
15361        (WebCore::InspectorConsoleAgent::didReceiveResponse):
15362        * inspector/InspectorDOMAgent.cpp:
15363        * inspector/InspectorDOMDebuggerAgent.cpp:
15364        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
15365        * inspector/InspectorDebuggerAgent.cpp:
15366        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
15367        (WebCore::InspectorDebuggerAgent::setBreakpoint):
15368        * loader/FrameLoader.cpp:
15369        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
15370        (WebCore::FrameLoader::checkIfRunInsecureContent):
15371        (WebCore::FrameLoader::shouldAllowNavigation):
15372        * loader/archive/cf/LegacyWebArchive.cpp:
15373        (WebCore::LegacyWebArchive::createFromSelection):
15374        * loader/cache/CachedResourceLoader.cpp:
15375        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
15376        * page/ContentSecurityPolicy.cpp:
15377        (WebCore::CSPDirective::CSPDirective):
15378        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
15379        * page/DOMWindow.cpp:
15380        (WebCore::DOMWindow::postMessageTimerFired):
15381        (WebCore::DOMWindow::crossDomainAccessErrorMessage):
15382        * page/PageSerializer.cpp:
15383        (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
15384        (WebCore::SerializerMarkupAccumulator::appendElement):
15385        (WebCore::PageSerializer::urlForBlankFrame):
15386        * page/PrintContext.cpp:
15387        (WebCore::PrintContext::pageProperty):
15388        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
15389        * platform/efl/PlatformKeyboardEventEfl.cpp:
15390        (WebCore::createKeyMap):
15391        (WebCore::createWindowsKeyMap):
15392        * platform/efl/RenderThemeEfl.cpp:
15393        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
15394        * platform/graphics/GraphicsLayer.cpp:
15395        (WebCore::GraphicsLayer::animationNameForTransition):
15396        * platform/graphics/brew/ImageBrew.cpp:
15397        (WebCore::Image::loadPlatformResource):
15398        * platform/graphics/ca/GraphicsLayerCA.cpp:
15399        (WebCore::animationIdentifier):
15400        * platform/graphics/cg/ImageBufferCG.cpp:
15401        (WebCore::CGImageToDataURL):
15402        * platform/graphics/gtk/ImageBufferGtk.cpp:
15403        (WebCore::ImageBuffer::toDataURL):
15404        * platform/graphics/haiku/ImageBufferHaiku.cpp:
15405        (WebCore::ImageBuffer::toDataURL):
15406        * platform/graphics/qt/ImageBufferQt.cpp:
15407        (WebCore::ImageBuffer::toDataURL):
15408        * platform/graphics/skia/ImageBufferSkia.cpp:
15409        (WebCore::ImageToDataURL):
15410        * platform/network/CredentialStorage.cpp:
15411        (WebCore::originStringFromURL):
15412        * platform/network/cf/SocketStreamHandleCFNet.cpp:
15413        (WebCore::SocketStreamHandle::reportErrorToClient):
15414        * platform/sql/SQLiteDatabase.cpp:
15415        (WebCore::SQLiteDatabase::setSynchronous):
15416        * platform/text/wince/TextCodecWinCE.cpp:
15417        (WebCore::LanguageManager::LanguageManager):
15418        * platform/win/ClipboardUtilitiesWin.cpp:
15419        * platform/win/ClipboardWin.cpp:
15420        (WebCore::ClipboardWin::writeURL):
15421        * platform/win/FileSystemWin.cpp:
15422        (WebCore::listDirectory):
15423        * platform/win/LanguageWin.cpp:
15424        (WebCore::platformDefaultLanguage):
15425        * platform/win/PathWalker.cpp:
15426        (WebCore::PathWalker::PathWalker):
15427        * platform/win/SystemInfo.cpp:
15428        (WebCore::osVersionForUAString):
15429        (WebCore::windowsVersionForUAString):
15430        * plugins/PluginStream.cpp:
15431        (WebCore::PluginStream::startStream):
15432        * svg/SVGAngle.cpp:
15433        (WebCore::SVGAngle::valueAsString):
15434        * svg/SVGLength.cpp:
15435        (WebCore::SVGLength::valueAsString):
15436        * svg/SVGPaint.cpp:
15437        (WebCore::SVGPaint::cssText):
15438        * svg/SVGPointList.cpp:
15439        (WebCore::SVGPointList::valueAsString):
15440        * svg/SVGPreserveAspectRatio.cpp:
15441        (WebCore::SVGPreserveAspectRatio::valueAsString):
15442        * svg/SVGTransform.cpp:
15443        (WebCore::SVGTransform::valueAsString):
15444        * svg/SVGTransformList.cpp:
15445        * svg/SVGUseElement.cpp:
15446        (WebCore::dumpInstanceTree):
15447        * websockets/WebSocket.cpp:
15448        (WebCore::WebSocket::connect):
15449        * websockets/WebSocketChannel.cpp:
15450        (WebCore::WebSocketChannel::didFail):
15451        (WebCore::WebSocketChannel::appendToBuffer):
15452        * websockets/WebSocketHandshake.cpp:
15453        (WebCore::WebSocketHandshake::readServerHandshake):
15454
154552011-05-12  Yury Semikhatsky  <yurys@chromium.org>
15456
15457        Reviewed by Pavel Feldman.
15458
15459        Web Inspector: inspector console should be searchable
15460        https://bugs.webkit.org/show_bug.cgi?id=60711
15461
15462        Search now works for Console panel. It shows number of matching console entries
15463        and allows to jump to the next matching console entry. Also the matches count
15464        is dynamically updated when new messages are added to the console.
15465
15466        ResourceTreeModel and DebuggerPresentationModel now listen to console events instead
15467        of being called directly from ConsoleView.
15468
15469        * inspector/front-end/ConsolePanel.js:
15470        (WebInspector.ConsolePanel):
15471        (WebInspector.ConsolePanel.prototype.show):
15472        (WebInspector.ConsolePanel.prototype.hide):
15473        (WebInspector.ConsolePanel.prototype.searchCanceled):
15474        (WebInspector.ConsolePanel.prototype.performSearch):
15475        (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
15476        (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
15477        (WebInspector.ConsolePanel.prototype._clearCurrentSearchResultHighlight):
15478        (WebInspector.ConsolePanel.prototype._jumpToSearchResult):
15479        (WebInspector.ConsolePanel.prototype._consoleMessageAdded):
15480        (WebInspector.ConsolePanel.prototype._consoleCleared):
15481        * inspector/front-end/ConsoleView.js:
15482        (WebInspector.ConsoleView.prototype.addMessage):
15483        (WebInspector.ConsoleView.prototype.clearMessages):
15484        (WebInspector.ConsoleMessage.prototype.clearHighlight):
15485        (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
15486        (WebInspector.ConsoleMessage.prototype.matchesRegex):
15487        (WebInspector.ConsoleMessage.prototype.toMessageElement):
15488        (WebInspector.ConsoleCommand.prototype.clearHighlight):
15489        (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
15490        (WebInspector.ConsoleCommand.prototype.matchesRegex):
15491        (WebInspector.ConsoleCommand.prototype.toMessageElement):
15492        (WebInspector.ConsoleCommand.prototype._formatCommand):
15493        * inspector/front-end/DebuggerPresentationModel.js:
15494        (WebInspector.DebuggerPresentationModel):
15495        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
15496        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
15497        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
15498        * inspector/front-end/ResourceTreeModel.js:
15499        (WebInspector.ResourceTreeModel):
15500        (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
15501        * inspector/front-end/ScriptsPanel.js:
15502        (WebInspector.ScriptsPanel):
15503        (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
15504        * inspector/front-end/utilities.js:
15505        ():
15506
155072011-05-16  Adam Barth  <abarth@webkit.org>
15508
15509        [Qt] QtPlatformPlugin create methods should use PassOwnPtr
15510        https://bugs.webkit.org/show_bug.cgi?id=60873
15511
15512        * plugins/qt/PluginViewQt.cpp:
15513        (WebCore::PluginView::platformStart):
15514
155152011-05-15  Adam Barth  <abarth@webkit.org>
15516
15517        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
15518
15519        * platform/graphics/qt/GraphicsLayerQt.cpp:
15520        (WebCore::GraphicsLayerQt::GraphicsLayerQt):
15521        (WebCore::GraphicsLayer::create):
15522
155232011-05-15  Adam Barth  <abarth@webkit.org>
15524
15525        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
15526
15527        * platform/text/qt/TextCodecQt.cpp:
15528        (WebCore::newTextCodecQt):
15529
155302011-05-15  Adam Barth  <abarth@webkit.org>
15531
15532        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
15533
15534        * platform/network/qt/QNetworkReplyHandler.cpp:
15535        (WebCore::QNetworkReplyWrapper::release):
15536        (WebCore::QNetworkReplyWrapper::receiveMetaData):
15537        (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
15538        (WebCore::QNetworkReplyHandler::release):
15539        (WebCore::QNetworkReplyHandler::finish):
15540        (WebCore::QNetworkReplyHandler::redirect):
15541        (WebCore::QNetworkReplyHandler::start):
15542
155432011-05-15  Adam Barth  <abarth@webkit.org>
15544
15545        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
15546
15547        * dom/XMLDocumentParserQt.cpp:
15548        (WebCore::XMLDocumentParser::doEnd):
15549
155502011-05-15  Kenichi Ishibashi  <bashi@chromium.org>
15551
15552        Reviewed by Kent Tamura.
15553
15554        <output>, <meter> and <progress> elements with display:block can be focused if you try to tab to it
15555        https://bugs.webkit.org/show_bug.cgi?id=60602
15556
15557        HTMLFormControlElement::isFocusable() returns true when the element is
15558        visible as a block element.  However, for output, meter, and progress
15559        elements, the function should not return true unless they have
15560        tabindex attributes.  Override supportsFocus() of these elements to
15561        apply the result of Node::supportsFocus() because it takes care of
15562        whether the element has tabindex or not.
15563
15564        Test: fast/forms/focus-with-display-block.html
15565
15566        * html/HTMLFormControlElement.h: Made supportsFocus() protected.
15567        * html/HTMLMeterElement.cpp:
15568        (WebCore::HTMLMeterElement::supportsFocus): Added.
15569        * html/HTMLMeterElement.h:
15570        * html/HTMLOutputElement.cpp:
15571        (WebCore::HTMLOutputElement::supportsFocus): Added.
15572        * html/HTMLOutputElement.h:
15573        * html/HTMLProgressElement.cpp:
15574        (WebCore::HTMLProgressElement::supportsFocus): Added.
15575        * html/HTMLProgressElement.h:
15576
155772011-05-15  Jon Lee  <jonlee@apple.com>
15578
15579        Reviewed by Dan Bernstein.
15580
15581        Missing migration from Editor::TextCheckingOptions to TextCheckingType in SpellingCorrectionController.cpp
15582        https://bugs.webkit.org/show_bug.cgi?id=60870
15583
15584        * editing/SpellingCorrectionController.cpp:
15585        (WebCore::SpellingCorrectionController::correctionPanelTimerFired): Migrating to using TextCheckingType
15586
155872011-05-15  Geoffrey Garen  <ggaren@apple.com>
15588
15589        Reviewed by Gavin Barraclough.
15590
15591        https://bugs.webkit.org/show_bug.cgi?id=59699
15592        Global object is recreated on teardown, for no good reason
15593        
15594        (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
15595        ~7% slower in browser than on command line (was 17%))
15596        
15597        I'm basically rolling out http://trac.webkit.org/changeset/49786 because
15598
15599        (a) it created this performance problem
15600        
15601        and
15602        
15603        (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
15604        was committed in http://trac.webkit.org/changeset/53439.
15605        
15606        Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.
15607
15608        * page/Frame.cpp:
15609        (WebCore::Frame::~Frame): Don't create a new window every time we destroy
15610        a frame.
15611
156122011-05-12  MORITA Hajime  <morrita@google.com>
15613
15614        ShadowContentElement should affect the order of renderer children
15615        https://bugs.webkit.org/show_bug.cgi?id=59157
15616
15617        Introduced ShadowContentSelector to collect and forward content
15618        children for each ShadowContentElement. ShadowRoot collects child
15619        nodes of its host (we call these children "content children"), and
15620        the descendant ShadowContentElement pulls that these content
15621        children and put it under its child during
15622        ShadowContentElement::attach().
15623        
15624        Content children no longer create its renderer during its normal
15625        attach() phase (called "light" phase). And they create it during
15626        attach() as a content children instead (called "forwarded phase").
15627        These phases are detected by NodeRendererFactory and represented
15628        as NodeRendererFactory::AttachPhase value AttachContentLight and
15629        AttachContentForwarded.
15630        
15631        Tests: fast/html/details-add-details-child-1.html
15632               fast/html/details-add-details-child-2.html
15633               fast/html/details-nested-1.html
15634               fast/html/details-nested-2.html
15635
15636        * dom/Element.cpp:
15637        (WebCore::Element::attach):
15638        (WebCore::Element::childrenChanged):
15639        * dom/Node.cpp:
15640        (WebCore::NodeRendererFactory::NodeRendererFactory):
15641        (WebCore::NodeRendererFactory::shouldCreateRenderer):
15642        (WebCore::NodeRendererFactory::nextRenderer):
15643        (WebCore::NodeRendererFactory::createRendererIfNeeded):
15644        * dom/ShadowRoot.cpp:
15645        (WebCore::forceReattach):
15646        (WebCore::ShadowContentSelector::shadowRoot):
15647        (WebCore::ShadowContentSelector::activeElement):
15648        (WebCore::ShadowContentSelector::currentInstance):
15649        (WebCore::ShadowContentSelector::ShadowContentSelector):
15650        (WebCore::ShadowContentSelector::~ShadowContentSelector):
15651        (WebCore::ShadowContentSelector::attachChildrenFor):
15652        (WebCore::ShadowContentElement::attach):
15653        (WebCore::ShadowRoot::recalcStyle):
15654        (WebCore::ShadowRoot::activeContentContainer):
15655        (WebCore::ShadowRoot::hostChildrenChanged):
15656        (WebCore::ShadowRoot::attach):
15657        * dom/ShadowRoot.h:
15658        * html/shadow/ShadowContentElement.h:
15659        (WebCore::ShadowContentElement::rendererIsNeeded):
15660        * rendering/RenderDetails.cpp:
15661        * rendering/RenderDetails.h:
15662
156632011-05-13  MORITA Hajime  <morrita@google.com>
15664
15665        Reviewed by Ryosuke Niwa.
15666
15667        Refactoring: Editor::TextCheckingOptions should be replaced with TextCheckingType
15668        https://bugs.webkit.org/show_bug.cgi?id=57088
15669
15670        Removed Editor::TextCheckingOptions and replaced it with TextCheckingTypeMask
15671        No new tests, no behavior change.
15672
15673        * editing/Editor.cpp:
15674        (WebCore::Editor::replaceSelectionWithFragment):
15675        (WebCore::Editor::markMisspellingsAfterTypingToWord):
15676        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
15677        (WebCore::Editor::markMisspellingsAndBadGrammar):
15678        (WebCore::Editor::resolveTextCheckingTypeMask):
15679        * editing/Editor.h:
15680        * platform/text/TextChecking.h: Added TextCheckingTypeShowCorrectionPanel
15681
156822011-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
15683
15684        Reviewed by Yury Semikhatsky.
15685
15686        Web Inspector: chromium renderer crash at eval in console.
15687
15688        https://bugs.webkit.org/show_bug.cgi?id=60616
15689        Renderer of inspected page is crashing when modal dialog
15690        has been opened via console eval and page is reloaded.
15691
15692        Test: inspector/console/console-long-eval-crash.html
15693
15694        * inspector/CodeGeneratorInspector.pm:
15695        * inspector/InspectorController.cpp:
15696        (WebCore::InspectorController::connectFrontend):
15697        (WebCore::InspectorController::dispatchMessageFromFrontend):
15698        * inspector/InspectorController.h:
15699
157002011-05-15  Eric Carlson  <eric.carlson@apple.com>
15701
15702        Reviewed by Maciej Stachowiak.
15703
15704        Use new AVAssetReferenceRestrictions to prevent cross site media references
15705        https://bugs.webkit.org/show_bug.cgi?id=60791
15706        <rdar://problem/9374202>
15707
15708        Test: http/tests/media/video-cross-site.html
15709
15710        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
15711        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Set restriction
15712            to prevent cross-domain references from being followed.
15713
157142011-05-15  Arno Renevier  <arno@renevier.net>
15715
15716        Reviewed by Darin Adler.
15717
15718        remove unecessary includes from Source/WebCore/html/HTMLFrameElementBase.cpp
15719        https://bugs.webkit.org/show_bug.cgi?id=60775
15720
15721        No new tests. This change only impacts compilation.
15722
15723        * html/HTMLFrameElementBase.cpp:
15724
157252011-05-14  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
15726
15727        Reviewed by Kevin Ollivier.
15728
15729        [wx] Fix strokeArc and fillRoundedRect drawing, and add clipPath support.
15730        
15731        https://bugs.webkit.org/show_bug.cgi?id=60847
15732
15733        * platform/graphics/wx/GraphicsContextWx.cpp:
15734        (WebCore::GraphicsContext::strokeArc):
15735        (WebCore::GraphicsContext::clipConvexPolygon):
15736        (WebCore::GraphicsContext::fillRoundedRect):
15737        (WebCore::GraphicsContext::drawFocusRing):
15738        (WebCore::GraphicsContext::clipOut):
15739        (WebCore::GraphicsContext::clipPath):
15740        (WebCore::GraphicsContext::clip):
15741        (WebCore::GraphicsContext::addInnerRoundedRectClip):
15742
157432011-05-14  Eric Carlson  <eric.carlson@apple.com>
15744
15745        Reviewed by Dan Bernstein.
15746
15747        HTTP video-on-demand streams frequently have live stream UI
15748        https://bugs.webkit.org/show_bug.cgi?id=60849
15749        <rdar://problem/9440502>
15750
15751        No new tests, we don't currently have tests for http live streams. Changes verified manually.
15752
15753        * html/HTMLMediaElement.cpp:
15754        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Reset the media controls so
15755            a duration change which identifies a format will be picked up.
15756        (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): New, reset media controls
15757            so they can be reconfigured for the media file characteristics.
15758        * html/HTMLMediaElement.h:
15759
15760        * platform/graphics/MediaPlayer.cpp:
15761        (WebCore::MediaPlayer::characteristicChanged): New, pass through to the element.
15762        * platform/graphics/MediaPlayer.h:
15763        (WebCore::MediaPlayerClient::mediaPlayerCharacteristicChanged):
15764
15765        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
15766        (WebCore::MediaPlayerPrivateAVFoundation::setHasVideo): Call characteristicChanged when
15767            setting changes.
15768        (WebCore::MediaPlayerPrivateAVFoundation::setHasAudio): Ditto.
15769        (WebCore::MediaPlayerPrivateAVFoundation::setHasClosedCaptions): Ditto.
15770        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Move the duration
15771            change notification logic to invalidateCachedDuration.
15772        (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): New, invalidate
15773            the cached duration and notify the element when it changes.
15774        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call invalidateCachedDuration
15775            for the DurationChanged notification.
15776        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Define DurationChanged.
15777
15778        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
15779        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't check asset or
15780            item duration until they have been loaded.
15781        (WebCore::itemKVOProperties): Listen for duration change.
15782        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with
15783            duration change notification.
15784
157852011-05-14  Abhishek Arya  <inferno@chromium.org>
15786
15787        Reviewed by Dan Bernstein.
15788
15789        As per spec, only allow one font family name in a font face rule.
15790        Other things like initial value, inherited value or multiple names
15791        are discarded.
15792        https://bugs.webkit.org/show_bug.cgi?id=60837
15793
15794        Test: fast/css/invalid-font-family-in-font-face-crash.html
15795
15796        * css/CSSParser.cpp:
15797        (WebCore::CSSParser::createFontFaceRule):
15798
157992011-05-13  Oliver Hunt  <oliver@apple.com>
15800
15801        Reviewed by Geoffrey Garen.
15802
15803        Make GC validation more aggressive
15804        https://bugs.webkit.org/show_bug.cgi?id=60802
15805
15806        This makes GC_VALIDATION much more aggressive in webcore,
15807        adding logic to every visitChildren method to ensure that
15808        the structure still has correct flags.
15809
15810        Additionally every function generated for the dom bindings
15811        makes use of the new GC_VALIDATION object assertions to further
15812        ensure that the object appears to be sensible.
15813
15814        * bindings/js/JSAttrCustom.cpp:
15815        (WebCore::JSAttr::visitChildren):
15816        * bindings/js/JSAudioContextCustom.cpp:
15817        (WebCore::JSAudioContext::visitChildren):
15818        * bindings/js/JSCSSRuleCustom.cpp:
15819        (WebCore::JSCSSRule::visitChildren):
15820        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15821        (WebCore::JSCSSStyleDeclaration::visitChildren):
15822        * bindings/js/JSCanvasRenderingContextCustom.cpp:
15823        (WebCore::JSCanvasRenderingContext::visitChildren):
15824        * bindings/js/JSDOMGlobalObject.cpp:
15825        (WebCore::JSDOMGlobalObject::visitChildren):
15826        (WebCore::JSDOMGlobalObject::setInjectedScript):
15827        * bindings/js/JSDOMWindowCustom.cpp:
15828        (WebCore::JSDOMWindow::visitChildren):
15829        * bindings/js/JSDOMWindowShell.cpp:
15830        (WebCore::JSDOMWindowShell::visitChildren):
15831        * bindings/js/JSEventListener.cpp:
15832        (WebCore::JSEventListener::JSEventListener):
15833        * bindings/js/JSEventListener.h:
15834        (WebCore::JSEventListener::jsFunction):
15835        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
15836        (WebCore::JSJavaScriptAudioNode::visitChildren):
15837        * bindings/js/JSMessageChannelCustom.cpp:
15838        (WebCore::JSMessageChannel::visitChildren):
15839        * bindings/js/JSMessagePortCustom.cpp:
15840        (WebCore::JSMessagePort::visitChildren):
15841        * bindings/js/JSNamedNodeMapCustom.cpp:
15842        (WebCore::JSNamedNodeMap::visitChildren):
15843        * bindings/js/JSNodeCustom.cpp:
15844        (WebCore::JSNode::visitChildren):
15845        * bindings/js/JSNodeFilterCustom.cpp:
15846        (WebCore::JSNodeFilter::visitChildren):
15847        * bindings/js/JSNodeIteratorCustom.cpp:
15848        (WebCore::JSNodeIterator::visitChildren):
15849        * bindings/js/JSSVGElementInstanceCustom.cpp:
15850        (WebCore::JSSVGElementInstance::visitChildren):
15851        * bindings/js/JSSharedWorkerCustom.cpp:
15852        (WebCore::JSSharedWorker::visitChildren):
15853        * bindings/js/JSStyleSheetCustom.cpp:
15854        (WebCore::JSStyleSheet::visitChildren):
15855        * bindings/js/JSTreeWalkerCustom.cpp:
15856        (WebCore::JSTreeWalker::visitChildren):
15857        * bindings/js/JSWebGLRenderingContextCustom.cpp:
15858        (WebCore::JSWebGLRenderingContext::visitChildren):
15859        * bindings/js/JSWorkerContextCustom.cpp:
15860        (WebCore::JSWorkerContext::visitChildren):
15861        * bindings/js/JSXMLHttpRequestCustom.cpp:
15862        (WebCore::JSXMLHttpRequest::visitChildren):
15863        * bindings/js/JSXPathResultCustom.cpp:
15864        (WebCore::JSXPathResult::visitChildren):
15865        * bindings/scripts/CodeGeneratorJS.pm:
15866
158672011-05-13  Oliver Hunt  <oliver@apple.com>
15868
15869        Reviewed by Geoffrey Garen.
15870
15871        Make GC validation more aggressive
15872        https://bugs.webkit.org/show_bug.cgi?id=60802
15873
15874        This makes GC_VALIDATION much more aggressive in webcore,
15875        adding logic to every visitChildren method to ensure that
15876        the structure still has correct flags.
15877
15878        Additionally every function generated for the dom bindings
15879        makes use of the new GC_VALIDATION object assertions to further
15880        ensure that the object appears to be sensible.
15881
15882        * bindings/js/JSAttrCustom.cpp:
15883        (WebCore::JSAttr::visitChildren):
15884        * bindings/js/JSAudioContextCustom.cpp:
15885        (WebCore::JSAudioContext::visitChildren):
15886        * bindings/js/JSCSSRuleCustom.cpp:
15887        (WebCore::JSCSSRule::visitChildren):
15888        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15889        (WebCore::JSCSSStyleDeclaration::visitChildren):
15890        * bindings/js/JSCanvasRenderingContextCustom.cpp:
15891        (WebCore::JSCanvasRenderingContext::visitChildren):
15892        * bindings/js/JSDOMGlobalObject.cpp:
15893        (WebCore::JSDOMGlobalObject::visitChildren):
15894        (WebCore::JSDOMGlobalObject::setInjectedScript):
15895        * bindings/js/JSDOMWindowCustom.cpp:
15896        (WebCore::JSDOMWindow::visitChildren):
15897        * bindings/js/JSDOMWindowShell.cpp:
15898        (WebCore::JSDOMWindowShell::visitChildren):
15899        * bindings/js/JSEventListener.cpp:
15900        (WebCore::JSEventListener::JSEventListener):
15901        * bindings/js/JSEventListener.h:
15902        (WebCore::JSEventListener::jsFunction):
15903        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
15904        (WebCore::JSJavaScriptAudioNode::visitChildren):
15905        * bindings/js/JSMessageChannelCustom.cpp:
15906        (WebCore::JSMessageChannel::visitChildren):
15907        * bindings/js/JSMessagePortCustom.cpp:
15908        (WebCore::JSMessagePort::visitChildren):
15909        * bindings/js/JSNamedNodeMapCustom.cpp:
15910        (WebCore::JSNamedNodeMap::visitChildren):
15911        * bindings/js/JSNodeCustom.cpp:
15912        (WebCore::JSNode::visitChildren):
15913        * bindings/js/JSNodeFilterCustom.cpp:
15914        (WebCore::JSNodeFilter::visitChildren):
15915        * bindings/js/JSNodeIteratorCustom.cpp:
15916        (WebCore::JSNodeIterator::visitChildren):
15917        * bindings/js/JSSVGElementInstanceCustom.cpp:
15918        (WebCore::JSSVGElementInstance::visitChildren):
15919        * bindings/js/JSSharedWorkerCustom.cpp:
15920        (WebCore::JSSharedWorker::visitChildren):
15921        * bindings/js/JSStyleSheetCustom.cpp:
15922        (WebCore::JSStyleSheet::visitChildren):
15923        * bindings/js/JSTreeWalkerCustom.cpp:
15924        (WebCore::JSTreeWalker::visitChildren):
15925        * bindings/js/JSWebGLRenderingContextCustom.cpp:
15926        (WebCore::JSWebGLRenderingContext::visitChildren):
15927        * bindings/js/JSWorkerContextCustom.cpp:
15928        (WebCore::JSWorkerContext::visitChildren):
15929        * bindings/js/JSXMLHttpRequestCustom.cpp:
15930        (WebCore::JSXMLHttpRequest::visitChildren):
15931        * bindings/js/JSXPathResultCustom.cpp:
15932        (WebCore::JSXPathResult::visitChildren):
15933        * bindings/scripts/CodeGeneratorJS.pm:
15934
159352011-05-14  Oliver Hunt  <oliver@apple.com>
15936
15937        Reviewed by Anders Carlsson.
15938
15939        Make Qt bindings GC safe
15940        https://bugs.webkit.org/show_bug.cgi?id=60841
15941
15942        Trying to do cache management by using "this" as a key from a GC
15943        object's destructor leads to a violation of GC semantics.  Make
15944        the qt bindings use a Weak<> handle for finalization.
15945
15946        * bridge/qt/qt_runtime.cpp:
15947        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
15948        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
15949        * bridge/qt/qt_runtime.h:
15950        (JSC::Bindings::QtRuntimeMethodData::finalize):
15951
159522011-05-14  Ryosuke Niwa  <rniwa@webkit.org>
15953
15954        Reviewed by Eric Seidel.
15955
15956        Make canHaveChildrenForEditing more efficient
15957        https://bugs.webkit.org/show_bug.cgi?id=53564
15958
15959        Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
15960        canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
15961        node for a position.
15962
15963        As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
15964        and any elements except:
15965
15966        HTML: applet, br, embed, frame, frameset, hr (unless has children), img, input, keygen,
15967              meter, object (unless uses fallback content), output, progress, select, and textarea.
15968
15969        No new tests are added since this change cannot be tested directly.
15970
15971        * dom/Document.h:
15972        (WebCore::Document::canContainRangeEndPoint): Added; returns false.
15973        * dom/DocumentFragment.h:
15974        (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
15975        * dom/Element.h:
15976        (WebCore::Element::canContainRangeEndPoint): Ditto.
15977        * dom/Node.h:
15978        (WebCore::Node::canContainRangeEndPoint): Added; returns false.
15979        * dom/Text.h:
15980        (WebCore::Text::canContainRangeEndPoint): Added; returns true.
15981        * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
15982        * editing/htmlediting.h:
15983        (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
15984        (WebCore::canHaveChildrenForEditing): Ditto.
15985        * html/HTMLBRElement.h:
15986        (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
15987        * html/HTMLButtonElement.h:
15988        (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
15989        * html/HTMLFormControlElement.h:
15990        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
15991        * html/HTMLFrameElementBase.h:
15992        (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
15993        * html/HTMLImageElement.h:
15994        (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
15995        * html/HTMLMeterElement.h:
15996        (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
15997        * html/HTMLOutputElement.h:
15998        (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
15999        * html/HTMLPlugInElement.h:
16000        (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
16001        * html/HTMLProgressElement.h:
16002        (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
16003        * html/HTMLHRElement.h:
16004        (WebCore::HTMLHRElement::canContainRangeEndPoint): Added; returns true iff it has children.
16005        * html/HTMLObjectElement.h:
16006        (WebCore::HTMLObjectElement::canContainRangeEndPoint): Added; returns true iff it uses fallback
16007        content.
16008
160092011-05-14  Jeremy Noble  <jer.noble@apple.com>
16010
16011        Reviewed by Darin Adler.
16012
16013        Exiting full screen causes <video> element inline controls to become visible
16014        https://bugs.webkit.org/show_bug.cgi?id=60142
16015
16016        Create a queue of elements who must be targeted with webkitfullscreenchange events. Instead of dispatching
16017        a single event with whatever the current value of m_fullScreenElement is (which may have been cleared, or
16018        changed since the timer was asked to fire), dispatch one event for each entry in the queue.
16019
16020        Test: fullscreen/video-controls-override.html
16021
16022        * dom/Document.cpp:
16023        (WebCore::Document::webkitDidEnterFullScreenForElement): Push current full screen element onto the
16024            webkitfullscreenchange event delay queue.
16025        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
16026        (WebCore::Document::fullScreenElementRemoved): Ditto.
16027        (WebCore::Document::fullScreenChangeDelayTimerFired): Empty the queue, dispatching a 
16028            webkitfullscreenchange event for each entry.
16029        * dom/Document.h:
16030
160312011-05-14  Patrick Gansterer  <paroga@webkit.org>
16032
16033        Reviewed by Andreas Kling.
16034
16035        Buildfix for SharedTimerWx.cpp
16036        https://bugs.webkit.org/show_bug.cgi?id=60829
16037
16038        * platform/wx/SharedTimerWx.cpp:
16039        (WebCore::WebKitTimer::WebKitTimer):
16040        We can't call the constructor of a base class in the body of the constructor.
16041
160422011-05-14  Patrick Gansterer  <paroga@webkit.org>
16043
16044        Unreviewed WinCE build fix for r86477.
16045
16046        Remove the global namespace prefix from GlobalLock/GlobalUnlock.
16047
16048        * platform/win/ClipboardUtilitiesWin.cpp:
16049
160502011-05-14  Csaba Osztrogonác  <ossy@webkit.org>
16051
16052        Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt.
16053
16054        Make GC validation more aggressive
16055        https://bugs.webkit.org/show_bug.cgi?id=60802
16056
16057        * bindings/js/JSAttrCustom.cpp:
16058        (WebCore::JSAttr::visitChildren):
16059        * bindings/js/JSAudioContextCustom.cpp:
16060        (WebCore::JSAudioContext::visitChildren):
16061        * bindings/js/JSCSSRuleCustom.cpp:
16062        (WebCore::JSCSSRule::visitChildren):
16063        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
16064        (WebCore::JSCSSStyleDeclaration::visitChildren):
16065        * bindings/js/JSCanvasRenderingContextCustom.cpp:
16066        (WebCore::JSCanvasRenderingContext::visitChildren):
16067        * bindings/js/JSDOMGlobalObject.cpp:
16068        (WebCore::JSDOMGlobalObject::visitChildren):
16069        (WebCore::JSDOMGlobalObject::setInjectedScript):
16070        * bindings/js/JSDOMWindowCustom.cpp:
16071        (WebCore::JSDOMWindow::visitChildren):
16072        * bindings/js/JSDOMWindowShell.cpp:
16073        (WebCore::JSDOMWindowShell::visitChildren):
16074        * bindings/js/JSEventListener.cpp:
16075        (WebCore::JSEventListener::JSEventListener):
16076        * bindings/js/JSEventListener.h:
16077        (WebCore::JSEventListener::jsFunction):
16078        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
16079        (WebCore::JSJavaScriptAudioNode::visitChildren):
16080        * bindings/js/JSMessageChannelCustom.cpp:
16081        (WebCore::JSMessageChannel::visitChildren):
16082        * bindings/js/JSMessagePortCustom.cpp:
16083        (WebCore::JSMessagePort::visitChildren):
16084        * bindings/js/JSNamedNodeMapCustom.cpp:
16085        (WebCore::JSNamedNodeMap::visitChildren):
16086        * bindings/js/JSNodeCustom.cpp:
16087        (WebCore::JSNode::visitChildren):
16088        * bindings/js/JSNodeFilterCustom.cpp:
16089        (WebCore::JSNodeFilter::visitChildren):
16090        * bindings/js/JSNodeIteratorCustom.cpp:
16091        (WebCore::JSNodeIterator::visitChildren):
16092        * bindings/js/JSSVGElementInstanceCustom.cpp:
16093        (WebCore::JSSVGElementInstance::visitChildren):
16094        * bindings/js/JSSharedWorkerCustom.cpp:
16095        (WebCore::JSSharedWorker::visitChildren):
16096        * bindings/js/JSStyleSheetCustom.cpp:
16097        (WebCore::JSStyleSheet::visitChildren):
16098        * bindings/js/JSTreeWalkerCustom.cpp:
16099        (WebCore::JSTreeWalker::visitChildren):
16100        * bindings/js/JSWebGLRenderingContextCustom.cpp:
16101        (WebCore::JSWebGLRenderingContext::visitChildren):
16102        * bindings/js/JSWorkerContextCustom.cpp:
16103        (WebCore::JSWorkerContext::visitChildren):
16104        * bindings/js/JSXMLHttpRequestCustom.cpp:
16105        (WebCore::JSXMLHttpRequest::visitChildren):
16106        * bindings/js/JSXPathResultCustom.cpp:
16107        (WebCore::JSXPathResult::visitChildren):
16108        * bindings/scripts/CodeGeneratorJS.pm:
16109
161102011-05-13  Alexey Proskuryakov  <ap@apple.com>
16111
16112        Reviewed by Darin Adler.
16113
16114        HTML5 Application Cache Update Failures on Page Refresh
16115        https://bugs.webkit.org/show_bug.cgi?id=60598
16116        <rdar://problem/9418639>
16117
16118        Test: http/tests/appcache/interrupted-update.html
16119
16120        The reason was two-fold:
16121        1) Cache group state wasn't fully reset after a failed cache update (or an initial load).
16122        2) The cache group is not deleted until after after the navigation (from autorelease pool),
16123        so the failed and sorry old version was picked up by cache selection algorithm.
16124
16125        The latter is more of a surprising behavior than a problem in itself. Keeping an appcache in
16126        memory for reload is generally a good thing for performance.
16127
16128        * loader/appcache/ApplicationCacheGroup.cpp:
16129        (WebCore::ApplicationCacheGroup::stopLoading): Added a FIXME about half-baked state resetting
16130        code that sent me looking for a wrong fix originally.
16131        (WebCore::ApplicationCacheGroup::stopLoadingInFrame): Stopped load is an update failure like
16132        any other, so we should call cacheUpdateFailed(), which knows how to reset state.
16133
161342011-05-13  Enrica Casucci  <enrica@apple.com>
16135
16136        Reviewed by Darin Adler and Brian Weinstein.
16137
16138        REGRESSION (WK2): Can't drag and drop a link or image from Safari to Desktop
16139        https://bugs.webkit.org/show_bug.cgi?id=60819
16140        <rdar://problem/9370689>
16141
16142        To support drag-and-drop to the desktop and other windows applications,
16143        we need to support the fileDescriptor and fileContentZero clipboard formats.
16144        This patch adds the support for serializing these types across the process boundary.
16145        It also fixes a regression introduced by r70914, that was causing the content of the
16146        shortcut files to be corrupted. Using ascii() to convert from String to CString was
16147        causing '\n' and '\r' to be replaced with '?'.
16148        
16149        * platform/DragData.h:
16150        * platform/win/ClipboardUtilitiesWin.cpp:
16151        (WebCore::fileDescriptorFormat): Moved from ClipboardWin.cpp.
16152        (WebCore::fileContentFormatZero): Moved from ClipboardWin.cpp.
16153        (WebCore::getFileDescriptorData): Serialize FileDescriptor type.
16154        (WebCore::getFileContentData): Serialize FileContent type.
16155        (WebCore::setFileDescriptorData): Deserialize FileDescriptor type.
16156        (WebCore::setFileContentData): Deserialize FileContent type.
16157        (WebCore::setCFData): Added missing initialization of the tymed field
16158        that was causing the cfHDrop format not to be deserialized correctly. 
16159        * platform/win/ClipboardUtilitiesWin.h:
16160        * platform/win/ClipboardWin.cpp:
16161        (WebCore::createGlobalHDropContent): Changed ascii() to latin1().
16162        (WebCore::ClipboardWin::writeURL):
16163        * platform/win/DragDataWin.cpp:
16164        (WebCore::DragData::getDragFileDescriptorData):
16165        (WebCore::DragData::getDragFileContentData):
16166
161672011-05-13  Daniel Cheng  <dcheng@chromium.org>
16168
16169        Fix the build.
16170
16171        Add includes that the builders are suddenly complaining about...
16172
16173        * page/DragState.h:
16174
161752011-05-13  Daniel Cheng  <dcheng@chromium.org>
16176
16177        Reviewed by Tony Chang.
16178
16179        Improve drag start logic
16180        https://bugs.webkit.org/show_bug.cgi?id=59409
16181
16182        Rewrite and simplify the dragging logic to better match IE, Firefox, and the behavior
16183        defined in the spec. Among other things:
16184        - draggableNode() no longer returns text nodes when dragging anchors.
16185        - When starting a drag over an image in a selection, prefer to drag the selection.
16186        - Several redundant hit tests have been removed.
16187        - Minor refactoring to make the logic easier to follow.
16188
16189        Test: platform/mac/editing/pasteboard/drag-selections-to-contenteditable.html
16190
16191        * WebCore.xcodeproj/project.pbxproj:
16192        * page/DragController.cpp:
16193        (WebCore::DragController::draggableNode):
16194        (WebCore::DragController::startDrag):
16195        * page/DragController.h:
16196        * page/DragState.h:
16197        (WebCore::DragState::shouldDispatchEvents):
16198        * page/EventHandler.cpp:
16199        (WebCore::EventHandler::EventHandler):
16200        (WebCore::EventHandler::eventMayStartDrag):
16201        (WebCore::EventHandler::updateDragSourceActionsAllowed):
16202        (WebCore::EventHandler::updateDragAndDrop):
16203        (WebCore::EventHandler::cancelDragAndDrop):
16204        (WebCore::EventHandler::dragHysteresisExceeded):
16205        (WebCore::EventHandler::dragSourceEndedAt):
16206        (WebCore::ExactlyOneBitSet):
16207        (WebCore::EventHandler::handleDrag):
16208        * page/EventHandler.h:
16209
162102011-05-13  Oliver Hunt  <oliver@apple.com>
16211
16212        Reviewed by Geoffrey Garen.
16213
16214        Make GC validation more aggressive
16215        https://bugs.webkit.org/show_bug.cgi?id=60802
16216
16217        This makes GC_VALIDATION much more aggressive in webcore,
16218        adding logic to every visitChildren method to ensure that
16219        the structure still has correct flags.
16220
16221        Additionally every function generated for the dom bindings
16222        makes use of the new GC_VALIDATION object assertions to further
16223        ensure that the object appears to be sensible.
16224
16225        * bindings/js/JSAttrCustom.cpp:
16226        (WebCore::JSAttr::visitChildren):
16227        * bindings/js/JSAudioContextCustom.cpp:
16228        (WebCore::JSAudioContext::visitChildren):
16229        * bindings/js/JSCSSRuleCustom.cpp:
16230        (WebCore::JSCSSRule::visitChildren):
16231        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
16232        (WebCore::JSCSSStyleDeclaration::visitChildren):
16233        * bindings/js/JSCanvasRenderingContextCustom.cpp:
16234        (WebCore::JSCanvasRenderingContext::visitChildren):
16235        * bindings/js/JSDOMGlobalObject.cpp:
16236        (WebCore::JSDOMGlobalObject::visitChildren):
16237        (WebCore::JSDOMGlobalObject::setInjectedScript):
16238        * bindings/js/JSDOMWindowCustom.cpp:
16239        (WebCore::JSDOMWindow::visitChildren):
16240        * bindings/js/JSDOMWindowShell.cpp:
16241        (WebCore::JSDOMWindowShell::visitChildren):
16242        * bindings/js/JSEventListener.cpp:
16243        (WebCore::JSEventListener::JSEventListener):
16244        * bindings/js/JSEventListener.h:
16245        (WebCore::JSEventListener::jsFunction):
16246        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
16247        (WebCore::JSJavaScriptAudioNode::visitChildren):
16248        * bindings/js/JSMessageChannelCustom.cpp:
16249        (WebCore::JSMessageChannel::visitChildren):
16250        * bindings/js/JSMessagePortCustom.cpp:
16251        (WebCore::JSMessagePort::visitChildren):
16252        * bindings/js/JSNamedNodeMapCustom.cpp:
16253        (WebCore::JSNamedNodeMap::visitChildren):
16254        * bindings/js/JSNodeCustom.cpp:
16255        (WebCore::JSNode::visitChildren):
16256        * bindings/js/JSNodeFilterCustom.cpp:
16257        (WebCore::JSNodeFilter::visitChildren):
16258        * bindings/js/JSNodeIteratorCustom.cpp:
16259        (WebCore::JSNodeIterator::visitChildren):
16260        * bindings/js/JSSVGElementInstanceCustom.cpp:
16261        (WebCore::JSSVGElementInstance::visitChildren):
16262        * bindings/js/JSSharedWorkerCustom.cpp:
16263        (WebCore::JSSharedWorker::visitChildren):
16264        * bindings/js/JSStyleSheetCustom.cpp:
16265        (WebCore::JSStyleSheet::visitChildren):
16266        * bindings/js/JSTreeWalkerCustom.cpp:
16267        (WebCore::JSTreeWalker::visitChildren):
16268        * bindings/js/JSWebGLRenderingContextCustom.cpp:
16269        (WebCore::JSWebGLRenderingContext::visitChildren):
16270        * bindings/js/JSWorkerContextCustom.cpp:
16271        (WebCore::JSWorkerContext::visitChildren):
16272        * bindings/js/JSXMLHttpRequestCustom.cpp:
16273        (WebCore::JSXMLHttpRequest::visitChildren):
16274        * bindings/js/JSXPathResultCustom.cpp:
16275        (WebCore::JSXPathResult::visitChildren):
16276        * bindings/scripts/CodeGeneratorJS.pm:
16277
162782011-05-13  Mikhail Naganov  <mnaganov@chromium.org>
16279
16280        Web Inspector: Unreviewed image glyph position fix in CSS after r85588.
16281
16282        * inspector/front-end/heapProfiler.css:
16283        (.heapshot-help-status-bar-item .glyph):
16284
162852011-05-13  Adam Barth  <abarth@webkit.org>
16286
16287        Reviewed by Eric Seidel.
16288
16289        iframe sandbox doesn't properly block popups
16290        https://bugs.webkit.org/show_bug.cgi?id=60784
16291
16292        Previously, we weren't implementing this requirement from the spec:
16293
16294        "This flag also prevents content from creating new auxiliary browsing
16295        contexts, e.g. using the target attribute or the window.open() method."
16296
16297        Tests: http/tests/security/no-popup-from-sandbox-top.html
16298               http/tests/security/no-popup-from-sandbox.html
16299
16300        * loader/PolicyChecker.cpp:
16301        (WebCore::PolicyChecker::checkNewWindowPolicy):
16302
163032011-05-13  Ryosuke Niwa  <rniwa@webkit.org>
16304
16305        Reviewed by Darin Adler.
16306
16307        click event shouldn't fire when the target is ever removed in mouseup
16308        https://bugs.webkit.org/show_bug.cgi?id=60600
16309
16310        Fixed the bug by invalidating m_clickNode when it or one of its ancestors has been removed
16311        from the document. New behavior matches Internet Explorer and Firefox.
16312
16313        Tests: fast/events/remove-target-in-mouseup-deep.html
16314               fast/events/remove-target-in-mouseup-insertback.html
16315               fast/events/remove-target-in-mouseup-twice.html
16316               fast/events/remove-target-in-mouseup.html
16317
16318        * dom/Document.cpp:
16319        (WebCore::Document::nodeChildrenWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
16320        (WebCore::Document::nodeWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
16321        * page/EventHandler.cpp:
16322        (WebCore::EventHandler::nodeWillBeRemoved): Added; invalidates m_clickNode when m_clickNode
16323        or one of its ancestor is removed from the document.
16324        * page/EventHandler.h:
16325
163262011-05-13  Alexey Proskuryakov  <ap@apple.com>
16327
16328        Reviewed by Joseph Pecoraro.
16329
16330        Hide appcache status bar items
16331        https://bugs.webkit.org/show_bug.cgi?id=60799
16332
16333        We have a number of non-trivial bugs that make these more misleading than helpful to developers.
16334
16335        * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView):
16336        Just hide the items for now. Removing all support code would be complicated, and not helpful.
16337
163382011-05-13  Adam Barth  <abarth@webkit.org>
16339
16340        Reviewed by Eric Seidel.
16341
16342        indexedDB is visible inside iframe sandbox
16343        https://bugs.webkit.org/show_bug.cgi?id=60785
16344
16345        We're supposed to return a null indexedDB factory when inside an iframe
16346        sandbox.
16347
16348        Test: http/tests/security/no-indexeddb-from-sandbox.html
16349
16350        * page/DOMWindow.cpp:
16351        (WebCore::DOMWindow::webkitIndexedDB):
16352
163532011-05-13  Adam Roben  <aroben@apple.com>
16354
16355        Fix manual tests that got broken by the move of WebCore into Source
16356
16357        * manual-tests/plugins/object-clipping.html:
16358        * manual-tests/pointer-events.html:
16359        * manual-tests/video-waiting-seeking.html:
16360        Updated some paths.
16361
163622011-05-13  Nat Duca  <nduca@chromium.org>
16363
16364        Reviewed by James Robinson.
16365
16366        [chromium] compositing tests are failing
16367        https://bugs.webkit.org/show_bug.cgi?id=60738
16368
16369        Bind texture before setting its filtering state.
16370
16371        * platform/graphics/chromium/LayerTilerChromium.cpp:
16372        (WebCore::LayerTilerChromium::updateFromPixels):
16373
163742011-05-13  Alexey Proskuryakov  <ap@apple.com>
16375
16376        Reviewed by Dan Bernstein.
16377
16378        https://bugs.webkit.org/show_bug.cgi?id=60787
16379        Add some assertions to ApplicationCacheGroup
16380
16381        * loader/appcache/ApplicationCacheGroup.cpp:
16382        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Check that count doesn't underflow.
16383        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Ditto.
16384        (WebCore::ApplicationCacheGroup::stopLoading): Check that we are the handle's client before
16385        resetting it.
16386        (WebCore::ApplicationCacheGroup::update): Check that there isn't a stale current handle or
16387        resource hanging around.
16388        (WebCore::ApplicationCacheGroup::didFail): Check that the handle is either manifest or current one.
16389
163902011-05-13  Sam Weinig  <sam@webkit.org>
16391
16392        Reviewed by Anders Carlsson.
16393
16394        Prune #includes from FrameView.h (Part 2)
16395        https://bugs.webkit.org/show_bug.cgi?id=60748
16396
16397        - Replace #includes in FrameView.h of Frame.h and Page.h
16398          with Color.h, wtf/text/WTFString.h, and the new AdjustViewSizeOrNot.h
16399
16400        - Update files that were depending on FrameView.h #including Frame.h or
16401          Page.h.
16402
16403        * GNUmakefile.list.am:
16404        * WebCore.exp.in:
16405        * WebCore.pro:
16406        * WebCore.vcproj/WebCore.vcproj:
16407        * WebCore.xcodeproj/project.pbxproj:
16408        * accessibility/AccessibilityRenderObject.cpp:
16409        * accessibility/AccessibilityScrollView.cpp:
16410        * accessibility/chromium/AXObjectCacheChromium.cpp:
16411        * accessibility/mac/AccessibilityObjectWrapper.mm:
16412        * css/MediaQueryMatcher.cpp:
16413        * dom/Range.cpp:
16414        * editing/SpellingCorrectionController.cpp:
16415        * history/CachedFrame.cpp:
16416        * html/HTMLBodyElement.cpp:
16417        * html/canvas/WebGLRenderingContext.cpp:
16418        * html/parser/HTMLParserScheduler.cpp:
16419        * page/AdjustViewSizeOrNot.h: Added.
16420        * page/EditorClient.h:
16421        * page/Frame.h:
16422        * page/FrameView.cpp:
16423        (WebCore::FrameView::forceLayoutForPagination):
16424        * page/FrameView.h:
16425        * page/PrintContext.cpp:
16426        (WebCore::PrintContext::begin):
16427        (WebCore::PrintContext::end):
16428        * page/chromium/FrameChromium.cpp:
16429        * page/win/FrameCGWin.cpp:
16430        * page/win/FrameWin.cpp:
16431        * platform/efl/PopupMenuEfl.cpp:
16432        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
16433        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16434        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
16435        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
16436        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
16437        * platform/gtk/WidgetGtk.cpp:
16438        * plugins/IFrameShimSupport.cpp:
16439        * rendering/RenderBlock.cpp:
16440        * rendering/RenderBoxModelObject.cpp:
16441        * rendering/RenderFrameBase.cpp:
16442        * rendering/RenderIFrame.cpp:
16443        * rendering/RenderMenuList.cpp:
16444        * rendering/RenderTextControlSingleLine.cpp:
16445        * rendering/RenderWidget.cpp:
16446        * svg/SVGSVGElement.cpp:
16447
164482011-05-13  Levi Weintraub  <leviw@chromium.org>
16449
16450        Reviewed by Eric Seidel.
16451
16452        Switch paintCollapsedBorder to use IntRect
16453        https://bugs.webkit.org/show_bug.cgi?id=60739
16454
16455        Updating the last offending paint function that takes four ints
16456        instead of an IntRect.
16457
16458        No new tests as this is simple refactoring.
16459
16460        * rendering/RenderTableCell.cpp:
16461        (WebCore::RenderTableCell::paint):
16462        (WebCore::RenderTableCell::paintCollapsedBorder):
16463        * rendering/RenderTableCell.h:
16464
164652011-05-13  Abhishek Arya  <inferno@chromium.org>
16466
16467        Reviewed by Dave Hyatt.
16468
16469        Regression(r75823): Revert initialization back to the first RenderBlock
16470        in the parent chain.
16471        https://bugs.webkit.org/show_bug.cgi?id=60780
16472
16473        Test: fast/block/float/float-not-removed-crash.html
16474
16475        * rendering/RenderBox.cpp:
16476        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
16477        In r75823, I forgot to initialize parentBlock, when the original code
16478        did and Hyatt did mention in c#5. Now, initializing parentBlock to the
16479        first RenderBlock in the parent chain.
16480
164812011-05-05  Pavel Podivilov  <podivilov@chromium.org>
16482
16483        Reviewed by Yury Semikhatsky.
16484
16485        Web Inspector: TextEditor should support editing a range.
16486        https://bugs.webkit.org/show_bug.cgi?id=59688
16487
16488        * inspector/front-end/TextViewer.js:
16489        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
16490        (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
16491        (WebInspector.TextEditorMainPanel.prototype.setEditableRange):
16492        (WebInspector.TextEditorMainPanel.prototype.clearEditableRange):
16493        (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
16494        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
16495        (WebInspector.TextEditorMainChunk):
16496        (WebInspector.TextEditorMainChunk.prototype.set expanded):
16497        (WebInspector.TextEditorMainChunk.prototype.set readOnly):
16498        (WebInspector.TextEditorMainChunk.prototype.get readOnly):
16499        (WebInspector.TextEditorMainChunk.prototype._updateElementReadOnlyState):
16500        * inspector/front-end/textViewer.css:
16501        (.text-editor-read-only):
16502
165032011-05-05  Pavel Podivilov  <podivilov@chromium.org>
16504
16505        Reviewed by Yury Semikhatsky.
16506
16507        Web Inspector: fix source mapping for formatted scripts.
16508        https://bugs.webkit.org/show_bug.cgi?id=60263
16509
16510        Source mapping is broken for script chunks that are already formatted at the beginning
16511        and at the end of the script (see script-formatter.html).
16512
16513        * inspector/front-end/ScriptFormatter.js:
16514        (WebInspector.ScriptFormatter.prototype._didFormatContent):
16515        (WebInspector.FormattedSourceMapping):
16516        (WebInspector.FormattedSourceMapping.prototype.originalToFormatted):
16517        (WebInspector.FormattedSourceMapping.prototype.formattedToOriginal):
16518        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
16519        * inspector/front-end/ScriptFormatterWorker.js:
16520        (onmessage):
16521        (HTMLScriptFormatter.prototype.format):
16522        * inspector/front-end/SourceFile.js:
16523        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
16524        (WebInspector.SourceMappingForFormattedSourceFile):
16525        (WebInspector.SourceMappingForFormattedSourceFile.prototype.scriptLocationToSourceLine):
16526        (WebInspector.SourceMappingForFormattedSourceFile.prototype.sourceLineToScriptLocation):
16527
165282011-05-13  Adam Roben  <aroben@apple.com>
16529
16530        Tell ScrollView's child Widgets that their frame rects have changed when its own frame rect
16531        changes
16532
16533        r79167 moved some code from setFrameRect to setBoundsSize, including a call to
16534        frameRectsChanged. This was done because positionScrollbarLayers, which is called by
16535        frameRectsChanged, only needs to be called when the bounds change, not when the frame rect
16536        changes. But the recursive calls inside frameRectsChanged *do* need to be called when the
16537        frame rect changes.
16538
16539        This patch moves the positionScrollbarLayers call out of frameRectsChanged, since it needs
16540        to be called at different times from frameRectsChanged. Then it restores the
16541        frameRectsChanged call to setFrameRect, which fixes the bug.
16542
16543        Test: platform/win/plugins/iframe-inside-overflow.html
16544
16545        Fixes <http://webkit.org/b/60194> <rdar://problem/9383760> REGRESSION (r79167): Windowed
16546        plugins in Google Reader don't move when the article list is scrolled
16547
16548        Reviewed by Dan Bernstein.
16549
16550        * platform/ScrollView.cpp:
16551        (WebCore::ScrollView::updateScrollbars): Added a positionScrollbarLayers call here now that
16552        frameRectsChanged doesn't call it for us. Also added a FIXME because it seems strange to
16553        call frameRectsChanged here when our frame rect hasn't changed.
16554        (WebCore::ScrollView::setFrameRect): Added back the frameRectsChanged call that was removed
16555        in r79167.
16556        (WebCore::ScrollView::setBoundsSize): Replaced a frameRectsChanged call with a call to
16557        positionScrollbarLayers. We were only calling frameRectsChanged here in order to get
16558        positionScrollbarLayers to be called.
16559        (WebCore::ScrollView::frameRectsChanged): Removed the call to positionScrollbarLayers. All
16560        callers of frameRectsChanged have been updated to call positionScrollbarLayers if needed.
16561
165622011-05-13  Martin Robinson  <mrobinson@igalia.com>
16563
16564        Reviewed by Eric Seidel.
16565
16566        [GTK] Share the GTK+ key binding code between WebKit1 and WebKit2
16567        https://bugs.webkit.org/show_bug.cgi?id=59765
16568
16569        Move the keybinding code form WebKit1/WebKit2 to this utility class. This code is
16570        almost directly moved from the WebKit layer.
16571
16572        No new tests. This is covered by the editing tests.
16573
16574        * GNUmakefile.list.am:
16575        * platform/gtk/KeyBindingTranslator.cpp: Added.
16576        (WebCore::backspaceCallback):Added.
16577        (WebCore::selectAllCallback):Added.
16578        (WebCore::cutClipboardCallback):Added.
16579        (WebCore::copyClipboardCallback):Added.
16580        (WebCore::pasteClipboardCallback):Added.
16581        (WebCore::toggleOverwriteCallback):Added.
16582        (WebCore::popupMenuCallback):Added.
16583        (WebCore::showHelpCallback):Added.
16584        (WebCore::deleteFromCursorCallback):Added.
16585        (WebCore::moveCursorCallback):Added.
16586        (WebCore::KeyBindingTranslator::KeyBindingTranslator):Added.
16587        (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):Added.
16588        * platform/gtk/KeyBindingTranslator.h: Added.
16589        (WebCore::KeyBindingTranslator::addPendingEditorCommand):Added.
16590
165912011-05-01  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
16592
16593        Reviewed by Adam Barth.
16594
16595        [android] Forward declare types for PlatformWidget and DragImage
16596        https://bugs.webkit.org/show_bug.cgi?id=59890
16597
16598        This is a simple build fix.
16599
16600        * platform/DragImage.h:
16601        * platform/Widget.h:
16602
166032011-05-06  Pavel Podivilov  <podivilov@chromium.org>
16604
16605        Reviewed by Yury Semikhatsky.
16606
16607        Web Inspector: fix incremental html highlight.
16608        https://bugs.webkit.org/show_bug.cgi?id=60163
16609
16610        SourceTokenizers for html, js, and css are declared to be stateless. However they store some state in
16611        various ways (like using _internalJavaScriptTokenizer field in html tokenizer, or modifying "static"
16612        initialCondition object via condition link). This all worked because of another bug in tokenizers registry
16613        that always returned new tokenizer object.
16614        For incremental highlighting, we need to be able to stringify tokenizers state and then restore the
16615        state from string. That's why we need tokenizers to be truly stateless.
16616
16617        * inspector/front-end/DOMSyntaxHighlighter.js:
16618        (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode):
16619        * inspector/front-end/SourceCSSTokenizer.js:
16620        (WebInspector.SourceCSSTokenizer):
16621        (WebInspector.SourceCSSTokenizer.prototype.createInitialCondition):
16622        * inspector/front-end/SourceCSSTokenizer.re2js:
16623        * inspector/front-end/SourceHTMLTokenizer.js:
16624        (WebInspector.SourceHTMLTokenizer):
16625        (WebInspector.SourceHTMLTokenizer.prototype.createInitialCondition):
16626        (WebInspector.SourceHTMLTokenizer.prototype.set line):
16627        (WebInspector.SourceHTMLTokenizer.prototype.get _internalJavaScriptTokenizer):
16628        (WebInspector.SourceHTMLTokenizer.prototype.get _internalCSSTokenizer):
16629        (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
16630        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
16631        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
16632        * inspector/front-end/SourceHTMLTokenizer.re2js:
16633        * inspector/front-end/SourceJavaScriptTokenizer.js:
16634        (WebInspector.SourceJavaScriptTokenizer):
16635        (WebInspector.SourceJavaScriptTokenizer.prototype.createInitialCondition):
16636        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
16637        * inspector/front-end/SourceTokenizer.js:
16638        (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
16639        * inspector/front-end/TextEditorHighlighter.js:
16640        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
16641
166422011-05-13  Adam Roben  <aroben@apple.com>
16643
16644        Build fix after r86418
16645
16646        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
16647        Made the destructor public so that this class can be used with
16648        [Pass]OwnPtr.
16649
166502011-05-11  Hans Wennborg  <hans@chromium.org>
16651
16652        Reviewed by Tony Gentilcore.
16653
16654        IndexedDB: Fix integer comparison bug in LevelDB coding routines
16655        https://bugs.webkit.org/show_bug.cgi?id=60623
16656
16657        Fix the code for comparing two int64_t variables.
16658        Also remove faulty line in ObjectStoreNamesKey::encode which was
16659        uncovered by the unit test in this patch.
16660
16661        Very hard to cover with layout tests; covered by unit test.
16662
16663        * storage/IDBLevelDBCoding.cpp:
16664        (WebCore::IDBLevelDBCoding::compareInts):
16665        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
16666        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
16667        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
16668        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
16669        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
16670        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
16671        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
16672        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
16673        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
16674
166752011-05-13  Andrew Wason  <rectalogic@rectalogic.com>
16676
16677        Reviewed by Darin Adler.
16678
16679        GraphicsContext3DQt.cpp fails to compile
16680        https://bugs.webkit.org/show_bug.cgi?id=60740
16681
16682        * platform/graphics/qt/GraphicsContext3DQt.cpp:
16683        (WebCore::GraphicsContext3D::GraphicsContext3D):
16684         Change order of initializers.
16685
166862011-05-05  Hans Wennborg  <hans@chromium.org>
16687
16688        Reviewed by Steve Block.
16689
16690        IndexedDB: Transaction rollback prevented by open SQLite statement
16691        https://bugs.webkit.org/show_bug.cgi?id=60032
16692
16693        Let the IDBTransactionbackendImpl keep track of all open cursors, and
16694        "close" them (i.e. finalizing the underlying SQLiteStatement) before
16695        committing or rolling back the transaction. This fixes the problem
16696        with opened cursors preventing transaction rollback.
16697
16698        Test: storage/indexeddb/transaction-rollback.html
16699
16700        * storage/IDBBackingStore.h:
16701        * storage/IDBCursorBackendImpl.cpp:
16702        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
16703        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
16704        (WebCore::IDBCursorBackendImpl::close):
16705        * storage/IDBCursorBackendImpl.h:
16706        * storage/IDBLevelDBBackingStore.cpp:
16707        * storage/IDBSQLiteBackingStore.cpp:
16708        * storage/IDBTransactionBackendImpl.cpp:
16709        (WebCore::IDBTransactionBackendImpl::abort):
16710        (WebCore::IDBTransactionBackendImpl::registerOpenCursor):
16711        (WebCore::IDBTransactionBackendImpl::unregisterOpenCursor):
16712        (WebCore::IDBTransactionBackendImpl::commit):
16713        (WebCore::IDBTransactionBackendImpl::closeOpenCursors):
16714        * storage/IDBTransactionBackendImpl.h:
16715        * storage/IDBTransactionBackendInterface.h:
16716        (WebCore::IDBTransactionBackendInterface::registerOpenCursor):
16717        (WebCore::IDBTransactionBackendInterface::unregisterOpenCursor):
16718
167192011-05-13  Patrick Gansterer  <paroga@webkit.org>
16720
16721        Reviewed by Adam Barth.
16722
16723        Enable OwnPtr strict mode in MediaPlayer
16724        https://bugs.webkit.org/show_bug.cgi?id=59466
16725
16726        Let the CreateMediaEnginePlayer function return a PassOwnPtr instead of a raw pointer.
16727        Also fix the templete argument of OwnPtr for the m_private member variable.
16728
16729        * platform/graphics/MediaPlayer.cpp:
16730        (WebCore::MediaPlayer::MediaPlayer):
16731        (WebCore::MediaPlayer::loadWithNextMediaEngine):
16732        * platform/graphics/MediaPlayer.h:
16733        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
16734        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
16735        (WebCore::MediaPlayerPrivateAVFoundationObjC::create):
16736        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
16737        (WebCore::MediaPlayerPrivateGStreamer::create):
16738        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
16739        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
16740        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16741        (WebCore::MediaPlayerPrivateQTKit::create):
16742        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
16743        (WebCore::MediaPlayerPrivatePhonon::create):
16744        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
16745        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
16746        (WebCore::MediaPlayerPrivateQt::create):
16747        * platform/graphics/qt/MediaPlayerPrivateQt.h:
16748        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
16749        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::create):
16750        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
16751        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
16752        (WebCore::MediaPlayerPrivate::create):
16753        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
16754        * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
16755
167562011-05-13  Alexey Proskuryakov  <ap@apple.com>
16757
16758        Reviewed by Pavel Feldman.
16759
16760        Web Inspector: Show Error Messages for Application Cache Errors
16761        https://bugs.webkit.org/show_bug.cgi?id=41642
16762
16763        * loader/appcache/ApplicationCacheGroup.cpp:
16764        (WebCore::ApplicationCacheGroup::didReceiveResponse):
16765        (WebCore::ApplicationCacheGroup::didFail):
16766        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
16767        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
16768        (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
16769        Added console error logging.
16770
167712011-05-12  Pratik Solanki  <psolanki@apple.com>
16772
16773        Reviewed by Antti Koivisto.
16774
16775        Part of WebCore should use CFNetwork-based loader on Mac
16776        https://bugs.webkit.org/show_bug.cgi?id=51836
16777
16778        Fixes for warnings and other minor cleanups when we enable USE_CFNETWORK on Mac.
16779
16780        * platform/network/cf/ResourceErrorCF.cpp:
16781        (WebCore::ResourceError::cfStreamError):
16782        * platform/network/cf/ResourceHandleCFNet.cpp:
16783        (WebCore::allowsAnyHTTPSCertificateHosts):
16784        (WebCore::clientCerts):
16785        (WebCore::willSendRequest):
16786        (WebCore::didReceiveResponse):
16787        (WebCore::didReceiveData):
16788        (WebCore::didSendBodyData):
16789        (WebCore::shouldUseCredentialStorageCallback):
16790        (WebCore::didFinishLoading):
16791        (WebCore::didFail):
16792        (WebCore::didReceiveChallenge):
16793        (WebCore::makeFinalRequest):
16794        (WebCore::ResourceHandle::willLoadFromCache):
16795
167962011-05-12  Pratik Solanki  <psolanki@apple.com>
16797
16798        Reviewed by Antti Koivisto.
16799
16800        Part of WebCore should use CFNetwork-based loader on Mac
16801        https://bugs.webkit.org/show_bug.cgi?id=51836
16802
16803        Implement ResourceHandle::schedule()/unschedule() based on CF for Mac.
16804
16805        * WebCore.exp.in:
16806        * platform/cf/SchedulePair.h:
16807        * platform/mac/SchedulePairMac.mm:
16808        * platform/network/cf/ResourceHandleCFNet.cpp:
16809        (WebCore::ResourceHandle::schedule):
16810        (WebCore::ResourceHandle::unschedule):
16811
168122011-05-12  Pratik Solanki  <psolanki@apple.com>
16813
16814        Reviewed by Antti Koivisto.
16815
16816        Part of WebCore should use CFNetwork-based loader on Mac
16817        https://bugs.webkit.org/show_bug.cgi?id=51836
16818
16819        Implement mac specific Authentication functions when using CFNetwork.
16820
16821        * WebCore.exp.in:
16822        * WebCore.xcodeproj/project.pbxproj:
16823        * platform/network/ResourceHandle.h:
16824        * platform/network/cf/AuthenticationCF.cpp:
16825        (WebCore::AuthenticationChallenge::authenticationClient):
16826        (WebCore::createCF):
16827        (WebCore::core):
16828        * platform/network/cf/AuthenticationCF.h:
16829        * platform/network/cf/AuthenticationChallenge.h:
16830        * platform/network/mac/AuthenticationMac.mm:
16831        (WebCore::core):
16832        (WebCore::mac):
16833        * platform/network/mac/CredentialStorageMac.mm:
16834
168352011-05-12  Ben Wells  <benwells@chromium.org>
16836
16837        Reviewed by Simon Fraser.
16838
16839        RGBA colors in outlines show overpainting at the corners
16840        https://bugs.webkit.org/show_bug.cgi?id=58999
16841
16842        Added FIXMEs near temporary $if !USE(SKIA)s, referencing bug 60342.
16843
16844        * rendering/RenderInline.cpp:
16845        (WebCore::RenderInline::paintOutline):
16846        * rendering/RenderObject.cpp:
16847        (WebCore::RenderObject::paintOutline):
16848
168492011-05-12  Adele Peterson  <adele@apple.com>
16850
16851        Reviewed by Darin Adler and Adam Barth.
16852
16853        Fix for <rdar://problem/9253454> Solar Walk For Mac: Info window is blank (HTML5 parser)
16854        https://bugs.webkit.org/show_bug.cgi?id=60685
16855
16856        Detect the Solar Walk application so we can add targeted parser quirks.
16857
16858        * WebCore.exp.in:
16859        * platform/RuntimeApplicationChecks.cpp: (WebCore::applicationIsSolarWalk):
16860        * platform/RuntimeApplicationChecks.h:
16861
168622011-05-12  Jia Pu  <jpu@apple.com>
16863
16864        Reviewed by Darin Adler.
16865
16866        Regression caused by changeset 86281
16867        https://bugs.webkit.org/show_bug.cgi?id=60712
16868
16869        Changed wording in some tests to reflect AppKit UI change.
16870
16871        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html:
16872        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html:
16873
168742011-05-12  Daniel Bates  <dbates@rim.com>
16875
16876        Attempt to fix the build after changeset 86391 <http://trac.webkit.org/changeset/86391>
16877        (https://bugs.webkit.org/show_bug.cgi?id=60681).
16878
16879        * page/PluginHalter.cpp:
16880        (WebCore::PluginHalter::PluginHalter): Substitute m_client for client in ASSERT_ARG since client is now of type PassOwnPtr
16881        so it becomes 0 when assigned to another variable.
16882
168832011-05-12  Patrick Gansterer  <paroga@webkit.org>
16884
16885        Reviewed by Darin Adler.
16886
16887        Rename SimpleFontData::scaledFontData to createScaledFontData
16888        https://bugs.webkit.org/show_bug.cgi?id=60723
16889
16890        * platform/graphics/SimpleFontData.h:
16891        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
16892        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
16893        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
16894        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
16895        * platform/graphics/mac/SimpleFontDataMac.mm:
16896        * platform/graphics/pango/SimpleFontDataPango.cpp:
16897        * platform/graphics/qt/SimpleFontDataQt.cpp:
16898        * platform/graphics/win/SimpleFontDataWin.cpp:
16899        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
16900        * platform/graphics/wx/SimpleFontDataWx.cpp:
16901
169022011-05-12  Levi Weintraub  <leviw@chromium.org>
16903
16904        Reviewed by Simon Fraser.
16905
16906        Switch paintOutline to use IntRect
16907        https://bugs.webkit.org/show_bug.cgi?id=60718
16908
16909        Switching paintOutline to use an IntRect instead of 4 ints.
16910
16911        No new tests as this is just refactoring.
16912
16913        * rendering/RenderBlock.cpp:
16914        (WebCore::RenderBlock::paintObject):
16915        * rendering/RenderObject.cpp:
16916        (WebCore::RenderObject::paintOutline):
16917        * rendering/RenderObject.h:
16918        * rendering/RenderReplaced.cpp:
16919        (WebCore::RenderReplaced::paint):
16920        * rendering/RenderTable.cpp:
16921        (WebCore::RenderTable::paintObject):
16922        * rendering/svg/RenderSVGContainer.cpp:
16923        (WebCore::RenderSVGContainer::paint):
16924        * rendering/svg/RenderSVGImage.cpp:
16925        (WebCore::RenderSVGImage::paint):
16926        * rendering/svg/RenderSVGPath.cpp:
16927        (WebCore::RenderSVGPath::paint):
16928        * rendering/svg/RenderSVGRoot.cpp:
16929        (WebCore::RenderSVGRoot::paint):
16930
169312011-05-12  Anders Carlsson  <andersca@apple.com>
16932
16933        Address review comment by Dan Bernstein.
16934
16935        * loader/DocumentLoader.cpp:
16936        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
16937
169382011-05-12  Anders Carlsson  <andersca@apple.com>
16939
16940        Reviewed by Dan Bernstein.
16941
16942        Crash when a plug-in tries to load a resource from the application cache
16943        https://bugs.webkit.org/show_bug.cgi?id=60735
16944        <rdar://problem/8216142>
16945
16946        When loading application cache resources from disk, we would never restore the
16947        HTTP status code, which means that resources would always have a 0 status code.
16948        This led to the plug-in stream loader canceling the load, something which the application
16949        cache loading machinery couldn't deal and thus would crash.
16950
16951        Fix the reading of the HTTP status code, and make the loader more robust against
16952        application cache loads being canceled.
16953
16954        Unfortunately, I couldn't come up with a test for this because I couldn't find a reliable way
16955        to force the application cache to be read from disk, so all resources would have valid values.
16956
16957        * loader/DocumentLoader.cpp:
16958        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
16959        * loader/appcache/ApplicationCacheStorage.cpp:
16960        (WebCore::ApplicationCacheStorage::loadCache):
16961
169622011-05-12  Emil A Eklund  <eae@chromium.org>
16963
16964        Reviewed by Darin Adler.
16965
16966        Convert RenderBox::setLocation, setLogicalLocation and setLogicalSize to IntPoint/IntSize
16967        https://bugs.webkit.org/show_bug.cgi?id=60585
16968
16969        Refactoring, covered by existing tests.
16970
16971        * rendering/RenderBox.cpp:
16972        (WebCore::RenderBox::positionLineBox):
16973        * rendering/RenderBox.h:
16974        (WebCore::RenderBox::setLogicalLocation):
16975        (WebCore::RenderBox::setLogicalSize):
16976        (WebCore::RenderBox::setLocation):
16977        * rendering/RenderFrameSet.cpp:
16978        (WebCore::RenderFrameSet::positionFrames):
16979        (WebCore::RenderFrameSet::positionFramesWithFlattening):
16980        * rendering/RenderMedia.cpp:
16981        (WebCore::RenderMedia::layout):
16982        * rendering/RenderScrollbarPart.cpp:
16983        (WebCore::RenderScrollbarPart::paintIntoRect):
16984        * rendering/RenderTable.cpp:
16985        (WebCore::RenderTable::adjustLogicalHeightForCaption):
16986        (WebCore::RenderTable::layout):
16987        * rendering/RenderTableSection.cpp:
16988        (WebCore::RenderTableSection::layoutRows):
16989        * rendering/RenderTextControlSingleLine.cpp:
16990        (WebCore::RenderTextControlSingleLine::layout):
16991        * rendering/svg/SVGRootInlineBox.cpp:
16992        (WebCore::SVGRootInlineBox::layoutRootBox):
16993
169942011-05-12  Adrienne Walker  <enne@google.com>
16995
16996        Reviewed by James Robinson.
16997
16998        [chromium] show-composited-layer-tree crashes on null ptr deref
16999        https://bugs.webkit.org/show_bug.cgi?id=60734
17000
17001        The tiler is created lazily, so it won't not be around for the first
17002        dumpLayerProperties call.
17003
17004        * platform/graphics/chromium/ContentLayerChromium.cpp:
17005        (WebCore::ContentLayerChromium::dumpLayerProperties):
17006
170072011-05-12  Patrick Gansterer  <paroga@webkit.org>
17008
17009        Reviewed by Adam Barth.
17010
17011        Enable OwnPtr strict mode in PluginHalter
17012        https://bugs.webkit.org/show_bug.cgi?id=60681
17013
17014        Pass PluginHalterClient as (Pass)OwnPtr to Page and PluginHalter.
17015
17016        * WebCore.exp.in:
17017        * page/Page.cpp:
17018        (WebCore::Page::Page):
17019        (WebCore::Page::PageClients::PageClients):
17020        * page/Page.h:
17021        * page/PluginHalter.cpp:
17022        (WebCore::PluginHalter::PluginHalter):
17023        * page/PluginHalter.h:
17024
170252011-05-12  Daniel Bates  <dbates@rim.com>
17026
17027        Reviewed by Adele Peterson.
17028
17029        Frame's noResize attribute can not be set by JavaScript
17030        https://bugs.webkit.org/show_bug.cgi?id=14845
17031
17032        Tests: fast/frames/frame-inherit-noresize-from-frameset.html
17033               fast/frames/frame-programmatic-noresize.html
17034               fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
17035               fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
17036
17037        Implements support to programmatically allow and disallow frame resizing.
17038
17039        Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
17040        m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
17041        point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
17042        frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
17043        attribute.
17044
17045        * html/HTMLFrameElement.cpp:
17046        (WebCore::HTMLFrameElement::HTMLFrameElement):
17047        (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
17048        code path isn't performance critical.
17049        (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
17050        parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
17051        (WebCore::HTMLFrameElement::parseMappedAttribute):
17052        * html/HTMLFrameElement.h:
17053        * rendering/RenderFrame.cpp:
17054        (WebCore::RenderFrame::updateFromElement): Added.
17055        * rendering/RenderFrame.h:
17056        * rendering/RenderFrameSet.cpp:
17057        (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
17058        * rendering/RenderFrameSet.h:
17059
170602011-05-12  Emil A Eklund  <eae@chromium.org>
17061
17062        Reviewed by Darin Adler.
17063
17064        Replace IntPoint with const IntPoint& in RenderFlexibleBox::placeChild
17065        https://bugs.webkit.org/show_bug.cgi?id=60640
17066
17067        Pass by const reference instead of by value for consistency reasons.
17068
17069        Refactoring, covered by existing tests.
17070
17071        * rendering/RenderFlexibleBox.cpp:
17072        (WebCore::RenderFlexibleBox::placeChild):
17073        * rendering/RenderFlexibleBox.h:
17074        Use const IntPoint& instead of just IntPoint to avoid extra constructor overhead
17075
170762011-05-12  Dan Bernstein  <mitz@apple.com>
17077
17078        Reviewed by Sam Weinig.
17079
17080        <rdar://problem/9427336> WebFindOptionsAtWordStarts still fails with some Japanese words
17081        https://bugs.webkit.org/show_bug.cgi?id=60730
17082
17083        * editing/TextIterator.cpp:
17084        (WebCore::SearchBuffer::isWordStartMatch): Consider all positions before a CJK ideograph as
17085        word starts.
17086
170872011-05-12  Levi Weintraub  <leviw@chromium.org>
17088
17089        Reviewed by Eric Seidel.
17090
17091        Switch paintBoxDecorationWithSize to IntRect
17092        https://bugs.webkit.org/show_bug.cgi?id=60679
17093
17094        Switching paintBoxDecorationWithSize to take an IntRect instead of 4 ints.
17095
17096        No new tests as this is simple refactoring.
17097
17098        * rendering/RenderBox.cpp:
17099        (WebCore::RenderBox::paintBoxDecorations): Cleaning up amazingly confusing logic.
17100        (WebCore::RenderBox::paintBoxDecorationsWithSize):
17101        * rendering/RenderBox.h:
17102        * rendering/RenderTextControlSingleLine.cpp:
17103        (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
17104
171052011-05-12  Levi Weintraub  <leviw@chromium.org>
17106
17107        Reviewed by Eric Seidel.
17108
17109        Switch paintBoxShadow to use IntRect
17110        https://bugs.webkit.org/show_bug.cgi?id=60713
17111
17112        Switching paintBoxShadow from taking four ints to taking an IntRect.
17113
17114        No new tests since this is refactoring.
17115
17116        * rendering/InlineFlowBox.cpp:
17117        (WebCore::InlineFlowBox::paintBoxShadow):
17118        (WebCore::InlineFlowBox::paintBoxDecorations):
17119        * rendering/InlineFlowBox.h:
17120        * rendering/RenderBox.cpp:
17121        (WebCore::RenderBox::paintBoxDecorationsWithSize):
17122        * rendering/RenderBoxModelObject.cpp:
17123        (WebCore::RenderBoxModelObject::paintBoxShadow):
17124        * rendering/RenderBoxModelObject.h:
17125        * rendering/RenderFieldset.cpp:
17126        (WebCore::RenderFieldset::paintBoxDecorations):
17127        * rendering/RenderTable.cpp:
17128        (WebCore::RenderTable::paintBoxDecorations):
17129        * rendering/RenderTableCell.cpp:
17130        (WebCore::RenderTableCell::paintBoxDecorations):
17131
171322011-05-12  Maciej Stachowiak  <mjs@apple.com>
17133
17134        Reviewed by Darin Adler.
17135
17136        XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
17137        https://bugs.webkit.org/show_bug.cgi?id=59394
17138
17139        Properly fix this (formerly rolled out for breaking the build). I think the original
17140        failure had nothing to do with Deque<OwnPtr>, which in fact appears to work fine.
17141
17142        * dom/XMLDocumentParserLibxml2.cpp:
17143        (WebCore::PendingCallbacks::~PendingCallbacks):
17144        (WebCore::PendingCallbacks::create):
17145        (WebCore::PendingCallbacks::appendStartElementNSCallback):
17146        (WebCore::PendingCallbacks::appendEndElementNSCallback):
17147        (WebCore::PendingCallbacks::appendCharactersCallback):
17148        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
17149        (WebCore::PendingCallbacks::appendCDATABlockCallback):
17150        (WebCore::PendingCallbacks::appendCommentCallback):
17151        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
17152        (WebCore::PendingCallbacks::appendErrorCallback):
17153        (WebCore::PendingCallbacks::PendingCallbacks):
17154        (WebCore::XMLDocumentParser::XMLDocumentParser):
17155
171562011-05-12  Daniel Bates  <dbates@rim.com>
17157
17158        Reviewed by Kenneth Rohde Christiansen.
17159
17160        [Qt] fast/events/fire-mousedown-while-pressing-mouse-button.html failing
17161        https://bugs.webkit.org/show_bug.cgi?id=58863
17162
17163        Fixes an issue where a platform mouse event corresponding to mouse button A
17164        may be associated with the wrong WebCore mouse button when the event occurs
17165        while pressing and holding a mouse button B, where A != B.
17166
17167        For example, a person clicks the middle mouse button while pressing and holding
17168        the left mouse button. Then we dispatch the following DOM events: mouse down for
17169        left button, mouse down for left button, mouse up for left button. But, we should
17170        have dispatched: mouse down for left button, mouse down for middle button, mouse up
17171        for middle button.
17172
17173        * platform/qt/PlatformMouseEventQt.cpp:
17174        (WebCore::mouseEventTypeAndMouseButtonFromQEvent): Added.
17175        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventTypeAndMouseButtonFromQEvent()
17176        to determine the WebCore mouse event type and button from the platform-specific event.
17177
171782011-05-12  Levi Weintraub  <leviw@chromium.org>
17179
17180        Reviewed by Eric Seidel.
17181
17182        Switch paintMask and paintMaskImages off of ints
17183        https://bugs.webkit.org/show_bug.cgi?id=60578
17184
17185        Primarily switching paintMask and paintMaskImages to use IntSize and IntRect respectively.
17186        In the process of that:
17187         - added an "expand" function to IntRect that allows you to add an IntSize or pair of
17188           integers to the size portion of an IntRect.
17189         - changed borderFitAdjust to take an IntRect. It modifies only the x and width attributes.
17190
17191        No new tests since this refactoring.
17192
17193        * platform/graphics/IntRect.h:
17194        (WebCore::IntRect::expand): Added for convenience.
17195        * rendering/RenderBlock.cpp:
17196        (WebCore::RenderBlock::paintObject):
17197        (WebCore::RenderBlock::borderFitAdjust):
17198        * rendering/RenderBlock.h:
17199        * rendering/RenderBox.cpp:
17200        (WebCore::RenderBox::paintBoxDecorationsWithSize):
17201        (WebCore::RenderBox::paintMask):
17202        (WebCore::RenderBox::paintMaskImages):
17203        * rendering/RenderBox.h:
17204        (WebCore::RenderBox::borderFitAdjust):
17205        * rendering/RenderFieldset.cpp:
17206        (WebCore::RenderFieldset::paintMask):
17207        * rendering/RenderFieldset.h:
17208        * rendering/RenderReplaced.cpp:
17209        (WebCore::RenderReplaced::paint):
17210        * rendering/RenderReplica.cpp:
17211        (WebCore::RenderReplica::paint):
17212        * rendering/RenderTable.cpp:
17213        (WebCore::RenderTable::paintObject):
17214        (WebCore::RenderTable::paintMask):
17215        * rendering/RenderTable.h:
17216        * rendering/RenderTableCell.cpp:
17217        (WebCore::RenderTableCell::paintMask):
17218        * rendering/RenderTableCell.h:
17219        * rendering/RenderWidget.cpp:
17220        (WebCore::RenderWidget::paint):
17221
172222011-05-12  Patrick Gansterer  <paroga@webkit.org>
17223
17224        Reviewed by Eric Seidel.
17225
17226        SimpleFontData::scaledFontData should return a PassOwnPtr
17227        https://bugs.webkit.org/show_bug.cgi?id=60657
17228
17229        Let scaledFontData return a PassOwnPtr instead of a raw pointer
17230        to make SimpleFontData build without LOOSE_PASS_OWN_PTR.
17231
17232        * platform/graphics/SimpleFontData.h:
17233        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
17234        (WebCore::SimpleFontData::scaledFontData):
17235        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17236        (WebCore::SimpleFontData::scaledFontData):
17237        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
17238        (WebCore::SimpleFontData::scaledFontData):
17239        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
17240        (WebCore::SimpleFontData::scaledFontData):
17241        * platform/graphics/mac/SimpleFontDataMac.mm:
17242        (WebCore::SimpleFontData::scaledFontData):
17243        * platform/graphics/pango/SimpleFontDataPango.cpp:
17244        (WebCore::SimpleFontData::scaledFontData):
17245        * platform/graphics/qt/SimpleFontDataQt.cpp:
17246        (WebCore::SimpleFontData::scaledFontData):
17247        * platform/graphics/win/SimpleFontDataWin.cpp:
17248        (WebCore::SimpleFontData::scaledFontData):
17249        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
17250        (WebCore::SimpleFontData::scaledFontData):
17251        * platform/graphics/wx/SimpleFontDataWx.cpp:
17252        (WebCore::SimpleFontData::scaledFontData):
17253
172542011-05-12  Jessie Berlin  <jberlin@apple.com>
17255
17256        Reviewed by Darin Adler.
17257
17258        Assertion failure when requesting that storage be deleted for an origin without storage.
17259        https://bugs.webkit.org/show_bug.cgi?id=60709
17260
17261        * storage/StorageTracker.cpp:
17262        (WebCore::StorageTracker::syncDeleteOrigin):
17263        If the path to the storage location for the givin origin is empty, return early instead of
17264        asserting.
17265
172662011-05-12  Jessie Berlin  <jberlin@apple.com>
17267
17268        Reviewed by Darin Adler.
17269
17270        [Windows WebKit2] Use cookies set in WebKit1
17271        https://bugs.webkit.org/show_bug.cgi?id=60274
17272
17273        Make sure any Private Browsing session is based off the default session.
17274
17275        * platform/network/cf/ResourceHandleCFNet.cpp:
17276        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
17277
172782011-05-12  Rob Buis  <rbuis@rim.com>
17279
17280        Reviewed by Eric Seidel.
17281
17282        SVGStyledElement::resolveStyle(RenderStyle*) must be removed/fixed!
17283        https://bugs.webkit.org/show_bug.cgi?id=15479
17284
17285        Finally remove resolveStyle, it is not used anymore.
17286
17287        * svg/SVGStyledElement.cpp:
17288        (WebCore::SVGStyledElement::childrenChanged):
17289        * svg/SVGStyledElement.h:
17290
172912011-05-12  Adam Barth  <abarth@webkit.org>
17292
17293        Reviewed by Darin Adler.
17294
17295        REGRESSION (r65868): createContextualFragment does not work with <style>
17296        https://bugs.webkit.org/show_bug.cgi?id=60155
17297
17298        createContextualFragment doesn't have a spec, so it's hard to tell what
17299        we're supposed to do exactly.  This patch appears to make our behavior
17300        more like Firefox and should fix the compat issue with this site.
17301
17302        Tests: fast/parser/style-in-create-contextual-fragment-head.html
17303               fast/parser/style-in-create-contextual-fragment.html
17304
17305        * dom/Element.cpp:
17306        (WebCore::Element::deprecatedCreateContextualFragment):
17307
173082011-05-12  Ryosuke Niwa  <rniwa@webkit.org>
17309
17310        Reviewed by Darin Adler.
17311
17312        WebKit inserts base, link, meta, style, and title elements into an editable region
17313        when pasting table cells from Excel
17314        https://bugs.webkit.org/show_bug.cgi?id=60644
17315
17316        Strip base, link, meta, style, and tile elements from the fragment to be pasted prior
17317        to the merge. We don't have to strip these elements in performTrivialReplace because
17318        the function only handles a fragment that consists of exactly one text node.
17319
17320        Test: editing/pasteboard/paste-head-contents.html
17321
17322        * editing/ReplaceSelectionCommand.cpp:
17323        (WebCore::removeHeadContents): Added.
17324        (WebCore::ReplaceSelectionCommand::doApply): Calls removeHeadContents before handing
17325        style spans.
17326
173272011-05-12  Levi Weintraub  <leviw@chromium.org>
17328
17329        Reviewed by Simon Fraser.
17330
17331        Switch calculateBackgroundImageGeometry to use IntRect
17332        https://bugs.webkit.org/show_bug.cgi?id=60671
17333
17334        Replacing the four ints passed into calculateBackgroundImageGeometry with an IntRect.
17335
17336        No new tests since this is just refactoring.
17337
17338        * rendering/RenderBox.cpp:
17339        (WebCore::RenderBox::maskClipRect):
17340        (WebCore::RenderBox::repaintLayerRectsForImage):
17341        * rendering/RenderBoxModelObject.cpp:
17342        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
17343        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
17344        * rendering/RenderBoxModelObject.h:
17345
173462011-05-12  Carol Szabo  <carol@webkit.org>
17347
17348        Reviewed by David Hyatt.
17349
17350        Fix reparenting and destruction of counter nodes. 
17351        https://bugs.webkit.org/show_bug.cgi?id=57929
17352
17353        Fixed several issues related to not met assertions.
17354        See below in the per file description.
17355
17356        Test: fast/css/counters/element-removal-crash.xhtml
17357
17358        * dom/ContainerNode.cpp:
17359        (WebCore::ContainerNode::removeChildren):
17360        Fixed the fact that Node::detach() used to be called
17361        while the DOM tree was in an inconsistent state.
17362        * rendering/RenderCounter.cpp:
17363        (WebCore::RenderCounter::rendererRemovedFromTree):
17364        Introduced this function to remove counters from
17365        descendents of renderers removed from the renderer
17366        tree not only from the removed renderers themselves.
17367        * rendering/RenderCounter.h:
17368        * rendering/RenderObjectChildList.cpp:
17369        (WebCore::RenderObjectChildList::removeChildNode):
17370        Changed to call RenderCounter::rendererRemovedFromTree
17371        instead of RenderCounter::destroyCounters.
17372
173732011-05-12  Luke Macpherson   <macpherson@chromium.org>
17374
17375        Reviewed by Dimitri Glazkov.
17376
17377        Merge ApplyPropertyExpanding and ApplyPropertyExpandingSuppressValue classes using template.
17378        https://bugs.webkit.org/show_bug.cgi?id=60691
17379
17380        No new tests - refactoring only.
17381
17382        * css/CSSStyleApplyProperty.cpp:
17383        (WebCore::ApplyPropertyExpanding::applyValue):
17384        Use new template parameter to early exit if needed.
17385        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
17386        Specify template parameters for ApplyPropertyExpanding.
17387
173882011-05-12  Simon Fraser  <simon.fraser@apple.com>
17389
17390        Followup to r86351; give the vectors some inline capacity
17391        to avoid heap allocations in most cases.
17392
17393        * page/animation/AnimationBase.cpp:
17394        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
17395
173962011-05-12  Simon Fraser  <simon.fraser@apple.com>
17397
17398        Reviewed by Dan Bernstein.
17399
17400        Mismatched multiple box-shadows do not transition as expected
17401        https://bugs.webkit.org/show_bug.cgi?id=60137
17402        
17403        When animating between two sets of shadows of different lengths, we need
17404        to walk the ShadowData list backwards, since it stores the shadows in
17405        reverse order relative to the CSS (so that painting is back-to-front).
17406        
17407        This progresses the behavior of the transitions/multiple-shadow-transitions.html
17408        test, which is given new expected results.
17409
17410        Test: transitions/mismatched-shadow-transitions.html
17411
17412        * page/animation/AnimationBase.cpp:
17413        (WebCore::shadowListLength): Utility to walk the list of ShadowData and count the number
17414        of shadows.
17415        (WebCore::shadowForBlending): Return a ShadowData* that is useful as a blending target,
17416        based on the shadow type, and whether it's a -webkit-box-shadow.
17417        (WebCore::PropertyWrapperShadow::blend): Call one of the specialized blend methods.
17418        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists): Fast path
17419        for shadow blending, when the list lengths match, or both are single or null shadows.
17420        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists): Slower path that builds
17421        vectors for each list to reverse them.
17422
174232011-05-12  Adam Roben  <aroben@apple.com>
17424
17425        Attempted WinCairo build fix after r86169, part II
17426
17427        * platform/network/curl/CredentialStorageCurl.cpp: Added a missing #include.
17428
174292011-05-12  Adam Roben  <aroben@apple.com>
17430
17431        Fix linker warnings in Production builds
17432
17433        * WebCore.vcproj/WebCore.vcproj: Exclude JSSVGFEDropShadowElement.cpp from the build in the
17434        Production configuration, just like in the other configurations. Let VS resort some files
17435        (again).
17436
174372011-05-12  Philippe Normand  <pnormand@igalia.com>
17438
17439        Reviewed by Adam Roben.
17440
17441        Autocorrection persists after deleting and retyping the same word at same location.
17442        https://bugs.webkit.org/show_bug.cgi?id=60555
17443
17444        Follow-up fix for the 3 editing/deleting tests crashing on GTK,
17445        Leopard and Windows XP. Don't create the Range if the start of the
17446        selection has no next position.
17447
17448        * editing/DeleteSelectionCommand.cpp:
17449        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
17450
174512011-05-12  Adam Roben  <aroben@apple.com>
17452
17453        Attempted WinCairo build fix after r86169
17454
17455        * WebCore.vcproj/WebCore.vcproj: Added CredentialStorageCurl.cpp. Also let VS do what it
17456        wants.
17457
17458        * platform/network/curl/CredentialStorageCurl.cpp: Added.
17459        (WebCore::CredentialStorage::getFromPersistentStorage): Stubbed out.
17460
174612011-05-12  Adam Roben  <aroben@apple.com>
17462
17463        Build fixes after r86325
17464
17465        * editing/SpellingCorrectionController.cpp:
17466        * editing/SpellingCorrectionController.h:
17467        Added missing declarations/#includes.
17468
174692011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
17470
17471        Not reviewed.
17472
17473        String operator+ reallocates unnecessary when concatting > 2 strings
17474        https://bugs.webkit.org/show_bug.cgi?id=58420
17475
17476        Attempt to fix the WinCE build. WinCE/WinCairo still won't link because of unresolved symbols, hmm. If we had EWS for those, I would have caught the problem earlier.
17477
17478        * platform/wince/FileSystemWinCE.cpp:
17479        (WebCore::listDirectory):
17480
174812011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
17482
17483        Not reviewed.
17484
17485        String operator+ reallocates unnecessary when concatting > 2 strings
17486        https://bugs.webkit.org/show_bug.cgi?id=58420
17487
17488        Fix fast/forms/input-image-submit.html regression, seens on the bots - by removing a last-minute typo: s/!!/!/
17489
17490        * html/ImageInputType.cpp:
17491        (WebCore::ImageInputType::appendFormData):
17492
174932011-05-12  Rob Buis  <rwlbuis@gmail.com>
17494
17495        Reviewed by Eric Seidel.
17496
17497        REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
17498        https://bugs.webkit.org/show_bug.cgi?id=59941
17499
17500        Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.
17501
17502        Test: svg/custom/fill-opacity-update.svg
17503
17504        * rendering/style/SVGRenderStyle.cpp:
17505        (WebCore::SVGRenderStyle::diff):
17506
175072011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
17508
17509        Reviewed by Darin Adler.
17510
17511        String operator+ reallocates unnecessary when concatting > 2 strings
17512        https://bugs.webkit.org/show_bug.cgi?id=58420
17513
17514        Provide a faster String append operator. See Source/JavaScriptCore/ChangeLog for details.
17515
17516        * dom/XMLDocumentParserLibxml2.cpp:
17517        (WebCore::handleElementAttributes):
17518        * editing/MarkupAccumulator.cpp:
17519        (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
17520        * html/HTMLAnchorElement.cpp:
17521        (WebCore::HTMLAnchorElement::hash):
17522        (WebCore::HTMLAnchorElement::search):
17523        * html/ImageInputType.cpp:
17524        (WebCore::ImageInputType::appendFormData):
17525        * html/parser/HTMLTreeBuilder.cpp:
17526        * loader/CrossOriginAccessControl.cpp:
17527        (WebCore::passesAccessControlCheck):
17528        * page/Location.cpp:
17529        (WebCore::Location::search):
17530        (WebCore::Location::hash):
17531        * page/NavigatorBase.cpp:
17532        (WebCore::NavigatorBase::platform):
17533        * platform/chromium/ClipboardChromium.cpp:
17534        (WebCore::writeImageToDataObject):
17535        * platform/gtk/PasteboardHelper.cpp:
17536        (WebCore::PasteboardHelper::fillSelectionData):
17537        * platform/network/cf/ResourceHandleCFNet.cpp:
17538        (WebCore::encodeBasicAuthorization):
17539        * platform/network/cf/SocketStreamHandleCFNet.cpp:
17540        (WebCore::SocketStreamHandle::copyCFStreamDescription):
17541        * platform/network/mac/ResourceHandleMac.mm:
17542        (WebCore::encodeBasicAuthorization):
17543        * workers/WorkerLocation.cpp:
17544        (WebCore::WorkerLocation::search):
17545        (WebCore::WorkerLocation::hash):
17546
175472011-05-06  Yury Semikhatsky  <yurys@chromium.org>
17548
17549        Reviewed by Pavel Feldman.
17550
17551        Web Inspector: move agents from InspectorAgent to InspectorController
17552        https://bugs.webkit.org/show_bug.cgi?id=60359
17553
17554        All inspector agents are now created and owned by InspectorController which
17555        in turned is owned by the inspected Page. InspectorInstrumentation gets access
17556        to the instrumenting agents by means of InspectorAgent::instrumentingAgents().
17557
17558        In addition to managing inspector agents lifetime InspectorController sets
17559        InspectorFronted on the agents when the front-end is connected.
17560
17561        * inspector/InspectorAgent.cpp:
17562        (WebCore::InspectorAgent::InspectorAgent):
17563        (WebCore::InspectorAgent::~InspectorAgent):
17564        (WebCore::InspectorAgent::inspectedPageDestroyed):
17565        (WebCore::InspectorAgent::restore):
17566        (WebCore::InspectorAgent::setFrontend):
17567        (WebCore::InspectorAgent::clearFrontend):
17568        * inspector/InspectorAgent.h: all accessors to other agents were removed along with
17569        the agents themselves from InspectorAgent. Every agent that depends on some other agents
17570        receives pointers to them explicitely in its constructor. All access to the agents
17571        from WebCore should go through InspectorInstrumentation which retrieves corresponding
17572        agents using InstrumentingAgents structure which represents the set of active agents.
17573        (WebCore::InspectorAgent::instrumentingAgents):
17574        * inspector/InspectorController.cpp:
17575        (WebCore::InspectorController::InspectorController):
17576        (WebCore::InspectorController::~InspectorController):
17577        (WebCore::InspectorController::inspectedPageDestroyed):
17578        (WebCore::InspectorController::startTimelineProfiler):
17579        (WebCore::InspectorController::stopTimelineProfiler):
17580        (WebCore::InspectorController::connectFrontend):
17581        (WebCore::InspectorController::disconnectFrontend):
17582        (WebCore::InspectorController::restoreInspectorStateFromCookie):
17583        (WebCore::InspectorController::drawNodeHighlight):
17584        (WebCore::InspectorController::inspect):
17585        (WebCore::InspectorController::timelineProfilerEnabled):
17586        (WebCore::InspectorController::hideHighlight):
17587        (WebCore::InspectorController::highlightedNode):
17588        (WebCore::InspectorController::enableProfiler):
17589        (WebCore::InspectorController::disableProfiler):
17590        (WebCore::InspectorController::profilerEnabled):
17591        (WebCore::InspectorController::debuggerEnabled):
17592        (WebCore::InspectorController::disableDebugger):
17593        (WebCore::InspectorController::startUserInitiatedProfiling):
17594        (WebCore::InspectorController::stopUserInitiatedProfiling):
17595        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
17596        (WebCore::InspectorController::resume):
17597        * inspector/InspectorController.h:
17598        * inspector/InspectorInstrumentation.cpp:
17599        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
17600        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
17601        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
17602        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
17603        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
17604        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
17605        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
17606        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
17607        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
17608        (WebCore::InspectorInstrumentation::consoleCountImpl):
17609        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
17610        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
17611        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
17612        (WebCore::InspectorInstrumentation::addProfileImpl):
17613        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
17614        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
17615        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
17616        * page/Page.cpp:
17617        (WebCore::Page::~Page): we send two notifications when inspected Page is being
17618        destroyed: one to the inspector instrumentation and another one to the InspectorController
17619        which is owned by the Page.
17620
176212011-05-12  Tony Gentilcore  <tonyg@chromium.org>
17622
17623        Build fix: include ExceptionCode.h
17624        https://bugs.webkit.org/show_bug.cgi?id=60694
17625
17626        * dom/Range.cpp:
17627
176282011-05-10  Tony Gentilcore  <tonyg@chromium.org>
17629
17630        Reviewed by Darin Adler.
17631
17632        Perform some forward declarations suggested by include-what-you-use
17633        https://bugs.webkit.org/show_bug.cgi?id=60545
17634
17635        * accessibility/AccessibilityObject.cpp:
17636        * accessibility/AccessibilityRenderObject.cpp:
17637        * accessibility/mac/AccessibilityObjectWrapper.mm:
17638        * dom/DocumentMarkerController.cpp:
17639        * dom/Position.cpp:
17640        * dom/PositionIterator.cpp:
17641        * dom/Range.cpp:
17642        * editing/ApplyBlockElementCommand.cpp:
17643        * editing/ApplyStyleCommand.cpp:
17644        * editing/Editor.cpp:
17645        * editing/EditorCommand.cpp:
17646        * editing/FrameSelection.cpp:
17647        * editing/HTMLInterchange.cpp:
17648        * editing/IndentOutdentCommand.cpp:
17649        * editing/ReplaceSelectionCommand.cpp:
17650        * editing/SpellChecker.h:
17651        * editing/SpellingCorrectionCommand.cpp:
17652        * editing/SpellingCorrectionController.h:
17653        * editing/TextCheckingHelper.cpp:
17654        * editing/TextIterator.h:
17655        * editing/htmlediting.h:
17656        * editing/markup.cpp:
17657        * editing/visible_units.cpp:
17658        * editing/visible_units.h:
17659        * fileapi/DOMFileSystem.cpp:
17660        * fileapi/DirectoryReaderSync.cpp:
17661        * fileapi/DirectoryReaderSync.h:
17662        * fileapi/FileEntry.h:
17663        * fileapi/FileWriter.h:
17664        * fileapi/FileWriterBase.h:
17665        * fileapi/FileWriterSync.h:
17666        * history/CachedFrame.cpp:
17667        * history/CachedPage.cpp:
17668        * history/HistoryItem.cpp:
17669        * history/HistoryItem.h:
17670        * history/PageCache.h:
17671        * loader/HistoryController.h:
17672        * loader/PingLoader.h:
17673        * loader/ResourceLoader.h:
17674        * loader/appcache/DOMApplicationCache.h:
17675        * loader/cache/CachedCSSStyleSheet.h:
17676        * loader/cache/CachedFont.cpp:
17677        * loader/cache/CachedFont.h:
17678        * loader/cache/CachedResourceRequest.cpp:
17679        * loader/cache/CachedResourceRequest.h:
17680        * loader/cache/MemoryCache.h:
17681        * notifications/Notification.cpp:
17682        * notifications/Notification.h:
17683        * notifications/NotificationCenter.cpp:
17684        * notifications/NotificationCenter.h:
17685        * page/Chrome.cpp:
17686        * page/Chrome.h:
17687        * page/DOMSelection.cpp:
17688        * page/DOMTimer.h:
17689        * page/DOMWindow.cpp:
17690        * page/EventHandler.cpp:
17691        * page/FocusController.h:
17692        * page/Geolocation.cpp:
17693        * page/Geolocation.h:
17694        * page/History.cpp:
17695        * rendering/RenderListBox.cpp:
17696        * workers/WorkerContext.cpp:
17697
176982011-05-12  Yuta Kitamura  <yutak@chromium.org>
17699
17700        Unreviewed, another attempt of build fix.
17701
17702        * websockets/CloseEvent.h:
17703        * websockets/CloseEvent.idl:
17704
177052011-05-12  Yuta Kitamura  <yutak@chromium.org>
17706
17707        Unreviewed, trying to fix Qt minimal compile.
17708
17709        * websockets/CloseEvent.idl:
17710
177112011-05-12  ojab  <ojab@ojab.ru>
17712
17713        Reviewed by Eric Seidel.
17714
17715        Fix build with --disable-video --enable-fullscreen-api
17716        https://bugs.webkit.org/show_bug.cgi?id=60542
17717
17718        * css/CSSStyleSelector.cpp:
17719        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
17720
177212011-05-12  Yuta Kitamura  <yutak@chromium.org>
17722
17723        Reviewed by Kent Tamura.
17724
17725        WebSocket add new event: CloseEvent
17726        https://bugs.webkit.org/show_bug.cgi?id=35573
17727
17728        Original patch was written by Fumitoshi Ukai <ukai@chromium.org>.
17729        I added CloseEvent constructor to DOMWindow, so it can be referred
17730        in the new test (close-event.html).
17731
17732        Test: http/tests/websocket/tests/close-event.html
17733
17734        * CMakeLists.txt:
17735        * CodeGenerators.pri:
17736        * DerivedSources.cpp:
17737        * DerivedSources.make:
17738        * GNUmakefile.list.am:
17739        * WebCore.gypi:
17740        * WebCore.pro:
17741        * WebCore.vcproj/WebCore.vcproj:
17742        * WebCore.xcodeproj/project.pbxproj:
17743        * bindings/js/JSEventCustom.cpp:
17744        (WebCore::toJS):
17745        * bindings/v8/custom/V8EventCustom.cpp:
17746        (WebCore::toV8):
17747        * dom/Event.cpp:
17748        (WebCore::Event::isCloseEvent):
17749        * dom/Event.h:
17750        * page/DOMWindow.idl: Add CloseEvent constructor.
17751        * websockets/CloseEvent.h: Added.
17752        (WebCore::CloseEvent::isCloseEvent):
17753        (WebCore::CloseEvent::create):
17754        (WebCore::CloseEvent::initCloseEvent):
17755        (WebCore::CloseEvent::wasClean):
17756        (WebCore::CloseEvent::CloseEvent):
17757        * websockets/CloseEvent.idl: Added.
17758        * websockets/WebSocket.cpp:
17759        (WebCore::WebSocket::didClose):
17760
177612011-05-12  Ben Wells  <benwells@chromium.org>
17762
17763        Reviewed by Simon Fraser.
17764
17765        RGBA colors in outlines show overpainting at the corners
17766        https://bugs.webkit.org/show_bug.cgi?id=58999
17767
17768        Tests: fast/borders/outline-alpha-block.html
17769               fast/borders/outline-alpha-inline.html
17770
17771        Updated baseline images for tests with rgba outlines:
17772               fast/box-shadow/box-shadow-radius.html
17773               fast/layers/self-painting-outline.html
17774
17775         * rendering/RenderInline.cpp:
17776        (WebCore::RenderInline::paintOutline):
17777        (WebCore::RenderInline::paintOutlineForLine):
17778        * rendering/RenderInline.h:
17779        * rendering/RenderObject.cpp:
17780        (WebCore::RenderObject::paintOutline):
17781
177822011-05-11  Levi Weintraub  <leviw@chromium.org>
17783
17784        Reviewed by Eric Seidel.
17785
17786        Rename Widget::pos()
17787        https://bugs.webkit.org/show_bug.cgi?id=60575
17788
17789        Renaming Widget::pos() to the more-descriptive location().
17790
17791        No new tests as this is a simple rename
17792
17793        * page/FrameView.cpp:
17794        (WebCore::FrameView::create):
17795        * platform/Widget.h:
17796        (WebCore::Widget::location):
17797        (WebCore::Widget::resize):
17798
177992011-05-10  MORITA Hajime  <morrita@google.com>
17800
17801        Reviewed by Kent Tamura.
17802
17803        Crashes if the document inside iframe is removed during pasting some text into it.
17804        https://bugs.webkit.org/show_bug.cgi?id=60534
17805
17806        Added missing null check.
17807        
17808        Test: editing/pasteboard/paste-removing-iframe.html
17809
17810        * editing/Editor.cpp:
17811        (WebCore::Editor::shouldChangeSelection):
17812
178132011-05-11  Brian Salomon  <bsalomon@google.com>
17814
17815        Reviewed by Eric Seidel.
17816
17817        Handle case when GrContext creation fails
17818        https://bugs.webkit.org/show_bug.cgi?id=60410
17819
17820        Exercised by all canvas tests when DRT is run with skia-gpu
17821
17822        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
17823        (WebCore::SharedGraphicsContext3D::grContext):
17824
178252011-05-11  Pratik Solanki  <psolanki@apple.com>
17826
17827        Reviewed by Andreas Kling.
17828
17829        Remove empty class CallbackGuard
17830        https://bugs.webkit.org/show_bug.cgi?id=60610
17831
17832        CallbackGuard was only ever used on Tiger and it is now an empty class. Remove all uses of it.
17833
17834        * platform/network/mac/ResourceHandleMac.mm:
17835        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
17836        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
17837        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
17838        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
17839        (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
17840        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
17841        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
17842        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
17843        (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
17844        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
17845        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
17846        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
17847
178482011-05-11  Luke Macpherson   <macpherson@chromium.org>
17849
17850        Reviewed by Eric Seidel.
17851
17852        Implement CSSPropertyMargin and CSSPropertyPadding in CSSStyleApplyProperty.
17853        https://bugs.webkit.org/show_bug.cgi?id=60609
17854
17855        No new tests - refactoring only.
17856
17857        * css/CSSStyleApplyProperty.cpp:
17858        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
17859        Initialise CSSPropertyMargin and CSSPropertyPadding handlers.
17860        * css/CSSStyleSelector.cpp:
17861        (WebCore::CSSStyleSelector::applyProperty):
17862        Remove unused implementations.
17863
178642011-05-11  Robin Dunn  <robin@alldunn.com>
17865
17866        Reviewed by Kevin Ollivier.
17867
17868        [wx] Implement more clipping functions for wxWebKit.
17869        
17870        https://bugs.webkit.org/show_bug.cgi?id=60662
17871
17872        * platform/graphics/wx/GraphicsContextWx.cpp:
17873        (WebCore::GraphicsContext::clip):
17874        (WebCore::GraphicsContext::clipOut):
17875
178762011-05-11  Damian Kaleta  <dkaleta@apple.com>
17877
17878        Reviewed by Brady Eidson.
17879
17880        Need a new API that will try to restore the scrollbars' position, when navigating in the back/forward history
17881        https://bugs.webkit.org/show_bug.cgi?id=60674
17882
17883        * WebCore.exp.in: Export restoreScrollPositionAndViewState()
17884
178852011-05-11  Levi Weintraub  <leviw@chromium.org>
17886
17887        Reviewed by Eric Seidel.
17888
17889        Switch paintFillLayer and its progeny to use IntRect instead of four ints
17890        https://bugs.webkit.org/show_bug.cgi?id=60596
17891
17892        Changing integers passed into paintFillLayer and other derivatives to IntRects
17893        and IntSizes that reflect their function.
17894
17895        No new tests since this is just refactoring.
17896
17897        * rendering/InlineFlowBox.cpp:
17898        (WebCore::InlineFlowBox::paintFillLayers):
17899        (WebCore::InlineFlowBox::paintFillLayer):
17900        (WebCore::InlineFlowBox::paintBoxDecorations):
17901        (WebCore::InlineFlowBox::paintMask):
17902        * rendering/InlineFlowBox.h:
17903        * rendering/RenderBox.cpp:
17904        (WebCore::RenderBox::paintRootBoxFillLayers):
17905        (WebCore::RenderBox::paintBoxDecorationsWithSize):
17906        (WebCore::RenderBox::paintMaskImages):
17907        (WebCore::RenderBox::paintFillLayers):
17908        (WebCore::RenderBox::paintFillLayer):
17909        * rendering/RenderBox.h:
17910        * rendering/RenderBoxModelObject.cpp:
17911        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
17912        * rendering/RenderBoxModelObject.h:
17913        * rendering/RenderFieldset.cpp:
17914        (WebCore::RenderFieldset::paintBoxDecorations):
17915        * rendering/RenderTable.cpp:
17916        (WebCore::RenderTable::paintBoxDecorations):
17917        * rendering/RenderTableCell.cpp:
17918        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
17919
179202011-05-11  Nat Duca  <nduca@chromium.org>
17921
17922        Reviewed by James Robinson.
17923
17924        [chromium] Use mapTexSubImage2D for tile uploads if available
17925        https://bugs.webkit.org/show_bug.cgi?id=60008
17926
17927        * platform/graphics/chromium/LayerTilerChromium.cpp:
17928        (WebCore::LayerTilerChromium::LayerTilerChromium):
17929        (WebCore::LayerTilerChromium::update):
17930        (WebCore::LayerTilerChromium::updateFromPixels):
17931        * platform/graphics/chromium/LayerTilerChromium.h:
17932
179332011-05-11  Alexis Menard  <alexis.menard@openbossa.org>
17934
17935        Reviewed by Kenneth Rohde Christiansen.
17936
17937        [Qt] Implements a disable appearance for Media Elements of Qt port.
17938        https://bugs.webkit.org/show_bug.cgi?id=60561
17939
17940        Implements a disable appearance for the media controls of the Qt port
17941        when the media is not yet available.
17942
17943        * platform/qt/RenderThemeQt.cpp:
17944        (WebCore::mediaElementCanPlay):
17945        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
17946        (WebCore::RenderThemeQt::paintMediaSliderThumb):
17947
179482011-05-11  Kent Tamura  <tkent@chromium.org>
17949
17950        Reviewed by Dimitri Glazkov.
17951
17952        input type=email is too strict
17953        https://bugs.webkit.org/show_bug.cgi?id=55988
17954
17955        Follow the updated specification.
17956
17957        * html/EmailInputType.cpp: Update the pattern to allow a domain part without periods.
17958
179592011-05-11  Jia Pu  <jpu@apple.com>
17960
17961        Reviewed by Darin Adler.
17962
17963        Autocorrection persists after deleting and retyping the same word at same location.
17964        https://bugs.webkit.org/show_bug.cgi?id=60555
17965        <rdar://problem/9373915>
17966
17967        This patch intends to alleviate the issue of repetitively applying the same autocorrection
17968        when user delete and retype the same word at the same location. This scenario is especially
17969        common when autocorrection modifies the first letter of the word.
17970
17971        This patch consists following major changes:
17972        1. Added a new marker type, DeletedAutocorrection. This marker is added to the whitespace that
17973           precedes a deleted autocorrection. If the user later types the same original word at after
17974           this whitespace, the autocorrection will not be applied again.
17975        2. In DeleteSelectionCommand, added code to notify SpellingCorrectionController about the
17976           autocorrection that has just been deleted.
17977        3. In Editor and SpellingCorrectionController, added code to apply the marker and to suppress
17978           autocorrection when necessary.
17979        4. The change in CompositeEditCommand::replaceTextInNode is necessary for preserving markers.
17980           Otherwise, we will loose the DeletedAutocorrection on the whitespace, when inserting text
17981           after the whitespace.
17982
17983        Test: platform/mac/editing/spelling/delete-autocorrected-word-2.html
17984
17985        * dom/DocumentMarker.h: Added new marker type DeletedAutocorrection.
17986        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
17987        * dom/DocumentMarkerController.cpp:
17988        (WebCore::DocumentMarkerController::markersInRange): Support querying multiple marker types.
17989        * dom/DocumentMarkerController.h:
17990        * editing/CompositeEditCommand.cpp:
17991        (WebCore::CompositeEditCommand::replaceTextInNodeAndPreserveMarkers):
17992        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
17993        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
17994        * editing/CompositeEditCommand.h:
17995        * editing/DeleteSelectionCommand.cpp:
17996        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
17997        (WebCore::DeleteSelectionCommand::fixupWhitespace):
17998        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection): Extracting
17999           the original string if we are deleting an autocorrection.
18000        (WebCore::DeleteSelectionCommand::doApply): Notify editor about the deleted autocorrection and its position.
18001        * editing/DeleteSelectionCommand.h:
18002        * editing/Editor.cpp:
18003        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Moved all logic of determining
18004           when to suppress an autocorrection into SpellingCorrectionController.
18005        (WebCore::Editor::deletedAutocorrectionAtPosition):
18006        * editing/Editor.h:
18007        * editing/InsertParagraphSeparatorCommand.cpp:
18008        (WebCore::InsertParagraphSeparatorCommand::doApply):
18009        * editing/SpellingCorrectionController.cpp:
18010        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
18011        (WebCore::SpellingCorrectionController::deletedAutocorrectionAtPosition):
18012        (WebCore::SpellingCorrectionController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
18013        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
18014        * editing/SpellingCorrectionController.h:
18015        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
18016        * editing/visible_units.cpp:
18017        (WebCore::isStartOfWord):
18018        * editing/visible_units.h:
18019        * manual-tests/autocorrection/spell-checking-after-reversion.html:
18020
180212011-05-11  Dan Bernstein  <mitz@apple.com>
18022
18023        Reviewed by Darin Adler.
18024
18025        <rdar://problem/9414874> Layout unnecessarily interrupts smooth scrolling at msnbc.com
18026        https://bugs.webkit.org/show_bug.cgi?id=60677
18027
18028        * platform/ScrollView.cpp:
18029        (WebCore::ScrollView::updateScrollbars): Only perform an immediate scroll, aborting any running
18030        animation, if the new scroll offset computed here is different from the current scroll offset.
18031
180322011-05-11  Kent Tamura  <tkent@chromium.org>
18033
18034        Reviewed by Dimitri Glazkov.
18035
18036        <input pattern="1|10" value="10"> doesn't work correctly.
18037        https://bugs.webkit.org/show_bug.cgi?id=60619
18038
18039        Fixes a bug that patternMismatch returns a wrong result if
18040         - a whole value matches to a pattern,
18041         - a sub-string of the value also matches to the pattern, and
18042         - the sub-string matching has priority.
18043
18044        * html/BaseTextInputType.cpp:
18045        (WebCore::BaseTextInputType::patternMismatch):
18046          Enclose the specified pattern with ^( and )$.
18047
180482011-05-11  Zelidrag Hornung  <zelidrag@chromium.org>
18049
18050        Reviewed by David Levin.
18051
18052        Prevented DOMFileSystemBase from imposing file naming restrictions on
18053        external file systems.
18054
18055        https://bugs.webkit.org/show_bug.cgi?id=60583
18056
18057        There are no new tests for this change since it requires the presence
18058        of external file system provider which is specific to the platform host
18059        process. Chromium implementation will test this within its extension API
18060        test suite.
18061
18062        * fileapi/DOMFileSystemBase.cpp:
18063        (WebCore::pathToAbsolutePath):
18064        (WebCore::DOMFileSystemBase::getFile):
18065        (WebCore::DOMFileSystemBase::getDirectory):
18066
180672011-05-11  Antoine Labour  <piman@chromium.org>
18068
18069        Reviewed by David Levin.
18070
18071        Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the
18072        loaded resource.
18073        https://bugs.webkit.org/show_bug.cgi?id=60656
18074
18075        * loader/DocumentThreadableLoader.cpp:
18076        (WebCore::DocumentThreadableLoader::loadRequest):
18077        Pass the shouldBufferData to the resource load scheduler, forcing it to true for the
18078        preflight request.
18079        * loader/ResourceLoadScheduler.cpp:
18080        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
18081        Pass through shouldBufferData to SubresourceLoader::create
18082        * loader/ResourceLoadScheduler.h:
18083
18084        * loader/SubresourceLoader.cpp:
18085        (WebCore::SubresourceLoader::create):
18086        Set shouldBufferData on the newly created loader
18087
18088        * loader/SubresourceLoader.h:
18089
18090        * loader/ThreadableLoader.h:
18091        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
18092        Add shouldBufferData to the options, defaulting to true.
18093
180942011-05-11  Jay Civelli  <jcivelli@chromium.org>
18095
18096        Reviewed by Adam Barth.
18097
18098        Adding a Content-Type parser. This is needed for MHTML support.
18099        https://bugs.webkit.org/show_bug.cgi?id=60637
18100
18101        (WebCore::ScriptController::disableEval):
18102        * platform/network/ContentTypeParser.cpp: Added.
18103        * platform/network/ContentTypeParser.h: Added.
18104
181052011-05-11  Jessie Berlin  <jberlin@apple.com>
18106
18107        Reviewed by Steve Falkenburg.
18108
18109        [Windows WebKit2] Use cookies set in WebKit1
18110        https://bugs.webkit.org/show_bug.cgi?id=60274
18111
18112        Share the default storage session between the UI and Web Processes.
18113
18114        * platform/network/cf/CookieStorageCFNet.cpp:
18115        (WebCore::defaultSessionCookieStorage):
18116        Keep track of the default storage session cookie storage.
18117        (WebCore::currentCookieStorage):
18118        Call defaultCookieStorage to get the default cookie storage.
18119        (WebCore::defaultCookieStorage):
18120        If there is a default storage session cookie storage, prefer that over getting the default
18121        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
18122        without specifying a storage session will not get the cookie storage being shared by the UI
18123        and Web Processes.
18124
18125        * platform/network/ResourceHandle.h:
18126        * platform/network/cf/ResourceHandleCFNet.cpp:
18127        (WebCore::willSendRequest):
18128        Make sure to set the current storage session on any requests used by the Web
18129        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
18130        doing anything with the Web Process's default storage session (which is not the one shared
18131        with the UI Process).
18132        (WebCore::makeFinalRequest):
18133        Ditto.
18134        (WebCore::ResourceHandle::willSendRequest):
18135        Ditto.
18136        (WebCore::ResourceHandle::currentStorageSession):
18137        If there is a Private Browsing storage session, return that.
18138        If not, on Windows return the default storage session that is being shared with the UI
18139        Process and on Mac return 0.
18140        (WebCore::defaultCFURLStorageSession):
18141        (WebCore::ResourceHandle::setDefaultStorageSession):
18142        (WebCore::ResourceHandle::defaultStorageSession):
18143
18144        * platform/network/cf/ResourceRequestCFNet.cpp:
18145        (WebCore::ResourceRequest::doUpdatePlatformRequest):
18146        Make sure to set the current storage session on any requests used by the Web
18147        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
18148        doing anything with the Web Process's default storage session (which is not the one shared
18149        with the UI Process).
18150
181512011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
18152
18153        Reviewed by David Kilzer.
18154
18155        Remove wml directory from include lists
18156        https://bugs.webkit.org/show_bug.cgi?id=60646
18157
18158        Remove wml dir from CMake, Autotools and qmake build systems since WML
18159        was removed in r85256.
18160
18161        No new tests since no change in functionality.
18162
18163        * CMakeLists.txt:
18164        * GNUmakefile.am:
18165        * WebCore.pri:
18166
181672011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
18168
18169        Reviewed by Antonio Gomes.
18170
18171        [CMAKE] Move EFL-specific file to CMakeListsEfl.txt
18172        https://bugs.webkit.org/show_bug.cgi?id=60642
18173
18174        Move file EFL-specific file to the CMakeListsEfl.txt file. This implies
18175        having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND
18176        calls, since they depend on lists that now may change inside a port
18177        like WebCore_USER_AGENT_STYLE_SHEETS.
18178
18179        No new tests since no change in functionality.
18180
18181        * CMakeLists.txt: remove css file specific to EFL port.
18182        * CMakeListsEfl.txt: move file here.
18183
181842011-05-11  Tao Bai  <michaelbai@chromium.org>
18185
18186        Reviewed by David Kilzer.
18187
18188        Return empty Favicon URL instead of default one when the frame isn't top level one
18189        https://bugs.webkit.org/show_bug.cgi?id=60527
18190        This issue was discovered by chromium browser test.
18191
18192        * dom/Document.cpp:
18193        (WebCore::Document::setIconURL):
18194        Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785.
18195        * loader/FrameLoader.cpp:
18196        (WebCore::FrameLoader::iconURLs):
18197        (WebCore::FrameLoader::fillIconURL):
18198        Restored original logic, the empty URL should be returned instead of default one. The client (at
18199        least chromium) may rely on the returned value to decided whether the favicon should be changed.
18200
182012011-05-11  Nat Duca  <nduca@chromium.org>
18202
18203        Reviewed by Kenneth Russell.
18204
18205        [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
18206        https://bugs.webkit.org/show_bug.cgi?id=60508
18207
18208        When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need
18209        to prevent WebGL from running too far ahead of the GPU process. The current
18210        throttling mechanism relies on prepareTexture being called for every WebGL frame.
18211        However, in a non-requestAnimFrame application, multiple frames might get created
18212        before the compositor runs and calls prepareTexture on the surface.
18213
18214        To address this, we post a task that calls a special rate limiting GL extension on
18215        the WebGL context after every WebGL "frame." When the compositor runs, it calls
18216        prepareTexture as usual.
18217
18218        * platform/graphics/chromium/Extensions3DChromium.h:
18219        * platform/graphics/chromium/LayerRendererChromium.cpp:
18220        (WebCore::LayerRendererChromium::LayerRendererChromium):
18221        * platform/graphics/chromium/LayerRendererChromium.h:
18222        (WebCore::LayerRendererChromium::setIsAnimating):
18223        (WebCore::LayerRendererChromium::isAnimating):
18224        * platform/graphics/chromium/WebGLLayerChromium.cpp:
18225        (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask):
18226        (WebCore::WebGLLayerChromiumRateLimitTask::run):
18227        (WebCore::WebGLLayerChromiumRateLimitTask::cancel):
18228        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
18229        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
18230        (WebCore::WebGLLayerChromium::setTextureUpdated):
18231        (WebCore::WebGLLayerChromium::setContext):
18232        * platform/graphics/chromium/WebGLLayerChromium.h:
18233        (WebCore::WebGLLayerChromium::context):
18234
182352011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18236
18237        Reviewed by Kenneth Rohde Christiansen.
18238
18239        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18240        https://bugs.webkit.org/show_bug.cgi?id=60439
18241
18242        Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation
18243        mechanism happens inside TextureMapper, and we interpolate right before we paint.
18244
18245        No new tests. Tests in LayoutTests/compositing cover this.
18246
18247        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
18248        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
18249        (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
18250        (WebCore::GraphicsLayerTextureMapper::addAnimation):
18251        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
18252        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
18253        (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired):
18254        * platform/graphics/texmap/TextureMapperNode.cpp:
18255        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
18256        (WebCore::normalizedAnimationValue):
18257        (WebCore::TextureMapperNode::applyOpacityAnimation):
18258        (WebCore::solveEpsilon):
18259        (WebCore::solveCubicBezierFunction):
18260        (WebCore::solveStepsFunction):
18261        (WebCore::applyTimingFunction):
18262        (WebCore::TextureMapperNode::applyTransformAnimation):
18263        (WebCore::TextureMapperNode::applyAnimationFrame):
18264        (WebCore::TextureMapperNode::applyAnimation):
18265        (WebCore::TextureMapperNode::hasRunningOpacityAnimation):
18266        (WebCore::TextureMapperNode::hasRunningTransformAnimation):
18267        (WebCore::TextureMapperNode::syncAnimations):
18268        (WebCore::copyTimingFunction):
18269        (WebCore::copyAnimationValue):
18270        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
18271        * platform/graphics/texmap/TextureMapperNode.h:
18272        (WebCore::TextureMapperAnimation::create):
18273
182742011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18275
18276        Reviewed by Kenneth Rohde Christiansen.
18277
18278        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18279        https://bugs.webkit.org/show_bug.cgi?id=60439
18280
18281        Patch 11/12: Patch PluginView to build with TextureMapper on Linux.
18282
18283        No new tests. This is a build fix.
18284
18285        * platform/qt/QWebPageClient.h:
18286        (QWebPageClient::setRootGraphicsLayer):
18287
182882011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18289
18290        Reviewed by Kenneth Rohde Christiansen.
18291
18292        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18293        https://bugs.webkit.org/show_bug.cgi?id=60439
18294
18295        Patch 10/12: Glue the TextureMapper refactoring into Webkit(1).
18296        Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient.
18297
18298        No new tests. Tests in LayoutTests/compositing cover this.
18299
18300        * platform/qt/QWebPageClient.h:
18301        (QWebPageClient::setRootGraphicsLayer):
18302
183032011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18304
18305        Reviewed by Kenneth Rohde Christiansen.
18306
18307        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18308        https://bugs.webkit.org/show_bug.cgi?id=60439
18309
18310        Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy.
18311        Changes include:
18312        1. Support the new TextureMapperPlatformLayer for media & WebGL.
18313        2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures.
18314        3. Divide computation operations to different smaller functions.
18315        4. Get rid of scissor/clip layers, use transformed clip instead.
18316        5. Allow tiling for big layers.
18317
18318        No new tests. Tests in LayoutTests/compositing cover this.
18319
18320        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
18321        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
18322        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
18323        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
18324        (WebCore::GraphicsLayerTextureMapper::platformLayer):
18325        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
18326        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
18327        (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas):
18328        (WebCore::GraphicsLayerTextureMapper::node):
18329        * platform/graphics/texmap/TextureMapperNode.cpp:
18330        (WebCore::TextureMapperSurfaceManager::getIntermediateSurface):
18331        (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface):
18332        (WebCore::toTextureMapperNode):
18333        (WebCore::TextureMapperNode::rootLayer):
18334        (WebCore::TextureMapperNode::setTransform):
18335        (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded):
18336        (WebCore::TextureMapperNode::countDescendantsWithContent):
18337        (WebCore::TextureMapperNode::computeOverlapsIfNeeded):
18338        (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded):
18339        (WebCore::TextureMapperNode::computeLocalTransformIfNeeded):
18340        (WebCore::TextureMapperNode::needsToComputeBoundingRect):
18341        (WebCore::TextureMapperNode::computeAllTransforms):
18342        (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded):
18343        (WebCore::TextureMapperNode::computeTiles):
18344        (WebCore::TextureMapperNode::computeVisibleRectIfNeeded):
18345        (WebCore::TextureMapperNode::renderContent):
18346        (WebCore::TextureMapperNode::paint):
18347        (WebCore::TextureMapperNode::targetRectForTileRect):
18348        (WebCore::TextureMapperNode::paintSelf):
18349        (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
18350        (WebCore::TextureMapperNode::sortByZOrder):
18351        (WebCore::TextureMapperNode::paintSelfAndChildren):
18352        (WebCore::TextureMapperNode::paintReflection):
18353        (WebCore::TextureMapperNode::paintRecursive):
18354        (WebCore::TextureMapperNode::~TextureMapperNode):
18355        (WebCore::TextureMapperNode::resetDescendants):
18356        (WebCore::TextureMapperNode::setContentScale):
18357        (WebCore::TextureMapperNode::setVisibleRect):
18358        (WebCore::TextureMapperNode::syncCompositingState):
18359        (WebCore::TextureMapperNode::invalidateOverlaps):
18360        (WebCore::TextureMapperNode::syncCompositingStateSelf):
18361        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
18362        * platform/graphics/texmap/TextureMapperNode.h:
18363        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
18364        (WebCore::TextureMapperAnimation::create):
18365        (WebCore::TextureMapperNode::TextureMapperNode):
18366        (WebCore::TextureMapperNode::size):
18367        (WebCore::TextureMapperNode::setOpacity):
18368        (WebCore::TextureMapperNode::setTextureMapper):
18369        (WebCore::TextureMapperNode::media):
18370        (WebCore::TextureMapperNode::texture):
18371        (WebCore::TextureMapperNode::targetRect):
18372        (WebCore::TextureMapperNode::entireRect):
18373        (WebCore::TextureMapperNode::contentSize):
18374        (WebCore::TextureMapperNode::State::State):
18375        (WebCore::deleteOwnedPtr):
18376
183772011-05-07  Noam Rosenthal  <noam.rosenthal@nokia.com>
18378
18379        Reviewed by Kenneth Rohde Christiansen.
18380
18381        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18382        https://bugs.webkit.org/show_bug.cgi?id=60439
18383
18384        Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate
18385        them to different patches. This is the summary of what the changes do:
18386
18387        1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that.
18388        2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead,
18389           we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs.
18390        3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the
18391           GL context otherwise.
18392        4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their
18393           internal content.
18394        5. Allow packing and unpacking. This is currently a stub, for future memory optimizations.
18395        6. Put some of the initialization code here (beginPainting/endPainting).
18396        7. Allow painting a texture via an ID instead of a BitmapTexture data type.
18397        8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current.
18398
18399        No new tests. Tests in LayoutTests/compositing test this.
18400
18401        * platform/graphics/opengl/TextureMapperGL.cpp:
18402        (WebCore::debugGLCommand):
18403        (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram):
18404        (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData):
18405        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
18406        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
18407        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
18408        (WebCore::TextureMapperGLData::TextureMapperGLData):
18409        (WebCore::BitmapTextureGL::id):
18410        (WebCore::BitmapTextureGL::isOpaque):
18411        (WebCore::BitmapTextureGL::relativeSize):
18412        (WebCore::BitmapTextureGL::setTextureMapper):
18413        (WebCore::BitmapTextureGL::pack):
18414        (WebCore::BitmapTextureGL::unpack):
18415        (WebCore::BitmapTextureGL::isPacked):
18416        (WebCore::BitmapTextureGL::BitmapTextureGL):
18417        (WebCore::TextureMapperGL::TextureMapperGL):
18418        (WebCore::TextureMapperGL::initializeShaders):
18419        (WebCore::TextureMapperGL::beginPainting):
18420        (WebCore::TextureMapperGL::endPainting):
18421        (WebCore::TextureMapperGL::drawTexture):
18422        (WebCore::BitmapTextureGL::reset):
18423        (WebCore::BitmapTextureGL::endPaint):
18424        (WebCore::BitmapTextureGL::setContentsToImage):
18425        (WebCore::createProjectionMatrix):
18426        (WebCore::BitmapTextureGL::bind):
18427        (WebCore::BitmapTextureGL::destroy):
18428        (WebCore::TextureMapperGL::~TextureMapperGL):
18429        (WebCore::TextureMapperGL::bindSurface):
18430        (WebCore::TextureMapperGL::beginClip):
18431        (WebCore::TextureMapperGL::endClip):
18432        (WebCore::TextureMapperGL::createTexture):
18433        * platform/graphics/opengl/TextureMapperGL.h:
18434        (WebCore::TextureMapperGL::allowSurfaceForRoot):
18435        (WebCore::TextureMapperGL::create):
18436        (WebCore::TextureMapperGL::setGraphicsContext):
18437        (WebCore::TextureMapperGL::graphicsContext):
18438        (WebCore::TextureMapperGL::isOpenGLBacked):
18439        * platform/graphics/qt/GraphicsContext3DQt.cpp:
18440        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
18441        (WebCore::GraphicsContext3DInternal::boundingRect):
18442        (WebCore::GraphicsContext3DInternal::paint):
18443        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
18444        (WebCore::MediaPlayerPrivateQt::repaint):
18445        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
18446        * platform/graphics/qt/MediaPlayerPrivateQt.h:
18447        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
18448        (WebCore::MediaPlayerPrivateQt::platformLayer):
18449
184502011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18451
18452        Reviewed by Kenneth Rohde Christiansen.
18453
18454        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18455        https://bugs.webkit.org/show_bug.cgi?id=60439
18456
18457        Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper.
18458        This allows using a WebGL canvas with CSS.
18459
18460        No new tests. Tests in LayoutTests/compositing/webgl cover this.
18461
18462        * platform/graphics/qt/GraphicsContext3DQt.cpp:
18463        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
18464        (WebCore::GraphicsContext3DInternal::boundingRect):
18465        (WebCore::GraphicsContext3DInternal::paint):
18466        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
18467        (WebCore::MediaPlayerPrivateQt::repaint):
18468        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
18469        * platform/graphics/qt/MediaPlayerPrivateQt.h:
18470        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
18471        (WebCore::MediaPlayerPrivateQt::platformLayer):
18472
184732011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18474
18475        Reviewed by Kenneth Rohde Christiansen.
18476
18477        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18478        https://bugs.webkit.org/show_bug.cgi?id=60439
18479
18480        Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper,
18481        to allow videos to be composited.
18482
18483        No new tests. Tests in LayoutTests/compositing cover this.
18484
18485        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
18486        (WebCore::MediaPlayerPrivateQt::repaint):
18487        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
18488        * platform/graphics/qt/MediaPlayerPrivateQt.h:
18489        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
18490        (WebCore::MediaPlayerPrivateQt::platformLayer):
18491
184922011-05-11  John Bauman  <jbauman@chromium.org>
18493
18494        Reviewed by Kenneth Russell.
18495
18496        Don't send zeros in TexImage if GL implementation handles that
18497        https://bugs.webkit.org/show_bug.cgi?id=60581
18498
18499        Chromium already handles zeroing textures upon creation, so don't
18500        bother zeroing them in WebKit, as that causes some unnecessary memcpys
18501        of zeros.
18502
18503        No new tests as functionality is the same.
18504
18505        * html/canvas/WebGLRenderingContext.cpp:
18506        (WebCore::WebGLRenderingContext::texImage2DBase):
18507        * platform/graphics/GraphicsContext3D.cpp:
18508        (WebCore::GraphicsContext3D::texImage2DResourceSafe):
18509        * platform/graphics/GraphicsContext3D.h:
18510        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
18511        (WebCore::GraphicsContext3D::GraphicsContext3D):
18512        * platform/graphics/mac/GraphicsContext3DMac.mm:
18513        (WebCore::GraphicsContext3D::GraphicsContext3D):
18514        * platform/graphics/qt/GraphicsContext3DQt.cpp:
18515        (WebCore::GraphicsContext3D::GraphicsContext3D):
18516
185172011-05-11  Simon Fraser  <simon.fraser@apple.com>
18518
18519        Attempt to fix Chromium Mac build.
18520
18521        * rendering/RenderThemeMac.mm:
18522        (WebCore::RenderThemeMac::paintSliderThumb):
18523
185242011-05-11  Daniel Bates  <dbates@rim.com>
18525
18526        Reviewed by Antonio Gomes.
18527
18528        [Qt] Extract code to set mouse event modifiers into common function
18529        https://bugs.webkit.org/show_bug.cgi?id=60649
18530
18531        Consolidate code to set the keyboard modifiers for a mouse event into a common
18532        function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount)
18533        and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code.
18534
18535        No functionality was changed. So, no new tests.
18536
18537        * platform/qt/PlatformMouseEventQt.cpp:
18538        (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added.
18539        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers().
18540
185412011-05-11  Levi Weintraub  <leviw@chromium.org>
18542
18543        Reviewed by Eric Seidel.
18544
18545        Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints
18546        https://bugs.webkit.org/show_bug.cgi?id=60591
18547
18548        Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect.
18549
18550        No new tests since there is no functionality change.
18551
18552        * rendering/InlineFlowBox.cpp:
18553        (WebCore::InlineFlowBox::paintBoxDecorations):
18554        * rendering/RenderBox.cpp:
18555        (WebCore::RenderBox::paintBoxDecorationsWithSize):
18556        * rendering/RenderBoxModelObject.cpp:
18557        (WebCore::RenderBoxModelObject::paintBorder):
18558        * rendering/RenderBoxModelObject.h:
18559        * rendering/RenderFieldset.cpp:
18560        (WebCore::RenderFieldset::paintBoxDecorations):
18561        * rendering/RenderTable.cpp:
18562        (WebCore::RenderTable::paintBoxDecorations):
18563        * rendering/RenderTableCell.cpp:
18564        (WebCore::RenderTableCell::paintBoxDecorations):
18565
185662011-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
18567
18568        Unreviewed, rolling out r86255.
18569        http://trac.webkit.org/changeset/86255
18570        https://bugs.webkit.org/show_bug.cgi?id=60660
18571
18572        REGRESSION (r86255): Lots of tests crashing in
18573        CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
18574        (WebKit2 Tests) (Requested by aroben on #webkit).
18575
18576        * platform/network/ResourceHandle.h:
18577        * platform/network/cf/CookieStorageCFNet.cpp:
18578        (WebCore::currentCookieStorage):
18579        (WebCore::defaultCookieStorage):
18580        * platform/network/cf/ResourceHandleCFNet.cpp:
18581        (WebCore::willSendRequest):
18582        (WebCore::makeFinalRequest):
18583        (WebCore::ResourceHandle::willSendRequest):
18584        * platform/network/cf/ResourceRequestCFNet.cpp:
18585        (WebCore::ResourceRequest::doUpdatePlatformRequest):
18586
185872011-05-11  Sam Weinig  <sam@webkit.org>
18588
18589        Reviewed by Eric Seidel.
18590
18591        Frequent crashes beneath WebCore::ScriptElement::prepareScript
18592        https://bugs.webkit.org/show_bug.cgi?id=60559
18593
18594        * html/parser/HTMLScriptRunner.cpp:
18595        (WebCore::HTMLScriptRunner::runScript):
18596        Add null check and explanation that we are keeping the ASSERT to help
18597        track down the cause and produce a test.
18598
185992011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18600
18601        Reviewed by Kenneth Rohde Christiansen.
18602
18603        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18604        https://bugs.webkit.org/show_bug.cgi?id=60439
18605
18606        Patch 5/12: Implement the new TextureMapper functions for the Qt backend.
18607        This allow non-rectangular clipping, some stub functions, and getting a unique
18608        id for an image.
18609
18610        No new tests. Tests in LayoutTests/compositing cover this.
18611
18612        * platform/graphics/qt/TextureMapperQt.cpp:
18613        (WebCore::TextureMapperQt::beginClip):
18614        (WebCore::TextureMapperQt::endClip):
18615        (WebCore::TextureMapperQt::viewportSize):
18616        (WebCore::TextureMapperQt::setGraphicsContext):
18617        (WebCore::TextureMapperQt::graphicsContext):
18618        (WebCore::TextureMapperQt::drawTexture):
18619        (WebCore::TextureMapperQt::beginPainting):
18620        (WebCore::TextureMapperQt::endPainting):
18621        (WebCore::RGBA32PremultimpliedBufferQt::beginPaint):
18622        (WebCore::uidForImage):
18623        * platform/graphics/qt/TextureMapperQt.h:
18624
186252011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18626
18627        Reviewed by Kenneth Rohde Christiansen.
18628
18629        [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch
18630        https://bugs.webkit.org/show_bug.cgi?id=60439
18631
18632        Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when
18633        OpenGL is present.
18634
18635        No new tests. This is a build fix.
18636
18637        * WebCore.pri:
18638        * WebCore.pro:
18639
186402011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18641
18642        Reviewed by Kenneth Rohde Christiansen.
18643
18644        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18645        https://bugs.webkit.org/show_bug.cgi?id=60439
18646
18647        Patch 2/12: Add a few functions to the TextureMapper API, allowing:
18648        1. an entry/exit point for painting (beginPaint/endPaint)
18649        2. Clipping with a matrix, since we use stencil instead of scissors
18650        3. Draw a texture directly with an ID
18651        4. Remove offset, since we're using real tiling
18652        5. numberOfBytes calculation for textures, for memory management
18653
18654        No new tests. Tests in LayoutTests/compositing test this.
18655
18656        * platform/graphics/texmap/TextureMapper.h:
18657        (WebCore::BitmapTexture::destroy):
18658        (WebCore::BitmapTexture::allowOfflineTextureUpload):
18659        (WebCore::BitmapTexture::bpp):
18660        (WebCore::BitmapTexture::numberOfBytes):
18661        (WebCore::TextureMapper::viewportSize):
18662        (WebCore::TextureMapper::setViewportSize):
18663        (WebCore::TextureMapper::allowPartialUpdates):
18664        (WebCore::TextureMapper::isOpenGLBacked):
18665        (WebCore::TextureMapper::setTransform):
18666        (WebCore::TextureMapper::transform):
18667        (WebCore::TextureMapper::beginPainting):
18668        (WebCore::TextureMapper::endPainting):
18669
186702011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
18671
18672        Reviewed by Kenneth Rohde Christiansen.
18673
18674        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
18675        https://bugs.webkit.org/show_bug.cgi?id=60439
18676
18677        Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a
18678        media player to decide how to paint into the TextureMapper, rather than mandate specific
18679        types of platform layers.
18680
18681        No new tests. Tests in LayoutTests/compositing test this.
18682
18683        * platform/graphics/GraphicsLayer.h:
18684        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
18685
186862011-05-11  Simon Fraser  <simon.fraser@apple.com>
18687
18688        Reviewed by Darin Adler.
18689
18690        Flesh out RenderLayer's ScrollableArea implementation a little more
18691        https://bugs.webkit.org/show_bug.cgi?id=60593
18692
18693        Override a few more ScrollableArea methods on RenderLayer
18694        as a baby-step towards animating overflow div scrolling.
18695
18696        * platform/ScrollableArea.h:
18697        (WebCore::ScrollableArea::visibleContentRect):
18698        * rendering/RenderLayer.cpp:
18699        (WebCore::RenderLayer::scrollPosition):
18700        (WebCore::RenderLayer::minimumScrollPosition):
18701        (WebCore::RenderLayer::maximumScrollPosition):
18702        (WebCore::RenderLayer::visibleContentRect):
18703        (WebCore::RenderLayer::overhangAmount):
18704        (WebCore::RenderLayer::didCompleteRubberBand):
18705        * rendering/RenderLayer.h:
18706        (WebCore::RenderLayer::shouldSuspendScrollAnimations):
18707
187082011-05-11  Simon Fraser  <simon.fraser@apple.com>
18709
18710        Reviewed by Dave Hyatt.
18711
18712        <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2
18713        <rdar://problem/9418025> Slider thumb has odd appearance
18714
18715        Fix two issues drawing the slider thumb.
18716        
18717        To fix <rdar://problem/9421781>, if we detect that we're in WebKit2
18718        by virtual of the FrameView not having a documentView, then flip
18719        the graphics context.
18720
18721        To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView:
18722        rather than -drawWithFrame:inView: so that AppKit doesn't draw a section
18723        of track behind the thumb.
18724
18725        * rendering/RenderThemeMac.mm:
18726        (WebCore::RenderThemeMac::paintSliderThumb):
18727
187282011-05-11  Jessie Berlin  <jberlin@apple.com>
18729
18730        Reviewed by Steve Falkenburg.
18731
18732        [Windows WebKit2] Use cookies set in WebKit1
18733        https://bugs.webkit.org/show_bug.cgi?id=60274
18734
18735        Share the default storage session between the UI and Web Processes.
18736
18737        * platform/network/cf/CookieStorageCFNet.cpp:
18738        (WebCore::defaultSessionCookieStorage):
18739        Keep track of the default storage session cookie storage.
18740        (WebCore::currentCookieStorage):
18741        Call defaultCookieStorage to get the default cookie storage.
18742        (WebCore::defaultCookieStorage):
18743        If there is a default storage session cookie storage, prefer that over getting the default
18744        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
18745        without specifying a storage session will not get the cookie storage being shared by the UI
18746        and Web Processes.
18747
18748        * platform/network/ResourceHandle.h:
18749        * platform/network/cf/ResourceHandleCFNet.cpp:
18750        (WebCore::willSendRequest):
18751        Make sure to set the current storage session on any requests used by the Web
18752        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
18753        doing anything with the Web Process's default storage session (which is not the one shared
18754        with the UI Process).
18755        (WebCore::makeFinalRequest):
18756        Ditto.
18757        (WebCore::ResourceHandle::willSendRequest):
18758        Ditto.
18759        (WebCore::ResourceHandle::currentStorageSession):
18760        If there is a Private Browsing storage session, return that.
18761        If not, on Windows return the default storage session that is being shared with the UI
18762        Process and on Mac return 0.
18763        (WebCore::defaultCFURLStorageSession):
18764        (WebCore::ResourceHandle::setDefaultStorageSession):
18765        (WebCore::ResourceHandle::defaultStorageSession):
18766
18767        * platform/network/cf/ResourceRequestCFNet.cpp:
18768        (WebCore::ResourceRequest::doUpdatePlatformRequest):
18769        Make sure to set the current storage session on any requests used by the Web
18770        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
18771        doing anything with the Web Process's default storage session (which is not the one shared
18772        with the UI Process).
18773
187742011-05-11  Martin Robinson  <mrobinson@igalia.com>
18775
18776        Try once more to fix the WinCairo build.
18777
18778        * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative
18779        include rather than a system include.
18780
187812011-05-11  Sam Weinig  <sam@webkit.org>
18782
18783        Reviewed by Eric Seidel.
18784
18785        Stop including Console.h just to get Console enum types
18786        https://bugs.webkit.org/show_bug.cgi?id=60607
18787
18788        Move MessageSource, MessageType and MessageLevel into its own
18789        header and cleanup surrounding classes.
18790
18791        * GNUmakefile.list.am:
18792        * WebCore.gypi:
18793        * WebCore.pro:
18794        * WebCore.vcproj/WebCore.vcproj:
18795        * WebCore.xcodeproj/project.pbxproj:
18796        * bindings/js/JSCustomXPathNSResolver.cpp:
18797        * bindings/scripts/CodeGeneratorJS.pm:
18798        * bindings/v8/V8Proxy.cpp:
18799        * dom/ScriptExecutionContext.h:
18800        * html/HTMLFormElement.cpp:
18801        * html/parser/XSSFilter.cpp:
18802        * inspector/ConsoleMessage.h:
18803        * inspector/InjectedScriptHost.h:
18804        * inspector/InspectorAgent.h:
18805        * inspector/InspectorConsoleAgent.h:
18806        * inspector/InspectorFrontendHost.h:
18807        * inspector/InspectorInstrumentation.cpp:
18808        * inspector/InspectorInstrumentation.h:
18809        * loader/EmptyClients.h:
18810        * loader/FrameLoader.cpp:
18811        * loader/MainResourceLoader.cpp:
18812        * loader/appcache/ApplicationCacheGroup.cpp:
18813        * page/ChromeClient.h:
18814        * page/Console.cpp:
18815        (WebCore::Console::~Console):
18816        * page/Console.h:
18817        * page/ConsoleTypes.h: Added.
18818        * page/ContentSecurityPolicy.cpp:
18819        * page/Geolocation.h:
18820        * workers/WorkerReportingProxy.h:
18821        * xml/XMLHttpRequest.cpp:
18822
188232011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
18824
18825        Unreviewed, rolling out r85650.
18826        http://trac.webkit.org/changeset/85650
18827        https://bugs.webkit.org/show_bug.cgi?id=59983
18828
18829        Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
18830
18831        * dom/ContainerNode.cpp:
18832        (WebCore::ContainerNode::childrenChanged):
18833        * dom/Node.cpp:
18834        (WebCore::Node::~Node):
18835        (WebCore::Node::setDocument):
18836        (WebCore::Node::setTreeScopeRecursively):
18837        (WebCore::Node::childNodes):
18838        (WebCore::Node::registerDynamicNodeList):
18839        (WebCore::Node::unregisterDynamicNodeList):
18840        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
18841        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
18842        (WebCore::Node::getElementsByTagName):
18843        (WebCore::Node::getElementsByTagNameNS):
18844        (WebCore::Node::getElementsByName):
18845        (WebCore::Node::getElementsByClassName):
18846        * dom/Node.h:
18847        * html/HTMLFormControlElement.cpp:
18848        (WebCore::HTMLFormControlElement::labels):
18849
188502011-05-11  Eric Carlson  <eric.carlson@apple.com>
18851
18852        Reviewed by Darin Adler.
18853
18854        Video track sometimes fails to draw.
18855        https://bugs.webkit.org/show_bug.cgi?id=60635
18856        <rdar://problem/9281951>
18857
18858        No new tests, covered by existing pixel tests.
18859
18860        * html/HTMLMediaElement.cpp:
18861        (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a 
18862            recalculation, and media engine notification, the next time the state machine runs.
18863
188642011-05-11  Adam Roben  <aroben@apple.com>
18865
18866        WinCE build fixes for strict PassOwnPtr
18867
18868        * platform/graphics/wince/SharedBitmap.cpp:
18869        (WebCore::SharedBitmap::createHandle):
18870        (WebCore::SharedBitmap::clipBitmap):
18871        Use nullptr instead of 0.
18872
18873        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for
18874        this file until SimpleFontData::scaledFontData is dealt with on all platforms.
18875
18876        * platform/text/wince/TextCodecWinCE.cpp:
18877        (WebCore::newTextCodecWinCE): Use adoptPtr.
18878
188792011-05-11  Chang Shu  <cshu@webkit.org>
18880
18881        Reviewed by Antonio Gomes.
18882
18883        [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
18884        https://bugs.webkit.org/show_bug.cgi?id=60477
18885
18886        PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
18887        The value is checked at EventHandler.cpp:2527 (r86166).
18888
18889        Function keyTextForKeyEvent is partially implemented and can be enhanced in
18890        a need-base.
18891
18892        * platform/qt/PlatformKeyboardEventQt.cpp:
18893        (WebCore::keyTextForKeyEvent):
18894        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
18895
188962011-05-11  Adam Roben  <aroben@apple.com>
18897
18898        Use case-insensitive comparisons when checking plugin filenames on Windows
18899
18900        Windows paths are nearly always case-insensitive.
18901
18902        I couldn't think of a good way to test this.
18903
18904        Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but
18905        should not
18906
18907        Reviewed by Steve Falkenburg.
18908
18909        * plugins/win/PluginPackageWin.cpp:
18910        (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when
18911        checking plugin filenames.
18912
189132011-05-11  Adam Roben  <aroben@apple.com>
18914
18915        Turn on strict PassOwnPtr on Windows
18916
18917        Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
18918
18919        Reviewed by Adam Barth.
18920
18921        * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this
18922        file until SimpleFontData::scaledFontData is dealt with on all platforms.
18923
189242011-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
18925
18926        Reviewed by Geoffrey Garen.
18927
18928        XPathResult should keep its node set's JS wrappers alive
18929        https://bugs.webkit.org/show_bug.cgi?id=34231
18930
18931        The change added a custom mark function for JSC. V8 was already properly
18932        marking the nodes so no change were done on the V8 side.
18933
18934        Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html
18935               fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html
18936               fast/xpath/xpath-result-eventlistener-crash.html
18937               fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html
18938
18939        * Android.jscbindings.mk:
18940        * GNUmakefile.list.am:
18941        * UseJSC.cmake:
18942        * WebCore.gypi:
18943        * WebCore.pro:
18944        * WebCore.vcproj/WebCore.vcproj:
18945        * WebCore.xcodeproj/project.pbxproj:
18946        * bindings/js/JSBindingsAllInOne.cpp:
18947        Added the new file to our build systems.
18948
18949        * bindings/js/JSXPathResultCustom.cpp: Added.
18950        (WebCore::JSXPathResult::markChildren): Added code to mark the
18951        XPathResult snapshot's nodes.
18952        * xml/XPathResult.h:
18953        (WebCore::XPathResult::value): Exposed this getter so that we can
18954        mark our XPathValue.
18955        * xml/XPathResult.idl: Told the IDL parser that we now need
18956        a custom mark function.
18957
189582011-05-04  Philippe Normand  <pnormand@igalia.com>
18959
18960        Reviewed by Martin Robinson.
18961
18962        [Gtk+] deadlock in gstreamer video player when exiting fullscreen
18963        https://bugs.webkit.org/show_bug.cgi?id=58548
18964
18965        Block data flow towards the pipeline branch to remove to avoid
18966        potential deadlocks during the PAUSED->READY transitions of the
18967        elements to remove.
18968
18969        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
18970        (WebCore::GStreamerGWorld::exitFullscreen):
18971
189722011-05-11  Kent Tamura  <tkent@chromium.org>
18973
18974        Reviewed by Hajime Morita.
18975
18976        The position of validation message bubble is wrong for non text fields.
18977        https://bugs.webkit.org/show_bug.cgi?id=60341
18978
18979        Tests: fast/forms/validation-message-on-checkbox.html
18980               fast/forms/validation-message-on-listbox.html
18981               fast/forms/validation-message-on-menulist.html
18982               fast/forms/validation-message-on-radio.html
18983               fast/forms/validation-message-on-textarea.html
18984
18985        * css/html.css:
18986        (::-webkit-validation-bubble-message):
18987          Add white-space:normal in order not to inherit white-space:pre for <select>.
18988        * html/ValidationMessage.cpp:
18989        (WebCore::adjustBubblePosition):
18990          Adjust the bubble position.
18991          - The top of the bubble should be same as the bottom of the target control.
18992          - The left of the bubble should be same as the left of the target control.
18993            But If the left+32 is larger than the center of the target control,
18994            left+32 should be at the center of the target control.
18995            But the left position should not be less than 0.
18996        (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition().
18997
189982011-05-11  Emil A Eklund  <eae@chromium.org>
18999
19000        Reviewed by Eric Seidel.
19001
19002        Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs
19003        https://bugs.webkit.org/show_bug.cgi?id=60592
19004
19005        Refactoring, covered by existing tests.
19006
19007        * rendering/RenderFlexibleBox.cpp:
19008        (WebCore::RenderFlexibleBox::layoutBlock):
19009        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
19010        (WebCore::RenderFlexibleBox::layoutVerticalBox):
19011        (WebCore::RenderFlexibleBox::placeChild):
19012        * rendering/RenderFlexibleBox.h:
19013
190142011-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
19015
19016        Unreviewed buildfix for strict OwnPtr.
19017
19018        * platform/audio/AudioBus.cpp:
19019        (WebCore::AudioBus::createBufferFromRange):
19020        (WebCore::AudioBus::createBySampleRateConverting):
19021        (WebCore::AudioBus::createByMixingToMono):
19022        * platform/audio/HRTFElevation.cpp:
19023        (WebCore::HRTFElevation::createForSubject):
19024        (WebCore::HRTFElevation::createByInterpolatingSlices):
19025        * platform/audio/Panner.cpp:
19026        (WebCore::Panner::create):
19027        * platform/audio/Reverb.cpp:
19028        (WebCore::Reverb::initialize):
19029        * platform/audio/chromium/AudioBusChromium.cpp:
19030        (WebCore::AudioBus::loadPlatformResource):
19031        (WebCore::createBusFromInMemoryAudioFile):
19032
190332011-05-10  Adam Barth  <abarth@webkit.org>
19034
19035        Build fix for font data madness.  I've had to whitelist this on several
19036        ports.  They need to all be fixed at once.
19037
19038        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
19039
190402011-05-10  David Kilzer  <ddkilzer@apple.com>
19041
19042        BUILD FIX for !ENABLE(TEXT_CARET) after r86039
19043
19044        * editing/FrameSelection.cpp:
19045        (WebCore::DragCaretController::paintDragCaret): Added
19046        UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET).
19047
190482011-05-10  James Robinson  <jamesr@chromium.org>
19049
19050        Reviewed by Kenneth Russell.
19051
19052        [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium
19053        https://bugs.webkit.org/show_bug.cgi?id=60524
19054
19055        This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things
19056        up:
19057
19058        *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents().
19059            updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do
19060            the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just
19061            go away.
19062        *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone.
19063        *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used
19064            during lost context).  LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different
19065            by comparing the pointer value to the old one.  This check will be incorrect if there are multiple lost
19066            contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the
19067            same address as the old one.  An explicit call to setLayerRenderer() for every layer in the tree fixes this
19068            since when this function is called the new and old LayerRendererChromium are still live and so they cannot
19069            live at the same address.
19070
19071        The first two changes are purely refactors and do not change behavior.  The third issue can't be tested via a
19072        layout test directly as we don't have a way to induce a lost context on the compositor in a layout test.
19073
19074        * platform/graphics/chromium/LayerRendererChromium.cpp:
19075        (WebCore::LayerRendererChromium::paintLayerContents):
19076        (WebCore::LayerRendererChromium::clearLayerRendererRecursive):
19077        (WebCore::LayerRendererChromium::transferRootLayer):
19078        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
19079        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
19080        * platform/graphics/chromium/LayerRendererChromium.h:
19081
190822011-05-10  Anton D'Auria  <adauria@apple.com>
19083
19084        Reviewed by David Levin.
19085
19086        StorageTracker should report actual local storage usage on disk
19087        https://bugs.webkit.org/show_bug.cgi?id=60558
19088
19089        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html
19090               storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html
19091
19092        Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by
19093        an origin's local storage db. Factored out code that retrieves
19094        path of local storage db.
19095
19096        * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled
19097        function names.
19098        * storage/StorageTracker.cpp:
19099        (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function
19100        to get path of origin's db
19101        (WebCore::StorageTracker::databasePathForOrigin): New helper function.
19102        that gets the path of an origin's local storage db from StorageTracker.
19103        (WebCore::StorageTracker::diskUsageForOrigin): New API.
19104        * storage/StorageTracker.h:
19105
191062011-05-10  Anton D'Auria  <adauria@apple.com>
19107
19108        Reviewed by Alexey Proskuryakov.
19109
19110        Add ApplicationCache API to get disk usage per origin
19111        https://bugs.webkit.org/show_bug.cgi?id=57127
19112
19113        ApplicationCacheStorage already provides an API to get per-origin
19114        disk usage. This should be exposed through WebCore::ApplicationCache
19115        to not be dependent on storage implementation.
19116
19117        Test: http/tests/appcache/origin-usage.html
19118
19119        * WebCore.exp.in:
19120        * loader/appcache/ApplicationCache.cpp:
19121        (WebCore::ApplicationCache::diskUsageForOrigin):
19122        * loader/appcache/ApplicationCache.h:
19123
191242011-05-10  Pratik Solanki  <psolanki@apple.com>
19125
19126        Reviewed by Alexey Proskuryakov.
19127
19128        Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]
19129        https://bugs.webkit.org/show_bug.cgi?id=60594
19130        <rdar://problem/9203259>
19131
19132        No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK.
19133
19134        * platform/network/mac/ResourceHandleMac.mm:
19135        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData()
19136        callback on client can result in the load being cancelled. This results in the delegate
19137        (self) being freed.  Protect self during the loop so we can check for m_handle and safely
19138        return without crashing.
19139
191402011-05-10  Chris Guillory  <chris.guillory@google.com>
19141
19142        Reviewed by James Robinson.
19143
19144        [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint.
19145        https://bugs.webkit.org/show_bug.cgi?id=59848
19146
19147        To test this I plan to make the non-printing device (BitmapPlatformDevice) fail
19148        when EndPlatformPaint doesn't matchup with BeginPlatformPaint.
19149        http://codereview.chromium.org/6949012/ 
19150
19151        * platform/graphics/chromium/FontChromiumWin.cpp:
19152        (WebCore::Font::drawComplexText):
19153
191542011-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
19155
19156        Unreviewed, rolling out r86195.
19157        http://trac.webkit.org/changeset/86195
19158        https://bugs.webkit.org/show_bug.cgi?id=60597
19159
19160        LayerOffset is a really bad name (Requested by smfr on
19161        #webkit).
19162
19163        * GNUmakefile.list.am:
19164        * WebCore.gypi:
19165        * WebCore.pro:
19166        * WebCore.vcproj/WebCore.vcproj:
19167        * WebCore.xcodeproj/project.pbxproj:
19168        * page/FrameView.cpp:
19169        (WebCore::FrameView::paintScrollCorner):
19170        * platform/graphics/LayerOffset.h: Removed.
19171        * rendering/InlineTextBox.cpp:
19172        (WebCore::InlineTextBox::paint):
19173        (WebCore::InlineTextBox::paintCustomHighlight):
19174        * rendering/InlineTextBox.h:
19175        * rendering/RenderBox.cpp:
19176        (WebCore::RenderBox::paintCustomHighlight):
19177        * rendering/RenderBox.h:
19178        * rendering/RenderImage.cpp:
19179        (WebCore::RenderImage::paintReplaced):
19180        * rendering/RenderLayer.cpp:
19181        (WebCore::RenderLayer::paintScrollCorner):
19182        (WebCore::RenderLayer::paintResizer):
19183        * rendering/RenderListMarker.cpp:
19184        (WebCore::RenderListMarker::paint):
19185        * rendering/RenderObject.h:
19186        * rendering/RenderScrollbar.cpp:
19187        (WebCore::RenderScrollbar::paintPart):
19188        * rendering/RenderScrollbarPart.cpp:
19189        (WebCore::RenderScrollbarPart::paintIntoRect):
19190        * rendering/RenderScrollbarPart.h:
19191        * rendering/RenderTable.cpp:
19192        (WebCore::RenderTable::paintObject):
19193        (WebCore::RenderTable::paintMask):
19194        * rendering/RenderTable.h:
19195        * rendering/RenderWidget.cpp:
19196        (WebCore::RenderWidget::paint):
19197        * rendering/RootInlineBox.cpp:
19198        (WebCore::RootInlineBox::paintCustomHighlight):
19199        (WebCore::RootInlineBox::paint):
19200        * rendering/RootInlineBox.h:
19201
192022011-05-10  Emil A Eklund  <eae@chromium.org>
19203
19204        Reviewed by Eric Seidel.
19205
19206        Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
19207        https://bugs.webkit.org/show_bug.cgi?id=60409
19208
19209        Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.
19210
19211        Refactoring, covered by existing tests.
19212
19213        * rendering/RenderLayer.cpp:
19214        (WebCore::RenderLayer::RenderLayer):
19215        (WebCore::RenderLayer::updateLayerPositions):
19216        (WebCore::RenderLayer::updateLayerPosition):
19217        (WebCore::RenderLayer::scrollTo):
19218        (WebCore::RenderLayer::visibleHeight):
19219        (WebCore::RenderLayer::visibleWidth):
19220        (WebCore::RenderLayer::scrollWidth):
19221        (WebCore::RenderLayer::scrollHeight):
19222        (WebCore::RenderLayer::computeScrollDimensions):
19223        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
19224        * rendering/RenderLayer.h:
19225        (WebCore::RenderLayer::x):
19226        (WebCore::RenderLayer::y):
19227        (WebCore::RenderLayer::setLocation):
19228        (WebCore::RenderLayer::width):
19229        (WebCore::RenderLayer::height):
19230        (WebCore::RenderLayer::size):
19231        (WebCore::RenderLayer::setWidth):
19232        (WebCore::RenderLayer::setHeight):
19233        (WebCore::RenderLayer::scrolledContentOffset):
19234        (WebCore::RenderLayer::scrollXOffset):
19235        (WebCore::RenderLayer::scrollYOffset):
19236        (WebCore::RenderLayer::scrollOffset):
19237        (WebCore::RenderLayer::scrollToXOffset):
19238        (WebCore::RenderLayer::scrollToYOffset):
19239        (WebCore::RenderLayer::relativePositionOffset):
19240
192412011-05-10  Levi Weintraub  <leviw@chromium.org>
19242
19243        Reviewed by Eric Seidel.
19244
19245        Create LayerOffset class
19246        https://bugs.webkit.org/show_bug.cgi?id=60490
19247
19248        Adding a LayerOffset class that will replace existing usage of tx/ty.
19249        LayerOffset is necessary since these values are commonly used as both
19250        a size and a point. Updating paintIntoRect to use this new class.
19251
19252        No new tests since this doesn't change any behavior.
19253
19254        * GNUmakefile.list.am:
19255        * WebCore.gypi:
19256        * WebCore.pro:
19257        * WebCore.vcproj/WebCore.vcproj:
19258        * WebCore.xcodeproj/project.pbxproj:
19259        * page/FrameView.cpp:
19260        (WebCore::FrameView::paintScrollCorner):
19261        * platform/graphics/LayerOffset.h: Added.
19262        (WebCore::LayerOffset::LayerOffset):
19263        (WebCore::LayerOffset::x):
19264        (WebCore::LayerOffset::y):
19265        (WebCore::LayerOffset::setX):
19266        (WebCore::LayerOffset::setY):
19267        (WebCore::LayerOffset::toSize):
19268        (WebCore::LayerOffset::toPoint):
19269        (WebCore::operator+=):
19270        (WebCore::operator-=):
19271        (WebCore::operator+):
19272        (WebCore::operator-):
19273        (WebCore::operator==):
19274        (WebCore::operator!=):
19275        * rendering/RenderLayer.cpp:
19276        (WebCore::RenderLayer::paintScrollCorner):
19277        (WebCore::RenderLayer::paintResizer):
19278        * rendering/RenderScrollbar.cpp:
19279        (WebCore::RenderScrollbar::paintPart):
19280        * rendering/RenderScrollbarPart.cpp:
19281        (WebCore::RenderScrollbarPart::paintIntoRect):
19282        * rendering/RenderScrollbarPart.h:
19283
192842011-05-10  Ryosuke Niwa  <rniwa@webkit.org>
19285
19286        Reviewed by Darin Adler.
19287
19288        Make member variables of CaretBase private
19289        https://bugs.webkit.org/show_bug.cgi?id=60454
19290
19291        Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back
19292        from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest
19293        of member variables in CaretBase private.
19294
19295        * editing/FrameSelection.cpp:
19296        (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument.
19297        (WebCore::DragCaretController::DragCaretController):
19298        (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint
19299        now that they are part of FrameSelection again.
19300        (WebCore::DragCaretController::setCaretPosition):
19301        (WebCore::FrameSelection::setSelection):
19302        (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect.
19303        (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition
19304        and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect
19305        based on some conditions.
19306        (WebCore::FrameSelection::localCaretRect):
19307        (WebCore::CaretBase::caretRepaintRect):
19308        (WebCore::FrameSelection::recomputeCaretRect):
19309        (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true.
19310        (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint
19311        has been moved from CaretBase to FrameSelection.
19312        (WebCore::FrameSelection::focusedOrActiveStateChanged):
19313        (WebCore::FrameSelection::updateAppearance):
19314        (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool.
19315        (WebCore::FrameSelection::caretBlinkTimerFired):
19316        * editing/FrameSelection.h:
19317        (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting.
19318        (WebCore::CaretBase::shouldUpdateCaretRect): Added.
19319        (WebCore::CaretBase::setCaretRectNeedsUpdate): Added.
19320        (WebCore::CaretBase::setCaretVisibility): Added.
19321        (WebCore::CaretBase::caretIsVisible): Added.
19322        (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added.
19323
193242011-05-10  James Robinson  <jamesr@chromium.org>
19325
19326        Reviewed by Nate Chapin.
19327
19328        [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer
19329        https://bugs.webkit.org/show_bug.cgi?id=60588
19330
19331        GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl.  LayerChromium was using
19332        superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code.  The
19333        mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child.
19334
19335        No new tests, refactor only.
19336
19337        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
19338        (WebCore::GraphicsLayerChromium::setChildren):
19339        (WebCore::GraphicsLayerChromium::addChild):
19340        (WebCore::GraphicsLayerChromium::addChildAtIndex):
19341        (WebCore::GraphicsLayerChromium::addChildBelow):
19342        (WebCore::GraphicsLayerChromium::addChildAbove):
19343        (WebCore::GraphicsLayerChromium::replaceChild):
19344        (WebCore::GraphicsLayerChromium::removeFromParent):
19345        (WebCore::GraphicsLayerChromium::setContentsToImage):
19346        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
19347        (WebCore::GraphicsLayerChromium::setContentsToMedia):
19348        (WebCore::GraphicsLayerChromium::hostLayerForChildren):
19349        (WebCore::GraphicsLayerChromium::layerForParent):
19350        (WebCore::GraphicsLayerChromium::updateChildList):
19351        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
19352        (WebCore::GraphicsLayerChromium::setupContentsLayer):
19353        * platform/graphics/chromium/GraphicsLayerChromium.h:
19354        * platform/graphics/chromium/LayerChromium.cpp:
19355        (WebCore::LayerChromium::LayerChromium):
19356        (WebCore::LayerChromium::~LayerChromium):
19357        (WebCore::LayerChromium::addChild):
19358        (WebCore::LayerChromium::insertChild):
19359        (WebCore::LayerChromium::removeFromParent):
19360        (WebCore::LayerChromium::removeChild):
19361        (WebCore::LayerChromium::replaceChild):
19362        (WebCore::LayerChromium::indexOfChild):
19363        (WebCore::LayerChromium::rootLayer):
19364        (WebCore::LayerChromium::removeAllChildren):
19365        (WebCore::LayerChromium::setChildren):
19366        (WebCore::LayerChromium::parent):
19367        (WebCore::LayerChromium::dumpLayer):
19368        * platform/graphics/chromium/LayerChromium.h:
19369        (WebCore::LayerChromium::children):
19370        (WebCore::LayerChromium::setParent):
19371        (WebCore::LayerChromium::numChildren):
19372        * platform/graphics/chromium/LayerRendererChromium.cpp:
19373        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
19374        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
19375        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
19376        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
19377        (WebCore::CCLayerImpl::parent):
19378        (WebCore::CCLayerImpl::descendantsDrawsContent):
19379        * platform/graphics/chromium/cc/CCLayerImpl.h:
19380
193812011-05-10  Levi Weintraub  <leviw@chromium.org>
19382
19383        Reviewed by Darin Adler.
19384
19385        Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints
19386        https://bugs.webkit.org/show_bug.cgi?id=60586
19387
19388        Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect!
19389
19390        No new tests as this is simply refactoring.
19391
19392        * rendering/InlineFlowBox.cpp:
19393        (WebCore::InlineFlowBox::paintMask):
19394        * rendering/RenderBox.cpp:
19395        (WebCore::RenderBox::paintMaskImages):
19396        * rendering/RenderBoxModelObject.cpp:
19397        (WebCore::RenderBoxModelObject::paintNinePieceImage):
19398        (WebCore::RenderBoxModelObject::paintBorder):
19399        * rendering/RenderBoxModelObject.h:
19400
194012011-05-05  Jer Noble  <jer.noble@apple.com>
19402
19403        Reviewed by Maciej Stachowiak.
19404
19405        Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
19406        https://bugs.webkit.org/show_bug.cgi?id=60278
19407
19408        Handle the removal of a full screen element from within Node::willRemove() instead
19409        of Document::nodeWillBeRemoved().  The new function Document::fullScreenElementWillBeRemoved() will
19410        be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().
19411
19412        Test: fullscreen/full-screen-remove-children.html
19413
19414        * dom/Document.cpp:
19415        (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
19416        (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
19417        * dom/Document.h:
19418        * dom/Node.cpp:
19419        (WebCore::Node::willRemove): Check to see if this is the current full screen element.
19420
194212011-05-10  Beth Dakin  <bdakin@apple.com>
19422
19423        Reviewed by Darin Adler.
19424
19425        https://bugs.webkit.org/show_bug.cgi?id=60582
19426        Crash switching overlay/non-overlay scrollbar preference still possible
19427        -and corresponding-
19428        <rdar://problem/9323983>
19429
19430        This patch prevents any work from being done on pages that are in the page cache 
19431        when the preference is switched.
19432
19433        When the Document is going into or coming out of the page cache, have the 
19434        FrameView inactivate or activate the Page's ScrollAnimators as appropriate.
19435        * dom/Document.cpp:
19436        (WebCore::Document::setInPageCache):
19437
19438        Iterate through the Page's ScrollableAreas setting the active state of the 
19439        ScrollAnimators.
19440        * page/FrameView.cpp:
19441        (WebCore::FrameView::setAnimatorsAreActive):
19442        * page/FrameView.h:
19443
19444        ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true 
19445        unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache.
19446        * platform/ScrollAnimator.cpp:
19447        (WebCore::ScrollAnimator::ScrollAnimator):
19448        * platform/ScrollAnimator.h:
19449        (WebCore::ScrollAnimator::setIsActive):
19450        (WebCore::ScrollAnimator::isActive):
19451
19452        ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true 
19453        when a ScrollAnimator is inactive and has received the 
19454        updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It 
19455        prevents any work from being done for this delegate until the ScrollAnimator 
19456        becomes active again.
19457        * platform/mac/ScrollAnimatorMac.h:
19458        (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate):
19459        (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate):
19460
19461        This delegate method has been re-factored into ScrollAnimatorMac:: 
19462        updateScrollerStyle(). This way the meat of the function can be called by both the 
19463        delegate and ScrollAnimatorMac::setIsActive()
19464        * platform/mac/ScrollAnimatorMac.mm:
19465        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
19466        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
19467
19468        This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true.
19469        (WebCore::ScrollAnimatorMac::setIsActive):
19470
19471        This is mostly the same as the old delegate method. Key differences are that if 
19472        the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and 
19473        return early. We also only call scrollableArea()->scrollbarStyleChanged() if 
19474        needsScrollerStyleUpdate() is false since in the true case when we are restoring 
19475        from the page cache, this would be duplicated work.
19476        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
19477
19478        New WKSystemInterface function is needed to retrieve the scrollbar style.
19479        * WebCore.exp.in:
19480        * platform/mac/WebCoreSystemInterface.h:
19481        * platform/mac/WebCoreSystemInterface.mm:
19482
194832011-05-10  Adam Barth  <abarth@webkit.org>
19484
19485        Reviewed by David Levin.
19486
19487        Enable strict PassOwnPtr on Chromium
19488        https://bugs.webkit.org/show_bug.cgi?id=60502
19489
19490        Technically there are a few bits in here that weren't reviewed by Dave,
19491        but close enough for government work.  This patch all fixes  the
19492        remaining strict PassOwnPtr violations on Chromium Linux.
19493
19494        * platform/graphics/chromium/PlatformCanvas.cpp:
19495        (WebCore::PlatformCanvas::resize):
19496        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
19497        * platform/graphics/skia/ImageBufferSkia.cpp:
19498        (WebCore::ImageBuffer::ImageBuffer):
19499        * platform/graphics/skia/PlatformContextSkia.cpp:
19500        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
19501
195022011-05-10  Brady Eidson  <beidson@apple.com>
19503
19504        Reviewed by Alice Liu.
19505
19506        <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572
19507        REGRESSION - Canon On-screen Manual.app crashes after a search
19508
19509        No new tests - There's no way to reproduce the truly bizarre things Canon does in their app
19510        that would reasonably fit in to our testing infrastructure.
19511
19512        In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately
19513        start loading those images that had been disabled.
19514
19515        If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads
19516        can cause crashes downstream when the WebView memory has actually been free'd.
19517
19518        One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods.
19519        And the Canon Onscreen Manual is one such app.
19520
19521        Starting these loads synchronously is not important.  By putting it on a 0-delay, properly closing the Page cancels them
19522        before they have a chance to really start.
19523
19524        See http://webkit.org/b/60572 for more discussion.
19525
19526
19527        Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right
19528        away when this pref changes, call it on a 0-delay:
19529        * page/Settings.cpp:
19530        (WebCore::Settings::Settings):
19531        (WebCore::Settings::setLoadsImagesAutomatically):
19532        (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
19533        * page/Settings.h:
19534
195352011-05-10  Martin Robinson  <mrobinson@igalia.com>
19536
19537        Reviewed by Xan Lopez.
19538
19539        [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480
19540        https://bugs.webkit.org/show_bug.cgi?id=59990
19541
19542        No new tests. This is covered by existing pixel tests.
19543
19544        * platform/gtk/GtkVersioning.c:
19545        (getGdkDrawableSize): Added this helper method.
19546        * platform/gtk/GtkVersioning.h: Added helper method declaration.
19547        * platform/gtk/WidgetRenderingContext.cpp:
19548        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if
19549        there is actually a GdkDrawable. If not, disable the sanity check.
19550
195512011-05-10  Martin Robinson  <mrobinson@igalia.com>
19552
19553        Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup.
19554
19555        * GNUmakefile.list.am: Add stub to source list.
19556        * platform/network/soup/CredentialStorageSoup.cpp: Added.
19557        (WebCore::CredentialStorage::getFromPersistentStorage):  Added stub.
19558        (WebCore::CredentialStorage::get):
19559
195602011-05-09  David Hyatt  <hyatt@apple.com>
19561
19562        Reviewed by Dan Bernstein.
19563
19564        <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive
19565        
19566        Second attempts at a fix for this bug.  Instead of removing the dirtying (which turned out to be needed in a few cases),
19567        make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent.  Because the method already
19568        aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological
19569        behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already.
19570
19571        * rendering/RenderLineBoxList.cpp:
19572        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
19573
195742011-05-05  Brent Fulgham  <bfulgham@webkit.org> and Martin Robinson  <mrobinson@igalia.com>
19575
19576        Reviewed by Anders Carlsson.
19577
19578        [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
19579        https://bugs.webkit.org/show_bug.cgi?id=60293
19580
19581        No new tests. This is covered by current pixel tests.
19582
19583        * platform/graphics/cairo/CairoUtilities.cpp:
19584        (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage
19585        into this helper which creates a deep copy of a Cairo image surface.
19586        * platform/graphics/cairo/CairoUtilities.h: Added declaration.
19587        * platform/graphics/cairo/ImageBufferCairo.cpp:
19588        (WebCore::ImageBuffer::copyImage): Use the new helper.
19589        * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic
19590        into the new drawSurfaceToContext method on PlatformContextCairo.
19591        (WebCore::BitmapImage::draw):
19592        * platform/graphics/cairo/PlatformContextCairo.cpp:
19593        (WebCore::drawPatternToCairoContext): Added.
19594        (WebCore::PlatformContextCairo::drawSurfaceToContext): Added.
19595        * platform/graphics/cairo/PlatformContextCairo.h: Added declarations.
19596
195972011-05-10  Anders Carlsson  <andersca@apple.com>
19598
19599        Attempt to fix Qt build.
19600
19601        * platform/network/qt/CredentialStorageQt.cpp:
19602        (WebCore::CredentialStorage::get):
19603        Add stub.
19604
196052011-05-10  Kenichi Ishibashi  <bashi@chromium.org>
19606
19607        Reviewed by Tony Chang.
19608
19609        REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing
19610        https://bugs.webkit.org/show_bug.cgi?id=60079
19611
19612        Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate
19613        value pair.
19614
19615        * platform/graphics/chromium/HarfbuzzSkia.cpp:
19616        (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0.
19617
196182011-05-10  Anders Carlsson  <andersca@apple.com>
19619
19620        Reviewed by Sam Weinig.
19621
19622        Extra sign in required to view video on MobileMe Gallery album
19623        https://bugs.webkit.org/show_bug.cgi?id=60560
19624        <rdar://problem/9338693>
19625
19626        Add symbols required by WebKit2.
19627
19628        * WebCore.exp.in:
19629
196302011-05-10  Alexander Pavlov  <apavlov@chromium.org>
19631
19632        Reviewed by Pavel Feldman.
19633
19634        Web Inspector: Styles sidebar is not updated upon changes in the Resources panel.
19635        https://bugs.webkit.org/show_bug.cgi?id=60320
19636
19637        * inspector/front-end/ElementsPanel.js:
19638        (WebInspector.ElementsPanel):
19639
196402011-05-06  Brett Wilson  <brettw@chromium.org>
19641
19642        Reviewed by Adam Barth.
19643
19644        Use a File object to store the downloaded file reference rather than
19645        just the path. This keeps the file and permissions in scope (using the
19646        already-existing blob system) so the browser won't delete the file
19647        when the load is complete. Instead, the file will be cleaned up when
19648        the request objects are deleted.
19649        https://bugs.webkit.org/show_bug.cgi?id=60281
19650
19651        * platform/network/chromium/ResourceResponse.cpp:
19652        (WebCore::ResourceResponse::doPlatformCopyData):
19653        (WebCore::ResourceResponse::doPlatformAdopt):
19654        * platform/network/chromium/ResourceResponse.h:
19655        (WebCore::ResourceResponse::downloadedFile):
19656        (WebCore::ResourceResponse::setDownloadedFile):
19657
196582011-05-10  Eric Carlson  <eric.carlson@apple.com>
19659
19660        Reviewed by Darin Adler.
19661
19662        Files that load quickly sometimes won't play.
19663        https://bugs.webkit.org/show_bug.cgi?id=60556
19664        <rdar://problem/9330567>
19665
19666        No new tests, this failure is very difficult to reproduce on some machines. The fix was
19667        verified manually.
19668
19669        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
19670        (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
19671            to dispatchNotification so it is more obvious which state changes call it.
19672        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
19673        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to 
19674            dispatchNotification.
19675        (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
19676        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
19677        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
19678            processing "size changed" notification so we detect all state changes. Consolidate
19679            calls to updateStates here.
19680
19681        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
19682        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
19683            a debug build.
19684
196852011-05-10  Abhishek Arya  <inferno@chromium.org>
19686
19687        Reviewed by Simon Fraser.
19688
19689        Add containsFloats call to hasOverhangingFloats.
19690        https://bugs.webkit.org/show_bug.cgi?id=60537
19691
19692        Test: fast/block/float/no-overhanging-float-crash.html
19693
19694        * rendering/RenderBlock.cpp:
19695        (WebCore::RenderBlock::repaintOverhangingFloats):
19696        * rendering/RenderBlock.h:
19697        (WebCore::RenderBlock::hasOverhangingFloats):
19698
196992011-05-10  Alexis Menard  <alexis.menard@openbossa.org>
19700
19701        Reviewed by Antonio Gomes.
19702
19703        Warning fix on PluginPackage.cpp.
19704        https://bugs.webkit.org/show_bug.cgi?id=60371
19705
19706        Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
19707        Let's use a struct rather than an array so we can pass everything to StringHasher.
19708
19709        * plugins/PluginPackage.cpp:
19710        (WebCore::PluginPackage::hash):
19711
197122011-05-10  Andreas Kling  <andreas.kling@nokia.com>
19713
19714        Rubber-stamped by Csaba Osztrogonác.
19715
19716        [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
19717        https://bugs.webkit.org/show_bug.cgi?id=60551
19718
19719        * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
19720        if the feature is found. Added a comment about why.
19721
197222011-05-10  Andrey Kosyakov  <caseq@chromium.org>
19723
19724        Reviewed by Sam Weinig.
19725
19726        Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug
19727        https://bugs.webkit.org/show_bug.cgi?id=60266
19728
19729        * bindings/objc/DOM.mm:
19730        (kitClass): return DOMNode class for shadow root node
19731
19732
197332011-05-10  Ben Murdoch  <benm@google.com>
19734
19735        Reviewed by Steve Block.
19736
19737        Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp
19738        https://bugs.webkit.org/show_bug.cgi?id=60478
19739
19740        No new tests), build fix only.
19741
19742        * xml/XSLTProcessorLibxslt.cpp: Add CString.h include.
19743
197442011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>
19745
19746        Reviewed by Kenneth Rohde Christiansen.
19747
19748        [Qt] QtRawFont support should check based on feature, not version
19749        https://bugs.webkit.org/show_bug.cgi?id=60513
19750
19751        Build fix - no tests added.
19752
19753        * WebCore.pro:
19754
197552011-05-10  Tony Gentilcore  <tonyg@chromium.org>
19756
19757        Build fix: include ExceptionCode
19758        https://bugs.webkit.org/show_bug.cgi?id=60538
19759
19760        * bindings/js/JSDOMBinding.cpp:
19761
197622011-05-06  Tony Gentilcore  <tonyg@chromium.org>
19763
19764        Reviewed by Darin Adler.
19765
19766        Fix some unnecessary includes in headers
19767        https://bugs.webkit.org/show_bug.cgi?id=60388
19768
19769        These were all found using the include-what-you-use clang plugin.
19770
19771        * css/CSSFontFaceSrcValue.h:
19772        * css/CSSImageGeneratorValue.h:
19773        * css/CSSParser.h:
19774        * css/CSSPrimitiveValueCache.cpp:
19775        * css/CSSPrimitiveValueCache.h:
19776        * css/CSSStyleSelector.cpp:
19777        * css/CSSStyleSelector.h:
19778        * css/RGBColor.cpp:
19779        * css/RGBColor.h:
19780        * dom/EventTarget.h:
19781        * dom/ExceptionBase.cpp:
19782        * dom/ExceptionBase.h:
19783        * dom/MessagePort.cpp:
19784        * dom/Range.cpp:
19785        * dom/Range.h:
19786        * dom/SelectElement.cpp:
19787        * dom/SelectElement.h:
19788        * dom/TextEvent.cpp:
19789        * dom/TextEvent.h:
19790        * dom/Touch.cpp:
19791        * dom/Touch.h:
19792        * dom/TouchEvent.cpp:
19793        * dom/TouchEvent.h:
19794        * dom/XMLDocumentParser.h:
19795        * dom/XMLDocumentParserScope.h:
19796        * editing/AppendNodeCommand.cpp:
19797        * editing/ApplyBlockElementCommand.h:
19798        * editing/DeleteFromTextNodeCommand.cpp:
19799        * editing/EditCommand.h:
19800        * editing/Editor.h:
19801        * editing/FormatBlockCommand.h:
19802        * editing/IndentOutdentCommand.h:
19803        * editing/InsertIntoTextNodeCommand.cpp:
19804        * editing/InsertNodeBeforeCommand.cpp:
19805        * editing/ReplaceSelectionCommand.h:
19806        * editing/SetNodeAttributeCommand.h:
19807        * html/HTMLSelectElement.h:
19808        * html/canvas/CanvasRenderingContext2D.cpp:
19809        * loader/appcache/DOMApplicationCache.cpp:
19810        * page/EventSource.cpp:
19811        * rendering/RenderListBox.cpp:
19812        * rendering/RenderMenuList.cpp:
19813        * rendering/RenderTextControlSingleLine.cpp:
19814        * rendering/svg/RenderSVGInlineText.cpp:
19815        * svg/SVGMatrix.h:
19816        * websockets/WebSocket.cpp:
19817        * workers/AbstractWorker.cpp:
19818        * xml/XMLHttpRequest.cpp:
19819        * xml/XPathExpression.cpp:
19820
198212011-05-10  MORITA Hajime  <morrita@google.com>
19822
19823        Reviewed by Ryosuke Niwa.
19824
19825        REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
19826        https://bugs.webkit.org/show_bug.cgi?id=60090
19827
19828        SpellChecker uses TextCheckerClient, which belongs Page object,
19829        which is possibly destroyed during SpellChecker's lifetime.
19830        This change added to a guard before using TextCheckerClient to
19831        ensure it being live.
19832        
19833        No new tests, this is a speculative fix for a real crash.
19834
19835        * editing/Editor.cpp:
19836        (WebCore::Editor::Editor):
19837        * editing/SpellChecker.cpp:
19838        (WebCore::SpellChecker::SpellChecker):
19839        (WebCore::SpellChecker::client):
19840        (WebCore::SpellChecker::canCheckAsynchronously):
19841        (WebCore::SpellChecker::requestCheckingFor):
19842        * editing/SpellChecker.h:
19843
198442011-05-09  Dan Bernstein  <mitz@apple.com>
19845
19846        Try to fix the LLVM Compiler build.
19847
19848        * page/EventHandler.h:
19849
198502011-05-09  Daniel Cheng  <dcheng@chromium.org>
19851
19852        Fix the build.
19853
19854        Really add the file this time.
19855
19856        * page/DragState.h: Added.
19857        (WebCore::DragState::DragState):
19858
198592011-05-09  Daniel Cheng  <dcheng@chromium.org>
19860
19861        Reviewed by Tony Chang.
19862
19863        Refactor RenderObject::draggableNode.
19864        https://bugs.webkit.org/show_bug.cgi?id=60503
19865
19866        This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
19867        DragController to avoid the awkward plumbing of calling DragController from RenderObject and
19868        also moves EventHandlerDragState out from EventHandler so it can be shared between
19869        EventHandler and DragController where appropriate.
19870
19871        No new tests since there should be no behavior change.
19872
19873        * GNUmakefile.list.am:
19874        * WebCore.gypi:
19875        * WebCore.pro:
19876        * WebCore.vcproj/WebCore.vcproj:
19877        * WebCore.xcodeproj/project.pbxproj:
19878        * page/DragController.cpp:
19879        (WebCore::DragController::draggableNode):
19880        (WebCore::DragController::mayStartDragAtEventLocation):
19881        * page/DragController.h:
19882        * page/DragState.h: Added.
19883        (WebCore::DragState::DragState):
19884        * page/EventHandler.cpp:
19885        (WebCore::EventHandler::dragState):
19886        (WebCore::EventHandler::eventMayStartDrag):
19887        (WebCore::EventHandler::handleDrag):
19888        * page/EventHandler.h:
19889        * rendering/RenderObject.cpp:
19890        * rendering/RenderObject.h:
19891
198922011-05-09  Luke Macpherson   <macpherson@chromium.org>
19893
19894        Reviewed by Darin Adler.
19895
19896        Enable casting between CSSPrimitiveValue and FontWeight enum
19897        https://bugs.webkit.org/show_bug.cgi?id=60516
19898
19899        No new tests added as no functionality changed.
19900
19901        * css/CSSPrimitiveValueMappings.h:
19902        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
19903        Implement cast from FontWeight to CSSPrimitiveValue.
19904        (WebCore::CSSPrimitiveValue::operator FontWeight):
19905        Implement cast from CSSPrimitiveValue to FontWeight
19906        * css/CSSStyleSelector.cpp:
19907        (WebCore::CSSStyleSelector::applyProperty):
19908        Use new cast to reduce code size.
19909        Flatten switch inside if.
19910
199112011-05-09  Simon Fraser  <simon.fraser@apple.com>
19912
19913        Move IconURL.* into the dom grouping.
19914
19915        * WebCore.xcodeproj/project.pbxproj:
19916
199172011-05-08  Jeremy Noble  <jer.noble@apple.com>
19918
19919        Reviewed by Dan Bernstein.
19920
19921        Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
19922        https://bugs.webkit.org/show_bug.cgi?id=60449
19923
19924        Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to 
19925        coalesce anonymous children.
19926
19927        Test: fullscreen/full-screen-remove-sibling.html
19928
19929        * rendering/RenderObject.h:
19930        (WebCore::RenderObject::isAnonymousBlock):
19931
199322011-05-09  Jeremy Noble  <jer.noble@apple.com>
19933
19934        Reviewed by Simon Fraser.
19935
19936        REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
19937        https://bugs.webkit.org/show_bug.cgi?id=60512
19938
19939        Initialize m_containsFullScreenElement.
19940
19941        * html/HTMLFrameElementBase.cpp:
19942        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
19943
199442011-05-09  Ryosuke Niwa  <rniwa@webkit.org>
19945
19946        Reviewed by Darin Adler.
19947
19948        REGRESSION(r86039): DragCaretController doesn't draw caret
19949        https://bugs.webkit.org/show_bug.cgi?id=60505
19950
19951        Removed an early exit in setCaretPosition introduced by r86039.
19952        Also replaced calls to containerNode by deprecatedNode since rendering code doesn't
19953        support container node for rendering caret.
19954
19955        * editing/FrameSelection.cpp:
19956        (WebCore::DragCaretController::setCaretPosition):
19957
199582011-04-29  Martin Robinson  <mrobinson@igalia.com>
19959
19960        Reviewed by Gustavo Noronha Silva.
19961
19962        [GTK] Untangle GtkAdjustments from WebCore
19963        https://bugs.webkit.org/show_bug.cgi?id=59821
19964
19965        Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews
19966        and, consequently, Scrollbars. Handling adjustment updates can now be managed
19967        in WebKit.
19968
19969        No new tests. This is covered by existing Scrollbar tests.
19970
19971        * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared
19972        between ScrollView.cpp and ScrollViewGtk.cpp.
19973        * platform/ScrollView.h: Remove unused methods.
19974        * platform/gtk/MainFrameScrollbarGtk.cpp:
19975        (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment.
19976        (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here.
19977        * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal.
19978        * platform/gtk/ScrollViewGtk.cpp: Ditto.
19979        (WebCore::ScrollView::createScrollbar): Ditto.
19980        (WebCore::ScrollView::setScrollbarModes): Ditto.
19981        * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now
19982        that it doesn't receive it transitively.
19983
199842011-05-09  Adam Barth  <abarth@webkit.org>
19985
19986        Reviewed by Eric Seidel.
19987
19988        CSP should block Function constructor
19989        https://bugs.webkit.org/show_bug.cgi?id=60240
19990
19991        Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html
19992               http/tests/security/contentSecurityPolicy/function-constructor-blocked.html
19993
19994        * bindings/js/JSLazyEventListener.cpp:
19995        (WebCore::JSLazyEventListener::initializeJSFunction):
19996            - Update call site to the new entrypoint.
19997        * bindings/v8/V8LazyEventListener.cpp:
19998        (WebCore::V8LazyEventListener::prepareListenerObject):
19999            - Add some comments about the rediculousness of this implementation.
20000
200012011-05-09  Chris Rogers  <crogers@google.com>
20002
20003        Reviewed by Kenneth Russell.
20004
20005        Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance
20006        https://bugs.webkit.org/show_bug.cgi?id=60396
20007
20008        No new tests since audio API is not yet implemented.
20009
20010        * WebCore.gypi:
20011        * WebCore.xcodeproj/project.pbxproj:
20012        * platform/audio/DenormalDisabler.h: Added.
20013        (WebCore::DenormalDisabler::DenormalDisabler):
20014        (WebCore::DenormalDisabler::~DenormalDisabler):
20015        (WebCore::DenormalDisabler::getCSR):
20016        (WebCore::DenormalDisabler::setCSR):
20017        * webaudio/AudioDestinationNode.cpp:
20018        (WebCore::AudioDestinationNode::provideInput):
20019
200202011-05-09  Tony Chang  <tony@chromium.org>
20021
20022        Reviewed by Eric Seidel.
20023
20024        Style cleanups in RenderFlexibleBox.cpp
20025        https://bugs.webkit.org/show_bug.cgi?id=60504
20026
20027        No new tests, just refactoring.
20028
20029        * rendering/RenderFlexibleBox.cpp:
20030        (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and
20031            use class initializer list.
20032        (WebCore::FlexBoxIterator::reset):
20033        (WebCore::FlexBoxIterator::next):
20034        (WebCore::RenderFlexibleBox::RenderFlexibleBox):
20035        (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths
20036        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
20037        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
20038        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
20039        (WebCore::RenderFlexibleBox::layoutBlock):
20040        (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements
20041            rather than while loops.
20042        (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto
20043        (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto
20044        (WebCore::RenderFlexibleBox::applyLineClamp):
20045        (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height.
20046
200472011-05-09  Eric Seidel  <eric@webkit.org>
20048
20049        Reviewed by Ryosuke Niwa.
20050
20051        Abstract line deletion code into a function
20052        https://bugs.webkit.org/show_bug.cgi?id=60501
20053
20054        No change in behavior, thus no testing.
20055
20056        * rendering/RenderBlockLineLayout.cpp:
20057        (WebCore::deleteLineRange):
20058        (WebCore::RenderBlock::layoutRunsAndFloats):
20059        (WebCore::RenderBlock::determineStartPosition):
20060        (WebCore::RenderBlock::matchedEndLine):
20061
200622011-05-09  Darin Adler  <darin@apple.com>
20063
20064        Cleared some stray executable bits on source files.
20065
20066        * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable.
20067        * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable.
20068
200692011-05-09  Erik Arvidsson  <arv@chromium.org>
20070
20071        Reviewed by Darin Adler.
20072
20073        radiogroup: onchange not detected when triggered by keyboard
20074        https://bugs.webkit.org/show_bug.cgi?id=32013
20075
20076        Test: fast/forms/radio-group-keyboard-change-event.html
20077
20078        * html/RadioInputType.cpp:
20079        (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click
20080            event. The simulated click event will check it for us but more importantly it will fire the "change" event as
20081            expected.
20082
200832011-05-09  Adam Barth  <abarth@webkit.org>
20084
20085        Reviewed by Daniel Bates.
20086
20087        XSSAuditor should be more selective about the <meta http-equivs> that it blocks
20088        https://bugs.webkit.org/show_bug.cgi?id=60489
20089
20090        We don't need to filter most http-equiv attributes.  This patch
20091        introduces a blacklist for two that we probably do want to filter.
20092        It's possible a whitelist would be more appropriate, but I'm inclined
20093        to start with a blacklist and see how it works.
20094
20095        This patch will hopefully fix a false positive that is causing errors
20096        with copy-and-pasted text in Gmail in some configurations (due to using
20097        the <meta> tag to request UTF-8 encoding both in the pasted text and in
20098        the page itself).
20099
20100        * html/parser/XSSFilter.cpp:
20101        (WebCore::isNonCanonicalCharacter):
20102        (WebCore::canonicalize):
20103        (WebCore::isRequiredForInjection):
20104        (WebCore::hasName):
20105        (WebCore::findAttributeWithName):
20106        (WebCore::isNameOfInlineEventHandler):
20107        (WebCore::isDangerousHTTPEquiv):
20108            - This function is new in the patch and includes a blacklist of
20109              dangerous http-equivs.  Many of the other functions listed here
20110              are just being moved from an anonymous namespace to use static
20111              for internal linkage.
20112        (WebCore::containsJavaScriptURL):
20113        (WebCore::decodeURL):
20114        (WebCore::XSSFilter::eraseAttributeIfInjected):
20115
201162011-05-05  Matthew Delaney  <mdelaney@apple.com>
20117
20118        Reviewed by Simon Fraser.
20119
20120        Remove canvas usage of roundToDevicePixels
20121        https://bugs.webkit.org/show_bug.cgi?id=60331
20122
20123        No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x.
20124
20125        * html/canvas/CanvasRenderingContext2D.cpp:
20126        (WebCore::CanvasRenderingContext2D::drawImage):
20127
201282011-05-09  Alexis Menard  <alexis.menard@openbossa.org>
20129
20130        Reviewed by Andreas Kling.
20131
20132        [Qt] Fix the build on Embedded Linux.
20133        https://bugs.webkit.org/show_bug.cgi?id=60347        
20134
20135        qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
20136        still be used in order to build properly.
20137
20138        * WebCore.pri:
20139
201402011-05-09  Andreas Kling  <kling@webkit.org>
20141
20142        Reviewed by Kenneth Rohde Christiansen.
20143
20144        [Qt] Simple small-caps text is displayed in uniform size.
20145        https://bugs.webkit.org/show_bug.cgi?id=60492
20146
20147        Covered by existing tests.
20148
20149        * platform/graphics/qt/FontPlatformDataQt.cpp:
20150        (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
20151        used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
20152        to make small caps and emphasis marks have the correct size when rendered through
20153        the fast font path.
20154
201552011-05-09  Andreas Kling  <kling@webkit.org>
20156
20157        Reviewed by Tor Arne Vestbø.
20158
20159        [Qt] Remove unused FontPlatformData functions.
20160        https://bugs.webkit.org/show_bug.cgi?id=60485
20161
20162        * platform/graphics/qt/FontPlatformData.h:
20163        (WebCore::FontPlatformData::bold): Removed.
20164        (WebCore::FontPlatformData::family): Removed.
20165        (WebCore::FontPlatformData::italic): Removed.
20166        (WebCore::FontPlatformData::smallCaps): Removed.
20167
201682011-05-09  Robin Dunn  <robin@alldunn.com>
20169
20170        Reviewed by Kevin Ollivier.
20171
20172        [wx] Add invalid file handle check.
20173        
20174        https://bugs.webkit.org/show_bug.cgi?id=60483
20175
20176        * platform/wx/FileSystemWx.cpp:
20177        (WebCore::closeFile):
20178
201792011-05-09  Robin Dunn  <robin@alldunn.com>
20180
20181        Reviewed by Kevin Ollivier.
20182
20183        [wx] Update the popup menu code to grab the native control and initialize the
20184        event handler properly.
20185        
20186        https://bugs.webkit.org/show_bug.cgi?id=60482
20187
20188        * platform/wx/PopupMenuWx.cpp:
20189        (WebCore::PopupMenuWx::PopupMenuWx):
20190        (WebCore::PopupMenuWx::~PopupMenuWx):
20191        (WebCore::PopupMenuWx::show):
20192
201932011-05-09  Robin Dunn  <robin@alldunn.com>
20194
20195        Reviewed by Kevin Ollivier.
20196
20197        [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
20198        adjustment in 2.9.2+ where it is handled internally by wx.
20199        
20200        Also add a couple drawing and focus handling fixes for text fields and menulist controls.
20201        
20202        https://bugs.webkit.org/show_bug.cgi?id=60481
20203
20204        * platform/wx/RenderThemeWx.cpp:
20205        (WebCore::getAdjustedRect):
20206        (WebCore::RenderThemeWx::supportsFocus):
20207        (WebCore::RenderThemeWx::paintButton):
20208        (WebCore::RenderThemeWx::adjustTextFieldStyle):
20209        (WebCore::RenderThemeWx::paintTextField):
20210        (WebCore::RenderThemeWx::adjustMenuListStyle):
20211        (WebCore::RenderThemeWx::paintMenuList):
20212        (WebCore::RenderThemeWx::paintMenuListButton):
20213
202142011-05-09  Tony Gentilcore  <tonyg@chromium.org>
20215
20216        Reviewed by Darin Adler.
20217
20218        Style fix: Function names must begin with lowercase letter and should not use "get".
20219        https://bugs.webkit.org/show_bug.cgi?id=60475
20220
20221        * dom/Document.cpp:
20222        (WebCore::Document::webkitVisibilityState):
20223        * page/PageVisibilityState.cpp:
20224        (WebCore::pageVisibilityStateString): Renamed.
20225        * page/PageVisibilityState.h:
20226
202272011-05-09  Adam Barth  <abarth@webkit.org>
20228
20229        Reviewed by Tony Gentilcore.
20230
20231        Make Chromium build with strict PassOwnPtr
20232        https://bugs.webkit.org/show_bug.cgi?id=60461
20233
20234        Fix many, many PassOwnPtr nits.
20235
20236        * bindings/v8/V8Proxy.cpp:
20237        (WebCore::V8Proxy::precompileScript):
20238        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20239        (WebCore::WindowSetTimeoutImpl):
20240        * bindings/v8/custom/V8MessageEventCustom.cpp:
20241        (WebCore::V8MessageEvent::initMessageEventCallback):
20242        * bindings/v8/custom/V8WorkerContextCustom.cpp:
20243        (WebCore::SetTimeoutOrInterval):
20244        * dom/Document.cpp:
20245        (WebCore::Document::removedLastRef):
20246        (WebCore::Document::detach):
20247        * fileapi/DOMFileSystem.h:
20248        (WebCore::DOMFileSystem::scheduleCallback):
20249        * fileapi/FileSystemCallbacks.cpp:
20250        (WebCore::FileSystemCallbacks::didOpenFileSystem):
20251        (WebCore::ResolveURICallbacks::didOpenFileSystem):
20252        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
20253        (WebCore::GraphicsLayer::create):
20254        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
20255        (WebCore::CCLayerImpl::createRenderSurface):
20256        * platform/graphics/gpu/BicubicShader.cpp:
20257        (WebCore::BicubicShader::create):
20258        * platform/graphics/gpu/ConvolutionShader.cpp:
20259        (WebCore::ConvolutionShader::create):
20260        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
20261        (WebCore::LoopBlinnSolidFillShader::create):
20262        * platform/graphics/gpu/SolidFillShader.cpp:
20263        (WebCore::SolidFillShader::create):
20264        * platform/graphics/gpu/TexShader.cpp:
20265        (WebCore::TexShader::create):
20266        * platform/graphics/gpu/Texture.cpp:
20267        (WebCore::Texture::create):
20268        * storage/chromium/DatabaseTrackerChromium.cpp:
20269        (WebCore::TrackerRemoveOpenDatabaseTask::create):
20270        * storage/chromium/SQLTransactionClientChromium.cpp:
20271        (WebCore::NotifyDatabaseChangedTask::create):
20272
202732011-05-07  Martin Robinson  <mrobinson@igalia.com>
20274
20275        Reviewed by Daniel Bates.
20276
20277        [Soup] Clean up error handling in ResourceHandleSoup
20278        https://bugs.webkit.org/show_bug.cgi?id=60436
20279
20280        Instead of repeating the ResourceError creation twice, abstract
20281        it into a helper method.
20282
20283        No new tests. This is a code cleanup.
20284
20285        * platform/network/soup/ResourceHandleSoup.cpp:
20286        (WebCore::soupErrorShouldCauseLoadFailure): Added.
20287        (WebCore::convertSoupErrorToResourceError): Added.
20288        (WebCore::sendRequestCallback): Use the new helpers.
20289        (WebCore::readCallback): Ditto.
20290
202912011-05-09  Abhishek Arya  <inferno@chromium.org>
20292
20293        Reviewed by Dave Hyatt.
20294
20295        Regression(r85869): Restore dirty line logic in RenderInline::destroy.
20296        https://bugs.webkit.org/show_bug.cgi?id=60448
20297
20298        Test: fast/inline/inline-destroy-dirty-lines-crash.html
20299
20300        * rendering/RenderInline.cpp:
20301        (WebCore::RenderInline::destroy):
20302
203032011-05-09  Alejandro G. Castro  <alex@igalia.com>
20304
20305        Reviewed by Martin Robinson.
20306
20307        [GTK] WidgetGtk setFocus can not access directly the widget in WK2
20308        https://bugs.webkit.org/show_bug.cgi?id=60016
20309
20310        Added code to check the situation where we do not have direct
20311        access to the widget. We use the page to grab the focus which
20312        would send a request to the UIProcess in WK2.
20313
20314        * platform/gtk/WidgetGtk.cpp:
20315        (WebCore::Widget::setFocus):
20316
203172011-05-09  Leandro Gracia Gil  <leandrogracia@chromium.org>
20318
20319        Reviewed by Tony Gentilcore.
20320
20321        Media Stream API: add exception raising to the getUserMedia method.
20322        https://bugs.webkit.org/show_bug.cgi?id=60387
20323
20324        Perform the required changes to support rising exceptions in the
20325        navigator.getUserMedia method. This is required by the latest changes in the spec:
20326        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia
20327
20328        Test: fast/dom/MediaStream/argument-types.html
20329
20330        * bindings/js/JSNavigatorCustom.cpp:
20331        (WebCore::JSNavigator::webkitGetUserMedia):
20332        * bindings/v8/custom/V8NavigatorCustom.cpp:
20333        (WebCore::V8Navigator::webkitGetUserMediaCallback):
20334        * page/Navigator.cpp:
20335        (WebCore::Navigator::webkitGetUserMedia):
20336        * page/Navigator.h:
20337        * page/Navigator.idl:
20338
203392011-05-09  Csaba Osztrogonác  <ossy@webkit.org>
20340
20341        Unreviewed Qt 4.8 fix.
20342
20343        * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
20344
203452011-05-09  Adam Roben  <aroben@apple.com>
20346
20347        Windows project file fix after r86047
20348
20349        * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.
20350
203512011-05-06  Chris Marrin  <cmarrin@apple.com>
20352
20353        Reviewed by Darin Adler.
20354
20355        Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
20356        https://bugs.webkit.org/show_bug.cgi?id=60417
20357
20358        Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
20359        the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
20360        but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
20361        instead of the PlatformCALayer everywhere.
20362
20363        * platform/graphics/ca/GraphicsLayerCA.cpp:
20364        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
20365
203662011-05-09  Rob Buis  <rbuis@rim.com>
20367
20368        Reviewed by Dirk Schulze.
20369
20370        Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
20371        https://bugs.webkit.org/show_bug.cgi?id=22576
20372
20373        Add tag name ASSERTs in SVG Element constructors.
20374
20375        No new tests, since no change in behaviour.
20376
20377        * svg/SVGAElement.cpp:
20378        (WebCore::SVGAElement::SVGAElement):
20379        * svg/SVGAltGlyphElement.cpp:
20380        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
20381        * svg/SVGAnimateColorElement.cpp:
20382        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
20383        * svg/SVGAnimateElement.cpp:
20384        (WebCore::SVGAnimateElement::SVGAnimateElement):
20385        * svg/SVGAnimateMotionElement.cpp:
20386        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
20387        * svg/SVGAnimateTransformElement.cpp:
20388        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
20389        * svg/SVGCircleElement.cpp:
20390        (WebCore::SVGCircleElement::SVGCircleElement):
20391        * svg/SVGClipPathElement.cpp:
20392        (WebCore::SVGClipPathElement::SVGClipPathElement):
20393        * svg/SVGCursorElement.cpp:
20394        (WebCore::SVGCursorElement::SVGCursorElement):
20395        * svg/SVGDefsElement.cpp:
20396        (WebCore::SVGDefsElement::SVGDefsElement):
20397        * svg/SVGDescElement.cpp:
20398        (WebCore::SVGDescElement::SVGDescElement):
20399        * svg/SVGEllipseElement.cpp:
20400        (WebCore::SVGEllipseElement::SVGEllipseElement):
20401        * svg/SVGFEBlendElement.cpp:
20402        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
20403        * svg/SVGFEColorMatrixElement.cpp:
20404        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
20405        * svg/SVGFEComponentTransferElement.cpp:
20406        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
20407        * svg/SVGFECompositeElement.cpp:
20408        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
20409        * svg/SVGFEConvolveMatrixElement.cpp:
20410        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
20411        * svg/SVGFEDiffuseLightingElement.cpp:
20412        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
20413        * svg/SVGFEDisplacementMapElement.cpp:
20414        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
20415        * svg/SVGFEDistantLightElement.cpp:
20416        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
20417        * svg/SVGFEDropShadowElement.cpp:
20418        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
20419        * svg/SVGFEFloodElement.cpp:
20420        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
20421        * svg/SVGFEFuncAElement.cpp:
20422        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
20423        * svg/SVGFEFuncBElement.cpp:
20424        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
20425        * svg/SVGFEFuncGElement.cpp:
20426        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
20427        * svg/SVGFEFuncRElement.cpp:
20428        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
20429        * svg/SVGFEGaussianBlurElement.cpp:
20430        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
20431        * svg/SVGFEImageElement.cpp:
20432        (WebCore::SVGFEImageElement::SVGFEImageElement):
20433        * svg/SVGFEMergeElement.cpp:
20434        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
20435        * svg/SVGFEMergeNodeElement.cpp:
20436        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
20437        * svg/SVGFEMorphologyElement.cpp:
20438        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
20439        * svg/SVGFEOffsetElement.cpp:
20440        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
20441        * svg/SVGFEPointLightElement.cpp:
20442        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
20443        * svg/SVGFESpecularLightingElement.cpp:
20444        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
20445        * svg/SVGFESpotLightElement.cpp:
20446        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
20447        * svg/SVGFETileElement.cpp:
20448        (WebCore::SVGFETileElement::SVGFETileElement):
20449        * svg/SVGFETurbulenceElement.cpp:
20450        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
20451        * svg/SVGFilterElement.cpp:
20452        (WebCore::SVGFilterElement::SVGFilterElement):
20453        * svg/SVGFontElement.cpp:
20454        (WebCore::SVGFontElement::SVGFontElement):
20455        * svg/SVGFontFaceElement.cpp:
20456        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
20457        * svg/SVGFontFaceFormatElement.cpp:
20458        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
20459        * svg/SVGFontFaceNameElement.cpp:
20460        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
20461        * svg/SVGFontFaceSrcElement.cpp:
20462        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
20463        * svg/SVGFontFaceUriElement.cpp:
20464        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
20465        * svg/SVGForeignObjectElement.cpp:
20466        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
20467        * svg/SVGGElement.cpp:
20468        (WebCore::SVGGElement::SVGGElement):
20469        * svg/SVGGlyphElement.cpp:
20470        (WebCore::SVGGlyphElement::SVGGlyphElement):
20471        * svg/SVGHKernElement.cpp:
20472        (WebCore::SVGHKernElement::SVGHKernElement):
20473        * svg/SVGImageElement.cpp:
20474        (WebCore::SVGImageElement::SVGImageElement):
20475        * svg/SVGLineElement.cpp:
20476        (WebCore::SVGLineElement::SVGLineElement):
20477        * svg/SVGLinearGradientElement.cpp:
20478        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
20479        * svg/SVGMPathElement.cpp:
20480        (WebCore::SVGMPathElement::SVGMPathElement):
20481        * svg/SVGMarkerElement.cpp:
20482        (WebCore::SVGMarkerElement::SVGMarkerElement):
20483        * svg/SVGMaskElement.cpp:
20484        (WebCore::SVGMaskElement::SVGMaskElement):
20485        * svg/SVGMetadataElement.cpp:
20486        (WebCore::SVGMetadataElement::SVGMetadataElement):
20487        * svg/SVGMissingGlyphElement.cpp:
20488        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
20489        * svg/SVGPathElement.cpp:
20490        (WebCore::SVGPathElement::SVGPathElement):
20491        * svg/SVGPatternElement.cpp:
20492        (WebCore::SVGPatternElement::SVGPatternElement):
20493        * svg/SVGPolygonElement.cpp:
20494        (WebCore::SVGPolygonElement::SVGPolygonElement):
20495        * svg/SVGPolylineElement.cpp:
20496        (WebCore::SVGPolylineElement::SVGPolylineElement):
20497        * svg/SVGRadialGradientElement.cpp:
20498        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
20499        * svg/SVGRectElement.cpp:
20500        (WebCore::SVGRectElement::SVGRectElement):
20501        * svg/SVGSVGElement.cpp:
20502        (WebCore::SVGSVGElement::SVGSVGElement):
20503        * svg/SVGScriptElement.cpp:
20504        (WebCore::SVGScriptElement::SVGScriptElement):
20505        * svg/SVGSetElement.cpp:
20506        (WebCore::SVGSetElement::SVGSetElement):
20507        * svg/SVGStopElement.cpp:
20508        (WebCore::SVGStopElement::SVGStopElement):
20509        * svg/SVGStyleElement.cpp:
20510        (WebCore::SVGStyleElement::SVGStyleElement):
20511        * svg/SVGSwitchElement.cpp:
20512        (WebCore::SVGSwitchElement::SVGSwitchElement):
20513        * svg/SVGSymbolElement.cpp:
20514        (WebCore::SVGSymbolElement::SVGSymbolElement):
20515        * svg/SVGTRefElement.cpp:
20516        (WebCore::SVGTRefElement::SVGTRefElement):
20517        * svg/SVGTSpanElement.cpp:
20518        (WebCore::SVGTSpanElement::SVGTSpanElement):
20519        * svg/SVGTextElement.cpp:
20520        (WebCore::SVGTextElement::SVGTextElement):
20521        * svg/SVGTextPathElement.cpp:
20522        (WebCore::SVGTextPathElement::SVGTextPathElement):
20523        * svg/SVGTitleElement.cpp:
20524        (WebCore::SVGTitleElement::SVGTitleElement):
20525        * svg/SVGUseElement.cpp:
20526        (WebCore::SVGUseElement::SVGUseElement):
20527        * svg/SVGVKernElement.cpp:
20528        (WebCore::SVGVKernElement::SVGVKernElement):
20529        * svg/SVGViewElement.cpp:
20530        (WebCore::SVGViewElement::SVGViewElement):
20531
205322011-05-09  Shishir Agrawal  <shishir@chromium.org>
20533
20534        Reviewed by Tony Gentilcore.
20535
20536        Implement Page Visibility API.
20537        https://bugs.webkit.org/show_bug.cgi?id=54181
20538
20539        Tests: fast/events/page-visibility-iframe-delete-test.html
20540               fast/events/page-visibility-iframe-move-test.html
20541               fast/events/page-visibility-iframe-propagation-test.html
20542               fast/events/page-visibility-transition-test.html
20543
20544        * CMakeLists.txt:
20545        * GNUmakefile.list.am:
20546        * WebCore.gypi:
20547        * WebCore.pro:
20548        * WebCore.vcproj/WebCore.vcproj:
20549        * WebCore.xcodeproj/project.pbxproj:
20550        * dom/Document.cpp:
20551        (WebCore::Document::visibilityState):
20552        (WebCore::Document::webkitVisibilityState):
20553        (WebCore::Document::webkitIsVisible):
20554        (WebCore::Document::dispatchVisibilityStateChangeEvent):
20555        * dom/Document.h:
20556        * dom/Document.idl:
20557        * dom/EventNames.h:
20558        * page/Frame.cpp:
20559        (WebCore::Frame::dispatchVisibilityStateChangeEvent):
20560        * page/Frame.h:
20561        * page/Page.cpp:
20562        (WebCore::Page::Page):
20563        (WebCore::Page::setVisibilityState):
20564        (WebCore::Page::visibilityState):
20565        * page/Page.h:
20566        * page/PageVisibilityState.cpp: Added.
20567        (WebCore::GetPageVisibilityStateString):
20568        * page/PageVisibilityState.h: Added.
20569
205702011-05-09  Luke Macpherson   <macpherson@chromium.org>
20571
20572        Reviewed by Eric Seidel.
20573
20574        Implement expanding CSS border properties in CSSStyleApplyProperty.
20575        https://bugs.webkit.org/show_bug.cgi?id=60456
20576
20577        No new tests added as no functionality changed.
20578
20579        * css/CSSStyleApplyProperty.cpp:
20580        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
20581        Create CSS border expanding property handlers.
20582        * css/CSSStyleSelector.cpp:
20583        (WebCore::CSSStyleSelector::applyProperty):
20584        Remove property handlers that are no longer needed.
20585
205862011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
20587
20588        Reviewed by Kent Tamura.
20589
20590        selectstart event does not fire when selection is made via select all
20591        https://bugs.webkit.org/show_bug.cgi?id=60376
20592
20593        Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
20594        document, editable region, or text control.
20595
20596        Tests: editing/selection/selectstart-on-selectall.html
20597               editing/selection/selectstart-prevent-selectall.html
20598
20599        * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
20600        * editing/FrameSelection.cpp:
20601        (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
20602        input element or textarea element when the current selection is inside a shadow DOM, and the root
20603        editable element if it's inside a non-shadow editable region, and the body element otherwise.
20604        * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
20605        declared in Node.
20606
206072011-05-08  Luke Macpherson   <macpherson@chromium.org>
20608
20609        Reviewed by Eric Seidel.
20610
20611        Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
20612        https://bugs.webkit.org/show_bug.cgi?id=60249
20613
20614        No new tests added as no functionality changed.
20615
20616        * css/CSSStyleSelector.cpp:
20617        (WebCore::CSSStyleSelector::applyProperty):
20618        Remove special-case code and use appropriate macro.
20619        * rendering/style/RenderStyle.h:
20620        (WebCore::InheritedFlags::setColumnBreakInside):
20621        Assert that supported values are used.
20622
206232011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
20624
20625        Reviewed by Darin Adler.
20626
20627        Extract a DragCaretController from FrameSelection
20628        https://bugs.webkit.org/show_bug.cgi?id=60273
20629
20630        Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
20631        DragCaretController and FrameSelection and provides functions to paint caret.
20632
20633        Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.
20634
20635        * WebCore.exp.in:
20636        * editing/FrameSelection.cpp:
20637        (WebCore::CaretBase::CaretBase): Added.
20638        (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
20639        (WebCore::DragCaretController::isContentRichlyEditable): Added.
20640        (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
20641        (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
20642        (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
20643        (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
20644        (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
20645        and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
20646        FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
20647        we used to execute the first if clause and cleared render tree selection and DOM tree selection.
20648        This is exactly what new DragCaretController::nodeWillBeRemoved does.
20649        (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
20650        (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
20651        (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
20652        Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
20653        FrameSelection's start was not null.
20654        (WebCore::caretRendersInsideNode): Moved; Made static local.
20655        (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
20656        (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
20657        (WebCore::DragCaretController::caretRenderer): Ditto.
20658        (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
20659        (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
20660        (WebCore::CaretBase::caretRepaintRect): Ditto.
20661        (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
20662        and shouldRepaintCaret with extra arguments.
20663        (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
20664        (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
20665        (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
20666        (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
20667        (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
20668        (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
20669        DragCaretController.
20670        (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
20671        * editing/FrameSelection.h:
20672        (WebCore::CaretBase::localCaretRectForPainting): Added.
20673        (WebCore::DragCaretController::isContentEditable): Added.
20674        (WebCore::DragCaretController::hasCaret): Added.
20675        (WebCore::DragCaretController::caretPosition): Added.
20676        (WebCore::DragCaretController::clear): Added.
20677        * page/DragController.cpp:
20678        (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
20679        (WebCore::DragController::dispatchTextInputEventFor): Ditto.
20680        (WebCore::DragController::concludeEditDrag): Ditto.
20681        (WebCore::DragController::placeDragCaret): Ditto.
20682        * page/Page.cpp:
20683        (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
20684        * page/Page.h:
20685        (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
20686        * rendering/RenderBlock.cpp:
20687        (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.
20688
206892011-05-08  Dan Bernstein  <mitz@apple.com>
20690
20691        Reviewed by Darin Adler.
20692
20693        <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
20694        https://bugs.webkit.org/show_bug.cgi?id=60432
20695
20696        * rendering/InlineTextBox.h:
20697        (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
20698        variable is a (truncated) int anyway.
20699        * rendering/RenderBlockLineLayout.cpp:
20700        (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
20701        so that the right amount is added to the total width. Also changed to use an early return.
20702
207032011-05-08  Pavel Feldman  <pfeldman@chromium.org>
20704
20705        Not reviewed: ignore 0 responses in the inspector network instrumentation.
20706
20707        * inspector/front-end/NetworkManager.js:
20708
207092011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
20710
20711        Reviewed by Kenneth Rohde Christiansen.
20712
20713        [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
20714        https://bugs.webkit.org/show_bug.cgi?id=58556
20715
20716        Tests: fast/canvas/webgl/gl-teximage.html
20717
20718        * platform/graphics/qt/GraphicsContext3DQt.cpp:
20719        (WebCore::GraphicsContext3D::getImageData):
20720
207212011-05-07  Dan Bernstein  <mitz@apple.com>
20722
20723        Reviewed by Maciej Stachowiak.
20724
20725        <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
20726        https://bugs.webkit.org/show_bug.cgi?id=60443
20727
20728        Test: fast/replaced/table-percent-height-positioned.html
20729
20730        * rendering/RenderBox.cpp:
20731        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
20732        replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
20733        doesn’t affect the table cell’s height).
20734
207352011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
20736
20737        Unreviewed, rolling out r86016.
20738        http://trac.webkit.org/changeset/86016
20739        https://bugs.webkit.org/show_bug.cgi?id=60445
20740
20741        caused crashes on the WK2 Windows bots (Requested by
20742        jessieberlin on #webkit).
20743
20744        * platform/network/ResourceHandle.h:
20745        * platform/network/cf/CookieStorageCFNet.cpp:
20746        (WebCore::currentCookieStorage):
20747        (WebCore::defaultCookieStorage):
20748        * platform/network/cf/ResourceHandleCFNet.cpp:
20749        (WebCore::willSendRequest):
20750        (WebCore::makeFinalRequest):
20751        (WebCore::ResourceHandle::willSendRequest):
20752        * platform/network/cf/ResourceRequestCFNet.cpp:
20753        (WebCore::ResourceRequest::doUpdatePlatformRequest):
20754
207552011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
20756
20757        Unreviewed, rolling out r85974.
20758        http://trac.webkit.org/changeset/85974
20759        https://bugs.webkit.org/show_bug.cgi?id=60444
20760
20761        broke browser tests (Requested by inferno-sec on #webkit).
20762
20763        * platform/network/chromium/ResourceResponse.cpp:
20764        (WebCore::ResourceResponse::doPlatformCopyData):
20765        (WebCore::ResourceResponse::doPlatformAdopt):
20766        * platform/network/chromium/ResourceResponse.h:
20767        (WebCore::ResourceResponse::downloadFilePath):
20768        (WebCore::ResourceResponse::setDownloadFilePath):
20769
207702011-05-07  Jessie Berlin  <jberlin@apple.com>
20771
20772        Reviewed by Steve Falkenburg.
20773
20774        [Windows WebKit2] Use cookies set in WebKit1
20775        https://bugs.webkit.org/show_bug.cgi?id=60274
20776
20777        Share the default storage session between the UI and Web Processes.
20778
20779        * platform/network/cf/CookieStorageCFNet.cpp:
20780        (WebCore::defaultSessionCookieStorage):
20781        Keep track of the default storage session cookie storage.
20782        (WebCore::currentCookieStorage):
20783        Call defaultCookieStorage to get the default cookie storage.
20784        (WebCore::defaultCookieStorage):
20785        If there is a default storage session cookie storage, prefer that over getting the default
20786        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
20787        without specifying a storage session will not get the cookie storage being shared by the UI
20788        and Web Processes.
20789
20790        * platform/network/ResourceHandle.h:
20791        * platform/network/cf/ResourceHandleCFNet.cpp:
20792        (WebCore::willSendRequest):
20793        Make sure to set the current storage session on any requests used by the Web
20794        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
20795        doing anything with the Web Process's default storage session (which is not the one shared
20796        with the UI Process).
20797        (WebCore::makeFinalRequest):
20798        Ditto.
20799        (WebCore::ResourceHandle::willSendRequest):
20800        Ditto.
20801        (WebCore::ResourceHandle::currentStorageSession):
20802        If there is a Private Browsing storage session, return that.
20803        If not, on Windows return the default storage session that is being shared with the UI
20804        Process and on Mac return 0.
20805        (WebCore::defaultCFURLStorageSession):
20806        (WebCore::ResourceHandle::setDefaultStorageSession):
20807        (WebCore::ResourceHandle::defaultStorageSession):
20808
20809        * platform/network/cf/ResourceRequestCFNet.cpp:
20810        (WebCore::ResourceRequest::doUpdatePlatformRequest):
20811        Make sure to set the current storage session on any requests used by the Web
20812        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
20813        doing anything with the Web Process's default storage session (which is not the one shared
20814        with the UI Process).
20815
208162011-05-07  Joe Mason  <jmason@rim.com>
20817
20818        Reviewed by Daniel Bates.
20819
20820        FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect
20821        https://bugs.webkit.org/show_bug.cgi?id=52211
20822
20823        Create a UserGestureIndicator when calling the clientRedirected callback.
20824
20825        * loader/NavigationScheduler.cpp:
20826        (WebCore::ScheduledURLNavigation::didStartTimer):
20827        (WebCore::ScheduledURLNavigation::didStopTimer):
20828        (WebCore::ScheduledFormSubmission::didStartTimer):
20829        (WebCore::ScheduledFormSubmission::didStopTimer):
20830
208312011-05-06  Jon Lee  <jonlee@apple.com>
20832
20833        Reviewed by Alice Liu.
20834
20835        Crash when sending a wheel event to a node with no shadow ancestor node
20836        https://bugs.webkit.org/show_bug.cgi?id=60429
20837        <rdar://problem/9389619>
20838
20839        * page/EventHandler.cpp:
20840        (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.
20841
208422011-05-06  Kent Tamura  <tkent@chromium.org>
20843
20844        Reviewed by Ryosuke Niwa.
20845
20846        Eliminate WebCore/dom/InputElement.{cpp,h}
20847        https://bugs.webkit.org/show_bug.cgi?id=60262
20848
20849        - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement
20850          and TextFieldInputType.
20851        - Change the return type of Node::toInputElement():
20852          InputElement* -> HTMLInputElement*
20853
20854        No new tests. This change should not change the existing behaviour.
20855
20856        * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h.
20857        * GNUmakefile.list.am: ditto.
20858        * WebCore.exp.in: Add symbols of functions exposed to WebKit.
20859        * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h.
20860        * WebCore.pro: ditto.
20861        * WebCore.vcproj/WebCore.vcproj: ditto.
20862        * WebCore.xcodeproj/project.pbxproj: ditto.
20863        * accessibility/AXObjectCache.cpp:
20864        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
20865          Follow the return type change of Node::toInputElement().
20866        * accessibility/AccessibilityRenderObject.cpp:
20867        (WebCore::AccessibilityRenderObject::isPasswordField): ditto.
20868        (WebCore::AccessibilityRenderObject::isIndeterminate): ditto.
20869        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto.
20870        (WebCore::AccessibilityRenderObject::isChecked): ditto.
20871        * css/CSSStyleSelector.cpp:
20872        (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto.
20873        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
20874        * dom/CheckedRadioButtons.cpp:
20875        (WebCore::CheckedRadioButtons::removeButton): ditto.
20876        * dom/DOMAllInOne.cpp: Remove InputElement.h.
20877        * dom/InputElement.cpp: Removed.
20878        * dom/InputElement.h: Removed.
20879        * dom/Node.cpp:
20880        (WebCore::Node::toInputElement):
20881          Change the return type from InputElement* to HTMLInputElement*.
20882        * dom/Node.h: ditto.
20883        * html/HTMLInputElement.cpp:
20884        (WebCore::HTMLInputElement::HTMLInputElement):
20885        (WebCore::HTMLInputElement::formControlName):
20886        (WebCore::HTMLInputElement::tooLong):
20887        (WebCore::HTMLInputElement::updateFocusAppearance):
20888        (WebCore::HTMLInputElement::aboutToUnload):
20889        (WebCore::HTMLInputElement::handleFocusEvent):
20890        (WebCore::HTMLInputElement::handleBlurEvent):
20891        (WebCore::HTMLInputElement::updateType):
20892        (WebCore::HTMLInputElement::parseMappedAttribute):
20893        (WebCore::HTMLInputElement::size):
20894        (WebCore::HTMLInputElement::copyNonAttributeProperties):
20895        (WebCore::HTMLInputElement::value):
20896        (WebCore::HTMLInputElement::suggestedValue):
20897        (WebCore::HTMLInputElement::setSuggestedValue):
20898        (WebCore::HTMLInputElement::setValue):
20899        (WebCore::HTMLInputElement::setValueFromRenderer):
20900        (WebCore::HTMLInputElement::setFileListFromRenderer):
20901        (WebCore::HTMLInputElement::setDefaultName):
20902        (WebCore::HTMLInputElement::maxLength):
20903        (WebCore::HTMLInputElement::cacheSelection):
20904        (WebCore::formatCodes): Moved from InputElement.
20905        (WebCore::cursorPositionToMaskIndex): ditto.
20906        (WebCore::HTMLInputElement::isConformToInputMask): ditto.
20907        (WebCore::HTMLInputElement::validateInputMask): ditto.
20908        (WebCore::HTMLInputElement::setWapInputFormat): ditto.
20909        (WebCore::HTMLInputElement::notifyFormStateChanged): ditto.
20910        (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto.
20911        (WebCore::HTMLInputElement::updateValueIfNeeded):ditto.
20912        * html/HTMLInputElement.h:
20913          - Add data members which were defined in InputElementData.
20914          - Make some functions public because the public interface InputElement is removed.
20915          - Make some functions non-virtual because they don't override
20916            corresponding virtual functions of InputElement anymore.
20917        (WebCore::HTMLInputElement::toInputElement):
20918          Follow the return type change of Node::toInputElement().
20919        (WebCore::HTMLInputElement::isIndeterminate):
20920        (WebCore::HTMLInputElement::isAutofilled):
20921        (WebCore::HTMLInputElement::supportsMaxLength):
20922        (WebCore::HTMLInputElement::cachedSelectionStart):
20923        (WebCore::HTMLInputElement::cachedSelectionEnd):
20924        * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h.
20925        * html/InputType.cpp:
20926        (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code.
20927        * html/InputType.h: Update for the above.
20928        * html/TextFieldInputType.cpp:
20929        (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp.
20930        (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength().
20931        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
20932          Move the code from InputElement::handleBeforeTextInsertedEvent().
20933        * html/TextFieldInputType.h: Update declarations.
20934        * rendering/RenderTextControlSingleLine.cpp:
20935          - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor.
20936          - Follow the return type change of inputElement().
20937        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
20938          Make sure node() is an HTMLInputElement instance.
20939        (WebCore::RenderTextControlSingleLine::addSearchResult):
20940        (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
20941        (WebCore::RenderTextControlSingleLine::showPopup):
20942        (WebCore::RenderTextControlSingleLine::hidePopup):
20943        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
20944        (WebCore::RenderTextControlSingleLine::updateFromElement):
20945        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
20946        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
20947        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
20948        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
20949        (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
20950        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
20951        (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
20952        (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
20953        (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
20954        (WebCore::RenderTextControlSingleLine::valueChanged):
20955        (WebCore::RenderTextControlSingleLine::setTextFromItem):
20956        (WebCore::RenderTextControlSingleLine::inputElement):
20957        * rendering/RenderTextControlSingleLine.h:
20958          Change the return type of inputElement(): InputElement* -> HTMLInputElement*.
20959        * rendering/RenderTheme.cpp:
20960        (WebCore::RenderTheme::isChecked):
20961          Follow the return type change of Node::toInputElement().
20962        (WebCore::RenderTheme::isIndeterminate): ditto.
20963        (WebCore::RenderTheme::shouldHaveSpinButton):
20964          Change the parameter type: InputElement* -> HTMLInputElement*.
20965        * rendering/RenderTheme.h: ditto.
20966
209672011-05-06  Adam Barth  <abarth@webkit.org>
20968
20969        Reviewed by Eric Seidel.
20970
20971        Implement "Report-Only" mode for CSP
20972        https://bugs.webkit.org/show_bug.cgi?id=60402
20973
20974        This mode lets web sites try out CSP by getting violation reports (and
20975        console spam) without actually changing the behavior of their web sites.
20976
20977        Test: http/tests/security/contentSecurityPolicy/report-only.html
20978
20979        * dom/Document.cpp:
20980        (WebCore::Document::processHttpEquiv):
20981        * loader/FrameLoader.cpp:
20982        (WebCore::FrameLoader::didBeginDocument):
20983        * page/ContentSecurityPolicy.cpp:
20984        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
20985        (WebCore::ContentSecurityPolicy::didReceiveHeader):
20986        (WebCore::ContentSecurityPolicy::reportViolation):
20987        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
20988        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
20989        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
20990        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
20991        * page/ContentSecurityPolicy.h:
20992
209932011-05-06  Beth Dakin  <bdakin@apple.com>
20994
20995        Reviewed by Darin Adler.
20996
20997        https://bugs.webkit.org/show_bug.cgi?id=60421
20998        Custom scrollbars nested inside an overlay scrollbar overflow region end up 
20999        painting twice
21000        -and corresponding-
21001        <rdar://problem/9389072>
21002
21003        Be sure not to paint custom css scrollbars during the special overlay-scrollbar 
21004        painting pass.
21005        * rendering/RenderLayer.cpp:
21006        (WebCore::RenderLayer::paintOverflowControls):
21007
210082011-05-06  Cary Clark  <caryclark@google.com>
21009
21010        Reviewed by Eric Seidel.
21011
21012        Add utility for converting SkCanvas to CGContext
21013        https://bugs.webkit.org/show_bug.cgi?id=59808
21014
21015        Skia on Mac uses Skia to render WebKit, and CG 
21016        to render UI elements. The CG elements need a 
21017        transcribed graphics context that preserves the 
21018        canvas matrix, and the canvas clip. 
21019
21020        The BitLockerSkia utility class sets up a CGContext 
21021        from the SkCanvas, locks the bitmap's bits, and 
21022        releases the lock when the class goes out of scope. 
21023
21024        Each time the CGContext is retrieved, it is rebuilt. 
21025        This permits the caller to modify the same canvas 
21026        between calls. 
21027
21028        This change adds utilities but does not modify any 
21029        existing code. For now, there are no callers to these 
21030        utilities, so there is no functional change.
21031
21032        No new tests.
21033
21034        * platform/graphics/skia/BitLockerSkia.cpp: Added.
21035        (WebCore::SkMatrixToCGAffineTransform): Conversion utility.
21036        (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas.
21037        (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up.
21038        (WebCore::BitLockerSkia::release): Internal private helper.
21039        (WebCore::BitLockerSkia::cgContext): Returns CGContextRef.
21040        * platform/graphics/skia/BitLockerSkia.h: Added.
21041
210422011-05-06  Martin Robinson  <mrobinson@igalia.com>
21043
21044        Reviewed by Xan Lopez.
21045
21046        [GTK] [WebKit2] WebView::windowToScreen needs an implementation
21047        https://bugs.webkit.org/show_bug.cgi?id=55960
21048
21049        Abstract coordinate system translation code from WebKit into WebCore.
21050        This will allow the code to be shared between WebKit and WebKit2. The code
21051        now lives in a new GtkUtilities.cpp helper file.
21052
21053        * GNUmakefile.list.am: Added GtkUtilities to the source list.
21054        * platform/gtk/GtkUtilities.cpp: Added.
21055        (WebCore::convertWidgetRectToScreenRect):
21056        * platform/gtk/GtkUtilities.h: Added.
21057
210582011-05-06  Martin Robinson  <mrobinson@igalia.com>
21059
21060        Reviewed by Xan Lopez.
21061
21062        Remove some unnecessary static methods in ResourceHandleSoup.
21063
21064        No new tests. This is only a small cleanup.
21065
21066        * platform/network/soup/ResourceHandleSoup.cpp:
21067        (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly.
21068        (WebCore::gotHeadersCallback):Ditto.
21069        (WebCore::contentSniffedCallback):Ditto.
21070        (WebCore::sendRequestCallback):Ditto.
21071        (WebCore::ResourceHandle::defaultSession): Create the soup session directly.
21072
210732011-05-06  Martin Robinson  <mrobinson@igalia.com>
21074
21075        Reviewed by Xan Lopez.
21076
21077        [Soup] ResourceHandles are leaked on 304 responses
21078        https://bugs.webkit.org/show_bug.cgi?id=60413
21079
21080        Always call cleanupSoupRequestOperation, even when the request was not
21081        canceled. Before the code would call didFinishLoading and then never clean up
21082        the request.
21083
21084        No new tests. This simply fixes a memory leak.
21085
21086        * platform/network/soup/ResourceHandleSoup.cpp:
21087        (WebCore::sendRequestCallback):
21088
210892011-05-06  Adam Barth  <abarth@webkit.org>
21090
21091        Reviewed by Eric Seidel.
21092
21093        Add disable-javascript-urls CSP directive
21094        https://bugs.webkit.org/show_bug.cgi?id=60301
21095
21096        This CSP directive is not in the CSP spec.  This patch is somewhat of
21097        an experiment to see whether this feature is useful.  Based on our
21098        implementation experience, we will coordinate with folks via the W3C to
21099        see if this makes sense to add to the spec.
21100
21101        Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html
21102
21103        * page/ContentSecurityPolicy.cpp:
21104        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
21105        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
21106        (WebCore::ContentSecurityPolicy::addDirective):
21107        * page/ContentSecurityPolicy.h:
21108
211092011-05-06  Brett Wilson  <brettw@chromium.org>
21110
21111        Reviewed by Adam Barth.
21112
21113        Use a File object to store the downloaded file reference rather than
21114        just the path. This keeps the file and permissions in scope (using the
21115        already-existing blob system) so the browser won't delete the file
21116        when the load is complete. Instead, the file will be cleaned up when
21117        the request objects are deleted.
21118        https://bugs.webkit.org/show_bug.cgi?id=60281
21119
21120        * platform/network/chromium/ResourceResponse.cpp:
21121        (WebCore::ResourceResponse::doPlatformCopyData):
21122        (WebCore::ResourceResponse::doPlatformAdopt):
21123        * platform/network/chromium/ResourceResponse.h:
21124        (WebCore::ResourceResponse::downloadedFile):
21125        (WebCore::ResourceResponse::setDownloadedFile):
21126
211272011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
21128
21129        Reviewed by Darin Adler.
21130
21131        Fix two warnings of unused variables.
21132        https://bugs.webkit.org/show_bug.cgi?id=60370
21133
21134        Remove two unused local variable from the code.
21135
21136        No new tests, the existing ones should cover.
21137
21138        * rendering/RenderFlexibleBox.cpp:
21139        (WebCore::RenderFlexibleBox::layoutVerticalBox):
21140        * svg/animation/SVGSMILElement.cpp:
21141        (WebCore::SVGSMILElement::calculateNextProgressTime):
21142
211432011-05-06  Adam Barth  <abarth@webkit.org>
21144
21145        Reviewed by Eric Seidel.
21146
21147        Wire up CSP's eval blocking to V8's new API
21148        https://bugs.webkit.org/show_bug.cgi?id=60384
21149
21150        * bindings/v8/ScriptController.cpp:
21151        (WebCore::ScriptController::disableEval):
21152
211532011-05-06  David Hyatt  <hyatt@apple.com>
21154
21155        Reviewed by Dan Bernstein.
21156
21157        https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
21158        REGRESSION (r81684?): cox.com sign in button is missing
21159        
21160        Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
21161        This restores the original behavior before the refactoring messed it up.
21162
21163        Added fast/inline/nested-top-alignment.html
21164
21165        * rendering/InlineFlowBox.cpp:
21166        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
21167
211682011-05-06  David Hyatt  <hyatt@apple.com>
21169
21170        Reviewed by Dan Bernstein.
21171
21172        https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
21173        REGRESSION (r81992): portions of ticketmaster site render blank
21174
21175        Make simplified layout skip from a positioned object out to its containing block.  There is no
21176        need to dirty the intermediate inlines, and in this case it's actively harmful, since the
21177        block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
21178
21179        Added fast/block/positioning/hiding-inside-relpositioned-inline.html
21180
21181        * rendering/RenderObject.h:
21182        (WebCore::RenderObject::markContainingBlocksForLayout):
21183
211842011-05-06  Pavel Feldman  <pfeldman@chromium.org>
21185
21186        Not reviewed: move selection test into the text area branch.
21187
21188        * inspector/front-end/TextViewer.js:
21189        (WebInspector.TextViewer.prototype._contextMenu):
21190
211912011-05-04  Adrienne Walker  <enne@google.com>
21192
21193        Reviewed by James Robinson.
21194
21195        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
21196        https://bugs.webkit.org/show_bug.cgi?id=59020
21197
21198        Allow for empty scissor rects, which implies scissoring to the render
21199        surface. The previous code and previous patch on this bug both didn't
21200        take into account that the scissor rect should be the render surface
21201        and not the projection of the layer itself, because child layers
21202        aren't necessarily contained within the bounds of their superlayer.
21203
21204        Test: compositing/flat-with-transformed-child.html
21205
21206        * platform/graphics/chromium/LayerRendererChromium.cpp:
21207        (WebCore::LayerRendererChromium::paintLayerContents):
21208        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
21209        (WebCore::LayerRendererChromium::drawLayer):
21210        (WebCore::LayerRendererChromium::setScissorToRect):
21211
212122011-05-06  Simon Fraser  <simon.fraser@apple.com>
21213
21214        Reviewed by Sam Weinig.
21215
21216        Lazily allocate ScrollAnimator in ScrollableArea
21217        https://bugs.webkit.org/show_bug.cgi?id=60327
21218
21219        Avoid allocating the ScrollAnimator up-front, because we
21220        create lots of ScrollableAreas via RenderLayer, and we should
21221        only need the animator when scrolling.
21222
21223        * platform/ScrollableArea.cpp:
21224        (WebCore::ScrollableArea::ScrollableArea):
21225        (WebCore::ScrollableArea::scrollAnimator):
21226        (WebCore::ScrollableArea::scroll):
21227        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
21228        (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
21229        (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
21230        (WebCore::ScrollableArea::handleWheelEvent):
21231        (WebCore::ScrollableArea::handleGestureEvent):
21232        * platform/ScrollableArea.h:
21233
212342011-05-06  Eric Carlson  <eric.carlson@apple.com>
21235
21236        Reviewed by Darin Adler.
21237
21238        REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
21239        https://bugs.webkit.org/show_bug.cgi?id=60304
21240        <rdar://problem/9392609>
21241
21242        Don't assume that the only time the media controls UI may need to change is on a 
21243        network state change, readyState changes can be significant as well.
21244
21245        Tested manually because we don't have any live streams to test in DRT.
21246
21247        * html/HTMLMediaElement.cpp:
21248        (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
21249        (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
21250
21251        * html/shadow/MediaControlRootElement.cpp:
21252        (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
21253        (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
21254        * html/shadow/MediaControlRootElement.h:
21255
21256        * html/shadow/MediaControlRootElementChromium.cpp:
21257        (WebCore::MediaControlRootElementChromium::reset): Ditto.
21258        (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
21259        * html/shadow/MediaControlRootElementChromium.h:
21260        * html/shadow/MediaControls.h:
21261
212622011-05-06  Andreas Kling  <andreas.kling@nokia.com>
21263
21264        Unreviewed Qt 4.8 build fix.
21265
21266        * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
21267        enable it after the 4.8 bots are updated with the full QRawFont APIs.
21268
212692011-05-06  Alexander Pavlov  <apavlov@chromium.org>
21270
21271        Reviewed by Yury Semikhatsky.
21272
21273        Web Inspector: editing CSS in the Resources panel and not committing does not revert the change.
21274        https://bugs.webkit.org/show_bug.cgi?id=60319
21275
21276        * inspector/front-end/ResourceView.js:
21277        (WebInspector.ResourceSourceFrame.prototype.cancelEditing):
21278
212792011-05-06  Joe Mason  <jmason@rim.com>
21280
21281        Reviewed by Adam Barth.
21282
21283        WebSocket urls should always be encoded as UTF-8.
21284        https://bugs.webkit.org/show_bug.cgi?id=57138
21285
21286        Change WebSocket::connect to take the raw URL string and parse it
21287        internally using the simple KURL constructor, which expects an absolute
21288        UTF-8 encoded URL.  This ensures that all code that creates a WebSocket
21289        goes through this method instead of completeURL.
21290
21291        Test: http/tests/websocket/tests/url-with-nonascii-query.html
21292
21293        * bindings/js/JSWebSocketCustom.cpp:
21294        (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect().
21295        * websockets/WebSocket.cpp:
21296        (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8.
21297        * websockets/WebSocket.h:
21298
212992011-05-06  Luke Macpherson   <macpherson@chromium.org>
21300
21301        Reviewed by Eric Seidel.
21302
21303        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro.
21304        https://bugs.webkit.org/show_bug.cgi?id=60339
21305
21306        No tests added as no functionality changed.
21307
21308        * css/CSSStyleSelector.cpp:
21309        (WebCore::CSSStyleSelector::applyProperty):
21310        Use correct macro for CSSPropertySpeak.
21311        * rendering/style/RenderStyle.h:
21312        (WebCore::InheritedFlags::initialColorSpace):
21313        Add initialColorSpace() static method.
21314
213152011-05-06  Luke Macpherson   <macpherson@chromium.org>
21316
21317        Reviewed by Eric Seidel.
21318
21319        Make RenderStyle::setPageBreakInside() reject unsupported enum values.
21320        https://bugs.webkit.org/show_bug.cgi?id=60235
21321
21322        No tests added as no functionality changed.
21323
21324        * css/CSSStyleSelector.cpp:
21325        (WebCore::CSSStyleSelector::applyProperty):
21326        Remove special-case code and use appropriate macro.
21327        * rendering/style/RenderStyle.h:
21328        (WebCore::InheritedFlags::setPageBreakInside):
21329        Assert that only supported values are used.
21330
213312011-05-06  Luke Macpherson   <macpherson@chromium.org>
21332
21333        Reviewed by Eric Seidel.
21334
21335        Move burden of checking for BJustify box alignment into RenderStyle
21336        https://bugs.webkit.org/show_bug.cgi?id=60246
21337
21338        No new tests added as no functionality changed.
21339
21340        * css/CSSStyleSelector.cpp:
21341        (WebCore::CSSStyleSelector::applyProperty):
21342        Remove special-case logic checking for BJUSTIFY and use existing macro.
21343        * rendering/style/RenderStyle.h:
21344        (WebCore::InheritedFlags::setBoxAlign):
21345        Assert valid values are used.
21346
213472011-05-06  Luke Macpherson   <macpherson@chromium.org>
21348
21349        Reviewed by Eric Seidel.
21350
21351        Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro.
21352        https://bugs.webkit.org/show_bug.cgi?id=60338
21353
21354        No tests added as no functionality changed.
21355
21356        * css/CSSStyleSelector.cpp:
21357        (WebCore::CSSStyleSelector::applyProperty):
21358        Use correct macro for CSSPropertySpeak.
21359
213602011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
21361
21362        Reviewed by Alexey Proskuryakov.
21363
21364        Build fix with gcc 4.6 and c++0x support.
21365        https://bugs.webkit.org/show_bug.cgi?id=60284
21366
21367        When enabling support of c++0x the compilation fails because of an
21368        ambiguous overload error. In this code when constructing the pair
21369        we use the new c++0x rvalue reference feature (&&). It means we are
21370        calling String(const WTF::AtomicString&) which becomes ambiguous because
21371        it has an overload WTF::String::String(const WTF::String&) and usually one
21372        with the native port string type (e.g. QString). In this code we want the
21373        String version because the pair store Strings.
21374
21375        No new tests, build fix.
21376
21377        * loader/FormSubmission.cpp:
21378        (WebCore::FormSubmission::create):
21379
213802011-05-06  Cris Neckar  <cdn@chromium.org>
21381
21382        Reviewed by Dirk Schulze.
21383
21384        Tests for crash when a transform is applied to certain filters.
21385        https://bugs.webkit.org/show_bug.cgi?id=59551
21386
21387        Test: svg/filters/filter-after-transform-crash.svg
21388
21389        * platform/graphics/filters/FEComposite.cpp:
21390        (WebCore::FEComposite::determineAbsolutePaintRect):
21391        * platform/graphics/filters/FEConvolveMatrix.h:
21392        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
21393        * platform/graphics/filters/FEDisplacementMap.h:
21394        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
21395        * platform/graphics/filters/FEFlood.h:
21396        (WebCore::FEFlood::determineAbsolutePaintRect):
21397        * platform/graphics/filters/FELighting.h:
21398        (WebCore::FELighting::determineAbsolutePaintRect):
21399        * platform/graphics/filters/FETile.h:
21400        (WebCore::FETile::determineAbsolutePaintRect):
21401        * platform/graphics/filters/FETurbulence.h:
21402        (WebCore::FETurbulence::determineAbsolutePaintRect):
21403        * platform/graphics/filters/FilterEffect.cpp:
21404        (WebCore::isFilterSizeValid):
21405        (WebCore::FilterEffect::determineAbsolutePaintRect):
21406        (WebCore::FilterEffect::asUnmultipliedImage):
21407        (WebCore::FilterEffect::asPremultipliedImage):
21408        (WebCore::FilterEffect::copyUnmultipliedImage):
21409        (WebCore::FilterEffect::copyPremultipliedImage):
21410        (WebCore::FilterEffect::createUnmultipliedImageResult):
21411        (WebCore::FilterEffect::createPremultipliedImageResult):
21412        * platform/graphics/filters/FilterEffect.h:
21413        (WebCore::FilterEffect::maxEffectRect):
21414        (WebCore::FilterEffect::setMaxEffectRect):
21415        * rendering/svg/RenderSVGResourceFilter.cpp:
21416        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
21417        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
21418
214192011-05-06  Luke Macpherson   <macpherson@chromium.org>
21420
21421        Reviewed by Eric Seidel.
21422
21423        Use cast to convert primitive value to FontSmoothingMode.
21424        https://bugs.webkit.org/show_bug.cgi?id=60242
21425
21426        No tests added as no functionality changed.
21427
21428        * css/CSSStyleSelector.cpp:
21429        (WebCore::CSSStyleSelector::applyProperty):
21430        Use cast to convert primitive value to FontSmoothingMode.
21431
214322011-05-05  Luke Macpherson   <macpherson@chromium.org>
21433
21434        Reviewed by Eric Seidel.
21435
21436        Make CSSPropertySpeak use the correct macro.
21437        https://bugs.webkit.org/show_bug.cgi?id=60335
21438
21439        No tests added as no functionality changed.
21440
21441        * css/CSSStyleSelector.cpp:
21442        (WebCore::CSSStyleSelector::applyProperty):
21443        Use correct macro for CSSPropertySpeak.
21444
214452011-05-05  Eric Carlson  <eric.carlson@apple.com>
21446
21447        Reviewed by Maciej Stachowiak.
21448
21449        <rdar://problem/9390864>
21450        https://bugs.webkit.org/show_bug.cgi?id=60343
21451        Crash on Recovery System when trying to load page that includes media element
21452
21453        Automated test not possible, tested manually.
21454
21455        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
21456        (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if
21457            AVFoundation and CoreMedia are installed.
21458
21459        * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to 
21460            SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist.
21461
214622011-05-05  Eric Carlson  <eric.carlson@apple.com>
21463
21464        Reviewed by Darin Adler.
21465
21466        Live streams sometimes won't play with AVFoundation backend
21467        https://bugs.webkit.org/show_bug.cgi?id=58961
21468        rdar://problem/9284748
21469
21470        Tested manually because we don't have any live streams to test in DRT.
21471
21472        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
21473        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume
21474            AVFoundation will notify us when internal states change.
21475
21476        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver
21477            a RetainPtr
21478        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
21479        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
21480        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
21481
214822011-05-05  Jay Civelli  <jcivelli@chromium.org>
21483
21484        Reviewed by Adam Barth.
21485
21486        Adding quoted-printable encoding/decoding capabilities.
21487        This is needed for MHTML support.
21488        https://bugs.webkit.org/show_bug.cgi?id=59834
21489
21490        * CMakeLists.txt:
21491        * GNUmakefile.list.am:
21492        * WebCore.gypi:
21493        * WebCore.pro:
21494        * WebCore.vcproj/WebCore.vcproj:
21495        * WebCore.xcodeproj/project.pbxproj:
21496        * platform/text/QuotedPrintable.cpp: Added.
21497        * platform/text/QuotedPrintable.h: Added.
21498
214992011-05-05  Andy Estes  <aestes@apple.com>
21500
21501        Reviewed by Eric Seidel.
21502
21503        Implement document.innerHTML
21504        https://bugs.webkit.org/show_bug.cgi?id=60316
21505
21506        ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder
21507        for fragment parsing. This assertion will become invalid when
21508        document.innerHTML is implemented, which is the only case where HTML5
21509        specifies that a fragment will not have a context element.
21510
21511        * html/parser/HTMLTreeBuilder.cpp:
21512        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
21513
215142011-05-05  Kevin Ollivier  <kevino@theolliviers.com>
21515
21516        [wx] Unreviewed build fix. Include ApplicationServices for wx port.
21517
21518        * platform/graphics/GlyphBuffer.h:
21519        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
21520
215212011-05-05  Dan Bernstein  <mitz@apple.com>
21522
21523        Reviewed by Simon Fraser.
21524
21525        WebCore part of <rdar://problem/9155590> Broken animation in iAd producer
21526
21527        * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard.
21528        * platform/graphics/ca/GraphicsLayerCA.cpp:
21529        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity
21530        check in Core Animation.
21531        * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard.
21532        * platform/mac/WebCoreSystemInterface.mm: Ditto.
21533
215342011-05-05  Sam Weinig  <sam@webkit.org>
21535
21536        Reviewed by Anders Carlsson.
21537
21538        WebKit2 (Mac): Background tabs/windows can force themselves to the front
21539        <rdar://problem/9386346>
21540        https://bugs.webkit.org/show_bug.cgi?id=60315
21541
21542        * platform/mac/WidgetMac.mm:
21543        (WebCore::Widget::setFocus):
21544        It is incorrect for us to call Chrome::focus() here, which could bring a window/tab
21545        to the front. Calling focusNSView() was only necessary because in WebKit we must inform
21546        the platform widget that the focus has changed. WebKit2 Mac now matches other ports.
21547
215482011-05-05  Justin Novosad  <junov@chromium.org>
21549
21550        Reviewed by Kenneth Russell.
21551
21552        [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose
21553        https://bugs.webkit.org/show_bug.cgi?id=60173
21554
21555        * page/Page.cpp:
21556        (WebCore::Page::sharedGraphicsContext3D):
21557        Flipping the switch to make Skia the default for the accelerated 2d canvas
21558
215592011-05-05  Tony Gentilcore  <tonyg@chromium.org>
21560
21561        Reviewed by Adam Barth.
21562
21563        ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
21564        https://bugs.webkit.org/show_bug.cgi?id=60101
21565
21566        Test: fast/parser/close-while-stopping.html
21567
21568        * dom/Document.cpp:
21569        (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
21570        the close() steps should be aborted if there is no script-created parser
21571        associated with the document. Our parser lives throughout
21572        http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
21573        the spec doesn't consider the parser active any more. So to properly
21574        respect this, we need to check that the parser is still parsing.
21575
215762011-04-28  Evan Martin  <evan@chromium.org>
21577
21578        Reviewed by Ojan Vafai.
21579
21580        REGRESSION: backspace should not go back on Linux
21581        https://bugs.webkit.org/show_bug.cgi?id=59731
21582
21583        Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
21584        Linux, and test for it in the default backspace handler.
21585
21586        * editing/EditingBehavior.h:
21587        (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
21588        * page/EventHandler.cpp:
21589        (WebCore::EventHandler::defaultBackspaceEventHandler):
21590
215912011-05-05  Igor Oliveira  <igor.oliveira@openbossa.org>
21592
21593        Reviewed by Kenneth Russell.
21594
21595        Framebuffer object is being created twice
21596        https://bugs.webkit.org/show_bug.cgi?id=60207
21597
21598        Does not create more than one opengl framebuffer
21599
21600        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
21601        (WebCore::DrawingBuffer::DrawingBuffer):
21602        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
21603        (WebCore::DrawingBuffer::DrawingBuffer):
21604        * platform/graphics/gtk/DrawingBufferGtk.cpp:
21605        (WebCore::DrawingBuffer::DrawingBuffer):
21606
216072011-05-05  Simon Fraser  <simon.fraser@apple.com>
21608
21609        Reviewed by Beth Dakin.
21610
21611        Every RenderLayer registers itself as a ScrollableArea
21612        https://bugs.webkit.org/show_bug.cgi?id=59650
21613
21614        Rather than registering every RenderLayer as a ScrollableArea
21615        on layer creation, only register RenderLayers which are overflow-
21616        scrollable. Use the m_scrollableAreaPage pointer to keep track
21617        of whether we've registered to avoid excess work.
21618
21619        * rendering/RenderLayer.cpp:
21620        (WebCore::RenderLayer::RenderLayer):
21621        (WebCore::RenderLayer::scrollsOverflow):
21622        (WebCore::RenderLayer::styleChanged):
21623        * rendering/RenderLayer.h:
21624
216252011-05-05  Jer Noble  <jer.noble@apple.com>
21626
21627        Reviewed by Steve Falkenburg.
21628
21629        Workaround iTunes' incorrect registry entry for .m4a extensions.
21630        https://bugs.webkit.org/show_bug.cgi?id=60229
21631
21632        No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html).
21633        The test failed to catch this regression because the build bots haven't installed iTunes.
21634        
21635        Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'.
21636
21637        * platform/win/MIMETypeRegistryWin.cpp:
21638        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
21639
216402011-05-05  Abhishek Arya  <inferno@chromium.org>
21641
21642        Reviewed by Dave Hyatt.
21643
21644        When style changes for a RenderBlock and we lose our ability to intrude into
21645        floats in the next siblings block (e.g a position change), make sure to mark
21646        our childs with floats for layout and iterate through our next sibling block
21647        chain to see which ones contain the float that also exists in our floating
21648        objects list and clear those using markAllDescendantsWithFloatsForLayout.
21649        https://bugs.webkit.org/show_bug.cgi?id=56299
21650
21651        Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
21652               fast/block/float/float-not-removed-from-next-sibling.html
21653               fast/block/float/float-not-removed-from-next-sibling2.html
21654               fast/block/float/float-not-removed-from-next-sibling3.html
21655               fast/block/float/float-not-removed-from-next-sibling4.html
21656
21657        * rendering/RenderBlock.cpp:
21658        (WebCore::RenderBlock::styleWillChange):
21659        (WebCore::RenderBlock::styleDidChange):
21660        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
21661        * rendering/RenderBlock.h:
21662
216632011-05-05  Brian Weinstein  <bweinstein@apple.com>
21664
21665        Reviewed by Timothy Hatcher.
21666
21667        WebKit2: Docking Web Inspector doesn't respect maximum inspector size
21668        https://bugs.webkit.org/show_bug.cgi?id=60294
21669        <rdar://problem/9388518>
21670
21671        Make a needed function public and export it.
21672
21673        * WebCore.exp.in: Export constrainedAttaechedWindowHeight.
21674        * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public.
21675
216762011-05-05  Tony Gentilcore  <tonyg@chromium.org>
21677
21678        Reviewed by Nate Chapin.
21679
21680        [Navigation Timing] navigationStart should always be available
21681        https://bugs.webkit.org/show_bug.cgi?id=59448
21682
21683        * page/PerformanceTiming.cpp:
21684        (WebCore::PerformanceTiming::navigationStart):
21685
216862011-05-05  Eric Carlson  <eric.carlson@apple.com>
21687
21688        Reviewed by Adam Roben.
21689
21690        Block callbacks delivered during destruction
21691        https://bugs.webkit.org/show_bug.cgi?id=60291
21692        <rdar://problem/9382942>
21693
21694        No new tests, tested by existing tests.
21695
21696        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
21697        (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call 
21698            setIgnoreLoadStateChanges(true) to cancel all callbacks.
21699        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if 
21700            m_ignoreLoadStateChanges is true.
21701        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
21702            Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
21703        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
21704
217052011-05-05  David Hyatt  <hyatt@apple.com>
21706
21707        Reviewed by Darin Adler.
21708
21709        <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive
21710
21711        Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
21712        Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
21713        (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
21714        (the object being removed has no effect on any lines).
21715        
21716        Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
21717        is encountered has a null inlineBoxWrapper().  Just a slight speed optimization to avoid an extra null check.
21718        
21719        * rendering/RenderBlock.cpp:
21720        (WebCore::RenderBlock::destroy):
21721        * rendering/RenderInline.cpp:
21722        (WebCore::RenderInline::destroy):
21723        (WebCore::RenderInline::culledInlineFirstLineBox):
21724        (WebCore::RenderInline::culledInlineLastLineBox):
21725
217262011-05-05  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
21727
21728        Reviewed by Holger Freyther.
21729
21730        Fix build-webkit --minimal.
21731        https://bugs.webkit.org/show_bug.cgi?id=60257
21732
21733        No new tests. This is just a build fix.
21734
21735        * bindings/js/JSDOMBinding.cpp:
21736
217372011-05-05  Eric Carlson  <eric.carlson@apple.com>
21738
21739        Reviewed by Adam Roben.
21740
21741        The preload attribute of the video tag is not completely implemented
21742        https://bugs.webkit.org/show_bug.cgi?id=43673
21743        <rdar://problem/9369746>
21744
21745        This change implements "preload=metadata" for the AVFoundation backend.
21746        Tested manually with manual-tests/media-elements/video-preload.html.
21747
21748        * html/HTMLMediaElement.cpp:
21749        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
21750        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
21751        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
21752        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
21753            because we need to have media data loaded to seek.
21754        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
21755        * html/HTMLMediaElement.h:
21756
21757        * manual-tests/media-elements/video-preload.html: Make changing urls work. 
21758
21759        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
21760        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
21761            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
21762        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
21763        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
21764            Move all preload logic to setPreload, call it from here.
21765        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
21766            setPreload, call it.
21767        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
21768            unlikely to be correct and isn't worth caching. Use invalidTime() function.
21769        (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
21770        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
21771        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
21772            to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
21773            without one. Set networkState to 'idle' when the playback buffer is full because that is
21774            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
21775            when the first frame is available.
21776        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
21777            width, height, hasVideo, etc.
21778        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
21779        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
21780        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
21781        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
21782            in derived classes.
21783        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
21784            AVAsset and AVPlayerItem here.
21785        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
21786
21787        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
21788        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
21789        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
21790            m_videoFrameHasDrawn.
21791        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
21792            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
21793            if we have painted a frame to the context.
21794        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
21795            if necessary.
21796        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
21797        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
21798        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
21799        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
21800        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
21801            the buffer is full.
21802        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
21803            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
21804            when we only have metadata.
21805        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
21806        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
21807        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
21808            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
21809            when we only have metadata.
21810        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
21811            we have allocated the AVPlayerItem.
21812
218132011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
21814
21815        Reviewed by Eric Seidel.
21816
21817        Rename SelectionController to FrameSelection
21818        https://bugs.webkit.org/show_bug.cgi?id=60234
21819
21820        * CMakeLists.txt:
21821        * GNUmakefile.list.am:
21822        * WebCore.exp.in:
21823        * WebCore.gypi:
21824        * WebCore.pro:
21825        * WebCore.vcproj/WebCore.vcproj:
21826        * WebCore.xcodeproj/project.pbxproj:
21827        * accessibility/AccessibilityObject.cpp:
21828        * accessibility/AccessibilityRenderObject.cpp:
21829        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
21830        * accessibility/mac/AccessibilityObjectWrapper.mm:
21831        * bindings/objc/ExceptionHandlers.h:
21832        * css/CSSStyleSelector.cpp:
21833        * dom/ContainerNode.cpp:
21834        (WebCore::ContainerNode::cloneChildNodes):
21835        * dom/Document.cpp:
21836        * dom/InputElement.cpp:
21837        * editing/DeleteButtonController.cpp:
21838        * editing/EditCommand.cpp:
21839        * editing/EditingAllInOne.cpp:
21840        * editing/EditingStyle.cpp:
21841        * editing/Editor.cpp:
21842        (WebCore::Editor::canCopy):
21843        (WebCore::Editor::canDelete):
21844        (WebCore::Editor::markMisspellingsAfterTypingToWord):
21845        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
21846        (WebCore::Editor::changeSelectionAfterCommand):
21847        (WebCore::Editor::respondToChangedSelection):
21848        * editing/Editor.h:
21849        * editing/EditorCommand.cpp:
21850        (WebCore::executeDeleteToMark):
21851        (WebCore::executeMoveBackward):
21852        (WebCore::executeMoveBackwardAndModifySelection):
21853        (WebCore::executeMoveDown):
21854        (WebCore::executeMoveDownAndModifySelection):
21855        (WebCore::executeMoveForward):
21856        (WebCore::executeMoveForwardAndModifySelection):
21857        (WebCore::executeMoveLeft):
21858        (WebCore::executeMoveLeftAndModifySelection):
21859        (WebCore::executeMovePageDown):
21860        (WebCore::executeMovePageDownAndModifySelection):
21861        (WebCore::executeMovePageUp):
21862        (WebCore::executeMovePageUpAndModifySelection):
21863        (WebCore::executeMoveRight):
21864        (WebCore::executeMoveRightAndModifySelection):
21865        (WebCore::executeMoveToBeginningOfDocument):
21866        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
21867        (WebCore::executeMoveToBeginningOfLine):
21868        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
21869        (WebCore::executeMoveToBeginningOfParagraph):
21870        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
21871        (WebCore::executeMoveToBeginningOfSentence):
21872        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
21873        (WebCore::executeMoveToEndOfDocument):
21874        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
21875        (WebCore::executeMoveToEndOfSentence):
21876        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
21877        (WebCore::executeMoveToEndOfLine):
21878        (WebCore::executeMoveToEndOfLineAndModifySelection):
21879        (WebCore::executeMoveToEndOfParagraph):
21880        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
21881        (WebCore::executeMoveParagraphBackwardAndModifySelection):
21882        (WebCore::executeMoveParagraphForwardAndModifySelection):
21883        (WebCore::executeMoveUp):
21884        (WebCore::executeMoveUpAndModifySelection):
21885        (WebCore::executeMoveWordBackward):
21886        (WebCore::executeMoveWordBackwardAndModifySelection):
21887        (WebCore::executeMoveWordForward):
21888        (WebCore::executeMoveWordForwardAndModifySelection):
21889        (WebCore::executeMoveWordLeft):
21890        (WebCore::executeMoveWordLeftAndModifySelection):
21891        (WebCore::executeMoveWordRight):
21892        (WebCore::executeMoveWordRightAndModifySelection):
21893        (WebCore::executeMoveToLeftEndOfLine):
21894        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
21895        (WebCore::executeMoveToRightEndOfLine):
21896        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
21897        * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
21898        (WebCore::FrameSelection::FrameSelection):
21899        (WebCore::FrameSelection::moveTo):
21900        (WebCore::FrameSelection::setSelection):
21901        (WebCore::FrameSelection::nodeWillBeRemoved):
21902        (WebCore::FrameSelection::respondToNodeModification):
21903        (WebCore::FrameSelection::textWillBeReplaced):
21904        (WebCore::FrameSelection::setIsDirectional):
21905        (WebCore::FrameSelection::directionOfEnclosingBlock):
21906        (WebCore::FrameSelection::willBeModified):
21907        (WebCore::FrameSelection::positionForPlatform):
21908        (WebCore::FrameSelection::startForPlatform):
21909        (WebCore::FrameSelection::endForPlatform):
21910        (WebCore::FrameSelection::modifyExtendingRight):
21911        (WebCore::FrameSelection::modifyExtendingForward):
21912        (WebCore::FrameSelection::modifyMovingRight):
21913        (WebCore::FrameSelection::modifyMovingForward):
21914        (WebCore::FrameSelection::modifyExtendingLeft):
21915        (WebCore::FrameSelection::modifyExtendingBackward):
21916        (WebCore::FrameSelection::modifyMovingLeft):
21917        (WebCore::FrameSelection::modifyMovingBackward):
21918        (WebCore::FrameSelection::modify):
21919        (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
21920        (WebCore::FrameSelection::clear):
21921        (WebCore::FrameSelection::setStart):
21922        (WebCore::FrameSelection::setEnd):
21923        (WebCore::FrameSelection::setBase):
21924        (WebCore::FrameSelection::setExtent):
21925        (WebCore::FrameSelection::setCaretRectNeedsUpdate):
21926        (WebCore::FrameSelection::updateCaretRect):
21927        (WebCore::FrameSelection::caretRenderer):
21928        (WebCore::FrameSelection::localCaretRect):
21929        (WebCore::FrameSelection::absoluteBoundsForLocalRect):
21930        (WebCore::FrameSelection::absoluteCaretBounds):
21931        (WebCore::FrameSelection::caretRepaintRect):
21932        (WebCore::FrameSelection::recomputeCaretRect):
21933        (WebCore::FrameSelection::shouldRepaintCaret):
21934        (WebCore::FrameSelection::invalidateCaretRect):
21935        (WebCore::FrameSelection::paintCaret):
21936        (WebCore::FrameSelection::debugRenderer):
21937        (WebCore::FrameSelection::contains):
21938        (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
21939        (WebCore::FrameSelection::selectAll):
21940        (WebCore::FrameSelection::setSelectedRange):
21941        (WebCore::FrameSelection::isInPasswordField):
21942        (WebCore::FrameSelection::caretRendersInsideNode):
21943        (WebCore::FrameSelection::focusedOrActiveStateChanged):
21944        (WebCore::FrameSelection::pageActivationChanged):
21945        (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
21946        (WebCore::FrameSelection::setUseSecureKeyboardEntry):
21947        (WebCore::FrameSelection::setFocused):
21948        (WebCore::FrameSelection::isFocusedAndActive):
21949        (WebCore::FrameSelection::updateAppearance):
21950        (WebCore::FrameSelection::setCaretVisible):
21951        (WebCore::FrameSelection::clearCaretRectIfNeeded):
21952        (WebCore::FrameSelection::caretBlinkTimerFired):
21953        (WebCore::FrameSelection::notifyRendererOfSelectionChange):
21954        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
21955        (WebCore::FrameSelection::paintDragCaret):
21956        (WebCore::FrameSelection::copyTypingStyle):
21957        (WebCore::FrameSelection::shouldDeleteSelection):
21958        (WebCore::FrameSelection::bounds):
21959        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
21960        (WebCore::FrameSelection::currentForm):
21961        (WebCore::FrameSelection::revealSelection):
21962        (WebCore::FrameSelection::setSelectionFromNone):
21963        (WebCore::FrameSelection::shouldChangeSelection):
21964        (WebCore::FrameSelection::formatForDebugger):
21965        (WebCore::FrameSelection::showTreeForThis):
21966        (showTree):
21967        * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
21968        (WebCore::FrameSelection::typingStyle):
21969        (WebCore::FrameSelection::clearTypingStyle):
21970        (WebCore::FrameSelection::setTypingStyle):
21971        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
21972        * editing/ModifySelectionListLevel.cpp:
21973        * editing/RemoveFormatCommand.cpp:
21974        * editing/ReplaceSelectionCommand.cpp:
21975        * editing/SelectionController.cpp: Removed.
21976        * editing/SelectionController.h: Removed.
21977        * editing/SetSelectionCommand.cpp:
21978        (WebCore::SetSelectionCommand::SetSelectionCommand):
21979        (WebCore::SetSelectionCommand::doApply):
21980        (WebCore::SetSelectionCommand::doUnapply):
21981        * editing/SetSelectionCommand.h:
21982        (WebCore::SetSelectionCommand::create):
21983        * editing/SpellingCorrectionCommand.cpp:
21984        (WebCore::SpellingCorrectionCommand::doApply):
21985        * editing/SpellingCorrectionController.cpp:
21986        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
21987        * editing/TypingCommand.cpp:
21988        (WebCore::TypingCommand::deleteKeyPressed):
21989        (WebCore::TypingCommand::forwardDeleteKeyPressed):
21990        * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
21991        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
21992        * editing/chromium/SelectionControllerChromium.cpp: Removed.
21993        * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
21994        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
21995        * editing/gtk/SelectionControllerGtk.cpp: Removed.
21996        * editing/mac/EditorMac.mm:
21997        (WebCore::Editor::canCopyExcludingStandaloneImages):
21998        * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
21999        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
22000        * editing/mac/SelectionControllerMac.mm: Removed.
22001        * editing/qt/EditorQt.cpp:
22002        * loader/archive/cf/LegacyWebArchive.cpp:
22003        * page/ContextMenuController.cpp:
22004        (WebCore::ContextMenuController::populate):
22005        * page/DOMSelection.cpp:
22006        (WebCore::DOMSelection::type):
22007        (WebCore::DOMSelection::modify):
22008        (WebCore::DOMSelection::addRange):
22009        (WebCore::DOMSelection::deleteFromDocument):
22010        (WebCore::DOMSelection::containsNode):
22011        * page/DragController.cpp:
22012        (WebCore::DragController::dragIsMove):
22013        * page/DragController.h:
22014        * page/EventHandler.cpp:
22015        (WebCore::setSelectionIfNeeded):
22016        (WebCore::setNonDirectionalSelectionIfNeeded):
22017        (WebCore::EventHandler::sendContextMenuEventForKey):
22018        (WebCore::EventHandler::handleKeyboardSelectionMovement):
22019        * page/EventHandler.h:
22020        * page/FocusController.cpp:
22021        (WebCore::clearSelectionIfNeeded):
22022        * page/Frame.cpp:
22023        (WebCore::Frame::Frame):
22024        * page/Frame.h:
22025        (WebCore::Frame::selection):
22026        * page/Page.cpp:
22027        (WebCore::Page::Page):
22028        * page/Page.h:
22029        (WebCore::Page::dragCaretController):
22030        * page/chromium/DragControllerChromium.cpp:
22031        * page/chromium/EventHandlerChromium.cpp:
22032        * page/win/DragControllerWin.cpp:
22033        * page/win/EventHandlerWin.cpp:
22034        * rendering/HitTestResult.cpp:
22035        * rendering/RenderBlock.cpp:
22036        (WebCore::RenderBlock::destroy):
22037        (WebCore::RenderBlock::paintCaret):
22038        * rendering/RenderImage.cpp:
22039        * rendering/RenderInline.cpp:
22040        (WebCore::RenderInline::destroy):
22041        * rendering/RenderLayer.cpp:
22042        * rendering/RenderListBox.cpp:
22043        * rendering/RenderObjectChildList.cpp:
22044        (WebCore::RenderObjectChildList::removeChildNode):
22045        * rendering/RenderTextControl.cpp:
22046        * rendering/RenderTextControlSingleLine.cpp:
22047        * rendering/RenderTheme.cpp:
22048        * rendering/RenderTreeAsText.cpp:
22049        * svg/SVGSVGElement.cpp:
22050        * svg/SVGTextContentElement.cpp:
22051        (WebCore::SVGTextContentElement::selectSubString):
22052
220532011-05-05  Brent Fulgham  <bfulgham@webkit.org>
22054
22055        [WinCairo] unreviewed build correction.
22056
22057        * platform/network/curl/ResourceRequest.h:
22058        Stub out the new pipelined http logic for cURL.
22059
220602011-05-05  Pavel Feldman  <pfeldman@chromium.org>
22061
22062        Reviewed by Yury Semikhatsky.
22063
22064        Web Inspector: searching for node does not result in bringToFront call.
22065        https://bugs.webkit.org/show_bug.cgi?id=60222
22066
22067        * inspector/front-end/ElementsPanel.js:
22068        (WebInspector.ElementsPanel.prototype.updateFocusedNode):
22069
220702011-05-05  Andreas Kling  <andreas.kling@nokia.com>
22071
22072        Reviewed by Simon Hausmann.
22073
22074        [Qt] Implement the fast font path for Qt.
22075        https://bugs.webkit.org/show_bug.cgi?id=51106
22076
22077        Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
22078        rendering and measurement of simple text.
22079
22080        Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
22081        classes are fully integrated into the Qt 4.8 release branch.
22082
22083        * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
22084
22085        * platform/graphics/Font.cpp:
22086        (WebCore::Font::drawText): Disable fast font path for stroked text, and when
22087        painting text with a shadow. (Qt-only)
22088        (WebCore::Font::codePath): Try to use fast font path in more cases.
22089
22090        * platform/graphics/qt/FontCacheQt.cpp:
22091        (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
22092        to use for rendering a given string. Goes through QTextLayout to find the best
22093        font based on the original QFont query.
22094        (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
22095
22096        * platform/graphics/qt/FontPlatformData.h:
22097        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
22098        (WebCore::FontPlatformData::FontPlatformData):
22099        (WebCore::FontPlatformData::rawFont):
22100        * platform/graphics/qt/FontPlatformDataQt.cpp:
22101        (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
22102
22103        * platform/graphics/qt/FontQt.cpp:
22104        (WebCore::fillPenForContext):
22105        (WebCore::strokePenForContext):
22106        (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
22107        to share code between complex and simple font rendering paths.
22108        (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
22109
22110        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
22111        (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
22112
22113        * platform/graphics/qt/SimpleFontDataQt.cpp:
22114        (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
22115        have no way of knowing the pitch.
22116        (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
22117        (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
22118        (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
22119        (WebCore::SimpleFontData::smallCapsFontData): Ditto.
22120        (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
22121        (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
22122        (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
22123        (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
22124
221252011-05-05  Alexis Menard  <alexis.menard@openbossa.org>
22126
22127        Reviewed by Andreas Kling.
22128
22129        [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
22130        https://bugs.webkit.org/show_bug.cgi?id=60224
22131
22132        We should use nullptr rather than 0. nullptr will be added in the new C++ standard
22133        but WebKit already has a nullptr class if there is no c++0x support.
22134
22135        * platform/qt/RenderThemeQt.cpp:
22136        (WebCore::RenderThemeQt::adjustProgressBarStyle):
22137        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
22138        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
22139
221402011-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
22141
22142        Reviewed by Yury Semikhatsky.
22143
22144        Web Inspector: rename BrowserDebugger to DOMDebugger.
22145
22146        https://bugs.webkit.org/show_bug.cgi?id=60256
22147        InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
22148        browserDebugger => domDebugger
22149
22150        * CMakeLists.txt:
22151        * GNUmakefile.list.am:
22152        * WebCore.gypi:
22153        * WebCore.pro:
22154        * WebCore.vcproj/WebCore.vcproj:
22155        * WebCore.xcodeproj/project.pbxproj:
22156        * inspector/CodeGeneratorInspector.pm:
22157        * inspector/InspectorAgent.cpp:
22158        (WebCore::InspectorAgent::InspectorAgent):
22159        (WebCore::InspectorAgent::inspectedPageDestroyed):
22160        (WebCore::InspectorAgent::disconnectFrontend):
22161        * inspector/InspectorAgent.h:
22162        (WebCore::InspectorAgent::DOMDebuggerAgent):
22163        * inspector/InspectorController.cpp:
22164        (WebCore::InspectorController::connectFrontend):
22165        * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
22166        (WebCore::InspectorDOMDebuggerAgent::create):
22167        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
22168        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
22169        (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
22170        (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
22171        (WebCore::InspectorDOMDebuggerAgent::disable):
22172        (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
22173        (WebCore::InspectorDOMDebuggerAgent::discardBindings):
22174        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
22175        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
22176        (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
22177        (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
22178        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
22179        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
22180        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
22181        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
22182        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
22183        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
22184        (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
22185        (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
22186        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
22187        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
22188        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
22189        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
22190        (WebCore::InspectorDOMDebuggerAgent::clear):
22191        * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
22192        * inspector/InspectorInstrumentation.cpp:
22193        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
22194        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
22195        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
22196        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
22197        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
22198        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
22199        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
22200        * inspector/InstrumentingAgents.h:
22201        (WebCore::InstrumentingAgents::InstrumentingAgents):
22202        (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
22203        (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
22204        * inspector/WorkerInspectorController.cpp:
22205        (WebCore::WorkerInspectorController::connectFrontend):
22206
222072011-05-04  Yury Semikhatsky  <yurys@chromium.org>
22208
22209        Reviewed by Pavel Feldman.
22210
22211        Web Inspector: show only Console and Scripts panels in worker inspector front-end
22212        https://bugs.webkit.org/show_bug.cgi?id=60159
22213
22214        * inspector/front-end/WorkerManager.js:
22215        (WebInspector.WorkerManager.isWorkerFrontend):
22216        * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
22217
222182011-05-03  Hans Wennborg  <hans@chromium.org>
22219
22220        Reviewed by Steve Block.
22221
22222        IndexedDB: Unit tests for LevelDB key coding functions
22223        https://bugs.webkit.org/show_bug.cgi?id=59692
22224
22225        Fix some embarrassing bugs uncovered by unit tests.
22226
22227        No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
22228
22229        * storage/IDBLevelDBCoding.cpp:
22230        (WebCore::IDBLevelDBCoding::decodeInt):
22231        (WebCore::IDBLevelDBCoding::decodeVarInt):
22232
222332011-05-05  Young Han Lee  <joybro@company100.net>
22234
22235        Reviewed by Csaba Osztrogonác.
22236
22237        [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
22238        https://bugs.webkit.org/show_bug.cgi?id=60251
22239
22240        No new tests. Build fix.
22241
22242        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
22243        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
22244
222452011-05-04  Jay Civelli  <jcivelli@chromium.org>
22246
22247        Reviewed by Adam Barth.
22248
22249        Adding a utility class to read a SharedBuffer line by line.
22250        https://bugs.webkit.org/show_bug.cgi?id=59946
22251
22252        * CMakeLists.txt:
22253        * GNUmakefile.list.am:
22254        * WebCore.gypi:
22255        * WebCore.pro:
22256        * WebCore.vcproj/WebCore.vcproj:
22257        * WebCore.xcodeproj/project.pbxproj:
22258        * platform/SharedBufferCRLFLineReader.cpp: Added.
22259        * platform/SharedBufferCRLFLineReader.h: Added.
22260
222612011-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
22262
22263        Unreviewed, rolling out r85788.
22264        http://trac.webkit.org/changeset/85788
22265        https://bugs.webkit.org/show_bug.cgi?id=60250
22266
22267        svg/text/text-block-child-crash.xhtml asserts (Requested by
22268        Ossy on #webkit).
22269
22270        * css/CSSStyleSelector.cpp:
22271        (WebCore::CSSStyleSelector::applyProperty):
22272
222732011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
22274
22275        Reviewed by Eric Seidel.
22276
22277        Make more member functions in EventHandler private
22278        https://bugs.webkit.org/show_bug.cgi?id=60200
22279
22280        Reduced the number of public member functions in EventHandler.
22281
22282        * WebCore.exp.in:
22283        * page/EventHandler.cpp:
22284        (WebCore::EventHandler::handleAutoscroll):
22285        (WebCore::EventHandler::autoscrollTimerFired):
22286        (WebCore::EventHandler::stopAutoscrollTimer):
22287        (WebCore::EventHandler::handleMousePressEvent):
22288        (WebCore::EventHandler::handleMouseMoveEvent):
22289        (WebCore::EventHandler::keyEvent):
22290        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
22291        * page/EventHandler.h:
22292        (WebCore::EventHandler::mouseDownMayStartSelect):
22293
222942011-05-04  James Robinson  <jamesr@chromium.org>
22295
22296        Reviewed by Kenneth Russell.
22297
22298        [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
22299        https://bugs.webkit.org/show_bug.cgi?id=60202
22300
22301        In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check.  This switches
22302        the order back and adds a regression test.
22303
22304        Test: compositing/repaint/transform-style-change.html
22305
22306        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
22307        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
22308
223092011-05-04  Cris Neckar  <cdn@chromium.org>
22310
22311        Reviewed by Adam Barth.
22312
22313        Expose WebView directly through ChromeClient.
22314        https://bugs.webkit.org/show_bug.cgi?id=49902
22315
22316        Test: fast/media/media-svg-crash.html
22317
22318        * loader/EmptyClients.h:
22319        (WebCore::EmptyChromeClient::webView):
22320        * page/ChromeClient.h:
22321        * page/brew/ChromeClientBrew.h:
22322        (WebCore::ChromeClientBrew::webView):
22323
223242011-05-04  Joseph Pecoraro  <joepeck@webkit.org>
22325
22326        Reviewed by Darin Adler.
22327
22328        Unable to Paste After Deleting Text from Input due to -webkit-user-select
22329        https://bugs.webkit.org/show_bug.cgi?id=60219
22330
22331        When deleting all the text inside the input a placeholder <br>
22332        element was inserted for the selection point. However, when
22333        pasting, the test run computes the -webkit-user-select for the
22334        <br> element, instead of what would be the text inside the
22335        <input> and incorrectly disallows selection and prevented
22336        the paste.
22337
22338        Test: editing/pasteboard/paste-placeholder-input.html
22339
22340        * editing/ReplaceSelectionCommand.cpp:
22341        (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
22342        <br> elements above us as those are likely placeholder elements.
22343
223442011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
22345
22346        Reviewed by Martin Robinson.
22347
22348        Windows build of WebKit GTK needs to be able to find SystemInfo.h
22349        https://bugs.webkit.org/show_bug.cgi?id=60221
22350
22351        * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
22352        for headers, since Source/WebCore/platform/win/SystemInfo.h
22353        header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
22354        on Windows.
22355
223562011-05-04  Vangelis Kokkevis  <vangelis@chromium.org>
22357
22358        Reviewed by Kenneth Russell.
22359
22360        [chromium] Improve sorting of layers in hierarchies that preserve-3d
22361        by testing for overlapping regions between layer pairs and doing a
22362        topological sort to determine the right order.
22363        https://bugs.webkit.org/show_bug.cgi?id=59255
22364
22365        Test: platform/chromium/compositing/perpendicular-layer-sorting.html
22366
22367        * WebCore.gypi:
22368        * platform/graphics/chromium/LayerRendererChromium.cpp:
22369        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
22370        * platform/graphics/chromium/LayerRendererChromium.h:
22371        * platform/graphics/chromium/cc/CCLayerImpl.h:
22372        (WebCore::CCLayerImpl::clearRenderSurface):
22373        * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
22374        (WebCore::perpProduct):
22375        (WebCore::innerProduct):
22376        (WebCore::pointInColinearEdge):
22377        (WebCore::edgeEdgeTest):
22378        (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
22379        (WebCore::CCLayerSorter::LayerIntersector::go):
22380        (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
22381        (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
22382        (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
22383        (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
22384        (WebCore::CCLayerSorter::CCLayerSorter):
22385        (WebCore::CCLayerSorter::checkOverlap):
22386        (WebCore::CCLayerSorter::createGraphNodes):
22387        (WebCore::CCLayerSorter::createGraphEdges):
22388        (WebCore::CCLayerSorter::removeEdgeFromList):
22389        (WebCore::CCLayerSorter::sort):
22390        * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
22391        (WebCore::CCLayerSorter::GraphNode::GraphNode):
22392        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
22393
223942011-05-03  Jer Noble  <jer.noble@apple.com>
22395
22396        Reviewed by Antti Koivisto.
22397
22398        Safari: Video at apple.com cannot play at full screen mode with layout distortion
22399        https://bugs.webkit.org/show_bug.cgi?id=60140
22400
22401        Because a fullscreen element may be in a stacking context with a lower z-index than
22402        a sibling stacking context, those higher contexts would sometimes "pop" through the 
22403        full screen renderer. To facilitate eliminating all the stacking contexts aside from
22404        the full screen renderer, added a new pseudo-class specific to video or audio full
22405        screen elements. Then, added a new UA rule which resets the z-index and opacities of 
22406        all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
22407        identity checking of HTMLMediaElements, added isMediaElement() virtual function to 
22408        Element and HTMLMediaElement. 
22409
22410        Test: fullscreen/full-screen-stacking-context.html
22411
22412        * css/CSSSelector.cpp:
22413        (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
22414        (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
22415        (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
22416        * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
22417        * css/CSSStyleSelector.cpp:
22418        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
22419        * css/fullscreen.css:
22420        (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names, 
22421            which were missing the -webkit prefix.
22422        (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
22423        * dom/Element.h:
22424        (WebCore::Element::isMediaElement): Added, returns false.
22425        * html/HTMLMediaElement.h:
22426        (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
22427        * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
22428
224292011-05-04  Levi Weintraub  <leviw@chromium.org>
22430
22431        Reviewed by Eric Seidel.
22432
22433        Split findNextLineBreak into a LineBreaker class
22434        https://bugs.webkit.org/show_bug.cgi?id=60209
22435
22436        Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
22437        nearly no state, but subsequent patches will move some of the local variables used throughout
22438        the nextLineBreak function into member variables to simplify breaking off helper functions from
22439        the bloated function.
22440
22441        No new tests since this is just moving code around.
22442
22443        * WebCore.xcodeproj/project.pbxproj:
22444        * rendering/RenderBlock.h:
22445        (WebCore::RenderBlock::LineBreaker::LineBreaker):
22446        (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
22447        (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
22448        (WebCore::RenderBlock::LineBreaker::clear): Ditto.
22449        * rendering/RenderBlockLineLayout.cpp:
22450        (WebCore::RenderBlock::layoutRunsAndFloats):
22451        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
22452        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
22453        (WebCore::RenderBlock::LineBreaker::reset):
22454        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
22455
224562011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
22457
22458        Reviewed by Adam Barth.
22459
22460        Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
22461        The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
22462        https://bugs.webkit.org/show_bug.cgi?id=58579
22463
22464        * dom/XMLDocumentParserLibxml2.cpp:
22465        (WebCore::XMLDocumentParser::error):
22466
224672011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
22468
22469        Unreviewed warning fix.
22470
22471        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
22472        a warning in Release build.
22473
22474        * dom/Node.cpp:
22475        (WebCore::Node::removeEventListener):
22476        * platform/DateComponents.cpp:
22477        (WebCore::DateComponents::parseTime):
22478        * rendering/RenderLayer.cpp:
22479        (WebCore::RenderLayer::convertToLayerCoords):
22480        * storage/StorageMap.cpp:
22481        (WebCore::StorageMap::importItem):
22482        * svg/SVGUseElement.cpp:
22483        (WebCore::SVGUseElement::buildShadowTree):
22484        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
22485
224862011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
22487
22488        Unreviewed warning fix.
22489
22490        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
22491        a warning in Release build.
22492
22493        * accessibility/AccessibilityRenderObject.cpp:
22494        (WebCore::lastChildConsideringContinuation):
22495
224962011-05-04  Dimitri Glazkov  <dglazkov@chromium.org>
22497
22498        Sort xcodeproj files.
22499
22500        The WebCore.xcodeproj got out of sorts again.
22501
22502        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
22503
225042011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
22505
22506        Reviewed by Adam Barth.
22507
22508        Warning fix.
22509
22510        * bindings/js/DOMObjectHashTableMap.h:
22511        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
22512
225132011-05-04  Rob Buis  <rbuis@rim.com>
22514
22515        Reviewed by Darin Adler.
22516
22517        NULL deref when SVG elements have table styles 
22518        https://bugs.webkit.org/show_bug.cgi?id=45561
22519
22520        Restrict computed CSS values for SVG display property to block, inline or none.
22521
22522        Tests: svg/custom/display-table-caption-foreignObject.svg
22523               svg/custom/display-table-caption-inherit-foreignObject.xhtml
22524               svg/custom/display-table-caption-inherit-text.xhtml
22525               svg/custom/display-table-caption-text.svg
22526
22527        * css/CSSStyleSelector.cpp:
22528        (WebCore::CSSStyleSelector::applyProperty):
22529
225302011-05-04  Tao Bai  <michaelbai@chromium.org>
22531
22532        Reviewed by David Kilzer.
22533
22534        Populate touch-icon url to FrameLoaderClient
22535        https://bugs.webkit.org/show_bug.cgi?id=59143
22536        
22537        Parsed and populated apple-touch-icon url to FrameLoaderClient.
22538        Changed favicon to be a type of icon.
22539
22540        * CMakeLists.txt:
22541        * Configurations/FeatureDefines.xcconfig:
22542        * GNUmakefile.am:
22543        * GNUmakefile.list.am:
22544        * WebCore.gypi:
22545        * WebCore.vcproj/WebCore.vcproj:
22546        * WebCore.xcodeproj/project.pbxproj:
22547        * dom/Document.cpp:
22548        (WebCore::Document::iconURL):
22549        (WebCore::Document::setIconURL):
22550        * dom/Document.h:
22551        * dom/IconURL.cpp: Added.
22552        (WebCore::toIconIndex):
22553        * dom/IconURL.h: Added.
22554        (WebCore::IconURL::IconURL):
22555        * features.pri:
22556        * html/HTMLLinkElement.cpp:
22557        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
22558        (WebCore::HTMLLinkElement::process):
22559        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
22560        * html/HTMLLinkElement.h:
22561        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
22562        (WebCore::HTMLLinkElement::isEnabledViaScript):
22563        * html/parser/HTMLPreloadScanner.cpp:
22564        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
22565        * loader/DocumentLoader.cpp:
22566        (WebCore::DocumentLoader::iconURL):
22567        (WebCore::DocumentLoader::setIconURL):
22568        * loader/DocumentLoader.h:
22569        * loader/EmptyClients.h:
22570        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
22571        * loader/FrameLoader.cpp:
22572        (WebCore::FrameLoader::iconURL):
22573        (WebCore::FrameLoader::iconURLs):
22574        (WebCore::FrameLoader::fillIconURL):
22575        (WebCore::FrameLoader::getDefaultIconURL):
22576        (WebCore::FrameLoader::setIconURL):
22577        (WebCore::FrameLoader::didChangeIcons):
22578        * loader/FrameLoader.h:
22579        * loader/FrameLoaderClient.h:
22580
225812011-05-04  Chris Marrin  <cmarrin@apple.com>
22582
22583        Reviewed by Simon Fraser.
22584
22585        Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
22586        https://bugs.webkit.org/show_bug.cgi?id=60191
22587
22588        Skip replaceSublayer when there is no superlayer rather than asserting.
22589        This is probably not a problem and happens when restructuring the layer
22590        tree. Avoiding this crash will allow us to get more testing.
22591
22592        * platform/graphics/ca/GraphicsLayerCA.cpp:
22593        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
22594
225952011-05-04  Martin Robinson  <mrobinson@igalia.com>
22596
22597        Reviewed by Gustavo Noronha Silva.
22598
22599        Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
22600        method, just use extern declarations to avoid having to declare it in the header.
22601        This will prevent having to include glib.h in RenderThemeGtk.h, which is included
22602        in many C++ files.
22603
22604        No new tests. This is just a build fix.
22605
22606        * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
22607        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
22608        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
22609        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
22610        (WebCore::RenderThemeGtk::paintMediaButton):
22611        * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
22612        gtkEntry() public because they are now accessed externally from getStockIcon().
22613        * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
22614        (WebCore::getStockIconForWidgetType):
22615        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
22616        (WebCore::getStockIconForWidgetType):
22617
226182011-05-04  Mark Pilgrim  <pilgrim@chromium.org>
22619
22620        Reviewed by Tony Chang.
22621
22622        IndexedDB open (database) should fail if name is null
22623        https://bugs.webkit.org/show_bug.cgi?id=60022
22624
22625        Test: storage/indexeddb/mozilla/open-database-null-name.html
22626
22627        Combination problem: Bug in IDL didn't pass null values to .cpp layer,
22628        then .cpp layer didn't check for null value anyway.
22629
22630        * storage/IDBFactory.cpp:
22631        (WebCore::IDBFactory::open): check for null name
22632        * storage/IDBFactory.idl: pass null name as null
22633
226342011-05-04  Jer Noble  <jer.noble@apple.com>
22635
22636        Reviewed by Darin Adler.
22637
22638        Entering full screen fails >= second time on Vimeo.com.
22639        https://bugs.webkit.org/show_bug.cgi?id=60143
22640
22641        Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
22642        Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
22643        at the end of an animation, if it determined that the RenderFullScreen would still require
22644        a layer even when not animating.
22645
22646        * rendering/RenderFullScreen.cpp:
22647        (RenderFullScreen::setAnimating): Clear the renderer's layer.
22648
226492011-05-04  Simon Fraser  <simon.fraser@apple.com>
22650
22651        Reviewed by Darin Adler.
22652
22653        Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
22654        https://bugs.webkit.org/show_bug.cgi?id=59849
22655
22656        When attempting to unwind the graphics state stack in the
22657        CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
22658        to create a new ImageBuffer.
22659
22660        * html/HTMLCanvasElement.cpp:
22661        (WebCore::HTMLCanvasElement::existingDrawingContext):
22662        * html/HTMLCanvasElement.h:
22663        * html/canvas/CanvasRenderingContext2D.cpp:
22664        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
22665
226662011-05-04  Andrey Kosyakov  <caseq@chromium.org>
22667
22668        Reviewed by Yury Semikhatsky.
22669
22670        Web Inspector: expose shadow DOM in the Elements panel
22671        https://bugs.webkit.org/show_bug.cgi?id=60160
22672
22673        Test: inspector/elements/shadow-dom.html
22674
22675        * dom/Element.cpp:
22676        (WebCore::Element::ensureShadowRoot):
22677        (WebCore::Element::removeShadowRoot):
22678        * inspector/Inspector.json:
22679        * inspector/InspectorDOMAgent.cpp:
22680        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
22681        (WebCore::InspectorDOMAgent::buildObjectForNode):
22682        (WebCore::InspectorDOMAgent::didInsertDOMNode):
22683        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
22684        (WebCore::InspectorDOMAgent::isContainerNode):
22685        * inspector/InspectorDOMAgent.h:
22686        * inspector/front-end/DOMAgent.js:
22687        (WebInspector.DOMNode):
22688        (WebInspector.DOMNode.prototype.inShadowTree):
22689        (WebInspector.DOMNode.prototype._setShadowRootPayload):
22690        (WebInspector.DOMNode.prototype._renumber):
22691        (WebInspector.DOMAgent.prototype._bindNodes):
22692        (WebInspector.DOMAgent.prototype.querySelectorAll):
22693        (WebInspector.DOMAgent.prototype._shadowRootUpdated):
22694        (WebInspector.DOMDispatcher.prototype.searchResults):
22695        (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
22696        * inspector/front-end/ElementsPanel.js:
22697        (WebInspector.ElementsPanel):
22698        (WebInspector.ElementsPanel.prototype._nodeUpdated):
22699        (WebInspector.ElementsPanel.prototype._attributesUpdated):
22700        (WebInspector.ElementsPanel.prototype._nodeRemoved):
22701        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
22702        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
22703        * inspector/front-end/ElementsTreeOutline.js:
22704        (WebInspector.ElementsTreeElement):
22705        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
22706        (WebInspector.ElementsTreeElement.prototype._updateChildren):
22707        ():
22708        * inspector/front-end/inspector.css:
22709        (#elements-content .dom-shadow-root):
22710        (.outline-disclosure li .webkit-html-tag.shadow):
22711        * inspector/front-end/utilities.js:
22712
227132011-05-03  Adam Roben  <aroben@apple.com>
22714
22715        Remove an unnecessary OwnPtr equality check in XSLT code
22716
22717        Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
22718
22719        Reviewed by Anders Carlsson and Antti Koivisto.
22720
22721        * dom/Document.cpp:
22722        (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
22723        equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
22724        we're safe.)
22725
227262011-05-04  Leandro Gracia Gil  <leandrogracia@chromium.org>
22727
22728        Reviewed by Tony Gentilcore.
22729
22730        Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
22731        https://bugs.webkit.org/show_bug.cgi?id=56922
22732
22733        Add the basic outlines of the page controller, the per-frame controller and the embedder
22734        client interface for the Media Stream API. Provide methods to handle the situations
22735        where a frame is detached from the page or transferred between pages.
22736
22737        Tests for the Media Stream API will be provided by the bug 56587.
22738
22739        * CMakeLists.txt:
22740        * GNUmakefile.list.am:
22741        * WebCore.gypi:
22742        * WebCore.pro:
22743        * WebCore.vcproj/WebCore.vcproj:
22744        * WebCore.xcodeproj/project.pbxproj:
22745        * page/Frame.cpp:
22746        (WebCore::Frame::Frame):
22747        (WebCore::Frame::~Frame):
22748        (WebCore::Frame::pageDestroyed):
22749        (WebCore::Frame::transferChildFrameToNewDocument):
22750        * page/Frame.h:
22751        (WebCore::Frame::mediaStreamFrameController):
22752        * page/MediaStreamClient.h: Added.
22753        (WebCore::MediaStreamClient::~MediaStreamClient):
22754        * page/MediaStreamController.cpp: Added.
22755        (WebCore::MediaStreamController::Request::Request):
22756        (WebCore::MediaStreamController::Request::localId):
22757        (WebCore::MediaStreamController::Request::frameController):
22758        (WebCore::MediaStreamController::MediaStreamController):
22759        (WebCore::MediaStreamController::~MediaStreamController):
22760        (WebCore::MediaStreamController::unregisterFrameController):
22761        (WebCore::MediaStreamController::registerRequest):
22762        * page/MediaStreamController.h: Added.
22763        * page/MediaStreamFrameController.cpp: Added.
22764        (WebCore::MediaStreamFrameController::Request::Request):
22765        (WebCore::MediaStreamFrameController::Request::~Request):
22766        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
22767        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
22768        (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
22769        (WebCore::MediaStreamFrameController::RequestMap::abort):
22770        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
22771        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
22772        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
22773        (WebCore::MediaStreamFrameController::securityOrigin):
22774        (WebCore::MediaStreamFrameController::scriptExecutionContext):
22775        (WebCore::MediaStreamFrameController::pageController):
22776        (WebCore::MediaStreamFrameController::enterDetachedState):
22777        (WebCore::MediaStreamFrameController::disconnectPage):
22778        (WebCore::MediaStreamFrameController::disconnectFrame):
22779        (WebCore::MediaStreamFrameController::transferToNewPage):
22780        * page/MediaStreamFrameController.h: Added.
22781        * page/Page.cpp:
22782        (WebCore::Page::Page):
22783        (WebCore::Page::PageClients::PageClients):
22784        * page/Page.h:
22785        (WebCore::Page::mediaStreamController):
22786
227872011-05-04  Alexander Pavlov  <apavlov@chromium.org>
22788
22789        Reviewed by Yury Semikhatsky.
22790
22791        Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
22792        https://bugs.webkit.org/show_bug.cgi?id=60150
22793
22794        * inspector/front-end/StylesSidebarPane.js:
22795        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
22796
227972011-05-04  Dominic Battre  <battre@chromium.org>
22798
22799        Reviewed by Tony Gentilcore.
22800
22801        Fix missing header in case SVG is disabled
22802        https://bugs.webkit.org/show_bug.cgi?id=60153
22803
22804        * dom/EventDispatcher.cpp:
22805
228062011-05-04  Luke Macpherson   <macpherson@chromium.org>
22807
22808        Reviewed by Eric Seidel.
22809
22810        Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
22811        https://bugs.webkit.org/show_bug.cgi?id=60006
22812
22813        No new tests as no functionality added. Simple rename only.
22814
22815        * css/CSSStyleApplyProperty.cpp:
22816        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
22817        * css/CSSStyleApplyProperty.h:
22818        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
22819
228202011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
22821
22822        Reviewed by Eric Seidel.
22823
22824        Cleanup conditionals in findNextLineBreak
22825        https://bugs.webkit.org/show_bug.cgi?id=60117
22826
22827        Simplified conditional statements in findNextLineBreak.
22828
22829        * rendering/RenderBlockLineLayout.cpp:
22830        (WebCore::RenderBlock::findNextLineBreak):
22831
228322011-05-04  Luke Macpherson   <macpherson@chromium.org>
22833
22834        Reviewed by Eric Seidel.
22835
22836        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
22837        https://bugs.webkit.org/show_bug.cgi?id=60114
22838
22839        No new tests as no functionality changes.
22840
22841        * css/CSSStyleSelector.cpp:
22842        (WebCore::CSSStyleSelector::applyProperty):
22843        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
22844
228452011-05-04  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22846
22847        Reviewed by Andreas Kling.
22848
22849        [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
22850        https://bugs.webkit.org/show_bug.cgi?id=59070
22851
22852        Applications using our API and our autotests subclass QNetworkReply as part of providing a
22853        custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
22854        QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
22855        4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
22856
22857        The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
22858        watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
22859        indicating that it is finished. When there's no finished signal (synchronous) we set the
22860        dynamic property once we get the reply.
22861
22862        This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
22863        emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
22864
22865        * platform/network/qt/QNetworkReplyHandler.cpp:
22866        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
22867        Connect the finished signal to the new setFinished() slot.
22868
22869        (WebCore::QNetworkReplyWrapper::synchronousLoad):
22870        Since we don't get the finished signal for synchronous loads, set the dynamic property
22871        before processing it.
22872
22873        (WebCore::QNetworkReplyWrapper::resetConnections):
22874        Do not reset the connection to setFinished().
22875
22876        (WebCore::QNetworkReplyWrapper::setFinished):
22877        Set the dynamic property in the reply.
22878
22879        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
22880        (WebCore::QNetworkReplyHandler::start):
22881        Change to use wrapper's isFinished() instead of asking the reply directly.
22882
22883        * platform/network/qt/QNetworkReplyHandler.h:
22884        (WebCore::QNetworkReplyWrapper::isFinished):
22885        Checks the dynamic property of the reply.
22886
22887        * platform/network/qt/QtMIMETypeSniffer.cpp:
22888        (QtMIMETypeSniffer::sniff):
22889        Use the dynamic property to check if the reply is finished.
22890
228912011-05-04  Eric Seidel  <eric@webkit.org>
22892
22893        Reviewed by Ryosuke Niwa.
22894
22895        Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
22896        https://bugs.webkit.org/show_bug.cgi?id=60080
22897
22898        No functional change, just moving code.
22899
22900        * rendering/RenderBlock.h:
22901        * rendering/RenderBlockLineLayout.cpp:
22902        (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
22903        (WebCore::RenderBlock::layoutRunsAndFloats):
22904
229052011-05-04  Andreas Kling  <andreas.kling@nokia.com>
22906
22907        Reviewed by Kenneth Rohde Christiansen.
22908
22909        [Qt] Remove unused function FontPlatformData::pixelSize()
22910        https://bugs.webkit.org/show_bug.cgi?id=60156
22911
22912        * platform/graphics/qt/FontPlatformData.h:
22913        (WebCore::FontPlatformData::pixelSize): Removed.
22914
229152011-05-04  Luke Macpherson   <macpherson@chromium.org>
22916
22917        Reviewed by Darin Adler.
22918
22919        Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
22920        https://bugs.webkit.org/show_bug.cgi?id=60011
22921
22922        No new tests added as no functionality changed.
22923
22924        * css/CSSStyleSelector.cpp:
22925        (WebCore::CSSStyleSelector::applyProperty):
22926        Remove reundant check for auto table layout.
22927
229282011-05-04  Mihai Parparita  <mihaip@chromium.org>
22929
22930        Reviewed by Darin Adler.
22931
22932        Remove double-free checks for bug 56124
22933        https://bugs.webkit.org/show_bug.cgi?id=60037
22934
22935        Antti's speculative fix for bug 56124 (r84151) appears to have worked,
22936        these CRASH() calls are not triggering anymore.
22937
22938        * css/CSSSelector.h:
22939        (WebCore::CSSSelector::CSSSelector):
22940        (WebCore::CSSSelector::~CSSSelector):
22941        * css/CSSSelectorList.cpp:
22942        (WebCore::CSSSelectorList::deleteSelectors):
22943
229442011-05-04  Satish Sampath  <satish@chromium.org>
22945
22946        Reviewed by Tony Gentilcore.
22947
22948        Layout the speech input button to the left of outer spin button properly.
22949        https://bugs.webkit.org/show_bug.cgi?id=59742
22950
22951        * rendering/RenderTextControlSingleLine.cpp:
22952        (WebCore::RenderTextControlSingleLine::layout):
22953
229542011-05-04  Yury Semikhatsky  <yurys@chromium.org>
22955
22956        Unreviewed. Build fix.
22957
22958        * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
22959
229602011-05-03  Yury Semikhatsky  <yurys@chromium.org>
22961
22962        Reviewed by Pavel Feldman.
22963
22964        Web Inspector: can't inspect element in an iframe when element originates from non-frame document
22965        https://bugs.webkit.org/show_bug.cgi?id=60031
22966        
22967        Inspected object type evaluation has moved into native bindings. This way it doesn't
22968        depend on the current JS context.
22969
22970        Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
22971
22972        * bindings/js/JSInjectedScriptHostCustom.cpp:
22973        (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
22974        real undefined values from HTMLAllCollection
22975        (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
22976        value
22977        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
22978        (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
22979        (WebCore::V8InjectedScriptHost::typeCallback):
22980        * inspector/InjectedScriptHost.idl:
22981        * inspector/InjectedScriptSource.js:
22982        (.):
22983
229842011-05-03  Pratik Solanki  <psolanki@apple.com>
22985
22986        Reviewed by Antti Koivisto.
22987
22988        Part of WebCore should use CFNetwork-based loader on Mac
22989        https://bugs.webkit.org/show_bug.cgi?id=51836
22990
22991        Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
22992        up some warnings and #if USE(CFNETWORK) around code.
22993
22994        * platform/mac/CookieJar.mm:
22995        * platform/network/CookieStorage.h:
22996        * platform/network/cf/CookieStorageCFNet.cpp:
22997        (WebCore::privateBrowsingCookieStorage):
22998        (WebCore::currentCookieStorage):
22999        (WebCore::setCurrentCookieStorage):
23000        (WebCore::setCookieStoragePrivateBrowsingEnabled):
23001        (WebCore::notifyCookiesChangedOnMainThread):
23002        (WebCore::notifyCookiesChanged):
23003        * platform/network/cf/CookieStorageCFNet.h:
23004        * platform/network/mac/CookieStorageMac.mm:
23005
230062011-05-03  Justin Novosad  <junov@chromium.org>
23007
23008        Reviewed by Kenneth Russell.
23009
23010        [Chromium] Make accelerated 2d canvas enabled by default with skia
23011        https://bugs.webkit.org/show_bug.cgi?id=59929
23012
23013        No new tests. Covered by existing layout tests
23014
23015        * html/canvas/CanvasRenderingContext2D.cpp:
23016        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
23017        Initialized for accelerated canvas if either the accelerated2dCanvas
23018        or the legacyAccelerated2dCanvas flags are enabled
23019        * page/Page.cpp:
23020        (WebCore::Page::sharedGraphicsContext3D):
23021        This is where the code goes to implement the functionality for the
23022        legacy vs current acceleration paths for the 2D canvas. Currently,
23023        this is a no-op, and always select the legacy path.  This is temporary
23024        until we are ready to sort the GPU layout tests (rebasline vs. bug)
23025        * page/Settings.cpp:  Added new flage for legacyAccelerated2dCanvas
23026        (WebCore::Settings::Settings):
23027        (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
23028        * page/Settings.h:
23029        (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
23030
230312011-04-29  Jer Noble  <jer.noble@apple.com>
23032
23033        Reviewed by Eric Seidel.
23034
23035        Implement FULLSCREEN_API on Windows, Part 4: Enable it
23036        https://bugs.webkit.org/show_bug.cgi?id=59798
23037
23038        * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
23039            files to the project.
23040
230412011-05-03  Alpha Lam  <hclam@chromium.org>
23042
23043        Not reviewed. Build fix.
23044
23045        More places from 0 to nullptr.
23046
23047        * bindings/v8/V8Proxy.cpp:
23048        (WebCore::V8Proxy::precompileScript):
23049        * platform/graphics/chromium/LayerTilerChromium.cpp:
23050        (WebCore::LayerTilerChromium::create):
23051        * platform/graphics/gpu/BicubicShader.cpp:
23052        (WebCore::BicubicShader::create):
23053        * platform/graphics/gpu/ConvolutionShader.cpp:
23054        (WebCore::ConvolutionShader::create):
23055        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
23056        (WebCore::LoopBlinnSolidFillShader::create):
23057        * platform/graphics/gpu/SolidFillShader.cpp:
23058        (WebCore::SolidFillShader::create):
23059        * platform/graphics/gpu/TexShader.cpp:
23060        (WebCore::TexShader::create):
23061        * platform/graphics/skia/PlatformContextSkia.cpp:
23062        (WebCore::PlatformContextSkia::~PlatformContextSkia):
23063        * platform/leveldb/LevelDBDatabase.cpp:
23064        (WebCore::LevelDBDatabase::createIterator):
23065        * platform/text/LocalizedNumberICU.cpp:
23066        (WebCore::createFormatterForCurrentLocale):
23067
230682011-05-03  Alpha Lam  <hclam@chromium.org>
23069
23070        Not reviewed. Build fix.
23071
23072        Using nullptr instead of 0. This makes visual studio happy.
23073
23074        * storage/IDBTransactionBackendInterface.h:
23075
230762011-05-03  Luke Macpherson   <macpherson@chromium.org>
23077
23078        Reviewed by Dimitri Glazkov.
23079
23080        Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
23081        https://bugs.webkit.org/show_bug.cgi?id=59774
23082
23083        No new tests required as on new functionality.
23084
23085        * css/CSSStyleApplyProperty.cpp:
23086        (WebCore::ApplyPropertyColor::applyValue):
23087        Added template parameter "inheritColorFromParent = false".
23088        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
23089        Use template parameter where appropriate.
23090
230912011-05-03  Dan Bernstein  <mitz@apple.com>
23092
23093        Reviewed by Darin Adler.
23094
23095        <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
23096
23097        Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
23098        dirty the line when the float is removed, instead of relying on the float always intersecting
23099        its originating line.
23100
23101        * rendering/RenderBlock.cpp:
23102        (WebCore::RenderBlock::removeFloatingObject):
23103        (WebCore::RenderBlock::removeFloatingObjectsBelow):
23104        (WebCore::RenderBlock::clearFloats):
23105        * rendering/RenderBlock.h:
23106        (WebCore::RenderBlock::FloatingObject::FloatingObject):
23107        * rendering/RenderBlockLineLayout.cpp:
23108        (WebCore::RenderBlock::appendFloatingObjectToLastLine):
23109        (WebCore::RenderBlock::layoutRunsAndFloats):
23110        (WebCore::RenderBlock::determineStartPosition):
23111
231122011-05-02  Jer Noble  <jer.noble@apple.com>
23113
23114        Reviewed by Adam Roben.
23115
23116        Implement FULLSCREEN_API on Windows, Part 3: WebKit2
23117        https://bugs.webkit.org/show_bug.cgi?id=59845
23118
23119        Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
23120        and WebKit2.  WebFullScreenController now uses a Client class to request work on its
23121        behalf by WebKit and WebKit2.  MediaPlayerPrivateFullscreenWindow now only creates a 
23122        CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
23123        problems, and because a CALayerHost is overkill if the window is only drawing black to
23124        its client area.
23125
23126        * WebCore.vcproj/WebCore.vcproj:
23127        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
23128        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create 
23129            m_layerHost in the constructor.
23130        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
23131        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
23132        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
23133            not present, fill the window with black in WM_PAINT.
23134        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
23135        * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
23136        * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
23137        * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
23138        (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
23139
231402011-05-03  Brady Eidson  <beidson@apple.com>
23141
23142        Reviewed by Sam Weinig.
23143
23144        https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
23145        WK2 Icon Database should provide access to all image representations in the icon.
23146
23147        Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
23148        * platform/graphics/BitmapImage.h:
23149        * platform/graphics/Image.h:
23150        (WebCore::Image::getCGImageArray):
23151        * platform/graphics/cg/ImageCG.cpp:
23152        (WebCore::BitmapImage::getCGImageArray):
23153
231542011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
23155
23156        Reviewed by Eric Seidel.
23157
23158        findNextLineBreak splits InlineIterator into 3 pieces
23159        https://bugs.webkit.org/show_bug.cgi?id=60082
23160
23161        Avoid splitting InlineIterator into 3 variables with inter-dependencies.
23162
23163        * rendering/InlineIterator.h:
23164        (WebCore::InlineIterator::fastIncrementInTextNode): Added.
23165        (WebCore::InlineIterator::previousInSameNode): Added.
23166        * rendering/RenderBlockLineLayout.cpp:
23167        (WebCore::RenderBlock::findNextLineBreak):
23168
231692011-05-03  Dean Jackson  <dino@apple.com>
23170
23171        Reviewed by Simon Fraser.
23172
23173        Interrupted transitions are not correctly removed
23174        https://bugs.webkit.org/show_bug.cgi?id=60062
23175
23176        CompositeAnimation was replacing any existing
23177        transition as a new one was created. However, it wasn't
23178        clearing the lists in AnimationControllerPrivate that
23179        signal when a hardware animation starts. Rather than
23180        simple removing the existing transition, we now tell
23181        AnimationControllerPrivate that is has gone.
23182
23183        Test: transitions/3d/interrupted-transition.html
23184
23185        * page/animation/CompositeAnimation.cpp:
23186        (WebCore::CompositeAnimation::updateTransitions):
23187
231882011-05-03  Enrica Casucci  <enrica@apple.com>
23189
23190        Reviewed by Ryosuke Niwa.
23191
23192        Crash in SpellingCorrectionController::respondToChangedSelection.
23193        https://bugs.webkit.org/show_bug.cgi?id=60071
23194        <rdar://problem/9358190>
23195
23196        Creating a Visible position could trigger a layout and there is no
23197        guarantee that the selection is still valid after that.
23198
23199        Tests: editing/selection/undo-crash.html
23200
23201        * editing/SpellingCorrectionController.cpp:
23202        (WebCore::SpellingCorrectionController::respondToChangedSelection):
23203
232042011-05-03  Levi Weintraub  <leviw@chromium.org>
23205
23206        Reviewed by Eric Seidel.
23207
23208        Refactor computeInlineDirectionPositionsForLine into smaller functions
23209        https://bugs.webkit.org/show_bug.cgi?id=60072
23210
23211        Split three functions off from computeInlineDirectionPositionsForLine
23212        to improve its readability.
23213
23214        No new tests since this is just moving code around.
23215
23216        * rendering/RenderBlock.h:
23217        * rendering/RenderBlockLineLayout.cpp:
23218        (WebCore::RenderBlock::setMarginsForRubyRun):
23219        (WebCore::setLogicalWidthForTextRun):
23220        (WebCore::computeExpansionForJustifiedText):
23221        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
23222
232232011-05-03  David Kilzer  <ddkilzer@apple.com>
23224
23225        <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
23226
23227        Reviewed by Antti Koivisto.
23228
23229        * platform/network/cf/ResourceRequestCFNet.cpp:
23230        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
23231        priority on the request if HTTP pipelining is enabled.
23232        (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
23233        priority from the request if HTTP pipelining is enabled.
23234        (readBooleanPreference): Enable code when compiling with
23235        USE(CFNETWORK).
23236        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
23237        Comment out setting the minimum fast lane priority on Windows
23238        since it's not currently available.
23239
232402011-05-03  Simon Fraser  <simon.fraser@apple.com>
23241
23242        Reviewed by Dan Bernstein.
23243
23244        <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
23245
23246        Conditionalize compositing tiled layer size-constraining logic to older
23247        OSes.
23248
23249        * platform/graphics/ca/GraphicsLayerCA.cpp:
23250        (WebCore::GraphicsLayerCA::constrainedSize):
23251
232522011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
23253
23254        Reviewed by Dimitri Glazkov.
23255
23256        Allow access keys to be used in shadow DOM
23257        https://bugs.webkit.org/show_bug.cgi?id=59979
23258
23259        Move access key methods and members back to Document from TreeScope.
23260        Also traverse into shadow trees when building the access key map.
23261
23262        No new tests. (refactoring)
23263
23264        * dom/Document.cpp:
23265        (WebCore::Document::Document):
23266        (WebCore::Document::getElementByAccessKey):
23267        (WebCore::Document::buildAccessKeyMap):
23268        (WebCore::Document::invalidateAccessKeyMap):
23269        * dom/Document.h:
23270        * dom/TreeScope.cpp:
23271        (WebCore::TreeScope::TreeScope):
23272        (WebCore::TreeScope::destroyTreeScopeData):
23273        * dom/TreeScope.h:
23274
232752011-05-03  Dan Bernstein  <mitz@apple.com>
23276
23277        Reviewed by Darin Adler.
23278
23279        <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
23280        https://bugs.webkit.org/show_bug.cgi?id=60067
23281
23282        No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
23283
23284        * rendering/RenderText.cpp:
23285        (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
23286        and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
23287        results for flipped writing modes.
23288
232892011-05-03  Anton Muhin  <antonm@chromium.org>
23290
23291        Reviewed by Yury Semikhatsky.
23292
23293        [v8] remove an ASSERT from grouping logic
23294        https://bugs.webkit.org/show_bug.cgi?id=60024
23295
23296        This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
23297        repro it.  Removing for now for greener bots.
23298
23299        No new tests, only an ASSERT removal.
23300
23301        * bindings/v8/V8GCController.cpp:
23302        (WebCore::calculateGroupId):
23303
233042011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
23305
23306        Reviewed by Darin Adler.
23307
23308        WebKit allows selection that crosses the shadow boundary of a readonly input element
23309        https://bugs.webkit.org/show_bug.cgi?id=60000
23310
23311        The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
23312        Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
23313        in its validation process.
23314
23315        Tests: editing/selection/select-across-readonly-input-1.html
23316               editing/selection/select-across-readonly-input-2.html
23317               editing/selection/select-across-readonly-input-3.html
23318               editing/selection/select-across-readonly-input-4.html
23319               editing/selection/select-across-readonly-input-5.html
23320
23321        * editing/VisibleSelection.cpp:
23322        (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
23323        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
23324        * editing/VisibleSelection.h:
23325
233262011-05-03  Eric Seidel  <eric@webkit.org>
23327
23328        Reviewed by Ryosuke Niwa.
23329
23330        Split out layoutRunsAndFloats from layoutInlineChildren
23331        https://bugs.webkit.org/show_bug.cgi?id=60052
23332
23333        No new tests, just moving code here.  There should be
23334        no change in behavior.
23335
23336        * rendering/RenderBlock.h:
23337        * rendering/RenderBlockLineLayout.cpp:
23338        (WebCore::RenderBlock::layoutRunsAndFloats):
23339        (WebCore::RenderBlock::layoutInlineChildren):
23340
233412011-05-03  James Robinson  <jamesr@chromium.org>
23342
23343        Reviewed by Kenneth Russell.
23344
23345        [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
23346        https://bugs.webkit.org/show_bug.cgi?id=59965
23347
23348        Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
23349
23350        Test: fast/canvas/canvas-resize-after-paint.html
23351
23352        * html/canvas/CanvasRenderingContext2D.cpp:
23353        (WebCore::CanvasRenderingContext2D::reset):
23354            Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
23355            DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
23356        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
23357        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
23358            Add a null check for m_drawingBuffer
23359        * platform/graphics/gpu/DrawingBuffer.cpp:
23360        (WebCore::DrawingBuffer::clear):
23361            Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
23362            this is unnecessary.
23363
233642011-05-03  Adam Roben  <aroben@apple.com>
23365
23366        Fix most strict PassOwnPtr violations on Windows
23367
23368        Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
23369        enabled
23370
23371        Reviewed by Anders Carlsson.
23372
23373        * loader/EmptyClients.h:
23374        * platform/GeolocationService.cpp:
23375        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
23376        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
23377        * platform/mock/GeolocationServiceMock.cpp:
23378        * rendering/RenderTheme.cpp:
23379        * rendering/RenderThemeSafari.cpp:
23380
233812011-05-03  Levi Weintraub  <leviw@chromium.org>
23382
23383        Reviewed by Eric Seidel.
23384
23385        Extract LineInfo class
23386        https://bugs.webkit.org/show_bug.cgi?id=60044
23387
23388        Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
23389        layout information about a line. This simplifies function signatures and clears up initialization.
23390
23391        No new tests as this is refactoring.
23392
23393        * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
23394        * rendering/RenderBlockLineLayout.cpp:
23395        (WebCore::LineInfo::LineInfo):
23396        (WebCore::LineInfo::isFirstLine):
23397        (WebCore::LineInfo::isLastLine):
23398        (WebCore::LineInfo::isEmpty):
23399        (WebCore::LineInfo::previousLineBrokeCleanly):
23400        (WebCore::LineInfo::setFirstLine):
23401        (WebCore::LineInfo::setLastLine):
23402        (WebCore::LineInfo::setEmpty):
23403        (WebCore::LineInfo::setPreviousLineBrokeCleanly):
23404        (WebCore::RenderBlock::createLineBoxes):
23405        (WebCore::RenderBlock::constructLine):
23406        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
23407        (WebCore::RenderBlock::layoutInlineChildren):
23408        (WebCore::RenderBlock::determineStartPosition):
23409        (WebCore::skipNonBreakingSpace):
23410        (WebCore::shouldCollapseWhiteSpace):
23411        (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
23412        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
23413        (WebCore::RenderBlock::skipTrailingWhitespace):
23414        (WebCore::RenderBlock::skipLeadingWhitespace):
23415        (WebCore::RenderBlock::findNextLineBreak):
23416
234172011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
23418
23419        Reviewed by Dimitri Glazkov.
23420
23421        Update node list cache count on the containing TreeScope rather than the Document
23422        https://bugs.webkit.org/show_bug.cgi?id=59983
23423
23424        Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
23425        Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
23426        Make setDocument() and setDocumentRecursively() private.
23427
23428        No new tests. (refactoring)
23429
23430        * dom/ContainerNode.cpp:
23431        (WebCore::ContainerNode::childrenChanged):
23432        * dom/Node.cpp:
23433        (WebCore::Node::~Node):
23434        (WebCore::Node::setDocument):
23435        (WebCore::Node::setTreeScopeRecursively):
23436        (WebCore::Node::childNodes):
23437        (WebCore::Node::registerDynamicNodeList):
23438        (WebCore::Node::unregisterDynamicNodeList):
23439        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
23440        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
23441        (WebCore::Node::getElementsByTagName):
23442        (WebCore::Node::getElementsByTagNameNS):
23443        (WebCore::Node::getElementsByName):
23444        (WebCore::Node::getElementsByClassName):
23445        * dom/Node.h:
23446        * html/HTMLFormControlElement.cpp:
23447        (WebCore::HTMLFormControlElement::labels):
23448
234492011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
23450
23451        Reviewed by Eric Seidel.
23452
23453        Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
23454        https://bugs.webkit.org/show_bug.cgi?id=60046
23455
23456        Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
23457
23458        * rendering/RenderBlockLineLayout.cpp:
23459        (WebCore::TrailingObjects::TrailingObjects):
23460        (WebCore::TrailingObjects::setTrailingWhitespace):
23461        (WebCore::TrailingObjects::clear):
23462        (WebCore::TrailingObjects::appendBoxIfNeeded):
23463        (WebCore::TrailingObjects::addMidpoints):
23464        (WebCore::RenderBlock::findNextLineBreak):
23465
234662011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>
23467
23468        Reviewed by Eric Seidel.
23469
23470        [Qt] Implement initial support to DataTransferItems
23471        https://bugs.webkit.org/show_bug.cgi?id=58448
23472
23473        Implement initial support to DataTransferItems. DataTransferItems are used to 
23474        hold data for drag and drop operations. DataTransferItems hold a list of 
23475        DataTransferItem objects each of which holds an item being dragged.
23476
23477        * WebCore.pro:
23478        * dom/DataTransferItems.idl:
23479        * editing/qt/EditorQt.cpp:
23480        (WebCore::Editor::newGeneralClipboard):
23481        * page/qt/EventHandlerQt.cpp:
23482        (WebCore::EventHandler::createDraggingClipboard):
23483        * platform/chromium/DataTransferItemsChromium.h:
23484        * platform/qt/ClipboardQt.cpp:
23485        (WebCore::Clipboard::create):
23486        (WebCore::ClipboardQt::ClipboardQt):
23487        (WebCore::ClipboardQt::items):
23488        * platform/qt/ClipboardQt.h:
23489        (WebCore::ClipboardQt::create):
23490        * platform/qt/DataTransferItemQt.cpp: Added.
23491        (WebCore::DataTransferItem::create):
23492        (WebCore::DataTransferItemQt::createFromPasteboard):
23493        (WebCore::DataTransferItemQt::create):
23494        (WebCore::DataTransferItemQt::DataTransferItemQt):
23495        (WebCore::DataTransferItemQt::getAsString):
23496        (WebCore::DataTransferItemQt::getAsFile):
23497        * platform/qt/DataTransferItemQt.h: Added.
23498        * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
23499        (WebCore::DataTransferItemsQt::create):
23500        (WebCore::DataTransferItemsQt::DataTransferItemsQt):
23501        (WebCore::DataTransferItemsQt::addPasteboardItem):
23502        * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
23503
235042011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
23505
23506        Reviewed by Dimitri Glazkov.
23507
23508        Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
23509        https://bugs.webkit.org/show_bug.cgi?id=58703
23510
23511        No new tests, refactoring only.
23512
23513        * dom/Element.cpp:
23514        (WebCore::Element::copyNonAttributeProperties):
23515        (WebCore::Element::insertedIntoDocument):
23516        (WebCore::Element::removedFromDocument):
23517        (WebCore::Element::insertedIntoTree):
23518        (WebCore::Element::removedFromTree):
23519        (WebCore::Element::attach):
23520        (WebCore::Element::detach):
23521        (WebCore::Element::recalcStyle):
23522        (WebCore::Element::shadowRoot):
23523        (WebCore::Element::ensureShadowRoot):
23524        (WebCore::Element::childrenChanged):
23525        * dom/Node.cpp:
23526        (WebCore::Node::setTreeScopeRecursively):
23527        (WebCore::shadowRoot):
23528        (WebCore::Node::setDocumentRecursively):
23529        (WebCore::NodeRendererFactory::findVisualParent):
23530        Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
23531        previous classes.
23532
23533        * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
23534
23535        * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
23536
23537        * html/HTMLDetailsElement.cpp:
23538        * html/HTMLSummaryElement.cpp:
23539        Added #include for ShadowRoot.h.
23540
235412011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
23542
23543        Reviewed by Kenneth Rohde Christiansen.
23544
23545        [EFL] Implement mediaSliderTrack
23546        https://bugs.webkit.org/show_bug.cgi?id=59998
23547
23548        Implement paintMediaSliderTrack.
23549
23550        * platform/efl/RenderThemeEfl.cpp:
23551        (WebCore::RenderThemeEfl::RenderThemeEfl):
23552        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
23553        * platform/efl/RenderThemeEfl.h:
23554
235552011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
23556
23557        Reviewed by Pavel Feldman.
23558
23559        WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
23560        https://bugs.webkit.org/show_bug.cgi?id=60023
23561
23562        * inspector/front-end/DetailedHeapshotGridNodes.js:
23563        (WebInspector.HeapSnapshotConstructorNode):
23564        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
23565        * inspector/front-end/HeapSnapshot.js:
23566        (WebInspector.HeapSnapshot.prototype.dispose):
23567        (WebInspector.HeapSnapshot.prototype.aggregates):
23568        (WebInspector.HeapSnapshot.prototype._buildAggregates):
23569        (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
23570        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
23571        (WebInspector.HeapSnapshotFilteredOrderedIterator):
23572        (WebInspector.HeapSnapshotNodesProvider):
23573        * inspector/front-end/HeapSnapshotProxy.js:
23574        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
23575        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
23576
235772011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
23578
23579        Reviewed by Pavel Feldman.
23580
23581        WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
23582        https://bugs.webkit.org/show_bug.cgi?id=60029
23583
23584        * English.lproj/localizedStrings.js:
23585        * inspector/front-end/DetailedHeapshotView.js:
23586        (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
23587        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
23588
235892011-05-03  Beth Dakin  <bdakin@apple.com>
23590
23591        Reviewed by Dan Bernstein.
23592
23593        https://bugs.webkit.org/show_bug.cgi?id=60045
23594        Scrollbar thumb sometimes leaves artifacts in the track after scrolling
23595        -and corresponding-
23596        <rdar://problem/9015376>
23597
23598        When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should 
23599        always be ignored.
23600        * platform/mac/ScrollbarThemeMac.mm:
23601        (WebCore::updateArrowPlacement):
23602
236032011-05-03  David Hyatt  <hyatt@apple.com>
23604
23605        Reviewed by Dan Bernstein.
23606
23607        https://bugs.webkit.org/show_bug.cgi?id=60040
23608        <rdar://problem/9261591>
23609
23610        Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
23611        a translation of a 0,0 point to absolute coordinates so that the top left position is
23612        accurate.
23613
23614        Added fast/inline/skipped-whitespace-client-rect.html
23615        
23616        * rendering/RenderInline.cpp:
23617        (WebCore::RenderInline::culledInlineAbsoluteQuads):
23618
236192011-05-03  Sam Weinig  <sam@webkit.org>
23620
23621        Fix chromium build.
23622
23623        * page/Settings.cpp:
23624
236252011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
23626
23627        Reviewed by Dimitri Glazkov.
23628
23629        Bug 59974 - Update image map on the containing TreeScope rather than the Document
23630        https://bugs.webkit.org/show_bug.cgi?id=59974
23631
23632        No new tests. (reefactoring)
23633
23634        * html/HTMLMapElement.cpp:
23635        (WebCore::HTMLMapElement::parseMappedAttribute):
23636        (WebCore::HTMLMapElement::insertedIntoDocument):
23637        (WebCore::HTMLMapElement::removedFromDocument):
23638        * rendering/RenderImage.cpp:
23639        (WebCore::RenderImage::imageMap):
23640
236412011-05-03  Sam Weinig  <sam@webkit.org>
23642
23643        Fix chromium build.
23644
23645        * loader/HistoryController.cpp:
23646
236472011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
23648
23649        Reviewed by Dimitri Glazkov.
23650
23651        Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
23652        https://bugs.webkit.org/show_bug.cgi?id=59966
23653
23654        No new tests. (refactoring)
23655
23656        * accessibility/AccessibilityRenderObject.cpp:
23657        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
23658        (WebCore::AccessibilityRenderObject::activeDescendant):
23659        * accessibility/AccessibilityRenderObject.h:
23660        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
23661        * css/CSSCursorImageValue.cpp:
23662        (WebCore::resourceReferencedByCursorElement):
23663        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
23664        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
23665        (WebCore::CSSCursorImageValue::cachedImage):
23666        * dom/DynamicNodeList.cpp:
23667        (WebCore::DynamicNodeList::itemWithName):
23668        * dom/Element.h:
23669        (WebCore::Element::updateId):
23670        * dom/Node.cpp:
23671        (WebCore::Node::querySelector):
23672        * html/FormAssociatedElement.cpp:
23673        (WebCore::FormAssociatedElement::insertedIntoTree):
23674        (WebCore::FormAssociatedElement::resetFormOwner):
23675        * html/HTMLInputElement.cpp:
23676        (WebCore::HTMLInputElement::dataList):
23677        * html/HTMLLabelElement.cpp:
23678        (WebCore::HTMLLabelElement::control):
23679        * rendering/svg/RenderSVGTextPath.cpp:
23680        (WebCore::RenderSVGTextPath::layoutPath):
23681        * svg/SVGAElement.cpp:
23682        (WebCore::SVGAElement::defaultEventHandler):
23683        * svg/SVGAltGlyphElement.cpp:
23684        (WebCore::SVGAltGlyphElement::glyphElement):
23685        * svg/SVGFEImageElement.cpp:
23686        (WebCore::SVGFEImageElement::requestImageResource):
23687        (WebCore::SVGFEImageElement::build):
23688        * svg/SVGLinearGradientElement.cpp:
23689        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
23690        * svg/SVGMPathElement.cpp:
23691        (WebCore::SVGMPathElement::pathElement):
23692        * svg/SVGPatternElement.cpp:
23693        (WebCore::SVGPatternElement::collectPatternAttributes):
23694        * svg/SVGRadialGradientElement.cpp:
23695        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
23696        * svg/SVGSVGElement.cpp:
23697        (WebCore::SVGSVGElement::getElementById):
23698        * svg/SVGTRefElement.cpp:
23699        (WebCore::SVGTRefElement::updateReferencedText):
23700        * svg/SVGTextPathElement.cpp:
23701        (WebCore::SVGTextPathElement::insertedIntoDocument):
23702        * svg/SVGUseElement.cpp:
23703        (WebCore::SVGUseElement::buildPendingResource):
23704        (WebCore::SVGUseElement::hasCycleUseReferencing):
23705        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
23706        * svg/SVGViewSpec.cpp:
23707        (WebCore::SVGViewSpec::viewTarget):
23708        * svg/animation/SVGSMILElement.cpp:
23709        (WebCore::SVGSMILElement::eventBaseFor):
23710        (WebCore::SVGSMILElement::connectConditions):
23711        (WebCore::SVGSMILElement::targetElement):
23712        * xml/XPathFunctions.cpp:
23713        (WebCore::XPath::FunId::evaluate):
23714
237152011-05-03  Sam Weinig  <sam@webkit.org>
23716
23717        Fix chromium build.
23718
23719        * css/StyleMedia.cpp:
23720
237212011-05-03  Sam Weinig  <sam@webkit.org>
23722
23723        Reviewed by Anders Carlsson.
23724
23725        Prune #includes from FrameView.h (Part 1)
23726        https://bugs.webkit.org/show_bug.cgi?id=59957
23727
23728        * page/FrameView.h:
23729        Prune #includes.
23730
23731        * accessibility/chromium/AXObjectCacheChromium.cpp:
23732        * page/win/FrameCGWin.cpp:
23733        * platform/Scrollbar.cpp:
23734        Add not necessary #includes.
23735
23736        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
23737        Add now necessary forward declaration.
23738
237392011-05-03  Andrey Kosyakov  <caseq@chromium.org>
23740
23741        Reviewed by Dimitri Glazkov.
23742
23743        [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
23744        https://bugs.webkit.org/show_bug.cgi?id=60026
23745
23746        Return a wrapper for Node in toV8(Node*) when called with a node of type
23747        SHADOW_ROOT_NODE instead of entering infinite recursion.
23748
23749        * bindings/v8/custom/V8NodeCustom.cpp:
23750        (WebCore::toV8Slow):
23751
237522011-05-02  Adam Roben  <aroben@apple.com>
23753
23754        Take advantage of implicit conversion from nullptr_t to PassOwnPtr
23755
23756        Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
23757        doesn't work, but should
23758
23759        Reviewed by Adam Barth.
23760
23761        * bindings/js/ScheduledAction.cpp:
23762        * css/CSSStyleSelector.cpp:
23763        * css/MediaList.cpp:
23764        * css/MediaQueryMatcher.cpp:
23765        * css/SVGCSSStyleSelector.cpp:
23766        * dom/MessagePort.cpp:
23767        * html/InputType.cpp:
23768        * html/canvas/WebGLRenderingContext.cpp:
23769        * inspector/InspectorStyleSheet.cpp:
23770        * page/ContextMenuController.cpp:
23771        * page/Page.cpp:
23772        * platform/PlatformGestureRecognizer.cpp:
23773        * platform/PurgeableBuffer.h:
23774        * platform/graphics/ImageBuffer.h:
23775        * platform/leveldb/LevelDBDatabase.cpp:
23776        * platform/mac/PurgeableBufferMac.cpp:
23777        * platform/text/RegularExpression.cpp:
23778        * rendering/RenderTheme.cpp:
23779        * rendering/RenderThemeMac.mm:
23780        * rendering/style/RenderStyle.h:
23781        * rendering/style/SVGRenderStyleDefs.cpp:
23782        * rendering/style/ShadowData.cpp:
23783        * rendering/style/StyleRareInheritedData.cpp:
23784        * rendering/style/StyleRareNonInheritedData.cpp:
23785        * rendering/svg/RenderSVGResourcePattern.cpp:
23786
237872011-05-03  Pavel Feldman  <pfeldman@google.com>
23788
23789        Not reviewed: fix inspector status bar image glyph reference in network panel.
23790
23791        * inspector/front-end/networkPanel.css:
23792        (.network-larger-resources-status-bar-item .glyph):
23793
237942011-05-03  Pavel Feldman  <pfeldman@google.com>
23795
23796        Reviewed by Yury Semikhatsky.
23797
23798        Web Inspector: rename BrowserDebugger agent to DOMDebugger.
23799        https://bugs.webkit.org/show_bug.cgi?id=60019
23800
23801        * inspector/CodeGeneratorInspector.pm:
23802        * inspector/Inspector.json:
23803        * inspector/InspectorController.cpp:
23804        (WebCore::InspectorController::connectFrontend):
23805        * inspector/front-end/BreakpointsSidebarPane.js:
23806        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
23807        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
23808        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
23809        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
23810        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
23811        * inspector/generate-inspector-idl:
23812
238132011-05-03  Yury Semikhatsky  <yurys@chromium.org>
23814
23815        Reviewed by Pavel Feldman.
23816
23817        Web Inspector: remove special logic for type of document.__proto__
23818        https://bugs.webkit.org/show_bug.cgi?id=60014
23819
23820        Test: inspector/console/console-log-document-proto.html
23821
23822        * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
23823
238242011-05-03  Pavel Feldman  <pfeldman@google.com>
23825
23826        Not reviewed: fixed typo in inspector style.
23827
23828        * inspector/front-end/inspector.css:
23829        (.status-bar-item > .glyph):
23830
238312011-05-03  Pavel Feldman  <pfeldman@chromium.org>
23832
23833        Reviewed by Yury Semikhatsky.
23834
23835        Web Inspector: revision history storage is too slow.
23836        https://bugs.webkit.org/show_bug.cgi?id=59939
23837
23838        It turns out that iterating localStorage keys is very
23839        expensive (results in slow inspector start), refactor revision
23840        history in order not to rely upon that operation.
23841
23842        * inspector/front-end/Resource.js:
23843        (WebInspector.Resource):
23844        (WebInspector.Resource._resourceRevisionRegistry):
23845        (WebInspector.Resource.restoreRevisions.persist):
23846        (WebInspector.Resource.restoreRevisions):
23847        (WebInspector.Resource.persistRevision):
23848        (WebInspector.Resource.prototype._persistRevision):
23849        * inspector/front-end/ResourceTreeModel.js:
23850        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
23851        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
23852
238532011-05-03  Pavel Feldman  <pfeldman@chromium.org>
23854
23855        Reviewed by Yury Semikhatsky.
23856
23857        Web Inspector: combine toolbar icon images.
23858        https://bugs.webkit.org/show_bug.cgi?id=59931
23859
23860        * WebCore.gypi:
23861        * inspector/front-end/Images/auditsIcon.png: Removed.
23862        * inspector/front-end/Images/consoleIcon.png: Removed.
23863        * inspector/front-end/Images/elementsIcon.png: Removed.
23864        * inspector/front-end/Images/networkIcon.png: Removed.
23865        * inspector/front-end/Images/profilesIcon.png: Removed.
23866        * inspector/front-end/Images/resourcesIcon.png: Removed.
23867        * inspector/front-end/Images/scriptsIcon.png: Removed.
23868        * inspector/front-end/Images/timelineIcon.png: Removed.
23869        * inspector/front-end/Images/toolbarIcons.png: Added.
23870        * inspector/front-end/Images/toolbarIconsSmall.png: Added.
23871        * inspector/front-end/WebKit.qrc:
23872        * inspector/front-end/inspector.css:
23873        (.toolbar-icon):
23874        (#toolbar-dropdown .toolbar-icon):
23875        (.toolbar-item:active .toolbar-icon):
23876        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
23877        (.toolbar-item.elements .toolbar-icon):
23878        (.toolbar-item.resources .toolbar-icon):
23879        (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
23880        (.toolbar-item.network .toolbar-icon):
23881        (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
23882        (.toolbar-item.scripts .toolbar-icon):
23883        (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
23884        (.toolbar-item.timeline .toolbar-icon):
23885        (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
23886        (.toolbar-item.profiles .toolbar-icon):
23887        (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
23888        (.toolbar-item.audits .toolbar-icon):
23889        (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
23890        (.toolbar-item.console .toolbar-icon):
23891        (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
23892        (.status-bar-item > .glyph):
23893
238942011-05-03  Pavel Feldman  <pfeldman@chromium.org>
23895
23896        Reviewed by Yury Semikhatsky.
23897
23898        Web Inspector: combine status bar button glyphs.
23899        https://bugs.webkit.org/show_bug.cgi?id=59885
23900
23901        * WebCore.gypi:
23902        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
23903        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
23904        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
23905        * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
23906        * inspector/front-end/Images/dockButtonGlyph.png: Removed.
23907        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
23908        * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
23909        * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
23910        * inspector/front-end/Images/focusButtonGlyph.png: Removed.
23911        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
23912        * inspector/front-end/Images/gearButtonGlyph.png: Removed.
23913        * inspector/front-end/Images/helpButtonGlyph.png: Removed.
23914        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
23915        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
23916        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
23917        * inspector/front-end/Images/percentButtonGlyph.png: Removed.
23918        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
23919        * inspector/front-end/Images/recordButtonGlyph.png: Removed.
23920        * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
23921        * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
23922        * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
23923        * inspector/front-end/Images/undockButtonGlyph.png: Removed.
23924        * inspector/front-end/WebKit.qrc:
23925        * inspector/front-end/inspector.css:
23926        (.status-bar-item > .glyph):
23927        (#dock-status-bar-item .glyph):
23928        (body.detached #dock-status-bar-item .glyph):
23929        (#console-status-bar-item .glyph):
23930        (.clear-status-bar-item .glyph):
23931        (button.enable-toggle-status-bar-item .glyph):
23932        (button.enable-toggle-status-bar-item.toggled-on .glyph):
23933        (.scripts-pause-on-exceptions-status-bar-item .glyph):
23934        (.scripts-toggle-pretty-print-status-bar-item .glyph):
23935        (.toggle-breakpoints .glyph):
23936        (.toggle-breakpoints.toggled-on .glyph):
23937        (.resources-larger-resources-status-bar-item .glyph):
23938        (.timeline-filter-status-bar-item .glyph):
23939        (.garbage-collect-status-bar-item .glyph):
23940        (.record-profile-status-bar-item .glyph):
23941        (.record-profile-status-bar-item.toggled-on .glyph):
23942        (.heap-snapshot-status-bar-item .glyph):
23943        (.node-search-status-bar-item .glyph):
23944        (.percent-time-status-bar-item .glyph):
23945        (.focus-profile-node-status-bar-item .glyph):
23946        (.exclude-profile-node-status-bar-item .glyph):
23947        (.reset-profile-status-bar-item .glyph):
23948        (.delete-storage-status-bar-item .glyph):
23949        (.refresh-storage-status-bar-item .glyph):
23950        * inspector/front-end/inspector.js:
23951
239522011-05-02  Simon Fraser  <simon.fraser@apple.com>
23953
23954        Reviewed by Dan Bernstein.
23955
23956        Possible crash when removing elements with reflections
23957        https://bugs.webkit.org/show_bug.cgi?id=60009
23958        
23959        RenderLayer's destructor deleted its z-order list Vector pointers
23960        before removing the reflection layer. However, the reflection cleanup
23961        code could call back into the RenderLayer to dirty z-order lists,
23962        so move reflection cleanup to before z-order vector deletion.
23963        
23964        The test crashes when run manually a few times with MallocScribble enabled,
23965        but I was not able to create a test that crashed reliably.
23966
23967        Test: fast/reflections/remove-reflection-crash.html
23968
23969        * rendering/RenderLayer.cpp:
23970        (WebCore::RenderLayer::~RenderLayer):
23971
239722011-05-02  Ian Henderson  <ianh@apple.com>
23973
23974        Reviewed by Dan Bernstein.
23975
23976        CSS !important not respected by JavaScript
23977        https://bugs.webkit.org/show_bug.cgi?id=60007
23978
23979        The addParsedProperty and addParsedProperties methods were subtly
23980        different.  The former did not check for !important before setting the
23981        given property.
23982
23983        Change addParsedProperties to call addParsedProperty and move the
23984        relevant code.  The one other caller of this method, in
23985        editing/markup.cpp, probably wanted this behavior anyway.
23986
23987        Test: fast/css/important-js-override.html
23988
23989        * css/CSSMutableStyleDeclaration.cpp:
23990        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
23991        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
23992
239932011-05-02  Ben Wells  <benwells@chromium.org>
23994
23995        Reviewed by Simon Fraser.
23996
23997        Cleanup variable usage in RenderObject.cpp paintOutline()
23998        https://bugs.webkit.org/show_bug.cgi?id=59911
23999
24000        No new tests for this, there should be no change in behaviour.
24001
24002        * rendering/RenderObject.cpp:
24003        (WebCore::RenderObject::paintOutline):
24004
240052011-05-02  Ryosuke Niwa  <rniwa@webkit.org>
24006
24007        Reviewed by James Robinson.
24008
24009        REGRESSION(r84672): showTree doesn't work for input/textarea elements
24010        https://bugs.webkit.org/show_bug.cgi?id=60001
24011
24012        When shadow is null, try retrieving the inner element of a render text control.
24013
24014        * dom/Node.cpp:
24015        (WebCore::traverseTreeAndMark):
24016
240172011-05-02  Joseph Pecoraro  <joepeck@webkit.org>
24018
24019        Reviewed by David Kilzer.
24020
24021        Respect fixed text-indent on ::-webkit-input-placeholder
24022        https://bugs.webkit.org/show_bug.cgi?id=59825
24023
24024        Test: fast/forms/input-placeholder-text-indent.html
24025
24026        * rendering/RenderTextControl.cpp:
24027        (WebCore::RenderTextControl::paintPlaceholder): indent by
24028        a fixed text-indent size specified on the placeholder style.
24029
240302011-05-02  Eric Uhrhane  <ericu@chromium.org>
24031
24032        Reviewed by Eric Seidel.
24033
24034        Some FileWriter progress events should be queued
24035        https://bugs.webkit.org/show_bug.cgi?id=50846
24036
24037        * fileapi/FileWriter.cpp:
24038        * fileapi/FileWriter.h:
24039        Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
24040
240412011-05-02  Jia Pu  <jpu@apple.com>
24042
24043        Reviewed by Alexey Proskuryakov.
24044
24045        [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
24046        https://bugs.webkit.org/show_bug.cgi?id=59836
24047        <rdar://problem/9275983>
24048
24049        * platform/DefaultLocalizationStrategy.cpp:
24050        (WebCore::truncatedStringForLookupMenuItem):
24051        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
24052
240532011-05-02  Brady Eidson  <beidson@apple.com>
24054
24055        Reviewed by Anders Carlsson.
24056
24057        <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
24058        In Aperture, a WebView might be dealloc'ed before it finishes loading.
24059
24060        * WebCore.exp.in:
24061        * platform/RuntimeApplicationChecks.cpp:
24062        (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
24063        * platform/RuntimeApplicationChecks.h:
24064
240652011-05-02  Simon Fraser  <simon.fraser@apple.com>
24066
24067        Reviewed by Dan Bernstein.
24068
24069        Avoid wasted cycles updating paths when popping the context stack
24070        https://bugs.webkit.org/show_bug.cgi?id=59967
24071
24072        CanvasRenderingContext2D has to map the current path through
24073        transforms whenever the context stack is popped, which creates
24074        a lot of platform path objects. Avoid extra work here when the
24075        path is empty, or when the transform is identity.
24076
24077        * platform/graphics/cg/PathCG.cpp:
24078        (WebCore::Path::transform):
24079
240802011-05-02  Enrica Casucci  <enrica@apple.com>
24081
24082        Reviewed by Dan Bernstein.
24083
24084        Text does not split on white space when typing to the edge of window.
24085        https://bugs.webkit.org/show_bug.cgi?id=59968
24086        <rdar://problem/9112683>
24087
24088        Test: editing/inserting/typing-at-end-of-line.html
24089
24090        This is a regression introduced when we converted the line box tree to
24091        floating point in r78846. In findNextLineBreak, there was still one place where
24092        the character width was treated as int and truncated and we were inconsistent
24093        in the way we treated a character that did not fit entirely in the line.
24094
24095        * rendering/RenderBlockLineLayout.cpp:
24096        (WebCore::RenderBlock::findNextLineBreak):
24097
240982011-04-19  Adrienne Walker  <enne@google.com>
24099
24100        Reviewed by James Robinson.
24101
24102        [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
24103        https://bugs.webkit.org/show_bug.cgi?id=58907
24104
24105        Additionally, move the context save/restore logic to a place where it
24106        will reset the translation added in LayerTilerChromium.
24107
24108        Test: compositing/repaint/same-size-invalidation.html
24109
24110        * platform/graphics/chromium/ContentLayerChromium.cpp:
24111        (WebCore::ContentLayerPainter::paint):
24112        * platform/graphics/chromium/PlatformCanvas.cpp:
24113        (WebCore::PlatformCanvas::resize):
24114        (WebCore::PlatformCanvas::Painter::Painter):
24115        (WebCore::PlatformCanvas::Painter::~Painter):
24116        * platform/graphics/chromium/PlatformCanvas.h:
24117
241182011-05-02  Csaba Osztrogonác  <ossy@webkit.org>
24119
24120        Enable strict OwnPtr for Qt
24121        https://bugs.webkit.org/show_bug.cgi?id=59667
24122
24123        Unreviewed buildfix after r85343.
24124
24125        * platform/graphics/qt/GraphicsContext3DQt.cpp:
24126        (WebCore::GraphicsContext3D::GraphicsContext3D):
24127
241282011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
24129
24130        Unreviewed, rolling out r85483.
24131        http://trac.webkit.org/changeset/85483
24132        https://bugs.webkit.org/show_bug.cgi?id=59958
24133
24134        Causes media test failures. (Requested by eric_carlson on
24135        #webkit).
24136
24137        * html/HTMLMediaElement.cpp:
24138        (WebCore::HTMLMediaElement::HTMLMediaElement):
24139        (WebCore::HTMLMediaElement::prepareForLoad):
24140        (WebCore::HTMLMediaElement::seek):
24141        (WebCore::HTMLMediaElement::updatePlayState):
24142        * html/HTMLMediaElement.h:
24143        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
24144        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
24145        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
24146        (WebCore::MediaPlayerPrivateAVFoundation::load):
24147        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
24148        (WebCore::MediaPlayerPrivateAVFoundation::paint):
24149        (WebCore::MediaPlayerPrivateAVFoundation::duration):
24150        (WebCore::MediaPlayerPrivateAVFoundation::seeking):
24151        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
24152        (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
24153        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
24154        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
24155        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
24156        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
24157        (WebCore::MediaPlayerPrivateAVFoundation::repaint):
24158        (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
24159        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
24160        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
24161        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
24162        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
24163        (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
24164        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
24165        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
24166        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
24167        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
24168        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
24169        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
24170        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
24171        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
24172        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
24173        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
24174
241752011-05-02  Adam Barth  <abarth@webkit.org>
24176
24177        Reviewed by David Levin.
24178
24179        PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
24180        https://bugs.webkit.org/show_bug.cgi?id=59924
24181
24182        * css/CSSGrammar.y:
24183        * platform/graphics/mac/SimpleFontDataMac.mm:
24184            - Memory management for the font cache is somewhat... complext.
24185              This will require some careful thought to sort out.
24186
241872011-05-02  Levi Weintraub  <leviw@chromium.org>
24188
24189        Reviewed by Eric Seidel.
24190
24191        showLineTree/showLineTreeForThis would make working with the line box tree easier
24192        https://bugs.webkit.org/show_bug.cgi?id=59662
24193
24194        Adding a showLineTree/showLineTreeForThis method to help visualize and debug
24195        the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
24196
24197        No new tests since this is a debugging feature only and not compiled in release.
24198
24199        * rendering/InlineBox.cpp:
24200        (WebCore::InlineBox::showLineTreeForThis):
24201        (WebCore::InlineBox::showLineTreeAndMark):
24202        (WebCore::InlineBox::showBox):
24203        (showLineTree):
24204        * rendering/InlineBox.h:
24205        * rendering/InlineFlowBox.cpp:
24206        (WebCore::InlineFlowBox::showLineTreeAndMark):
24207        * rendering/InlineFlowBox.h:
24208        * rendering/InlineTextBox.cpp:
24209        (WebCore::InlineTextBox::showBox):
24210        * rendering/InlineTextBox.h:
24211        * rendering/RenderBlock.cpp:
24212        (WebCore::RenderBlock::showLineTreeAndMark):
24213        * rendering/RenderBlock.h:
24214        * rendering/RenderObject.cpp:
24215        (WebCore::RenderObject::showRenderTreeForThis):
24216        (WebCore::RenderObject::showLineTreeForThis):
24217        (showTree):
24218        (showLineTree):
24219        * rendering/RenderObject.h:
24220
242212011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>
24222
24223        Reviewed by Eric Carlson.
24224
24225        REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
24226        https://bugs.webkit.org/show_bug.cgi?id=59917
24227
24228        Since default event handlers are not retargeted, we should always attempt ancestor
24229        traversal to find out whether the event.
24230
24231        * html/MediaDocument.cpp:
24232        (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
24233        (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
24234
242352011-05-02  Sam Weinig  <sam@webkit.org>
24236
24237        Attempt to fix the Leopard build.
24238
24239        * platform/graphics/FontPlatformData.h:
24240        * platform/graphics/mac/ComplexTextController.h:
24241        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
24242        * platform/mac/WebCoreSystemInterface.h:
24243
242442011-05-02  Tony Chang  <tony@chromium.org>
24245
24246        Reviewed by Kent Tamura.
24247
24248        convert manual-tests/bugzilla-6821.html to a layout test
24249        https://bugs.webkit.org/show_bug.cgi?id=59404
24250
24251        Test: fast/css/hover-update.html
24252
24253        * manual-tests/bugzilla-6821.html: Removed.
24254
242552011-05-02  Sam Weinig  <sam@webkit.org>
24256
24257        Reviewed by Anders Carlsson.
24258
24259        Prune ApplicationServices.h out of the headers
24260        https://bugs.webkit.org/show_bug.cgi?id=59952
24261
24262        More forward declares are better.
24263
24264        * html/canvas/CanvasRenderingContext2D.cpp:
24265        * html/canvas/CanvasRenderingContext2D.h:
24266        * platform/graphics/GlyphBuffer.h:
24267        * platform/graphics/cg/ImageBufferCG.cpp:
24268        * platform/graphics/cg/PDFDocumentImage.cpp:
24269        * platform/graphics/cg/PDFDocumentImage.h:
24270        * platform/graphics/mac/ComplexTextController.h:
24271        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
24272        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
24273        * platform/mac/ScrollAnimatorMac.h:
24274        * platform/mac/ScrollAnimatorMac.mm:
24275        * platform/mac/ScrollbarThemeMac.h:
24276        * platform/mac/ScrollbarThemeMac.mm:
24277        * platform/mac/WebCoreNSStringExtras.h:
24278        * platform/mac/WebCoreSystemInterface.h:
24279
242802011-05-02  Dan Bernstein  <mitz@apple.com>
24281
24282        Reviewed by Simon Fraser.
24283
24284        <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
24285        https://bugs.webkit.org/show_bug.cgi?id=58006
24286
24287        * rendering/RenderBox.cpp:
24288        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
24289        <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
24290        table cell as the immediate containing block, but any case where all containing block ancestors
24291        up to and including a table cell are auto-or-percent height.
24292
242932011-05-02  Daniel Bates  <dbates@webkit.org>
24294
24295        Reviewed by Sam Weinig.
24296
24297        Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
24298        https://bugs.webkit.org/show_bug.cgi?id=59379
24299
24300        Move manual test onblur-remove.html to LayoutTests/fast/events.
24301
24302        Test: fast/events/onblur-remove.html
24303
24304        * manual-tests/onblur-remove.html: Removed.
24305
243062011-05-02  Sailesh Agrawal  <sail@chromium.org>
24307
24308        Reviewed by Dimitri Glazkov.
24309
24310        Chromium Mac: Add scrollbar overlay drawing functions
24311        https://bugs.webkit.org/show_bug.cgi?id=59741
24312
24313        These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
24314
24315        No new tests, since this code is only enabled on future versions of Mac OS X.
24316
24317        * WebCore.gypi:
24318        * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
24319        * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
24320        (LookUpNSScrollerImpClass):
24321        (LookUpNSScrollerImpPairClass):
24322        (ScrollbarControlSizeToNSControlSize):
24323        (wkScrollbarPainterUsesOverlayScrollers):
24324        (wkScrollbarPainterIsHorizontal):
24325        (wkScrollbarPainterKnobAlpha):
24326        (wkScrollbarPainterSetOverlayState):
24327        (wkScrollbarPainterPaint):
24328        (wkScrollbarMinimumThumbLength):
24329        (wkScrollbarPainterSetDelegate):
24330        (wkScrollbarPainterTrackAlpha):
24331        (wkMakeScrollbarPainter):
24332        (wkScrollbarThickness):
24333        (wkScrollbarMinimumTotalLengthNeededForThumb):
24334        (wkVerticalScrollbarPainterForController):
24335        (wkHorizontalScrollbarPainterForController):
24336        (wkMakeScrollbarReplacementPainter):
24337        (wkSetPainterForPainterController):
24338        (wkSetScrollbarPainterControllerStyle):
24339        (wkScrollbarPainterKnobRect):
24340        (wkSetScrollbarPainterKnobAlpha):
24341        (wkSetScrollbarPainterTrackAlpha):
24342        (wkSetScrollbarPainterKnobStyle):
24343        (wkMakeScrollbarPainterController):
24344        (wkContentAreaScrolled):
24345        (wkContentAreaWillPaint):
24346        (wkMouseEnteredContentArea):
24347        (wkMouseExitedContentArea):
24348        (wkMouseMovedInContentArea):
24349        (wkWillStartLiveResize):
24350        (wkContentAreaResized):
24351        (wkWillEndLiveResize):
24352        (wkContentAreaDidShow):
24353        (wkContentAreaDidHide):
24354        (wkDidBeginScrollGesture):
24355        (wkDidEndScrollGesture):
24356        (wkScrollbarPainterForceFlashScrollers):
24357        (IsScrollbarOverlayAPIAvailable):
24358
243592011-05-02  Luke Macpherson   <macpherson@chromium.org>
24360
24361        Reviewed by Dimitri Glazkov.
24362
24363        Implement Length based CSS properties in CSSStyleApplyProperty
24364        https://bugs.webkit.org/show_bug.cgi?id=59314
24365
24366        No new tests as no functionality changed.
24367
24368        * css/CSSStyleApplyProperty.cpp:
24369        (WebCore::ApplyPropertyLength::ApplyPropertyLength):
24370        Added this class to handle all length types.
24371        Property specific behavior is handled through set of boolean parameters.
24372        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
24373        Added calls to set up entries for the newly added length properties.
24374        * css/CSSStyleSelector.cpp:
24375        (WebCore::CSSStyleSelector::applyProperty):
24376        Remove property implementations mow implemented in CSSStyleApplyProperty.
24377        * css/CSSStyleSelector.h:
24378        (WebCore::CSSStyleSelector::rootElementStyle):
24379        Expose m_rootElementStyle via getter.
24380
243812011-05-02  Eric Carlson  <eric.carlson@apple.com>
24382
24383        Reviewed by Eric Seidel.
24384
24385        HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
24386        https://bugs.webkit.org/show_bug.cgi?id=59828
24387
24388        No new tests required, no functional change because seeking to time zero before playback
24389        begins has no effect.
24390
24391        * html/HTMLMediaElement.cpp:
24392        (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
24393            HAVE_METADATA.
24394
243952011-05-02  Sam Weinig  <sam@webkit.org>
24396
24397        Reviewed by Gavin Barraclough.
24398
24399        Fix extra whitespace in license in FocusDirection.h.
24400
24401        * page/FocusDirection.h:
24402
244032011-05-02  Sam Weinig  <sam@webkit.org>
24404
24405        Reviewed by Adam Barth.
24406
24407        Prune some #includes from DOMWindow.h
24408        https://bugs.webkit.org/show_bug.cgi?id=59907
24409
24410        * page/DOMWindow.cpp:
24411        (WebCore::DOMWindow::setSecurityOrigin):
24412        * page/DOMWindow.h:
24413        Remove #includes of SecurityOrigin and MessagePort by forward declaring
24414        and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
24415        #include that was getting added by MessagePort.h.
24416
24417        * bindings/js/JSCustomVoidCallback.cpp:
24418        * bindings/js/JSCustomXPathNSResolver.cpp:
24419        * bindings/js/JSDOMWindowCustom.h:
24420        * bindings/js/JSHistoryCustom.cpp:
24421        * bindings/js/ScriptController.h:
24422        * html/HTMLAnchorElement.cpp:
24423        * html/HTMLMediaElement.cpp:
24424        * html/parser/XSSFilter.cpp:
24425        * inspector/InspectorDOMStorageResource.cpp:
24426        * loader/MainResourceLoader.cpp:
24427        * page/DragController.cpp:
24428        * page/EventSource.cpp:
24429        * page/Location.cpp:
24430        * websockets/WebSocket.cpp:
24431        * xml/XSLTProcessorLibxslt.cpp:
24432        Add now missing SecurityOrigin.h #includes.
24433
244342011-05-02  Eric Carlson  <eric.carlson@apple.com>
24435
24436        Reviewed by Brady Eidson.
24437
24438        The preload attribute of the video tag is not completely implemented
24439        https://bugs.webkit.org/show_bug.cgi?id=43673
24440        <rdar://problem/7508322>
24441
24442        Tested manually with manual-tests/media-elements/video-preload.html.
24443
24444        * html/HTMLMediaElement.cpp:
24445        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
24446        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
24447        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
24448        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
24449            because we need to have media data loaded to seek.
24450        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
24451        * html/HTMLMediaElement.h:
24452
24453        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
24454        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
24455            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
24456        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
24457        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
24458            Move all preload logic to setPreload, call it from here.
24459        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
24460            setPreload, call it.
24461        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
24462            unlikely to be correct and isn't worth caching.
24463        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
24464            to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
24465            'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
24466            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
24467            when the first frame is available.
24468        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
24469            width, height, hasVideo, etc.
24470        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
24471            in derived classes.
24472        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
24473            AVAsset and AVPlayerItem here.
24474        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
24475
24476        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
24477        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
24478        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
24479            m_videoFrameHasDrawn.
24480        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
24481            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
24482            if we have painted a frame to the context.
24483        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
24484            if necessary.
24485        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
24486        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
24487        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
24488        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
24489        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
24490            the buffer is full.
24491        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
24492            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
24493            when we only have metadata.
24494        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
24495        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
24496        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
24497            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
24498            when we only have metadata.
24499        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
24500            we have allocated the AVPlayerItem.
24501
245022011-05-02  Philippe Normand  <pnormand@igalia.com>
24503
24504        Reviewed by Martin Robinson.
24505
24506        [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
24507        https://bugs.webkit.org/show_bug.cgi?id=59932
24508
24509        Use gdk_window_get_width() and gdk_window_get_height() if
24510        available, instead of the deprecated gdk_drawable_get_size().
24511
24512        No new tests, build fix only.
24513
24514        * platform/gtk/WidgetRenderingContext.cpp:
24515        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
24516
245172011-05-02  Eric Carlson  <eric.carlson@apple.com>
24518
24519        Reviewed by Brady Eidson.
24520
24521        The preload attribute of the video tag is not completely implemented
24522        https://bugs.webkit.org/show_bug.cgi?id=43673
24523        <rdar://problem/7508322>
24524
24525        Test manually with manual-tests/media-elements/video-preload.html.
24526
24527        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
24528        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
24529        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
24530            attribute when preload is not "auto".
24531        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
24532        (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
24533        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
24534        (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
24535            a QTMovie.
24536
245372011-05-02  Eric Carlson  <eric.carlson@apple.com>
24538
24539        Reviewed by Brady Eidson.
24540
24541        The preload attribute of the video tag is not completely implemented
24542        https://bugs.webkit.org/show_bug.cgi?id=43673
24543        <rdar://problem/7508322>
24544
24545        Manual test manual-tests/media-elements/video-preload.html added.
24546
24547        * manual-tests/media-elements/video-preload.html: Added. New manual test for media element 
24548            'preload' attribute because it is not possible to detect if a media engine supports 
24549            "preload=metadata" in a way that lets us have per-platform layout test results.
24550
245512011-05-01  Abhishek Arya  <inferno@chromium.org>
24552
24553        Reviewed by Eric Carlson.
24554
24555        Regression(r74787): Media document mouse click and double-click
24556        events should be checked on target node only and not its descendants.
24557        https://bugs.webkit.org/show_bug.cgi?id=59886
24558
24559        * html/MediaDocument.cpp:
24560        (WebCore::MediaDocument::defaultEventHandler):
24561
245622011-05-01  Adam Barth  <abarth@webkit.org>
24563
24564        Reviewed by Eric Seidel.
24565
24566        Polish CSP host and port matching
24567        https://bugs.webkit.org/show_bug.cgi?id=59899
24568
24569        Finish last two details of host and port matching.  I don't think the
24570        default port handling is testable with our current testing
24571        infrastructure.
24572
24573        Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
24574               http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
24575
24576        * page/ContentSecurityPolicy.cpp:
24577        (WebCore::CSPSource::hostMatches):
24578        (WebCore::CSPSource::portMatches):
24579
245802011-05-01  Adam Barth  <abarth@webkit.org>
24581
24582        Reviewed by Eric Seidel.
24583
24584        CSP default-src is missing
24585        https://bugs.webkit.org/show_bug.cgi?id=58641
24586
24587        Add support for default-src.  The default-src provides a default policy
24588        for every directive that sends in "-src".  If the more-specific
24589        directive is present, it takes precedence.  I also took this
24590        opportunity to refactor the internals of ContentSecurityPolicy a bit to
24591        reduce duplicate code.
24592
24593        Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
24594               http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
24595               http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
24596
24597        * page/ContentSecurityPolicy.cpp:
24598        (WebCore::ContentSecurityPolicy::didReceiveHeader):
24599        (WebCore::ContentSecurityPolicy::checkEval):
24600        (WebCore::ContentSecurityPolicy::operativeDirective):
24601        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
24602        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
24603        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
24604        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
24605        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
24606        (WebCore::ContentSecurityPolicy::allowInlineScript):
24607        (WebCore::ContentSecurityPolicy::allowInlineStyle):
24608        (WebCore::ContentSecurityPolicy::allowEval):
24609        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
24610        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
24611        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
24612        (WebCore::ContentSecurityPolicy::allowImageFromSource):
24613        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
24614        (WebCore::ContentSecurityPolicy::allowFontFromSource):
24615        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
24616        (WebCore::ContentSecurityPolicy::addDirective):
24617        * page/ContentSecurityPolicy.h:
24618
246192011-05-01  Sam Weinig  <sam@webkit.org>
24620
24621        Reviewed by Anders Carlsson.
24622
24623        Prune some unnecessary #includes
24624        https://bugs.webkit.org/show_bug.cgi?id=59895
24625
24626        Start getting rid of unnecessary #includes and forward declares.
24627
24628        * bindings/js/JSDOMBinding.h:
24629        * bindings/js/JSDOMWindowBase.h:
24630        * bindings/js/JSDOMWindowShell.h:
24631        * bindings/js/ScheduledAction.cpp:
24632        * bindings/js/ScriptController.cpp:
24633        * bindings/js/ScriptController.h:
24634        * bindings/js/ScriptDebugServer.cpp:
24635        * editing/Editor.h:
24636        * inspector/InspectorClient.cpp:
24637        * loader/FrameLoader.h:
24638        * loader/NavigationScheduler.h:
24639        * page/Console.cpp:
24640        * xml/XMLTreeViewer.cpp:
24641        * xml/XMLTreeViewer.h:
24642
246432011-05-01  Patrick Gansterer  <paroga@webkit.org>
24644
24645        [WIN] Unreviewed buildfix after r85434.
24646
24647        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
24648        (WebCore::MediaPlayerPrivate::createLayerForMovie):
24649
246502011-05-01  Patrick Gansterer  <paroga@webkit.org>
24651
24652        [WIN] Unreviewed buildfix after r85434.
24653
24654        * platform/graphics/win/QTMovieVisualContext.cpp:
24655        (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
24656
246572011-05-01  Justin Schuh  <jschuh@chromium.org>
24658
24659        Reviewed by Adam Barth.
24660
24661        History::stateObjectAdded should check origin via SecurityOrigin::canRequest
24662        https://bugs.webkit.org/show_bug.cgi?id=59840
24663
24664        Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
24665               http/tests/navigation/replacestate-base-illegal.html
24666               http/tests/navigation/replacestate-base-legal.html
24667
24668        * page/History.cpp:
24669        (WebCore::History::stateObjectAdded):
24670
246712011-05-01  Patrick Gansterer  <paroga@webkit.org>
24672
24673        [WIN] Unreviewed buildfix after r85434.
24674
24675        * platform/graphics/win/QTMovieVisualContext.cpp:
24676        (QTMovieVisualContext::QTMovieVisualContext):
24677
246782011-05-01  Patrick Gansterer  <paroga@webkit.org>
24679
24680        Reviewed by Adam Barth.
24681
24682        [WINCE] Fix OwnPtr strict issues
24683        https://bugs.webkit.org/show_bug.cgi?id=59898
24684
24685        * page/wince/FrameWinCE.cpp:
24686        (WebCore::imageFromSelection):
24687        * platform/graphics/wince/FontPlatformData.cpp:
24688        (WebCore::FixedSizeFontData::create):
24689        (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
24690        (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
24691        (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
24692        * platform/graphics/wince/GraphicsContextWinCE.cpp:
24693        (WebCore::GraphicsContext::strokeArc):
24694        (WebCore::GraphicsContext::fillRect):
24695        (WebCore::GraphicsContext::clip):
24696        (WebCore::GraphicsContext::fillRoundedRect):
24697        (WebCore::GraphicsContext::drawRoundCorner):
24698        (WebCore::GraphicsContext::drawText):
24699        * platform/graphics/wince/ImageBufferWinCE.cpp:
24700        (WebCore::ImageBuffer::ImageBuffer):
24701        * platform/graphics/wince/ImageWinCE.cpp:
24702        (WebCore::BitmapImage::getHBITMAPOfSize):
24703        * platform/graphics/wince/SharedBitmap.cpp:
24704        (WebCore::SharedBitmap::SharedBitmap):
24705
247062011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
24707
24708        Reviewed by Eric Seidel.
24709
24710        Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
24711        https://bugs.webkit.org/show_bug.cgi?id=59837
24712
24713        Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)
24714
24715        * WebCore.exp.in:
24716        * page/EventHandler.h:
24717        * page/mac/EventHandlerMac.mm:
24718
247192011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
24720
24721        Reviewed by Eric Seidel.
24722
24723        Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
24724        https://bugs.webkit.org/show_bug.cgi?id=59835
24725
24726        Moved currentKeyboardEvent.
24727
24728        * WebCore.exp.in:
24729        * page/EventHandler.h:
24730        * page/mac/EventHandlerMac.mm:
24731
247322011-05-01  ojab  <ojab@ojab.ru>
24733
24734        Reviewed by Eric Seidel.
24735
24736        Fix build with --disable-video --enable-fullscreen-api
24737        https://bugs.webkit.org/show_bug.cgi?id=59698
24738
24739        * rendering/RenderTheme.h:
24740        (WebCore::RenderTheme::extraFullScreenStyleSheet):
24741
247422011-05-01  Jeff Timanus  <twiz@chromium.org>
24743
24744        Reviewed by Eric Seidel.
24745
24746        Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
24747        https://bugs.webkit.org/show_bug.cgi?id=59041
24748
24749        Test:css2.1/t140201-c533-bgimage-00-a.html
24750
24751        * platform/graphics/Image.cpp:
24752        (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
24753        * platform/graphics/skia/ImageSkia.cpp:
24754        (WebCore::BitmapImage::checkForSolidColor):
24755
247562011-05-01  Patrick Gansterer  <paroga@webkit.org>
24757
24758        Reviewed by Adam Barth.
24759
24760        Fix OwnPtr strict issues in windows build
24761        https://bugs.webkit.org/show_bug.cgi?id=59878
24762
24763        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
24764        (WebCore::getDirtyRects):
24765        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
24766        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
24767        * platform/graphics/win/WKCAImageQueue.cpp:
24768        (WebCore::WKCAImageQueue::WKCAImageQueue):
24769        * platform/win/CursorWin.cpp:
24770        (WebCore::createSharedCursor):
24771        * platform/win/PasteboardWin.cpp:
24772        (WebCore::Pasteboard::writeImage):
24773
247742011-05-01  Patrick Gansterer  <paroga@webkit.org>
24775
24776        Reviewed by Eric Seidel.
24777
24778        Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
24779        https://bugs.webkit.org/show_bug.cgi?id=59876
24780
24781        Also pass the size "as reference" instead of "as value".
24782
24783        * platform/graphics/GraphicsContext.h:
24784        * platform/graphics/win/FontCGWin.cpp:
24785        (WebCore::drawGDIGlyphs):
24786        * platform/graphics/win/GraphicsContextWin.cpp:
24787        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
24788        (WebCore::GraphicsContext::createWindowsBitmap):
24789        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
24790        (WebCore::MediaPlayerPrivate::paint):
24791
247922011-05-01  Emil A Eklund  <eae@chromium.org>
24793
24794        Reviewed by Eric Seidel.
24795
24796        getComputedStyle() returns unitless values for some properties that require units
24797        https://bugs.webkit.org/show_bug.cgi?id=55111
24798
24799        Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective
24800
24801        Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html
24802
24803        * css/CSSComputedStyleDeclaration.cpp:
24804        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24805
248062011-05-01  Young Han Lee  <joybro@company100.net>
24807
24808        Reviewed by Eric Seidel.
24809
24810        Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
24811        https://bugs.webkit.org/show_bug.cgi?id=59608
24812
24813        TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h
24814
24815        No new functionality, no new tests.
24816
24817        * platform/graphics/opengl/TextureMapperGL.cpp:
24818        (WebCore::TextureMapperGL::TextureMapperGL):
24819
248202011-05-01  Yael Aharon  <yael.aharon@nokia.com>
24821
24822        Reviewed by Eric Seidel.
24823
24824        CSS3 nth-child(n) selector fails
24825        https://bugs.webkit.org/show_bug.cgi?id=56943
24826
24827        Regression from r75158.
24828        "n" is a valid parameter to nth() and should be allowed.
24829
24830        Test: fast/css/nth-child-n.html
24831
24832        * css/CSSParser.cpp:
24833        (WebCore::isValidNthToken):
24834
248352011-05-01  Pavel Feldman  <pfeldman@chromium.org>
24836
24837        Not reviewed: address stack frame scriptName -> url rename in timeline panel.
24838
24839        * inspector/front-end/TimelinePanel.js:
24840        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
24841        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
24842
248432011-05-01  Chris Fleizach  <cfleizach@apple.com>
24844
24845        Reviewed by Maciej Stachowiak.
24846
24847        Crash in AccessibilityRenderObject while viewing PDFs in iframes
24848        https://bugs.webkit.org/show_bug.cgi?id=59629
24849
24850        Could not reproduce this crash, but it's quite clear how it could happen.
24851 
24852        * accessibility/AccessibilityRenderObject.cpp:
24853        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
24854
248552011-05-01  Nikolas Zimmermann  <nzimmermann@rim.com>
24856
24857        Reviewed by Dirk Schulze.
24858
24859        LEAK: SVGElement leaks when detaching it in a pending resource state
24860        https://bugs.webkit.org/show_bug.cgi?id=59072
24861
24862        Make the pending resources set non-refcounted again. We made it refcounted a while ago
24863        to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
24864        Fix the underlying problem, by removing all pending resources referencing to a particular
24865        SVGElement, upon its destruction or upon removing it from the document.
24866
24867        Example: <rect fill="url(#foo)" id="rect">
24868        When we try to render the rect, the foo paint server can't be found and thus "foo" will be
24869        added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
24870        itself from the pending resource set, and a ref count to the "rect" would be released.
24871        If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
24872        it and the associated document alive.
24873
24874        Tests: svg/custom/pending-resource-leak-2.svg
24875               svg/custom/pending-resource-leak-3.svg
24876               svg/custom/pending-resource-leak.svg
24877
24878        These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
24879        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.
24880
24881        * rendering/svg/RenderSVGResourceContainer.cpp:
24882        (WebCore::RenderSVGResourceContainer::registerResource):
24883        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
24884        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
24885        * rendering/svg/SVGResources.cpp:
24886        (WebCore::registerPendingResource):
24887        * svg/SVGDocumentExtensions.cpp:
24888        (WebCore::SVGDocumentExtensions::addPendingResource):
24889        (WebCore::SVGDocumentExtensions::hasPendingResources):
24890        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
24891        (WebCore::SVGDocumentExtensions::removePendingResource):
24892        * svg/SVGDocumentExtensions.h:
24893        * svg/SVGElement.cpp:
24894        * svg/SVGElement.h:
24895        * svg/SVGElementRareData.h:
24896        (WebCore::SVGElementRareData::SVGElementRareData):
24897        (WebCore::SVGElementRareData::hasPendingResources):
24898        (WebCore::SVGElementRareData::setHasPendingResources):
24899        * svg/SVGStyledElement.cpp:
24900        (WebCore::SVGStyledElement::~SVGStyledElement):
24901        (WebCore::SVGStyledElement::insertedIntoDocument):
24902        (WebCore::SVGStyledElement::removedFromDocument):
24903        (WebCore::SVGStyledElement::hasPendingResources):
24904        (WebCore::SVGStyledElement::setHasPendingResources):
24905        * svg/SVGStyledElement.h:
24906        (WebCore::SVGStyledElement::needsPendingResourceHandling):
24907        (WebCore::SVGStyledElement::buildPendingResource):
24908        * svg/SVGUseElement.cpp:
24909        (WebCore::SVGUseElement::SVGUseElement):
24910        (WebCore::SVGUseElement::insertedIntoDocument):
24911        (WebCore::SVGUseElement::svgAttributeChanged):
24912        (WebCore::SVGUseElement::buildPendingResource):
24913        * svg/SVGUseElement.h:
24914
249152011-05-01  Rafael Brandao  <rafael.lobo@openbossa.org>
24916
24917        Reviewed by Csaba Osztrogonác.
24918
24919        [Qt] build-webkit warning Inspector.idl is missing
24920        https://bugs.webkit.org/show_bug.cgi?id=59047
24921        
24922        Added variable_out to pipe output from one compiler to another,
24923        and then forced the output to be added to the sources.
24924
24925        * CodeGenerators.pri:
24926
249272011-05-01  Dan Bernstein  <mitz@apple.com>
24928
24929        Reviewed by Anders Carlsson.
24930
24931        <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
24932        https://bugs.webkit.org/show_bug.cgi?id=56658
24933
24934        Test: fast/text/selection-rect-rounding.html
24935
24936        * platform/graphics/FontFastPath.cpp:
24937        (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
24938        * platform/graphics/mac/FontComplexTextMac.cpp:
24939        (WebCore::Font::selectionRectForComplexText): Ditto.
24940        * rendering/InlineTextBox.cpp:
24941        (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
24942        (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
24943        since it affects rounding.
24944
249452011-04-30  Justin Schuh  <jschuh@chromium.org>
24946
24947        Reviewed by Dirk Schulze.
24948
24949        Make RenderSVGResourceFilter take ownership of filter data when painting
24950        https://bugs.webkit.org/show_bug.cgi?id=51524
24951
24952        Test: svg/custom/filter-on-svgimage.svg
24953
24954        * rendering/svg/RenderSVGResourceFilter.cpp:
24955        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
24956        (WebCore::RenderSVGResourceFilter::postApplyResource):
24957        * rendering/svg/RenderSVGResourceFilter.h:
24958        (WebCore::FilterData::FilterData):
24959
249602011-04-30  Martin Robinson  <mrobinson@igalia.com>
24961
24962        Reviewed by Adam Barth.
24963
24964        Enable strict mode for OwnPtr and PassOwnPtr
24965        https://bugs.webkit.org/show_bug.cgi?id=59428
24966
24967        Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
24968        factory methods return a PassOwnPtr.
24969
24970        No new tests. This should not change functionality.
24971
24972        * platform/GeolocationService.cpp:
24973        (WebCore::createGeolocationServiceNull):
24974        (WebCore::GeolocationService::create):
24975        * platform/GeolocationService.h:
24976        * platform/android/GeolocationServiceAndroid.cpp:
24977        (WebCore::GeolocationServiceAndroid::create):
24978        * platform/android/GeolocationServiceAndroid.h:
24979        * platform/efl/GeolocationServiceEfl.cpp:
24980        (WebCore::GeolocationServiceEfl::create):
24981        * platform/efl/GeolocationServiceEfl.h:
24982        * platform/graphics/cairo/CairoUtilities.cpp:
24983        (WebCore::appendPathToCairoContext):
24984        * platform/graphics/cairo/GraphicsContextCairo.cpp:
24985        (WebCore::drawPathShadow):
24986        (WebCore::GraphicsContext::clip):
24987        * platform/graphics/cairo/ImageBufferCairo.cpp:
24988        (WebCore::ImageBuffer::ImageBuffer):
24989        * platform/graphics/cairo/OwnPtrCairo.h:
24990        * platform/graphics/cairo/PathCairo.cpp:
24991        (WebCore::Path::Path):
24992        (WebCore::Path::operator=):
24993        (WebCore::Path::apply):
24994        * platform/gtk/GeolocationServiceGtk.cpp:
24995        (WebCore::GeolocationServiceGtk::create):
24996        * platform/gtk/GeolocationServiceGtk.h:
24997        * platform/mock/GeolocationServiceMock.cpp:
24998        (WebCore::GeolocationServiceMock::create):
24999        * platform/mock/GeolocationServiceMock.h:
25000
250012011-04-30  Pavel Feldman  <pfeldman@chromium.org>
25002
25003        Not reviewed: inspector toolbar titles were 2px off.
25004
25005        * inspector/front-end/inspector.css:
25006        (#toolbar-dropdown .toolbar-label):
25007
250082011-04-30  Mihai Parparita  <mihaip@chromium.org>
25009
25010        Reviewed by Eric Seidel.
25011
25012        V8Proxy.h shouldn't include SecurityOrigin.h
25013        https://bugs.webkit.org/show_bug.cgi?id=59859
25014
25015        Remove SecurityOrigin.h #include from V8Proxy.h. Touching
25016        SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
25017        chromium's DumpRenderTree).
25018
25019        * bindings/v8/NPV8Object.cpp:
25020        * bindings/v8/V8Proxy.cpp:
25021        * bindings/v8/V8Proxy.h:
25022        * css/CSSStyleSelector.cpp:
25023        * dom/XMLDocumentParserLibxml2.cpp:
25024        * html/HTMLLinkElement.cpp:
25025        * loader/SubframeLoader.cpp:
25026        * page/History.cpp:
25027        * storage/IDBFactory.cpp:
25028        * storage/StorageAreaImpl.cpp:
25029
250302011-04-29  Adam Barth  <abarth@webkit.org>
25031
25032        Reviewed by Eric Seidel.
25033
25034        CSP script-src should block eval
25035        https://bugs.webkit.org/show_bug.cgi?id=59850
25036
25037        Rather than have JavaScriptCore call back into WebCore to learn whether
25038        eval is enabled, we push that bit of the policy into JavaScriptCore.
25039
25040        Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
25041               http/tests/security/contentSecurityPolicy/eval-blocked.html
25042
25043        * bindings/js/ScriptController.cpp:
25044        (WebCore::ScriptController::disableEval):
25045        * bindings/js/ScriptController.h:
25046        * page/ContentSecurityPolicy.cpp:
25047        (WebCore::ContentSecurityPolicy::didReceiveHeader):
25048        (WebCore::ContentSecurityPolicy::internalAllowEval):
25049        (WebCore::ContentSecurityPolicy::allowEval):
25050        * page/ContentSecurityPolicy.h:
25051
250522011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
25053
25054        GTK build fix. Missed moving DateComponents and
25055        adding LocalizedDate files for their build file.
25056
25057        * GNUmakefile.list.am:
25058
250592011-04-29  Adam Barth  <abarth@webkit.org>
25060
25061        Reviewed by Eric Seidel.
25062
25063        style-src should block @style
25064        https://bugs.webkit.org/show_bug.cgi?id=59293
25065
25066        This patch blocks @style when style-src doesn't have the
25067        'unsafe-inline' token.  This patch blocks the parsing of the attribute
25068        itself.  That feels vaguely like too low a level to interpose the
25069        policy, but there didn't seem to be anywhere else natural to enforce
25070        the policy.
25071
25072        Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
25073               http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
25074               http/tests/security/contentSecurityPolicy/inline-style-on-html.html
25075
25076        * dom/StyledElement.cpp:
25077        (WebCore::StyledElement::parseMappedAttribute):
25078
250792011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
25080
25081        Reviewed by Kent Tamura.
25082
25083        Allow Localized Date Strings for Date Input Fields
25084        https://bugs.webkit.org/show_bug.cgi?id=59752
25085
25086        Test: fast/forms/date-input-visible-strings.html
25087
25088        * CMakeLists.txt:
25089        * WebCore.gypi:
25090        * WebCore.pro:
25091        * WebCore.vcproj/WebCore.vcproj:
25092        * WebCore.xcodeproj/project.pbxproj: update build files for
25093        moving DateComponents from WebCore/html to WebCore/platform
25094        and adding the LocalizedDate files.
25095
25096        * html/BaseDateAndTimeInputType.cpp:
25097        (WebCore::BaseDateAndTimeInputType::serialize):
25098        (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
25099        (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
25100        InputType::serialize for a double value with date types is
25101        different for the month type because it assumes the incoming
25102        value is months instead of msecs (matching valueAsNumber in
25103        HTML5).  So provide a more general serialization function,
25104        serializeWithComponents, that will always serialize a string
25105        correctly for the current type but taking in a DateComponents
25106        object. The default serialize, and new serializeWithMilliseconds,
25107        can fall back to this and allows an override point for
25108        the month type.
25109
25110        * html/MonthInputType.cpp:
25111        (WebCore::MonthInputType::serializeWithMilliseconds): the month
25112        type is a case where the default serialize does not take msec,
25113        so provide an implementation for month which handles msec input.
25114
25115        * html/BaseDateAndTimeInputType.cpp:
25116        (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
25117        to serializeWithMilliseconds as the incoming date value is msec.
25118        * html/MonthInputType.cpp:
25119        (WebCore::MonthInputType::setValueAsDate): removed.
25120
25121        * html/BaseDateAndTimeInputType.cpp:
25122        (WebCore::BaseDateAndTimeInputType::visibleValue): allow
25123        localized formatting of a date value.
25124        (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
25125        allow parsing for a formatted date value.
25126
25127        * html/BaseDateAndTimeInputType.h:
25128        * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
25129        Expose the Type enum so it can be used outside of the DateComponents class.
25130        * platform/text/LocalizedDate.h: Added.
25131        * platform/text/LocalizedDateNone.cpp: Added.
25132        (WebCore::formatLocalizedDate): Default implementation falls back to
25133        existing HTML5 date input value formatting.
25134
25135        * html/BaseDateAndTimeInputType.h:
25136        * html/DateInputType.cpp:
25137        (WebCore::DateInputType::dateType):
25138        * html/DateInputType.h:
25139        * html/DateTimeInputType.cpp:
25140        (WebCore::DateTimeInputType::dateType):
25141        * html/DateTimeInputType.h:
25142        * html/DateTimeLocalInputType.cpp:
25143        (WebCore::DateTimeLocalInputType::dateType):
25144        * html/DateTimeLocalInputType.h:
25145        * html/MonthInputType.cpp:
25146        (WebCore::MonthInputType::dateType):
25147        * html/MonthInputType.h:
25148        * html/TimeInputType.cpp:
25149        (WebCore::TimeInputType::dateType):
25150        * html/TimeInputType.h:
25151        * html/WeekInputType.cpp:
25152        (WebCore::WeekInputType::dateType):
25153        * html/WeekInputType.h: Accessors for the desired date
25154        type of a date input type. This allows the base class
25155        to write a generic algorithm.
25156
251572011-04-29  Adam Barth  <abarth@webkit.org>
25158
25159        Reviewed by Eric Seidel.
25160
25161        style-src should block inline style from <style>
25162        https://bugs.webkit.org/show_bug.cgi?id=59292
25163
25164        The spec has been updated to allow blocking of inline styles with
25165        style-src.  This will help folks defend against tricky CSS3 injections.
25166
25167        This patch covers the <style> case.  The next patch will cover the
25168        @style case.
25169
25170        Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
25171               http/tests/security/contentSecurityPolicy/inline-style-blocked.html
25172
25173        * dom/StyleElement.cpp:
25174        (WebCore::StyleElement::createSheet):
25175        * page/ContentSecurityPolicy.cpp:
25176        (WebCore::ContentSecurityPolicy::allowInlineStyle):
25177        * page/ContentSecurityPolicy.h:
25178
251792011-04-29  Chris Evans  <cevans@chromium.org>
25180
25181        Reviewed by Adam Barth.
25182
25183        Add WebCore::Setting to block displaying and/or running insecure content on secure pages
25184        https://bugs.webkit.org/show_bug.cgi?id=58378
25185
25186        Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.
25187
25188        * loader/FrameLoader.cpp:
25189        (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
25190        (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
25191        * loader/FrameLoader.h:
25192        * loader/MainResourceLoader.cpp:
25193        (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.
25194        * loader/SubframeLoader.cpp:
25195        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
25196        (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
25197        * loader/cache/CachedResourceLoader.cpp:
25198        (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
25199        * page/Settings.cpp:
25200        (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
25201        * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
25202        (WebCore::Settings::setAllowDisplayOfInsecureContent):
25203        (WebCore::Settings::allowDisplayOfInsecureContent):
25204        (WebCore::Settings::setAllowRunningOfInsecureContent):
25205        (WebCore::Settings::allowRunningOfInsecureContent):
25206
252072011-04-29  Ryosuke Niwa  <rniwa@webkit.org>
25208
25209        Reviewed by Eric Seidel.
25210
25211        Extract a function to obtain VisiblePosition from RenderText::positionForPoint
25212        https://bugs.webkit.org/show_bug.cgi?id=59811
25213
25214        Extracted lineDirectionPointFitsInBox from positionForPoint.
25215
25216        * rendering/RenderText.cpp:
25217        (WebCore::lineDirectionPointFitsInBox):
25218        (WebCore::RenderText::positionForPoint):
25219
252202011-04-29  Geoffrey Garen  <ggaren@apple.com>
25221
25222        Reviewed by Alexey Proskuryakov.
25223
25224        REGRESSION: r83938 abandons GC memory
25225        https://bugs.webkit.org/show_bug.cgi?id=59604
25226
25227        This bug was caused by script and image elements waiting indefinitely
25228        for their loads to finish.
25229
25230        * bindings/js/JSNodeCustom.cpp:
25231        (WebCore::isReachableFromDOM): Don't test for the load event firing,
25232        since the load event doesn't fire in cases of canceled or errored loads.
25233        Instead, test hasPendingActivity().
25234        
25235        Don't do this test at all for script elements because script elements
25236        can't load while outside the document. (fast/dom/script-element-gc.html
25237        verifies that this is correct.)
25238
25239        * html/HTMLImageElement.cpp:
25240        (WebCore::HTMLImageElement::hasPendingActivity):
25241        * html/HTMLImageElement.h:
25242        * loader/ImageLoader.cpp:
25243        (WebCore::ImageEventSender::hasPendingEvents):
25244        (WebCore::ImageLoader::hasPendingLoadEvent):
25245        * loader/ImageLoader.h: Added API for finding out if an image element
25246        has pending activity.
25247
25248        * loader/cache/CachedResource.cpp:
25249        (WebCore::CachedResource::setRequest): All loads are supposed to end in
25250        data(allDataReceived = true) or error(), but in the edge case of a
25251        canceled load, all we get is a call to setRequest(0). Be sure to
25252        record that we're no longer loading in that case, otherwise our element
25253        will leak forever, waiting for its load to complete.
25254
252552011-04-29  Emil Eklund  <eae@chromium.org>
25256
25257        Reviewed by Tony Chang.
25258
25259        Setting outerHTML should merge text nodes
25260        https://bugs.webkit.org/show_bug.cgi?id=52686
25261
25262        When setting outerHTML adjacent text nodes should be merged. This matches
25263        the behavior of outerText and the IE implementation of outerHTML.       
25264
25265        Test: fast/dom/set-outer-html.html
25266
25267        * html/HTMLElement.cpp:
25268        (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
25269        (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.
25270
252712011-04-29  Emil A Eklund  <eae@chromium.org>
25272
25273        Reviewed by Dimitri Glazkov.
25274
25275        Onchange on text fields has an incoherent behavior
25276        https://bugs.webkit.org/show_bug.cgi?id=57330
25277
25278        * html/HTMLFormControlElement.cpp:
25279        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
25280        Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
25281        than null for empty fields.
25282
252832011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
25284
25285        [Qt] Unreviewed buildfix after r85343.
25286
25287        Enable strict OwnPtr for Qt
25288        https://bugs.webkit.org/show_bug.cgi?id=59667
25289
25290        * plugins/mac/PluginViewMac.mm:
25291        (WebCore::PluginView::platformStart):
25292
252932011-04-29  Jon Lee  <jonlee@apple.com>
25294
25295        Reviewed by mitzpettel.
25296
25297        REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
25298        <rdar://problem/9327332>
25299        https://bugs.webkit.org/show_bug.cgi?id=59721
25300
25301        Removing shouldClearSelectionWhenLosingWebPageFocus().  Reverting changelist 83814.
25302
25303        * WebCore.exp.in:
25304        * editing/EditingBehavior.h:
25305
253062011-04-29  Abhishek Arya  <inferno@chromium.org>
25307
25308        Reviewed by Dave Hyatt.
25309
25310        Allow only first table caption and destroy the remaining ones.
25311        https://bugs.webkit.org/show_bug.cgi?id=58249
25312
25313        Previously, we were only laying out the first table caption.
25314        However Table::layout didn't mark the other ones as not needing
25315        layout. So after table layout completes, table is marked as not
25316        needing layout with its other table caption still needing layout.
25317        This causes incorrect layout root calculations and set it to a
25318        node which is already getting deleted.
25319
25320        Tests: fast/table/dynamic-caption-add-before-child.xhtml
25321               fast/table/dynamic-caption-add-remove-before-child.xhtml
25322               fast/table/multiple-captions-crash.xhtml
25323               fast/table/multiple-captions-crash2.xhtml
25324               fast/table/multiple-captions-display.xhtml
25325
25326        * rendering/RenderTable.cpp:
25327        (WebCore::RenderTable::addChild): when new caption or a before
25328        child caption is added, we need to explicitly trigger section
25329        recalc or otherwise layout won't catch it.
25330        (WebCore::RenderTable::removeChild): when child to be removed is
25331        m_caption, make sure to trigger style recalc on the table.
25332        (WebCore::RenderTable::recalcCaption): code to destroy captions
25333        other than the first one.
25334        (WebCore::RenderTable::recalcSections): call recalcCaption
25335        helper. Store the next sibling early since child can get destroyed
25336        in recalcCaption.
25337        * rendering/RenderTable.h:
25338
253392011-04-29  David Kilzer  <ddkilzer@apple.com>
25340
25341        Remove WML
25342        https://bugs.webkit.org/show_bug.cgi?id=59678
25343
25344        * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.
25345
253462011-04-29  James Robinson  <jamesr@chromium.org>
25347
25348        Unreviewed, rolling out r85330.
25349        http://trac.webkit.org/changeset/85330
25350        https://bugs.webkit.org/show_bug.cgi?id=41311
25351
25352        Caused unexpected border rendering change on 500 tests on chromium linux.
25353
25354        * platform/graphics/skia/GraphicsContextSkia.cpp:
25355        (WebCore::GraphicsContext::drawConvexPolygon):
25356        (WebCore::GraphicsContext::clipConvexPolygon):
25357
253582011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
25359
25360        [Qt] Unreviewed buildfix after r85343.
25361
25362        Enable strict OwnPtr for Qt
25363        https://bugs.webkit.org/show_bug.cgi?id=59667
25364
25365        * plugins/win/PluginViewWin.cpp:
25366        (WebCore::PluginView::wndProc):
25367        (WebCore::PluginView::snapshot):
25368
253692011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
25370
25371        Reviewed by Adam Barth.
25372
25373        Enable strict OwnPtr for Qt
25374        https://bugs.webkit.org/show_bug.cgi?id=59667
25375
25376        * platform/graphics/qt/ImageBufferQt.cpp:
25377        (WebCore::ImageBufferData::ImageBufferData):
25378        (WebCore::ImageBuffer::ImageBuffer):
25379        * platform/graphics/qt/ImageDecoderQt.cpp:
25380        (WebCore::ImageDecoderQt::setData):
25381        * platform/graphics/qt/ImageDecoderQt.h:
25382        * platform/network/qt/QNetworkReplyHandler.cpp:
25383        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
25384        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
25385
253862011-04-29  Dean Jackson  <dino@apple.com>
25387
25388        Reviewed by Simon Fraser.
25389
25390        Add ENABLE macro for WebKitAnimation
25391        https://bugs.webkit.org/show_bug.cgi?id=59729
25392
25393        Add new feature to toggle WebKit Animation API.
25394
25395        * Configurations/FeatureDefines.xcconfig:
25396        * GNUmakefile.am:
25397        * dom/Element.idl:
25398        * features.pri:
25399        * page/DOMWindow.idl:
25400
254012011-04-29  Dean Jackson  <dino@apple.com>
25402
25403        Reviewed by Simon Fraser.
25404
25405        https://bugs.webkit.org/show_bug.cgi?id=59149
25406        (Regression) Existing animations are not replaced when filling.
25407
25408        Hardware animations that fill forwards were not being correctly
25409        replaced when the animation was removed. The actual animation
25410        logic was working correctly, but it wasn't deleting the
25411        CoreAnimation animation from the PlatformLayer. The fix was
25412        to explicitly call endAnimation when disconnecting the animation
25413        from its RenderObject.
25414
25415        Test: animations/3d/replace-filling-transform.html
25416
25417        * page/animation/AnimationBase.h:
25418        (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared
25419
254202011-04-29  Abhishek Arya  <inferno@chromium.org>
25421
25422        Reviewed by Nikolas Zimmermann.
25423
25424        When svg inline text is getting destroyed, make sure to mark
25425        its svg text ancestor as needing a positioning values update.
25426        This helps to recalculate layout attributes and makes sure
25427        that svg inline text is not used again.
25428        https://bugs.webkit.org/show_bug.cgi?id=59161
25429
25430        Test: svg/text/inline-text-destroy-attributes-crash.xhtml
25431
25432        * rendering/svg/RenderSVGInlineText.cpp:
25433        (WebCore::RenderSVGInlineText::destroy):
25434        * rendering/svg/RenderSVGInlineText.h:
25435
254362011-04-29  Kevin Ollivier  <kevino@theolliviers.com>
25437
25438        [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.
25439
25440        * platform/graphics/wx/GraphicsContextWx.cpp:
25441
254422011-04-29  Mike Reed  <reed@google.com>
25443
25444        Reviewed by Ojan Vafai.
25445
25446        Skia: Need to implement GraphicsContext::clipConvexPolygon()
25447        https://bugs.webkit.org/show_bug.cgi?id=41311
25448
25449        This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
25450        as that shows other issues/question unrelated to clipping.
25451        https://bugs.webkit.org/show_bug.cgi?id=41311
25452
25453        No new tests. covered by existing layout tests
25454
25455        * platform/graphics/skia/GraphicsContextSkia.cpp:
25456        (WebCore::setPathFromConvexPoints):
25457        (WebCore::GraphicsContext::drawConvexPolygon):
25458        (WebCore::GraphicsContext::clipConvexPolygon):
25459
254602011-04-29  Mike Lawther  <mikelawther@chromium.org>
25461
25462        Reviewed by Ojan Vafai.
25463
25464        Fix IR->SR typo in enum value (and resulting style fails)
25465        https://bugs.webkit.org/show_bug.cgi?id=59779
25466
25467        No functionality change, so no new tests
25468
25469        * css/CSSPrimitiveValueMappings.h:
25470        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
25471        (WebCore::CSSPrimitiveValue::operator EShapeRendering):
25472
254732011-04-29  Pavel Feldman  <pfeldman@google.com>
25474
25475        Reviewed by Yury Semikhatsky.
25476
25477        Web Inspector: CSS editing breaks when entering "color: rgb(1"
25478        https://bugs.webkit.org/show_bug.cgi?id=59789
25479
25480        Tests: inspector/styles/styles-add-invalid-property.html
25481               inspector/styles/styles-cancel-editing.html
25482               inspector/styles/styles-commit-editing.html
25483
25484        * inspector/front-end/CSSStyleModel.js:
25485        (WebInspector.CSSProperty.prototype.setText.callback):
25486        (WebInspector.CSSProperty.prototype.setText):
25487        * inspector/front-end/StylesSidebarPane.js:
25488        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
25489        (WebInspector.StylePropertyTreeElement.prototype):
25490        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
25491        * inspector/front-end/inspector.js:
25492        (WebInspector.startEditing.defaultFinishHandler):
25493        (WebInspector.startEditing.keyDownEventListener):
25494        (WebInspector.startEditing):
25495
254962011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25497
25498        Reviewed by Simon Hausmann.
25499
25500        ENABLE(QT_BEARER) -> USE(QT_BEARER)
25501
25502        * WebCore.pri:
25503        * WebCore.pro:
25504        * features.pri:
25505        * platform/network/NetworkStateNotifier.h:
25506        * platform/network/qt/NetworkStateNotifierQt.cpp:
25507
255082011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25509
25510        Reviewed by Simon Hausmann.
25511
25512        ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)
25513
25514        * WebCore.pri:
25515        * features.pri:
25516
255172011-04-29  Pavel Podivilov  <podivilov@chromium.org>
25518
25519        Reviewed by Pavel Feldman.
25520
25521        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
25522        https://bugs.webkit.org/show_bug.cgi?id=59476
25523
25524        * inspector/front-end/DebuggerPresentationModel.js:
25525        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
25526        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
25527        (WebInspector.PresentationBreakpoint.prototype.serialize):
25528        * inspector/front-end/ScriptsPanel.js:
25529        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
25530        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
25531        (WebInspector.ScriptsPanel.prototype.reset):
25532
255332011-04-28  Pavel Podivilov  <podivilov@chromium.org>
25534
25535        Reviewed by Yury Semikhatsky.
25536
25537        Web Inspector: include script end line:column in scriptParsed parameters.
25538        https://bugs.webkit.org/show_bug.cgi?id=59717
25539
25540        * bindings/js/ScriptDebugServer.cpp:
25541        (WebCore::ScriptDebugServer::dispatchDidParseSource):
25542        * bindings/v8/DebuggerScript.js:
25543        ():
25544        * bindings/v8/ScriptDebugServer.cpp:
25545        (WebCore::ScriptDebugServer::dispatchDidParseSource):
25546        * inspector/Inspector.json:
25547        * inspector/InspectorDebuggerAgent.cpp:
25548        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
25549        (WebCore::InspectorDebuggerAgent::didParseSource):
25550        * inspector/InspectorDebuggerAgent.h:
25551        (WebCore::InspectorDebuggerAgent::Script::Script):
25552        * inspector/ScriptDebugListener.h:
25553        * inspector/front-end/DebuggerModel.js:
25554        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
25555        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
25556        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
25557        * inspector/front-end/Script.js:
25558        (WebInspector.Script):
25559
255602011-04-28  Yury Semikhatsky  <yurys@chromium.org>
25561
25562        Reviewed by Pavel Feldman.
25563
25564        Web Inspector: [protocol] Evaluate should expose thrown exception value
25565        https://bugs.webkit.org/show_bug.cgi?id=59000
25566
25567        Each evaluation command may have either thrown or returned result. This is indicated
25568        by wasThrown property in the protocol.
25569
25570        * inspector/InjectedScript.cpp:
25571        (WebCore::InjectedScript::evaluate):
25572        (WebCore::InjectedScript::evaluateOn):
25573        (WebCore::InjectedScript::evaluateOnCallFrame):
25574        (WebCore::InjectedScript::getProperties):
25575        (WebCore::InjectedScript::makeEvalCall):
25576        * inspector/InjectedScript.h:
25577        * inspector/InjectedScriptSource.js:
25578        * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
25579        the evaluation results.
25580        * inspector/InspectorDebuggerAgent.cpp:
25581        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
25582        * inspector/InspectorDebuggerAgent.h:
25583        * inspector/InspectorRuntimeAgent.cpp:
25584        (WebCore::InspectorRuntimeAgent::evaluate):
25585        (WebCore::InspectorRuntimeAgent::evaluateOn):
25586        (WebCore::InspectorRuntimeAgent::getProperties):
25587        * inspector/InspectorRuntimeAgent.h:
25588        * inspector/front-end/ConsoleView.js:
25589        (WebInspector.ConsoleView.prototype.completions.evaluated):
25590        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
25591        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
25592        (WebInspector.ConsoleView.prototype._enterKeyPressed):
25593        (WebInspector.ConsoleCommandResult):
25594        * inspector/front-end/DebuggerPresentationModel.js:
25595        (WebInspector.PresenationCallFrame.prototype.evaluate):
25596        * inspector/front-end/ElementsTreeOutline.js:
25597        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
25598        * inspector/front-end/ExtensionPanel.js:
25599        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
25600        * inspector/front-end/ExtensionServer.js:
25601        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
25602        * inspector/front-end/ObjectPropertiesSection.js:
25603        (WebInspector.ObjectPropertyTreeElement.prototype.update):
25604        * inspector/front-end/PropertiesSidebarPane.js:
25605        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
25606        * inspector/front-end/SourceFrame.js:
25607        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
25608        (WebInspector.SourceFrame.prototype._showPopup):
25609
256102011-04-29  Sheriff Bot  <webkit.review.bot@gmail.com>
25611
25612        Unreviewed, rolling out r85315.
25613        http://trac.webkit.org/changeset/85315
25614        https://bugs.webkit.org/show_bug.cgi?id=59792
25615
25616        Broke script-formatter.html test (Requested by podivilov on
25617        #webkit).
25618
25619        * inspector/front-end/DebuggerPresentationModel.js:
25620        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
25621        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
25622        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
25623        (WebInspector.PresentationBreakpoint.prototype.serialize):
25624        * inspector/front-end/ScriptsPanel.js:
25625        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
25626        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
25627        (WebInspector.ScriptsPanel.prototype.reset):
25628
256292011-04-29  Vsevolod Vlasov  <vsevik@chromium.org>
25630
25631        Reviewed by Pavel Feldman.
25632
25633        Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
25634        https://bugs.webkit.org/show_bug.cgi?id=58794
25635
25636        Added ping requests to network panel.
25637
25638        Test: http/tests/inspector/network/ping.html
25639
25640        * English.lproj/localizedStrings.js:
25641        * inspector/InspectorInstrumentation.cpp:
25642        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
25643        * inspector/InspectorInstrumentation.h:
25644        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
25645        * inspector/front-end/NetworkPanel.js:
25646        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
25647        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
25648        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
25649        * inspector/front-end/Resource.js:
25650        (WebInspector.Resource.prototype.get formParameters):
25651        (WebInspector.Resource.prototype.requestContentType):
25652        (WebInspector.Resource.prototype.isPingRequest):
25653        * loader/PingLoader.cpp:
25654        (WebCore::PingLoader::PingLoader):
25655        * loader/PingLoader.h:
25656
256572011-04-28  Pavel Podivilov  <podivilov@chromium.org>
25658
25659        Reviewed by Pavel Feldman.
25660
25661        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
25662        https://bugs.webkit.org/show_bug.cgi?id=59476
25663
25664        * inspector/front-end/DebuggerPresentationModel.js:
25665        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
25666        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
25667        (WebInspector.PresentationBreakpoint.prototype.serialize):
25668        * inspector/front-end/ScriptsPanel.js:
25669        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
25670        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
25671        (WebInspector.ScriptsPanel.prototype.reset):
25672
256732011-04-29  Pavel Feldman  <pfeldman@google.com>
25674
25675        Reviewed by Yury Semikhatsky.
25676
25677        Web Inspector: add "open link in new tab" action into the network and resources panels.
25678        https://bugs.webkit.org/show_bug.cgi?id=59788
25679
25680        This change also distinguishes context menu items case between platforms.
25681
25682        * English.lproj/localizedStrings.js:
25683        * inspector/front-end/ConsoleView.js:
25684        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
25685        * inspector/front-end/DOMBreakpointsSidebarPane.js:
25686        (WebInspector.DOMBreakpointsSidebarPane):
25687        * inspector/front-end/ElementsPanel.js:
25688        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
25689        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
25690        * inspector/front-end/ElementsTreeOutline.js:
25691        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
25692        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
25693        * inspector/front-end/NetworkPanel.js:
25694        (WebInspector.NetworkPanel.prototype._contextMenu):
25695        * inspector/front-end/ResourcesPanel.js:
25696        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
25697        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
25698        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
25699        * inspector/front-end/Settings.js:
25700        * inspector/front-end/SourceFrame.js:
25701        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
25702        * inspector/front-end/TextViewer.js:
25703        (WebInspector.TextViewer.prototype._contextMenu):
25704        * inspector/front-end/inspector.js:
25705        (WebInspector.openLinkExternallyLabel):
25706        (WebInspector.openResource):
25707        (WebInspector.useLowerCaseMenuTitles):
25708
257092011-04-28  Simon Fraser  <simon.fraser@apple.com>
25710
25711        Reviewed by Dan Bernstein.
25712
25713        Mask placement on composited layer is incorrect sometimes
25714        https://bugs.webkit.org/show_bug.cgi?id=59775
25715        
25716        The mask layer always has the same size as its owning GraphicsLayer,
25717        so it needs to share the same offsetFromRenderer as well. This fixes
25718        the offset at which the mask layer contents are painted in cases where
25719        that offset is non-zero, for example when outline style bloats all of
25720        the layer sizes.
25721
25722        Test: compositing/masks/layer-mask-placement.html
25723
25724        * rendering/RenderLayerBacking.cpp:
25725        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
25726
257272011-04-28  Dan Bernstein  <mitz@apple.com>
25728
25729        Rubber-stamped by Mark Rowe.
25730
25731        Reverted r81319.
25732
25733        Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu
25734
25735        * page/NavigatorBase.cpp:
25736
257372011-04-28  Simon Fraser  <simon.fraser@apple.com>
25738
25739        Reviewed by Dirk Schulze.
25740
25741        1px box-shadow looks ugly
25742        https://bugs.webkit.org/show_bug.cgi?id=58100
25743        and
25744        ShadowBlur incorrectly handles zero-sized blur radius in one axis
25745        https://bugs.webkit.org/show_bug.cgi?id=59710
25746        
25747        blurLayerImage() has issues at the edges if the blur radius
25748        is one, so in that case bump the buffer size out by a pixel.
25749        This results in a correct, symmetrical blur.
25750        
25751        Also fix an issue noticed during testing where a zero
25752        height or width radius would still blur on that axis,
25753        because we clamp the kernel size to a minimum of two.
25754
25755        Test: fast/box-shadow/single-pixel-shadow.html
25756
25757        * platform/graphics/ShadowBlur.h:
25758        * platform/graphics/ShadowBlur.cpp:
25759        (WebCore::ShadowBlur::blurLayerImage):
25760        Skip horizontal or vertial passes if the radius on that axis is zero.
25761        Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
25762        clause to the end of the loop, since it only needs to execute once
25763        after the first pass.        
25764        (WebCore::ShadowBlur::blurredEdgeSize):
25765        New method to compute the width of the blurred edge (radius + extra
25766        pixel when necessary).
25767        (WebCore::ShadowBlur::calculateLayerBoundingRect):
25768        (WebCore::ShadowBlur::templateSize):
25769        (WebCore::ShadowBlur::drawRectShadow):
25770        (WebCore::ShadowBlur::drawInsetShadow):
25771        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
25772        (WebCore::ShadowBlur::drawRectShadowWithTiling):
25773        (WebCore::ShadowBlur::drawLayerPieces):
25774        Use the result of blurredEdgeSize() rather than recomputing.
25775
257762011-04-28  Yael Aharon  <yael.aharon@nokia.com>
25777
25778        Reviewed by Beth Dakin.
25779
25780        CSS sibling selector (~) does not work with :target pseudo class
25781        https://bugs.webkit.org/show_bug.cgi?id=26539
25782
25783        Allow style recalculation of forward siblings of elements with
25784        forward positional rules.
25785
25786        Tests: fast/css/pseudo-target-indirect-sibling-001.html
25787               fast/css/pseudo-target-indirect-sibling-002.html
25788
25789        * dom/Element.cpp:
25790        (WebCore::Element::recalcStyle):
25791
257922011-04-28  Nat Duca  <nduca@chromium.org>
25793
25794        Reviewed by Kenneth Russell.
25795
25796        [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
25797        https://bugs.webkit.org/show_bug.cgi?id=59626
25798
25799        * platform/graphics/chromium/Extensions3DChromium.h:
25800        (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):
25801
258022011-04-28  Steve Lacey  <sjl@chromium.org>
25803
25804        Reviewed by Eric Carlson.
25805
25806        Change chromium media controls to use absolute positioning until bug 59644 is fixed.
25807        https://bugs.webkit.org/show_bug.cgi?id=59732
25808
25809        * css/mediaControlsChromium.css:
25810        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
25811        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
25812
258132011-04-28  Luke Macpherson   <macpherson@chromium.org>
25814
25815        Reviewed by Eric Seidel.
25816
25817        Implement CSS border width and related properties in CSSStyleApplyProperty.
25818        https://bugs.webkit.org/show_bug.cgi?id=59414
25819
25820        No new tests as no functionality added.
25821
25822        * css/CSSStyleApplyProperty.cpp:
25823        Separated ApplyPropertyDefault into parent and child so that other classes could inherit
25824        the applyInheritValue and applyInitialValue methods only.
25825        This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
25826        
25827        Added ApplyPropertyWidth class for handling width based CSS properties.
25828        * css/CSSStyleSelector.cpp:
25829        Removed no-longer-required code for handling width based CSS properties.
25830        * css/CSSStyleSelector.h:
25831        Added a getter for m_rootElementStyle.
25832
258332011-04-28  Kent Tamura  <tkent@chromium.org>
25834
25835        Run sort-Xcode-project-file.
25836
25837        * WebCore.xcodeproj/project.pbxproj:
25838
258392011-04-28  Martin Robinson  <mrobinson@igalia.com>
25840
25841        Reviewed by Dirk Schulze.
25842
25843        [Cairo] Text underline is not shadowed when text-shadow is enabled
25844        https://bugs.webkit.org/show_bug.cgi?id=48074
25845
25846        Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
25847        of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
25848        originally copied from the CG GraphicsContext.
25849
25850        * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
25851          can call it from a static helper function.
25852        * platform/graphics/cairo/GraphicsContextCairo.cpp:
25853        (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
25854        (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
25855        call it multiple times when shadowing text underlines.
25856        (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
25857        (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
25858        (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.
25859
258602011-04-28  Sam Weinig  <sam@webkit.org>
25861
25862        Rubber-stamped by Mark Rowe.
25863
25864        Cleanup WebCore.xcodeproj a bit.
25865
25866        * WebCore.xcodeproj/project.pbxproj:
25867        Added CompilerVersion.xcconfig and moved some JS bindings files into the
25868        correct sub groups.
25869
258702011-04-28  David Levin  <levin@chromium.org>
25871
25872        Reviewed by Adam Barth.
25873
25874        Remove IMAGE_RESIZER related code.
25875        https://bugs.webkit.org/show_bug.cgi?id=59735
25876
25877        * CMakeLists.txt:
25878        * Configurations/FeatureDefines.xcconfig:
25879        * GNUmakefile.am:
25880        * GNUmakefile.list.am:
25881        * WebCore.gypi:
25882        * WebCore.pro:
25883        * WebCore.vcproj/WebCore.vcproj:
25884        * WebCore.xcodeproj/project.pbxproj:
25885        * features.pri:
25886        * html/AsyncImageResizer.cpp: Removed.
25887        * html/AsyncImageResizer.h: Removed.
25888        * html/ImageResizerThread.cpp: Removed.
25889        * html/ImageResizerThread.h: Removed.
25890
258912011-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
25892
25893        Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.
25894
25895        * inspector/front-end/Settings.js:
25896        (WebInspector.Settings):
25897
258982011-04-28  Beth Dakin  <bdakin@apple.com>
25899
25900        Rubber-stamped by Sam Weinig.
25901
25902        Rolling out revision 85258! I want to fix that bug a different way.
25903        * platform/mac/ScrollbarThemeMac.mm:
25904        (WebCore::ScrollbarThemeMac::paint):
25905
259062011-04-28  Chang Shu  <cshu@webkit.org>
25907
25908        Reviewed by Eric Seidel.
25909
25910        isContentEditable is not working properly with document.designMode
25911        https://bugs.webkit.org/show_bug.cgi?id=53031
25912
25913        The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
25914        indicates that the element.isContentEditable relies on document.designMode if its
25915        and its ancestors' contenteditable attributes are set to inherit.
25916
25917        1. Sync document render style after document.designMode is changed.
25918        2. Removed the code that does unnecessary and incorrect handling for contenteditable
25919        attribute with "inherit" value.
25920        3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.
25921
25922        Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
25923               fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
25924               fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
25925               fast/dom/HTMLElement/iscontenteditable-designmodeon.html
25926
25927        * css/CSSStyleSelector.cpp:
25928        (WebCore::CSSStyleSelector::styleForDocument):
25929        * dom/Document.cpp:
25930        (WebCore::Document::setDesignMode):
25931        * dom/Node.cpp:
25932        (WebCore::Node::rendererIsEditable):
25933        * editing/ApplyStyleCommand.cpp:
25934        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
25935        * html/HTMLElement.cpp:
25936        (WebCore::HTMLElement::setContentEditable):
25937
259382011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
25939
25940        Unreviewed, rolling out r85101.
25941        http://trac.webkit.org/changeset/85101
25942        https://bugs.webkit.org/show_bug.cgi?id=59757
25943
25944         it'd be better to rollout the patch and do another one with
25945        another property name. Current one will bring us to a problem
25946        at first run after upgrade because it's type was changed from
25947        int to string. (Requested by loislo on #webkit).
25948
25949        * inspector/front-end/ScriptsPanel.js:
25950        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
25951        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
25952        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
25953
259542011-04-28  Mike Reed  <reed@google.com>
25955
25956        Reviewed by Eric Seidel.
25957
25958        fix shadw behavior for both CSS and Canvas -- skia only
25959        https://bugs.webkit.org/show_bug.cgi?id=59700
25960
25961        Test:
25962        canvas/philip/tests/2d.shadow.alpha.3.html
25963        canvas/philip/tests/2d.shadow.alpha.4.html
25964        canvas/philip/tests/2d.shadow.alpha.5.html
25965        fast/canvas/canvas-fillPath-alpha-shadow.html
25966        fast/canvas/canvas-strokePath-alpha-shadow.html
25967        fast/canvas/canvas-strokeRect-alpha-shadow.html
25968        fast/css/text-input-with-webkit-border-radius.html
25969        fast/repaint/shadow-multiple-horizontal.html
25970        fast/repaint/shadow-multiple-strict-horizontal.html
25971        fast/repaint/shadow-multiple-strict-vertical.html
25972        fast/repaint/shadow-multiple-vertical.html
25973        fast/canvas/canvas-getImageData.html
25974
25975        * platform/graphics/chromium/FontChromiumWin.cpp:
25976        (WebCore::Font::drawGlyphs):
25977        * platform/graphics/skia/GraphicsContextSkia.cpp:
25978        (WebCore::GraphicsContext::setPlatformShadow):
25979
259802011-04-28  David Kilzer  <ddkilzer@apple.com>
25981
25982        <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper
25983
25984        Reviewed by Chris Fleizach.
25985
25986        Previously, AXObjectCache::attachWrapper over-retained each
25987        AccessibilityObjectWrapper it created, which is why
25988        AXObjectCache::detachWrapper() contained an extra -release.
25989
25990        * accessibility/mac/AXObjectCacheMac.mm:
25991        (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
25992        (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
25993        assigns to a RetainPtr<> instance variable, it doesn't need a +1
25994        retained object passed in.  Fix the leak by using a RetainPtr<>
25995        for the AccessibilityObjectWrapper.
25996
259972011-04-28  Nat Duca  <nduca@chromium.org>
25998
25999        Reviewed by Darin Fisher.
26000
26001        [chromium] Compute compositor fps value and history using the frameBegin timestamp
26002        https://bugs.webkit.org/show_bug.cgi?id=59668
26003
26004        This change switches the compositor FPS meter to use the timestamp
26005        of the beginning of the frame rather than the time we call
26006        swapBuffers. When scheduling is correctly tied to vsync, we can
26007        have highly variable times when we finish vsync and still have
26008        stable frame rates.
26009
26010        * platform/graphics/chromium/LayerRendererChromium.cpp:
26011        (WebCore::LayerRendererChromium::updateAndDrawLayers):
26012        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
26013        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
26014        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
26015        (WebCore::CCHeadsUpDisplay::onFrameBegin):
26016        (WebCore::CCHeadsUpDisplay::onPresent):
26017        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
26018
260192011-04-28  Beth Dakin  <bdakin@apple.com>
26020
26021        Reviewed by Darin Adler.
26022
26023        https://bugs.webkit.org/show_bug.cgi?id=59759
26024        Overflow:scroll regions with overlay scrollbars show full thumb instead of just a 
26025        track when there is nothing to scroll to
26026        <rdar://problem/9282066>
26027
26028        Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is 
26029        nothing to scroll to. Just dividing them to get a knob proportion yields 1, which 
26030        is not right. Set the proportion to 0 in this case instead.
26031        * platform/mac/ScrollbarThemeMac.mm:
26032        (WebCore::ScrollbarThemeMac::paint):
26033
260342011-04-28  Dan Bernstein  <mitz@apple.com>
26035
26036        Reviewed by Simon Fraser.
26037
26038        <rdar://problem/9291132> Add support for -epub-prefixed properties
26039
26040        Test: fast/css/epub-properties.html
26041
26042        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26043        (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
26044        * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
26045        -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
26046        text-transform, text-transform, word-break, and -webkit-writing-mode.
26047
260482011-04-28  Adam Barth  <abarth@webkit.org>
26049
26050        Reviewed by Eric Seidel.
26051
26052        Remove WML
26053        https://bugs.webkit.org/show_bug.cgi?id=59678
26054
26055        This patch removes WML from WebCore.  After removing WML, there's a
26056        bunch of twisted code that could be untwisted, but this patch contains
26057        only the purely mechanical part of removing the feature.
26058
26059        There's been a lot of discussion on webkit-dev about whether we should
26060        remove WML.  In addition to those threads, we've had an informal poll
26061        of the reviewers as well as an in-person discussion at the WebKit
26062        contributor's meeting.  Removing any feature is likely to make some
26063        folks unhappy, but, on balance, removing WML appears to be the right
26064        thing for the project to do at this time.
26065
26066        * CMakeLists.txt:
26067        * CodeGenerators.pri:
26068        * Configurations/FeatureDefines.xcconfig:
26069        * DerivedSources.cpp:
26070        * DerivedSources.make:
26071        * GNUmakefile.am:
26072        * GNUmakefile.list.am:
26073        * WebCore.gyp/WebCore.gyp:
26074        * WebCore.gypi:
26075        * WebCore.pro:
26076        * WebCore.vcproj/WebCore.vcproj:
26077        * WebCore.xcodeproj/project.pbxproj:
26078        * css/CSSStyleSelector.cpp:
26079        (WebCore::linkAttribute):
26080        (WebCore::CSSStyleSelector::styleForElement):
26081        (WebCore::CSSStyleSelector::adjustRenderStyle):
26082        * css/wml.css: Removed.
26083        * dom/DOMImplementation.cpp:
26084        (WebCore::DOMImplementation::createDocument):
26085        * dom/Document.cpp:
26086        (WebCore::Document::Document):
26087        (WebCore::Document::createElement):
26088        * dom/Document.h:
26089        (WebCore::Document::isMediaDocument):
26090        * dom/Document.idl:
26091        * dom/InputElement.h:
26092        * dom/Node.cpp:
26093        (WebCore::Node::toInputElement):
26094        * dom/Node.h:
26095        * dom/OptionElement.cpp:
26096        (WebCore::toOptionElement):
26097        (WebCore::isOptionElement):
26098        * dom/OptionElement.h:
26099        * dom/OptionGroupElement.cpp:
26100        (WebCore::toOptionGroupElement):
26101        (WebCore::isOptionGroupElement):
26102        * dom/SelectElement.cpp:
26103        (WebCore::toSelectElement):
26104        * dom/SelectElement.h:
26105        * dom/Text.cpp:
26106        (WebCore::Text::attach):
26107        * dom/XMLDocumentParser.cpp:
26108        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
26109        * dom/XMLDocumentParser.h:
26110        * dom/XMLDocumentParserLibxml2.cpp:
26111        (WebCore::XMLDocumentParser::internalSubset):
26112        (WebCore::getEntityHandler):
26113        * dom/XMLDocumentParserQt.cpp:
26114        (WebCore::XMLDocumentParser::parse):
26115        (WebCore::XMLDocumentParser::parseDtd):
26116        * editing/htmlediting.cpp:
26117        (WebCore::canHaveChildrenForEditing):
26118        * features.pri:
26119        * history/BackForwardList.h:
26120        * history/BackForwardListImpl.cpp:
26121        * history/BackForwardListImpl.h:
26122        * history/PageCache.cpp:
26123        (WebCore::PageCache::canCachePageContainingThisFrame):
26124        * html/HTMLAnchorElement.h:
26125        * inspector/ConsoleMessage.cpp:
26126        (WebCore::messageSourceValue):
26127        * inspector/front-end/ConsoleView.js:
26128        (WebInspector.ConsoleMessage.prototype.toString):
26129        * loader/FrameLoader.cpp:
26130        (WebCore::isBackForwardLoadType):
26131        (WebCore::FrameLoader::transitionToCommitted):
26132        (WebCore::FrameLoader::shouldReload):
26133        (WebCore::FrameLoader::loadDifferentDocumentItem):
26134        (WebCore::FrameLoader::loadItem):
26135        * loader/FrameLoaderTypes.h:
26136        * loader/HistoryController.cpp:
26137        (WebCore::HistoryController::restoreDocumentState):
26138        * manual-tests/wml: Removed.
26139        * manual-tests/wml/StartTests.wml: Removed.
26140        * manual-tests/wml/a-br-element.wml: Removed.
26141        * manual-tests/wml/a-element.wml: Removed.
26142        * manual-tests/wml/a-img-element.wml: Removed.
26143        * manual-tests/wml/access-target.wml: Removed.
26144        * manual-tests/wml/anchor-br-element.wml: Removed.
26145        * manual-tests/wml/anchor-element.wml: Removed.
26146        * manual-tests/wml/anchor-img-element.wml: Removed.
26147        * manual-tests/wml/card-newcontext-attr.wml: Removed.
26148        * manual-tests/wml/card-onenterbackward.wml: Removed.
26149        * manual-tests/wml/card-onenterforward.wml: Removed.
26150        * manual-tests/wml/card-ontimer.wml: Removed.
26151        * manual-tests/wml/deck-access-control.wml: Removed.
26152        * manual-tests/wml/input-format.wml: Removed.
26153        * manual-tests/wml/onevent-go.wml: Removed.
26154        * manual-tests/wml/onevent-noop.wml: Removed.
26155        * manual-tests/wml/onevent-prev.wml: Removed.
26156        * manual-tests/wml/onevent-refresh.wml: Removed.
26157        * manual-tests/wml/onevent-shadow.wml: Removed.
26158        * manual-tests/wml/resources: Removed.
26159        * manual-tests/wml/resources/smiley.png: Removed.
26160        * manual-tests/wml/select-element.wml: Removed.
26161        * manual-tests/wml/select-onpick-event-crash.wml: Removed.
26162        * manual-tests/wml/select-onpick-event.wml: Removed.
26163        * manual-tests/wml/setvar-element.wml: Removed.
26164        * manual-tests/wml/targetdeck.wml: Removed.
26165        * manual-tests/wml/task-go-in-anchor.wml: Removed.
26166        * manual-tests/wml/task-prev-in-anchor.wml: Removed.
26167        * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
26168        * manual-tests/wml/template-go.wml: Removed.
26169        * manual-tests/wml/template-ontimer.wml: Removed.
26170        * manual-tests/wml/timer.wml: Removed.
26171        * manual-tests/wml/variable-substitution.wml: Removed.
26172        * page/Console.cpp:
26173        (WebCore::printMessageSourceAndLevelPrefix):
26174        * page/Console.h:
26175        * page/Frame.cpp:
26176        (WebCore::Frame::Frame):
26177        * page/Page.cpp:
26178        * page/Page.h:
26179        * platform/MIMETypeRegistry.cpp:
26180        (WebCore::initializeSupportedNonImageMimeTypes):
26181        * platform/network/FormDataBuilder.h:
26182        * platform/network/mac/ResourceHandleMac.mm:
26183        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
26184        * platform/wince/MIMETypeRegistryWinCE.cpp:
26185        (WebCore::initMIMETypeEntensionMap):
26186        * rendering/HitTestResult.cpp:
26187        (WebCore::HitTestResult::altDisplayString):
26188        (WebCore::HitTestResult::absoluteImageURL):
26189        (WebCore::HitTestResult::absoluteLinkURL):
26190        (WebCore::HitTestResult::isLiveLink):
26191        * rendering/RenderBox.cpp:
26192        * rendering/RenderButton.cpp:
26193        (WebCore::RenderButton::updateFromElement):
26194        * rendering/RenderFieldset.cpp:
26195        (WebCore::RenderFieldset::findLegend):
26196        * rendering/RenderImage.cpp:
26197        (WebCore::RenderImage::updateAltText):
26198        * rendering/RenderObject.cpp:
26199        (WebCore::RenderObject::isLegend):
26200        (WebCore::RenderObject::offsetParent):
26201        * wml: Removed.
26202        * wml/WMLAElement.cpp: Removed.
26203        * wml/WMLAElement.h: Removed.
26204        * wml/WMLAccessElement.cpp: Removed.
26205        * wml/WMLAccessElement.h: Removed.
26206        * wml/WMLAnchorElement.cpp: Removed.
26207        * wml/WMLAnchorElement.h: Removed.
26208        * wml/WMLAttributeNames.in: Removed.
26209        * wml/WMLBRElement.cpp: Removed.
26210        * wml/WMLBRElement.h: Removed.
26211        * wml/WMLCardElement.cpp: Removed.
26212        * wml/WMLCardElement.h: Removed.
26213        * wml/WMLDoElement.cpp: Removed.
26214        * wml/WMLDoElement.h: Removed.
26215        * wml/WMLDocument.cpp: Removed.
26216        * wml/WMLDocument.h: Removed.
26217        * wml/WMLElement.cpp: Removed.
26218        * wml/WMLElement.h: Removed.
26219        * wml/WMLErrorHandling.cpp: Removed.
26220        * wml/WMLErrorHandling.h: Removed.
26221        * wml/WMLEventHandlingElement.cpp: Removed.
26222        * wml/WMLEventHandlingElement.h: Removed.
26223        * wml/WMLFieldSetElement.cpp: Removed.
26224        * wml/WMLFieldSetElement.h: Removed.
26225        * wml/WMLFormControlElement.cpp: Removed.
26226        * wml/WMLFormControlElement.h: Removed.
26227        * wml/WMLGoElement.cpp: Removed.
26228        * wml/WMLGoElement.h: Removed.
26229        * wml/WMLImageElement.cpp: Removed.
26230        * wml/WMLImageElement.h: Removed.
26231        * wml/WMLImageLoader.cpp: Removed.
26232        * wml/WMLImageLoader.h: Removed.
26233        * wml/WMLInputElement.cpp: Removed.
26234        * wml/WMLInputElement.h: Removed.
26235        * wml/WMLInsertedLegendElement.cpp: Removed.
26236        * wml/WMLInsertedLegendElement.h: Removed.
26237        * wml/WMLIntrinsicEvent.cpp: Removed.
26238        * wml/WMLIntrinsicEvent.h: Removed.
26239        * wml/WMLIntrinsicEventHandler.cpp: Removed.
26240        * wml/WMLIntrinsicEventHandler.h: Removed.
26241        * wml/WMLMetaElement.cpp: Removed.
26242        * wml/WMLMetaElement.h: Removed.
26243        * wml/WMLNoopElement.cpp: Removed.
26244        * wml/WMLNoopElement.h: Removed.
26245        * wml/WMLOnEventElement.cpp: Removed.
26246        * wml/WMLOnEventElement.h: Removed.
26247        * wml/WMLOptGroupElement.cpp: Removed.
26248        * wml/WMLOptGroupElement.h: Removed.
26249        * wml/WMLOptionElement.cpp: Removed.
26250        * wml/WMLOptionElement.h: Removed.
26251        * wml/WMLPElement.cpp: Removed.
26252        * wml/WMLPElement.h: Removed.
26253        * wml/WMLPageState.cpp: Removed.
26254        * wml/WMLPageState.h: Removed.
26255        * wml/WMLPostfieldElement.cpp: Removed.
26256        * wml/WMLPostfieldElement.h: Removed.
26257        * wml/WMLPrevElement.cpp: Removed.
26258        * wml/WMLPrevElement.h: Removed.
26259        * wml/WMLRefreshElement.cpp: Removed.
26260        * wml/WMLRefreshElement.h: Removed.
26261        * wml/WMLSelectElement.cpp: Removed.
26262        * wml/WMLSelectElement.h: Removed.
26263        * wml/WMLSetvarElement.cpp: Removed.
26264        * wml/WMLSetvarElement.h: Removed.
26265        * wml/WMLTableElement.cpp: Removed.
26266        * wml/WMLTableElement.h: Removed.
26267        * wml/WMLTagNames.in: Removed.
26268        * wml/WMLTaskElement.cpp: Removed.
26269        * wml/WMLTaskElement.h: Removed.
26270        * wml/WMLTemplateElement.cpp: Removed.
26271        * wml/WMLTemplateElement.h: Removed.
26272        * wml/WMLTimerElement.cpp: Removed.
26273        * wml/WMLTimerElement.h: Removed.
26274        * wml/WMLVariables.cpp: Removed.
26275        * wml/WMLVariables.h: Removed.
26276
262772011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
26278
26279        Unreviewed, rolling out r85233 and r85235.
26280        http://trac.webkit.org/changeset/85233
26281        http://trac.webkit.org/changeset/85235
26282        https://bugs.webkit.org/show_bug.cgi?id=59754
26283
26284        Causes issues with jsc. (Requested by dave_levin on #webkit).
26285
26286        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
26287        * loader/icon/IconDatabase.cpp:
26288        (WebCore::IconDatabase::defaultIcon):
26289        (WebCore::IconDatabase::setIconDataForIconURL):
26290        (WebCore::IconDatabase::getOrCreateIconRecord):
26291        (WebCore::IconDatabase::readFromDatabase):
26292
262932011-04-28  Jay Civelli  <jcivelli@chromium.org>
26294
26295        Reviewed by Adam Barth.
26296
26297        Introducing a new class that allows serialization of a page back
26298        to HTML/XML with all its sub-frames and also retrieves the page's
26299        resources.
26300        Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
26301        https://bugs.webkit.org/show_bug.cgi?id=58947
26302
26303        * Android.mk:
26304        * CMakeLists.txt:
26305        * GNUmakefile.list.am:
26306        * WebCore.gypi:
26307        * WebCore.pro:
26308        * WebCore.vcproj/WebCore.vcproj:
26309        * dom/Document.cpp:
26310        (WebCore::Document::suggestedMIMEType):
26311        * dom/Document.h:
26312        * editing/MarkupAccumulator.cpp:
26313        (WebCore::MarkupAccumulator::appendCustomAttributes):
26314        (WebCore::MarkupAccumulator::appendElement):
26315        * editing/MarkupAccumulator.h:
26316        * html/parser/HTMLMetaCharsetParser.cpp:
26317        (WebCore::HTMLMetaCharsetParser::processMeta):
26318        (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
26319        * html/parser/HTMLMetaCharsetParser.h:
26320        * page/PageSerializer.cpp: Added.
26321        * page/PageSerializer.h: Added.
26322
263232011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
26324
26325        Reviewed by Tony Chang.
26326
26327        IndexedDB createIndex should fail if name arg is null
26328        https://bugs.webkit.org/show_bug.cgi?id=58365
26329
26330        Test: storage/indexeddb/mozilla/create-index-null-name.html
26331
26332        * storage/IDBObjectStore.idl:
26333        * storage/IDBObjectStoreBackendImpl.cpp:
26334        (WebCore::IDBObjectStoreBackendImpl::createIndex):
26335
263362011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
26337
26338        Reviewed by Tony Chang.
26339
26340        IndexedDB put() should fail if second (key) parameter is null
26341        https://bugs.webkit.org/show_bug.cgi?id=58613
26342
26343        If key arg is not specified, prpKey ends up as a null pointer in ::put().
26344        However, if the key arg is specified but is null, prpKey ends up as a
26345        valid IDBKey which has a null key type. As it happens, we need to be able
26346        to detect the difference between these cases (the key arg is optional but
26347        if specified must not be null).
26348
26349        Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html
26350
26351        * storage/IDBObjectStoreBackendImpl.cpp:
26352        (WebCore::IDBObjectStoreBackendImpl::put):
26353
263542011-04-07  David Levin  <levin@chromium.org>
26355
26356        Reviewed by Darin Adler.
26357
26358        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
26359        https://bugs.webkit.org/show_bug.cgi?id=31639
26360
26361        No new functionality exposed so no new tests. (The change is basically adding
26362        more testing.)
26363
26364        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
26365        * loader/icon/IconDatabase.cpp:
26366        (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
26367        (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
26368        (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
26369        (WebCore::IconDatabase::readFromDatabase): Ditto.
26370
263712011-04-28  Kenneth Russell  <kbr@google.com>
26372
26373        Unreviewed build fix for Web Audio with strict OwnPtr.
26374
26375        * platform/audio/HRTFDatabaseLoader.cpp:
26376        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
26377
263782011-04-28  Dominic Cooney  <dominicc@chromium.org>
26379
26380        Reviewed by Geoffrey Garen.
26381
26382        Walk shadow hosts as well as parent nodes when finding opaque roots.
26383        https://bugs.webkit.org/show_bug.cgi?id=59571
26384
26385        Test: fast/dom/shadow/gc-shadow.html
26386
26387        * bindings/js/JSDOMBinding.h:
26388        (WebCore::root):
26389
263902011-04-28  Martin Robinson  <mrobinson@igalia.com>
26391
26392        Reviewed by Xan Lopez.
26393
26394        [GTK] Click counting logic should be shared between WebKit1 and WebKit2
26395        https://bugs.webkit.org/show_bug.cgi?id=59715
26396
26397        Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
26398        into WebCore so that WebKit1 and WebKit2 can share the code.
26399
26400        No new tests. This is covered by fast/events/click-count.html.
26401
26402        * GNUmakefile.list.am: Added new files.
26403        * platform/gtk/GtkClickCounter.cpp: Added.
26404        (WebCore::GtkClickCounter::GtkClickCounter): Added.
26405        (WebCore::GtkClickCounter::reset): Added.
26406        (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
26407        (WebCore::getEventTime): Added.
26408        (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
26409        * platform/gtk/GtkClickCounter.h: Added.
26410
264112011-04-28  Dan Bernstein  <mitz@apple.com>
26412
26413        Build fix.
26414
26415        * css/CSSParser.cpp:
26416        (WebCore::cssPropertyID):
26417
264182011-04-28  Dan Bernstein  <mitz@apple.com>
26419
26420        Reviewed by Simon Fraser.
26421
26422        Allow specifying CSS property aliases in CSSPropertyNames.in files
26423        https://bugs.webkit.org/show_bug.cgi?id=59712
26424
26425        * css/CSSParser.cpp:
26426        (WebCore::cssPropertyID): Removed code to handle some aliases
26427        * css/CSSPropertyNames.in: Added aliases no longer handled in code.
26428        * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
26429        defining an alias, and add an appropriate entry to the gperf file.
26430
264312011-04-28  Arno Renevier  <arno@renevier.net>
26432
26433        Reviewed by Gustavo Noronha Silva.
26434
26435        [Soup] does not load css stylesheets without content-type
26436        https://bugs.webkit.org/show_bug.cgi?id=59697
26437
26438        When sniffing content type, do not replace http Content-Type header in
26439        soup message anymore, but keep sniffed content type in a separate
26440        variable.
26441
26442        * platform/network/soup/ResourceHandleSoup.cpp:
26443        (WebCore::contentSniffedCallback):
26444        * platform/network/soup/ResourceResponse.h:
26445        (WebCore::ResourceResponse::sniffedContentType):
26446        (WebCore::ResourceResponse::setSniffedContentType):
26447        * platform/network/soup/ResourceResponseSoup.cpp:
26448        (WebCore::ResourceResponse::updateFromSoupMessage):
26449
264502011-04-28  Yael Aharon  <yael.aharon@nokia.com>
26451
26452        Reviewed by Andreas Kling.
26453
26454        Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
26455        https://bugs.webkit.org/show_bug.cgi?id=59704
26456
26457        No new tests, just code cleanup.
26458
26459        * WebCore.pri:
26460
264612011-04-28  Pavel Podivilov  <podivilov@chromium.org>
26462
26463        Reviewed by Pavel Feldman.
26464
26465        Web Inspector: remove "Pretty print" source frame context menu item.
26466        https://bugs.webkit.org/show_bug.cgi?id=59709
26467
26468        * inspector/front-end/DebuggerPresentationModel.js:
26469        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
26470        * inspector/front-end/ScriptsPanel.js:
26471        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
26472        * inspector/front-end/SourceFrame.js:
26473        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
26474
264752011-04-28  Satish Sampath  <satish@chromium.org>
26476
26477        Reviewed by Tony Gentilcore.
26478
26479        Speech input button layout issues with padding and border.
26480        https://bugs.webkit.org/show_bug.cgi?id=59613
26481
26482        * rendering/RenderTextControlSingleLine.cpp:
26483        (WebCore::RenderTextControlSingleLine::layout):
26484        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
26485        (WebCore::RenderTextControlSingleLine::forwardEvent):
26486
264872011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
26488
26489        Reviewed by Martin Robinson.
26490
26491        [GTK] Check whether to use native scrollbars at run time
26492        https://bugs.webkit.org/show_bug.cgi?id=59694
26493
26494        It's currently decided at build time depending on whether webkit2
26495        build is enabled or not. That makes imposible to build both
26496        webkit1 and webkit2 using the same libWebCore.
26497
26498        * GNUmakefile.am:
26499        * platform/ScrollView.cpp:
26500        (WebCore::ScrollView::wheelEvent):
26501        * platform/gtk/ScrollViewGtk.cpp:
26502        (WebCore::ScrollView::createScrollbar):
26503
265042011-04-28  Pavel Feldman  <pfeldman@google.com>
26505
26506        Reviewed by Yury Semikhatsky.
26507
26508        Web Inspector: add status bar button for pretty print.
26509        https://bugs.webkit.org/show_bug.cgi?id=59467
26510
26511        * WebCore.gypi:
26512        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
26513        * inspector/front-end/ScriptsPanel.js:
26514        (WebInspector.ScriptsPanel):
26515        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
26516        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
26517        * inspector/front-end/WebKit.qrc:
26518        * inspector/front-end/inspector.css:
26519        (.scripts-toggle-pretty-print-status-bar-item .glyph):
26520        (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):
26521
265222011-04-28  Pavel Feldman  <pfeldman@google.com>
26523
26524        Reviewed by Yury Semikhatsky.
26525
26526        Web Inspector: add ResourceTreeModel tests.
26527        https://bugs.webkit.org/show_bug.cgi?id=59616
26528
26529        Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
26530               http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
26531               http/tests/inspector/resource-tree/resource-tree-reload.html
26532
26533        * inspector/front-end/ResourceTreeModel.js:
26534        (WebInspector.ResourceTreeModel.prototype.frontendReused):
26535        (WebInspector.ResourceTreeModel.prototype._addFrame):
26536        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
26537        (WebInspector.ResourceTreeModel.prototype._frameDetached):
26538        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
26539        (WebInspector.ResourceTreeModel.prototype.forAllResources):
26540        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
26541        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
26542        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
26543        * inspector/front-end/ResourcesPanel.js:
26544        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
26545        (WebInspector.ResourcesPanel.prototype._frameAdded):
26546        (WebInspector.ResourcesPanel.prototype._frameDetached):
26547        (WebInspector.ResourcesPanel.prototype._frameNavigated):
26548        (WebInspector.FrameTreeElement):
26549        (WebInspector.FrameTreeElement.prototype.frameNavigated):
26550
265512011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
26552
26553        Reviewed by Yury Semikhatsky.
26554
26555        WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
26556        https://bugs.webkit.org/show_bug.cgi?id=59592
26557
26558        * inspector/front-end/DetailedHeapshotGridNodes.js:
26559        (WebInspector.HeapSnapshotGridNode.prototype._populate):
26560        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
26561        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
26562        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
26563        * inspector/front-end/DetailedHeapshotView.js:
26564        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
26565        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
26566        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
26567        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
26568        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
26569        (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
26570        (WebInspector.DetailedHeapshotView.prototype.changeView):
26571        * inspector/front-end/HeapSnapshot.js:
26572        (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
26573        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
26574        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
26575        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
26576        (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
26577        * inspector/front-end/heapProfiler.css:
26578        (div.retaining-paths-view td.path-column div:hover):
26579
265802011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
26581
26582        Reviewed by Yury Semikhatsky.
26583
26584        Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
26585        https://bugs.webkit.org/show_bug.cgi?id=59454
26586
26587        Test: inspector/profiler/heap-snapshot-loader.html
26588
26589        * inspector/front-end/HeapSnapshot.js:
26590        (WebInspector.HeapSnapshotLoader):
26591        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
26592        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
26593        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
26594        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
26595        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
26596        * inspector/front-end/HeapSnapshotProxy.js:
26597        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
26598
265992011-04-28  ojab  <ojab@ojab.ru>
26600
26601        Reviewed by David Levin.
26602
26603        Fix build with libpng-1.5.1
26604        https://bugs.webkit.org/show_bug.cgi?id=59607
26605
26606        * platform/image-decoders/png/PNGImageDecoder.cpp:
26607        (WebCore::readColorProfile):
26608
266092011-04-28  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
26610
26611        Reviewed by Nikolas Zimmermann.
26612
26613        Optimizing gaussian blur filter to ARM-neon SIMD instruction set
26614        https://bugs.webkit.org/show_bug.cgi?id=59447
26615
26616        This patch contains two sub-routines, one for speeding up
26617        alpha channel only gaussian blur (by 2.5 times) and one
26618        for speeding up all channel blur (by 4 times).
26619
26620        The common code is also redesigned to better fit for platform
26621        specific code. This means large chunks of code was moved to
26622        different files, and all platform specific files are added to
26623        all build systems.
26624
26625        * CMakeLists.txt:
26626        * GNUmakefile.am:
26627        * GNUmakefile.list.am:
26628        * WebCore.gypi:
26629        * WebCore.pro:
26630        * WebCore.vcproj/WebCore.vcproj:
26631        * WebCore.vcproj/WebCoreCommon.vsprops:
26632        * WebCore.xcodeproj/project.pbxproj:
26633        * platform/graphics/filters/FEGaussianBlur.cpp:
26634        (WebCore::FEGaussianBlur::platformApplyGeneric):
26635        (WebCore::FEGaussianBlur::apply):
26636        * platform/graphics/filters/FEGaussianBlur.h:
26637        (WebCore::FEGaussianBlur::kernelPosition):
26638        (WebCore::FEGaussianBlur::platformApply):
26639        * platform/graphics/filters/FELighting.cpp:
26640        (WebCore::FELighting::platformApplyGeneric):
26641        (WebCore::FELighting::drawLighting):
26642        * platform/graphics/filters/FELighting.h:
26643        (WebCore::FELighting::platformApply):
26644        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
26645        (WebCore::WTF_ALIGNED):
26646        (WebCore::feGaussianBlurConstantsForNeon):
26647        * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
26648        (WebCore::FEGaussianBlur::platformApplyNeon):
26649        * platform/graphics/filters/arm/FELightingNEON.cpp:
26650        (WebCore::WTF_ALIGNED):
26651        (WebCore::FELighting::getPowerCoefficients):
26652        * platform/graphics/filters/arm/FELightingNEON.h:
26653        (WebCore::FELighting::platformApplyNeon):
26654
266552011-04-28  Alexander Pavlov  <apavlov@chromium.org>
26656
26657        Reviewed by Yury Semikhatsky.
26658
26659        Web Inspector: provide a hotkey for script pause
26660        https://bugs.webkit.org/show_bug.cgi?id=59593
26661
26662        In fact, F8 works as a hotkey, but this fact was not reflected
26663        in the shortcut help popup.
26664
26665        * English.lproj/localizedStrings.js:
26666        * inspector/front-end/ScriptsPanel.js:
26667        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
26668
266692011-04-28  Adam Barth  <abarth@webkit.org>
26670
26671        Reviewed by Eric Seidel.
26672
26673        PluginStream should play nice with strict OwnPtr
26674        https://bugs.webkit.org/show_bug.cgi?id=59675
26675
26676        These failures appear when enabling strict OwnPtr on Qt.
26677
26678        * plugins/PluginStream.cpp:
26679        (WebCore::PluginStream::PluginStream):
26680        (WebCore::PluginStream::didReceiveData):
26681
266822011-04-26  Alexander Pavlov  <apavlov@chromium.org>
26683
26684        Reviewed by Pavel Feldman.
26685
26686        Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
26687        https://bugs.webkit.org/show_bug.cgi?id=59326
26688
26689        Concrete CachedResource successors for stylesheets and scripts
26690        can decode their content better than the generic approach we use.
26691
26692        * inspector/InspectorPageAgent.cpp:
26693        (WebCore::decodeSharedBuffer):
26694        (WebCore::prepareCachedResourceBuffer):
26695        (WebCore::cachedResourceDecoded):
26696        (WebCore::InspectorPageAgent::resourceContent):
26697        (WebCore::InspectorPageAgent::resourceData):
26698        * inspector/InspectorStyleSheet.cpp:
26699        (WebCore::InspectorStyleSheet::originalStyleSheetText):
26700
267012011-04-28  Jon Lee  <jonlee@apple.com>
26702
26703        Reviewed by Simon Fraser.
26704
26705        REGRESSION: white overlay scrollbars on apple.com/startpage
26706        https://bugs.webkit.org/show_bug.cgi?id=59540
26707        <rdar://problem/9338653>
26708
26709        Now we look at the document background in addition to the <body> element,
26710        and blend those colors in with the base background of the frame view to
26711        arrive at our aggregate color. This provides a better result to determine
26712        overlay scrollbar style.
26713
26714        * page/Frame.cpp:
26715        (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
26716        * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation
26717
267182011-04-27  Adam Barth  <abarth@webkit.org>
26719
26720        Reviewed by Maciej Stachowiak.
26721
26722        Fix OwnPtr issues in IndexedDB
26723        https://bugs.webkit.org/show_bug.cgi?id=59656
26724
26725        This patch is an attempt to fix the clang build.  Clang can't seem to
26726        cope with OwnPtrs to classes declared in an anonymous namespace because
26727        OwnPtr's copy constructor isn't defined (but would need to be defined
26728        in this translation unit).
26729
26730        * platform/leveldb/LevelDBDatabase.cpp:
26731
267322011-04-27  Ryuan Choi  <ryuan.choi@samsung.com>
26733
26734        Reviewed by Antonio Gomes.
26735
26736        [EFL] Change cursor to LAZY_NATIVE_CURSOR
26737        https://bugs.webkit.org/show_bug.cgi?id=59411
26738
26739        Enable LAZY_NATIVE_CURSOR on EFL build.
26740
26741        No test added because functionality is unchanged.
26742
26743        * CMakeListsEfl.txt: Add Cursor.cpp
26744        * platform/Cursor.h:
26745        (WebCore::Cursor::Cursor):
26746        * platform/efl/CursorEfl.cpp:
26747        (WebCore::Cursor::Cursor):
26748        (WebCore::Cursor::~Cursor):
26749        (WebCore::getCursorString):
26750        (WebCore::Cursor::ensurePlatformCursor):
26751        * platform/efl/WidgetEfl.cpp:
26752        (WebCore::Widget::setCursor):
26753
267542011-04-27  Adam Barth  <abarth@webkit.org>
26755
26756        Build fix from the future.  Another trival strict OwnPtr fixes.  This
26757        is the last futuristic build fix I can detect with my time traveling
26758        abilities.
26759
26760        * platform/graphics/chromium/TransparencyWin.cpp:
26761        (WebCore::TransparencyWin::initializeNewContext):
26762
267632011-04-27  Dmitry Lomov  <dslomov@google.com>
26764
26765        Reviewed by David Levin.
26766
26767        CrossThreadCopier should not have a default specialization for raw pointers
26768        https://bugs.webkit.org/show_bug.cgi?id=59234
26769        Removed the ablity to pass raw pointers cross-thread
26770        Added and applied annotations for doing that
26771
26772        * fileapi/FileReader.cpp:
26773        (WebCore::FileReader::readInternal):
26774        (WebCore::FileReader::abort):
26775        * fileapi/FileStreamProxy.cpp:
26776        (WebCore::FileStreamProxy::startOnFileThread):
26777        (WebCore::FileStreamProxy::stopOnFileThread):
26778        (WebCore::FileStreamProxy::getSize):
26779        (WebCore::FileStreamProxy::getSizeOnFileThread):
26780        (WebCore::FileStreamProxy::openForRead):
26781        (WebCore::FileStreamProxy::openForReadOnFileThread):
26782        (WebCore::FileStreamProxy::openForWrite):
26783        (WebCore::FileStreamProxy::openForWriteOnFileThread):
26784        (WebCore::FileStreamProxy::close):
26785        (WebCore::FileStreamProxy::read):
26786        (WebCore::FileStreamProxy::readOnFileThread):
26787        (WebCore::FileStreamProxy::write):
26788        (WebCore::FileStreamProxy::writeOnFileThread):
26789        (WebCore::FileStreamProxy::truncate):
26790        (WebCore::FileStreamProxy::truncateOnFileThread):
26791        * loader/WorkerThreadableLoader.cpp:
26792        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
26793        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
26794        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
26795        * page/GeolocationPositionCache.cpp:
26796        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
26797        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
26798        * platform/CrossThreadCopier.h:
26799        (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
26800        (WebCore::AllowCrossThreadAccessWrapper::value):
26801        (WebCore::AllowCrossThreadAccess):
26802        (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
26803        (WebCore::AllowExtendedLifetimeWrapper::value):
26804        (WebCore::AllowExtendedLifetime):
26805        * platform/graphics/chromium/cc/CCCompletionEvent.h:
26806        * storage/IDBObjectStoreBackendImpl.cpp:
26807        (WebCore::IDBObjectStoreBackendImpl::get):
26808        (WebCore::IDBObjectStoreBackendImpl::put):
26809        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
26810        (WebCore::IDBObjectStoreBackendImpl::clear):
26811        (WebCore::IDBObjectStoreBackendImpl::createIndex):
26812        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
26813        (WebCore::IDBObjectStoreBackendImpl::openCursor):
26814        * storage/SQLCallbackWrapper.h:
26815        (WebCore::SQLCallbackWrapper::clear):
26816        * websockets/WorkerThreadableWebSocketChannel.cpp:
26817        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
26818        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
26819        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
26820        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
26821        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
26822        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
26823        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
26824        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
26825        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
26826        * workers/WorkerMessagingProxy.cpp:
26827        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
26828
268292011-04-27  Adam Barth  <abarth@webkit.org>
26830
26831        Two build fixes from the future.  (Trivial strict OwnPtr fixes.)
26832
26833        * page/Frame.cpp:
26834        (WebCore::Frame::setTiledBackingStoreEnabled):
26835        * platform/audio/ReverbConvolver.cpp:
26836        (WebCore::ReverbConvolver::ReverbConvolver):
26837
268382011-04-27  Adam Barth  <abarth@webkit.org>
26839
26840        Reviewed by David Levin.
26841
26842        Fix five strict PassOwnPtr violations in WebCore
26843        https://bugs.webkit.org/show_bug.cgi?id=59640
26844
26845        * css/MediaList.cpp:
26846        (WebCore::MediaList::deleteMedium):
26847        (WebCore::MediaList::setMediaText):
26848        (WebCore::MediaList::appendMedium):
26849        * css/MediaQuery.h:
26850        * dom/MessagePort.cpp:
26851        (WebCore::MessagePort::disentanglePorts):
26852        (WebCore::MessagePort::entanglePorts):
26853        * inspector/InspectorStyleSheet.cpp:
26854        (ParsedStyleSheet::setText):
26855        * rendering/RenderTheme.cpp:
26856        (WebCore::RenderTheme::adjustStyle):
26857        (WebCore::RenderTheme::adjustMeterStyle):
26858        * rendering/RenderThemeMac.mm:
26859        (WebCore::RenderThemeMac::adjustMenuListStyle):
26860        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
26861        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
26862        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
26863        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
26864        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
26865        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
26866        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
26867
268682011-04-27  Chris Fleizach  <cfleizach@apple.com>
26869
26870        Reviewed by Beth Dakin.
26871
26872        <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
26873        https://bugs.webkit.org/show_bug.cgi?id=59648
26874
26875        Test: accessibility/aria-fallback-roles.html
26876
26877        * accessibility/AccessibilityObject.cpp:
26878        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
26879
268802011-04-27  Beth Dakin  <bdakin@apple.com>
26881
26882        Reviewed by Dan Bernstein.
26883
26884        https://bugs.webkit.org/show_bug.cgi?id=59671
26885        Race condition with scrollbar animations and closing a page can cause a crash in 
26886        WebCore::FrameView::setVisibleScrollerThumbRect + 15
26887        -and corresponding-
26888        <rdar://problem/9329253>
26889
26890        It is definitely possible for Page to be null here. So we should null-check it! 
26891        And we should not ASSERT.
26892        * page/FrameView.cpp:
26893        (WebCore::FrameView::didCompleteRubberBand):
26894        (WebCore::FrameView::scrollbarStyleChanged):
26895        (WebCore::FrameView::setVisibleScrollerThumbRect):
26896
268972011-04-27  Ryosuke Niwa  <rniwa@webkit.org>
26898
26899        WinCE build fix after r85143.
26900
26901        * platform/graphics/wince/FontWinCE.cpp:
26902        (WebCore::TextRunComponent::TextRunComponent):
26903
269042011-04-27  Mark Pilgrim  <pilgrim@chromium.org>
26905
26906        Reviewed by Tony Chang.
26907
26908        IndexedDB object store delete should fail if key is null
26909        https://bugs.webkit.org/show_bug.cgi?id=58614
26910
26911        Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html
26912
26913        * storage/IDBObjectStoreBackendImpl.cpp:
26914        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
26915
269162011-04-27  Eric Seidel  <eric@webkit.org>
26917
26918        Reviewed by Ryosuke Niwa.
26919
26920        Should have an easy way to construct starting BidiStatus for a paragraph root
26921        https://bugs.webkit.org/show_bug.cgi?id=59226
26922
26923        Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
26924        I've made this a constructor for BidiStatus instead.
26925
26926        As part of this effort I added a direction() accessor for TextRun and got
26927        rid of the old m_rtl bool.  This is part of the generic effort in the
26928        Bidi code to replace old bool usage with the superior TextDirection enum
26929        (this generally makes the code cleaner).
26930
26931        As part of this replacement effort I found several places which were
26932        assuming LTR (by passing rtl=false) when they probably want to use
26933        the current text direction.  I suspect that LTR vs. RTL may affect
26934        string width in the case of ligatures.  It's unclear.
26935
26936        This is almost entirely a mechanical change.
26937
26938        * html/canvas/CanvasRenderingContext2D.cpp:
26939        (WebCore::CanvasRenderingContext2D::drawTextInternal):
26940        * platform/graphics/GraphicsContext.cpp:
26941        (WebCore::GraphicsContext::drawBidiText):
26942        * platform/graphics/TextRun.h:
26943        (WebCore::TextRun::TextRun):
26944        (WebCore::TextRun::direction):
26945        (WebCore::TextRun::rtl):
26946        (WebCore::TextRun::ltr):
26947        (WebCore::TextRun::setDirection):
26948        * platform/text/BidiResolver.h:
26949        (WebCore::BidiStatus::BidiStatus):
26950        * rendering/EllipsisBox.cpp:
26951        (WebCore::EllipsisBox::paint):
26952        (WebCore::EllipsisBox::selectionRect):
26953        (WebCore::EllipsisBox::paintSelection):
26954        * rendering/InlineTextBox.cpp:
26955        (WebCore::InlineTextBox::selectionRect):
26956        (WebCore::InlineTextBox::paint):
26957        (WebCore::InlineTextBox::paintSelection):
26958        (WebCore::InlineTextBox::paintCompositionBackground):
26959        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
26960        (WebCore::InlineTextBox::paintTextMatchMarker):
26961        (WebCore::InlineTextBox::computeRectForReplacementMarker):
26962        (WebCore::InlineTextBox::offsetForPosition):
26963        (WebCore::InlineTextBox::positionForOffset):
26964        * rendering/RenderBlockLineLayout.cpp:
26965        (WebCore::RenderBlock::determineStartPosition):
26966        * rendering/RenderFileUploadControl.cpp:
26967        (WebCore::RenderFileUploadControl::paintObject):
26968        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
26969        * rendering/RenderListBox.cpp:
26970        (WebCore::RenderListBox::updateFromElement):
26971        (WebCore::RenderListBox::paintItemForeground):
26972        * rendering/RenderTextControl.cpp:
26973        (WebCore::RenderTextControl::getAvgCharWidth):
26974        (WebCore::RenderTextControl::paintPlaceholder):
26975        * rendering/svg/SVGInlineTextBox.cpp:
26976        (WebCore::SVGInlineTextBox::constructTextRun):
26977        * rendering/svg/SVGTextMetrics.cpp:
26978        (WebCore::constructTextRun):
26979
269802011-04-27  Robert Hogan  <robert@webkit.org>
26981
26982        Reviewed by Adam Barth.
26983
26984        Allow shadowing of history object
26985        https://bugs.webkit.org/show_bug.cgi?id=55965
26986
26987        Tests: http/tests/history/cross-origin-replace-history-object-child.html
26988               http/tests/history/cross-origin-replace-history-object.html
26989
26990        * page/DOMWindow.idl:
26991
269922011-04-27  James Robinson  <jamesr@chromium.org>
26993
26994        Reviewed by Kenneth Russell.
26995
26996        [chromium] Ensure compositing layers are up to date before entering doComposite
26997        https://bugs.webkit.org/show_bug.cgi?id=59159
26998
26999        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
27000        GraphicsLayerClient::paintContents() implementations).
27001
27002        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
27003        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
27004        * platform/graphics/chromium/LayerChromium.cpp:
27005        (WebCore::LayerChromium::LayerChromium):
27006        (WebCore::LayerChromium::~LayerChromium):
27007        * platform/graphics/chromium/LayerRendererChromium.cpp:
27008        (WebCore::LayerRendererChromium::updateLayers):
27009        * platform/graphics/chromium/LayerRendererChromium.h:
27010          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
27011
270122011-04-27  James Robinson  <jamesr@chromium.org>
27013
27014        Reviewed by Adam Barth.
27015
27016        Fix OwnPtr strict issues in chromium linux build
27017        https://bugs.webkit.org/show_bug.cgi?id=59664
27018
27019        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
27020        (WebCore::ComplexTextController::getNormalizedTextRun):
27021        * platform/graphics/skia/ImageBufferSkia.cpp:
27022        (WebCore::ImageBuffer::ImageBuffer):
27023        * platform/graphics/skia/PlatformContextSkia.cpp:
27024        (WebCore::PlatformContextSkia::PlatformContextSkia):
27025
270262011-04-27  Chris Rogers  <crogers@google.com>
27027
27028        Reviewed by Kenneth Russell.
27029
27030        Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
27031        https://bugs.webkit.org/show_bug.cgi?id=59641
27032
27033        No new tests since audio API is not yet implemented.
27034
27035        * platform/audio/AudioBus.cpp:
27036        (WebCore::AudioBus::createBySampleRateConverting):
27037        (WebCore::AudioBus::createByMixingToMono):
27038
270392011-04-27  Geoffrey Garen  <ggaren@apple.com>
27040
27041        Motivated by Alexey Proskuryakov.
27042
27043        * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
27044        informative, since it confused Alexey and me.
27045
270462011-04-27  Geoffrey Garen  <ggaren@apple.com>
27047
27048        Reviewed by Sam Weinig.
27049
27050        Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
27051        https://bugs.webkit.org/show_bug.cgi?id=59646
27052
27053        Made the cssValueRoots map per-world, instead of a global. When we deallocate
27054        a world, we need to clear all entries in the map for that world, since
27055        the finalizers that would otherwise clear those entries don't run. The
27056        simplest way to do this is just to make the world own the map.
27057        
27058        * bindings/js/DOMWrapperWorld.h:
27059        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
27060        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
27061        * bindings/js/JSCSSValueCustom.cpp:
27062        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
27063        (WebCore::JSCSSValueOwner::finalize):
27064        * bindings/js/JSDOMBinding.h:
27065
270662011-04-27  Adam Barth  <abarth@webkit.org>
27067
27068        Reviewed by David Levin.
27069
27070        Fix OwnPtr issues in IndexedDB
27071        https://bugs.webkit.org/show_bug.cgi?id=59656
27072
27073        I didn't do an exhaustive review of this code, but I fixed the problems
27074        caught by turning on strict OwnPtr and all their antecedents.  This
27075        patch is entirely tighter bookkeeping.  There shouldn't be any actual
27076        behavior change.
27077
27078        * platform/leveldb/LevelDBDatabase.cpp:
27079        (WebCore::LevelDBDatabase::LevelDBDatabase):
27080        (WebCore::LevelDBDatabase::open):
27081        (WebCore::LevelDBDatabase::createIterator):
27082        * platform/leveldb/LevelDBDatabase.h:
27083        * platform/leveldb/LevelDBIterator.cpp:
27084        (WebCore::LevelDBIterator::LevelDBIterator):
27085        * platform/leveldb/LevelDBIterator.h:
27086        * storage/IDBLevelDBBackingStore.cpp:
27087        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
27088        (WebCore::IDBLevelDBBackingStore::open):
27089        (WebCore::getNewDatabaseId):
27090        (WebCore::IDBLevelDBBackingStore::getObjectStores):
27091        (WebCore::getNewObjectStoreId):
27092        (WebCore::deleteRange):
27093        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
27094        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
27095        (WebCore::IDBLevelDBBackingStore::getIndexes):
27096        (WebCore::getNewIndexId):
27097        (WebCore::findGreatestKeyLessThan):
27098        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
27099        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
27100        (WebCore::findLastIndexKeyEqualTo):
27101        * storage/IDBLevelDBBackingStore.h:
27102
271032011-04-19  MORITA Hajime  <morrita@google.com>
27104
27105        Reviewed by Tony Chang.
27106
27107        [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
27108        https://bugs.webkit.org/show_bug.cgi?id=58113
27109
27110        * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
27111        * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
27112        * Now MarkerMapVectorPair is no longer used.
27113        
27114        No new tests, No behavior change.
27115
27116        * GNUmakefile.list.am:
27117        * WebCore.gypi:
27118        * WebCore.pro:
27119        * WebCore.vcproj/WebCore.vcproj:
27120        * WebCore.xcodeproj/project.pbxproj:
27121        * dom/DocumentMarker.h:
27122        * dom/DocumentMarkerController.cpp:
27123        (WebCore::DocumentMarkerController::addMarker):
27124        (WebCore::DocumentMarkerController::copyMarkers):
27125        (WebCore::DocumentMarkerController::removeMarkers):
27126        (WebCore::DocumentMarkerController::markerContainingPoint):
27127        (WebCore::DocumentMarkerController::markersForNode):
27128        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
27129        (WebCore::DocumentMarkerController::removeMarkersFromList):
27130        (WebCore::DocumentMarkerController::repaintMarkers):
27131        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
27132        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
27133        (WebCore::DocumentMarkerController::shiftMarkers):
27134        (WebCore::DocumentMarkerController::setMarkersActive):
27135        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
27136        (WebCore::DocumentMarkerController::showMarkers):
27137        * dom/DocumentMarkerController.h:
27138        * dom/RenderedDocumentMarker.h: Added.
27139        (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
27140        (WebCore::RenderedDocumentMarker::isRendered):
27141        (WebCore::RenderedDocumentMarker::contains):
27142        (WebCore::RenderedDocumentMarker::setRenderedRect):
27143        (WebCore::RenderedDocumentMarker::renderedRect):
27144        (WebCore::RenderedDocumentMarker::invalidate):
27145        (WebCore::RenderedDocumentMarker::invalidMarkerRect):
27146
271472011-04-27  James Robinson  <jamesr@chromium.org>
27148
27149        Unreviewed, rolling out r85112.
27150        http://trac.webkit.org/changeset/85112
27151        https://bugs.webkit.org/show_bug.cgi?id=59159
27152
27153        Broke mac compile
27154
27155        * page/FrameView.cpp:
27156        (WebCore::FrameView::updateCompositingLayers):
27157        * page/FrameView.h:
27158        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
27159        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
27160        * platform/graphics/chromium/LayerChromium.cpp:
27161        (WebCore::LayerChromium::LayerChromium):
27162        (WebCore::LayerChromium::~LayerChromium):
27163        * platform/graphics/chromium/LayerRendererChromium.cpp:
27164        (WebCore::LayerRendererChromium::updateLayers):
27165        * platform/graphics/chromium/LayerRendererChromium.h:
27166
271672011-04-27  Mark Rowe  <mrowe@apple.com>
27168
27169        Build fix.
27170
27171        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.
27172
271732011-04-27  Pratik Solanki  <psolanki@apple.com>
27174
27175        Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).
27176
27177        * platform/network/ResourceHandleClient.h:
27178
271792011-04-27  James Robinson  <jamesr@chromium.org>
27180
27181        Reviewed by Kenneth Russell.
27182
27183        [chromium] Ensure compositing layers are up to date before entering doComposite
27184        https://bugs.webkit.org/show_bug.cgi?id=59159
27185
27186        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
27187        GraphicsLayerClient::paintContents() implementations).
27188
27189        * page/FrameView.cpp:
27190        (WebCore::FrameView::updateCompositingLayers):
27191            Add an optional CompositingUpdateType parameter.
27192        * page/FrameView.h:
27193        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
27194        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
27195        * platform/graphics/chromium/LayerChromium.cpp:
27196        (WebCore::LayerChromium::LayerChromium):
27197        (WebCore::LayerChromium::~LayerChromium):
27198        * platform/graphics/chromium/LayerRendererChromium.cpp:
27199        (WebCore::LayerRendererChromium::updateLayers):
27200        * platform/graphics/chromium/LayerRendererChromium.h:
27201          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
27202        * rendering/RenderLayer.cpp:
27203        (WebCore::RenderLayer::dirtyZOrderLists):
27204        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
27205        * rendering/RenderLayerCompositor.cpp:
27206        (WebCore::RenderLayerCompositor::updateCompositingLayers):
27207        * rendering/RenderLayerCompositor.h:
27208          Fix a typo in CompositingUpdateType Pait->Paint
27209
272102011-04-27  Pratik Solanki  <psolanki@apple.com>
27211
27212        Reviewed by Antti Koivisto.
27213
27214        Part of WebCore should use CFNetwork-based loader on Mac
27215        https://bugs.webkit.org/show_bug.cgi?id=51836
27216
27217        Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
27218        willCacheResponse/shouldCacheResponse.
27219
27220        * loader/EmptyClients.h:
27221        * loader/FrameLoaderClient.h:
27222        * loader/ResourceLoader.h:
27223        * loader/cf/ResourceLoaderCFNet.cpp:
27224        * loader/mac/ResourceLoaderMac.mm:
27225        (WebCore::ResourceLoader::willCacheResponse):
27226        * platform/network/ResourceHandleClient.h:
27227        (WebCore::ResourceHandleClient::willCacheResponse):
27228        (WebCore::ResourceHandleClient::shouldCacheResponse):
27229        * platform/network/cf/ResourceHandleCFNet.cpp:
27230        (WebCore::willCacheResponse):
27231
272322011-04-27  Ilya Tikhonovsky  <loislo@chromium.org>
27233
27234        Reviewed by Brian Weinstein.
27235
27236        Web Inspector: Stop on Exception state does not persist.
27237
27238        A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
27239        https://bugs.webkit.org/show_bug.cgi?id=59630
27240
27241        * inspector/front-end/ScriptsPanel.js:
27242        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
27243        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
27244        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
27245
272462011-04-27  Adrienne Walker  <enne@google.com>
27247
27248        [chromium] Unreviewed, rollout r85075 (scissor rect changes)
27249        https://bugs.webkit.org/show_bug.cgi?id=59020
27250
27251        * platform/graphics/chromium/LayerRendererChromium.cpp:
27252        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
27253
272542011-04-27  Darin Adler  <darin@apple.com>
27255
27256        Reviewed by David Levin.
27257
27258        Fix strict OwnPtr issues seen in about 30 more files
27259        https://bugs.webkit.org/show_bug.cgi?id=59615
27260
27261        * bindings/js/JSCallbackData.h:
27262        (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
27263        * bindings/js/JSMessageEventCustom.cpp:
27264        (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
27265        * css/CSSParser.cpp:
27266        (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
27267        adoptPtr, and release.
27268        * dom/MessageEvent.cpp:
27269        (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
27270        and release.
27271        * dom/MessagePortChannel.cpp:
27272        (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
27273        * dom/ScriptExecutionContext.cpp:
27274        (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
27275        * dom/XMLDocumentParserLibxml2.cpp:
27276        (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
27277        * dom/default/PlatformMessagePortChannel.cpp:
27278        (WebCore::MessagePortChannel::create): Use adoptPtr.
27279        * html/HTMLFormControlElement.cpp:
27280        (WebCore::HTMLFormControlElement::detach): Use nullptr.
27281        * inspector/InspectorAgent.cpp:
27282        (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
27283        * inspector/InspectorConsoleAgent.cpp:
27284        (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
27285        (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
27286        (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
27287        * inspector/InspectorController.cpp:
27288        (WebCore::InspectorController::connectFrontend): Use adoptPtr.
27289        * inspector/InspectorDOMAgent.cpp:
27290        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
27291        * inspector/InspectorResourceAgent.cpp:
27292        (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
27293        * page/FrameActionScheduler.cpp:
27294        (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
27295        * platform/graphics/ShadowBlur.cpp:
27296        (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
27297        * platform/graphics/ca/GraphicsLayerCA.cpp:
27298        (WebCore::GraphicsLayer::create): Use adoptPtr.
27299        (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
27300        (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
27301        * rendering/RenderBlock.cpp:
27302        (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
27303        (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
27304        (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
27305        (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
27306        * rendering/RenderLayerBacking.cpp:
27307        (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
27308        (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
27309        (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
27310        (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
27311        * rendering/RenderLayerCompositor.cpp:
27312        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
27313        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
27314        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
27315        * rendering/style/StyleRareNonInheritedData.cpp:
27316        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
27317        explicit initializations of OwnPtr members to 0. Use adoptPtr.
27318        * workers/SharedWorkerContext.cpp:
27319        (WebCore::createConnectEvent): Use adoptPtr.
27320        * workers/Worker.cpp:
27321        (WebCore::Worker::notifyFinished): Use nullptr.
27322
273232011-04-27  Enrica Casucci  <enrica@apple.com>
27324
27325        Reviewed by Darin Adler.
27326
27327        REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
27328        https://bugs.webkit.org/show_bug.cgi?id=59251
27329        <rdar://problem/9327044>
27330
27331        When we are looking for wrapping elements that are presentational, we should
27332        include elements that have a non transparent background color only if they
27333        are not blocks.
27334
27335        Test: editing/pasteboard/do-not-copy-body-color.html
27336
27337        * editing/markup.cpp:
27338        (WebCore::isElementPresentational):
27339
273402011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
27341
27342        Reviewed by Antti Koivisto.
27343
27344        Teach sub-selector chains about shadow descendants
27345        https://bugs.webkit.org/show_bug.cgi?id=58342
27346
27347        The primary change is to the logic of parsing specifiers:
27348        1) The shadow descendant selectors (those specifiers that are unknown
27349        pseudo element selectors) are always kept at the top of the chain.
27350        2) The sub-selectors after shadow descendant selectors are stashed right
27351        behind the sub-selector, but not at the end of the chain.
27352        3) Other sub-selectors are appended at the end of the chain.
27353
27354        * css/CSSGrammar.y: Changed specifier_list collection to use new
27355            CSSParser::updateSpecifier helper.
27356        * css/CSSParser.cpp:
27357        (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
27358            look for the last ShadowDescendant relation in the chain of selectors,
27359            because the next selector after it is the one that should get the
27360            element name.
27361        (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
27362            CSSGrammar.y. The new logic adjusts the selector chain to allow
27363            shadow descendant selectors have sub-selectors (and have multiple shadow
27364            descendants in the chain).
27365        * css/CSSParser.h: Added decl.
27366        * css/CSSParserValues.cpp:
27367        (WebCore::CSSParserSelector::insertTagHistory): Added.
27368        (WebCore::CSSParserSelector::appendTagHistory): Aded.
27369        * css/CSSParserValues.h: Added decls.
27370        * css/CSSStyleSelector.cpp:
27371        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
27372            shadow descendant selector match check, since now there could be many
27373            of them in the selector chain.
27374
273752011-04-20  Adrienne Walker  <enne@google.com>
27376
27377        Reviewed by Kenneth Russell.
27378
27379        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
27380        https://bugs.webkit.org/show_bug.cgi?id=59020
27381
27382        mapRect is the incorrect transform here.  The parent scissor rect
27383        needs to be projected into layer space instead.
27384
27385        Test: compositing/flat-with-transformed-child.html
27386
27387        * platform/graphics/chromium/LayerRendererChromium.cpp:
27388        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
27389
273902011-04-27  Pratik Solanki  <psolanki@apple.com>
27391
27392        Reviewed by Antti Koivisto.
27393
27394        Part of WebCore should use CFNetwork-based loader on Mac
27395        https://bugs.webkit.org/show_bug.cgi?id=51836
27396
27397        * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
27398        * platform/mac/SoftLinking.h:
27399        * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.
27400
274012011-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
27402
27403        Reviewed by Antti Koivisto.
27404
27405        Cleanup CSSStyleApplyProperty.cpp
27406        https://bugs.webkit.org/show_bug.cgi?id=59623
27407
27408        As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
27409        Use typedefs instead of repating the function pointer declarations in a few places.
27410
27411        * css/CSSStyleApplyProperty.cpp:
27412        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
27413        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
27414        (WebCore::ApplyPropertyColor::applyInheritValue):
27415        (WebCore::ApplyPropertyColor::applyInitialValue):
27416        (WebCore::ApplyPropertyColor::applyValue):
27417        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
27418
274192011-04-27  Dan Bernstein  <mitz@apple.com>
27420
27421        Reviewed by Anders Carlsson.
27422
27423        <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
27424        https://bugs.webkit.org/show_bug.cgi?id=59622
27425
27426        Test: fast/borders/border-image-trumps-radius.html
27427
27428        * rendering/RenderBox.cpp:
27429        (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
27430        image, then border radius is ignored, so no bleed avoidance is needed.
27431        * rendering/RenderObject.cpp:
27432        (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
27433        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
27434        * rendering/RenderObject.h:
27435
274362011-02-03  Martin Robinson  <mrobinson@igalia.com>
27437
27438        Reviewed by Xan Lopez.
27439
27440        [GTK] editing/pasteboard/copy-standalone-image.html fails
27441        https://bugs.webkit.org/show_bug.cgi?id=53645
27442
27443        When writing an image to the clipboard, also write the URL and title
27444        into the markup and URL portion. This change also abstracts a helper
27445        imageToMarkup into markup.{cpp/h} from several different locations
27446        throughout the platform layer.
27447
27448        * editing/markup.h: Added new function definition.
27449        * editing/markup.cpp:
27450        (WebCore::imageToMarkup): Add this function which turns an image URL 
27451        and element into some markup representing that image, while preserving
27452        non-src attributes.
27453        * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
27454        to markup.cpp.
27455        * platform/gtk/PasteboardGtk.cpp:
27456        (WebCore::getURLForImageNode): Add this helper which gets the appropriate
27457        image URL for a variety of image tag types.
27458        (WebCore::Pasteboard::writeImage): Write the image URL and title to the
27459        markup and URL portions of the clipboard. This will ensure that images
27460        paste properly back into WebKit.
27461        * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
27462        one from markup.h
27463
274642011-04-27  Steve Block  <steveblock@google.com>
27465
27466        Reviewed by David Levin.
27467
27468        Remove Android build system
27469        https://bugs.webkit.org/show_bug.cgi?id=48111
27470
27471        This is to avoid the maintenance burden until the Android port is
27472        fully upstreamed.
27473
27474        No new tests, build change only.
27475
27476        * Android.derived.jscbindings.mk: Removed.
27477        * Android.derived.mk: Removed.
27478        * Android.derived.v8bindings.mk: Removed.
27479        * Android.jscbindings.mk: Removed.
27480        * Android.mk: Removed.
27481        * Android.v8bindings.mk: Removed.
27482
274832011-04-27  Darin Adler  <darin@apple.com>
27484
27485        Reviewed by Sam Weinig.
27486
27487        Somehow about:blank gets into the icon database
27488        https://bugs.webkit.org/show_bug.cgi?id=58067
27489        rdar://problem/6751446
27490
27491        Implemented the policy Brady suggested, where only http and https URLs can
27492        be associated with and icon, guarding both on the way in to the database,
27493        and on the way out.
27494
27495        * loader/icon/IconDatabase.cpp:
27496        (WebCore::pageCanHaveIcon): Added.
27497        (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
27498        instead of just checking for an empty URL.
27499        (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
27500        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
27501        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
27502        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
27503        (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
27504        (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
27505        two separate assertions and added a third.
27506        (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.
27507
27508        * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
27509        (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
27510        overloaded it to work on both UChar and char, and added an assertion to it.
27511        Also moved this to the top of the file and made the UChar version usable
27512        in the shared code used even by Google.
27513        (WebCore::KURL::invalidate): Updated for name change.
27514        (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
27515        toASCIILower since it's faster.
27516        (WebCore::KURL::parse): Updated for name changes.
27517        (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
27518        since it's faster.
27519        (WebCore::protocolIsInHTTPFamily): Added.
27520
27521        * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
27522        to protocolIsInHTTPFamily and added a version that works on a string.
27523        Kept the old name as an inline function so we don't have to rename
27524        all the cal sites now.
27525
27526        * platform/KURLGoogle.cpp: Renamed as above.
27527        (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
27528        (WebCore::KURLGooglePrivate::setUtf8): Ditto.
27529        (WebCore::KURLGooglePrivate::setAscii): Ditto.
27530        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
27531        (WebCore::KURLGooglePrivate::copyTo): Ditto.
27532        (WebCore::KURL::KURL): Ditto.
27533        (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
27534        (WebCore::KURL::invalidate): Ditto.
27535        * platform/KURLGooglePrivate.h: Ditto.
27536
27537        * WebCore.exp.in: Updated for above changes.
27538
275392011-04-27  Yury Semikhatsky  <yurys@chromium.org>
27540
27541        Reviewed by Pavel Feldman.
27542
27543        Web Inspector: browser crash on evaluation of 'throw undefined'
27544        https://bugs.webkit.org/show_bug.cgi?id=59611
27545
27546        Test: inspector/console/console-eval-throw-undefined.html
27547
27548        * inspector/InjectedScriptSource.js: use try/catch to protect from
27549        exception during conversion of another exception to string.
27550
275512011-04-27  Pavel Feldman  <pfeldman@google.com>
27552
27553        Reviewed by Yury Semikhatsky.
27554
27555        Web Inspector: clicking bookmarklet multiplies resources panel entries.
27556        https://bugs.webkit.org/show_bug.cgi?id=59590
27557
27558        * inspector/front-end/ResourceTreeModel.js:
27559        (WebInspector.ResourceTreeModel):
27560        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
27561        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
27562        * inspector/front-end/ResourcesPanel.js:
27563        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
27564        (WebInspector.FrameTreeElement):
27565        (WebInspector.FrameTreeElement.prototype.appendResource):
27566        * inspector/front-end/inspector.js:
27567        (WebInspector.frontendReused):
27568
275692011-04-27  Pavel Feldman  <pfeldman@google.com>
27570
27571        Reviewed by Yury Semikhatsky.
27572
27573        Web Inspector: opening bookmarklet disconnects DOM agent.
27574        https://bugs.webkit.org/show_bug.cgi?id=59588
27575
27576        * inspector/InspectorDOMAgent.cpp:
27577        (WebCore::InspectorDOMAgent::setDocument):
27578
275792011-04-27  Hans Wennborg  <hans@chromium.org>
27580
27581        Reviewed by Tony Gentilcore.
27582
27583        IndexedDB: Fix compiler warnings about uninitialized variables
27584        https://bugs.webkit.org/show_bug.cgi?id=59599
27585
27586        Build fix. No new tests.
27587
27588        * storage/IDBLevelDBBackingStore.cpp:
27589        (WebCore::getNewObjectStoreId):
27590        (WebCore::getNewIndexId):
27591
275922011-04-26  Hans Wennborg  <hans@chromium.org>
27593
27594        Reviewed by Tony Gentilcore.
27595
27596        IndexedDB: Move LevelDB key coding routines to separate file
27597        https://bugs.webkit.org/show_bug.cgi?id=59452
27598
27599        Move all routines concerned with encoding, decoding and comparison of
27600        LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
27601        IDBLevelDBCoding.cpp.
27602
27603        This makes IDBLevelDBBackingStore.cpp easier to work with, and will
27604        allow for unit testing of the coding routines.
27605
27606        No new functionality, no new tests.
27607
27608        * WebCore.gypi:
27609        * storage/IDBLevelDBBackingStore.cpp:
27610        (WebCore::getInt):
27611        (WebCore::putInt):
27612        (WebCore::getString):
27613        (WebCore::putString):
27614        (WebCore::compareKeys):
27615        (WebCore::compareIndexKeys):
27616        (WebCore::Comparator::compare):
27617        (WebCore::setUpMetadata):
27618        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
27619        (WebCore::getNewDatabaseId):
27620        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
27621        (WebCore::IDBLevelDBBackingStore::getObjectStores):
27622        (WebCore::getNewObjectStoreId):
27623        (WebCore::IDBLevelDBBackingStore::createObjectStore):
27624        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
27625        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
27626        (WebCore::getNewVersionNumber):
27627        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
27628        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
27629        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
27630        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
27631        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
27632        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
27633        (WebCore::IDBLevelDBBackingStore::getIndexes):
27634        (WebCore::getNewIndexId):
27635        (WebCore::IDBLevelDBBackingStore::createIndex):
27636        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
27637        (WebCore::versionExists):
27638        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
27639        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
27640        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
27641        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
27642        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
27643        * storage/IDBLevelDBCoding.cpp: Added.
27644        (WebCore::IDBLevelDBCoding::encodeByte):
27645        (WebCore::IDBLevelDBCoding::maxIDBKey):
27646        (WebCore::IDBLevelDBCoding::minIDBKey):
27647        (WebCore::IDBLevelDBCoding::encodeInt):
27648        (WebCore::IDBLevelDBCoding::decodeInt):
27649        (WebCore::IDBLevelDBCoding::encodeVarInt):
27650        (WebCore::IDBLevelDBCoding::decodeVarInt):
27651        (WebCore::IDBLevelDBCoding::encodeString):
27652        (WebCore::IDBLevelDBCoding::decodeString):
27653        (WebCore::IDBLevelDBCoding::encodeStringWithLength):
27654        (WebCore::IDBLevelDBCoding::decodeStringWithLength):
27655        (WebCore::IDBLevelDBCoding::encodeDouble):
27656        (WebCore::IDBLevelDBCoding::decodeDouble):
27657        (WebCore::IDBLevelDBCoding::encodeIDBKey):
27658        (WebCore::IDBLevelDBCoding::decodeIDBKey):
27659        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
27660        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
27661        (WebCore::IDBLevelDBCoding::compare):
27662        (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
27663        (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
27664        (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
27665        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
27666        (WebCore::IDBLevelDBCoding::KeyPrefix::type):
27667        (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
27668        (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
27669        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
27670        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
27671        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
27672        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
27673        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
27674        (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
27675        (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
27676        (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
27677        (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
27678        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
27679        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
27680        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
27681        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
27682        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
27683        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
27684        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
27685        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
27686        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
27687        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
27688        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
27689        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
27690        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
27691        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
27692        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
27693        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
27694        (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
27695        (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
27696        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
27697        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
27698        (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
27699        (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
27700        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
27701        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
27702        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
27703        (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
27704        (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
27705        (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
27706        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
27707        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
27708        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
27709        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
27710        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
27711        (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
27712        (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
27713        (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
27714        (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
27715        (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
27716        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
27717        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
27718        (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
27719        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
27720        (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
27721        (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
27722        (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
27723        (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
27724        * storage/IDBLevelDBCoding.h: Added.
27725        (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
27726        (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
27727        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
27728        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
27729        (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
27730
277312011-04-27  Yury Semikhatsky  <yurys@chromium.org>
27732
27733        Reviewed by Pavel Feldman.
27734
27735        Web Inspector: expose exception details when script is paused on exception
27736        https://bugs.webkit.org/show_bug.cgi?id=59591
27737
27738        When script is paused on an exception, the exception value is added as <exception>
27739        property in the local scope and the breakpoint details message says
27740        "Paused on excepion: '<exception to strin value>'."
27741
27742        * English.lproj/localizedStrings.js:
27743        * inspector/front-end/ScopeChainSidebarPane.js:
27744        (WebInspector.ScopeChainSidebarPane.prototype.update):
27745        * inspector/front-end/ScriptsPanel.js:
27746        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
27747        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
27748
277492011-04-26  Yury Semikhatsky  <yurys@chromium.org>
27750
27751        Reviewed by Pavel Feldman.
27752
27753        Web Inspector: [protocol] Paused event should expose exception value that caused it
27754        https://bugs.webkit.org/show_bug.cgi?id=58996
27755
27756        Debug.pause event now contains an optional reference to the exception
27757        object in case script execution is paused on a JavaScript exception.
27758
27759        Also JavaScript call frames are passed directly into the injected script when
27760        we need to wrap them for passing to the front-end. This change breaks cyclic
27761        dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer
27762
27763        * bindings/js/JSInjectedScriptHostCustom.cpp:
27764        * bindings/js/ScriptDebugServer.cpp:
27765        (WebCore::ScriptDebugServer::dispatchDidPause):
27766        * bindings/js/ScriptDebugServer.h:
27767        * bindings/v8/ScriptDebugServer.cpp:
27768        (WebCore::ScriptDebugServer::breakProgram):
27769        (WebCore::ScriptDebugServer::editScriptSource):
27770        (WebCore::ScriptDebugServer::breakProgramCallback):
27771        (WebCore::ScriptDebugServer::handleV8DebugEvent):
27772        * bindings/v8/ScriptDebugServer.h:
27773        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
27774        * inspector/InjectedScript.cpp:
27775        (WebCore::InjectedScript::evaluateOnCallFrame):
27776        (WebCore::InjectedScript::wrapCallFrames):
27777        * inspector/InjectedScript.h:
27778        * inspector/InjectedScriptHost.cpp:
27779        * inspector/InjectedScriptHost.h:
27780        (WebCore::InjectedScriptHost::init):
27781        * inspector/InjectedScriptHost.idl:
27782        * inspector/InjectedScriptSource.js:
27783        (.):
27784        * inspector/Inspector.json:
27785        * inspector/InspectorAgent.cpp:
27786        (WebCore::InspectorAgent::InspectorAgent):
27787        * inspector/InspectorDebuggerAgent.cpp:
27788        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
27789        (WebCore::InspectorDebuggerAgent::currentCallFrames):
27790        (WebCore::InspectorDebuggerAgent::wrapCallFrames):
27791        (WebCore::InspectorDebuggerAgent::didPause):
27792        (WebCore::InspectorDebuggerAgent::didContinue):
27793        (WebCore::InspectorDebuggerAgent::clear):
27794        * inspector/InspectorDebuggerAgent.h:
27795        * inspector/ScriptDebugListener.h:
27796        * inspector/WorkerInspectorController.cpp:
27797        (WebCore::WorkerInspectorController::WorkerInspectorController):
27798
277992011-04-27  Pavel Feldman  <pfeldman@google.com>
27800
27801        Reviewed by Yury Semikhatsky.
27802
27803        Web Inspector: implement incremental CSS editing in the structure view.
27804        https://bugs.webkit.org/show_bug.cgi?id=59455
27805
27806        * inspector/front-end/StylesSidebarPane.js:
27807        (WebInspector.StylePropertyTreeElement.prototype):
27808
278092011-04-27  Mihai Parparita  <mihaip@chromium.org>
27810
27811        Reviewed by Eric Seidel.
27812
27813        Frame.h shouldn't include Document.h
27814        https://bugs.webkit.org/show_bug.cgi?id=59560
27815
27816        Frame can use a forward-declared Document if we move
27817        Frame::displayStringModifiedByEncoding's implementation out of the
27818        header.
27819                                Size  #includes  Size * #includes
27820        Before: page/Frame.h:   0.746       653           487.138
27821                dom/Document.h: 0.220      1306           287.320
27822        
27823        After:  page/Frame.h:   0.646       653           421.838
27824                dom/Document.h: 0.220      1189           261.580
27825
27826        * WebCore.exp.in:
27827        * bindings/ScriptControllerBase.cpp:
27828        * bindings/generic/BindingSecurityBase.cpp:
27829        * bindings/v8/V8Proxy.cpp:
27830        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
27831        * dom/CharacterData.cpp:
27832        * dom/UserTypingGestureIndicator.cpp:
27833        * editing/chromium/SelectionControllerChromium.cpp:
27834        * inspector/InspectorDOMStorageResource.cpp:
27835        * inspector/InspectorInstrumentation.h:
27836        * loader/PingLoader.cpp:
27837        * loader/SubresourceLoader.cpp:
27838        * loader/appcache/DOMApplicationCache.cpp:
27839        * loader/cache/CachedResourceRequest.cpp:
27840        * page/Frame.cpp:
27841        (WebCore::Frame::displayStringModifiedByEncoding):
27842        * page/Frame.h:
27843        * page/Geolocation.cpp:
27844        * page/Location.cpp:
27845        * page/Navigator.cpp:
27846        * page/PageGroupLoadDeferrer.cpp:
27847        * page/PerformanceTiming.cpp:
27848        * xml/XSLTProcessorLibxslt.cpp:
27849
278502011-04-27  James Robinson  <jamesr@chromium.org>
27851
27852        Reviewed by Eric Seidel.
27853
27854        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
27855        https://bugs.webkit.org/show_bug.cgi?id=59377
27856
27857        This cleans up some strict OwnPtr<> violations around text and box shadow data.  ShadowData's linked list data
27858        structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.
27859
27860        * css/CSSStyleSelector.cpp:
27861        (WebCore::CSSStyleSelector::applyProperty):
27862        * page/animation/AnimationBase.cpp:
27863        (WebCore::blendFunc):
27864        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
27865        (WebCore::PropertyWrapperShadow::blend):
27866        * rendering/style/RenderStyle.cpp:
27867        (WebCore::RenderStyle::setTextShadow):
27868        (WebCore::RenderStyle::setBoxShadow):
27869        * rendering/style/RenderStyle.h:
27870        (WebCore::InheritedFlags::textShadow):
27871        * rendering/style/ShadowData.cpp:
27872        (WebCore::ShadowData::ShadowData):
27873        * rendering/style/ShadowData.h:
27874        (WebCore::ShadowData::ShadowData):
27875        (WebCore::ShadowData::next):
27876        (WebCore::ShadowData::setNext):
27877        * rendering/style/StyleRareInheritedData.cpp:
27878        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
27879        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
27880        * rendering/style/StyleRareInheritedData.h:
27881        * rendering/style/StyleRareNonInheritedData.cpp:
27882        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
27883
278842011-04-26  David Levin  <levin@chromium.org>
27885
27886        Reviewed by Eric Seidel.
27887
27888        Fix some strict PassOwnPtr issues in WebCore.
27889        https://bugs.webkit.org/show_bug.cgi?id=59563
27890
27891        * css/SVGCSSStyleSelector.cpp:
27892        (WebCore::CSSStyleSelector::applySVGProperty):
27893        * html/canvas/WebGLRenderingContext.cpp:
27894        (WebCore::WebGLRenderingContext::create):
27895        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
27896        * platform/text/TextCodecLatin1.cpp:
27897        (WebCore::newStreamingTextDecoderWindowsLatin1):
27898        * platform/text/TextCodecUTF16.cpp:
27899        (WebCore::newStreamingTextDecoderUTF16LE):
27900        (WebCore::newStreamingTextDecoderUTF16BE):
27901        * platform/text/TextCodecUserDefined.cpp:
27902        (WebCore::newStreamingTextDecoderUserDefined):
27903        * platform/text/mac/TextCodecMac.cpp:
27904        (WebCore::newTextCodecMac):
27905        * workers/Worker.cpp:
27906        (WebCore::Worker::notifyFinished):
27907
279082011-04-26  Justin Novosad  <junov@chromium.org>
27909
27910        Reviewed by Kenneth Russell.
27911
27912        [Chromium] Expose skia gpu canvas rendering as a runtime flag
27913        https://bugs.webkit.org/show_bug.cgi?id=58683
27914        Replace the SKIA_GPU compile flag by the pre-existing
27915        acceleratedDrawingEnabled flag. Most code changes are trivial:
27916        compile-time conditionals on SKIA_GPU were either replaced with
27917        a run-time check, or a compile time check on USE(SKIA) 
27918
27919        No new tests. Covered by existing tests.
27920
27921        * html/canvas/CanvasRenderingContext2D.cpp:
27922        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
27923        * page/Page.cpp:
27924        (WebCore::Page::sharedGraphicsContext3D):
27925        Added check for the acceleratedDrawing flag.
27926        * platform/graphics/chromium/DrawingBufferChromium.cpp:
27927        (WebCore::DrawingBuffer::DrawingBuffer):
27928        (WebCore::DrawingBuffer::publishToPlatformLayer):
27929        * platform/graphics/gpu/DrawingBuffer.h:
27930        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
27931        (WebCore::SharedGraphicsContext3D::create):
27932        On Skia builds, this methos now receives a bool arg to turn on
27933        GPU-accelerated skia rendering
27934        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
27935        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
27936        (WebCore::SharedGraphicsContext3D::grContext):
27937        * platform/graphics/gpu/SharedGraphicsContext3D.h:
27938        * platform/graphics/skia/ImageSkia.cpp:
27939        (WebCore::computeResamplingMode):
27940        (WebCore::paintSkBitmap):
27941        (WebCore::Image::drawPattern):
27942        * platform/graphics/skia/PlatformContextSkia.cpp:
27943        (WebCore::PlatformContextSkia::PlatformContextSkia):
27944        (WebCore::PlatformContextSkia::~PlatformContextSkia):
27945        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
27946        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
27947        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
27948        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
27949        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
27950        (WebCore::PlatformContextSkia::markDirtyRect):
27951        * platform/graphics/skia/PlatformContextSkia.h:
27952        (WebCore::PlatformContextSkia::accelerationMode):
27953        (WebCore::PlatformContextSkia::useGPU):
27954        (WebCore::PlatformContextSkia::useSkiaGPU):
27955
279562011-04-26  Pavel Feldman  <pfeldman@chromium.org>
27957
27958        Not reviewed: restore inspector test disabled in r84913.
27959
27960        Test: http/tests/inspector-enabled/dom-storage-open.html
27961
27962        * inspector/InspectorDOMStorageAgent.cpp:
27963        (WebCore::InspectorDOMStorageAgent::clearFrontend):
27964
279652011-04-26  Kenichi Ishibashi  <bashi@chromium.org>
27966
27967        Reviewed by Tony Chang.
27968
27969        [Chromium] Vertical positions are off for some Arabic glyphs on Linux
27970        https://bugs.webkit.org/show_bug.cgi?id=59182
27971
27972        Use vertical offsets of the shaping results.
27973
27974        Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html
27975
27976        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
27977        (WebCore::ComplexTextController::ComplexTextController):
27978        Added initialization of m_startingY.
27979        (WebCore::ComplexTextController::nextScriptRun):
27980        Followed the change in handling positions.
27981        (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
27982        (WebCore::ComplexTextController::createGlyphArrays): Ditto.
27983        (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
27984        (WebCore::ComplexTextController::setGlyphPositions):
27985        Changed to use vertical offsets as same as horizontal offsets.
27986        * platform/graphics/chromium/ComplexTextControllerLinux.h:
27987        Removed m_xPositions and Added m_positions and m_startingY.
27988        (WebCore::ComplexTextController::positions): Added.
27989        * platform/graphics/chromium/FontLinux.cpp:
27990        Followed the change in ComplexTextController.
27991        (WebCore::Font::drawComplexText): Ditto.
27992        (WebCore::Font::floatWidthForComplexText): Ditto.
27993        (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
27994        (WebCore::Font::offsetForPositionForComplexText): Ditto.
27995        (WebCore::Font::selectionRectForComplexText): Ditto.
27996
279972011-04-26  Levi Weintraub  <leviw@chromium.org>
27998
27999        Reviewed by Eric Seidel.
28000
28001        Root element should establish a new block formatting context
28002        https://bugs.webkit.org/show_bug.cgi?id=54573
28003
28004        Always expanding the root renderer to include overhanging floats.
28005
28006        Test: fast/block/float/float-overhangs-root.html
28007
28008        * rendering/RenderBlock.cpp:
28009        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
28010
280112011-04-26  Dawit Alemayehu  <adawit@kde.org>
28012
28013        Reviewed by Andreas Kling.
28014
28015        [Qt] Improper rendering of <button> tag when it contains a <br>
28016        https://bugs.webkit.org/show_bug.cgi?id=50521
28017
28018        Test: platform/qt/fast/forms/button-line-break.html
28019
28020        * platform/qt/RenderThemeQt.cpp:
28021        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
28022        (WebCore::RenderThemeQt::setButtonPadding):
28023
280242011-04-26  James Robinson  <jamesr@chromium.org>
28025
28026        Reviewed by Kenneth Russell.
28027
28028        [chromium] Only reset tiles if the LayerRendererChromium is actually changing
28029        https://bugs.webkit.org/show_bug.cgi?id=59572
28030
28031        http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
28032        when LayerRendererChromium was set.  We set this pointer every frame
28033        and should only reset the tiles if the new LayerRendererChromium is
28034        different from the old one (indicating a context loss), not just reset
28035        on every frame.
28036
28037        * platform/graphics/chromium/LayerTilerChromium.cpp:
28038        (WebCore::LayerTilerChromium::setLayerRenderer):
28039        * platform/graphics/chromium/LayerTilerChromium.h:
28040
280412011-04-26  Dinesh K Garg  <dineshg@codeaurora.org>
28042
28043        Reviewed by Eric Seidel.
28044
28045        beginElement broken by setAttribute
28046        https://bugs.webkit.org/show_bug.cgi?id=26019
28047
28048        Test: svg/animations/animate-beginElementAt.svg
28049
28050        * svg/SVGAnimationElement.cpp:
28051        (WebCore::SVGAnimationElement::attributeChanged):
28052        Reset the animation state here as the rest of the code reads it and would still
28053        think we are animating when we are not.
28054
28055        * svg/animation/SVGSMILElement.h:
28056        (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.
28057
280582011-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
28059
28060        Unreviewed, rolling out r84989.
28061        http://trac.webkit.org/changeset/84989
28062        https://bugs.webkit.org/show_bug.cgi?id=59566
28063
28064        REGRESSION (r84989): Lots of vertical text tests failing on
28065        windows (Requested by weinig on #webkit).
28066
28067        * platform/graphics/FontPlatformData.h:
28068        * platform/graphics/win/FontCacheWin.cpp:
28069        (WebCore::FontCache::getFontDataForCharacters):
28070        (WebCore::FontCache::createFontPlatformData):
28071        * platform/graphics/win/FontCustomPlatformData.cpp:
28072        (WebCore::FontCustomPlatformData::fontPlatformData):
28073        * platform/graphics/win/FontPlatformDataCGWin.cpp:
28074        (WebCore::FontPlatformData::FontPlatformData):
28075        * platform/graphics/win/FontPlatformDataWin.cpp:
28076        (WebCore::FontPlatformData::FontPlatformData):
28077
280782011-04-26  Sam Weinig  <sam@webkit.org>
28079
28080        Reviewed by Eric Seidel.
28081
28082        Try again:
28083            Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
28084            https://bugs.webkit.org/show_bug.cgi?id=59310
28085
28086        * bindings/js/JSDOMBinding.h:
28087        (WebCore::DOMConstructorObject::DOMConstructorObject):
28088        * bindings/js/JSDOMWrapper.h:
28089        (WebCore::JSDOMWrapper::globalObject):
28090        (WebCore::JSDOMWrapper::scriptExecutionContext):
28091        (WebCore::JSDOMWrapper::createStructure):
28092        (WebCore::JSDOMWrapper::JSDOMWrapper):
28093        * bindings/scripts/CodeGeneratorJS.pm:
28094
280952011-04-26  Sam Weinig  <sam@webkit.org>
28096
28097        Reviewed by David Hyatt.
28098
28099        Remove Datagrid from the tree
28100        https://bugs.webkit.org/show_bug.cgi?id=59543
28101
28102        * Android.derived.jscbindings.mk:
28103        * Android.derived.v8bindings.mk:
28104        * Android.jscbindings.mk:
28105        * Android.v8bindings.mk:
28106        * CMakeLists.txt:
28107        * CodeGenerators.pri:
28108        * Configurations/FeatureDefines.xcconfig:
28109        * DerivedSources.cpp:
28110        * DerivedSources.make:
28111        * GNUmakefile.am:
28112        * GNUmakefile.list.am:
28113        * UseJSC.cmake:
28114        * WebCore.gypi:
28115        * WebCore.pro:
28116        * WebCore.vcproj/WebCore.vcproj:
28117        * WebCore.xcodeproj/project.pbxproj:
28118        * bindings/js/JSBindingsAllInOne.cpp:
28119        * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
28120        * bindings/js/JSDataGridDataSource.cpp: Removed.
28121        * bindings/js/JSDataGridDataSource.h: Removed.
28122        * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
28123        * bindings/v8/V8DataGridDataSource.cpp: Removed.
28124        * bindings/v8/V8DataGridDataSource.h: Removed.
28125        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
28126        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
28127        * css/CSSStyleSelector.cpp:
28128        * css/CSSStyleSelector.h:
28129        * css/html.css:
28130        (input, textarea, keygen, select, button, isindex):
28131        (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
28132        * editing/htmlediting.cpp:
28133        (WebCore::canHaveChildrenForEditing):
28134        * features.pri:
28135        * html/DOMDataGridDataSource.cpp: Removed.
28136        * html/DOMDataGridDataSource.h: Removed.
28137        * html/DataGridColumn.cpp: Removed.
28138        * html/DataGridColumn.h: Removed.
28139        * html/DataGridColumn.idl: Removed.
28140        * html/DataGridColumnList.cpp: Removed.
28141        * html/DataGridColumnList.h: Removed.
28142        * html/DataGridColumnList.idl: Removed.
28143        * html/DataGridDataSource.h: Removed.
28144        * html/HTMLDataGridCellElement.cpp: Removed.
28145        * html/HTMLDataGridCellElement.h: Removed.
28146        * html/HTMLDataGridCellElement.idl: Removed.
28147        * html/HTMLDataGridColElement.cpp: Removed.
28148        * html/HTMLDataGridColElement.h: Removed.
28149        * html/HTMLDataGridColElement.idl: Removed.
28150        * html/HTMLDataGridElement.cpp: Removed.
28151        * html/HTMLDataGridElement.h: Removed.
28152        * html/HTMLDataGridElement.idl: Removed.
28153        * html/HTMLDataGridRowElement.cpp: Removed.
28154        * html/HTMLDataGridRowElement.h: Removed.
28155        * html/HTMLDataGridRowElement.idl: Removed.
28156        * html/HTMLElement.cpp:
28157        (WebCore::HTMLElement::ieForbidsInsertHTML):
28158        * html/HTMLElementsAllInOne.cpp:
28159        * html/HTMLTagNames.in:
28160        * page/DOMWindow.idl:
28161        * rendering/RenderBox.cpp:
28162        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
28163        * rendering/RenderDataGrid.cpp: Removed.
28164        * rendering/RenderDataGrid.h: Removed.
28165        * rendering/RenderingAllInOne.cpp:
28166
281672011-04-26  Chun-Lung Huang  <alvincl.huang@gmail.com>
28168
28169        Reviewed by Adele Peterson.
28170
28171        On WebKit (Windows), glyphs in vertical text tests are rotated 90
28172        degrees clockwise.  https://bugs.webkit.org/show_bug.cgi?id=48459
28173
28174        This platform dependent patch makes WebKit (Windows) show the
28175        vertical writing text correctly.  Job was done by adding a prefix '@'
28176        in front of the font family name (Windows Only). No new tests added.
28177        Some layout tests images:
28178        http://www.flickr.com/photos/burorly/sets/72157625585506341/
28179
28180        * platform/graphics/FontPlatformData.h:
28181        * platform/graphics/win/FontCacheWin.cpp:
28182        (WebCore::FontCache::getFontDataForCharacters):
28183        (WebCore::FontCache::createFontPlatformData):
28184        * platform/graphics/win/FontCustomPlatformData.cpp:
28185        (WebCore::FontCustomPlatformData::fontPlatformData):
28186        * platform/graphics/win/FontPlatformDataCGWin.cpp:
28187        (WebCore::FontPlatformData::FontPlatformData):
28188        * platform/graphics/win/FontPlatformDataWin.cpp:
28189        (WebCore::FontPlatformData::FontPlatformData):
28190
281912011-04-26  Jer Noble  <jer.noble@apple.com>
28192
28193        Reviewed by Brady Eidson.
28194
28195        HTML5 video fullscreen transition causes an audio stutter
28196        https://bugs.webkit.org/show_bug.cgi?id=59544
28197
28198        AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer 
28199        from its AVPlayer.  Since you shouldn't necessarily have to destroy the
28200        layer to render it invisible, instead just set the layer as hidden.
28201
28202        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
28203        (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
28204        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
28205        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
28206        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
28207        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.
28208
282092011-04-26  Christian Dywan  <christian@lanedo.com>
28210
28211        Reviewed by Eric Seidel.
28212
28213        Extra separator after Select All in context menu
28214        https://bugs.webkit.org/show_bug.cgi?id=54092
28215
28216        * page/ContextMenuController.cpp: Move separator to non-GTK+
28217            port guards since it is for the spelling options menu
28218            which the GTK+ port doesn't use.
28219
282202011-04-26  James Robinson  <jamesr@chromium.org>
28221
28222        Reviewed by Kenneth Russell.
28223
28224        [chromium] Clear out LayerTilerChromium's tiles on lost context
28225        https://bugs.webkit.org/show_bug.cgi?id=59233
28226
28227        Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset.  In this case the tiles are
28228        no longer valid since they exist in the previous LayerRendererChromium.
28229
28230        Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.
28231
28232        * platform/graphics/chromium/LayerTilerChromium.h:
28233        (WebCore::LayerTilerChromium::setLayerRenderer):
28234
282352011-04-26  Martin Robinson  <mrobinson@igalia.com>
28236
28237        Reviewed by Dirk Schulze.
28238
28239        [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
28240        https://bugs.webkit.org/show_bug.cgi?id=57644
28241
28242        Manual test: plugins/windowed-in-iframe-2.html
28243
28244        * manual-tests/plugins/windowed-in-iframe-2.html: Added.
28245        * platform/gtk/WidgetGtk.cpp:
28246        (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
28247        * plugins/PluginView.h: Added helper method to set the allocation and clip.
28248        * plugins/gtk/PluginViewGtk.cpp:
28249        (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
28250        the allocation immediately. Bring this method into sync with the implementation in
28251        the Qt port.
28252        (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
28253        (WebCore::PluginView::plugAddedCallback): Call the new helper method.
28254
282552011-04-26  Martin Robinson  <mrobinson@igalia.com>
28256
28257        Reviewed by Eric Seidel.
28258
28259        [GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots
28260        https://bugs.webkit.org/show_bug.cgi?id=58818
28261
28262        Prevent allocating scratch buffers larger than the target GdkDrawable
28263        when creating a WidgetRenderingContext. This prevents incredibly large
28264        widgets from crashing the X Server. This change also allowed greatly
28265        simplifying the way that the painting offset is calculated.
28266
28267        * platform/gtk/WidgetRenderingContext.cpp:
28268        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
28269        larger than the target GdkDrawable.
28270        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
28271        blit by looking at the location of the target rect itself, rather than delaying the
28272        calculation up to this point.
28273        (WebCore::WidgetRenderingContext::calculateClipRect): Added.
28274        (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
28275        (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
28276        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
28277        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
28278        (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
28279        (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
28280        (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
28281        (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
28282        (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
28283        * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
28284        a member to store the IntSize mapping from the coordinates of the target to the coordinates
28285        of the scratch buffer.
28286
282872011-04-26  Patrick Gansterer  <paroga@webkit.org>
28288
28289        Reviewed by Adam Barth.
28290
28291        Respect charset in handleDataURL
28292        https://bugs.webkit.org/show_bug.cgi?id=47746
28293
28294        Original patch by Kwang Yul Seo <skyul@company100.net>
28295
28296        We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
28297        returns an empty string because encoding name is not specified.
28298
28299        Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.
28300
28301        This change fixes over 130 layout tests when running GTK port with cURL network backend.
28302
28303        * platform/network/DataURL.cpp:
28304        (WebCore::handleDataURL):
28305
283062011-04-26  Anders Carlsson  <andersca@apple.com>
28307
28308        Fix clang++ build.
28309
28310        You can never have too many casts!
28311
28312        * accessibility/mac/AccessibilityObjectWrapper.mm:
28313        (-[AccessibilityObjectWrapper position]):
28314        * editing/mac/SelectionControllerMac.mm:
28315        (WebCore::accessibilityConvertScreenRect):
28316
283172011-04-26  Chris Rogers  <crogers@google.com>
28318
28319        Reviewed by Kenneth Russell.
28320
28321        Fix web audio build on mac port
28322        https://bugs.webkit.org/show_bug.cgi?id=59355
28323
28324        No new tests since audio API is not yet implemented.
28325
28326        * WebCore.xcodeproj/project.pbxproj:
28327        * bindings/js/JSAudioContextCustom.cpp:
28328        (WebCore::JSAudioContext::visitChildren):
28329        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
28330        (WebCore::JSJavaScriptAudioNode::visitChildren):
28331        * webaudio/AudioContext.idl:
28332
283332011-04-26  Chris Rogers  <crogers@google.com>
28334
28335        Reviewed by Kenneth Russell.
28336
28337        Add FFTFrame implementation for FFmpeg
28338        https://bugs.webkit.org/show_bug.cgi?id=59408
28339
28340        No new tests since audio API is not yet implemented.
28341
28342        * WebCore.gyp/WebCore.gyp:
28343        * WebCore.gypi:
28344        * platform/audio/FFTFrame.h:
28345        * platform/audio/FFTFrameStub.cpp:
28346        * platform/audio/ffmpeg: Added.
28347        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
28348        (WebCore::FFTFrame::FFTFrame):
28349        (WebCore::FFTFrame::initialize):
28350        (WebCore::FFTFrame::cleanup):
28351        (WebCore::FFTFrame::~FFTFrame):
28352        (WebCore::FFTFrame::multiply):
28353        (WebCore::FFTFrame::doFFT):
28354        (WebCore::FFTFrame::doInverseFFT):
28355        (WebCore::FFTFrame::realData):
28356        (WebCore::FFTFrame::imagData):
28357        (WebCore::FFTFrame::getUpToDateComplexData):
28358        (WebCore::FFTFrame::contextForSize):
28359        * platform/audio/mac/FFTFrameMac.cpp:
28360        * webaudio/ConvolverNode.cpp:
28361
283622011-04-26  Jeff Miller  <jeffm@apple.com>
28363
28364        Add a newline at the end of SVGFEDropShadowElement.idl.
28365
28366        * svg/SVGFEDropShadowElement.idl:
28367
283682011-04-26  Mihai Parparita  <mihaip@chromium.org>
28369
28370        Reviewed by Eric Seidel.
28371
28372        InlineBox.h shouldn't include RenderBR.h
28373        https://bugs.webkit.org/show_bug.cgi?id=59480
28374
28375        Per bug 59348 RenderBR.h is a "top header" by include * size, because
28376        InlineBox.h includes it. There's no reason why it has to.
28377
28378        * rendering/InlineBox.h:
28379        * rendering/InlineTextBox.cpp:
28380        * rendering/RenderBlock.h:
28381
283822011-04-26  Sam Weinig  <sam@webkit.org>
28383
28384        Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
28385        I should do.
28386
28387        * bindings/js/JSDOMBinding.h:
28388        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
28389        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
28390        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
28391        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
28392        (WebCore::DOMConstructorObject::DOMConstructorObject):
28393        * bindings/js/JSDOMWrapper.h:
28394        (WebCore::JSDOMWrapper::JSDOMWrapper):
28395        * bindings/scripts/CodeGeneratorJS.pm:
28396
283972011-04-26  Sam Weinig  <sam@webkit.org>
28398
28399        Fix build.
28400
28401        * bindings/js/JSDOMWrapper.h:
28402        (WebCore::JSDOMWrapper::globalObject):
28403
284042011-04-26  Sam Weinig  <sam@webkit.org>
28405
28406        Roll r84945 back in with infinite recursion removed.
28407
28408        * bindings/js/JSDOMBinding.h:
28409        (WebCore::DOMConstructorObject::DOMConstructorObject):
28410        * bindings/js/JSDOMWrapper.h:
28411        (WebCore::JSDOMWrapper::globalObject):
28412        (WebCore::JSDOMWrapper::scriptExecutionContext):
28413        (WebCore::JSDOMWrapper::createStructure):
28414        (WebCore::JSDOMWrapper::JSDOMWrapper):
28415        * bindings/scripts/CodeGeneratorJS.pm:
28416
284172011-04-26  Sam Weinig  <sam@webkit.org>
28418
28419        Rollout previous patch. It broke stuff.
28420
28421        * bindings/js/JSDOMBinding.h:
28422        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
28423        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
28424        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
28425        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
28426        (WebCore::DOMConstructorObject::DOMConstructorObject):
28427        * bindings/js/JSDOMWrapper.h:
28428        (WebCore::JSDOMWrapper::JSDOMWrapper):
28429        * bindings/scripts/CodeGeneratorJS.pm:
28430
284312011-04-26  Sam Weinig  <sam@webkit.org>
28432
28433        Reviewed by Maciej Stachowiak.
28434
28435        Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
28436        https://bugs.webkit.org/show_bug.cgi?id=59310
28437
28438        * bindings/js/JSDOMBinding.h:
28439        (WebCore::DOMConstructorObject::DOMConstructorObject):
28440        * bindings/js/JSDOMWrapper.h:
28441        (WebCore::JSDOMWrapper::globalObject):
28442        (WebCore::JSDOMWrapper::scriptExecutionContext):
28443        (WebCore::JSDOMWrapper::createStructure):
28444        (WebCore::JSDOMWrapper::JSDOMWrapper):
28445        Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.
28446
28447        * bindings/scripts/CodeGeneratorJS.pm:
28448        Make JSDOMWrapper the base class.
28449
284502011-04-26  Dan Bernstein  <mitz@apple.com>
28451
28452        Reviewed by Mark Rowe.
28453
28454        Choose the compiler based on the Xcode version for Snow Leopard debug builds.
28455
28456        * Configurations/Base.xcconfig:
28457        * Configurations/CompilerVersion.xcconfig: Added.
28458
284592011-04-26  Adrienne Walker  <enne@google.com>
28460
28461        Reviewed by Geoffrey Garen.
28462
28463        Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
28464        https://bugs.webkit.org/show_bug.cgi?id=59469
28465
28466        * platform/chromium/TraceEvent.h:
28467        (WebCore::internal::ScopeTracer::ScopeTracer):
28468
284692011-04-25  Geoffrey Garen  <ggaren@apple.com>
28470
28471        Reviewed by Oliver Hunt.
28472
28473        Nixed special finalizer handling for WebCore strings
28474        https://bugs.webkit.org/show_bug.cgi?id=59425
28475
28476        Not needed anymore, since weak handles have finalizers.
28477
28478        * WebCore.exp.in: Exports!
28479
28480        * bindings/js/DOMWrapperWorld.cpp:
28481        (WebCore::JSStringOwner::finalize):
28482        (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
28483        so we don't need special treatment anymore.
28484
28485        * bindings/js/DOMWrapperWorld.h:
28486        (WebCore::JSStringOwner::JSStringOwner):
28487        (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
28488        instead of a WeakGCMap, so we can specify a custom finalizer.
28489
28490        * bindings/js/JSDOMBinding.cpp:
28491        (WebCore::jsStringSlowCase):
28492        * bindings/js/JSDOMBinding.h:
28493        (WebCore::jsString): Updated for string map change.
28494
284952011-04-26  David Kilzer  <ddkilzer@apple.com>
28496
28497        <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining
28498
28499        Reviewed by Antti Koivisto.
28500
28501        To enable HTTP pipelining post-SnowLeopard, use this command:
28502
28503            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
28504
28505        * platform/network/cf/ResourceRequestCFNet.cpp:
28506        (WebCore::readBooleanPreference): Re-added.  Originally added in
28507        r76756 and removed in r84120.
28508        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
28509        HTTP pipelining if use default is set to true.  Added macro
28510        guards to match those in ResourceRequestMac.mm.
28511
285122011-04-26  Antti Koivisto  <antti@apple.com>
28513
28514        Reviewed by Adele Peterson.
28515
28516        Don't strip fragments from file: urls in memory cache
28517        https://bugs.webkit.org/show_bug.cgi?id=59463
28518        <rdar://problem/9231130>
28519
28520        Some clients expect file: resources to be unique based on fragment identifier. 
28521        Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only
28522
28523        Test: fast/loader/file-protocol-fragment.html
28524
28525        * loader/cache/MemoryCache.cpp:
28526        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
28527
285282011-04-26  David Levin  <levin@chromium.org>
28529
28530        Reviewed by Darin Adler.
28531
28532        Fix more strict OwnPtr in WebCore (round N).
28533        https://bugs.webkit.org/show_bug.cgi?id=59464
28534
28535        * dom/Document.cpp:
28536        (WebCore::Document::Document):
28537        (WebCore::Document::attach):
28538        * fileapi/FileReader.cpp:
28539        (WebCore::FileReader::terminate):
28540        * loader/DocumentThreadableLoader.cpp:
28541        (WebCore::DocumentThreadableLoader::preflightFailure):
28542        * workers/DefaultSharedWorkerRepository.cpp:
28543        (WebCore::SharedWorkerConnectTask::create):
28544        (WebCore::SharedWorkerScriptLoader::load):
28545
285462011-04-26  Ruben  <chromium@hybridsource.org>
28547
28548        Reviewed by Tony Chang.
28549
28550        Change linux ifdefs for Chromium to Unix instead, allowing
28551        new Unix ports to be enabled by default
28552        https://bugs.webkit.org/show_bug.cgi?id=59297
28553
28554        No new tests, just changing preprocessor defines.
28555
28556        * bindings/js/JSInspectorFrontendHostCustom.cpp:
28557        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
28558        * dom/SelectElement.cpp:
28559        * loader/cache/CachedFont.cpp:
28560        * page/EventHandler.cpp:
28561        * page/chromium/EventHandlerChromium.cpp:
28562        * platform/Scrollbar.cpp:
28563        * platform/chromium/PlatformBridge.h:
28564        * platform/graphics/chromium/FontPlatformData.h:
28565        * platform/graphics/skia/FontCustomPlatformData.cpp:
28566        * platform/graphics/skia/FontCustomPlatformData.h:
28567
285682011-04-26  Ryosuke Niwa  <rniwa@webkit.org>
28569
28570        Reviewed by Dan Bernstein.
28571
28572        [RTL] Arabic/AB - after typing a date, cursors doesn't go back
28573        https://bugs.webkit.org/show_bug.cgi?id=49111
28574
28575        Even when the offset corresponds to a position visually left of the box
28576        and there aren't any inline boxes on the left, the previous/next position
28577        may still correspond to some position in the same line.
28578
28579        The bug was caused by our ignoring such cases. Fixed the bug by comparing
28580        previous/next position's inline box to the current box. If they match,
28581        then we stay on the same position because moving to the left visually at
28582        the left edge should not result in a position on the same line.
28583
28584        Also fixed a bug that WebKit uses offsets that are not extrema when moved to
28585        the left edge or to the right edge, and a bug that WebKit could not move to
28586        the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).
28587
28588        Test cases are added to editing/selection/move-left-right.html
28589
28590        * editing/VisiblePosition.cpp:
28591        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
28592        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
28593
285942011-04-26  Gabor Loki  <loki@webkit.org>
28595
28596        Reviewed by Csaba Osztrogonác.
28597
28598        Speeding up SVG filters with multicore (SMP) support
28599        https://bugs.webkit.org/show_bug.cgi?id=43903
28600
28601        Some SVG filters execute a huge number of pixel manipulations, which
28602        cannot be sped up by graphics accelerators, since their algorithm is
28603        too complex. Using the power of Symmetric Multi Processing (SMP) we
28604        can split up a task to smaller (data independent) tasks, which can be
28605        executed independently.
28606
28607        The ParallelJobs framework provides a simple way for distributed
28608        programming. The framework is based on WebKit's threading infrastructure,
28609        Open Multi-Processing's (OpenMP) API, and libdispatch API.
28610
28611        * ForwardingHeaders/wtf/ParallelJobs.h: Added.
28612        * platform/graphics/filters/FETurbulence.cpp:
28613        (WebCore::FETurbulence::PaintingData::PaintingData):
28614        (WebCore::FETurbulence::noise2D):
28615        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
28616        (WebCore::FETurbulence::fillRegion):
28617        (WebCore::FETurbulence::fillRegionWorker):
28618        (WebCore::FETurbulence::apply):
28619        * platform/graphics/filters/FETurbulence.h:
28620
286212011-04-26  Pavel Feldman  <pfeldman@google.com>
28622
28623        Reviewed by Yury Semikhatsky.
28624
28625        Web Inspector: close button is off in docked mode on a mac.
28626        https://bugs.webkit.org/show_bug.cgi?id=59453
28627
28628        * inspector/front-end/inspector.css:
28629        (.toolbar-item.close-left):
28630
286312011-04-26  Pavel Feldman  <pfeldman@google.com>
28632
28633        Reviewed by Yury Semikhatsky.
28634
28635        Web Inspector: New Style is not working (UI glitch)
28636        https://bugs.webkit.org/show_bug.cgi?id=59451
28637
28638        * inspector/InspectorDOMStorageAgent.cpp:
28639        (WebCore::InspectorDOMStorageAgent::setFrontend):
28640        * inspector/front-end/AuditRules.js:
28641        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
28642        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
28643        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
28644        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
28645        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
28646        * inspector/front-end/CSSStyleModel.js:
28647        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
28648        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
28649        (WebInspector.CSSStyleModel.prototype.addRule):
28650        (WebInspector.CSSStyleModel.prototype.addRule.callback):
28651        (WebInspector.CSSStyleModel.prototype._documentElementId):
28652        * inspector/front-end/DOMAgent.js:
28653        (WebInspector.DOMNode.prototype._addAttribute):
28654        (WebInspector.DOMNode.prototype.documentElement):
28655        * inspector/front-end/ResourceTreeModel.js:
28656        (WebInspector.PageDispatcher.prototype.frameDetached):
28657        * inspector/front-end/StylesSidebarPane.js:
28658        (WebInspector.StylesSidebarPane.prototype._createNewRule):
28659
286602011-04-26  Pavel Feldman  <pfeldman@google.com>
28661
28662        Reviewed by Yury Semikhatsky.
28663
28664        Web Inspector: introduce DOMStorage::enable and disable.
28665        https://bugs.webkit.org/show_bug.cgi?id=59445
28666
28667        * inspector/Inspector.json:
28668        * inspector/InspectorAgent.cpp:
28669        (WebCore::InspectorAgent::InspectorAgent):
28670        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
28671        * inspector/InspectorDOMStorageAgent.cpp:
28672        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
28673        (WebCore::InspectorDOMStorageAgent::restore):
28674        (WebCore::InspectorDOMStorageAgent::enable):
28675        (WebCore::InspectorDOMStorageAgent::disable):
28676        * inspector/InspectorDOMStorageAgent.h:
28677        (WebCore::InspectorDOMStorageAgent::create):
28678        * inspector/front-end/DOMStorage.js:
28679        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
28680        * inspector/front-end/ResourcesPanel.js:
28681        (WebInspector.ResourcesPanel.prototype._reset):
28682        * inspector/front-end/inspector.js:
28683
286842011-04-26  Pavel Feldman  <pfeldman@google.com>
28685
28686        Reviewed by Yury Semikhatsky.
28687
28688        Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
28689        https://bugs.webkit.org/show_bug.cgi?id=59440
28690
28691        * inspector/Inspector.json:
28692        * inspector/InspectorAgent.cpp:
28693        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
28694        * inspector/InspectorPageAgent.cpp:
28695        (WebCore::InspectorPageAgent::setFrontend):
28696        (WebCore::InspectorPageAgent::frameNavigated):
28697        * inspector/InspectorPageAgent.h:
28698        * inspector/front-end/AuditsPanel.js:
28699        (WebInspector.AuditsPanel):
28700        (WebInspector.AuditsPanel.prototype._onLoadEventFired):
28701        (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
28702        * inspector/front-end/CSSStyleModel.js:
28703        (WebInspector.CSSStyleModelResourceBinding):
28704        (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
28705        * inspector/front-end/DOMBreakpointsSidebarPane.js:
28706        (WebInspector.DOMBreakpointsSidebarPane):
28707        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
28708        * inspector/front-end/DOMStorage.js:
28709        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
28710        * inspector/front-end/ExtensionServer.js:
28711        (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
28712        (WebInspector.ExtensionServer.prototype.initExtensions):
28713        * inspector/front-end/NetworkPanel.js:
28714        (WebInspector.NetworkPanel):
28715        (WebInspector.NetworkPanel.prototype._onLoadEventFired):
28716        (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
28717        (WebInspector.NetworkPanel.prototype._frameNavigated):
28718        * inspector/front-end/ResourceTreeModel.js:
28719        (WebInspector.ResourceTreeModel):
28720        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
28721        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
28722        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
28723        (WebInspector.ResourceTreeModel.prototype._frameDetached):
28724        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
28725        (WebInspector.PageDispatcher):
28726        (WebInspector.PageDispatcher.prototype.domContentEventFired):
28727        (WebInspector.PageDispatcher.prototype.loadEventFired):
28728        (WebInspector.PageDispatcher.prototype.frameNavigated):
28729        (WebInspector.PageDispatcher.prototype.frameDetached):
28730        * inspector/front-end/ResourcesPanel.js:
28731        (WebInspector.ResourcesPanel):
28732        (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
28733        (WebInspector.ResourcesPanel.prototype._frameNavigated):
28734        * inspector/front-end/inspector.js:
28735
287362011-04-26  Csaba Osztrogonác  <ossy@webkit.org>
28737
28738        Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
28739        because it broke transitions/multiple-text-shadow-transition.html
28740
28741        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
28742        https://bugs.webkit.org/show_bug.cgi?id=59377
28743
28744        * css/CSSStyleSelector.cpp:
28745        (WebCore::CSSStyleSelector::applyProperty):
28746        * page/animation/AnimationBase.cpp:
28747        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
28748        (WebCore::PropertyWrapperShadow::blend):
28749        * rendering/style/RenderStyle.cpp:
28750        (WebCore::RenderStyle::setTextShadow):
28751        (WebCore::RenderStyle::setBoxShadow):
28752        * rendering/style/RenderStyle.h:
28753        (WebCore::InheritedFlags::textShadow):
28754        * rendering/style/StyleRareInheritedData.cpp:
28755        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
28756        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
28757        * rendering/style/StyleRareInheritedData.h:
28758        * rendering/style/StyleRareNonInheritedData.cpp:
28759        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
28760
287612011-04-26  Mihai Parparita  <mihaip@chromium.org>
28762
28763        Reviewed by Adam Barth.
28764
28765        Turn off make built-in implicit rules for derived sources makefile
28766        https://bugs.webkit.org/show_bug.cgi?id=59418
28767
28768        We don't use any of make's built-in implicit rules, turning them off
28769        speeds up parsing of the makefile.
28770
28771        * WebCore.xcodeproj/project.pbxproj:
28772        * gyp/generate-derived-sources.sh:
28773
287742011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>
28775
28776        Reviewed by Nikolas Zimmermann.
28777
28778        ASSERT failure in SVGUseElement
28779        https://bugs.webkit.org/show_bug.cgi?id=59313
28780
28781        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
28782        was wrong because the document may not be well-formed.
28783
28784        This patch asserts the element is not pending on resource or the
28785        document is not well-formed.
28786
28787        Test: svg/custom/use-crash-in-non-wellformed-document.svg
28788
28789        * svg/SVGUseElement.cpp:
28790        (WebCore::isWellFormedDocument):
28791        (WebCore::SVGUseElement::insertedIntoDocument):
28792
287932011-04-26  Mikhail Naganov  <mnaganov@chromium.org>
28794
28795        Reviewed by Pavel Feldman.
28796
28797        Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
28798        https://bugs.webkit.org/show_bug.cgi?id=59438
28799
28800        * inspector/front-end/DetailedHeapshotView.js:
28801        (WebInspector.DetailedHeapshotView.prototype._changeView):
28802
288032011-04-26  David Levin  <levin@chromium.org>
28804
28805        Reviewed by Adam Barth.
28806
28807        Fix a few OwnPtr strict errors in WebCore headers.
28808        https://bugs.webkit.org/show_bug.cgi?id=59431
28809
28810        * bindings/js/ScheduledAction.cpp:
28811        (WebCore::ScheduledAction::create):
28812        * css/MediaQueryMatcher.cpp:
28813        (WebCore::MediaQueryMatcher::prepareEvaluator):
28814        * dom/NodeRareData.h:
28815        (WebCore::NodeListsNodeData::create):
28816        * dom/ScriptRunner.h:
28817        (WebCore::ScriptRunner::create):
28818        * inspector/WorkerInspectorController.cpp:
28819        (WebCore::WorkerInspectorController::connectFrontend):
28820        * loader/icon/IconDatabase.h:
28821        (WebCore::IconDatabase::create):
28822        * platform/graphics/SimpleFontData.cpp:
28823        (WebCore::SimpleFontData::verticalRightOrientationFontData):
28824        (WebCore::SimpleFontData::uprightOrientationFontData):
28825        (WebCore::SimpleFontData::brokenIdeographFontData):
28826        * rendering/style/StyleRareInheritedData.cpp:
28827        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
28828        * rendering/svg/SVGResources.h:
28829        (WebCore::SVGResources::ClipperFilterMaskerData::create):
28830        (WebCore::SVGResources::MarkerData::create):
28831        (WebCore::SVGResources::FillStrokeData::create):
28832        * storage/StorageSyncManager.cpp:
28833        (WebCore::StorageSyncManager::close):
28834        * workers/WorkerContext.cpp:
28835        (WebCore::CloseWorkerContextTask::create):
28836        * workers/WorkerMessagingProxy.cpp:
28837        (WebCore::MessageWorkerContextTask::create):
28838        (WebCore::MessageWorkerTask::create):
28839        (WebCore::WorkerExceptionTask::create):
28840        (WebCore::WorkerContextDestroyedTask::create):
28841        (WebCore::WorkerTerminateTask::create):
28842        (WebCore::WorkerThreadActivityReportTask::create):
28843        * workers/WorkerRunLoop.cpp:
28844        (WebCore::WorkerRunLoop::Task::create):
28845        * workers/WorkerThread.cpp:
28846        (WebCore::WorkerThreadStartupData::create):
28847        (WebCore::WorkerThreadShutdownFinishTask::create):
28848        (WebCore::WorkerThreadShutdownStartTask::create):
28849
288502011-04-26  Adam Klein  <adamk@chromium.org>
28851
28852        Reviewed by Adam Barth.
28853
28854        Fix last strict OwnPtr violation under svg/...
28855        https://bugs.webkit.org/show_bug.cgi?id=59429
28856
28857        * svg/SVGDocumentExtensions.cpp:
28858        (WebCore::SVGDocumentExtensions::removePendingResource):
28859
288602011-04-26  Adam Barth  <abarth@webkit.org>
28861
28862        Reviewed by David Levin.
28863
28864        Fix more strict OwnPtr violations in WebCore
28865        https://bugs.webkit.org/show_bug.cgi?id=59433
28866
28867        These manifest in the Chromium build.
28868
28869        * bindings/v8/ScriptController.cpp:
28870        (WebCore::ScriptController::ScriptController):
28871        * bindings/v8/ScriptDebugServer.cpp:
28872        (WebCore::ScriptDebugServer::editScriptSource):
28873        * bindings/v8/V8DOMMap.cpp:
28874        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
28875        * bindings/v8/V8Proxy.cpp:
28876        (WebCore::V8Proxy::precompileScript):
28877        * bindings/v8/WorkerScriptController.cpp:
28878        (WebCore::WorkerScriptController::WorkerScriptController):
28879        * page/Page.cpp:
28880        (WebCore::Page::Page):
28881        (WebCore::Page::speechInput):
28882        * platform/PlatformGestureRecognizer.cpp:
28883        (WebCore::PlatformGestureRecognizer::create):
28884        * platform/PlatformGestureRecognizer.h:
28885        * platform/graphics/chromium/DrawingBufferChromium.cpp:
28886        (WebCore::DrawingBuffer::DrawingBuffer):
28887        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
28888        (WebCore::CCLayerImpl::CCLayerImpl):
28889        * platform/graphics/gpu/Texture.cpp:
28890        (WebCore::Texture::create):
28891        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
28892        (WebCore::BMPImageDecoder::decodeHelper):
28893        * platform/image-decoders/gif/GIFImageDecoder.cpp:
28894        (WebCore::GIFImageDecoder::decode):
28895        * platform/image-decoders/ico/ICOImageDecoder.cpp:
28896        (WebCore::ICOImageDecoder::decodeAtIndex):
28897        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
28898        (WebCore::JPEGImageDecoder::decode):
28899        * platform/image-decoders/png/PNGImageDecoder.cpp:
28900        (WebCore::PNGImageDecoder::decode):
28901        * storage/chromium/DatabaseTrackerChromium.cpp:
28902        (WebCore::DatabaseTracker::addOpenDatabase):
28903
289042011-04-25  David Levin  <levin@chromium.org>
28905
28906        Reviewed by Adam Barth.
28907
28908        Fix OwnPtr strict errors in CrossThreadTask.h
28909        https://bugs.webkit.org/show_bug.cgi?id=59427
28910
28911        * dom/CrossThreadTask.h:
28912        (WebCore::CrossThreadTask1::create):
28913        (WebCore::CrossThreadTask2::create):
28914        (WebCore::CrossThreadTask3::create):
28915        (WebCore::CrossThreadTask4::create):
28916        (WebCore::CrossThreadTask5::create):
28917        (WebCore::CrossThreadTask6::create):
28918        (WebCore::CrossThreadTask7::create):
28919        (WebCore::CrossThreadTask8::create):
28920
289212011-04-25  Mark Rowe  <mrowe@apple.com>
28922
28923        Reviewed by Dan Bernstein.
28924
28925        <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
28926
28927        * css/CSSStyleApplyProperty.cpp:
28928        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
28929        * css/CSSStyleApplyProperty.h:
28930        (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
28931
289322011-04-25  Levi Weintraub  <leviw@chromium.org>
28933
28934        Reviewed by Ryosuke Niwa.
28935
28936        REGRESSION: a character appears after tab span when typing immediately before the tab span
28937        https://bugs.webkit.org/show_bug.cgi?id=58132
28938
28939        Correcting the order of operations we use to avoid inserting into invalid positions in
28940        ReplaceSelectionCommand to avoid inserting into tab-spans.
28941
28942        Test: editing/pasteboard/paste-before-tab-span.html
28943
28944        * editing/ReplaceSelectionCommand.cpp:
28945        (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
28946        positionAvoidingPrecedingNodes, since that function could once again put our position
28947        inside a tab span.
28948
289492011-04-25  David Levin  <levin@chromium.org>
28950
28951        Reviewed by Adam Barth.
28952
28953        Fix OwnPtr strict error in ImageBuffer.h
28954        https://bugs.webkit.org/show_bug.cgi?id=59422
28955
28956        * platform/graphics/ImageBuffer.h:
28957        (WebCore::ImageBuffer::create):
28958
289592011-04-25  Adam Barth  <abarth@webkit.org>
28960
28961        Reviewed by David Levin.
28962
28963        Fix strict OwnPtr violations and whitelist known-tricky files
28964        https://bugs.webkit.org/show_bug.cgi?id=59421
28965
28966        With this patch, WebCore builds cleanly with strict OwnPtrs.
28967
28968        * dom/MessagePort.cpp:
28969        (WebCore::MessagePort::MessagePort):
28970        * dom/XMLDocumentParserLibxml2.cpp:
28971        * page/ContextMenuController.cpp:
28972        (WebCore::ContextMenuController::ContextMenuController):
28973        (WebCore::ContextMenuController::clearContextMenu):
28974        * page/PluginHalter.cpp:
28975        * platform/graphics/MediaPlayer.cpp:
28976        * platform/network/ResourceRequestBase.cpp:
28977        (WebCore::ResourceRequestBase::adopt):
28978        (WebCore::ResourceRequestBase::copyData):
28979        * svg/SVGDocumentExtensions.cpp:
28980
289812011-04-25  David Levin  <levin@chromium.org>
28982
28983        Reviewed by Adam Barth.
28984
28985        Fix OwnPtr strict errors in DatasetDOMStringMap.h.
28986        https://bugs.webkit.org/show_bug.cgi?id=59419
28987
28988        * dom/DatasetDOMStringMap.h:
28989        (WebCore::DatasetDOMStringMap::create):
28990
289912011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28992
28993        Reviewed by Eric Seidel.
28994
28995        KeyboardEvent.cpp should work with strict OwnPtrs.
28996        https://bugs.webkit.org/show_bug.cgi?id=59403
28997
28998        * dom/KeyboardEvent.cpp:
28999        (WebCore::KeyboardEvent::KeyboardEvent):
29000
290012011-04-25  James Robinson  <jamesr@chromium.org>
29002
29003        Reviewed by Eric Seidel.
29004
29005        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
29006        https://bugs.webkit.org/show_bug.cgi?id=59377
29007
29008        * css/CSSStyleSelector.cpp:
29009        (WebCore::CSSStyleSelector::applyProperty):
29010        * page/animation/AnimationBase.cpp:
29011        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
29012        (WebCore::PropertyWrapperShadow::blend):
29013        * rendering/style/RenderStyle.cpp:
29014        (WebCore::RenderStyle::setTextShadow):
29015        (WebCore::RenderStyle::setBoxShadow):
29016        * rendering/style/RenderStyle.h:
29017        (WebCore::InheritedFlags::textShadow):
29018        * rendering/style/StyleRareInheritedData.cpp:
29019        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
29020        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
29021        * rendering/style/StyleRareInheritedData.h:
29022        * rendering/style/StyleRareNonInheritedData.cpp:
29023        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
29024
290252011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>
29026
29027        Unreviewed, rolling out r84864.
29028        http://trac.webkit.org/changeset/84864
29029        https://bugs.webkit.org/show_bug.cgi?id=59413
29030
29031        Expect result of use-crash-in-non-wellformed-document.svg is
29032        platform dependent (Requested by leoyang on #webkit).
29033
29034        * svg/SVGUseElement.cpp:
29035        (WebCore::SVGUseElement::insertedIntoDocument):
29036
290372011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>
29038
29039        Reviewed by Nikolas Zimmermann.
29040
29041        ASSERT failure in SVGUseElement
29042        https://bugs.webkit.org/show_bug.cgi?id=59313
29043
29044        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
29045        was wrong because the document may not be well-formed.
29046
29047        This patch asserts the element is not pending on resource or the
29048        document is not well-formed.
29049
29050        Test: svg/custom/use-crash-in-non-wellformed-document.svg
29051
29052        * svg/SVGUseElement.cpp:
29053        (WebCore::isWellFormedDocument):
29054        (WebCore::SVGUseElement::insertedIntoDocument):
29055
290562011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
29057
29058        Reviewed by Tony Chang.
29059
29060        Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
29061        https://bugs.webkit.org/show_bug.cgi?id=59028
29062
29063        The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
29064        Moving the code for base class we can reduce the efforts to support DataTransferItems
29065        element in different platforms.
29066
29067        * Android.mk:
29068        * CMakeLists.txt:
29069        * GNUmakefile.list.am:
29070        * WebCore.gypi:
29071        * WebCore.pro:
29072        * WebCore.vcproj/WebCore.vcproj:
29073        * WebCore.xcodeproj/project.pbxproj:
29074        * dom/DataTransferItem.cpp:
29075        (WebCore::DataTransferItem::DataTransferItem):
29076        (WebCore::DataTransferItem::owner):
29077        (WebCore::DataTransferItem::kind):
29078        (WebCore::DataTransferItem::type):
29079        * dom/DataTransferItem.h:
29080        * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
29081        (WebCore::DataTransferItems::DataTransferItems):
29082        (WebCore::DataTransferItems::length):
29083        (WebCore::DataTransferItems::item):
29084        (WebCore::DataTransferItems::deleteItem):
29085        (WebCore::DataTransferItems::clear):
29086        (WebCore::DataTransferItems::add):
29087        * dom/DataTransferItems.h:
29088        * platform/chromium/DataTransferItemChromium.cpp:
29089        (WebCore::DataTransferItem::create):
29090        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
29091        (WebCore::DataTransferItemChromium::getAsString):
29092        (WebCore::DataTransferItemChromium::getAsFile):
29093        * platform/chromium/DataTransferItemChromium.h:
29094        * platform/chromium/DataTransferItemsChromium.cpp:
29095        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
29096        * platform/chromium/DataTransferItemsChromium.h:
29097
290982011-04-25  Chris Marrin  <cmarrin@apple.com>
29099
29100        Reviewed by Simon Fraser.
29101
29102        REGRESSION(75137): directly composited images are double-drawn sometimes
29103        https://bugs.webkit.org/show_bug.cgi?id=58632
29104
29105        Depending on the order of operations (layout, creating compositing 
29106        layers and creating simple image layers) a layer can have both image
29107        content and have m_drawsContent=true. In this case 2 copies of the image
29108        are drawn in the layer. If the image has alpha, it looks wrong.
29109
29110        I added an updateDrawsContent() call after setting the image contents
29111        to make sure it's correct.
29112
29113        I couldn't create a test case that shows the problem because layerTreeAsText()
29114        doesn't emit enough info to show this level of detail. I've opened
29115        https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
29116
29117        * rendering/RenderLayerBacking.cpp:
29118        (WebCore::RenderLayerBacking::updateImageContents):
29119
291202011-04-25  Kenneth Russell  <kbr@google.com>
29121
29122        Reviewed by David Levin.
29123
29124        Fix OwnPtr strict errors in InlineFlowBox.cpp
29125        https://bugs.webkit.org/show_bug.cgi?id=59392
29126
29127        * rendering/InlineFlowBox.cpp:
29128        (WebCore::InlineFlowBox::setLayoutOverflow):
29129        (WebCore::InlineFlowBox::setVisualOverflow):
29130
291312011-04-25  Kenneth Russell  <kbr@google.com>
29132
29133        Reviewed by David Levin.
29134
29135        Fix OwnPtr strict errors in TransformState.cpp
29136        https://bugs.webkit.org/show_bug.cgi?id=59380
29137
29138        * rendering/TransformState.cpp:
29139        (WebCore::TransformState::applyTransform):
29140
291412011-04-25  Adam Barth  <abarth@webkit.org>
29142
29143        Reviewed by James Robinson.
29144
29145        DOMWindow.cpp should work with strict OwnPtrs
29146        https://bugs.webkit.org/show_bug.cgi?id=59356
29147
29148        * page/DOMWindow.cpp:
29149        (WebCore::PostMessageTimer::fired):
29150        (WebCore::DOMWindow::postMessageTimerFired):
29151        * page/DOMWindow.h:
29152
291532011-04-25  Adam Klein  <adamk@chromium.org>
29154
29155        Reviewed by James Robinson.
29156
29157        Fix OwnPtr strict errors in some SVG classes.
29158        https://bugs.webkit.org/show_bug.cgi?id=59395
29159
29160        * rendering/style/SVGRenderStyleDefs.cpp:
29161        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
29162        * svg/SVGSVGElement.cpp:
29163        (WebCore::SVGSVGElement::SVGSVGElement):
29164        * svg/SVGStyledTransformableElement.cpp:
29165        (WebCore::SVGStyledTransformableElement::supplementalTransform):
29166        * svg/SVGTextElement.cpp:
29167        (WebCore::SVGTextElement::supplementalTransform):
29168        * svg/graphics/SVGImage.cpp:
29169        (WebCore::SVGImage::dataChanged):
29170
291712011-04-25  Adam Barth  <abarth@webkit.org>
29172
29173        Re-land changes to ValidationMessage.
29174
29175        * html/ValidationMessage.cpp:
29176        (WebCore::ValidationMessage::setMessage):
29177        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
29178        (WebCore::ValidationMessage::requestToHideMessage):
29179
291802011-04-25  Ojan Vafai  <ojan@chromium.org>
29181
29182        Reviewed by James Robinson.
29183
29184        fix OwnPtr strict error in FrameView.cpp
29185        https://bugs.webkit.org/show_bug.cgi?id=59402
29186
29187        * page/FrameView.cpp:
29188        (WebCore::FrameView::FrameView):
29189        (WebCore::FrameView::addWidgetToUpdate):
29190
291912011-04-25  Adam Klein  <adamk@chromium.org>
29192
29193        Unreviewed, rolling out r84844.
29194        http://trac.webkit.org/changeset/84844
29195        https://bugs.webkit.org/show_bug.cgi?id=59395
29196
29197        Checked in too much.
29198
29199        * rendering/style/SVGRenderStyleDefs.cpp:
29200        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
29201        * svg/SVGDocumentExtensions.cpp:
29202        (WebCore::SVGDocumentExtensions::removePendingResource):
29203        * svg/SVGSVGElement.cpp:
29204        (WebCore::SVGSVGElement::SVGSVGElement):
29205        * svg/SVGStyledTransformableElement.cpp:
29206        (WebCore::SVGStyledTransformableElement::supplementalTransform):
29207        * svg/SVGTextElement.cpp:
29208        (WebCore::SVGTextElement::supplementalTransform):
29209        * svg/graphics/SVGImage.cpp:
29210        (WebCore::SVGImage::dataChanged):
29211
292122011-04-25  Adrienne Walker  <enne@google.com>
29213
29214        Reviewed by David Levin.
29215
29216        Make ActiveDOMCallback play nice with OwnPtr strict mode
29217        https://bugs.webkit.org/show_bug.cgi?id=59398
29218
29219        * bindings/generic/ActiveDOMCallback.cpp:
29220        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
29221
292222011-04-25  Adam Klein  <adamk@chromium.org>
29223
29224        Reviewed by James Robinson.
29225
29226        Fix OwnPtr strict errors in some SVG classes.
29227        https://bugs.webkit.org/show_bug.cgi?id=59395
29228
29229        * rendering/style/SVGRenderStyleDefs.cpp:
29230        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
29231        * svg/SVGSVGElement.cpp:
29232        (WebCore::SVGSVGElement::SVGSVGElement):
29233        * svg/SVGStyledTransformableElement.cpp:
29234        (WebCore::SVGStyledTransformableElement::supplementalTransform):
29235        * svg/SVGTextElement.cpp:
29236        (WebCore::SVGTextElement::supplementalTransform):
29237        * svg/graphics/SVGImage.cpp:
29238        (WebCore::SVGImage::dataChanged):
29239
292402011-04-25  James Robinson  <jamesr@chromium.org>
29241
29242        Unreviewed, rolling out r84835.
29243        http://trac.webkit.org/changeset/84835
29244        https://bugs.webkit.org/show_bug.cgi?id=59394
29245
29246        Breaks compile because Deque<OwnPtr> doesn't work
29247
29248        * dom/XMLDocumentParserLibxml2.cpp:
29249        (WebCore::PendingCallbacks::~PendingCallbacks):
29250        (WebCore::PendingCallbacks::appendStartElementNSCallback):
29251        (WebCore::PendingCallbacks::appendEndElementNSCallback):
29252        (WebCore::PendingCallbacks::appendCharactersCallback):
29253        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
29254        (WebCore::PendingCallbacks::appendCDATABlockCallback):
29255        (WebCore::PendingCallbacks::appendCommentCallback):
29256        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
29257        (WebCore::PendingCallbacks::appendErrorCallback):
29258        (WebCore::XMLDocumentParser::XMLDocumentParser):
29259        * html/ValidationMessage.cpp:
29260        (WebCore::ValidationMessage::setMessage):
29261        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
29262        (WebCore::ValidationMessage::requestToHideMessage):
29263
292642011-04-25  James Robinson  <jamesr@chromium.org>
29265
29266        Reviewed by Sam Weinig.
29267
29268        Fix OwnPtr strict mode violation in ImageBufferCG
29269        https://bugs.webkit.org/show_bug.cgi?id=59396
29270
29271        * platform/graphics/cg/ImageBufferCG.cpp:
29272        (WebCore::ImageBuffer::ImageBuffer):
29273
292742011-04-25  Huang Dongsung  <luxtella@company100.net>
29275
29276        Reviewed by Dirk Schulze.
29277
29278        [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
29279        https://bugs.webkit.org/show_bug.cgi?id=59308
29280
29281        An unused local variable is created and even allocates heap memory.
29282
29283        * platform/graphics/skia/PlatformContextSkia.cpp:
29284        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
29285
292862011-04-25  Geoffrey Garen  <ggaren@apple.com>
29287
29288        Qt build fix: Updated files not used by other ports for rename.
29289
29290        * bindings/js/JSTouchCustom.cpp:
29291        (WebCore::toJSNewlyCreated):
29292        * bindings/js/JSTouchListCustom.cpp:
29293        (WebCore::toJSNewlyCreated):
29294
292952011-04-25  Adrienne Walker  <enne@google.com>
29296
29297        Reviewed by David Levin.
29298
29299        WebCore/css/CSS* files should play nice with strict OwnPtrs
29300        https://bugs.webkit.org/show_bug.cgi?id=59382
29301
29302        * css/CSSFontFaceSource.cpp:
29303        (WebCore::CSSFontFaceSource::getFontData):
29304        * css/CSSParser.cpp:
29305        (WebCore::CSSParser::addProperty):
29306        (WebCore::CSSParser::parseValue):
29307
293082011-04-25  Adam Barth  <abarth@webkit.org>
29309
29310        Reviewed by James Robinson.
29311
29312        ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
29313        https://bugs.webkit.org/show_bug.cgi?id=59394
29314
29315        * dom/XMLDocumentParserLibxml2.cpp:
29316        (WebCore::PendingCallbacks::PendingCallbacks):
29317        (WebCore::PendingCallbacks::appendStartElementNSCallback):
29318        (WebCore::PendingCallbacks::appendEndElementNSCallback):
29319        (WebCore::PendingCallbacks::appendCharactersCallback):
29320        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
29321        (WebCore::PendingCallbacks::appendCDATABlockCallback):
29322        (WebCore::PendingCallbacks::appendCommentCallback):
29323        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
29324        (WebCore::PendingCallbacks::appendErrorCallback):
29325        (WebCore::XMLDocumentParser::XMLDocumentParser):
29326        * html/ValidationMessage.cpp:
29327        (WebCore::ValidationMessage::setMessage):
29328        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
29329        (WebCore::ValidationMessage::requestToHideMessage):
29330
293312011-04-25  James Robinson  <jamesr@chromium.org>
29332
29333        Reviewed by Adam Barth.
29334
29335        Fix OwnPtr strictness issues in WebCore/inspector/
29336        https://bugs.webkit.org/show_bug.cgi?id=59387
29337
29338        * inspector/InspectorAgent.cpp:
29339        (WebCore::InspectorAgent::InspectorAgent):
29340        * inspector/InspectorController.cpp:
29341        (WebCore::InspectorController::InspectorController):
29342        * inspector/InspectorStyleSheet.cpp:
29343        (WebCore::InspectorStyleSheet::ensureSourceData):
29344
293452011-04-25  Geoffrey Garen  <ggaren@apple.com>
29346
29347        Reviewed by Beth Dakin.
29348
29349        Removed XPathNamespace because it was unused
29350        https://bugs.webkit.org/show_bug.cgi?id=59381
29351        
29352        This allows us to make Node::ownerDocument() non-virtual, though it has
29353        the unhappy side-effect of rebuilding the world.
29354
29355        * CMakeLists.txt:
29356        * GNUmakefile.list.am:
29357        * WebCore.gypi:
29358        * WebCore.pro:
29359        * WebCore.vcproj/WebCore.vcproj:
29360        * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
29361
29362        * dom/Node.h: Hello fast code!
29363
29364        * xml/XPathNamespace.cpp: Removed.
29365        * xml/XPathNamespace.h: Removed.
29366
293672011-04-25  Adam Barth  <abarth@webkit.org>
29368
29369        Reviewed by Darin Adler.
29370
29371        HistoryItemMac should play nice with OwnPtrs
29372        https://bugs.webkit.org/show_bug.cgi?id=59388
29373
29374        * history/mac/HistoryItemMac.mm:
29375        (WebCore::HistoryItem::setTransientProperty):
29376
293772011-04-25  David Levin  <levin@chromium.org>
29378
29379        Reviewed by Kenneth Russell.
29380
29381        Fix strict OwnPtrs in ContextMenuController.cpp
29382        https://bugs.webkit.org/show_bug.cgi?id=59375
29383
29384        * page/ContextMenuController.cpp:
29385        (WebCore::ContextMenuController::createContextMenu):
29386        (WebCore::separatorItem):
29387
293882011-04-25  Adam Barth  <abarth@webkit.org>
29389
29390        Reviewed by Darin Adler.
29391
29392        CheckedRadioButton should play nice with strict OwnPtr
29393        https://bugs.webkit.org/show_bug.cgi?id=59386
29394
29395        * dom/CheckedRadioButtons.cpp:
29396        (WebCore::CheckedRadioButtons::addButton):
29397
293982011-04-25  Adam Barth  <abarth@webkit.org>
29399
29400        Reviewed by David Levin.
29401
29402        Resource*.cpp should play nice with strict OwnPtrs
29403        https://bugs.webkit.org/show_bug.cgi?id=59383
29404
29405        * bridge/runtime_method.cpp:
29406        (JSC::RuntimeMethod::RuntimeMethod):
29407        * platform/network/ResourceHandle.cpp:
29408        (WebCore::ResourceHandle::ResourceHandle):
29409        * platform/network/ResourceResponseBase.cpp:
29410        (WebCore::ResourceResponseBase::adopt):
29411        (WebCore::ResourceResponseBase::copyData):
29412
294132011-04-25  Adam Barth  <abarth@webkit.org>
29414
29415        Reviewed by David Levin.
29416
29417        Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
29418        https://bugs.webkit.org/show_bug.cgi?id=59374
29419
29420        * bridge/objc/objc_runtime.mm:
29421        (JSC::Bindings::callObjCFallbackObject):
29422        * page/Page.cpp:
29423        (WebCore::Page::Page):
29424        (WebCore::Page::initGroup):
29425        * page/PageGroup.cpp:
29426        (WebCore::PageGroup::addUserScriptToWorld):
29427        (WebCore::PageGroup::addUserStyleSheetToWorld):
29428        * page/mac/PageMac.cpp:
29429        (WebCore::Page::addSchedulePair):
29430
294312011-04-25  Geoffrey Garen  <ggaren@apple.com>
29432
29433        Build fix: This time for sure!
29434        
29435        * dom/make_names.pl:
29436
294372011-04-25  Geoffrey Garen  <ggaren@apple.com>
29438
29439        Build fix: Let's edit the script instead of the autogenrated file. That
29440        way, our change will stand the test of time.
29441
29442        * dom/make_names.pl:
29443
294442011-04-25  Adam Barth  <abarth@webkit.org>
29445
29446        Reviewed by David Levin.
29447
29448        Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
29449        https://bugs.webkit.org/show_bug.cgi?id=59368
29450
29451        * html/HTMLMediaElement.cpp:
29452        (WebCore::HTMLMediaElement::HTMLMediaElement):
29453        * platform/network/HTTPHeaderMap.cpp:
29454        (WebCore::HTTPHeaderMap::copyData):
29455
294562011-04-25  James Robinson  <jamesr@chromium.org>
29457
29458        Reviewed by Adam Barth.
29459
29460        Fix strict OwnPtr violations in Render*.cpp
29461        https://bugs.webkit.org/show_bug.cgi?id=59361
29462
29463        * rendering/RenderBlock.cpp:
29464        (WebCore::RenderBlock::RenderBlock):
29465        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
29466        * rendering/RenderBox.cpp:
29467        (WebCore::RenderBox::addLayoutOverflow):
29468        (WebCore::RenderBox::addVisualOverflow):
29469        * rendering/RenderButton.cpp:
29470        (WebCore::RenderButton::styleDidChange):
29471        * rendering/RenderLayer.cpp:
29472        (WebCore::RenderLayer::updateTransform):
29473        (WebCore::RenderLayer::paintChildLayerIntoColumns):
29474        (WebCore::RenderLayer::hitTestChildLayerColumns):
29475        (WebCore::RenderLayer::ensureBacking):
29476        * rendering/RenderTable.cpp:
29477        (WebCore::RenderTable::styleDidChange):
29478        * rendering/RenderView.cpp:
29479        (WebCore::RenderView::compositor):
29480        * rendering/style/RenderStyle.cpp:
29481        (WebCore::RenderStyle::addCachedPseudoStyle):
29482        (WebCore::RenderStyle::accessCounterDirectives):
29483        (WebCore::RenderStyle::accessAnimations):
29484        (WebCore::RenderStyle::accessTransitions):
29485        * rendering/svg/RenderSVGResourceFilter.cpp:
29486        (WebCore::RenderSVGResourceFilter::applyResource):
29487        * rendering/svg/SVGResources.cpp:
29488        (WebCore::SVGResources::SVGResources):
29489
294902011-04-25  Adam Barth  <abarth@webkit.org>
29491
29492        Attempt to fix the compile.
29493
29494        * platform/graphics/MediaPlayer.cpp:
29495        (WebCore::MediaPlayer::loadWithNextMediaEngine):
29496
294972011-04-25  Geoffrey Garen  <ggaren@apple.com>
29498
29499        Rubber-stamped by Beth Dakin.
29500
29501        Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into 
29502        CREATE_DOM_WRAPPER because there's no meaningful difference between
29503        them anymore.
29504
29505        * bindings/js/JSCDATASectionCustom.cpp:
29506        (WebCore::toJSNewlyCreated):
29507        * bindings/js/JSCSSRuleCustom.cpp:
29508        (WebCore::toJS):
29509        * bindings/js/JSCSSValueCustom.cpp:
29510        (WebCore::toJS):
29511        * bindings/js/JSDOMBinding.h:
29512        * bindings/js/JSDocumentCustom.cpp:
29513        (WebCore::toJS):
29514        * bindings/js/JSElementCustom.cpp:
29515        (WebCore::toJSNewlyCreated):
29516        * bindings/js/JSEventCustom.cpp:
29517        (WebCore::toJS):
29518        * bindings/js/JSHTMLCollectionCustom.cpp:
29519        (WebCore::toJS):
29520        * bindings/js/JSImageDataCustom.cpp:
29521        (WebCore::toJS):
29522        * bindings/js/JSNodeCustom.cpp:
29523        (WebCore::createWrapperInline):
29524        * bindings/js/JSSVGPathSegCustom.cpp:
29525        (WebCore::toJS):
29526        * bindings/js/JSStyleSheetCustom.cpp:
29527        (WebCore::toJS):
29528        * bindings/js/JSTextCustom.cpp:
29529        (WebCore::toJSNewlyCreated):
29530        * bindings/js/JSWebKitCSSMatrixCustom.cpp:
29531        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
29532        * bindings/js/JSWebSocketCustom.cpp:
29533        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
29534        * bindings/js/JSXMLHttpRequestCustom.cpp:
29535        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
29536        * bindings/js/JSXSLTProcessorCustom.cpp:
29537        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
29538
295392011-04-25  Adam Barth  <abarth@webkit.org>
29540
29541        Reviewed by James Robinson.
29542
29543        HTMLDocumentParser should play nice with OwnPtrs
29544        https://bugs.webkit.org/show_bug.cgi?id=59363
29545
29546        * html/parser/HTMLDocumentParser.cpp:
29547        (WebCore::HTMLDocumentParser::pumpTokenizer):
29548
295492011-04-25  Adam Barth  <abarth@webkit.org>
29550
29551        Reviewed by James Robinson.
29552
29553        Frame.cpp should work with strict OwnPtrs
29554        https://bugs.webkit.org/show_bug.cgi?id=59360
29555
29556        * page/Frame.cpp:
29557        (WebCore::createRegExpForLabels):
29558
295592011-04-25  Adam Barth  <abarth@webkit.org>
29560
29561        Reviewed by David Levin.
29562
29563        Fix strict OwnPtr in Element.cpp
29564        https://bugs.webkit.org/show_bug.cgi?id=59357
29565
29566        * dom/NodeRareData.h:
29567        (WebCore::NodeRareData::ensureEventTargetData):
29568
295692011-04-25  Adam Barth  <abarth@webkit.org>
29570
29571        Reviewed by David Levin.
29572
29573        Fix strict OwnPtr issues in Media*.cpp
29574        https://bugs.webkit.org/show_bug.cgi?id=59354
29575
29576        There's still a tricky case in MediaPlayer.cpp, but we'll worry about
29577        that later.
29578
29579        * css/MediaQueryMatcher.cpp:
29580        (WebCore::MediaQueryMatcher::addListener):
29581        * dom/Document.cpp:
29582        * platform/graphics/MediaPlayer.cpp:
29583        (WebCore::createNullMediaPlayer):
29584
295852011-04-25  James Robinson  <jamesr@chromium.org>
29586
29587        Reviewed by David Levin.
29588
29589        Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
29590        https://bugs.webkit.org/show_bug.cgi?id=59353
29591
29592        * rendering/RenderLayerCompositor.cpp:
29593        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
29594
295952011-04-25  Adam Barth  <abarth@webkit.org>
29596
29597        Reviewed by James Robinson.
29598
29599        Worker*.cpp should work with strict OwnPtrs
29600        https://bugs.webkit.org/show_bug.cgi?id=59346
29601
29602        * inspector/WorkerInspectorController.cpp:
29603        (WebCore::WorkerInspectorController::WorkerInspectorController):
29604        * workers/WorkerContext.cpp:
29605        (WebCore::WorkerContext::WorkerContext):
29606        * workers/WorkerRunLoop.cpp:
29607        (WebCore::WorkerRunLoop::WorkerRunLoop):
29608        * workers/WorkerScriptLoader.cpp:
29609        (WebCore::WorkerScriptLoader::createResourceRequest):
29610
296112011-04-25  James Robinson  <jamesr@chromium.org>
29612
29613        Reviewed by Adam Barth.
29614
29615        Remove bad use of OwnPtr::set() in IconDatabase.cpp
29616        https://bugs.webkit.org/show_bug.cgi?id=59344
29617
29618        Needed for strict OwnPtr compliance.
29619
29620        * loader/icon/IconDatabase.cpp:
29621        (WebCore::readySQLiteStatement):
29622
296232011-04-25  Adam Barth  <abarth@webkit.org>
29624
29625        Reviewed by Maciej Stachowiak.
29626
29627        ImageBuffer.h should work with strict OwnPtrs
29628        https://bugs.webkit.org/show_bug.cgi?id=59341
29629
29630        This patch is to prepare for the strict OwnPtr hack-a-thon.
29631
29632        * platform/graphics/ImageBuffer.h:
29633        (WebCore::ImageBuffer::create):
29634
296352011-04-25  Steve Falkenburg  <sfalken@apple.com>
29636
29637        Reviewed by Brian Weinstein.
29638
29639        WebCore build on Windows should include windows.h in its precompiled header to speed builds
29640        https://bugs.webkit.org/show_bug.cgi?id=59339
29641
29642        windows.h is included by several of the underlying wtf headers, including Atomics.h and
29643        ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
29644        
29645        On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
29646        (a 12% speedup).
29647
29648        * WebCorePrefix.h: Include windows.h
29649
296502011-04-25  Martin Robinson  <mrobinson@igalia.com>
29651
29652        Reviewed by Xan Lopez.
29653
29654        [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
29655        https://bugs.webkit.org/show_bug.cgi?id=59311
29656
29657        * platform/gtk/MainFrameScrollbarGtk.cpp:
29658        (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
29659        disconnect any lingering signal handlers. This prevents an adjustment from controlling the
29660        active ScrollView and some zombie ScrollView.
29661
296622011-04-25  Geoffrey Garen  <ggaren@apple.com>
29663
29664        Another shot at fixing the EFL build.
29665
29666        * UseJSC.cmake:
29667        * bindings/js/JSDOMBinding.cpp:
29668
296692011-04-25  Geoffrey Garen  <ggaren@apple.com>
29670
29671        Try to fix EFL build.
29672
29673        * UseJSC.cmake: Added a missing file.
29674
296752011-04-25  Geoffrey Garen  <ggaren@apple.com>
29676
29677        Reviewed by Oliver Hunt.
29678
29679        Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
29680        https://bugs.webkit.org/show_bug.cgi?id=59333
29681
29682        * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
29683
29684        * bindings/js/JSDOMBinding.cpp:
29685        * bindings/js/JSDOMBinding.h:
29686        * bindings/js/JSDocumentCustom.cpp:
29687        * bindings/js/JSWorkerContextCustom.cpp:
29688        (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
29689
29690        * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
29691        lifetime management.
29692
29693        * dom/Document.idl: No need for a custom mark function anymore, since
29694        ActiveDOMObjets now manage their own lifetimes.
29695
29696        * dom/MessagePort.cpp:
29697        (WebCore::MessagePort::hasPendingActivity): Correctly report that we
29698        have pending activity when we're remotely entangled, instead of relying
29699        on our clients to know this about us and do the check for us.
29700
29701        * dom/MessagePort.h: FIXME!
29702
29703        * dom/MessagePort.idl:
29704        * fileapi/DOMFileSystem.idl:
29705        * fileapi/FileReader.idl:
29706        * fileapi/FileWriter.idl:
29707        * notifications/Notification.idl:
29708        * notifications/NotificationCenter.idl:
29709        * page/EventSource.idl:
29710        * storage/IDBDatabase.idl:
29711        * storage/IDBRequest.idl:
29712        * storage/IDBTransaction.idl:
29713        * webaudio/AudioContext.idl:
29714        * websockets/WebSocket.idl:
29715        * workers/AbstractWorker.idl:
29716        * workers/SharedWorker.idl:
29717        * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
29718
29719        * workers/WorkerContext.cpp:
29720        (WebCore::WorkerContext::hasPendingActivity): No need to make up for
29721        MessagePort::hasPendingActivity being wrong anymore, since it's now right.
29722
29723        * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
29724
297252011-04-25  Yury Semikhatsky  <yurys@chromium.org>
29726
29727        Reviewed by Pavel Feldman.
29728
29729        Web Inspector: worker messages should be routed to corresponding worker front-end
29730        https://bugs.webkit.org/show_bug.cgi?id=59323
29731
29732        Added WorkerManager which is responsible for routing messages between
29733        Page inspector front-end and Worker inspector front-ends.
29734
29735        * WebCore.gypi:
29736        * inspector/front-end/WebKit.qrc:
29737        * inspector/front-end/WorkerManager.js: Added.
29738        (WebInspector.WorkerManager):
29739        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
29740        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
29741        (WebInspector.WorkerManager.loaded):
29742        (WebInspector.WorkerFrontendStub):
29743        (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
29744        (WebInspector.WorkerDispatcher):
29745        (WebInspector.WorkerDispatcher.prototype._receiveMessage):
29746        (WebInspector.WorkerDispatcher.prototype.workerCreated):
29747        (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
29748        * inspector/front-end/inspector.html:
29749        * inspector/front-end/inspector.js:
29750        (WebInspector.loaded):
29751
297522011-04-25  Annie Sullivan  <sullivan@chromium.org>
29753
29754        Reviewed by Pavel Feldman.
29755
29756        Web Inspector: [Resources panel] Should be easy to copy data.
29757        https://bugs.webkit.org/show_bug.cgi?id=45662
29758
29759        Adds context menu items to copy resource location, resource request headers, and resource response headers.
29760
29761        * inspector/front-end/NetworkPanel.js:
29762        (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
29763        (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
29764        (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
29765        (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
29766        * inspector/front-end/Resource.js:
29767        (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
29768        (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
29769
297702011-04-25  Alexander Pavlov  <apavlov@chromium.org>
29771
29772        Reviewed by Yury Semikhatsky.
29773
29774        Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
29775        https://bugs.webkit.org/show_bug.cgi?id=59322
29776
29777        Use TextResourceDecoder to determine external stylesheet charsets correctly.
29778
29779        Test: inspector/styles/parse-utf8-bom.html
29780
29781        * inspector/InspectorStyleSheet.cpp:
29782        (WebCore::InspectorStyleSheet::originalStyleSheetText):
29783
297842011-04-25  Pavel Feldman  <pfeldman@google.com>
29785
29786        Not reviewed: Inspector.json cleanup.
29787
29788        * inspector/Inspector.json:
29789
297902011-04-25  Yury Semikhatsky  <yurys@chromium.org>
29791
29792        Reviewed by Pavel Feldman.
29793
29794        Web Inspector: introduce InspectorWorkerAgent
29795        https://bugs.webkit.org/show_bug.cgi?id=59320
29796
29797        InspectorWorkerAgent is responsible for routing inspector messages
29798        between worker context inspector agents and corresponding worker
29799        inspector front-end.
29800
29801        * CMakeLists.txt:
29802        * GNUmakefile.list.am:
29803        * WebCore.gypi:
29804        * WebCore.pro:
29805        * WebCore.vcproj/WebCore.vcproj:
29806        * WebCore.xcodeproj/project.pbxproj:
29807        * inspector/CodeGeneratorInspector.pm:
29808        * inspector/Inspector.json:
29809        * inspector/InspectorAgent.cpp:
29810        (WebCore::InspectorAgent::InspectorAgent):
29811        (WebCore::InspectorAgent::setFrontend):
29812        (WebCore::InspectorAgent::disconnectFrontend):
29813        * inspector/InspectorAgent.h:
29814        (WebCore::InspectorAgent::workerAgent):
29815        * inspector/InspectorController.cpp:
29816        (WebCore::InspectorController::connectFrontend):
29817        (WebCore::InspectorController::disconnectFrontend):
29818        * inspector/InspectorInstrumentation.cpp:
29819        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
29820        * inspector/InspectorInstrumentation.h:
29821        (WebCore::InspectorInstrumentation::willStartWorkerContext):
29822        (WebCore::InspectorInstrumentation::didStartWorkerContext):
29823        * inspector/InspectorWorkerAgent.cpp: Added.
29824        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
29825        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
29826        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
29827        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
29828        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
29829        (WebCore::InspectorWorkerAgent::create):
29830        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
29831        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
29832        (WebCore::InspectorWorkerAgent::setFrontend):
29833        (WebCore::InspectorWorkerAgent::clearFrontend):
29834        (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
29835        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
29836        * inspector/InspectorWorkerAgent.h: Added.
29837        * inspector/InstrumentingAgents.h:
29838        (WebCore::InstrumentingAgents::InstrumentingAgents):
29839        (WebCore::InstrumentingAgents::inspectorWorkerAgent):
29840        (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
29841        * inspector/WorkerInspectorController.cpp:
29842        (WebCore::WorkerInspectorController::connectFrontend):
29843        * inspector/generate-inspector-idl:
29844        * workers/Worker.cpp:
29845        (WebCore::Worker::notifyFinished):
29846        * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
29847        messages sent from the inspected page worker agent to the worker context inspector agents.
29848        (WebCore::WorkerContextInspectorProxy::connectFrontend):
29849        (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
29850        (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
29851        (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
29852        * workers/WorkerContextProxy.h:
29853        (WebCore::WorkerContextProxy::inspectorProxy):
29854
298552011-04-25  Pavel Feldman  <pfeldman@google.com>
29856
29857        Reviewed by Yury Semikhatsky.
29858
29859        Web Inspector: move Frame and Resource Tree management into the Page agent.
29860        https://bugs.webkit.org/show_bug.cgi?id=59321
29861
29862        Network agent should only handle network-related activities.
29863        Frame structure should be managed by the Page agent instead.
29864
29865        * inspector/Inspector.json:
29866        * inspector/InspectorAgent.cpp:
29867        (WebCore::InspectorAgent::InspectorAgent):
29868        * inspector/InspectorDOMAgent.cpp:
29869        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
29870        (WebCore::InspectorDOMAgent::setFrontend):
29871        (WebCore::InspectorDOMAgent::restore):
29872        (WebCore::InspectorDOMAgent::highlightFrame):
29873        * inspector/InspectorDOMAgent.h:
29874        (WebCore::InspectorDOMAgent::create):
29875        * inspector/InspectorInstrumentation.cpp:
29876        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
29877        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
29878        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
29879        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
29880        * inspector/InspectorPageAgent.cpp:
29881        (WebCore::InspectorPageAgent::create):
29882        (WebCore::InspectorPageAgent::resourceContent):
29883        (WebCore::InspectorPageAgent::resourceContentBase64):
29884        (WebCore::InspectorPageAgent::resourceData):
29885        (WebCore::InspectorPageAgent::cachedResource):
29886        (WebCore::InspectorPageAgent::resourceTypeString):
29887        (WebCore::InspectorPageAgent::cachedResourceType):
29888        (WebCore::InspectorPageAgent::cachedResourceTypeString):
29889        (WebCore::InspectorPageAgent::InspectorPageAgent):
29890        (WebCore::InspectorPageAgent::setFrontend):
29891        (WebCore::InspectorPageAgent::reload):
29892        (WebCore::InspectorPageAgent::open):
29893        (WebCore::InspectorPageAgent::getCookies):
29894        (WebCore::InspectorPageAgent::deleteCookie):
29895        (WebCore::InspectorPageAgent::getResourceTree):
29896        (WebCore::InspectorPageAgent::getResourceContent):
29897        (WebCore::InspectorPageAgent::restore):
29898        (WebCore::InspectorPageAgent::domContentEventFired):
29899        (WebCore::InspectorPageAgent::loadEventFired):
29900        (WebCore::InspectorPageAgent::frameNavigated):
29901        (WebCore::InspectorPageAgent::frameDetached):
29902        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
29903        (WebCore::InspectorPageAgent::mainFrame):
29904        (WebCore::pointerAsId):
29905        (WebCore::InspectorPageAgent::frameForId):
29906        (WebCore::InspectorPageAgent::frameId):
29907        (WebCore::InspectorPageAgent::loaderId):
29908        (WebCore::InspectorPageAgent::buildObjectForFrame):
29909        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
29910        * inspector/InspectorPageAgent.h:
29911        * inspector/InspectorResourceAgent.cpp:
29912        (WebCore::buildObjectForCachedResource):
29913        (WebCore::InspectorResourceAgent::willSendRequest):
29914        (WebCore::InspectorResourceAgent::didReceiveResponse):
29915        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
29916        (WebCore::InspectorResourceAgent::setInitialScriptContent):
29917        (WebCore::InspectorResourceAgent::setInitialXHRContent):
29918        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
29919        * inspector/InspectorResourceAgent.h:
29920        (WebCore::InspectorResourceAgent::create):
29921        * inspector/InspectorStyleSheet.cpp:
29922        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
29923        * inspector/front-end/NetworkManager.js:
29924        (WebInspector.NetworkManager.prototype.requestContent):
29925        * inspector/front-end/NetworkPanel.js:
29926        (WebInspector.NetworkPanel):
29927        (WebInspector.NetworkPanel.prototype.frameNavigated):
29928        * inspector/front-end/ResourceTreeModel.js:
29929        (WebInspector.ResourceTreeModel):
29930        (WebInspector.ResourceTreeModel.prototype.frontendReused):
29931        (WebInspector.ResourceTreeModel.prototype.frameNavigated):
29932        (WebInspector.ResourceTreeModel.prototype.frameDetached):
29933        * inspector/front-end/inspector.js:
29934        (WebInspector.domContentEventFired):
29935        (WebInspector.loadEventFired):
29936        (WebInspector.frameNavigated):
29937        (WebInspector.frameDetached):
29938
299392011-04-25  Pavel Feldman  <pfeldman@google.com>
29940
29941        Reviewed by Yury Semikhatsky.
29942
29943        Web Inspector: few protocol improvements.
29944        https://bugs.webkit.org/show_bug.cgi?id=59319
29945
29946        - Page domain is documented
29947        - setUserAgentOverride is moved to the Network agent
29948        - setSearchingForNode -> setInspectModeEnabled
29949        - highlightDOMNode -> highlightNode
29950        - reloadPage -> reload
29951        - openInNewWindow -> open with optional parameter
29952
29953        * inspector/Inspector.json:
29954        * inspector/InspectorDOMAgent.cpp:
29955        (WebCore::InspectorDOMAgent::setInspectModeEnabled):
29956        (WebCore::InspectorDOMAgent::highlightNode):
29957        * inspector/InspectorDOMAgent.h:
29958        (WebCore::InspectorDOMAgent::hideNodeHighlight):
29959        * inspector/InspectorInstrumentation.cpp:
29960        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
29961        * inspector/InspectorPageAgent.cpp:
29962        (WebCore::InspectorPageAgent::clearFrontend):
29963        (WebCore::InspectorPageAgent::reload):
29964        (WebCore::InspectorPageAgent::open):
29965        * inspector/InspectorPageAgent.h:
29966        * inspector/InspectorResourceAgent.cpp:
29967        (WebCore::InspectorResourceAgent::clearFrontend):
29968        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
29969        (WebCore::InspectorResourceAgent::setUserAgentOverride):
29970        * inspector/InspectorResourceAgent.h:
29971        * inspector/front-end/AuditsPanel.js:
29972        (WebInspector.AuditsPanel.prototype._reloadResources):
29973        * inspector/front-end/ElementsPanel.js:
29974        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
29975        * inspector/front-end/ExtensionServer.js:
29976        (WebInspector.ExtensionServer.prototype._onReload):
29977        * inspector/front-end/NetworkPanel.js:
29978        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
29979        * inspector/front-end/ResourcesPanel.js:
29980        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
29981        * inspector/front-end/inspector.js:
29982        (WebInspector.highlightDOMNode):
29983        (WebInspector.openResource):
29984        (WebInspector.documentKeyDown):
29985
299862011-04-25  Jon Lee  <jonlee@apple.com>
29987
29988        Reviewed by Maciej Stachowiak.
29989
29990        Overlay scroller hard to see on pages with dark background (59183)
29991        https://bugs.webkit.org/show_bug.cgi?id=59183
29992        <rdar://problem/8975367>
29993
29994        Switch the scrollbar's overlay style depending on its frame's background color.
29995        This refactors the getDocumentBackgroundColor method needed for gestures. The style
29996        is determined and set on every paint() call to the Mac scrollbar theme.
29997
29998        * WebCore.exp.in: adding method to allow changing style
29999        * page/Frame.cpp:
30000        (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
30001        * page/Frame.h:
30002        * page/FrameView.cpp:
30003        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
30004        * page/FrameView.h:
30005        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
30006        * platform/ScrollableArea.h:
30007        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
30008        * platform/mac/ScrollbarThemeMac.mm:
30009        (WebCore::ScrollbarThemeMac::paint):
30010        * platform/mac/WebCoreSystemInterface.h:
30011        * platform/mac/WebCoreSystemInterface.mm:
30012
300132011-04-25  Dan Bernstein  <mitz@apple.com>
30014
30015        Reviewed by Maciej Stachowiak.
30016
30017        <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
30018        https://bugs.webkit.org/show_bug.cgi?id=59315
30019
30020        * platform/Scrollbar.cpp:
30021        (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
30022        (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
30023        is scrolled a distance equal to the change in the mouse position.
30024        (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
30025        the document rather than the thumb, and pass the result to moveThumb.
30026        (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
30027        * platform/Scrollbar.h:
30028        * platform/ScrollbarTheme.h:
30029        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
30030        returns false.
30031        * platform/mac/ScrollbarThemeMac.h:
30032        * platform/mac/ScrollbarThemeMac.mm:
30033        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
30034        Option key is down.
30035
300362011-04-24  Geoffrey Garen  <ggaren@apple.com>
30037
30038        Reviewed by Sam Weinig.
30039
30040        Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
30041        https://bugs.webkit.org/show_bug.cgi?id=59307
30042
30043        * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
30044
30045        * bindings/js/JSCSSRuleCustom.cpp:
30046        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
30047        * bindings/js/JSCanvasRenderingContextCustom.cpp:
30048        * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
30049        of hand-coding them.
30050
30051        * bindings/js/JSDOMBinding.h:
30052        (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
30053        they're reasonably generic.
30054
30055        * bindings/js/JSDOMImplementationCustom.cpp:
30056        * bindings/js/JSDOMStringMapCustom.cpp:
30057        * bindings/js/JSDOMTokenListCustom.cpp:
30058        * bindings/js/JSHTMLCollectionCustom.cpp:
30059        * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
30060        hand-coding them.
30061
30062        * bindings/js/JSMessageChannelCustom.cpp:
30063        (WebCore::JSMessageChannel::visitChildren):
30064        * bindings/js/JSMessagePortCustom.cpp:
30065        (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
30066        markDOMObjectWrapper. This is one of the few cases where a DOM object is
30067        considered a stand-alone root. It's not as efficient as the shared root
30068        case, but workers and message ports are very rare objects, so it's no
30069        big deal.
30070
30071        * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
30072
30073        * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
30074
30075        * bindings/js/JSSharedWorkerCustom.cpp:
30076        (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
30077        markDOMObjectWrapper, as above. Once again, a stand-alone root.
30078
30079        * bindings/js/JSStyleSheetCustom.cpp:
30080        * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
30081
30082        * bindings/js/JSWebGLRenderingContextCustom.cpp:
30083        (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
30084        system for marking WebGL contexts and their associated satellite objects.
30085
30086        * bindings/js/JSWorkerContextCustom.cpp:
30087        (WebCore::JSWorkerContext::visitChildren):
30088        * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
30089        markDOMObjectWrapper, as above. Once again, stand-alone roots.
30090
30091        (WebCore::JSXMLHttpRequest::visitChildren):
30092        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
30093        XHR because it is not reachable from us.
30094
30095        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
30096        bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
30097
30098        * css/CSSRule.idl:
30099        * css/CSSStyleDeclaration.idl:
30100        * css/MediaList.idl:
30101        * css/StyleMedia.idl:
30102        * css/StyleSheet.idl:
30103        * css/StyleSheetList.idl:
30104        * dom/DOMImplementation.idl:
30105        * dom/DOMStringMap.idl:
30106        * dom/MessagePort.idl:
30107        * dom/NamedNodeMap.idl:
30108        * fileapi/Blob.idl:
30109        * html/DOMTokenList.idl: Opt in to autogeneration.
30110
30111        * html/HTMLCanvasElement.cpp:
30112        (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
30113        usage, to reduce human error and make ownership rules more obvious.
30114
30115        * html/HTMLCollection.idl:
30116        * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
30117
30118        * html/canvas/CanvasRenderingContext.cpp:
30119        * html/canvas/CanvasRenderingContext.h:
30120        (WebCore::CanvasRenderingContext::ref):
30121        (WebCore::CanvasRenderingContext::deref):
30122        * html/canvas/CanvasRenderingContext2D.h:
30123        (WebCore::CanvasRenderingContext2D::create):
30124        (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
30125        usage, to reduce human error and make ownership rules more obvious.
30126        
30127        Inlined some functions to match our standard idiom and to make the code
30128        in the header document itself.
30129
30130        * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
30131
30132        * html/canvas/OESStandardDerivatives.cpp:
30133        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
30134        (WebCore::OESStandardDerivatives::create):
30135        * html/canvas/OESStandardDerivatives.h:
30136        * html/canvas/OESStandardDerivatives.idl:
30137        * html/canvas/OESTextureFloat.cpp:
30138        (WebCore::OESTextureFloat::OESTextureFloat):
30139        (WebCore::OESTextureFloat::create):
30140        * html/canvas/OESTextureFloat.h:
30141        * html/canvas/OESTextureFloat.idl:
30142        * html/canvas/OESVertexArrayObject.cpp:
30143        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
30144        (WebCore::OESVertexArrayObject::create):
30145        * html/canvas/OESVertexArrayObject.h:
30146        * html/canvas/OESVertexArrayObject.idl:
30147        * html/canvas/WebGLExtension.cpp:
30148        (WebCore::WebGLExtension::WebGLExtension):
30149        * html/canvas/WebGLExtension.h:
30150        (WebCore::WebGLExtension::ref):
30151        (WebCore::WebGLExtension::deref):
30152        (WebCore::WebGLExtension::context):
30153        * html/canvas/WebGLRenderingContext.cpp:
30154        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
30155        (WebCore::WebGLRenderingContext::getExtension):
30156        * html/canvas/WebGLRenderingContext.h:
30157        * html/canvas/WebKitLoseContext.cpp:
30158        (WebCore::WebKitLoseContext::WebKitLoseContext):
30159        (WebCore::WebKitLoseContext::create):
30160        (WebCore::WebKitLoseContext::loseContext):
30161        * html/canvas/WebKitLoseContext.h:
30162        * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
30163        canavs rendering contexts to match the model for 2D canvas rendering
30164        contexts. This makes garbage collection a lot more straightforward, but
30165        it also makes the behavior of these objects more reliable. (Previously,
30166        satellite objects would magically stop working when the last reference
30167        to their owner object was dropped. Now, satellite objects keep their owner
30168        alive through reference counting.)
30169
30170        * loader/appcache/DOMApplicationCache.idl:
30171        * page/BarInfo.idl:
30172        * page/Console.idl:
30173        * page/DOMSelection.idl:
30174        * page/Geolocation.idl:
30175        * page/History.idl:
30176        * page/Location.idl:
30177        * page/Navigator.idl:
30178        * page/Screen.idl:
30179        * page/WorkerNavigator.idl:
30180        * plugins/DOMMimeTypeArray.h:
30181        (WebCore::DOMMimeTypeArray::frame):
30182        * plugins/DOMMimeTypeArray.idl:
30183        * plugins/DOMPluginArray.h:
30184        (WebCore::DOMPluginArray::frame):
30185        * plugins/DOMPluginArray.idl:
30186        * storage/Storage.idl:
30187        * workers/WorkerLocation.idl: Opt in to autogeneration.
30188
30189        * xml/XMLHttpRequest.cpp:
30190        (WebCore::XMLHttpRequest::~XMLHttpRequest):
30191        * xml/XMLHttpRequest.h:
30192        * xml/XMLHttpRequestUpload.cpp:
30193        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
30194        * xml/XMLHttpRequestUpload.h:
30195        (WebCore::XMLHttpRequestUpload::create):
30196        (WebCore::XMLHttpRequestUpload::ref):
30197        (WebCore::XMLHttpRequestUpload::deref):
30198        (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
30199        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
30200        * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
30201        its associated upload object to match the model for canvas. This makes
30202        garbage collection a lot more straightforward, but it also makes the
30203        behavior of these objects more reliable.
30204
302052011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
30206
30207        Unreviewed, rolling out r84759.
30208        http://trac.webkit.org/changeset/84759
30209        https://bugs.webkit.org/show_bug.cgi?id=59306
30210
30211        Caused gc-shadow.html to start crashing in V8. (Requested by
30212        dglazkov|away on #webkit).
30213
30214        * dom/Node.cpp:
30215        (WebCore::NodeRendererFactory::createRendererAndStyle):
30216        (WebCore::Node::styleForRenderer):
30217
302182011-04-24  Maciej Stachowiak  <mjs@apple.com>
30219
30220        Reviewed by George Staikos.
30221
30222        Handling of URLs like http:/example.com/ is incorrect
30223        https://bugs.webkit.org/show_bug.cgi?id=59300
30224        <rdar://problem/9231956>
30225
30226        URLs like http:/example.com/ or http:example.com/ are now correctly
30227        canonicalized as http://example.com/
30228        
30229        The code still doesn't quite match other browsers - at least some
30230        other browsers seem to base parsing behavior on whether they
30231        recongize a scheme from a fixed list, and ignore whether // is
30232        present in the URL or not.
30233        
30234        * platform/KURL.cpp:
30235        (WebCore::isNonFileHierarchicalScheme): New helper function.
30236        (WebCore::KURL::parse): For a particular list of whitelisted schemes,
30237        assume they are hierarchical and need an authority even if there is no //
30238        after the :/
30239
302402011-04-24  Dan Bernstein  <mitz@apple.com>
30241
30242        LLVM Compiler build fix.
30243
30244        * page/ContentSecurityPolicy.cpp: Removed an unused function.
30245
302462011-04-24  Dominic Cooney  <dominicc@chromium.org>
30247
30248        Reviewed by Dimitri Glazkov.
30249
30250        Crash when adding a text node to a shadow root
30251        https://bugs.webkit.org/show_bug.cgi?id=59304
30252
30253        Text nodes need to consult their host element for style.
30254
30255        Test: fast/dom/shadow/append-child-text.html
30256
30257        * dom/Node.cpp:
30258        (WebCore::NodeRendererFactory::styleForRenderer):
30259        (WebCore::NodeRendererFactory::createRendererAndStyle):
30260        (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
30261
302622011-04-24  Adam Barth  <abarth@webkit.org>
30263
30264        Reviewed by Eric Seidel.
30265
30266        Update Content-Security-Policy syntax to match new version of spec
30267        https://bugs.webkit.org/show_bug.cgi?id=59291
30268
30269        Brandon removed disable-xss-protection in favor of unsafe-inline and
30270        allow-eval in favor of unsafe-eval.  This change in syntax also means
30271        the options directive no longer exists.
30272
30273        * page/ContentSecurityPolicy.cpp:
30274        (WebCore::CSPSourceList::allowInline):
30275        (WebCore::CSPSourceList::allowEval):
30276        (WebCore::CSPSourceList::CSPSourceList):
30277        (WebCore::CSPSourceList::parseSource):
30278        (WebCore::CSPSourceList::addSourceUnsafeInline):
30279        (WebCore::CSPSourceList::addSourceUnsafeEval):
30280        (WebCore::CSPDirective::allowInline):
30281        (WebCore::CSPDirective::allowEval):
30282        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
30283        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
30284        (WebCore::ContentSecurityPolicy::allowInlineScript):
30285        (WebCore::ContentSecurityPolicy::allowEval):
30286        (WebCore::ContentSecurityPolicy::addDirective):
30287        * page/ContentSecurityPolicy.h:
30288
302892011-04-24  Dan Bernstein  <mitz@apple.com>
30290
30291        Reviewed by Maciej Stachowiak.
30292
30293        Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
30294        https://bugs.webkit.org/show_bug.cgi?id=59299
30295
30296        * manual-tests/back-from-document-with-scrollbar.html: Added.
30297
302982011-04-24  Rik Cabanier  <cabanier@adobe.com>
30299
30300        Reviewed by Simon Fraser.
30301
30302        Tables are not rendered correctly
30303        https://bugs.webkit.org/show_bug.cgi?id=59138
30304
30305        Test: fast/table/auto-100-percent-width.html
30306
30307        * rendering/AutoTableLayout.cpp:
30308        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
30309
303102011-04-23  Simon Fraser  <simon.fraser@apple.com>
30311
30312        Fix Windows build, which complains about unreachable code.
30313
30314        * platform/ScrollableArea.cpp:
30315        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
30316        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
30317        (WebCore::ScrollableArea::hasLayerForScrollCorner):
30318
303192011-04-23  Simon Fraser  <simon.fraser@apple.com>
30320
30321        Reviewed by Dan Bernstein.
30322
30323        Area under composited scrollbars not repainted in WebKit2 on scrolling
30324        https://bugs.webkit.org/show_bug.cgi?id=59294
30325        <rdar://problem/9299062>
30326        
30327        When computing the rect that can be copied on scrolling, we normally
30328        exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
30329        the assumption is that other code will repaint these areas. However, when
30330        scrollbars are in their own compositing layers, we can, and should
30331        copy the entire area.
30332
30333        Not testable in DRT because it does not allow tests to use overlay scrollbars.
30334
30335        * platform/ScrollView.h:
30336        * platform/ScrollView.cpp:
30337        (WebCore::ScrollView::rectToCopyOnScroll):
30338        New method, with code moved from scrollContents and fixed to look
30339        for scrollbars in layers.
30340        (WebCore::ScrollView::scrollContents):
30341        Call rectToCopyOnScroll().
30342        
30343        * platform/ScrollableArea.h:
30344        * platform/ScrollableArea.cpp:
30345        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
30346        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
30347        (WebCore::ScrollableArea::hasLayerForScrollCorner):
30348        Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
30349
303502011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
30351
30352        Unreviewed, rolling out r84740.
30353        http://trac.webkit.org/changeset/84740
30354        https://bugs.webkit.org/show_bug.cgi?id=59290
30355
30356        change breaks apple internal builds and is incorrect
30357        (Requested by smfr on #webkit).
30358
30359        * WebCore.exp.in:
30360        * page/FrameView.cpp:
30361        * page/FrameView.h:
30362        * platform/ScrollTypes.h:
30363        * platform/ScrollableArea.h:
30364        * platform/mac/ScrollbarThemeMac.mm:
30365        (WebCore::ScrollbarThemeMac::paint):
30366        * platform/mac/WebCoreSystemInterface.h:
30367        * platform/mac/WebCoreSystemInterface.mm:
30368
303692011-04-23  Dan Bernstein  <mitz@apple.com>
30370
30371        Reviewed by Simon Fraser.
30372
30373        <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
30374        https://bugs.webkit.org/show_bug.cgi?id=59288
30375
30376        * platform/text/mac/TextBoundaries.mm:
30377        (WebCore::wordStringTokenizer): Added this helper function.
30378        (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
30379        whose behavior is not locale-dependent.
30380
303812011-04-23  Dominic Cooney  <dominicc@chromium.org>
30382
30383        Reviewed by Dimitri Glazkov.
30384
30385        [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
30386        https://bugs.webkit.org/show_bug.cgi?id=59284
30387
30388        Test: fast/dom/shadow/gc-shadow.html
30389
30390        * bindings/v8/V8GCController.cpp:
30391        (WebCore::calculateGroupId): group shadow nodes with their hosts
30392
303932011-04-23  MORITA Hajime <morrita@google.com>
30394
30395        Reviewed by Dimitri Glazkov.
30396
30397        [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
30398        https://bugs.webkit.org/show_bug.cgi?id=59280
30399        
30400        - Rename NodeRenderParentDetector to NodeRendererFactory
30401        - move createRendererAndStyle() and createRendererIfNeeded to
30402          NodeRendererFactory
30403
30404        No new test, no behavioral change.
30405        
30406        * dom/Node.cpp:
30407        (WebCore::NodeRendererFactory::NodeRendererFactory):
30408        (WebCore::NodeRendererFactory::document):
30409        (WebCore::NodeRendererFactory::nextRenderer):
30410        (WebCore::NodeRendererFactory::findVisualParent):
30411        (WebCore::NodeRendererFactory::shouldCreateRenderer):
30412        (WebCore::NodeRendererFactory::createRendererAndStyle):
30413        (WebCore::NodeRendererFactory::createRendererIfNeeded):
30414        (WebCore::Node::parentNodeForRenderingAndStyle):
30415        (WebCore::Node::createRendererIfNeeded):
30416        * dom/Node.h:
30417        * html/HTMLDetailsElement.cpp:
30418        (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle() 
30419
304202011-04-23  MORITA Hajime  <morrita@google.com>
30421
30422        Reviewed by Kent Tamura.
30423
30424        REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
30425        https://bugs.webkit.org/show_bug.cgi?id=59281
30426
30427        Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
30428        for vertical writing modes. This fix added a width property for each of them.
30429        
30430        Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
30431               fast/dom/HTMLProgressElement/progress-writing-mode.html
30432
30433        * css/html.css:
30434        (meter::-webkit-meter-bar):
30435        (progress::-webkit-progress-bar):
30436
304372011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
30438
30439        [wx] Unreviewed build fix. Added missing header.
30440        
30441        * platform/graphics/filters/FEDropShadow.h:
30442
304432011-04-23  Alexey Proskuryakov  <ap@apple.com>
30444
30445        Reviewed by Maciej Stachowiak.
30446
30447        REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
30448        https://bugs.webkit.org/show_bug.cgi?id=59241
30449        <rdar://problem/9150861>
30450
30451        Covered by manual-tests/print-after-window-close.html.
30452
30453        Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
30454        regression.
30455
30456        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
30457        doing complicated work while the loader is half-canceled.
30458
30459        * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
30460        thus being more practical.
30461
30462        * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
30463        It's too scary for me to try now.
30464
30465        * page/DOMWindow.cpp:
30466        (WebCore::DOMWindow::DOMWindow):
30467        (WebCore::DOMWindow::finishedLoading):
30468        * page/DOMWindow.h:
30469        Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
30470
304712011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>
30472
30473        Reviewed by Adam Barth.
30474
30475        [V8] Use implicit references for V8 listeners on DOM nodes.
30476        https://bugs.webkit.org/show_bug.cgi?id=58953
30477
30478        Instead of allocating an auxiliary V8 array referencing V8
30479        listener objects associated with a DOM node and using an extra
30480        pointer in every DOM node wrapper, we can register implicit
30481        references between nodes and their listeners during GC. This also
30482        makes V8 bindings more aligned with JSC bindings.
30483
30484        No new tests because this is a refactoring.
30485
30486        * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
30487        listener cache internal field for DOM nodes.
30488        * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
30489        to the GC.
30490        (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
30491        * bindings/v8/V8GCController.cpp: Started using implicit references.
30492        (WebCore::GrouperVisitor::visitDOMWrapper):
30493        * dom/EventTarget.h: Implemented an iterator over all listeners.
30494        (WebCore::EventListenerIterator):
30495
304962011-04-22  Jon Lee  <jonlee@apple.com>
30497
30498        Reviewed by Beth Dakin.
30499
30500        Overlay scroller hard to see on pages with dark background (59183)
30501        https://bugs.webkit.org/show_bug.cgi?id=59183
30502        <rdar://problem/8975367>
30503
30504        * WebCore.exp.in: adding method to allow changing style
30505        * page/FrameView.cpp:
30506        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
30507        * page/FrameView.h:
30508        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
30509        * platform/ScrollableArea.cpp:
30510        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
30511        * platform/ScrollableArea.h:
30512        * platform/mac/ScrollbarThemeMac.mm:
30513        (WebCore::ScrollbarThemeMac::paint):
30514        * platform/mac/WebCoreSystemInterface.h:
30515        * platform/mac/WebCoreSystemInterface.mm:
30516
305172011-04-22  Chris Evans  <cevans@chromium.org>
30518
30519        Reviewed by Adam Barth.
30520
30521        Upgrade CSS loads from mixed content warning (displayed) to mixed
30522        content error (ran)
30523        https://bugs.webkit.org/show_bug.cgi?id=59056
30524
30525        Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
30526        Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
30527
30528        * loader/cache/CachedResourceLoader.cpp:
30529        (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
30530
305312011-04-22  Geoffrey Garen  <ggaren@apple.com>
30532
30533        Fixed an upside-down conditional in my last check-in.
30534
30535        * bindings/js/JSDOMApplicationCacheCustom.cpp:
30536        (WebCore::isObservable):
30537
305382011-04-22  Geoffrey Garen  <ggaren@apple.com>
30539        
30540        Rolled back in r84725 and r84728 with appcache crash fixed.
30541
30542        Reviewed by Oliver Hunt.
30543
30544        Removed a use of markDOMObjectWrapper: DOMWindow
30545        https://bugs.webkit.org/show_bug.cgi?id=59260
30546
30547        * bindings/js/JSDOMWindowCustom.cpp:
30548        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
30549        we use the opaque roots system now.
30550
30551        * bindings/js/JSNavigatorCustom.cpp: Ditto.
30552
30553        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
30554        whose opaque roots are frames.
30555
30556        * css/StyleMedia.h:
30557        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
30558
30559        * css/StyleMedia.idl:
30560        * loader/appcache/DOMApplicationCache.idl:
30561        * page/BarInfo.idl:
30562        * page/Console.idl:
30563        * page/DOMSelection.idl:
30564        * page/Geolocation.idl:
30565        * page/History.idl:
30566        * page/Location.idl:
30567        * page/Navigator.idl:
30568        * page/Screen.idl:
30569        * storage/Storage.idl: Updated to use the opaque roots system.
30570
305712011-04-22  Nate Chapin  <japhet@chromium.org>
30572
30573        Reviewed by Adam Barth.
30574
30575        Don't use XMLTreeViewer when script is disabled (it uses Javascript
30576        to build a prettified version of the xml document).
30577        https://bugs.webkit.org/show_bug.cgi?id=59113
30578
30579        * xml/XMLTreeViewer.cpp:
30580        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
30581
305822011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>
30583
30584        Unreviewed, rolling out r84725 and r84728.
30585        http://trac.webkit.org/changeset/84725
30586        http://trac.webkit.org/changeset/84728
30587        https://bugs.webkit.org/show_bug.cgi?id=59270
30588
30589        It broke http/tests/appcache tests (Requested by Ossy on
30590        #webkit).
30591
30592        * bindings/js/JSDOMWindowCustom.cpp:
30593        (WebCore::JSDOMWindow::visitChildren):
30594        * bindings/js/JSNavigatorCustom.cpp:
30595        (WebCore::JSNavigator::visitChildren):
30596        * bindings/scripts/CodeGeneratorJS.pm:
30597        * css/StyleMedia.h:
30598        * css/StyleMedia.idl:
30599        * loader/appcache/DOMApplicationCache.idl:
30600        * page/BarInfo.idl:
30601        * page/Console.idl:
30602        * page/DOMSelection.idl:
30603        * page/DOMWindow.h:
30604        (WebCore::DOMWindow::optionalScreen):
30605        (WebCore::DOMWindow::optionalSelection):
30606        (WebCore::DOMWindow::optionalHistory):
30607        (WebCore::DOMWindow::optionalCrypto):
30608        (WebCore::DOMWindow::optionalLocationbar):
30609        (WebCore::DOMWindow::optionalMenubar):
30610        (WebCore::DOMWindow::optionalPersonalbar):
30611        (WebCore::DOMWindow::optionalScrollbars):
30612        (WebCore::DOMWindow::optionalStatusbar):
30613        (WebCore::DOMWindow::optionalToolbar):
30614        (WebCore::DOMWindow::optionalConsole):
30615        (WebCore::DOMWindow::optionalNavigator):
30616        (WebCore::DOMWindow::optionalLocation):
30617        (WebCore::DOMWindow::optionalMedia):
30618        (WebCore::DOMWindow::optionalSessionStorage):
30619        (WebCore::DOMWindow::optionalLocalStorage):
30620        (WebCore::DOMWindow::optionalPerformance):
30621        * page/Geolocation.idl:
30622        * page/History.idl:
30623        * page/Location.idl:
30624        * page/Navigator.h:
30625        (WebCore::Navigator::optionalGeolocation):
30626        * page/Navigator.idl:
30627        * page/Screen.idl:
30628        * storage/Storage.idl:
30629
306302011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
30631
30632        Reviewed by Kent Tamura.
30633
30634        Change SVG-related shadow root checks to use isSVGShadowRoot.
30635        https://bugs.webkit.org/show_bug.cgi?id=59237
30636
30637        Covered by existing tests, no behavior change.
30638
30639        * css/CSSStyleSelector.cpp:
30640        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
30641        * svg/SVGUseElement.cpp:
30642        (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
30643        * svg/animation/SVGSMILElement.cpp:
30644        (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
30645
306462011-04-22  Geoffrey Garen  <ggaren@apple.com>
30647
30648        Mac build fix.
30649
30650        * page/DOMWindow.h:
30651        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
30652        which is used after all.
30653
306542011-04-22  Geoffrey Garen  <ggaren@apple.com>
30655
30656        Mac build fix.
30657
30658        * page/DOMWindow.h:
30659        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
30660        which is used after all.
30661
306622011-04-22  Geoffrey Garen  <ggaren@apple.com>
30663
30664        Reviewed by Oliver Hunt.
30665
30666        Removed a use of markDOMObjectWrapper: DOMWindow
30667        https://bugs.webkit.org/show_bug.cgi?id=59260
30668
30669        * bindings/js/JSDOMWindowCustom.cpp:
30670        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
30671        we use the opaque roots system now.
30672
30673        * bindings/js/JSNavigatorCustom.cpp: Ditto.
30674
30675        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
30676        whose opaque roots are frames.
30677
30678        * css/StyleMedia.h:
30679        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
30680
30681        * css/StyleMedia.idl:
30682        * loader/appcache/DOMApplicationCache.idl:
30683        * page/BarInfo.idl:
30684        * page/Console.idl:
30685        * page/DOMSelection.idl:
30686        * page/Geolocation.idl:
30687        * page/History.idl:
30688        * page/Location.idl:
30689        * page/Navigator.idl:
30690        * page/Screen.idl:
30691        * storage/Storage.idl: Updated to use the opaque roots system.
30692
306932011-04-22  Xiaomei Ji  <xji@chromium.org>
30694
30695        Reviewed by Ryosuke Niwa.
30696
30697        move caret by word in visual order returns wrong result when caret itself is at word boundary.
30698        https://bugs.webkit.org/show_bug.cgi?id=58504.
30699
30700        positionBeforeNextWord should take care that the current position is after current word.
30701        positionAfterPreviousWord should take care that the current positin is before current word.
30702
30703        * editing/visible_units.cpp:
30704        (WebCore::positionBeforeNextWord):
30705        (WebCore::positionAfterPreviousWord):
30706
307072011-04-19  Jer Noble  <jer.noble@apple.com>
30708
30709        Reviewed by Daniel Bates.
30710
30711        Full Screen from within an <iframe> does not cause <iframe> to resize.
30712        https://bugs.webkit.org/show_bug.cgi?id=58638
30713
30714        Tests: fullscreen/full-screen-frameset.html
30715
30716        * css/CSSStyleSelector.cpp:
30717        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the 
30718            -webkit-full-screen pseudo class to frame elements which contain
30719            full screen elements.
30720        * css/fullscreen.css:
30721        (iframe:-webkit-full-screen): Add iframe-specific styling rules.
30722        * dom/Document.cpp:
30723        (WebCore::Document::setContainsFullScreenElementRecursively): Added.  Walk up each
30724            successive document owner element, calling setContainsFullScreenElement() if 
30725            owner is a frame element.
30726        (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
30727            call instead of checking the element's tag name.
30728        (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
30729            iframes as containing a full screen element.
30730        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
30731        * dom/Element.h:
30732        (WebCore::Element::isFrameElementBase): Added.
30733        * html/HTMLFrameElement.h:
30734        (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
30735            HTMLFrameElements.
30736        * html/HTMLFrameElementBase.cpp:
30737        (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
30738        * html/HTMLFrameElementBase.h:
30739        (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
30740        (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
30741
307422011-04-22  Michael Saboff  <msaboff@apple.com>
30743
30744        Reviewed by Maciej Stachowiak.
30745
30746        Creating copy of ContainerNode's when inserting or removing is inefficient
30747        https://bugs.webkit.org/show_bug.cgi?id=58695
30748
30749        Eliminated node copying in willRemove() and insertedIntoDocument().
30750
30751        No new tests as this is a more efficient implementation of
30752        existing code that is covered by existing tests.
30753
30754        * dom/ContainerNode.cpp:
30755        (WebCore::ContainerNode::willRemove): Changed method to use
30756        RefPtr<> to protect against modification during removal.
30757        (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
30758        RefPtr<> and two other deletion checks to protect against 
30759        modification during insertion.
30760
307612011-04-22  Geoffrey Garen  <ggaren@apple.com>
30762
30763        Reviewed by Sam Weinig.
30764
30765        We have an autogenerator, so use it
30766        https://bugs.webkit.org/show_bug.cgi?id=59247
30767
30768        * bindings/js/JSCSSRuleCustom.cpp:
30769        * bindings/js/JSCSSRuleListCustom.cpp:
30770        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
30771        * bindings/js/JSCSSValueCustom.cpp:
30772        * bindings/js/JSCanvasRenderingContextCustom.cpp:
30773        * bindings/js/JSDOMImplementationCustom.cpp:
30774        * bindings/js/JSDOMStringMapCustom.cpp:
30775        * bindings/js/JSHTMLCollectionCustom.cpp:
30776        * bindings/js/JSNamedNodeMapCustom.cpp:
30777        * bindings/js/JSNodeCustom.h:
30778        * bindings/js/JSNodeListCustom.cpp:
30779        * bindings/js/JSStyleSheetCustom.cpp:
30780        * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
30781
30782        * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
30783
30784        * css/CSSRule.idl:
30785        * css/CSSRuleList.idl:
30786        * css/CSSStyleDeclaration.idl:
30787        * css/CSSValue.idl:
30788        * css/MediaList.idl:
30789        * css/StyleSheet.idl:
30790        * css/StyleSheetList.idl:
30791        * dom/DOMImplementation.idl:
30792        * dom/DOMStringMap.idl:
30793        * dom/NamedNodeMap.idl:
30794        * dom/Node.idl:
30795        * dom/NodeList.idl:
30796        * html/DOMTokenList.idl:
30797        * html/HTMLCollection.idl:
30798        * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
30799        the autogenerator.
30800
308012011-04-22  Beth Dakin  <bdakin@apple.com>
30802
30803        Reviewed by Maciej Stachowiak.
30804
30805        https://bugs.webkit.org/show_bug.cgi?id=59223
30806        REGRESSION (r82185): iframe not displayed after navigation back to cached page
30807
30808        Manual test added.
30809        * manual-tests/frame-layout-on-back.html: Added.
30810        * manual-tests/resources/empty-document-goes-back.html: Added.
30811        * manual-tests/resources/simple-iframe.html: Added.
30812
308132011-04-22  Yael Aharon  <yael.aharon@nokia.com>
30814
30815        Reviewed by Sam Weinig.
30816
30817        HTMLFormControlElement::labels should allow custom attributes.
30818        https://bugs.webkit.org/show_bug.cgi?id=59128
30819
30820        Cache the labels list when it is created and keep using it for future
30821        labels calls.
30822
30823        Test: fast/forms/labels-custom-property.html
30824
30825        * html/HTMLFormControlElement.cpp:
30826        (WebCore::HTMLFormControlElement::labels):
30827
308282011-04-22  Adrienne Walker  <enne@google.com>
30829
30830        Reviewed by James Robinson.
30831
30832        [chromium] Remove minimum texture size for compositor tiling
30833        https://bugs.webkit.org/show_bug.cgi?id=59236
30834
30835        This was mistakenly committed in r83915 and causes bad filtering
30836        on very small textures.
30837
30838        Tests: compositing/images/content-image-change.html
30839
30840        * platform/graphics/chromium/LayerTilerChromium.cpp:
30841        (WebCore::LayerTilerChromium::setTileSize):
30842
308432011-04-22  Beth Dakin  <bdakin@apple.com>
30844
30845        Reviewed by Maciej Stachowiak.
30846
30847        https://bugs.webkit.org/show_bug.cgi?id=59223
30848        REGRESSION (r82185): iframe not displayed after navigation back to cached page
30849        -and corresponding-
30850        <rdar://problem/9323763>
30851
30852        Cache the scroll position in Document::setInPageCache() instead of 
30853        FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size 
30854        for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
30855        r82185 code.
30856        * dom/Document.cpp:
30857        (WebCore::Document::setInPageCache):
30858        * page/FrameView.cpp:
30859        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
30860
308612011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
30862
30863        Reviewed by Kent Tamura.
30864
30865        Let the RenderTheme decide if an input type should have a spinner
30866        https://bugs.webkit.org/show_bug.cgi?id=59246
30867
30868        Whether an input should have a spinner or not should
30869        be a UI decision made by the RenderTheme. Remove
30870        WebCore's default hasSpinButton values and defer
30871        to the RenderTheme.
30872
30873        No change in functionality, covered by existing tests.
30874
30875        * html/HTMLInputElement.cpp:
30876        (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl
30877        for possible RenderTheme queries.
30878        * html/HTMLInputElement.h:
30879
30880        * rendering/RenderTextControlSingleLine.cpp:
30881        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
30882        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
30883        For both of these ask the render theme if the input should
30884        have a spinner.
30885
30886        * rendering/RenderTheme.cpp:
30887        (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement):
30888        Steppable inputs (number, date, and range) but not range
30889        should have spinners. This does not change existing behavior.
30890        * rendering/RenderTheme.h:
30891
30892        * dom/InputElement.h:
30893        * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton.
30894        * html/BaseDateAndTimeInputType.h: remove hasSpinButton.
30895        * html/InputType.cpp: remove hasSpinButton.
30896        * html/InputType.h: remove hasSpinButton.
30897        * html/NumberInputType.cpp: remove hasSpinButton.
30898        * html/NumberInputType.h: remove hasSpinButton.
30899
309002011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
30901
30902        Reviewed by Kent Tamura.
30903
30904        Don't rely on hasSpinButton to check if an input type can be stepped
30905        https://bugs.webkit.org/show_bug.cgi?id=59224
30906
30907        Add isSteppable to know for certain if an input type can
30908        be stepped or not. Previously we were checking if the input
30909        has a spin control or is the range input type. These are UI
30910        details, but the step functionality does not require there
30911        to be a UI.
30912
30913        No change in behavior, covered by existing tests.
30914
30915        * html/BaseDateAndTimeInputType.cpp:
30916        (WebCore::BaseDateAndTimeInputType::isSteppable):
30917        * html/BaseDateAndTimeInputType.h:
30918        * html/HTMLInputElement.cpp:
30919        (WebCore::HTMLInputElement::isSteppable):
30920        (WebCore::HTMLInputElement::stepUpFromRenderer): remove the
30921        check for a spinner and range control and instead ASSERT
30922        that the type is steppable.
30923        * html/HTMLInputElement.h:
30924        * html/InputType.cpp:
30925        (WebCore::InputType::isSteppable):
30926        * html/InputType.h:
30927        * html/NumberInputType.cpp:
30928        (WebCore::NumberInputType::isSteppable):
30929        * html/NumberInputType.h:
30930        * html/RangeInputType.cpp:
30931        (WebCore::RangeInputType::isSteppable):
30932        * html/RangeInputType.h:
30933
309342011-04-22  Adam Barth  <abarth@webkit.org>
30935
30936        Reviewed by Eric Seidel.
30937
30938        CSP frame-src is missing
30939        https://bugs.webkit.org/show_bug.cgi?id=58643
30940
30941        In this patch, I've audited all the callers to
30942        SecurityOrigin::canDisplay to make sure they all the appropriate
30943        Content-Security-Policy method as well.  I'm not sure how to test all
30944        these cases, but making this changes fixed the frame-src test.
30945
30946        * loader/SubframeLoader.cpp:
30947        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
30948        (WebCore::SubframeLoader::createJavaAppletWidget):
30949        (WebCore::SubframeLoader::loadSubframe):
30950        (WebCore::SubframeLoader::loadPlugin):
30951        * loader/SubresourceLoader.cpp:
30952        (WebCore::SubresourceLoader::create):
30953        * loader/cache/CachedResourceLoader.cpp:
30954        (WebCore::CachedResourceLoader::canRequest):
30955        (WebCore::CachedResourceLoader::requestResource):
30956            - While I was understanding this code, I fixed the FIXME here.
30957        * loader/cache/CachedResourceLoader.h:
30958
309592011-04-22  Adrienne Walker  <enne@google.com>
30960
30961        Reviewed by Simon Fraser.
30962
30963        Clear shared graphics context when destroying CanvasRenderingContext2D.
30964        https://bugs.webkit.org/show_bug.cgi?id=59212
30965
30966        * html/canvas/CanvasRenderingContext2D.cpp:
30967        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
30968
309692011-04-22  Levi Weintraub  <leviw@chromium.org>
30970
30971        Reviewed by Ryosuke Niwa.
30972
30973        End/Home keys do not work in a contentEditable element
30974        https://bugs.webkit.org/show_bug.cgi?id=50564
30975
30976        Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are
30977        inline and share a line with non-editable content.
30978
30979        Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html
30980
30981        * editing/visible_units.cpp:
30982        (WebCore::logicalStartOfLine):
30983        (WebCore::logicalEndOfLine):
30984
309852011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
30986
30987        Reviewed by Kent Tamura.
30988
30989        Make showTree/showTreeForThis aware of the shadow DOM
30990        https://bugs.webkit.org/show_bug.cgi?id=52965
30991
30992        No new tests, because this code is only compiled in DEBUG.
30993
30994        * dom/Node.cpp:
30995        (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding
30996            recursive sub-traversal of the shadow tree.
30997        (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function.
30998
309992011-04-22  Sam Weinig  <sam@webkit.org>
31000
31001        Reviewed by Gavin Barraclough and Oliver Hunt.
31002
31003        Arrays should participate in global object forwarding fun
31004        https://bugs.webkit.org/show_bug.cgi?id=59215
31005
31006        Change callers of constructArray to use the new variant that takes
31007        a global object.
31008
31009        * bindings/js/JSClipboardCustom.cpp:
31010        (WebCore::JSClipboard::types):
31011        * bindings/js/JSConsoleCustom.cpp:
31012        (WebCore::JSConsole::profiles):
31013        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
31014        (WebCore::JSJavaScriptCallFrame::scopeChain):
31015        * bindings/js/JSMessageEventCustom.cpp:
31016        (WebCore::JSMessageEvent::ports):
31017        * bindings/js/JSScriptProfileNodeCustom.cpp:
31018        (WebCore::JSScriptProfileNode::children):
31019        * bindings/js/JSWebGLRenderingContextCustom.cpp:
31020        (WebCore::toJS):
31021        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
31022        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
31023
310242011-04-22  Csaba Osztrogonác  <ossy@webkit.org>
31025
31026        [Qt] Unreviewed typo fix after r84522.
31027
31028        * WebCore.pro:
31029
310302011-04-22  Daniel Bates  <dbates@rim.com>
31031
31032        Fix misspelled word in comment; tagets => targets.
31033
31034        * page/EventHandler.cpp:
31035        (WebCore::EventHandler::handleTouchEvent):
31036
310372011-04-21  Geoffrey Garen  <ggaren@apple.com>
31038
31039        Reviewed by Oliver Hunt.
31040
31041        Removed a use of markDOMObjectWrapper: Element and Document
31042        https://bugs.webkit.org/show_bug.cgi?id=59178
31043
31044        * GNUmakefile.list.am:
31045        * UseJSC.cmake:
31046        * WebCore.gypi:
31047        * WebCore.pro:
31048        * WebCore.vcproj/WebCore.vcproj:
31049        * WebCore.xcodeproj/project.pbxproj:
31050        * bindings/js/JSBindingsAllInOne.cpp: Build!
31051
31052        * bindings/js/JSDOMImplementationCustom.cpp:
31053        (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
31054        (WebCore::JSDOMImplementationOwner::finalize):
31055        (WebCore::wrapperOwner):
31056        (WebCore::wrapperContext):
31057        (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
31058        DOMImplementation does not need to keep its document wrapper alive, since
31059        there's no DOM API for getting a DOMImplementation's document.
31060
31061        * bindings/js/JSDOMStringMapCustom.cpp:
31062        (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
31063        (WebCore::JSDOMStringMapOwner::finalize):
31064        (WebCore::wrapperOwner):
31065        (WebCore::wrapperContext):
31066        (WebCore::toJS): Use the opaque roots system for DOMStringMap.
31067
31068        * bindings/js/JSDOMTokenListCustom.cpp: Added.
31069        (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
31070        (WebCore::JSDOMTokenListOwner::finalize):
31071        (WebCore::wrapperOwner):
31072        (WebCore::wrapperContext):
31073        (WebCore::toJS): Use the opaque roots system for DOMTokenList.
31074
31075        * bindings/js/JSDocumentCustom.cpp:
31076        (WebCore::JSDocument::visitChildren):
31077        * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
31078
31079        * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
31080
31081        * dom/DOMImplementation.cpp:
31082        (WebCore::DOMImplementation::DOMImplementation):
31083        (WebCore::DOMImplementation::createDocument):
31084        (WebCore::DOMImplementation::createHTMLDocument):
31085        * dom/DOMImplementation.h:
31086        (WebCore::DOMImplementation::create):
31087        (WebCore::DOMImplementation::ref):
31088        (WebCore::DOMImplementation::deref):
31089        (WebCore::DOMImplementation::document): Fixed the DOMImplementation
31090        ownership model to match other satellite objects in the DOM. This was
31091        necessary to fix some crashes due to incorrect reference counting.
31092
31093        * dom/DOMImplementation.idl:
31094        * dom/DOMStringMap.idl:
31095        * dom/Document.cpp:
31096        (WebCore::Document::~Document):
31097        * dom/Document.h:
31098        * dom/Element.cpp:
31099        * dom/Element.h:
31100        * dom/Element.idl:
31101        * html/DOMTokenList.idl: Updated to match changes above.
31102
311032011-04-22  Simon Fraser  <simon.fraser@apple.com>
31104
31105        Reviewed by Dan Bernstein.
31106
31107        Rounded corners don't looks smooth when background-image is a gradient
31108        https://bugs.webkit.org/show_bug.cgi?id=59213
31109        
31110        Add the "shrink background" behavior to the slow background
31111        drawing code path.
31112
31113        Test: fast/backgrounds/gradient-background-leakage.html
31114
31115        * rendering/RenderBoxModelObject.cpp:
31116        (WebCore::backgroundRectAdjustedForBleedAvoidance):
31117        Utility function that returns a shrunk border rect based
31118        on the context scale.
31119        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
31120        Use backgroundRectAdjustedForBleedAvoidance() in both the fast
31121        and slow paths.
31122
311232011-04-22  Xiaomei Ji  <xji@chromium.org>
31124
31125        Reviewed by David Hyatt.
31126
31127        Local caret rectangle calculation should be relative to its containing block.
31128        https://bugs.webkit.org/show_bug.cgi?id=49508.
31129
31130        InlineBox and caret rectangle are positioned relative to its containing block.
31131        So its left and right edge value should be relative to its containing block as well. 
31132
31133        Test: fast/forms/cursor-at-editable-content-boundary.html
31134
31135        * rendering/RenderText.cpp:
31136        (WebCore::RenderText::localCaretRect):
31137
311382011-04-22  Levi Weintraub  <leviw@chromium.org>
31139
31140        Reviewed by Darin Fisher.
31141
31142        REGRESSION: left property broken with position:fixed elements in RTL documents
31143        https://bugs.webkit.org/show_bug.cgi?id=59204
31144        http://code.google.com/p/chromium/issues/detail?id=80216
31145
31146        Test: fast/block/positioning/rtl-fixed-positioning.html
31147              fast/block/positioning/vertical-rl/fixed-positioning.html
31148
31149        Returning the proper scroll offsets for fixed position content in RTL documents.
31150        We regressed to X and Y offsets not updating while scrolling when we clamped to zero,
31151        but RTL documents scroll in negative space.
31152
31153        * page/FrameView.cpp:
31154        (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where
31155        the scroll origin and offsets are negative.
31156        (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing-
31157        mode RTL documents, like above.
31158        * platform/ScrollView.h:
31159        (WebCore::ScrollView::scrollOrigin): Changing this accessor to const.
31160
311612011-04-22  Justin Schuh  <jschuh@chromium.org>
31162
31163        Reviewed by Eric Seidel.
31164
31165        Should assert on invalid type in FEComponentTransfer::apply
31166        https://bugs.webkit.org/show_bug.cgi?id=57959
31167
31168        No functional change. No new tests needed.
31169
31170        * platform/graphics/filters/FEComponentTransfer.cpp:
31171        (WebCore::FEComponentTransfer::apply):
31172
311732011-04-22  MORITA Hajime  <morrita@google.com>
31174
31175        Unreviewed crash fix.
31176
31177        * html/HTMLDetailsElement.cpp:
31178        (WebCore::DetailsSummaryElement::shouldInclude):
31179
311802011-04-22  Dan Bernstein  <mitz@apple.com>
31181
31182        Reviewed by Sam Weinig.
31183
31184        Exclude scrollbars from the dirty rect passed to the document
31185        https://bugs.webkit.org/show_bug.cgi?id=59206
31186
31187        No test added because functionality is unchanged.
31188
31189        * platform/ScrollView.cpp:
31190        (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view
31191        in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect
31192        with it. If the result is empty, avoid calling paintContents().
31193
311942011-04-22  Jer Noble  <jer.noble@apple.com>
31195
31196        Reviewed by Maciej Stachowiak.
31197
31198        Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
31199        https://bugs.webkit.org/show_bug.cgi?id=59147
31200
31201        Add a new isAVFoundationEnabled setting and check it before adding 
31202        MediaPlayerPrivateAVFoundationObjC to the media engine registry.
31203
31204        * WebCore.exp.in:
31205        * page/Settings.cpp:
31206        * page/Settings.h:
31207        (WebCore::Settings::setAVFoundationEnabled): Added.
31208        (WebCore::Settings::isAVFoundationEnabled): Added.
31209        * platform/graphics/MediaPlayer.cpp:
31210        (WebCore::installedMediaEngines): Check the settings added above.
31211
312122011-04-22  Sam Weinig  <sam@webkit.org>
31213
31214        Reviewed by Gavin Barraclough.
31215
31216        Remove remaining uses of deprecated version of toJS
31217        https://bugs.webkit.org/show_bug.cgi?id=59170
31218
31219        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
31220        (WebCore::toJS):
31221        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
31222        (WebCore::JSCanvasRenderingContext2D::fillStyle):
31223        (WebCore::JSCanvasRenderingContext2D::createPattern):
31224        * bindings/js/JSConsoleCustom.cpp:
31225        (WebCore::JSConsole::profiles):
31226        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
31227        (WebCore::JSSQLStatementErrorCallback::handleEvent):
31228        * bindings/js/JSDOMBinding.h:
31229        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
31230        (WebCore::JSDOMMimeTypeArray::nameGetter):
31231        * bindings/js/JSDOMPluginArrayCustom.cpp:
31232        (WebCore::JSDOMPluginArray::nameGetter):
31233        * bindings/js/JSDOMPluginCustom.cpp:
31234        (WebCore::JSDOMPlugin::nameGetter):
31235        * bindings/js/JSDOMWindowCustom.cpp:
31236        (WebCore::namedItemGetter):
31237        (WebCore::JSDOMWindow::event):
31238        * bindings/js/JSEventTarget.cpp:
31239        (WebCore::toJS):
31240        * bindings/js/JSInjectedScriptHostCustom.cpp:
31241        Propagate stored global object down access chain.
31242
31243        (WebCore::InjectedScriptHost::nodeAsScriptValue):
31244        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
31245
31246        (WebCore::JSInjectedScriptHost::currentCallFrame):
31247        (WebCore::JSInjectedScriptHost::inspectedNode):
31248        * bindings/js/JSNamedNodeMapCustom.cpp:
31249        (WebCore::JSNamedNodeMap::nameGetter):
31250        * bindings/js/JSNodeListCustom.cpp:
31251        (WebCore::callNodeList):
31252        (WebCore::JSNodeList::nameGetter):
31253        * bindings/js/JSScriptProfileNodeCustom.cpp:
31254        (WebCore::JSScriptProfileNode::children):
31255        * bindings/js/JSStyleSheetListCustom.cpp:
31256        (WebCore::JSStyleSheetList::nameGetter):
31257        * bindings/js/JSXSLTProcessorCustom.cpp:
31258        (WebCore::JSXSLTProcessor::transformToFragment):
31259        (WebCore::JSXSLTProcessor::transformToDocument):
31260        * bindings/scripts/CodeGeneratorJS.pm:
31261        Propagate stored global object down access chain.
31262
31263        * css/MediaQueryListListener.cpp:
31264        (WebCore::MediaQueryListListener::queryChanged):
31265        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype,
31266        we will want refactor this to match other callbacks so we can remove this.
31267
312682011-04-22  Naoki Takano  <takano.naoki@gmail.com>
31269
31270        Reviewed by Eric Seidel.
31271
31272        [Chromium]Mac UI polish to add left/right padding space for autofill popup window.
31273        https://bugs.webkit.org/show_bug.cgi?id=58960
31274        http://code.google.com/p/chromium/issues/detail?id=51077
31275
31276        No new test because Chromium Autofill popup window doesn't have any test framework.
31277        This assumes only AutofillPopupMenuClient gives TexFieldPart appearance.
31278        Only if Autofill popup window has right/left padding.
31279        The code should be removed after Autofill popup window logic is separated from WebKit to Chromium.
31280
31281        * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft().
31282        * rendering/RenderThemeChromiumMac.mm:
31283        (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified.
31284        (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified.
31285
312862011-04-21  Adam Roben  <aroben@apple.com>
31287
31288        Add code to enumerate all the functions imported by a particular Windows binary
31289
31290        PEImage is where all the logic starts. It represents a single Portable Executable (PE)
31291        binary. The various enumerator classes are used in conjunction with PEImage to enumerate the
31292        modules and functions imported by that image.
31293
31294        I couldn't figure out how to write a test for this. :-(
31295
31296        Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No
31297        context menu appears when right-clicking on windowless Flash plugin
31298
31299        Reviewed by Sam Weinig, and given a good once-over by Jeff Miller.
31300
31301        * WebCore.vcproj/WebCore.vcproj: Added the new files.
31302
31303        * platform/win/PEImage.cpp: Added.
31304        (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers,
31305        then initializes m_ntHeaders using the module.
31306        (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a
31307        non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of
31308        places.)
31309        (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated
31310        with the given entry in the image's DataDirectory.
31311
31312        * platform/win/PEImage.h: Added.
31313        (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor
31314        succeeded, in which case m_ntHeaders will be set.
31315
31316        * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the
31317        functions imported by the image from a single module by walking the Import Name Table (INT)
31318        and Import Address Table (IAT).
31319        (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members.
31320        (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated
31321        arrays.
31322        (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT.
31323        (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the
31324        function's name, if possible, using the INT.
31325        (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address
31326        of the function pointer for the current function. This function pointer is used whenever
31327        code in m_image calls the current function. (A future patch will take advantage of this by
31328        overwriting this function pointer with another, thereby redirecting calls to that function.)
31329
31330        * platform/win/ImportedFunctionsEnumerator.h: Added.
31331
31332        * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by
31333        ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written
31334        that works with either one.
31335
31336        * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the
31337        non-delay-loaded modules imported by the image by walking the image's import array.
31338        (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information
31339        is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory.
31340        (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated.
31341        (WebCore::ImportedModulesEnumerator::next): Steps along the import array.
31342        (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's
31343        name.
31344        (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT
31345        and IAT for this module and wraps them in an ImportedFunctionsEnumerator.
31346
31347        * platform/win/ImportedModulesEnumerator.h: Added.
31348
31349        * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the
31350        delay-loaded modules that are imported by the given PEImage by walking the image's
31351        ImageDelayDescr array.
31352        (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load
31353        information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's
31354        DataDirectory.
31355        (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is
31356        0-terminated.
31357        (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array.
31358        (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's
31359        name out of the descriptor.
31360        (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the
31361        current module out of the descriptor and makes an ImportedFunctionsEnumerator from them.
31362        (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images
31363        stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later
31364        images store RVAs. This function abstracts away the difference.
31365
31366        * platform/win/DelayLoadedModulesEnumerator.h: Added.
31367
313682011-04-21  Adam Roben  <aroben@apple.com>
31369
31370        Add a shared do-nothing window class that anyone can use
31371
31372        Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
31373
31374        Reviewed by Anders Carlsson.
31375
31376        * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of
31377        platform/win and into platform. Let VS reorder other files.
31378
31379        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
31380        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared
31381        dummy window class instead of creating our own.
31382
31383        * platform/win/DefWndProcWindowClass.cpp: Added.
31384        (WebCore::registerClass): Register it!
31385        (WebCore::defWndProcWindowClassName): Register it and return it!
31386
31387        * platform/win/DefWndProcWindowClass.h: Added.
31388
313892011-04-21  MORITA Hajime  <morrita@google.com>
31390
31391        Reviewed by Dimitri Glazkov.
31392        
31393        Content of <details> should be forwarded through the shadow DOM
31394        https://bugs.webkit.org/show_bug.cgi?id=59055
31395
31396        - Made ShadowContentElement abstract and added shouldInclude() pure virtual method.
31397        - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as
31398          subclasses of ShadowContentElement.
31399        - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that
31400          handles non-summary contents of <details>. Another is SummaryContentElement, that
31401          handles the main summary element.
31402        - Removed most of RenderDetails custom layout mechanism, which is replaced by
31403          ShadowContentElement subclasses.
31404
31405        Tests: fast/html/details-add-child-1.html
31406               fast/html/details-add-child-2.html
31407               fast/html/details-remove-child-1.html
31408               fast/html/details-remove-child-2.html
31409
31410        * dom/ShadowRoot.cpp:
31411        (WebCore::ShadowRoot::contentContainerFor):
31412        (WebCore::ShadowRoot::hostChildrenChanged):
31413        (WebCore::ShadowRoot::hasContentElement):
31414        * dom/ShadowRoot.h:
31415        * html/HTMLDetailsElement.cpp:
31416        (WebCore::DetailsContentElement::DetailsContentElement):
31417        (WebCore::DetailsContentElement::create):
31418        (WebCore::DetailsContentElement::shouldInclude):
31419        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
31420        (WebCore::DetailsSummaryElement::create):
31421        (WebCore::DetailsSummaryElement::shouldInclude):
31422        (WebCore::HTMLDetailsElement::create):
31423        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
31424        (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf):
31425        (WebCore::findSummaryFor):
31426        (WebCore::HTMLDetailsElement::ensureMainSummary):
31427        (WebCore::HTMLDetailsElement::refreshMainSummary):
31428        (WebCore::HTMLDetailsElement::createShadowSubtree):
31429        * html/HTMLDetailsElement.h:
31430        * html/HTMLSummaryElement.cpp:
31431        (WebCore::SummaryContentElement::SummaryContentElement):
31432        (WebCore::SummaryContentElement::shouldInclude):
31433        (WebCore::SummaryContentElement::create):
31434        (WebCore::HTMLSummaryElement::createShadowSubtree):
31435        * html/shadow/ShadowContentElement.h:
31436        * rendering/RenderDetails.cpp:
31437        (WebCore::RenderDetails::RenderDetails):
31438        (WebCore::RenderDetails::addChild):
31439        * rendering/RenderDetails.h:
31440        * rendering/RenderSummary.cpp:
31441        * rendering/RenderSummary.h:
31442
314432011-04-21  Simon Fraser  <simon.fraser@apple.com>
31444
31445        Reviewed by Dan Bernstein.
31446
31447        Extra GraphicsContext::save() in InlineTextBox::paintDecoration()
31448        https://bugs.webkit.org/show_bug.cgi?id=59109
31449        
31450        Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration().
31451        
31452        Add an assertion that fires when a GraphicsContext() is destroyed with a non-
31453        empty state stack. Fix canvas to avoid this assertion, since bad content might
31454        trigger it.
31455        
31456        Also add an assertion that fires for mismatched begin/endTransparencyLayers.
31457
31458        Test: fast/text/multiple-text-shadow-alpha.html
31459
31460        * html/HTMLCanvasElement.cpp:
31461        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
31462        Make sure that the CanvasRenderingContext goes away before the ImageBuffer,
31463        so that CanvasRenderingContext2D has a chance to unwind the state stack in
31464        the ImageBuffer's GraphicsContext.
31465        
31466        * html/canvas/CanvasRenderingContext2D.cpp:
31467        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
31468        Balance unmatched state saves in the canvas context.
31469        
31470        * platform/graphics/GraphicsContext.cpp:
31471        (WebCore::GraphicsContext::~GraphicsContext):
31472        Assert that the stack is empty.
31473        
31474        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
31475        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
31476        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
31477        (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
31478        (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
31479        Changes to allow for asserting for unmatched transparency layer begin/ends.
31480        
31481        * rendering/InlineTextBox.cpp:
31482        (WebCore::InlineTextBox::paintDecoration):
31483        Remove an unbalanced save().
31484
314852011-04-22  Pavel Feldman  <pfeldman@google.com>
31486
31487        Reviewed by Yury Semikhatsky.
31488
31489        Web Inspector: add Save As context menu item to the TextViewer.
31490        https://bugs.webkit.org/show_bug.cgi?id=59196
31491
31492        * inspector/front-end/ResourceView.js:
31493        (WebInspector.ResourceSourceFrame.prototype.requestContent):
31494        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
31495        (WebInspector.RevisionSourceFrame.prototype.requestContent):
31496        (WebInspector.RevisionSourceFrame.prototype.suggestedFileName):
31497        * inspector/front-end/ScriptsPanel.js:
31498        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
31499        (WebInspector.SourceFrameDelegateForScriptsPanel):
31500        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
31501        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
31502        * inspector/front-end/SourceFrame.js:
31503        (WebInspector.SourceFrame.prototype._initializeTextViewer):
31504        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
31505        (WebInspector.SourceFrame.prototype.suggestedFileName):
31506        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
31507        (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
31508        * inspector/front-end/TextViewer.js:
31509        (WebInspector.TextViewer.prototype._contextMenu):
31510        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
31511        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
31512        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
31513        (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
31514
315152011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
31516
31517        Reviewed by Pavel Feldman.
31518
31519        Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
31520        https://bugs.webkit.org/show_bug.cgi?id=59094
31521
31522        * WebCore.gypi:
31523        * WebCore.vcproj/WebCore.vcproj:
31524        * gyp/streamline-inspector-source.sh:
31525        * inspector/front-end/DetailedHeapshotGridNodes.js:
31526        (WebInspector.HeapSnapshotGridNode.prototype.dispose):
31527        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
31528        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
31529        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
31530        (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
31531        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
31532        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
31533        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
31534        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
31535        (MixInSnapshotNodeFunctions):
31536        * inspector/front-end/DetailedHeapshotView.js:
31537        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
31538        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
31539        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
31540        (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose):
31541        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
31542        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
31543        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
31544        (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
31545        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
31546        (WebInspector.DetailedHeapshotView.prototype.dispose):
31547        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
31548        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
31549        * inspector/front-end/HeapSnapshot.js:
31550        (WebInspector.HeapSnapshotLoader):
31551        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
31552        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
31553        (WebInspector.HeapSnapshot.prototype.pushBaseIds):
31554        (WebInspector.HeapSnapshot.prototype.createDiff):
31555        (WebInspector.HeapSnapshot.prototype._parseFilter):
31556        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
31557        (WebInspector.HeapSnapshot.prototype.createNodesProvider):
31558        (WebInspector.HeapSnapshot.prototype.createPathFinder):
31559        (WebInspector.HeapSnapshot.prototype.updateStaticData):
31560        (WebInspector.HeapSnapshotPathFinder):
31561        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
31562        (WebInspector.HeapSnapshotPathFinder.prototype._reset):
31563        * inspector/front-end/HeapSnapshotProxy.js:
31564        (WebInspector.HeapSnapshotRealWorker):
31565        (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
31566        (WebInspector.HeapSnapshotRealWorker.prototype.postMessage):
31567        (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
31568        (WebInspector.HeapSnapshotFakeWorker):
31569        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
31570        (WebInspector.HeapSnapshotFakeWorker.prototype.terminate):
31571        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
31572        (WebInspector.HeapSnapshotWorker):
31573        (WebInspector.HeapSnapshotWorker.prototype.createObject):
31574        (WebInspector.HeapSnapshotWorker.prototype.dispose):
31575        (WebInspector.HeapSnapshotWorker.prototype.disposeObject):
31576        (WebInspector.HeapSnapshotWorker.prototype.callGetter):
31577        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback):
31578        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
31579        (WebInspector.HeapSnapshotWorker.prototype.callMethod):
31580        (WebInspector.HeapSnapshotWorker.prototype._findFunction):
31581        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
31582        (WebInspector.HeapSnapshotWorker.prototype._postMessage):
31583        (WebInspector.HeapSnapshotProxyObject):
31584        (WebInspector.HeapSnapshotProxyObject.prototype._callWorker):
31585        (WebInspector.HeapSnapshotProxyObject.prototype.dispose):
31586        (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker):
31587        (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
31588        (WebInspector.HeapSnapshotProxyObject.prototype.callGetter):
31589        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
31590        (WebInspector.HeapSnapshotLoaderProxy):
31591        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
31592        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
31593        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
31594        (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
31595        (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
31596        (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
31597        (WebInspector.HeapSnapshotProxy):
31598        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
31599        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
31600        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
31601        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
31602        (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
31603        (WebInspector.HeapSnapshotProxy.prototype.dispose):
31604        (WebInspector.HeapSnapshotProxy.prototype.finishLoading):
31605        (WebInspector.HeapSnapshotProxy.prototype.get loaded):
31606        (WebInspector.HeapSnapshotProxy.prototype.get nodeCount):
31607        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
31608        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
31609        (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex):
31610        (WebInspector.HeapSnapshotProxy.prototype.updateStaticData):
31611        (WebInspector.HeapSnapshotProxy.prototype.startLoading):
31612        (WebInspector.HeapSnapshotProxy.prototype.get totalSize):
31613        (WebInspector.HeapSnapshotProxy.prototype.get uid):
31614        (WebInspector.HeapSnapshotProviderProxy):
31615        (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
31616        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
31617        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
31618        (WebInspector.HeapSnapshotPathFinderProxy):
31619        (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext):
31620        (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots):
31621        (WebInspector.HeapSnapshotsDiffProxy):
31622        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
31623        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
31624        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
31625        * inspector/front-end/HeapSnapshotWorker.js: Added.
31626        (WebInspector.UIString):
31627        (postMessageWrapper):
31628        * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added.
31629        (WebInspector.HeapSnapshotWorkerDispatcher):
31630        (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction):
31631        (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
31632        * inspector/front-end/ProfilesPanel.js:
31633        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
31634        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
31635        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
31636        * inspector/front-end/WebKit.qrc:
31637        * inspector/front-end/inspector.html:
31638
316392011-04-22  Pavel Podivilov  <podivilov@chromium.org>
31640
31641        Reviewed by Pavel Feldman.
31642
31643        Web Inspector: fix de-obfuscation of scripts inlined in html.
31644        https://bugs.webkit.org/show_bug.cgi?id=58538
31645
31646        Use html tokenizer to find script boundaries instead of relying on scriptParsed events.
31647
31648        Test: inspector/debugger/script-formatter.html
31649
31650        * WebCore.gypi:
31651        * WebCore.vcproj/WebCore.vcproj:
31652        * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js.
31653        * inspector/front-end/ScriptFormatter.js:
31654        (WebInspector.ScriptFormatter):
31655        (WebInspector.ScriptFormatter.prototype.formatContent):
31656        (WebInspector.ScriptFormatter.prototype._didFormatContent):
31657        * inspector/front-end/ScriptFormatterWorker.js:
31658        (onmessage):
31659        (formatScript):
31660        (HTMLScriptFormatter):
31661        (HTMLScriptFormatter.prototype.format):
31662        (HTMLScriptFormatter.prototype.scriptStarted):
31663        (HTMLScriptFormatter.prototype.scriptEnded):
31664        (HTMLScriptFormatter.prototype.styleSheetStarted):
31665        (HTMLScriptFormatter.prototype.styleSheetEnded):
31666        * inspector/front-end/SourceFile.js:
31667        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
31668        * inspector/front-end/SourceHTMLTokenizer.js:
31669        (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
31670        (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded):
31671        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
31672        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded):
31673        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
31674        * inspector/front-end/SourceHTMLTokenizer.re2js:
31675        * inspector/front-end/WebKit.qrc:
31676
316772011-04-22  Andrey Kosyakov  <caseq@chromium.org>
31678
31679        Reviewed by Pavel Feldman.
31680
31681        Web Inspector: [Extensions API] misc API cleanup
31682        https://bugs.webkit.org/show_bug.cgi?id=59194
31683
31684        * inspector/front-end/ExtensionAPISchema.json:
31685        * inspector/front-end/ExtensionPanel.js:
31686        (WebInspector.ExtensionSidebarPane.prototype._setObject):
31687
316882011-04-21  Pavel Feldman  <pfeldman@google.com>
31689
31690        Reviewed by Yury Semikhatsky.
31691
31692        Web Inspector: group content scripts in the scripts panel drop down.
31693        https://bugs.webkit.org/show_bug.cgi?id=59108
31694
31695        * English.lproj/localizedStrings.js:
31696        * inspector/front-end/ScriptsPanel.js:
31697        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
31698        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
31699
317002011-04-22  Mike West  <mkwst@google.com>
31701
31702        Reviewed by Pavel Feldman.
31703
31704        Web Inspector: Tiny improvement to UI for adding an XHR breakpoint
31705        https://bugs.webkit.org/show_bug.cgi?id=59100
31706
31707        Improve web inspector UI around adding XHR breakpoints by adding
31708        a textual label to the input-like `span` used to specify which
31709        XHR requests the breakpoint ought to target.
31710
31711        * inspector/front-end/BreakpointsSidebarPane.js:
31712        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
31713        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
31714        * inspector/front-end/inspector.css:
31715        (#breakpoint-condition-input):
31716
317172011-04-22  Pavel Podivilov  <podivilov@chromium.org>
31718
31719        Reviewed by Pavel Feldman.
31720
31721        Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments.
31722        https://bugs.webkit.org/show_bug.cgi?id=59191
31723
31724        * WebCore.gypi:
31725        * WebCore.vcproj/WebCore.vcproj:
31726        * inspector/front-end/ScriptFormatter.js:
31727        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
31728        (WebInspector.ScriptFormatter.prototype.formatContent):
31729        * inspector/front-end/ScriptFormatterWorker.js:
31730        (onmessage):
31731        * inspector/front-end/SourceFile.js:
31732        (WebInspector.SourceFile.prototype._loadResourceContent):
31733        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
31734        (WebInspector.FormattedSourceMapping):
31735        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
31736        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
31737        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
31738        * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added.
31739        (FormattedContentBuilder): Helper class for building formatted script content.
31740        (FormattedContentBuilder.prototype.addToken):
31741        (FormattedContentBuilder.prototype.addSpace):
31742        (FormattedContentBuilder.prototype.addNewLine):
31743        (FormattedContentBuilder.prototype.increaseNestingLevel):
31744        (FormattedContentBuilder.prototype.decreaseNestingLevel):
31745        (FormattedContentBuilder.prototype.content):
31746        (FormattedContentBuilder.prototype.mapping):
31747        (Tokenizer): Wrapper class for UglifyJS tokenizer.
31748        (Tokenizer.prototype.content):
31749        (Tokenizer.prototype.next):
31750        (Tokenizer.prototype._convertUglifyToken):
31751        (JavaScriptFormatter): New formatter based on UglifyJS tokenizer.
31752        (JavaScriptFormatter.prototype.format):
31753        * inspector/front-end/UglifyJS/process.js: Removed.
31754        * inspector/front-end/WebKit.qrc:
31755
317562011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
31757
31758        Reviewed by Pavel Feldman.
31759
31760        Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers.
31761        https://bugs.webkit.org/show_bug.cgi?id=59189
31762
31763        * WebCore.gypi:
31764        * WebCore.vcproj/WebCore.vcproj:
31765        * inspector/front-end/BinarySearch.js: Added.
31766        * inspector/front-end/DetailedHeapshotGridNodes.js:
31767        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
31768        (WebInspector.HeapSnapshotGridNode.prototype._populate):
31769        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
31770        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
31771        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
31772        (WebInspector.HeapSnapshotGridNode.prototype.sort):
31773        (WebInspector.HeapSnapshotObjectNode):
31774        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
31775        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
31776        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
31777        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
31778        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
31779        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
31780        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
31781        * inspector/front-end/DetailedHeapshotView.js:
31782        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
31783        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
31784        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
31785        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
31786        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
31787        (WebInspector.HeapSnapshotContainmentDataGrid):
31788        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource):
31789        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
31790        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
31791        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
31792        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
31793        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
31794        (WebInspector.HeapSnapshotDominatorsDataGrid):
31795        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
31796        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
31797        (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting):
31798        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
31799        (WebInspector.DetailedHeapshotView.prototype._changeBase):
31800        (WebInspector.DetailedHeapshotView.prototype._changeView):
31801        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
31802        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
31803        * inspector/front-end/HeapSnapshot.js:
31804        (WebInspector.HeapSnapshot.prototype.dispose):
31805        (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds):
31806        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
31807        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
31808        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
31809        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
31810        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
31811        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds):
31812        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes):
31813        * inspector/front-end/HeapSnapshotProxy.js:
31814        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
31815        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
31816        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
31817        (WebInspector.HeapSnapshotProviderProxy):
31818        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
31819        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
31820        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
31821        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
31822        * inspector/front-end/PleaseWaitMessage.js:
31823        (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
31824        (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide):
31825        * inspector/front-end/WebKit.qrc:
31826        * inspector/front-end/inspector.html:
31827        * inspector/front-end/utilities.js:
31828
318292011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
31830
31831        Unreviewed fix after r84484 -- conditional statement was inverted incorrectly.
31832
31833        * inspector/front-end/ProfilesPanel.js:
31834        (WebInspector.ProfilesPanel.prototype.handleShortcut):
31835
318362011-04-22  Annie Sullivan  <sullivan@chromium.org>
31837
31838        Reviewed by Pavel Feldman.
31839
31840        Web Inspector: Timeline is too narrow
31841        https://bugs.webkit.org/show_bug.cgi?id=58399
31842
31843        Changed Network Panel widths so that Timeline is 50%.
31844        Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow.
31845
31846        * inspector/front-end/NetworkPanel.js:
31847        (WebInspector.NetworkPanel.prototype._createTable):  Changed column widths.
31848        (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths.
31849        (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values.
31850        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto
31851        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto
31852        (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto
31853        * inspector/front-end/utilities.js:
31854        (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.
31855
318562011-04-22  Dan Bernstein  <mitz@apple.com>
31857
31858        Reviewed by Maciej Stachowiak.
31859
31860        <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media
31861        https://bugs.webkit.org/show_bug.cgi?id=59180
31862
31863        Test: media/audio-controls-do-not-fade-out.html
31864
31865        * html/HTMLMediaElement.cpp:
31866        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is
31867        a video track.
31868
318692011-04-22  Luke Macpherson   <macpherson@chromium.org>
31870
31871        Reviewed by Eric Seidel.
31872
31873        Add FontItalics and FontSmallCaps enums to be used instead of boolean values.
31874        https://bugs.webkit.org/show_bug.cgi?id=59080
31875
31876        No new tests as no new functionality added.
31877
31878        * css/CSSPrimitiveValueMappings.h:
31879        Add casts to/from FontItalics and FontSmallCaps
31880        * css/CSSStyleSelector.cpp:
31881        Use new casts defined in PrimitiveValueMappings.h
31882        * platform/graphics/Font.h:
31883        Use FontItalics enum.
31884        * platform/graphics/FontDescription.h:
31885        Define and use FontItalics and FontSmallCaps enums.
31886
318872011-04-21  Andrey Kosyakov  <caseq@chromium.org>
31888
31889        Reviewed by Yury Semikhatsky.
31890
31891        Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet
31892        https://bugs.webkit.org/show_bug.cgi?id=59123
31893
31894        * inspector/front-end/ResourceCookiesView.js:
31895        (WebInspector.ResourceCookiesView):
31896        (WebInspector.ResourceCookiesView.prototype.show):
31897        (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
31898        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
31899
319002011-04-21  Beth Dakin  <bdakin@apple.com>
31901
31902        Reviewed by Dan Bernstein.
31903
31904        https://bugs.webkit.org/show_bug.cgi?id=57898
31905        REGRESSION (r82185): Scroll position not restored on navigation back to a page in 
31906        the page cache
31907        -and corresponding-
31908        <rdar://problem/9226652>
31909
31910        The original fix for this change broke scroll-position restore for pages that are 
31911        *not* in the page cache. This patch fixes both cached and non-cached pages by 
31912        using the cachedScrollPosition() only for cached pages.
31913        * loader/HistoryController.cpp:
31914        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
31915
319162011-04-21  Luke Macpherson   <macpherson@chromium.org>
31917
31918        Reviewed by Eric Seidel.
31919
31920        Remove redundant calls to RenderStyle::setDisplay()
31921        https://bugs.webkit.org/show_bug.cgi?id=59060
31922
31923        No new tests / no new functionality added.
31924
31925        * css/CSSStyleSelector.cpp:
31926        (WebCore::CSSStyleSelector::applyProperty):
31927        Remove redundant calls to RenderStyle::setDisplay()
31928
319292011-04-21  John Bauman  <jbauman@chromium.org>
31930
31931        Reviewed by Kenneth Russell.
31932
31933        WebGL context drawing buffer may not be cleared if FBO bound
31934        https://bugs.webkit.org/show_bug.cgi?id=58956
31935
31936        Clear the drawing buffer even if it's not currently bound, by
31937        switching between FBOs around the clear. Also, make sure that we
31938        handle depth and stencil masks properly.
31939
31940        No new tests, because testing this under DRT doesn't work.
31941
31942        * html/canvas/WebGLRenderingContext.cpp:
31943        (WebCore::WebGLRenderingContext::initializeNewContext):
31944        (WebCore::WebGLRenderingContext::clearIfComposited):
31945        (WebCore::WebGLRenderingContext::depthMask):
31946        * html/canvas/WebGLRenderingContext.h:
31947        *
319482011-04-21  Chris Fleizach  <cfleizach@apple.com>
31949
31950        Reviewed by Beth Dakin.
31951
31952        WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables
31953        https://bugs.webkit.org/show_bug.cgi?id=59140
31954
31955        WebKit should not modify the DOM when the screen reader requests certain things be set. There is no
31956        specification that allows this behavior yet, but we are working on something for the future.
31957
31958        * accessibility/AccessibilityRenderObject.cpp:
31959        (WebCore::AccessibilityRenderObject::setARIAGrabbed):
31960        (WebCore::AccessibilityRenderObject::setIsExpanded):
31961        (WebCore::AccessibilityRenderObject::setSelected):
31962        (WebCore::AccessibilityRenderObject::setValue):
31963
319642011-04-21  Chris Fleizach  <cfleizach@apple.com>
31965
31966        Reviewed by Beth Dakin.
31967
31968        AX: order AccessibilityRole alphabetically
31969        https://bugs.webkit.org/show_bug.cgi?id=31524
31970
31971        * accessibility/AccessibilityObject.h:
31972
319732011-04-21  Jia Pu  <jpu@apple.com>
31974
31975        Reviewed by Maciej Stachowiak.
31976
31977        [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared.
31978        https://bugs.webkit.org/show_bug.cgi?id=59155
31979        <rdar://problem/9261698>
31980
31981        Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h,
31982        and fixed a typo in function name.
31983
31984        * editing/Editor.h:
31985        * editing/SpellingCorrectionController.cpp:
31986        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
31987        (WebCore::SpellingCorrectionController::respondToChangedSelection):
31988        * editing/SpellingCorrectionController.h:
31989        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
31990
319912011-04-21  Maciej Stachowiak  <mjs@apple.com>
31992
31993        Reviewed by Adam Roben.
31994
31995        Add a feature define to allow <details> and <summary> to be disabled
31996        https://bugs.webkit.org/show_bug.cgi?id=59118
31997        <rdar://problem/9257045>
31998
31999        No new tests; no behavior change.
32000
32001        * Configurations/FeatureDefines.xcconfig:
32002        * DerivedSources.make:
32003        * GNUmakefile.am:
32004        * features.pri:
32005        * html/HTMLDetailsElement.cpp:
32006        * html/HTMLSummaryElement.cpp:
32007        * html/HTMLTagNames.in:
32008        * html/shadow/DetailsMarkerControl.cpp:
32009        * rendering/RenderBlock.cpp:
32010        (WebCore::canMergeContiguousAnonymousBlocks):
32011        * rendering/RenderDetails.cpp:
32012        * rendering/RenderDetails.h:
32013        * rendering/RenderDetailsMarker.cpp:
32014        * rendering/RenderDetailsMarker.h:
32015        * rendering/RenderObject.h:
32016        * rendering/RenderSummary.cpp:
32017        * rendering/RenderSummary.h:
32018        * rendering/RenderTreeAsText.cpp:
32019        (WebCore::RenderTreeAsText::writeRenderObject):
32020
320212011-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
32022
32023        Reviewed by Adele Peterson.
32024
32025        REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text
32026        https://bugs.webkit.org/show_bug.cgi?id=59053
32027
32028        Turns out, the relatedTarget of an event could be also an ancestor of an event,
32029        not just its parent. Duh.
32030
32031        * dom/EventDispatcher.cpp:
32032        (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost
32033            explicitly.
32034
320352011-04-21  Michael Saboff  <msaboff@apple.com>
32036
32037        Reviewed by Maciej Stachowiak.
32038
32039        Qualified names used for all TagName access, yet namespace usage is rare
32040        https://bugs.webkit.org/show_bug.cgi?id=58997
32041
32042        The methods getElementsByTagName and getElementsByTagNameNS where
32043        always creating and using QualifiedNames.  QualifiedName::init
32044        was consistently in the top 3 routines when running the Dromaeo
32045        DOM-query benchmark.  Split out the functionality so that
32046        getElementsByTagName uses just the local name, an implied "*"
32047        namespace and a separate TagNodeListCache keyed by an atomic name
32048        instead of a QualifiedName.  Access to elements via
32049        getElementsByTagNameNS that have "*" namespace are forwarded to
32050        getElementsByTagName as well.  This provides ~10% speed up in that
32051        Dromaeo test.
32052
32053        No new tests added, existing tests have coverage.  The changes are
32054        an optimization of existing functionality.
32055
32056        * dom/Node.cpp:
32057        (WebCore::Node::removeCachedTagNodeList):
32058        (WebCore::Node::getElementsByTagName):
32059        (WebCore::Node::getElementsByTagNameNS):
32060        (WebCore::NodeListsNodeData::invalidateCaches):
32061        (WebCore::NodeListsNodeData::isEmpty):
32062        * dom/Node.h:
32063        * dom/NodeRareData.h:
32064        * dom/TagNodeList.cpp:
32065        (WebCore::TagNodeList::~TagNodeList):
32066
320672011-04-21  Geoffrey Garen  <ggaren@apple.com>
32068
32069        Reviewed by Oliver Hunt.
32070
32071        Removed a use of markDOMObjectWrapper: more style- and node-related stuff
32072        https://bugs.webkit.org/show_bug.cgi?id=59127
32073
32074        * bindings/js/JSCanvasRenderingContextCustom.cpp:
32075        * bindings/js/JSCanvasRenderingContextCustom.cpp:
32076        (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots):
32077        (WebCore::JSCanvasRenderingContextOwner::finalize):
32078        (WebCore::wrapperOwner):
32079        (WebCore::wrapperContext): Use opaque roots for marking canvas rendering
32080        contexts, so JSNode isn't responsible for it.
32081
32082        * bindings/js/JSElementCustom.cpp:
32083        (WebCore::JSElement::markChildren):
32084        * bindings/js/JSHTMLCanvasElementCustom.cpp:
32085        * bindings/js/JSHTMLLinkElementCustom.cpp:
32086        * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code.
32087
32088        * bindings/js/JSNodeCustom.cpp:
32089        (WebCore::isObservable):
32090        (WebCore::isReachableFromDOM):
32091        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of
32092        CSS object model related special cases, since the CSS object model
32093        now tracks its own lifetime through the opaque roots system. Removed
32094        canvas special case, covered above.
32095
32096        * bindings/js/JSProcessingInstructionCustom.cpp:
32097        * bindings/js/JSWebKitAnimationListCustom.cpp:
32098        * dom/ProcessingInstruction.idl:
32099        * html/HTMLCanvasElement.idl:
32100        * html/HTMLLinkElement.idl:
32101        * html/HTMLStyleElement.idl:
32102        * page/WebKitAnimationList.idl: Removed obsolete marking code.
32103
321042011-04-21  Vangelis Kokkevis  <vangelis@chromium.org>
32105
32106        Reviewed by James Robinson.
32107
32108        [chromium] Only update the contents of layers that are going to
32109        be drawn. Remove individual texture unreserves that happen
32110        after the layer draw calls with a single unreserve for all the
32111        textures in the texture manager.
32112        https://bugs.webkit.org/show_bug.cgi?id=59129
32113
32114        Tests: No new functionality.  Covered by existing layout tests.
32115
32116        * platform/graphics/chromium/ContentLayerChromium.cpp:
32117        (WebCore::ContentLayerChromium::draw):
32118        * platform/graphics/chromium/ContentLayerChromium.h:
32119        * platform/graphics/chromium/ImageLayerChromium.cpp:
32120        (WebCore::ImageLayerChromium::paintContentsIfDirty):
32121        (WebCore::ImageLayerChromium::updateCompositorResources):
32122        * platform/graphics/chromium/LayerRendererChromium.cpp:
32123        (WebCore::LayerRendererChromium::drawRootLayer):
32124        (WebCore::LayerRendererChromium::updateAndDrawLayers):
32125        (WebCore::LayerRendererChromium::updateLayers):
32126        (WebCore::LayerRendererChromium::paintLayerContents):
32127        * platform/graphics/chromium/LayerRendererChromium.h:
32128        * platform/graphics/chromium/LayerTexture.cpp:
32129        * platform/graphics/chromium/LayerTexture.h:
32130        * platform/graphics/chromium/LayerTilerChromium.cpp:
32131        * platform/graphics/chromium/LayerTilerChromium.h:
32132        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
32133        (WebCore::RenderSurfaceChromium::drawSurface):
32134        * platform/graphics/chromium/TextureManager.cpp:
32135        (WebCore::TextureManager::unprotectAllTextures):
32136        * platform/graphics/chromium/TextureManager.h:
32137        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
32138        (WebCore::CCHeadsUpDisplay::draw):
32139        * platform/graphics/chromium/cc/CCLayerImpl.h:
32140        (WebCore::CCLayerImpl::owner):
32141
321422011-04-21  Ryosuke Niwa  <rniwa@webkit.org>
32143
32144        Reviewed by Sam Weinig.
32145
32146        Add Frame* to the argument lists of canCopyCut and canPaste
32147        https://bugs.webkit.org/show_bug.cgi?id=59153
32148
32149        canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called.
32150        This allows editor client to grant copy/cut and paste permissions per origin.
32151
32152        * editing/EditorCommand.cpp:
32153        (WebCore::supportedCopyCut):
32154        (WebCore::supportedPaste):
32155        * loader/EmptyClients.h:
32156        (WebCore::EmptyEditorClient::canCopyCut):
32157        (WebCore::EmptyEditorClient::canPaste):
32158        * page/EditorClient.h:
32159
321602011-04-21  Oliver Hunt  <oliver@apple.com>
32161
32162        Whoops, change lost during merge
32163
32164        * bindings/js/JSEventListener.h:
32165
321662011-04-21  Geoffrey Garen  <ggaren@apple.com>
32167
32168        Reviewed by Sam Weinig.
32169
32170        Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to
32171        wrong global object use.
32172
32173        * bindings/js/JSHTMLDocumentCustom.cpp:
32174        (WebCore::JSHTMLDocument::nameGetter):
32175        (WebCore::JSHTMLDocument::all):
32176        * bindings/js/JSHTMLFormElementCustom.cpp:
32177        (WebCore::JSHTMLFormElement::nameGetter): Use the right global object.
32178
321792011-04-21  Oliver Hunt  <oliver@apple.com>
32180
32181        Reviewed by Geoffrey Garen.
32182
32183        Start moving to a general visitor pattern for GC traversal
32184        https://bugs.webkit.org/show_bug.cgi?id=59141
32185
32186        This is just a rename:
32187            markChildren -> visitChildren
32188            markAggregate -> visitAggregate
32189            markStack -> visitor
32190            MarkStack -> typedef'd to SlotVisitor
32191
32192        * bindings/js/JSAttrCustom.cpp:
32193        (WebCore::JSAttr::visitChildren):
32194        * bindings/js/JSAudioConstructor.cpp:
32195        (WebCore::constructAudio):
32196        * bindings/js/JSCSSRuleCustom.cpp:
32197        (WebCore::JSCSSRule::visitChildren):
32198        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
32199        (WebCore::JSCSSStyleDeclaration::visitChildren):
32200        * bindings/js/JSDOMBinding.cpp:
32201        (WebCore::visitActiveObjectsForContext):
32202        (WebCore::markDOMObjectWrapper):
32203        * bindings/js/JSDOMBinding.h:
32204        * bindings/js/JSDOMGlobalObject.cpp:
32205        (WebCore::JSDOMGlobalObject::visitChildren):
32206        * bindings/js/JSDOMGlobalObject.h:
32207        * bindings/js/JSDOMImplementationCustom.cpp:
32208        (WebCore::JSDOMImplementation::visitChildren):
32209        * bindings/js/JSDOMWindowCustom.cpp:
32210        (WebCore::JSDOMWindow::visitChildren):
32211        * bindings/js/JSDOMWindowShell.cpp:
32212        (WebCore::JSDOMWindowShell::visitChildren):
32213        * bindings/js/JSDOMWindowShell.h:
32214        * bindings/js/JSDocumentCustom.cpp:
32215        (WebCore::JSDocument::visitChildren):
32216        * bindings/js/JSElementCustom.cpp:
32217        (WebCore::JSElement::visitChildren):
32218        * bindings/js/JSEventListener.cpp:
32219        (WebCore::JSEventListener::markJSFunction):
32220        * bindings/js/JSEventListener.h:
32221        * bindings/js/JSHTMLCanvasElementCustom.cpp:
32222        (WebCore::JSHTMLCanvasElement::visitChildren):
32223        * bindings/js/JSHTMLLinkElementCustom.cpp:
32224        (WebCore::JSHTMLLinkElement::visitChildren):
32225        * bindings/js/JSHTMLStyleElementCustom.cpp:
32226        (WebCore::JSHTMLStyleElement::visitChildren):
32227        * bindings/js/JSImageConstructor.cpp:
32228        (WebCore::constructImage):
32229        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
32230        (WebCore::JSJavaScriptAudioNode::visitChildren):
32231        * bindings/js/JSMessageChannelCustom.cpp:
32232        (WebCore::JSMessageChannel::visitChildren):
32233        * bindings/js/JSMessagePortCustom.cpp:
32234        (WebCore::JSMessagePort::visitChildren):
32235        * bindings/js/JSNamedNodeMapCustom.cpp:
32236        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
32237        (WebCore::JSNamedNodeMap::visitChildren):
32238        * bindings/js/JSNavigatorCustom.cpp:
32239        (WebCore::JSNavigator::visitChildren):
32240        * bindings/js/JSNodeCustom.cpp:
32241        (WebCore::isObservable):
32242        (WebCore::isReachableFromDOM):
32243        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
32244        (WebCore::JSNode::visitChildren):
32245        * bindings/js/JSNodeCustom.h:
32246        * bindings/js/JSNodeFilterCondition.cpp:
32247        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
32248        * bindings/js/JSNodeFilterCondition.h:
32249        * bindings/js/JSNodeFilterCustom.cpp:
32250        (WebCore::JSNodeFilter::visitChildren):
32251        * bindings/js/JSNodeIteratorCustom.cpp:
32252        (WebCore::JSNodeIterator::visitChildren):
32253        * bindings/js/JSNodeListCustom.cpp:
32254        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
32255        * bindings/js/JSProcessingInstructionCustom.cpp:
32256        (WebCore::JSProcessingInstruction::visitChildren):
32257        * bindings/js/JSSVGElementInstanceCustom.cpp:
32258        (WebCore::JSSVGElementInstance::visitChildren):
32259        * bindings/js/JSSharedWorkerCustom.cpp:
32260        (WebCore::JSSharedWorker::visitChildren):
32261        * bindings/js/JSStyleSheetCustom.cpp:
32262        (WebCore::JSStyleSheet::visitChildren):
32263        * bindings/js/JSTreeWalkerCustom.cpp:
32264        (WebCore::JSTreeWalker::visitChildren):
32265        * bindings/js/JSWebGLRenderingContextCustom.cpp:
32266        (WebCore::JSWebGLRenderingContext::visitChildren):
32267        * bindings/js/JSWebKitAnimationListCustom.cpp:
32268        (WebCore::JSWebKitAnimationList::visitChildren):
32269        * bindings/js/JSWorkerContextCustom.cpp:
32270        (WebCore::JSWorkerContext::visitChildren):
32271        * bindings/js/JSXMLHttpRequestCustom.cpp:
32272        (WebCore::JSXMLHttpRequest::visitChildren):
32273        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
32274        (WebCore::JSXMLHttpRequestUpload::visitChildren):
32275        * bindings/scripts/CodeGeneratorJS.pm:
32276        * bridge/qt/qt_instance.cpp:
32277        (JSC::Bindings::QtRuntimeObject::visitChildren):
32278        (JSC::Bindings::QtInstance::markAggregate):
32279        * bridge/qt/qt_instance.h:
32280        * bridge/qt/qt_pixmapruntime.cpp:
32281        * bridge/qt/qt_runtime.cpp:
32282        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
32283        * bridge/qt/qt_runtime.h:
32284        * dom/EventListener.h:
32285        (WebCore::EventListener::visitJSFunction):
32286        * dom/EventTarget.h:
32287        (WebCore::EventTarget::visitJSEventListeners):
32288        * dom/Node.h:
32289        * dom/NodeFilterCondition.h:
32290        (WebCore::NodeFilterCondition::visitAggregate):
32291        * page/DOMWindow.h:
32292        * workers/WorkerContext.h:
32293
322942011-04-21  Beth Dakin  <bdakin@apple.com>
32295
32296        Reviewed by Dan Bernstein.
32297
32298        https://bugs.webkit.org/show_bug.cgi?id=59048
32299        Need to track whether overlay scrollbar is currently visible and in lower-
32300        righthand corner
32301        -and corresponding-
32302        <rdar://problem/9211232>
32303
32304        Whenever we start a new ScrollbarPartAnimation, check if the scrollbar is vertical 
32305        and showing (alpha of 1), and if so, call setVisibleScrollerThumbRect with the 
32306        knob rect, otherwise with an empty rect. ScrollAnimatorMac has a local rect to 
32307        track this value so that it can avoid sending messages across the ChromeClient to 
32308        the UIProcess if the rect has not changed.
32309        * platform/mac/ScrollAnimatorMac.h:
32310        * platform/mac/ScrollAnimatorMac.mm:
32311        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
32312        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
32313        (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
32314
32315        Plumbing for the chrome client.
32316        * page/ChromeClient.h:
32317        (WebCore::ChromeClient::notifyScrollerThumbIsVisibleInRect):
32318        * page/FrameView.cpp:
32319        (WebCore::FrameView::setVisibleScrollerThumbRect):
32320        * page/FrameView.h:
32321        * platform/ScrollableArea.h:
32322        (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
32323
32324        New WebCoreSystemInterface function to get the knob rect.
32325        * WebCore.exp.in:
32326        * platform/mac/WebCoreSystemInterface.h:
32327        * platform/mac/WebCoreSystemInterface.mm:
32328
323292011-04-21  Nat Duca  <nduca@chromium.org>
32330
32331        Reviewed by James Robinson.
32332
32333        [chromium] Fix artefacts in compositor HUD when resizing
32334        https://bugs.webkit.org/show_bug.cgi?id=58969
32335
32336        HUD was using the tiler program and not setting the texture
32337        transform. The HUD would thus draw with a texture transform based
32338        on the last tile drawn, leading sometimes to distortion.
32339
32340        * platform/graphics/chromium/LayerRendererChromium.cpp:
32341        (WebCore::LayerRendererChromium::initializeSharedObjects):
32342        (WebCore::LayerRendererChromium::cleanupSharedObjects):
32343        * platform/graphics/chromium/LayerRendererChromium.h:
32344        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
32345        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
32346        (WebCore::CCHeadsUpDisplay::draw):
32347        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
32348
323492011-04-21  Mike Reed  <reed@google.com>
32350
32351        Reviewed by Kenneth Russell.
32352
32353        only return false if we actually in a skia-gpu accelerated canvas for isNativeFontRenderingAllowed
32354        https://bugs.webkit.org/show_bug.cgi?id=59024
32355
32356        No new tests. The bug (and fix) depend on enabling SKIA_GPU. When that is enabled, the bug
32357        shows all text w/o lcd rendering. This is a regression from a recent CL when we switch to
32358        calling skia::SupportsPlatformPaint. This CL fixes that.
32359        There should be no change for the default builds when SKIA_GPU is not enabled.
32360
32361        * platform/graphics/skia/PlatformContextSkia.cpp:
32362        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
32363
323642011-04-21  Adrienne Walker  <enne@google.com>
32365
32366        Reviewed by James Robinson.
32367
32368        [chromium] Don't upload partially drawn tiles in the compositor
32369        https://bugs.webkit.org/show_bug.cgi?id=59112
32370
32371        Use the same set of tiles for painting as is used for updating.
32372        Before, a larger set of tiles were being uploaded, causing some to
32373        only be partially undirtied because they were not fully painted.
32374        As tiles are clear their dirty rect after being unpainted, this caused
32375        artifacts to appear when scrolling.
32376
32377        Unfortunately, no layout test can test this behavior yet because
32378        scrolling invalidations are done differently in test shell.
32379
32380        * platform/graphics/chromium/ImageLayerChromium.cpp:
32381        (WebCore::ImageLayerChromium::updateCompositorResources):
32382        * platform/graphics/chromium/LayerTilerChromium.cpp:
32383        (WebCore::LayerTilerChromium::update):
32384        (WebCore::LayerTilerChromium::uploadCanvas):
32385        (WebCore::LayerTilerChromium::updateFromPixels):
32386        * platform/graphics/chromium/LayerTilerChromium.h:
32387
323882011-04-21  Ben Taylor  <bentaylor.solx86@gmail.com>
32389
32390        Reviewed by Alexey Proskuryakov.
32391
32392        https://bugs.webkit.org/show_bug.cgi?id=58725
32393
32394        Fix a compile issue on Solaris 10 with Sun Studio 12,
32395        ternary operators (?:) must have the same types
32396
32397        * loader/DocumentLoader.cpp:
32398        (WebCore::DocumentLoader::popArchiveForSubframe):
32399        * loader/archive/ArchiveFactory.cpp:
32400        (WebCore::ArchiveFactory::create):
32401        * loader/icon/IconDatabase.cpp:
32402        (WebCore::IconDatabase::setIconDataForIconURL):
32403        * page/animation/AnimationBase.cpp:
32404        (WebCore::blendFunc):
32405        * rendering/RenderLayer.cpp:
32406        (WebCore::RenderLayer::updateScrollCornerStyle):
32407        (WebCore::RenderLayer::updateResizerStyle):
32408        * rendering/RenderScrollbar.cpp:
32409        (WebCore::RenderScrollbar::updateScrollbarPart):
32410        * rendering/RenderTextFragment.cpp:
32411        (WebCore::RenderTextFragment::RenderTextFragment):
32412
324132011-04-21  Mike Reed  <reed@google.com>
32414
32415        Reviewed by Kenneth Russell.
32416
32417        [chromium, win] Multiple failures of shadow rendering layout tests
32418        https://bugs.webkit.org/show_bug.cgi?id=58772
32419
32420        No new tests. This CL fixes a regression in the following tests
32421        fast/multicol/shadow-breaking.html
32422        fast/repaint/shadow-multiple-horizontal.html
32423        fast/repaint/shadow-multiple-strict-horizontal.html
32424        fast/repaint/shadow-multiple-strict-vertical.html
32425        fast/repaint/shadow-multiple-vertical.html
32426        fast/text/shadow-translucent-fill.html
32427        fast/transforms/shadows.html
32428        svg/css/group-with-shadow.svg
32429        svg/css/shadow-changes.svg
32430        svg/css/text-shadow-multiple.xhtml
32431        transitions/svg-text-shadow-transition.html
32432        svg/css/composite-shadow-text.svg
32433 
32434
32435        * platform/graphics/skia/GraphicsContextSkia.cpp:
32436        (WebCore::GraphicsContext::setPlatformShadow):
32437
324382011-04-21  Geoffrey Garen  <ggaren@apple.com>
32439
32440        Try to fix the Qt build.
32441
32442        * UseJSC.cmake:
32443        * WebCore.pro: Use correct file name.
32444
324452011-04-21  Dirk Schulze  <krit@webkit.org>
32446
32447        Unreviewed Qt build fix.
32448
32449        SVG feDropShadow implementation of SVG Filters 1.2
32450        https://bugs.webkit.org/show_bug.cgi?id=52513
32451
32452        * CodeGenerators.pri:
32453
324542011-04-21  Adrienne Walker  <enne@google.com>
32455
32456        Reviewed by James Robinson.
32457
32458        [chromium] Clamp dirty regions on content layers to layer bounds
32459        https://bugs.webkit.org/show_bug.cgi?id=58933
32460
32461        This prevents garbage being rendered when layers are resized and a
32462        previous invalidation (now off-layer) is no longer valid.
32463
32464        * platform/graphics/chromium/ContentLayerChromium.cpp:
32465        (WebCore::ContentLayerChromium::paintContentsIfDirty):
32466
324672011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
32468
32469        Reviewed by Kent Tamura.
32470
32471        Bug 59012 - Shadows should be imported along with their host nodes
32472        https://bugs.webkit.org/show_bug.cgi?id=59012
32473
32474        Copy the shadow tree of an element (even on a shallow copy!).
32475
32476        Test: fast/dom/shadow/import-shadowroot.html
32477
32478        * dom/Element.cpp:
32479        (WebCore::Element::copyNonAttributeProperties):
32480        * dom/Element.h:
32481
324822011-04-20  Geoffrey Garen  <ggaren@apple.com>
32483
32484        Reviewed by Oliver Hunt.
32485
32486        Removed a use of markDOMObjectWrapper: CSS Object Model
32487        https://bugs.webkit.org/show_bug.cgi?id=59057
32488
32489        This is 24 hours of my life I will never get back. Thank you, W3C.
32490
32491        * GNUmakefile.list.am:
32492        * WebCore.gypi:
32493        * WebCore.vcproj/WebCore.vcproj:
32494        * WebCore.xcodeproj/project.pbxproj: Build!
32495
32496        * bindings/js/JSCSSFontFaceRuleCustom.cpp:
32497        * bindings/js/JSCSSImportRuleCustom.cpp:
32498        * bindings/js/JSCSSMediaRuleCustom.cpp:
32499        * bindings/js/JSCSSPageRuleCustom.cpp:
32500        * bindings/js/JSCSSRuleCustom.cpp:
32501        (WebCore::JSCSSRuleOwner::isReachableFromOpaqueRoots):
32502        (WebCore::JSCSSRuleOwner::finalize):
32503        (WebCore::wrapperOwner):
32504        (WebCore::wrapperContext):
32505        (WebCore::JSCSSRule::markChildren):
32506        * bindings/js/JSCSSRuleListCustom.cpp:
32507        (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
32508        (WebCore::JSCSSRuleListOwner::finalize):
32509        (WebCore::wrapperOwner):
32510        (WebCore::wrapperContext):
32511        (WebCore::toJS):
32512        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
32513        (WebCore::JSCSSStyleDeclarationOwner::isReachableFromOpaqueRoots):
32514        (WebCore::JSCSSStyleDeclarationOwner::finalize):
32515        (WebCore::wrapperOwner):
32516        (WebCore::wrapperContext):
32517        (WebCore::JSCSSStyleDeclaration::markChildren): Removed custom mark functions,
32518        and replaced with use of the opaque roots system. This has the nice benefit
32519        of allowing us to eagerly recycle far more CSS wrappers and their associated
32520        DOM wrappers.
32521
32522        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Made this function
32523        custom because it must maintain the sorrowful invariant that primitive
32524        values can be mapped back to objects that are reachable through the DOM.
32525        We maintain this invariant through an external hash table because
32526        making all primitive values bigger would be a too-large memory use
32527        penalty. Luckily, nobody uses this feature, so the cost of the hash table
32528        is no big deal.
32529
32530        (WebCore::toJS): We need a custom toJS so we can specify our own WeakHandleOwner.
32531
32532        * bindings/js/JSCSSStyleRuleCustom.cpp: Removed custom mark, as above.
32533
32534        * bindings/js/JSCSSValueCustom.cpp:
32535        (WebCore::cssValueRoots):
32536        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
32537        (WebCore::JSCSSValueOwner::finalize):
32538        (WebCore::wrapperOwner):
32539        (WebCore::wrapperContext): Use the opaque roots system. Piggy-back on
32540        the external hash table filled by JSCSSStyleDeclaration::getPropertyCSSValue.
32541
32542        * bindings/js/JSDocumentCustom.cpp:
32543        (WebCore::JSDocument::markChildren): No need to mark our stylesheet list,
32544        since all style-related objects can use our opaque root to determine
32545        liveness.
32546
32547        * bindings/js/JSMediaListCustom.cpp: Added.
32548        (WebCore::JSMediaListOwner::isReachableFromOpaqueRoots):
32549        (WebCore::JSMediaListOwner::finalize):
32550        (WebCore::wrapperOwner):
32551        (WebCore::wrapperContext):
32552        (WebCore::toJS): Use the opaque roots system.
32553
32554        * bindings/js/JSNodeCustom.h:
32555        (WebCore::root): Added helpers for computing style-related roots.
32556
32557        * bindings/js/JSStyleSheetCustom.cpp:
32558        (WebCore::JSStyleSheetOwner::isReachableFromOpaqueRoots):
32559        (WebCore::JSStyleSheetOwner::finalize):
32560        (WebCore::wrapperOwner):
32561        (WebCore::wrapperContext):
32562        (WebCore::JSStyleSheet::markChildren): Use the opaque roots system instead
32563        of direct marking.
32564        
32565        * bindings/js/JSStyleSheetListCustom.cpp:
32566        (WebCore::JSStyleSheetListOwner::isReachableFromOpaqueRoots):
32567        (WebCore::JSStyleSheetListOwner::finalize):
32568        (WebCore::wrapperOwner):
32569        (WebCore::wrapperContext):
32570        (WebCore::toJS): Ditto.
32571
32572        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp:
32573        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp:
32574        * css/CSSFontFaceRule.idl:
32575        * css/CSSImportRule.idl: No more custom mark, since we use the opaque
32576        roots system instead.
32577
32578        * css/CSSMediaRule.cpp:
32579        (WebCore::CSSMediaRule::CSSMediaRule): Fixed a bug where a media rule
32580        would incorrectly have no parent, since this got in the way of correctly
32581        computing the media rule's root.
32582
32583        * css/CSSMediaRule.idl:
32584        * css/CSSPageRule.idl:
32585        * css/CSSRuleList.idl:
32586        * css/CSSStyleDeclaration.idl:
32587        * css/CSSStyleRule.idl:
32588        * css/MediaList.idl: Match behavior changes above.
32589
32590        * css/StyleBase.cpp:
32591        (WebCore::StyleBase::node): Helper function for computing roots of the
32592        style system. This object model is pretty weird and not very well factored,
32593        but I'm pretty sure this covers all the relevant cases.
32594
32595        * css/StyleBase.h:
32596        * css/StyleSheetList.idl:
32597        * css/WebKitCSSKeyframeRule.idl:
32598        * css/WebKitCSSKeyframesRule.idl: Updated to match the behavior changes above.
32599
326002011-04-21  Dirk Schulze  <krit@webkit.org>
32601
32602        Reviewed by Nikolas Zimmermann.
32603
32604        SVG feDropShadow implementation of SVG Filters 1.2
32605        https://bugs.webkit.org/show_bug.cgi?id=52513
32606
32607        This is the implementation of feDropShadow, a shorthand filter and a combination of feGaussianBlur,
32608        feOffset, feFlood and feComposite to create a drop shadow of an input effect.
32609        Creating this new filter effect makes it possible to optimize the often used workflow. ShadowBlur, with its
32610        fast blurring algorithm, is used to blur the shadow and composite operators are responsible for combining the
32611        source with different colored shadows.
32612        Shadow color and opacity can be set with the properties flood-color and flood-opacity.
32613
32614        Tests: svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html
32615               svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html
32616               svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html
32617               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html
32618               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html
32619               svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html
32620               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html
32621               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html
32622               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html
32623               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html
32624               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html
32625               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html
32626               svg/filters/feDropShadow.svg
32627
32628        * Android.mk:
32629        * CMakeLists.txt:
32630        * DerivedSources.cpp:
32631        * DerivedSources.make:
32632        * GNUmakefile.list.am:
32633        * WebCore.exp.in:
32634        * WebCore.gypi:
32635        * WebCore.pro:
32636        * WebCore.vcproj/WebCore.vcproj:
32637        * WebCore.xcodeproj/project.pbxproj:
32638        * bindings/objc/DOM.mm:
32639        (WebCore::createElementClassMap):
32640        * bindings/objc/DOMSVG.h:
32641        * page/DOMWindow.idl:
32642        * platform/graphics/ShadowBlur.cpp: Added missing copyright after r84410.
32643        * platform/graphics/ShadowBlur.h: Made blurLayerImage public.
32644        * platform/graphics/filters/FEDropShadow.cpp: Added.
32645        (WebCore::FEDropShadow::FEDropShadow):
32646        (WebCore::FEDropShadow::create):
32647        (WebCore::FEDropShadow::determineAbsolutePaintRect):
32648        (WebCore::FEDropShadow::apply):
32649        (WebCore::FEDropShadow::dump):
32650        (WebCore::FEDropShadow::externalRepresentation):
32651        * platform/graphics/filters/FEDropShadow.h: Added.
32652        (WebCore::FEDropShadow::stdDeviationX):
32653        (WebCore::FEDropShadow::setStdDeviationX):
32654        (WebCore::FEDropShadow::stdDeviationY):
32655        (WebCore::FEDropShadow::setStdDeviationY):
32656        (WebCore::FEDropShadow::dx):
32657        (WebCore::FEDropShadow::setDx):
32658        (WebCore::FEDropShadow::dy):
32659        (WebCore::FEDropShadow::setDy):
32660        (WebCore::FEDropShadow::shadowColor):
32661        (WebCore::FEDropShadow::setShadowColor):
32662        (WebCore::FEDropShadow::shadowOpacity):
32663        (WebCore::FEDropShadow::setShadowOpacity):
32664        * platform/graphics/filters/FEGaussianBlur.cpp:
32665        (WebCore::FEGaussianBlur::calculateKernelSize): Make kernel calculations accessible for feDropShadow.
32666        * platform/graphics/filters/FEGaussianBlur.h:
32667        * svg/SVGAllInOne.cpp:
32668        * svg/SVGFEDropShadowElement.cpp: Added.
32669        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
32670        (WebCore::SVGFEDropShadowElement::create):
32671        (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
32672        (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
32673        (WebCore::SVGFEDropShadowElement::setStdDeviation):
32674        (WebCore::SVGFEDropShadowElement::parseMappedAttribute):
32675        (WebCore::SVGFEDropShadowElement::svgAttributeChanged):
32676        (WebCore::SVGFEDropShadowElement::synchronizeProperty):
32677        (WebCore::SVGFEDropShadowElement::build):
32678        * svg/SVGFEDropShadowElement.h: Added.
32679        * svg/SVGFEDropShadowElement.idl: Added.
32680        * svg/svgtags.in:
32681
326822011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
32683
32684        Reviewed by Dimitri Glazkov.
32685
32686        Bug 58704 - Decide on node type for ShadowRoot
32687        https://bugs.webkit.org/show_bug.cgi?id=58704
32688
32689        Add a new node type SHADOW_ROOT_NODE.
32690        Adapt all calling sites of nodeType(). 
32691
32692        Test: fast/dom/shadow/nodetype.html
32693
32694        * bindings/js/JSNodeCustom.cpp:
32695        (WebCore::createWrapperInline):
32696        * bindings/objc/DOM.mm:
32697        (kitClass):
32698        * bindings/v8/custom/V8NodeCustom.cpp:
32699        (WebCore::toV8Slow):
32700        * dom/Document.cpp:
32701        (WebCore::Document::importNode):
32702        (WebCore::Document::childTypeAllowed):
32703        (WebCore::Document::canReplaceChild):
32704        * dom/Node.cpp:
32705        (WebCore::Node::dumpStatistics):
32706        (WebCore::Node::isDefaultNamespace):
32707        (WebCore::Node::lookupPrefix):
32708        (WebCore::Node::lookupNamespaceURI):
32709        (WebCore::appendTextContent):
32710        (WebCore::Node::setTextContent):
32711        * dom/Node.h:
32712        * dom/Range.cpp:
32713        (WebCore::lengthOfContentsInNode):
32714        (WebCore::Range::processContentsBetweenOffsets):
32715        (WebCore::Range::insertNode):
32716        (WebCore::Range::checkNodeWOffset):
32717        (WebCore::Range::checkNodeBA):
32718        (WebCore::Range::selectNode):
32719        (WebCore::Range::selectNodeContents):
32720        (WebCore::Range::surroundContents):
32721        * dom/ShadowRoot.cpp:
32722        (WebCore::ShadowRoot::nodeType):
32723        * dom/Traversal.cpp:
32724        (WebCore::Traversal::acceptNode):
32725        * editing/MarkupAccumulator.cpp:
32726        (WebCore::MarkupAccumulator::appendStartMarkup):
32727        * html/parser/HTMLElementStack.cpp:
32728        (WebCore::HTMLNames::isRootNode):
32729        (WebCore::HTMLElementStack::pushRootNode):
32730        * html/parser/HTMLElementStack.h:
32731        (WebCore::isInHTMLNamespace):
32732        * xml/XPathUtil.cpp:
32733        (WebCore::XPath::isValidContextNode):
32734
327352011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
32736
32737        Reviewed by Kent Tamura.
32738
32739        REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video)
32740        https://bugs.webkit.org/show_bug.cgi?id=52917
32741
32742        In order to determine whether a rule should apply inside of a shadow DOM subtree,
32743        we collect three pieces of information:
32744
32745        1) Are we parsing UA sheets?
32746        2) Does the current tree scope allows applying author sheets?
32747        3) Does the rule explicitly reach into shadow DOM (using pseudo-elements, for example)?
32748
32749        If the answer to all of these is no, we ignore the rule.
32750
32751        Test: fast/css/shadow-dom-scope.html
32752
32753        * css/CSSStyleSelector.cpp:
32754        (WebCore::MatchingUARulesScope::MatchingUARulesScope): Added a scope helper to
32755            track whether we are currently matching UA rules.
32756        (WebCore::CSSStyleSelector::matchRulesForList): Added the check for three
32757            conditions mentioned above.
32758        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added
32759            initializer for the flag, which helps us determine whether the rule
32760            explicitly reaches into shadow DOM.
32761        (WebCore::CSSStyleSelector::matchUARules): Started using the scope helper.
32762        (WebCore::CSSStyleSelector::checkSelector): Added initializing of the
32763            flag.
32764        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added setting
32765            of the flag when we encounter unknown pseudo-elements.
32766        * css/CSSStyleSelector.h: Adjusted decls.
32767        * dom/ShadowRoot.cpp:
32768        (WebCore::ShadowRoot::applyAuthorSheets): Added.
32769        * dom/ShadowRoot.h: Adjusted decls.
32770        * dom/TreeScope.cpp:
32771        (WebCore::TreeScope::applyAuthorSheets): Added.
32772        * dom/TreeScope.h: Adjusted decls.
32773
327742011-04-21  Levi Weintraub  <leviw@chromium.org>
32775
32776        Reviewed by Simon Fraser.
32777
32778        position fixed element does not render properly when dynamically updated via javascript
32779        https://bugs.webkit.org/show_bug.cgi?id=54297
32780
32781        Disabling the LayoutState fast-path for fixed-position content.
32782
32783        Tests: fast/repaint/fixed-contents-changed-after-scroll.html
32784               fast/repaint/transformed-contents-changed-after-scroll.html
32785
32786        * rendering/RenderBox.cpp:
32787        (WebCore::RenderBox::computeRectForRepaint):
32788
327892011-04-20  Matthew Delaney  <mdelaney@apple.com>
32790
32791        Reviewed by Maciej Stachowiak.
32792
32793        arc() should add a circle to the path when start and end angles are far enough apart
32794        https://bugs.webkit.org/show_bug.cgi?id=58934
32795
32796        Test: fast/canvas/canvas_arc_largeangles.html
32797
32798        * html/canvas/CanvasRenderingContext2D.cpp:
32799        (WebCore::CanvasRenderingContext2D::arc):
32800
328012011-04-20  MORITA Hajime  <morrita@google.com>
32802
32803        Reviewed by Dimitri Glazkov.
32804
32805        Content of <summary> should be forwarded through the shadow DOM
32806        https://bugs.webkit.org/show_bug.cgi?id=58914
32807
32808        - Introduced ShadowContentElement which hosts forwarded children of <summary>
32809        - Encapsulated Node::parentNodeForRenderingAndStyle() and shouldCreateRendererFor()
32810          into NodeVisualParentLookupResult class.
32811        - The parent lookup is also aware of node forwarding. If the visual parent node has
32812          a shadow root, the node is possibly forwarded to ShadowContentElement
32813        - ShadowContentElement lookup is implemented inside ShadowRoot.
32814        
32815        Tests: fast/html/details-add-summary-child-1.html
32816               fast/html/details-add-summary-child-2.html
32817               fast/html/details-remove-summary-child-1.html
32818               fast/html/details-remove-summary-child-2.html
32819
32820        * GNUmakefile.list.am:
32821        * WebCore.gypi:
32822        * WebCore.vcproj/WebCore.vcproj:
32823        * WebCore.xcodeproj/project.pbxproj:
32824        * dom/Element.cpp:
32825        (WebCore::Element::childrenChanged):
32826        * dom/Node.cpp:
32827        (WebCore::NodeRenderParentDetector::NodeRenderParentDetector):
32828        (WebCore::NodeRenderParentDetector::parentNodeForRenderingAndStyle):
32829        (WebCore::NodeRenderParentDetector::findVisualParent):
32830        (WebCore::NodeRenderParentDetector::shouldCreateRenderer):
32831        (WebCore::Node::parentNodeForRenderingAndStyle):
32832        (WebCore::Node::createRendererAndStyle):
32833        * dom/ShadowRoot.cpp:
32834        (WebCore::ShadowRoot::contentContainerFor):
32835        (WebCore::ShadowRoot::hostChildrenChanged):
32836        (WebCore::ShadowRoot::firstContentElement):
32837        * dom/ShadowRoot.h:
32838        * html/HTMLSummaryElement.cpp:
32839        (WebCore::HTMLSummaryElement::createShadowSubtree):
32840        * html/HTMLSummaryElement.h:
32841        * html/shadow/ShadowContentElement.h: Copied from Source/WebCore/dom/ShadowRoot.h.
32842        (WebCore::ShadowContentElement::ShadowContentElement):
32843        (WebCore::ShadowContentElement::isShadowBoundary):
32844        (WebCore::ShadowContentElement::createRenderer):
32845        (WebCore::ShadowContentElement::create):
32846
328472011-04-21  Andrey Kosyakov  <caseq@chromium.org>
32848
32849        Reviewed by Pavel Feldman.
32850
32851        Web Inspector: fix calls to WebInspector.ObjectPropertiesSection constructor
32852        https://bugs.webkit.org/show_bug.cgi?id=59105
32853
32854        * inspector/front-end/ConsoleView.js:
32855        (WebInspector.ConsoleView.prototype._formatobject):
32856        * inspector/front-end/ExtensionPanel.js:
32857        (WebInspector.ExtensionSidebarPane.prototype._setObject):
32858        * inspector/front-end/ResourceJSONView.js:
32859        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
32860        * inspector/front-end/SourceFrame.js:
32861        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
32862        (WebInspector.SourceFrame.prototype._showPopup):
32863
328642011-04-21  Adam Barth  <abarth@webkit.org>
32865
32866        Remove support for CSP's frame-src.  This approach causes too many
32867        extra console messages to be logged.  I'm leaving in the test (which
32868        now shows failure).
32869
32870        * html/HTMLFrameElementBase.cpp:
32871        (WebCore::HTMLFrameElementBase::isURLAllowed):
32872
328732011-04-21  Eunsol Park  <eunsol47.park@samsung.com>
32874
32875        Reviewed by Antonio Gomes.
32876
32877        [EFL] Scroll doesn't work on tiled backing store.
32878        https://bugs.webkit.org/show_bug.cgi?id=55021
32879
32880        It was added from Changeset 72242, but it worked wrong in EFL port.
32881        The visible rect should not be returned as content rect for scrolling in EFL tiled backing store, 
32882        because it works differently from QT.
32883
32884        * platform/ScrollView.cpp:
32885        (WebCore::ScrollView::visibleContentRect):
32886
328872011-04-21  Simon Fraser  <simon.fraser@apple.com>
32888
32889        Reviewed by Eric Seidel.
32890
32891        Create RIAA class for GraphicsContext::save() and restore()
32892        https://bugs.webkit.org/show_bug.cgi?id=58807
32893
32894        Use GraphicsContextStateSaver in a lot more places.
32895
32896        * html/canvas/CanvasRenderingContext2D.cpp:
32897        (WebCore::CanvasRenderingContext2D::drawImage):
32898        (WebCore::CanvasRenderingContext2D::drawTextInternal):
32899        * platform/ScrollView.cpp:
32900        (WebCore::ScrollView::wheelEvent):
32901        * platform/graphics/GeneratedImage.cpp:
32902        (WebCore::GeneratedImage::draw):
32903        * platform/graphics/GraphicsContext.h:
32904        (WebCore::GraphicsContextStateSaver::save):
32905        (WebCore::GraphicsContextStateSaver::restore):
32906        * platform/graphics/ShadowBlur.cpp:
32907        (WebCore::ShadowBlur::drawShadowBuffer):
32908        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
32909        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
32910        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
32911        (WebCore::ShadowBlur::drawRectShadowWithTiling):
32912        (WebCore::ShadowBlur::drawLayerPieces):
32913        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
32914        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
32915        * platform/graphics/cg/ImageCG.cpp:
32916        (WebCore::BitmapImage::draw):
32917        (WebCore::Image::drawPattern):
32918        * platform/graphics/cg/PDFDocumentImage.cpp:
32919        (WebCore::PDFDocumentImage::draw):
32920        * platform/graphics/filters/FEComposite.cpp:
32921        (WebCore::FEComposite::apply):
32922        * platform/graphics/filters/SourceAlpha.cpp:
32923        (WebCore::SourceAlpha::apply):
32924        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
32925        (WebCore::MediaPlayerPrivateQTKit::paint):
32926        * platform/mac/ScrollbarThemeMac.mm:
32927        (WebCore::ScrollbarThemeMac::paint):
32928        * platform/mac/ThemeMac.mm:
32929        (WebCore::paintCheckbox):
32930        (WebCore::paintRadio):
32931        (WebCore::paintStepper):
32932        * rendering/EllipsisBox.cpp:
32933        (WebCore::EllipsisBox::paintSelection):
32934        * rendering/InlineFlowBox.cpp:
32935        (WebCore::InlineFlowBox::paintFillLayer):
32936        (WebCore::InlineFlowBox::paintBoxDecorations):
32937        (WebCore::InlineFlowBox::paintMask):
32938        * rendering/InlineTextBox.cpp:
32939        (WebCore::InlineTextBox::paint):
32940        (WebCore::InlineTextBox::paintSelection):
32941        (WebCore::InlineTextBox::paintCompositionBackground):
32942        (WebCore::InlineTextBox::paintDecoration):
32943        (WebCore::InlineTextBox::paintTextMatchMarker):
32944        * rendering/RenderBlock.cpp:
32945        (WebCore::RenderBlock::paintColumnContents):
32946        (WebCore::RenderBlock::paintSelection):
32947        * rendering/RenderBox.cpp:
32948        (WebCore::RenderBox::paintBoxDecorationsWithSize):
32949        * rendering/RenderBoxModelObject.cpp:
32950        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
32951        (WebCore::RenderBoxModelObject::paintBorder):
32952        * rendering/RenderEmbeddedObject.cpp:
32953        (WebCore::RenderEmbeddedObject::paintReplaced):
32954        * rendering/RenderFieldset.cpp:
32955        (WebCore::RenderFieldset::paintBoxDecorations):
32956        * rendering/RenderFileUploadControl.cpp:
32957        (WebCore::RenderFileUploadControl::paintObject):
32958        * rendering/RenderLayer.cpp:
32959        (WebCore::RenderLayer::paintResizer):
32960        (WebCore::RenderLayer::paintLayer):
32961        (WebCore::RenderLayer::paintChildLayerIntoColumns):
32962        * rendering/RenderListMarker.cpp:
32963        (WebCore::RenderListMarker::paint):
32964        * rendering/RenderMediaControls.cpp:
32965        (WebCore::RenderMediaControls::paintMediaControlsPart):
32966        * rendering/RenderTableCell.cpp:
32967        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
32968        * rendering/RenderTextControl.cpp:
32969        (WebCore::RenderTextControl::paintPlaceholder):
32970        * rendering/RenderThemeMac.mm:
32971        (WebCore::RenderThemeMac::paintMenuList):
32972        (WebCore::RenderThemeMac::paintMeter):
32973        (WebCore::RenderThemeMac::paintProgressBar):
32974        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
32975        (WebCore::RenderThemeMac::paintMenuListButton):
32976        (WebCore::RenderThemeMac::paintSliderTrack):
32977        (WebCore::RenderThemeMac::paintSliderThumb):
32978        (WebCore::RenderThemeMac::paintSearchField):
32979        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
32980        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
32981        (WebCore::RenderThemeMac::paintMediaSliderTrack):
32982        (WebCore::RenderThemeMac::paintMediaCurrentTime):
32983        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
32984        * rendering/mathml/RenderMathMLBlock.cpp:
32985        (WebCore::RenderMathMLBlock::paint):
32986        * rendering/mathml/RenderMathMLFraction.cpp:
32987        (WebCore::RenderMathMLFraction::paint):
32988        * rendering/mathml/RenderMathMLRoot.cpp:
32989        (WebCore::RenderMathMLRoot::paint):
32990        * rendering/mathml/RenderMathMLSquareRoot.cpp:
32991        (WebCore::RenderMathMLSquareRoot::paint):
32992        * rendering/svg/RenderSVGContainer.cpp:
32993        (WebCore::RenderSVGContainer::paint):
32994        * rendering/svg/RenderSVGForeignObject.cpp:
32995        (WebCore::RenderSVGForeignObject::paint):
32996        * rendering/svg/RenderSVGImage.cpp:
32997        (WebCore::RenderSVGImage::paint):
32998        * rendering/svg/RenderSVGPath.cpp:
32999        (WebCore::RenderSVGPath::fillAndStrokePath):
33000        (WebCore::RenderSVGPath::paint):
33001        * rendering/svg/RenderSVGResourceClipper.cpp:
33002        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
33003        * rendering/svg/RenderSVGResourceMarker.cpp:
33004        (WebCore::RenderSVGResourceMarker::draw):
33005        * rendering/svg/RenderSVGText.cpp:
33006        (WebCore::RenderSVGText::paint):
33007        * rendering/svg/SVGInlineFlowBox.cpp:
33008        (WebCore::SVGInlineFlowBox::paint):
33009        * rendering/svg/SVGInlineTextBox.cpp:
33010        (WebCore::SVGInlineTextBox::paintSelectionBackground):
33011        (WebCore::SVGInlineTextBox::paint):
33012        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
33013        * rendering/svg/SVGRootInlineBox.cpp:
33014        (WebCore::SVGRootInlineBox::paint):
33015        * svg/SVGFont.cpp:
33016        (WebCore::Font::drawTextUsingSVGFont):
33017        * svg/graphics/SVGImage.cpp:
33018        (WebCore::SVGImage::draw):
33019
330202011-04-20  Andrey Kosyakov  <caseq@chromium.org>
33021
33022        Reviewed by Pavel Feldman.
33023
33024        Web Inspector: [Extensions API] console API is not exposed to code evaluated by sidebar.setExpression()
33025        https://bugs.webkit.org/show_bug.cgi?id=59006
33026
33027        * inspector/front-end/ExtensionPanel.js:
33028        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
33029
330302011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
33031
33032        Reviewed by Dirk Schulze.
33033
33034        Split SVGGlyphIdentifier class out of SVGGlyphElement.h
33035        https://bugs.webkit.org/show_bug.cgi?id=59101
33036
33037        Move SVGGlyphIdentifier class out of SVGGlyphElement.h, place it in platform/graphics/SVGGlyph.h
33038        and rename the contained struct to SVGGlyph. It will be used in follow-up patches that will integrate SVGGlyph & GlyphPage.
33039
33040        Several utility functions are moved from SVGFont.cpp to SVGGlyph.cpp, as that's the place where they really belong to.
33041        Renamed nameLength to unicodeStringLength in the SVGGlyph struct for clarity.
33042
33043        * Android.mk: Add SVGGlyph.cpp/h to build.
33044        * CMakeLists.txt: Ditto.
33045        * GNUmakefile.list.am: Ditto.
33046        * WebCore.gypi: Ditto.
33047        * WebCore.pro: Ditto.
33048        * WebCore.vcproj/WebCore.vcproj: Ditto.
33049        * WebCore.xcodeproj/project.pbxproj: Ditto.
33050        * platform/graphics/SVGGlyph.cpp: Copied from svg/SVGFont.cpp. Removed everything except the methods listed below, that belong here.
33051        (WebCore::processArabicFormDetection):
33052        (WebCore::charactersWithArabicForm):
33053        (WebCore::isCompatibleArabicForm):
33054        (WebCore::isCompatibleGlyph):
33055        * platform/graphics/SVGGlyph.h: Copied from svg/SVGGlyphElement.h. Renamed SVGGlyphIdentifier to SVGGlyph.
33056        (WebCore::SVGGlyph::SVGGlyph):
33057        (WebCore::SVGGlyph::operator==):
33058        * platform/graphics/SimpleFontData.cpp: Adapt for SVGGlyphIdentifier -> SVGGlyph and nameLength -> unicodeStringLength rename.
33059        (WebCore::SimpleFontData::SimpleFontData):
33060        * svg/SVGFont.cpp: Ditto. Remove helper functions that are now living in SVGGlyph.cpp
33061        (WebCore::SVGTextRunWalker::walk):
33062        (WebCore::floatWidthUsingSVGFontCallback):
33063        (WebCore::drawTextUsingSVGFontCallback):
33064        (WebCore::drawTextMissingGlyphCallback):
33065        (WebCore::Font::drawTextUsingSVGFont):
33066        * svg/SVGFontElement.cpp: Ditto.
33067        (WebCore::SVGFontElement::getGlyphIdentifiersForString):
33068        * svg/SVGFontElement.h: Ditto.
33069        * svg/SVGGlyphElement.cpp: Ditto.
33070        (WebCore::parseArabicForm):
33071        (WebCore::parseOrientation):
33072        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
33073        (WebCore::parseSVGGlyphAttribute):
33074        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
33075        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
33076        * svg/SVGGlyphElement.h: Ditto.
33077        * svg/SVGGlyphMap.h: Ditto.
33078        (WebCore::SVGGlyphMap::add):
33079        (WebCore::SVGGlyphMap::compareGlyphPriority):
33080        (WebCore::SVGGlyphMap::get):
33081
330822011-04-21  Eric Carlson  <eric.carlson@apple.com>
33083
33084        Reviewed by Dan Bernstein.
33085
33086        Live streams won't play with AVFoundation backend
33087        https://bugs.webkit.org/show_bug.cgi?id=58961
33088        rdar://problem/9284748
33089
33090        Tested manually because we don't have any live streams to test in DRT.
33091
33092        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
33093        (WebCore::MediaPlayerPrivateAVFoundation::seek): Do nothing when asked to seek to the
33094            current time.
33095        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): If the readyState is HaveEnoughData,
33096            don't revert when the new state is "ready to play" or "buffer full".
33097        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Use new convenience function isLiveStream.
33098        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
33099        (WebCore::MediaPlayerPrivateAVFoundation::isLiveStream): New.
33100
33101        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
33102        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't use AVAsset's
33103            tracksWithMediaCharacteristic because it doesn't give us what we need with live
33104            streams.
33105
331062011-04-21  Pavel Feldman  <pfeldman@google.com>
33107
33108        Reviewed by Yury Semikhatsky.
33109
33110        Web Inspector: Cookies section in empty on page re-launch.
33111        https://bugs.webkit.org/show_bug.cgi?id=59095
33112
33113        * inspector/front-end/ResourcesPanel.js:
33114        (WebInspector.ResourcesPanel.prototype._reset):
33115        (WebInspector.ResourcesPanel.prototype._frameNavigated):
33116
331172011-04-21  Pavel Feldman  <pfeldman@google.com>
33118
33119        Reviewed by Yury Semikhatsky.
33120
33121        Web Inspector: rename De-obfuscate to Pretty print.
33122        https://bugs.webkit.org/show_bug.cgi?id=59093
33123
33124        * English.lproj/localizedStrings.js:
33125        * inspector/front-end/SourceFrame.js:
33126        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
33127
331282011-04-21  Pavel Feldman  <pfeldman@google.com>
33129
33130        Reviewed by Yury Semikhatsky.
33131
33132        Web Inspector: following Image URL link in the network panel does nothing.
33133        https://bugs.webkit.org/show_bug.cgi?id=59092
33134
33135        * inspector/front-end/ImageView.js:
33136        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
33137        (WebInspector.ImageView.prototype._createContentIfNeeded):
33138        * inspector/front-end/inspector.js:
33139        (WebInspector.linkifyURLAsNode):
33140
331412011-04-21  Pavel Feldman  <pfeldman@google.com>
33142
33143        Reviewed by Yury Semikhatsky.
33144
33145        Web Inspector: implement Go To Line for network panel.
33146        https://bugs.webkit.org/show_bug.cgi?id=59090
33147
33148        * inspector/front-end/GoToLineDialog.js:
33149        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
33150        * inspector/front-end/NetworkItemView.js:
33151        (WebInspector.NetworkItemView.prototype._tabSelected):
33152        (WebInspector.NetworkItemView.prototype._installHighlightSupport):
33153        * inspector/front-end/NetworkPanel.js:
33154        (WebInspector.NetworkPanel):
33155        * inspector/front-end/TabbedPane.js:
33156        (WebInspector.TabbedPane.prototype.appendTab):
33157        (WebInspector.TabbedPane.prototype.selectTab):
33158        * inspector/front-end/TextViewer.js:
33159        (WebInspector.TextViewer.prototype.highlightLine):
33160
331612011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
33162
33163        Reviewed by Dirk Schulze.
33164
33165        Split GlyphPage from GlyphPageTreeNode.h into its own header
33166        https://bugs.webkit.org/show_bug.cgi?id=59096
33167
33168        * GNUmakefile.list.am: Add GlyphPage.h to build.
33169        * WebCore.gypi: Ditto.
33170        * WebCore.vcproj/WebCore.vcproj: Ditto.
33171        * WebCore.xcodeproj/project.pbxproj: Ditto.
33172        * platform/graphics/GlyphPage.h: Copied from platform/graphics/GlyphPageTreeNode.h. Removed GlyphPageTreeNode class, leaving only GlyphPage.
33173        * platform/graphics/GlyphPageTreeNode.h: Removed GlyphPage class.
33174
331752011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
33176
33177        Reviewed by Dirk Schulze.
33178
33179        Centralize typedef unsigned short Glyph in Glyph.h
33180        https://bugs.webkit.org/show_bug.cgi?id=59087
33181
33182        * GNUmakefile.list.am: Add Glyph.h to build.
33183        * WebCore.gypi: Ditto.
33184        * WebCore.vcproj/WebCore.vcproj: Ditto.
33185        * WebCore.xcodeproj/project.pbxproj: Ditto.
33186        * platform/graphics/Glyph.h: Added.
33187        * platform/graphics/GlyphBuffer.h: Include Glyph.h instead of duplicating the Glyph typedef.
33188        * platform/graphics/GlyphMetricsMap.h: Ditto.
33189        * platform/graphics/GlyphPageTreeNode.h: Ditto.
33190
331912011-04-21  Pavel Feldman  <pfeldman@google.com>
33192
33193        Reviewed by Yury Semikhatsky.
33194
33195        Web Inspector: toolbar background is blank on Mac Chromium port.
33196        https://bugs.webkit.org/show_bug.cgi?id=59089
33197
33198        * inspector/front-end/inspector.css:
33199        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar):
33200
332012011-04-21  Pavel Feldman  <pfeldman@chromium.org>
33202
33203        Reviewed by Yury Semikhatsky.
33204
33205        Web Inspector: add support for Go To Line in Resources panel.
33206        https://bugs.webkit.org/show_bug.cgi?id=59077
33207
33208        * inspector/front-end/CallStackSidebarPane.js:
33209        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
33210        * inspector/front-end/GoToLineDialog.js:
33211        (WebInspector.GoToLineDialog.show):
33212        (WebInspector.GoToLineDialog.createShortcut):
33213        (WebInspector.GoToLineDialog.prototype._onKeyDown):
33214        * inspector/front-end/NetworkPanel.js:
33215        (WebInspector.NetworkPanel.prototype.handleShortcut):
33216        * inspector/front-end/Panel.js:
33217        (WebInspector.Panel):
33218        (WebInspector.Panel.prototype._restoreScrollPositions):
33219        (WebInspector.Panel.prototype.handleShortcut):
33220        (WebInspector.Panel.prototype.registerShortcuts):
33221        (WebInspector.Panel.prototype._showGoToLineDialog):
33222        * inspector/front-end/ProfilesPanel.js:
33223        (WebInspector.ProfilesPanel.prototype.handleShortcut):
33224        * inspector/front-end/ResourcesPanel.js:
33225        (WebInspector.ResourcesPanel):
33226        * inspector/front-end/ScriptsPanel.js:
33227        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
33228        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
33229        * inspector/front-end/inspector.js:
33230        (WebInspector._registerShortcuts):
33231        (WebInspector.documentKeyDown):
33232
332332011-04-21  Pavel Feldman  <pfeldman@google.com>
33234
33235        Reviewed by Yury Semikhatsky.
33236
33237        Web Inspector: persist local resource history between inspector / browser launches.
33238        https://bugs.webkit.org/show_bug.cgi?id=58993
33239
33240        * inspector/front-end/Resource.js:
33241        (WebInspector.Resource.prototype._restoreRevisions):
33242
332432011-04-20  Alexander Pavlov  <apavlov@chromium.org>
33244
33245        Reviewed by Pavel Feldman.
33246
33247        Web Inspector: Metrics pane editing and visual feedback improvements
33248        https://bugs.webkit.org/show_bug.cgi?id=58992
33249
33250        Added visual feedback when hovering over the box model components of the Metrics pane
33251        and handling of the [Page]Up/Down keys when editing the box model values.
33252
33253        * inspector/DOMNodeHighlighter.cpp:
33254        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
33255        * inspector/DOMNodeHighlighter.h:
33256        * inspector/Inspector.json:
33257        * inspector/InspectorDOMAgent.cpp:
33258        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
33259        (WebCore::InspectorDOMAgent::highlight):
33260        (WebCore::InspectorDOMAgent::highlightDOMNode):
33261        (WebCore::InspectorDOMAgent::highlightFrame):
33262        (WebCore::InspectorDOMAgent::drawNodeHighlight):
33263        * inspector/InspectorDOMAgent.h:
33264        * inspector/front-end/CSSStyleModel.js:
33265        (WebInspector.CSSProperty.prototype.setText.callback):
33266        (WebInspector.CSSProperty.prototype.setText):
33267        (WebInspector.CSSProperty.prototype.setValue):
33268        (WebInspector.CSSProperty.prototype.setDisabled.callback):
33269        (WebInspector.CSSProperty.prototype.setDisabled):
33270        * inspector/front-end/ElementsPanel.js:
33271        (WebInspector.ElementsPanel.prototype.startEditingStyle):
33272        (WebInspector.ElementsPanel.prototype.endEditingStyle):
33273        (WebInspector.ElementsPanel.prototype._attributesUpdated):
33274        * inspector/front-end/MetricsSidebarPane.js:
33275        (WebInspector.MetricsSidebarPane):
33276        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
33277        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.getBoxRectangleElement):
33278        (WebInspector.MetricsSidebarPane.prototype._update.createBoxPartElement):
33279        (WebInspector.MetricsSidebarPane.prototype._update):
33280        (WebInspector.MetricsSidebarPane.prototype.startEditing):
33281        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
33282        (WebInspector.MetricsSidebarPane.prototype.editingEnded):
33283        (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
33284        (WebInspector.MetricsSidebarPane.prototype._applyUserInput.callback):
33285        (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
33286        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
33287        * inspector/front-end/StylesSidebarPane.js:
33288        (WebInspector.StylesSidebarPane.alteredFloatNumber):
33289        (WebInspector.StylesSidebarPane.alteredHexNumber):
33290        (WebInspector.StylePropertyTreeElement.prototype):
33291        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
33292        * inspector/front-end/inspector.css:
33293        (.metrics .hovered > .label):
33294        (.metrics .position):
33295        (.metrics .margin):
33296        (.metrics .margin.hovered):
33297        (.metrics .border):
33298        (.metrics .border.hovered):
33299        (.metrics .padding):
33300        (.metrics .padding.hovered):
33301        (.metrics .content):
33302        (.metrics .content.hovered):
33303        * inspector/front-end/inspector.js:
33304        (WebInspector.highlightDOMNode):
33305
333062011-04-21  Adam Barth  <abarth@webkit.org>
33307
33308        Reviewed by Eric Seidel.
33309
33310        CSP report-uri is missing
33311        https://bugs.webkit.org/show_bug.cgi?id=58639
33312
33313        Our implementation of report-uri differs from what's currently in the
33314        spec.  I sent the working group an email explaining why.  Generally,
33315        we're using normal form encoding instead of JSON and we're sending less
33316        information to a wider set of URLs.  Specifically, we send the current
33317        document's URL as well as the directive that was violated.  The spec
33318        (currently) tells us to send the raw HTTP headers and the URL that
33319        caused the violation, but both of these pieces of data could contain
33320        information that's sensitive, so we omit them for now.
33321
33322        Test: http/tests/security/contentSecurityPolicy/report-uri.html
33323
33324        * loader/PingLoader.cpp:
33325        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
33326        * loader/PingLoader.h:
33327        * page/ContentSecurityPolicy.cpp:
33328        (WebCore::CSPDirective::CSPDirective):
33329        (WebCore::CSPDirective::text):
33330        (WebCore::ContentSecurityPolicy::reportViolation):
33331        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
33332        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
33333        (WebCore::ContentSecurityPolicy::allowInlineScript):
33334        (WebCore::ContentSecurityPolicy::allowEval):
33335        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
33336        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
33337        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
33338        (WebCore::ContentSecurityPolicy::allowImageFromSource):
33339        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
33340        (WebCore::ContentSecurityPolicy::allowFontFromSource):
33341        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
33342        (WebCore::ContentSecurityPolicy::parseReportURI):
33343        (WebCore::ContentSecurityPolicy::addDirective):
33344        * page/ContentSecurityPolicy.h:
33345
333462011-04-21  Jon Lee  <jonlee@apple.com>
33347
33348        Reviewed by Maciej Stachowiak.
33349
33350        remove unneeded function from graphicscontext3d.cpp (59076)
33351        https://bugs.webkit.org/show_bug.cgi?id=59076
33352        <rdar://problem/9315681>
33353
33354        * platform/graphics/GraphicsContext3D.cpp: removing unused function unpackOneRowOfRGBA8ToRGBA8
33355
333562011-04-21  Alexey Proskuryakov  <ap@apple.com>
33357
33358        Reviewed by Dan Bernstein.
33359
33360        REGRESSION: Korean encoding alias KSC5601 does not work
33361        https://bugs.webkit.org/show_bug.cgi?id=59075
33362        <rdar://problem/9303233>
33363
33364        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added a
33365        KSC5601 alias for KSC_5601, which effectively makes it windows-949.
33366
333672011-04-20  Dominic Cooney  <dominicc@chromium.org>
33368
33369        Reviewed by Dimitri Glazkov.
33370
33371        layoutTestController can create and destroy shadow DOM
33372        https://bugs.webkit.org/show_bug.cgi?id=59058
33373
33374        Test: fast/dom/shadow/layout-tests-can-access-shadow.html
33375
33376        * WebCore.exp.in: Mac DRT needs to see Element::ensure/removeShadowRoot
33377
333782011-04-20  Pratik Solanki  <psolanki@apple.com>
33379
33380        Reviewed by Ryosuke Niwa.
33381
33382        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
33383
33384        Fix assertions in Chromium builds.
33385
33386        * platform/graphics/Image.cpp:
33387        (WebCore::Image::drawTiled): Skia and Wx do not have proper implementations of
33388        BitmapImage::checkForSolidColor() so we shouldn't assert on those platforms.
33389
333902011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
33391
33392        Reviewed by Eric Seidel.
33393
33394        [EFL] Add timeline to mediaControlsEfl.css
33395        https://bugs.webkit.org/show_bug.cgi?id=58865
33396
33397        Add timeline to mediaControlsEfl.css in order to show playing time of media
33398        content.
33399
33400        * css/mediaControlsEfl.css:
33401        (audio):
33402        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
33403        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
33404        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
33405        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
33406        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
33407        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
33408        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
33409        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
33410        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
33411        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
33412
334132011-04-20  Simon Fraser  <simon.fraser@apple.com>
33414
33415        Reviewed by Eric Seidel.
33416
33417        Create RIAA class for GraphicsContext::save() and restore()
33418        https://bugs.webkit.org/show_bug.cgi?id=58807
33419        
33420        Make a stack-based class that can be used to save and restore
33421        the graphics state. It has conditional behavior to deal with the many cases
33422        where we decide to save/restore based on some runtime condition.
33423
33424        Change RenderBoxModelObject to use it for now; it can be used more widely
33425        once committed.
33426
33427        * platform/graphics/GraphicsContext.h:
33428        (WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver):
33429        (WebCore::GraphicsContextStateSaver::~GraphicsContextStateSaver):
33430        (WebCore::GraphicsContextStateSaver::saveState):
33431        * rendering/RenderBoxModelObject.cpp:
33432        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
33433        (WebCore::RenderBoxModelObject::paintOneBorderSide):
33434        (WebCore::RenderBoxModelObject::paintBorder):
33435        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
33436        (WebCore::RenderBoxModelObject::paintBoxShadow):
33437
334382011-04-20  Adam Barth  <abarth@webkit.org>
33439
33440        Reviewed by Eric Seidel.
33441
33442        CSP frame-src is missing
33443        https://bugs.webkit.org/show_bug.cgi?id=58643
33444
33445        This is a first cut at an implementation of frame-src.  There are a
33446        couple things that will need to be improved:
33447
33448          1) I don't think we're handling in-frame navigation properly.  This
33449             patch only covers setting the src attribute of the frame, but I
33450             think the intent of the spec is to cover navigation as well.
33451
33452          2) The console message is printed twice, once when we try to load the
33453             frame and again when we attach the frame to the render tree.
33454
33455        I'll file bugs about these issues (blocking
33456        https://bugs.webkit.org/show_bug.cgi?id=53572) once this patch lands.
33457
33458        Tests: http/tests/security/contentSecurityPolicy/frame-src-allowed.html
33459               http/tests/security/contentSecurityPolicy/frame-src-blocked.html
33460
33461        * html/HTMLFrameElementBase.cpp:
33462        (WebCore::HTMLFrameElementBase::isURLAllowed):
33463        * page/ContentSecurityPolicy.cpp:
33464        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
33465        (WebCore::ContentSecurityPolicy::addDirective):
33466        * page/ContentSecurityPolicy.h:
33467
334682011-04-20  Jia Pu  <jpu@apple.com>
33469
33470        Reviewed by Maciej Stachowiak.
33471
33472        [Mac] Correction panel shows up at incorrect location after webpage is scrolled.
33473        https://bugs.webkit.org/show_bug.cgi?id=59052
33474        <rdar://problem/9312513>
33475        
33476        Fixed a regression caused by interaction between patch for bug 57353 and patch for bug 55571.
33477        See bug webpage for detail.
33478
33479        * editing/Editor.cpp:
33480        (WebCore::Editor::selectionStartHasMarkerFor):
33481        * editing/SpellingCorrectionController.cpp:
33482        (WebCore::SpellingCorrectionController::windowRectForRange):
33483
334842011-04-20  Adam Barth  <abarth@webkit.org>
33485
33486        Reviewed by Eric Seidel.
33487
33488        CSP policy violations should log to the console
33489        https://bugs.webkit.org/show_bug.cgi?id=58646
33490
33491        We now log policy violations to the JavaScript console to help
33492        developers debug what's going on with their Content-Security-Policy.
33493
33494        Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
33495               http/tests/security/contentSecurityPolicy/javascript-url-allowed.html
33496               http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
33497               http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
33498               http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
33499               http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html
33500               http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html
33501               http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html
33502
33503        * dom/Document.cpp:
33504        (WebCore::Document::initSecurityContext):
33505        * page/ContentSecurityPolicy.cpp:
33506        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
33507        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
33508        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
33509        (WebCore::ContentSecurityPolicy::allowInlineScript):
33510        (WebCore::ContentSecurityPolicy::allowEval):
33511        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
33512        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
33513        (WebCore::ContentSecurityPolicy::allowImageFromSource):
33514        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
33515        (WebCore::ContentSecurityPolicy::allowFontFromSource):
33516        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
33517        (WebCore::ContentSecurityPolicy::addDirective):
33518        * page/ContentSecurityPolicy.h:
33519        (WebCore::ContentSecurityPolicy::create):
33520
335212011-04-20  Dan Bernstein  <mitz@apple.com>
33522
33523        Reviewed by Maciej Stachowiak.
33524
33525        <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails
33526        https://bugs.webkit.org/show_bug.cgi?id=59046
33527
33528        Test: fast/transforms/selection-bounds-in-transformed-view.html
33529
33530        * rendering/RenderObject.cpp:
33531        (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and
33532        it has a composited layer that paints straight to the window, then translate from view coordinates
33533        to window coordinates here.
33534        * rendering/RenderView.cpp:
33535        (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root.
33536        (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating
33537        for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting,
33538        such as computing selection bounds, this function was returning the wrong results.
33539
335402011-04-20  Dan Bernstein  <mitz@apple.com>
33541
33542        Reviewed by Eric Carlson.
33543
33544        <rdar://problem/9304956> media/broken-video.html crashes
33545
33546        * platform/graphics/MediaPlayer.cpp:
33547        (WebCore::nextMediaEngine): Fixed an off-by-one error.
33548
335492011-04-20  Eric Seidel  <eric@webkit.org>
33550
33551        Reviewed by Adam Barth.
33552
33553        Split out isIteratorTarget from bidiNext and bidiFirst
33554        https://bugs.webkit.org/show_bug.cgi?id=59033
33555
33556        This is the first (tiny) step of many.  When I tried to
33557        make larger changes to this function I broke stuff, so
33558        doing this in tiny pieces so we know it's right.
33559
33560        * rendering/InlineIterator.h:
33561        (WebCore::isIteratorTarget):
33562        (WebCore::bidiNext):
33563        (WebCore::bidiFirstSkippingInlines):
33564        (WebCore::bidiFirstNotSkippingInlines):
33565
335662011-04-20  Alexey Marinichev  <amarinichev@chromium.org>
33567
33568        Reviewed by Kenneth Russell.
33569
33570        Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D.
33571        https://bugs.webkit.org/show_bug.cgi?id=59045
33572
33573        Lose context extension test might not catch this bug, more reliable
33574        way is forcing the crash of the GPU process, which is done by Chromium
33575        browser tests.
33576
33577        * platform/graphics/chromium/WebGLLayerChromium.cpp:
33578        (WebCore::WebGLLayerChromium::updateCompositorResources):
33579        (WebCore::WebGLLayerChromium::setContext):
33580        * platform/graphics/chromium/WebGLLayerChromium.h:
33581
335822011-04-20  Jia Pu  <jpu@apple.com>
33583
33584        Reviewed by Maciej Stachowiak.
33585
33586        [Mac]Regression: extending word that is already marked misspelled doesn't remove misspelling underline.
33587        https://bugs.webkit.org/show_bug.cgi?id=59032
33588        <rdar://problem/9312444>
33589
33590        This fixes a regression introduced in recent refactoring work in Editor. See bug webpage for detail.
33591
33592        manual test: Source/WebCore/manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
33593
33594        * editing/Editor.cpp:
33595        (WebCore::Editor::insertTextWithoutSendingTextEvent):
33596        * manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html: Added.
33597
335982011-04-20  Chris Fleizach  <cfleizach@apple.com>
33599
33600        Reviewed by Beth Dakin.
33601
33602        CrashTracer: 301 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityRenderObject::visiblePositionForPoint const + 297
33603        https://bugs.webkit.org/show_bug.cgi?id=57405
33604
33605        The offending line in this crash was a null pointer access in
33606           m_renderer->document()->topDocument()->renderer()->view()->frameView();
33607        It seems likely that one of those calls was invalid. I could not reproduce and there was no
33608        information on reproducible steps, hence the absence of a layout test.
33609
33610        * accessibility/AccessibilityRenderObject.cpp:
33611        (WebCore::AccessibilityRenderObject::topRenderer):
33612        (WebCore::AccessibilityRenderObject::topDocument):
33613        (WebCore::AccessibilityRenderObject::topDocumentFrameView):
33614        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
33615        * accessibility/AccessibilityRenderObject.h:
33616
336172011-04-20  Andy Estes  <aestes@apple.com>
33618
33619        Reviewed by Maciej Stachowiak.
33620
33621        REGRESSION (WK2): Animated GIF stops when navigating forward, back
33622        https://bugs.webkit.org/show_bug.cgi?id=59042
33623        
33624        When loading the page from the b/f cache,
33625        document()->view()->isOffscreen() returns true in
33626        RenderObject::willRenderImage(), so BitmapImage::startAnimation()
33627        returns without actually kicking off the animation.
33628        
33629        In WebKit1, the ScrollView is a platform widget, so
33630        ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the
33631        ScrollView isn't a platform widget so it asks the WebCore Widget
33632        whether or not it is visible. It always returns false since
33633        setParentVisible(false) was called on the old ScrollView before
33634        navigating to a new page, but setParentVisible(true) is never called
33635        when restoring it from the back/forward cache. This is probably a
33636        long-standing bug.
33637        
33638        Fix this by calling setParentVisible(true) when a cached main frame is
33639        being restored.
33640
33641        Test: fast/images/animated-gif-restored-from-bfcache.html
33642
33643        * history/CachedFrame.cpp:
33644        (WebCore::CachedFrameBase::restore): If the cached frame is the main
33645        frame, call setParentVisible(true) on the frame's view.
33646
336472011-04-20  Sam Weinig  <sam@webkit.org>
33648
33649        Reviewed by Anders Carlsson.
33650
33651        WebKit2: Can't scroll page after printing on Yahoo.com and other sites
33652        <rdar://problem/9233291>
33653        https://bugs.webkit.org/show_bug.cgi?id=59049
33654
33655        * page/Frame.cpp:
33656        (WebCore::Frame::setPrinting): Match Mac WebKit1 code when ending printing,
33657        and call forceLayout() instead of forceLayoutForPagination().
33658
336592011-04-20  Kenneth Russell  <kbr@google.com>
33660
33661        Reviewed by James Robinson.
33662
33663        Reduce size of GraphicsContext3D's compiled code
33664        https://bugs.webkit.org/show_bug.cgi?id=59029
33665
33666        Changed format conversion operations to work line-by-line instead
33667        of pixel-by-pixel, and passed them as function pointers rather
33668        than template parameters. Simplified computation of source
33669        increment, since elements per row is now all that is needed.
33670
33671        These changes reduce the size of GraphicsContext3D.o in release
33672        mode on Linux from 299 KB to 53 KB.
33673
33674        No new tests. Existing layout tests cover these format conversions
33675        well, and caught one typo in the restructuring. Also ran WebGL
33676        conformance suite and other demos.
33677
33678        * platform/graphics/GraphicsContext3D.cpp:
33679        (WebCore::doUnpackingAndPacking):
33680        (WebCore::computeSourceElementsPerRow):
33681        (WebCore::doPacking):
33682        (WebCore::doFloatingPointPacking):
33683        (WebCore::GraphicsContext3D::packPixels):
33684
336852011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
33686
33687        Reviewed by Kent Tamura.
33688
33689        REGRESSION(r82376): Clicking on a label, associated with a disabled input element changes state of the element.
33690        https://bugs.webkit.org/show_bug.cgi?id=59037
33691
33692        Test: fast/events/simulated-click-disabled.html
33693
33694        * dom/EventDispatcher.cpp:
33695        (WebCore::EventDispatcher::dispatchSimulatedClick): Added check for disabled element.
33696
336972011-04-20  Eric Seidel  <eric@webkit.org>
33698
33699        Reviewed by Ryosuke Niwa.
33700
33701        Split bidiFirst into two functions
33702        https://bugs.webkit.org/show_bug.cgi?id=59025
33703
33704        I don't have a full understanding of the skipInlines case yet
33705        (hence it's not as pretty as the non-skipping case), but
33706        this is clearly a win, as both functions are much simpler
33707        than their combined version.
33708
33709        Both of these functions still have bad names.  However the
33710        bidiNext/bidiFirst names date all the way back to revision 1
33711        of the WebKit repository. :)  So I don't feel too bad keeping
33712        them for the moment.
33713
33714        * rendering/InlineIterator.h:
33715        (WebCore::bidiNext):
33716        (WebCore::bidiFirstSkippingInlines):
33717        (WebCore::bidiFirstNotSkippingInlines):
33718        * rendering/RenderBlock.cpp:
33719        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
33720        * rendering/RenderBlockLineLayout.cpp:
33721        (WebCore::RenderBlock::layoutInlineChildren):
33722        (WebCore::RenderBlock::determineStartPosition):
33723
337242011-04-20  Jia Pu  <jpu@apple.com>
33725
33726        Reviewed by Adele Peterson.
33727    
33728        [Mac] Like autocorrection, other types of substitution need to respect undo.
33729        https://bugs.webkit.org/show_bug.cgi?id=59009
33730        <rdar://problem/8601537>
33731
33732        Similar to autocorrection, we use SpellingCorrectionCommand to carry out other types of text substitution, so that
33733        if user undoes the substitution, it will not be applied again. For CreateLinkCommand,  we add marker when it's undone
33734        so that we won't automatically add link again.
33735
33736        * editing/CreateLinkCommand.h:
33737        (WebCore::CreateLinkCommand::isCreateLinkCommand):
33738        * editing/EditCommand.cpp:
33739        (WebCore::EditCommand::isCreateLinkCommand):
33740        * editing/EditCommand.h:
33741        * editing/Editor.cpp:
33742        (WebCore::Editor::unappliedEditing):
33743        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
33744        * editing/SpellingCorrectionController.cpp:
33745        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
33746        (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
33747        * editing/SpellingCorrectionController.h:
33748        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
33749
337502011-04-20  Steve Lacey  <sjl@chromium.org>
33751
33752        Reviewed by Eric Carlson.
33753
33754        [chromium] Move Chromium media controls into own root element.
33755        https://bugs.webkit.org/show_bug.cgi?id=59018
33756
33757        No new tests as there is no functional change
33758
33759        * WebCore.gypi:
33760        * css/mediaControlsChromium.css:
33761        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
33762        * html/shadow/MediaControlRootElementChromium.cpp: Added.
33763        Clone of html/shadow/MediaControlRootElement.cpp with all unused code removed.
33764        * html/shadow/MediaControlRootElementChromium.h: Added.
33765
337662011-04-20  Charlie Lee  <chocobo@chromium.org>
33767
33768        Reviewed by Dirk Schulze.
33769
33770        LEFilter change doesn't compile on ARM neon targets
33771        https://bugs.webkit.org/show_bug.cgi?id=58671
33772
33773        Build fix for Chromium ARM/NEON platform. Added platform/graphics/filters/arm directory to build system.
33774
33775        * WebCore.gyp/WebCore.gyp:
33776
337772011-04-20  Xiaomei Ji  <xji@chromium.org>
33778
33779        Reviewed by Ryosuke Niwa.
33780
33781        Continue (3rd) experiment with moving caret by word in visual order.
33782        https://bugs.webkit.org/show_bug.cgi?id=58294
33783
33784        This patch along with r82588 and r83483 implements moving caret by
33785        word in visual order.
33786        
33787        The overall algorithm is:
33788        1. First get the InlineBox and offset of the pass-in VisiblePosition.
33789        2. Based on the position (left boundary, middle, right boundary) of the offset and the
33790           direction of the movement, look for visually adjacent word breaks.
33791        2.1 If the offset is the minimum offset of the box,
33792            return the rightmost word boundary in previous boxes if moving left.
33793            return the leftmost word boundary in box and next boxes if moving right.
33794        2.2 Similar for the case when offset is at the maximum offset of the box.
33795        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 
33796            or nextWordPosition based on the directionality of the box. If this word break position 
33797            is also inside the same box, return it. Otherwise (the nextWordPosition or 
33798            previousWordPosition is not in the same box or is at the box boundary), collect all the 
33799            word breaks in the box and search for the one closest to the input "offset" based on 
33800            box directionality, block directionality, and movement direction. Continue search in 
33801            adjacent boxes if needed.
33802
33803        Notes:
33804        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 
33805           the input position (in the moving direction) is not available in current box, word 
33806           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 
33807           word boundaries. Instead, the word boundaries are saved as a pair 
33808           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
33809 
33810        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
33811           and right boundary of a word in RTL block). And word boundaries are collected using 
33812           previousWordPosition() and nextWordPosition(). So when box directionality is the same as 
33813           block directionality, word boundaries are collected from right to left visually in a LTR 
33814           box, and word boundaries are collected from left to right visually in a RTL box. It is
33815           the other way around when box directionality is different from block directionality.
33816
33817        3. To find the right kinds of word boundaries, we must move back and forth between words
33818           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
33819           we cannot simply return nextWordPosition() because it would return the right boundary
33820           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
33821
33822        4. When collecting word breaks inside a box, it first computes a start position, then
33823           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
33824           In the meanwhile, it might need special handling on the rightmost or leftmost position 
33825           based on the directionality of the box and block. These computations do not consider the 
33826           box's bidi level.
33827
33828        * editing/visible_units.cpp:
33829        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
33830        (WebCore::collectWordBreaksInBox):
33831        (WebCore::previousWordBoundaryInBox):
33832        (WebCore::nextWordBoundaryInBox):
33833        (WebCore::visuallyLastWordBoundaryInBox):
33834        (WebCore::leftWordBoundary):
33835        (WebCore::rightWordBoundary):
33836        (WebCore::leftWordPosition):
33837        (WebCore::rightWordPosition):
33838
338392011-04-20  Cris Neckar  <cdn@chromium.org>
33840
33841        Reviewed by Dirk Schulze.
33842
33843        Return early when the paint rect and the source rect do not overlap as no bytes need to be copied.
33844        https://bugs.webkit.org/show_bug.cgi?id=57885
33845
33846        Test: svg/filters/svg-transform-blur-crash.xhtml
33847
33848        * platform/graphics/filters/FilterEffect.cpp:
33849        (WebCore::FilterEffect::copyImageBytes):
33850
338512011-04-20  Jian Li  <jianli@chromium.org>
33852
33853        Reviewed by Kenneth Russell.
33854
33855        Support DataView in workers
33856        https://bugs.webkit.org/show_bug.cgi?id=59014
33857
33858        Test: fast/canvas/webgl/worker-data-view-test.html
33859
33860        * workers/WorkerContext.idl: Expose DataView constructor.
33861
338622011-04-20  Chris Marrin  <cmarrin@apple.com>
33863
33864        Reviewed by Adam Roben.
33865
33866        REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs
33867        https://bugs.webkit.org/show_bug.cgi?id=57868
33868        
33869        Running CACFAnimations aren't remembered when layer tree is unparented and 
33870        then reparented. Added a new ensureAnimationsSubmitted function to 
33871        PlatformCALayer to traverse the tree and resubmit animations, setting the 
33872        beginTime to the original start time of the animation. This is called in WK2
33873        when layer tree is newly parented.
33874        
33875        I also consolidated currentTimeToMediaTime into PlatformCALayer so it can be shared
33876        between PlatformCALayer and GraphicsLayerCA.
33877
33878        * platform/graphics/ca/GraphicsLayerCA.cpp:
33879        * platform/graphics/ca/PlatformCAAnimation.h:
33880            Remember actual animation start time in CACFAnimation beginTime property
33881        * platform/graphics/ca/PlatformCALayer.h:
33882            New ensureAnimationsSubmitted function which traverses layers and resubmits all animations
33883        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
33884        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
33885
338862011-04-20  Eric Carlson  <eric.carlson@apple.com>
33887
33888        Reviewed by Dan Bernstein.
33889
33890        Adopt QTKit API for listing and deleting file in its media cache.
33891        <rdar://problem/9130029> 
33892        https://bugs.webkit.org/show_bug.cgi?id=58795
33893
33894        Not possible to test automatically, verified manually.
33895
33896        * WebCore.exp.in: Export new media download cache functions.
33897
33898        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
33899        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
33900        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register cache management functions.
33901        (WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): New, return cache origins.
33902        (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): New, empty the media cache.
33903        (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): New, delete files in the media
33904            cache for one origin.
33905
33906        * platform/mac/WebCoreSystemInterface.h: Add new WKSI functions.
33907        * platform/mac/WebCoreSystemInterface.mm: Ditto.
33908
339092011-04-20  Dirk Schulze  <krit@webkit.org>
33910
33911        Reviewed by Simon Fraser.
33912
33913        SVG feDropShadow implementation of SVG Filters 1.2
33914        https://bugs.webkit.org/show_bug.cgi?id=52513
33915
33916        Support different radii for horizontal and vertical blurring in ShadowBlur. This is a preperation for feDropShadow.
33917        feDropShadow is a new shorthand filter effect for the up-comming Filter 1.0 specification and will use ShadowBlur.
33918        feGaussianBlur might make use of ShadowBlur as well later (on SourceAlpha input).
33919        Added ShadowBlur to remaining platforms.
33920
33921        The changes can't be tested before the changes in feGaussianBlur or feDropShadow. Current behavior is not affected.
33922
33923        * Android.mk:
33924        * CMakeLists.txt:
33925        * GNUmakefile.list.am:
33926        * WebCore.pro:
33927        * platform/graphics/FloatSize.h:
33928        (WebCore::FloatSize::scale):
33929        * platform/graphics/ShadowBlur.cpp:
33930        (WebCore::ScratchBuffer::ScratchBuffer):
33931        (WebCore::ScratchBuffer::setLastShadowValues):
33932        (WebCore::ScratchBuffer::setLastInsetShadowValues):
33933        (WebCore::ScratchBuffer::matchesLastShadow):
33934        (WebCore::ScratchBuffer::matchesLastInsetShadow):
33935        (WebCore::ScratchBuffer::clearScratchBuffer):
33936        (WebCore::ShadowBlur::ShadowBlur):
33937        (WebCore::calculateLobes):
33938        (WebCore::ShadowBlur::blurLayerImage):
33939        (WebCore::ShadowBlur::adjustBlurRadius):
33940        (WebCore::ShadowBlur::calculateLayerBoundingRect):
33941        (WebCore::computeSliceSizesFromRadii):
33942        (WebCore::ShadowBlur::templateSize):
33943        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
33944        (WebCore::ShadowBlur::drawRectShadowWithTiling):
33945        (WebCore::ShadowBlur::drawLayerPieces):
33946        * platform/graphics/ShadowBlur.h:
33947        * platform/graphics/cg/GraphicsContextCG.cpp:
33948        (WebCore::GraphicsContext::fillRect):
33949        (WebCore::GraphicsContext::fillRoundedRect):
33950        (WebCore::GraphicsContext::fillRectWithRoundedHole):
33951
339522011-04-19  Roland Steiner  <rolandsteiner@chromium.org>
33953
33954        Reviewed by Dimitri Glazkov.
33955
33956        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
33957        https://bugs.webkit.org/show_bug.cgi?id=52963
33958
33959        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
33960        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
33961        .) Merged setTreeScope() with setTreeScopeRecursively()
33962        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
33963        .) Adapt JavaScript Node wrappers (temporary code - see https://bugs.webkit.org/show_bug.cgi?id=58704).
33964
33965        No new tests. (refactoring)
33966
33967        * bindings/js/JSNodeCustom.cpp:
33968        (WebCore::createWrapperInline):
33969        * bindings/v8/custom/V8NodeCustom.cpp:
33970        (WebCore::toV8Slow):
33971        * dom/ContainerNode.cpp:
33972        (WebCore::ContainerNode::takeAllChildrenFrom):
33973        (WebCore::ContainerNode::removeBetween):
33974        (WebCore::ContainerNode::removeChildren):
33975        (WebCore::ContainerNode::parserAddChild):
33976        * dom/Document.cpp:
33977        (WebCore::Document::Document):
33978        (WebCore::Document::~Document):
33979        (WebCore::Document::setDocType):
33980        * dom/Element.h:
33981        * dom/Node.cpp:
33982        (WebCore::Node::treeScope):
33983        (WebCore::Node::setTreeScopeRecursively):
33984        * dom/Node.h:
33985        (WebCore::Node::document):
33986        * dom/ShadowRoot.cpp:
33987        (WebCore::ShadowRoot::ShadowRoot):
33988        (WebCore::ShadowRoot::~ShadowRoot):
33989        (WebCore::ShadowRoot::nodeType):
33990        (WebCore::ShadowRoot::cloneNode):
33991        (WebCore::ShadowRoot::childTypeAllowed):
33992        * dom/ShadowRoot.h:
33993        (WebCore::toShadowRoot):
33994        * dom/TreeScope.cpp:
33995        (WebCore::TreeScope::TreeScope):
33996        (WebCore::TreeScope::setParentTreeScope):
33997        * dom/TreeScope.h:
33998        * rendering/RenderSlider.cpp:
33999
340002011-04-20  Vsevolod Vlasov  <vsevik@chromium.org>
34001
34002        Reviewed by Pavel Feldman.
34003
34004        Web Inspector: Update front-end files list in WebCore.vcproj
34005        https://bugs.webkit.org/show_bug.cgi?id=58896
34006
34007        * WebCore.vcproj/WebCore.vcproj:
34008
340092011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
34010
34011        Qt build fix after r84380.
34012
34013        * css/CSSPrimitiveValueMappings.h: Moved EBorderCollapse-related casts from under ENABLE(SVG) guard.
34014
340152011-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
34016
34017        Reviewed by Martin Robinson.
34018
34019        [GTK] Build libWebCore with the gtk sources too
34020        https://bugs.webkit.org/show_bug.cgi?id=58968
34021
34022        In some cases webcore files are compiled twice, so it improves the
34023        build time.
34024
34025        * GNUmakefile.am: Add webcore gtk sources to libWebCore sources.
34026
340272011-04-20  Luke Macpherson   <macpherson@chromium.org>
34028
34029        Reviewed by Dimitri Glazkov.
34030
34031        Allow casting between CSSPrimitiveValue and EBorderCollapse to remove special-case logic from CSSStyleSelector.
34032        https://bugs.webkit.org/show_bug.cgi?id=58964
34033
34034        No new tests as no new functionality added.
34035
34036        * css/CSSPrimitiveValueMappings.h:
34037        Support casting to/from EBorderCollapse.
34038        * css/CSSStyleSelector.cpp:
34039        Use new casting ability to simplify code.
34040        * rendering/style/RenderStyle.h:
34041        Use EBorderCollapse instead of a bool for representing border collapse member variable.
34042        * rendering/style/RenderStyleConstants.h:
34043        Added EBorderCollapse enum.
34044
340452011-04-19  Stephen White  <senorblanco@chromium.org>
34046
34047        Reviewed by Kenneth Russell.
34048
34049        Move and rename GLES2Canvas.
34050        https://bugs.webkit.org/show_bug.cgi?id=58927
34051
34052        Move GLES2Canvas to platform/graphcs/gpu, where all the other
34053        gpu-related files live, and rename it to GraphicsContextGPU to better
34054        reflect its purpose.
34055
34056        Covered by existing tests.
34057
34058        * WebCore.gypi:
34059        * platform/graphics/chromium/GLES2Canvas.cpp:
34060        * platform/graphics/chromium/GLES2Canvas.h:
34061        * platform/graphics/skia/GraphicsContextSkia.cpp:
34062        (WebCore::GraphicsContext::fillPath):
34063        (WebCore::GraphicsContext::setPlatformShadow):
34064        * platform/graphics/skia/ImageBufferSkia.cpp:
34065        * platform/graphics/skia/ImageSkia.cpp:
34066        (WebCore::drawBitmapGLES2):
34067        * platform/graphics/skia/PlatformContextSkia.cpp:
34068        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
34069        * platform/graphics/skia/PlatformContextSkia.h:
34070        (WebCore::PlatformContextSkia::gpuCanvas):
34071
340722011-04-20  Benjamin Poulain  <benjamin.poulain@nokia.com>
34073
34074        Reviewed by Andreas Kling.
34075
34076        [Qt] Clean the style of our cookie methods
34077        https://bugs.webkit.org/show_bug.cgi?id=58987
34078
34079        Got rid of the variables named "u" in favor just converting the url when needed.
34080
34081        * platform/qt/CookieJarQt.cpp:
34082        (WebCore::setCookies): The variable p was unused.
34083        The ::toAscii() depends on the default codec, use toLatin1() instead.
34084        (WebCore::cookies): foreach() should use const reference.
34085        (WebCore::cookieRequestHeaderFieldValue):
34086
340872011-04-19  Mihai Parparita  <mihaip@chromium.org>
34088
34089        Reviewed by Adam Barth.
34090
34091        ScriptController.h is included in too many places
34092        https://bugs.webkit.org/show_bug.cgi?id=58963
34093
34094        Remove ScriptController.h #includes from a bunch of .cpp files where it
34095        doesn't appear to be necessary.
34096
34097        * bindings/js/JSCustomPositionCallback.cpp:
34098        * bindings/js/JSCustomPositionErrorCallback.cpp:
34099        * bindings/js/JSCustomVoidCallback.cpp:
34100        * bindings/js/JSCustomXPathNSResolver.cpp:
34101        * bindings/js/JSDOMWindowBase.cpp:
34102        * bindings/js/JSDOMWindowShell.cpp:
34103        * bindings/js/JSDocumentCustom.cpp:
34104        * bindings/js/ScriptDebugServer.cpp:
34105        * bindings/v8/NPV8Object.cpp:
34106        * bindings/v8/ScriptCachedFrameData.cpp:
34107        * bindings/v8/V8DOMWindowShell.cpp:
34108        * bindings/v8/V8DOMWrapper.cpp:
34109        * bindings/v8/V8IsolatedContext.cpp:
34110        * bindings/v8/V8Proxy.cpp:
34111        * bindings/v8/custom/V8LocationCustom.cpp:
34112        * dom/Node.cpp:
34113        * dom/ScriptElement.cpp:
34114        * dom/XMLDocumentParser.cpp:
34115        * dom/XMLDocumentParserQt.cpp:
34116        * html/HTMLEmbedElement.cpp:
34117        * html/HTMLObjectElement.cpp:
34118        * html/HTMLPlugInElement.cpp:
34119        * html/parser/HTMLConstructionSite.cpp:
34120        * html/parser/HTMLTreeBuilder.cpp:
34121        * inspector/InspectorProfilerAgent.cpp:
34122        * loader/icon/IconDatabase.cpp:
34123        * page/Chrome.cpp:
34124        * page/Navigator.cpp:
34125        * page/Page.cpp:
34126        * plugins/PluginView.cpp:
34127        * plugins/gtk/PluginViewGtk.cpp:
34128        * plugins/qt/PluginViewQt.cpp:
34129        * plugins/symbian/PluginViewSymbian.cpp:
34130        * plugins/win/PluginViewWin.cpp:
34131        * svg/SVGDocumentExtensions.cpp:
34132        * xml/XMLTreeViewer.cpp:
34133
341342011-04-20  Pavel Feldman  <pfeldman@google.com>
34135
34136        Reviewed by Yury Semikhatsky.
34137
34138        Web Inspector: add Save As to the Resources panel context menu.
34139        https://bugs.webkit.org/show_bug.cgi?id=58983
34140
34141        * English.lproj/localizedStrings.js:
34142        * inspector/front-end/ResourcesPanel.js:
34143        (WebInspector.FrameResourceTreeElement.prototype.onattach):
34144        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent.save):
34145        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
34146        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
34147        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
34148
341492011-04-20  Balazs Kelemen  <kbalazs@webkit.org>
34150
34151        Reviewed by Csaba Osztrogonác.
34152
34153        [Qt] Cleanup includepath adjustment for generated files
34154        https://bugs.webkit.org/show_bug.cgi?id=58869
34155
34156        Build cleanup, no new tests.
34157
34158        * WebCore.pri: Add the directory of generated files to the include path
34159        with absolute path to make it valid in the final build step. Remove
34160        unnecessary logic.
34161
341622011-04-20  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
34163
34164        Reviewed by Andreas Kling.
34165
34166        [EFL] Initializing m_window member field in PluginView.cpp for efl port
34167        https://bugs.webkit.org/show_bug.cgi?id=58311
34168
34169        No new tests needed: only initializing class member.
34170
34171        * plugins/PluginView.cpp:
34172        (WebCore::PluginView::PluginView):
34173
341742011-04-20  Pavel Feldman  <pfeldman@google.com>
34175
34176        Not reviewed: fix Leopard compile.
34177
34178        * inspector/InspectorFrontendClient.h:
34179        * inspector/InspectorFrontendClientLocal.h:
34180        (WebCore::InspectorFrontendClientLocal::saveAs):
34181
341822011-04-20  Pavel Feldman  <pfeldman@google.com>
34183
34184        Reviewed by Yury Semikhatsky.
34185
34186        Web Inspector: add saveAs into the InspectorFrontendHost binding.
34187        https://bugs.webkit.org/show_bug.cgi?id=58979
34188
34189        * English.lproj/localizedStrings.js:
34190        * inspector/InspectorFrontendClient.h:
34191        (WebCore::InspectorFrontendClient::saveAs):
34192        (WebCore::InspectorFrontendClient::saveSessionSetting):
34193        (WebCore::InspectorFrontendClient::loadSessionSetting):
34194        * inspector/InspectorFrontendHost.cpp:
34195        (WebCore::InspectorFrontendHost::saveAs):
34196        * inspector/InspectorFrontendHost.h:
34197        * inspector/InspectorFrontendHost.idl:
34198        * inspector/front-end/InspectorFrontendHostStub.js:
34199        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs.fr.onload):
34200        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs):
34201        * inspector/front-end/NetworkPanel.js:
34202        (WebInspector.NetworkPanel.prototype._contextMenu):
34203        (WebInspector.NetworkPanel.prototype._copyAll):
34204        (WebInspector.NetworkPanel.prototype._copyResource):
34205        (WebInspector.NetworkPanel.prototype._exportAll):
34206        (WebInspector.NetworkPanel.prototype._exportResource):
34207        * inspector/front-end/Settings.js:
34208        * inspector/front-end/utilities.js:
34209        ():
34210
342112011-04-20  Yury Semikhatsky  <yurys@chromium.org>
34212
34213        Reviewed by Tony Gentilcore.
34214
34215        Error event in <script> element shouldn't bubble
34216        https://bugs.webkit.org/show_bug.cgi?id=51040
34217
34218        Test: svg/dom/SVGScriptElement/script-onerror-bubbling.svg
34219
34220        * dom/ScriptElement.cpp:
34221        (WebCore::ScriptElement::dispatchErrorEvent): the method now has same implementation for all script
34222        elements, script load error event doesn' bubble.
34223        * dom/ScriptElement.h:
34224        * html/HTMLScriptElement.cpp:
34225        * html/HTMLScriptElement.h:
34226        * html/parser/HTMLScriptRunner.cpp:
34227        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
34228        * svg/SVGScriptElement.cpp:
34229        (WebCore::SVGScriptElement::parseMappedAttribute): SVG script element now supports onerror
34230        hanlder which behaves the same way as onerror in HTML script element: it's invoked when
34231        script loading fails and the event doesn't bubble.
34232        * svg/SVGScriptElement.h:
34233
342342011-04-20  Pavel Feldman  <pfeldman@google.com>
34235
34236        Reviewed by Yury Semikhatsky.
34237
34238        Web Inspector: minor protocol cleanups (refined types).
34239        https://bugs.webkit.org/show_bug.cgi?id=58970
34240
34241        * inspector/InjectedScriptSource.js:
34242        * inspector/Inspector.json:
34243
342442011-04-20  Leo Yang  <leo.yang@torchmobile.com.cn>
34245
34246        Reviewed by Eric Seidel.
34247
34248        Leaks beneath RenderSVGShadowTreeRootContainer::updateFromElement seen on SnowLeopard Intel Leaks
34249        https://bugs.webkit.org/show_bug.cgi?id=56672
34250
34251        ~RenderSVGShadowTreeRootContainer() cleared shadow host only if
34252        the shadow root is attached. This is wrong because it will
34253        leak shadow root when the root is not attached. For example, it
34254        leaks shadow root of <use> element which is pending on resource.
34255
34256        This patch is clearing shadow host if m_shadowRoot is valid to
34257        prevent leaking.
34258
34259        Fixing leaking, no new tests.
34260
34261        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
34262        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
34263
342642011-04-19  Maciej Stachowiak  <mjs@apple.com>
34265
34266        Reviewed by Antti Koivisto.
34267
34268        Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent
34269        https://bugs.webkit.org/show_bug.cgi?id=58868
34270
34271        I could not figure out how to make a test.
34272
34273        * rendering/RenderLayer.cpp:
34274        (WebCore::RenderLayer::paintLayer): Check for existence of a
34275        parent before calling a method on it.
34276
342772011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
34278
34279        Reviewed by Daniel Bates.
34280
34281        [EFL] Add current time to media control panel.
34282        https://bugs.webkit.org/show_bug.cgi?id=58866
34283
34284        Implement paintMediaCurrentTime() to show playing time of media content.
34285
34286        * platform/efl/RenderThemeEfl.cpp:
34287        (WebCore::RenderThemeEfl::RenderThemeEfl):
34288        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
34289        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
34290        * platform/efl/RenderThemeEfl.h:
34291
342922011-04-19  Jungshik Shin  <jshin@chromium.org>
34293
34294        Reviewed by Adam Barth
34295
34296        Update the list of Unicode blocks to treat as complex scripts
34297        per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
34298        go through the complex script code path.
34299
34300        Test: fast/text/ipa-tone-letters.html
34301
34302        http://bugs.webkit.org/show_bug.cgi?id=39799
34303
34304        * platform/graphics/Font.cpp:
34305        (WebCore::Font::codePath):
34306
343072011-04-19  Pratik Solanki  <psolanki@apple.com>
34308
34309        Reviewed by Simon Fraser.
34310
34311        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
34312
34313        Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
34314        trying to paint GeneratedImages.
34315
34316        * platform/graphics/Image.cpp:
34317        (WebCore::Image::drawTiled):
34318        * platform/graphics/cg/ImageCG.cpp:
34319        (WebCore::Image::drawPattern):
34320
343212011-04-19  Simon Fraser  <simon.fraser@apple.com>
34322
34323        Fix 32-bit builds.
34324
34325        * rendering/RenderBox.cpp:
34326        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
34327        * rendering/RenderBoxModelObject.cpp:
34328        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
34329
343302011-04-19  Naoki Takano  <takano.naoki@gmail.com>
34331
34332        Reviewed by Kent Tamura.
34333
34334        [Chromium]UI polishes and tweaks to Autofill dropdown menu.
34335        https://bugs.webkit.org/show_bug.cgi?id=58505
34336        http://code.google.com/p/chromium/issues/detail?id=51077
34337
34338        No new tests. Because this is autofill looking problem in Chromium.
34339        Add m_menuType as PopupMenuStyle to change popup style change.
34340        Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
34341        Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
34342        Change the line height of separator as only the piece if m_menuType is AutofillPopup.
34343        Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
34344
34345        * platform/PopupMenuStyle.h: Add enum PopupMenuType;
34346        (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
34347        (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
34348        * platform/chromium/PopupMenuChromium.cpp:
34349        (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
34350        Change the edge padding according to menuStyle().
34351        (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
34352
343532011-04-19  Simon Fraser  <simon.fraser@apple.com>
34354
34355        Reviewed by Dan Bernstein.
34356
34357        background color of elements with border-radius shows around outer edge of border at corners
34358        https://bugs.webkit.org/show_bug.cgi?id=21819
34359        
34360        When drawing a background followed by a border with the same rounded
34361        clip, some border color leaks out because of antialiasing.
34362        
34363        Fix this by using two different strategies depending on the colors.
34364        If the border is opaque on all sides, we can inset the background by
34365        a device pixel. If not, then we have to draw the unclipped background
34366        and border into a transparency layer, and then clip that.
34367        
34368        A futher possible solution is mentioned in a comment in
34369        determineBackgroundBleedAvoidance() but not yet implemented.
34370        
34371        Also don't try to paint shadows with zero offset, spread and blur.
34372
34373        Test: fast/backgrounds/background-leakage.html,
34374              fast/backgrounds/background-leakage-transforms.html
34375
34376        * rendering/RenderBoxModelObject.h:
34377        Add a BackgroundBleedAvoidance enum with a value for each
34378        strategy.
34379        * rendering/RenderBoxModelObject.cpp:
34380        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
34381        Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
34382        If using the transparency layer solution, don't bother to clip
34383        to the rounded rect for the background. If the strategy is to
34384        shrink the background, do that.
34385        (WebCore::BorderEdge::BorderEdge):
34386        (WebCore::BorderEdge::obscuresBackgroundEdge):
34387        Helper method to determine if this border side will totally
34388        obscured by the border edge, allowing us to inset it.
34389        (WebCore::RenderBoxModelObject::paintOneBorderSide):
34390        Pass BackgroundBleedAvoidance through.
34391        (WebCore::RenderBoxModelObject::paintBorderSides):
34392        Ditto.
34393        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
34394        Ditto.
34395        (WebCore::RenderBoxModelObject::paintBorder):
34396        Fill BorderEdges using getBorderEdgeInfo now.
34397        Don't clip to the rounded border if we are using the
34398        transparency layer solution.
34399        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
34400        Pass bleedAvoidance through, and use it for double borders.
34401        (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
34402        Helper to fill in the BorderEdge array.
34403        (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
34404        Used to determine if we can use the background shrinkage solution.
34405        (WebCore::RenderBoxModelObject::paintBoxShadow):
34406        Don't paint shadows that should not be visible.
34407
34408        * rendering/RenderBox.h:
34409        * rendering/RenderBox.cpp:
34410        (WebCore::RenderBox::paintRootBoxFillLayers):
34411        Pass BackgroundBleedNone for the root box.
34412        
34413        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
34414        Determine which bleed strategy we can use.
34415        
34416        (WebCore::RenderBox::paintBoxDecorationsWithSize):
34417        Based on the bleedAvoidance, make a transparency layer
34418        which will be clipped to the rounded border outside edge,
34419        and pass bleedAvoidance to the background and border-painting
34420        methods.        
34421        (WebCore::RenderBox::paintMaskImages):
34422        Use BackgroundBleedNone.
34423        (WebCore::RenderBox::paintFillLayers):
34424        (WebCore::RenderBox::paintFillLayer):
34425        Pass bleedAvoidance through.
34426
34427        * rendering/InlineFlowBox.cpp:
34428        (WebCore::InlineFlowBox::paintFillLayer):
34429        (WebCore::InlineFlowBox::paintBoxDecorations):
34430        Pass BackgroundBleedNone. At some point we may want to do the right
34431        thing for split inlines.
34432
34433        * rendering/RenderFieldset.cpp:
34434        (WebCore::RenderFieldset::paintBoxDecorations):
34435        * rendering/RenderTableCell.cpp:
34436        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
34437        Pass BackgroundBleedNone.
34438
344392011-04-19  Yuta Kitamura  <yutak@chromium.org>
34440
34441        Reviewed by Alexey Proskuryakov.
34442
34443        WebSocket: Add assertion for SocketStreamError::failingURL.
34444        https://bugs.webkit.org/show_bug.cgi?id=58765
34445
34446        No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
34447
34448        * websockets/WebSocketChannel.cpp:
34449        (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
34450        m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
34451        using zero- or one-argument constructor (which is old version but some ports are still using it).
34452        In that case, m_handshake.url() is passed to addMessage().
34453
344542011-04-19  Eric Carlson  <eric.carlson@apple.com>
34455
34456        Reviewed by Dimitri Glazkov.
34457
34458        Media controls status display should not be hidden for live streams
34459        https://bugs.webkit.org/show_bug.cgi?id=58952
34460
34461        Tested manually because we don't have any live streams to test in DRT.
34462
34463        * html/shadow/MediaControlElements.cpp:
34464        (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
34465            there is something to display (readyState exceeds HAVE_METADATA).
34466        * html/shadow/MediaControlRootElement.cpp:
34467        (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
34468            live streams.
34469
344702011-04-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
34471
34472        Reviewed by Alexey Proskuryakov.
34473
34474        https://bugs.webkit.org/show_bug.cgi?id=45425
34475        HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
34476
34477        Test: fast/html/htmllink-disable.html
34478        Test: fast/dom/HTMLLinkElement/disabled-attribute.html
34479
34480        Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
34481
34482        Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
34483
34484        * html/HTMLLinkElement.cpp:
34485        (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
34486        false if we don't have a stylesheet.
34487        (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
34488        ignore the call if we don't have a stylesheet.
34489        * html/HTMLLinkElement.h:
34490        * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
34491        This matches the way FF4, Opera and IE9 handle the attribute.
34492
344932011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
34494
34495        Reviewed by Eric Seidel.
34496
34497        Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
34498        https://bugs.webkit.org/show_bug.cgi?id=58569
34499
34500        Removed all calls to deprecatedOffset and deprecatedNode.
34501
34502        * editing/TypingCommand.cpp:
34503        (WebCore::TypingCommand::insertText):
34504        (WebCore::TypingCommand::deleteKeyPressed):
34505        (WebCore::TypingCommand::forwardDeleteKeyPressed):
34506
345072011-04-19  Adrienne Walker  <enne@google.com>
34508
34509        Reviewed by Kenneth Russell.
34510
34511        [chromium] Initialize depth mask to known value before getBooleanv call
34512        https://bugs.webkit.org/show_bug.cgi?id=58948
34513
34514        This trips an assert in the GPU command buffer client code if the
34515        pointed-to value is not initialized to 0 or -1.
34516
34517        * platform/graphics/gpu/DrawingBuffer.cpp:
34518        (WebCore::DrawingBuffer::clearFramebuffer):
34519
345202011-04-19  Pratik Solanki  <psolanki@apple.com>
34521
34522        Reviewed by Simon Fraser.
34523
34524        BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
34525        https://bugs.webkit.org/show_bug.cgi?id=58926
34526
34527        * platform/graphics/BitmapImage.cpp:
34528        (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
34529        * platform/graphics/BitmapImage.h:
34530        (WebCore::BitmapImage::assertNotSolidColor):
34531        * platform/graphics/cg/ImageCG.cpp:
34532        (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
34533
345342011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
34535
34536        Reviewed by Ojan Vafai.
34537
34538        REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
34539        https://bugs.webkit.org/show_bug.cgi?id=58910
34540
34541        The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
34542        targetNode always have renderer when there selection has an editable root and the target node
34543        is outside of the editable root.
34544        
34545        Fixed the bug by adding an early exit when the target node is null.
34546
34547        No new tests are added since we don't have a reduction for this crash.
34548
34549        * page/EventHandler.cpp:
34550        (WebCore::selectionExtentRespectingEditingBoundary):
34551
345522011-04-19  Geoffrey Garen  <ggaren@apple.com>
34553
34554        Try to fix v8 build.
34555
34556        * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
34557
345582011-04-19  Enrica Casucci  <enrica@apple.com>
34559
34560        Reviewed by Ryosuke Niwa.
34561
34562        REGRESSION(r55762): Highlight color can't be copied in gmail.
34563        https://bugs.webkit.org/show_bug.cgi?id=58925
34564        <rdar://problem/9253057>
34565
34566        Test: editing/pasteboard/copy-text-with-backgroundcolor.html
34567
34568        The changes of r55762 uncovered the underlying issue here. The markup fragment
34569        placed in the pasteboard does not contain the background color style.
34570        This occurs only if the selection is limited to a single text node, whereas if the
34571        selection spans across multiple nodes, the style is preserved correctly.
34572        The fix consists in changing the logic that decides whether we should include the wrapping
34573        node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
34574        on isElementPresentational to choose candidates to be the wrapping node.
34575        I've extended it to accept nodes that have non fully transparent background colors.
34576
34577        * editing/Editor.cpp:
34578        (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
34579        * editing/Editor.h:
34580        * editing/markup.cpp:
34581        (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
34582
345832011-04-19  Geoffrey Garen  <ggaren@apple.com>
34584
34585        Reviewed by Oliver Hunt.
34586
34587        Removed a use of markDOMObjectWrapper: NodeLists
34588        https://bugs.webkit.org/show_bug.cgi?id=58939
34589
34590        * bindings/js/JSDocumentCustom.cpp:
34591        (WebCore::JSDocument::markChildren): No need to mark node lists, because
34592        now they use the opaque roots system to decide their lifetimes.
34593
34594        * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
34595
34596        * bindings/js/JSNodeListCustom.cpp:
34597        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
34598        (WebCore::JSNodeListOwner::finalize):
34599        (WebCore::wrapperOwner):
34600        (WebCore::wrapperContext):
34601        (WebCore::toJS): Use the opaque roots system to avoid relying on
34602        markDOMObjectWrapper.
34603
34604        * dom/DynamicNodeList.cpp:
34605        (WebCore::DynamicNodeList::isDynamicNodeList):
34606        * dom/DynamicNodeList.h:
34607        (WebCore::DynamicNodeList::rootNode): Added the ability to get the node
34608        backing a NodeList, for use in the opaque roots system.
34609
34610        * dom/Node.cpp:
34611        * dom/Node.h:
34612        * dom/NodeList.h:
34613        (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
34614        to the old way of marking NodeLists.
34615
34616        * dom/NodeList.idl: We need a custom toJS so we can specify a custom
34617        WeakHandleOwner at construction time.
34618
346192011-04-19  Antoine Labour  <piman@chromium.org>
34620
34621        Reviewed by James Robinson.
34622
34623        For invisible iframes, propagate compositing to parent instead of setting self
34624        as root.
34625        https://bugs.webkit.org/show_bug.cgi?id=58414
34626
34627        Tests: compositing/iframes/invisible-iframe.html
34628               compositing/iframes/invisible-nested-iframe-hide.html
34629               compositing/iframes/invisible-nested-iframe-show.html
34630               compositing/iframes/invisible-nested-iframe.html
34631
34632        * rendering/RenderLayerCompositor.cpp:
34633        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
34634        Propagate compositing to parent even if frame owner has no renderer.
34635
346362011-04-19  Dan Bernstein  <mitz@apple.com>
34637
34638        Reviewed by Beth Dakin.
34639
34640        <rdar://problem/9271848> Crash when the document element is removed
34641
34642        Test: fast/events/overflow-viewport-renderer-deleted.html
34643
34644        * page/FrameView.cpp:
34645        (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
34646        function takes a code path that doesn’t call applyOverflowToViewport().
34647        (WebCore::FrameView::layout): Whitespace change.
34648
346492011-04-19  Beth Dakin  <bdakin@apple.com>
34650
34651        Reviewed by Maciej Stachowiak.
34652
34653        https://bugs.webkit.org/show_bug.cgi?id=57898
34654        REGRESSION (r82185): Scroll position not restored on navigation back to a page in 
34655        the page cache
34656        -and corresponding-
34657        <rdar://problem/9226652>
34658
34659        Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll 
34660        position to be lost. (The scroll position is computed based on the 
34661        visibleContentSize.) This patch provides a mechanism to cache the current scroll 
34662        position, and then the HistoryController accesses only the cached position rather 
34663        than calling scrollPosition() which does a computation based on the 
34664        visibleContentSize. 
34665
34666        * loader/HistoryController.cpp:
34667        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
34668        * page/FrameView.cpp:
34669        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
34670        * platform/ScrollView.h:
34671        (WebCore::ScrollView::cacheCurrentScrollPosition):
34672        (WebCore::ScrollView::cachedScrollPosition):
34673
346742011-04-19  Renata Hodovan  <reni@webkit.org>
34675
34676        Reviewed by Eric Seidel.
34677
34678        Move the alignment related macros in Vector.h to new Alignment.h.
34679        https://bugs.webkit.org/show_bug.cgi?id=56000
34680
34681        Adding the new file to the forwarding headers of WebCore.
34682
34683        * ForwardingHeaders/wtf/Alignment.h: Added.
34684
346852011-04-19  Oliver Hunt  <oliver@apple.com>
34686
34687        Reviewed by Andreas Kling.
34688
34689        [Qt] QtInstance method cache ownership rules are unclear
34690        https://bugs.webkit.org/show_bug.cgi?id=58820
34691
34692        Make the QtInstance method cache use WriteBarrier, and handle
34693        ownership properly.
34694
34695        * bridge/qt/qt_class.cpp:
34696        (JSC::Bindings::QtClass::fallbackObject):
34697        (JSC::Bindings::QtClass::fieldNamed):
34698        * bridge/qt/qt_instance.cpp:
34699        (JSC::Bindings::QtInstance::~QtInstance):
34700        (JSC::Bindings::QtInstance::removeCachedMethod):
34701        (JSC::Bindings::QtInstance::newRuntimeObject):
34702        (JSC::Bindings::QtInstance::markAggregate):
34703        * bridge/qt/qt_instance.h:
34704
347052011-04-19  David Kilzer  <ddkilzer@apple.com>
34706
34707        <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
34708
34709        Reviewed by Antti Koivisto.
34710
34711        * platform/network/ResourceLoadPriority.h:
34712        (enum ResourceLoadPriority): Moved Unresolved enum to the top of
34713        the list and set to -1 to emphasize the fact that this is an
34714        unresolved priority (rather than one higher than the highest
34715        priority).  Removed whitespace from the end of all enum lines.
34716
347172011-04-19  Simon Fraser  <simon.fraser@apple.com>
34718
34719        Reviewed by David Hyatt.
34720
34721        Background radius is wrong for split inline
34722        https://bugs.webkit.org/show_bug.cgi?id=58843
34723        
34724        When computing the radii for a segment of a split inline, we have to
34725        constrain those radii for the current segment, while still drawing
34726        using the entire logical width.
34727
34728        Tests: fast/backgrounds/border-radius-split-background-image.html
34729               fast/backgrounds/border-radius-split-background.html
34730
34731        * rendering/InlineFlowBox.cpp:
34732        (WebCore::InlineFlowBox::paintFillLayer):
34733        Pass height and width for this box only to paintFillLayer()
34734        
34735        * rendering/RenderBox.cpp:
34736        (WebCore::RenderBox::paintFillLayer):
34737        Pass 0 for unused inlineBox height and width.
34738
34739        * rendering/RenderBoxModelObject.h:
34740        * rendering/RenderBoxModelObject.cpp:
34741        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
34742        When computing the rounded background rect, we have to take the size of
34743        this segment of the inline box into account for radius constraining.
34744        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
34745        Call getBackgroundRoundedRect() in two places.
34746
347472011-04-19  Simon Fraser  <simon.fraser@apple.com>
34748
34749        Build fix. For some reason RenderBoxModelObject.cpp
34750        was missing from my last commit.
34751
34752        * rendering/RenderBoxModelObject.cpp:
34753        (WebCore::borderWillArcInnerEdge):
34754        (WebCore::edgeFlagForSide):
34755        (WebCore::includesEdge):
34756        (WebCore::BorderEdge::BorderEdge):
34757        (WebCore::BorderEdge::hasVisibleColorAndStyle):
34758        (WebCore::BorderEdge::shouldRender):
34759        (WebCore::BorderEdge::presentButInvisible):
34760        (WebCore::BorderEdge::usedWidth):
34761        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
34762        (WebCore::edgesShareColor):
34763        (WebCore::styleRequiresClipPolygon):
34764        (WebCore::borderStyleFillsBorderArea):
34765        (WebCore::borderStyleHasInnerDetail):
34766        (WebCore::borderStyleIsDottedOrDashed):
34767        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
34768        (WebCore::colorsMatchAtCorner):
34769        (WebCore::willBeOverdrawn):
34770        (WebCore::borderStylesRequireMitre):
34771        (WebCore::joinRequiresMitre):
34772        (WebCore::RenderBoxModelObject::paintOneBorderSide):
34773        (WebCore::RenderBoxModelObject::paintBorderSides):
34774        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
34775        (WebCore::RenderBoxModelObject::paintBorder):
34776        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
34777        (WebCore::findInnerVertex):
34778        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
34779        (WebCore::RenderBoxModelObject::paintBoxShadow):
34780
347812011-04-19  Stephen White  <senorblanco@chromium.org>
34782
34783        Reviewed by Kenneth Russell.
34784
34785        Refactor GLES2Canvas state application out into its own function.
34786        https://bugs.webkit.org/show_bug.cgi?id=58906
34787
34788        Covered by existing tests in fast/canvas and canvas/philip.
34789
34790        * platform/graphics/chromium/GLES2Canvas.cpp:
34791        (WebCore::GLES2Canvas::applyState):
34792        New function to apply compositing and clipping state.
34793        (WebCore::GLES2Canvas::fillPath):
34794        (WebCore::GLES2Canvas::fillRect):
34795        (WebCore::GLES2Canvas::beginShadowDraw):
34796        (WebCore::GLES2Canvas::endShadowDraw):
34797        Refactor calls to applyState().
34798        * platform/graphics/chromium/GLES2Canvas.h:
34799
348002011-04-19  Simon Fraser  <simon.fraser@apple.com>
34801
34802        Reviewed by Dave Hyatt.
34803
34804        Fix multiple border rendering issues
34805        https://bugs.webkit.org/show_bug.cgi?id=58761
34806        
34807        Fix various border-drawing bugs, and optimize some common cases.
34808        Also refactors a lot of the border-drawing code to be more maintainable.
34809        
34810            Rounded border rendering with different border widths looks strange
34811            https://bugs.webkit.org/show_bug.cgi?id=17468
34812            
34813            paintBorder in RenderObject paint two times the corners
34814            https://bugs.webkit.org/show_bug.cgi?id=20495
34815            
34816            Overdraw at box corners when using RGBA colors with alpha
34817            https://bugs.webkit.org/show_bug.cgi?id=21835
34818            
34819            Enable antialiasing for border drawing, when transformed
34820            https://bugs.webkit.org/show_bug.cgi?id=22746
34821            
34822            Drawing border-radius from path sometimes fails to round outer border in the double style when it should
34823            https://bugs.webkit.org/show_bug.cgi?id=41301
34824            
34825            Drawing border-radius from path doesn't appear to always match up border edges correctly
34826            https://bugs.webkit.org/show_bug.cgi?id=41302
34827            
34828        Also fixes
34829            Should be able to create Path from RoundedIntRect
34830            https://bugs.webkit.org/show_bug.cgi?id=58809
34831
34832        Tests: fast/borders/border-radius-different-width-001.html
34833               fast/borders/border-radius-inset-outset.html
34834               fast/borders/table-borders.html
34835
34836        * platform/graphics/FloatPoint.h:
34837        * platform/graphics/FloatPoint.cpp:
34838        (WebCore::findSlope):
34839        (WebCore::findIntersection):
34840        New geometry helper functions (should eventually move into a new
34841        GeometryUtilities file).
34842        
34843        * platform/graphics/Path.h:
34844        * platform/graphics/Path.cpp:
34845        (WebCore::Path::addRoundedRect):
34846        Add an overload of addRoundedRect() that takes a RoundedIntRect.
34847
34848        * platform/graphics/GraphicsContext.cpp:
34849        (WebCore::GraphicsContext::addRoundedRectClip):
34850        (WebCore::GraphicsContext::clipOutRoundedRect):
34851        (WebCore::GraphicsContext::fillRectWithRoundedHole):
34852        Can now add a RoundedIntRect to a Path directly.
34853        
34854        * platform/graphics/IntRect.h:
34855        (WebCore::IntRect::minXMinYCorner):
34856        (WebCore::IntRect::maxXMinYCorner):
34857        (WebCore::IntRect::minXMaxYCorner):
34858        (WebCore::IntRect::maxXMaxYCorner):
34859        Convenience functions to get the rect corners, in a writing-mode-
34860        friendly way.
34861
34862        * platform/graphics/RoundedIntRect.h:
34863        * platform/graphics/RoundedIntRect.cpp:
34864        (WebCore::RoundedIntRect::isRenderable):
34865        We need to know when Path::addRoundedRect() will fail because
34866        the sum of the radii exceed the height or width. This method tells
34867        us that.
34868        
34869        * platform/graphics/cg/GraphicsContextCG.cpp:
34870        (WebCore::GraphicsContext::fillRectWithRoundedHole):
34871        Can now add a RoundedIntRect to a Path directly.
34872
34873        * rendering/RenderBoxModelObject.h:
34874        * rendering/RenderBoxModelObject.cpp:
34875        (WebCore::borderWillArcInnerEdge):
34876        This can just to see if there are inner radii now.
34877        
34878        (WebCore::edgeFlagForSide):
34879        (WebCore::includesEdge):
34880        Convenience functions for the BorderEdgeFlags bitmask.
34881        
34882        (WebCore::BorderEdge::BorderEdge):
34883        (WebCore::BorderEdge::hasVisibleColorAndStyle):
34884        (WebCore::BorderEdge::shouldRender):
34885        (WebCore::BorderEdge::presentButInvisible):
34886        (WebCore::BorderEdge::usedWidth):
34887        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
34888        Convenience class to hold data about how a single edge
34889        is drawn, and to contain some commonly used width-related methods.
34890        
34891        (WebCore::edgesShareColor):
34892        (WebCore::styleRequiresClipPolygon):
34893        (WebCore::borderStyleFillsBorderArea):
34894        (WebCore::borderStyleHasInnerDetail):
34895        (WebCore::borderStyleIsDottedOrDashed):
34896        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
34897        (WebCore::colorsMatchAtCorner):
34898        (WebCore::willBeOverdrawn):
34899        (WebCore::borderStylesRequireMitre):
34900        (WebCore::joinRequiresMitre):
34901        Functions used to make the border drawing code more readable,
34902        which are used to determine when corners need a mitre, and
34903        need antialiasing.
34904        
34905        (WebCore::RenderBoxModelObject::paintOneBorderSide):
34906        Code to paint one side of a border, either via the path, or
34907        using rects/polygons, the appropriate mitres and antialiasing
34908        at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
34909        to be passed all the way down here so that when we recompute the
34910        path for double and ridge/groove borders, we correctly handle split box
34911        borders.
34912        
34913        (WebCore::RenderBoxModelObject::paintBorderSides):
34914        Paints the 4 border sides (if present).
34915        
34916        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
34917        Called when one or more of the borders has a non-opaque color,
34918        and uses a transparency layer for each set of same-colored
34919        sides to avoid overdraw at the corners.
34920        
34921        (WebCore::RenderBoxModelObject::paintBorder):
34922        Builds an array of BorderEdge so we can iterate over them to 
34923        detect different border compbinations, and optimizations. Has
34924        a fast path for all-solid borders.
34925        
34926        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
34927        Moved from RenderObject, since all callers are in RenderBoxModelObject.
34928        Has the following changes:
34929          * Don't attempt to draw dashes if there is only space for a few,
34930            since it looks bad.
34931          * Handle double and groove borders on split inlines correctly,
34932            making use of includeLogicalLeftEdge, includeLogicalRightEdge
34933
34934        (WebCore::findInnerVertex):
34935        For borders with a radiused inner edge, the per-side clip polygon
34936        has to project inside the padding box to avoid clipping the inner edge.
34937        This function computes a reasonable inner corner for the clipping
34938        polygon.
34939        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
34940        Have the corner joins pass through the corners of the inner and outer
34941        border rectangles, ensure we don't clip the inside if necessary,
34942        and handle antialiasing on the two mitres.
34943        
34944        (WebCore::RenderBoxModelObject::paintBoxShadow):
34945        Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
34946        etc.
34947
34948        * rendering/RenderObject.h:
34949        * rendering/RenderObject.cpp:
34950        (WebCore::RenderObject::drawLineForBoxSide):
34951        Moved to RenderBoxModelObject.
34952        
34953        * rendering/style/RenderStyle.h:
34954        * rendering/style/RenderStyle.cpp:
34955        (WebCore::RenderStyle::getRoundedBorderFor):
34956        (WebCore::RenderStyle::getRoundedInnerBorderFor):
34957        There was some very clumsy code that computed a rounded rect
34958        given the border rect and side widths. Cleaned this up by moving
34959        some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
34960        which takes the border widths is used by the double and groove drawing
34961        code.
34962
349632011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
34964
34965        Reviewed by Dimitri Glazkov.
34966
34967        REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
34968        https://bugs.webkit.org/show_bug.cgi?id=57061
34969
34970        The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
34971        a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
34972        RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
34973        a significant performance regression.
34974
34975        Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
34976        no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
34977        and prevents respondToNodeModification from clearing selection.
34978
34979        No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
34980        isn't exposed to JavaScript.
34981
34982        * dom/Range.cpp:
34983        (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
34984        start and end nodes are same, we should never get an exception from compareBoundaryPoints.
34985        (WebCore::Range::setEnd): Ditto.
34986        (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
34987        throws an exception.
34988        (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
34989        compareBoundaryPoints.
34990        (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
34991        (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
34992        * dom/Range.h:
34993        * editing/SelectionController.cpp:
34994        (WebCore::SelectionController::respondToNodeModification):
34995        * editing/htmlediting.cpp:
34996        (WebCore::comparePositions): Calls compareBoundaryPoints.
34997        * editing/markup.cpp:
34998        (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
34999        and neither are in a shadow DOM, it should never throw an exception.
35000        * page/DOMSelection.cpp:
35001        (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
35002        was thrown.
35003
350042011-04-19  Jungshik Shin  <jshin@chromium.org>
35005
35006        Reviewed by David Levin
35007
35008        Make U+FEFF be treated as a zero-width character in both
35009        simple script and complex script code paths. In Chromium
35010        Windows, UniscribeHelper needs a rather extensive changes
35011        summarized below.  Other ports need minor changes.
35012
35013        https://bugs.webkit.org/show_bug.cgi?id=48860
35014
35015        Test: fast/text/zero-width-characters-complex-script.html
35016
35017        * platform/graphics/Font.h:
35018        (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
35019        (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
35020        * platform/graphics/GlyphPageTreeNode.cpp:
35021        (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
35022        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
35023        (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.
35024        (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
35025        (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
35026        * platform/graphics/chromium/FontUtilsChromiumWin.h:
35027        * platform/graphics/chromium/UniscribeHelper.cpp:
35028        (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
35029        (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
35030        (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.
35031        (WebCore::UniscribeHelper::applySpacing):
35032        (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
35033        * platform/graphics/chromium/UniscribeHelper.h: 
35034        (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
35035        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
35036        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
35037
350382011-04-19  Brent Fulgham  <bfulgham@webkit.org>
35039
35040        Reviewed by Adam Roben.
35041
35042        Extend the DIBPixelData class with the facility for writing the
35043        bitmap representation to disk for debugging purposes.
35044        https://bugs.webkit.org/show_bug.cgi?id=58862.
35045
35046        * platform/graphics/win/DIBPixelData.cpp:
35047        (WebCore::DIBPixelData::writeToFile): New function.
35048        * platform/graphics/win/DIBPixelData.h:
35049
350502011-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
35051
35052        Reviewed by Pavel Feldman.
35053
35054        Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
35055        https://bugs.webkit.org/show_bug.cgi?id=58883
35056
35057        * fileapi/FileReaderLoader.cpp:
35058        (WebCore::FileReaderLoader::didReceiveData):
35059        * inspector/InspectorInstrumentation.cpp:
35060        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
35061        * inspector/InspectorInstrumentation.h:
35062        (WebCore::InspectorInstrumentation::didReceiveContentLength):
35063        * inspector/InspectorResourceAgent.cpp:
35064        (WebCore::InspectorResourceAgent::didReceiveContentLength):
35065        * inspector/InspectorResourceAgent.h:
35066        * inspector/front-end/NetworkManager.js:
35067        (WebInspector.NetworkDispatcher.prototype.dataReceived):
35068        * loader/DocumentThreadableLoader.cpp:
35069        (WebCore::DocumentThreadableLoader::didReceiveData):
35070        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
35071        * loader/DocumentThreadableLoader.h:
35072        * loader/FrameLoaderClient.h:
35073        * loader/MainResourceLoader.cpp:
35074        (WebCore::MainResourceLoader::didReceiveData):
35075        * loader/MainResourceLoader.h:
35076        * loader/NetscapePlugInStreamLoader.cpp:
35077        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
35078        * loader/NetscapePlugInStreamLoader.h:
35079        * loader/ResourceLoadNotifier.cpp:
35080        (WebCore::ResourceLoadNotifier::didReceiveData):
35081        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
35082        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
35083        * loader/ResourceLoadNotifier.h:
35084        * loader/ResourceLoader.cpp:
35085        (WebCore::ResourceLoader::didReceiveData):
35086        * loader/ResourceLoader.h:
35087        * loader/SubresourceLoader.cpp:
35088        (WebCore::SubresourceLoader::didReceiveData):
35089        * loader/SubresourceLoader.h:
35090        * loader/SubresourceLoaderClient.h:
35091        (WebCore::SubresourceLoaderClient::didReceiveData):
35092        (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
35093        * loader/WorkerThreadableLoader.cpp:
35094        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
35095        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
35096        * loader/appcache/ApplicationCacheGroup.cpp:
35097        (WebCore::ApplicationCacheGroup::didReceiveData):
35098        * loader/appcache/ApplicationCacheGroup.h:
35099        * loader/appcache/ApplicationCacheHost.h:
35100        * notifications/Notification.cpp:
35101        (WebCore::Notification::didReceiveData):
35102        * notifications/Notification.h:
35103        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
35104        (StreamingClient::didReceiveData):
35105        * platform/network/BlobResourceHandle.cpp:
35106        * platform/network/ResourceHandleClient.h:
35107        (WebCore::ResourceHandleClient::didReceiveData):
35108        * platform/network/android/ResourceHandleAndroid.cpp:
35109        (WebCore::SyncLoader::didReceiveData):
35110        * platform/network/cf/ResourceHandleCFNet.cpp:
35111        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
35112        * platform/network/curl/ResourceHandleCurl.cpp:
35113        * platform/network/mac/ResourceHandleMac.mm:
35114        (WebCoreSynchronousLoaderClient::didReceiveData):
35115        * platform/network/soup/ResourceHandleSoup.cpp:
35116        * platform/network/win/ResourceHandleWin.cpp:
35117        * workers/WorkerScriptLoader.h:
35118        * xml/XMLHttpRequest.h:
35119
351202011-04-19  Stephen White  <senorblanco@chromium.org>
35121
35122        Reviewed by Eric Seidel.
35123
35124        Pull framebuffer clearing out into its own function.
35125        https://bugs.webkit.org/show_bug.cgi?id=58897
35126
35127        Covered by fast/canvas and canvas/philip tests.
35128
35129        * platform/graphics/gpu/DrawingBuffer.cpp:
35130        (WebCore::DrawingBuffer::clearFramebuffer):
35131        (WebCore::DrawingBuffer::reset):
35132        * platform/graphics/gpu/DrawingBuffer.h:
35133
351342011-04-19 Brian Salomon <bsalomon@google.com>
35135
35136        Reviewed by Eric Seidel.
35137
35138        When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
35139        https://bugs.webkit.org/show_bug.cgi?id=58788
35140
35141        Chromium browser test will be added that loads canvas page and then an 
35142        acclerated-composited page. Test must trigger ~PlatformContextSkia() 
35143        followed by invocation of GL compositor.
35144
35145        * platform/graphics/skia/PlatformContextSkia.cpp:
35146        (WebCore::PlatformContextSkia::~PlatformContextSkia):
35147
351482011-04-19  Csaba Osztrogonác  <ossy@webkit.org>
35149
35150        [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
35151        https://bugs.webkit.org/show_bug.cgi?id=58871
35152
35153        Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
35154        http://trac.webkit.org/changeset/84176 (original patch)
35155        http://trac.webkit.org/changeset/84178 (original patch - part 2)
35156        http://trac.webkit.org/changeset/84186 (build fix)
35157        http://trac.webkit.org/changeset/84212
35158        http://trac.webkit.org/changeset/84231 (skip failing test)
35159
35160        original bugs:
35161         - https://bugs.webkit.org/show_bug.cgi?id=58718
35162         - https://bugs.webkit.org/show_bug.cgi?id=58853
35163
35164        * bridge/qt/qt_class.cpp:
35165        (JSC::Bindings::QtClass::fallbackObject):
35166        * bridge/qt/qt_instance.cpp:
35167        (JSC::Bindings::QtInstance::removeCachedMethod):
35168        (JSC::Bindings::QtInstance::markAggregate):
35169        * bridge/qt/qt_instance.h:
35170
351712011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
35172
35173        Unreviewed, rolling out r84050.
35174        http://trac.webkit.org/changeset/84050
35175        https://bugs.webkit.org/show_bug.cgi?id=58892
35176
35177        fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
35178        (Requested by jknotten on #webkit).
35179
35180        * dom/ContainerNode.cpp:
35181        (WebCore::ContainerNode::takeAllChildrenFrom):
35182        (WebCore::ContainerNode::removeBetween):
35183        (WebCore::ContainerNode::removeChildren):
35184        (WebCore::ContainerNode::parserAddChild):
35185        * dom/Document.cpp:
35186        (WebCore::Document::Document):
35187        (WebCore::Document::~Document):
35188        (WebCore::Document::setDocType):
35189        * dom/Element.h:
35190        * dom/Node.cpp:
35191        (WebCore::Node::treeScope):
35192        (WebCore::Node::setTreeScope):
35193        (WebCore::Node::setTreeScopeRecursively):
35194        * dom/Node.h:
35195        (WebCore::Node::document):
35196        * dom/ShadowRoot.cpp:
35197        (WebCore::ShadowRoot::ShadowRoot):
35198        * dom/ShadowRoot.h:
35199        * dom/TreeScope.cpp:
35200        (WebCore::TreeScope::TreeScope):
35201        (WebCore::TreeScope::setParentTreeScope):
35202        * dom/TreeScope.h:
35203        * rendering/RenderSlider.cpp:
35204
352052011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
35206
35207        Not reviewed; windows build fix attempt.
35208
35209        * storage/StorageInfo.cpp:
35210        (WebCore::StorageInfo::~StorageInfo):
35211        * storage/StorageInfo.h:
35212
352132011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
35214
35215        Reviewed by David Levin.
35216
35217        [Chromium] Enable QUOTA API at runtime if enable-quota flag is given
35218        https://bugs.webkit.org/show_bug.cgi?id=58784
35219
35220        No new tests as this does not change any functionality.
35221
35222        * bindings/generic/RuntimeEnabledFeatures.cpp:
35223        * bindings/generic/RuntimeEnabledFeatures.h:
35224        (WebCore::RuntimeEnabledFeatures::quotaEnabled):
35225        (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
35226        * page/DOMWindow.idl:
35227
352282011-04-19  John Gregg  <johnnyg@google.com>
35229
35230        Reviewed by Darin Fisher.
35231
35232        Enable folder drag-n-drop when using a "webkitdirectory" file input
35233        https://bugs.webkit.org/show_bug.cgi?id=58401
35234
35235        This uses a new ChromeClient API to enumerate the directory and 
35236        return all the files, as if the user had selected that directory
35237        by clicking the control in the normal way.
35238
35239        * loader/EmptyClients.h:
35240        (WebCore::EmptyChromeClient::enumerateChosenDirectory):
35241        * page/Chrome.cpp:
35242        (WebCore::Chrome::enumerateChosenDirectory):
35243        * page/Chrome.h:
35244        * page/ChromeClient.h:
35245        * platform/network/FormData.cpp:
35246        (WebCore::FormData::appendKeyValuePairItems):
35247        * rendering/RenderFileUploadControl.cpp:
35248        (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload):
35249        (WebCore::RenderFileUploadControl::receiveDroppedFiles):
35250        * rendering/RenderFileUploadControl.h:
35251
352522011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
35253
35254        Unreviewed, rolling out r84150.
35255        http://trac.webkit.org/changeset/84150
35256        https://bugs.webkit.org/show_bug.cgi?id=58875
35257
35258        Broken backspace in Search box of Web Inspector (Requested by
35259        apavlov on #webkit).
35260
35261        * inspector/front-end/inspector.js:
35262        (WebInspector.documentKeyDown):
35263
352642011-04-19  Andrey Adaikin  <aandrey@google.com>
35265
35266        Reviewed by Pavel Feldman.
35267
35268        Web Inspector: NPE in TextEditorModel
35269        https://bugs.webkit.org/show_bug.cgi?id=58870
35270
35271        * inspector/front-end/ResourcesPanel.js:
35272        (WebInspector.ResourcesPanel.prototype._frameAdded):
35273        * inspector/front-end/TextEditorModel.js:
35274        (WebInspector.TextEditorModel.prototype.setText):
35275
352762011-04-19  Hans Wennborg  <hans@chromium.org>
35277
35278        Reviewed by Tony Gentilcore.
35279
35280        IndexedDB: Remove accidental header include directive from LevelDB backend.
35281        https://bugs.webkit.org/show_bug.cgi?id=58872
35282
35283        No new functionality, no new tests.
35284
35285        * storage/IDBLevelDBBackingStore.cpp:
35286
352872011-04-19  Herczeg Zoltan  <zherczeg@webkit.org>
35288
35289        Build fix.
35290
35291        LEFilter change doesn't compile on ARM neon targets
35292        https://bugs.webkit.org/show_bug.cgi?id=58671
35293
35294        Thanks for Charlie Lee to fixing this.
35295
35296        * WebCore.gypi:
35297
352982011-04-19  Daniel Bates  <dbates@webkit.org>
35299
35300        Attempt to fix the Qt Linux Release Minimal build after changeset 84225
35301        <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788).
35302
35303        * dom/EventDispatcher.cpp:
35304        (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call
35305        to Node::svgShadowHost() since this method is only defined when building with SVG enabled.
35306
353072011-04-18  Dominic Cooney  <dominicc@chromium.org>
35308
35309        Reviewed by Dimitri Glazkov.
35310
35311        Makes SVG shadow roots and DOM shadow roots distinct.
35312        https://bugs.webkit.org/show_bug.cgi?id=52788
35313
35314        Not a functional change. Covered by existing SVG tests.
35315
35316        * dom/EventDispatcher.cpp:
35317        (WebCore::findElementInstance):
35318        (WebCore::EventDispatcher::adjustToShadowBoundaries):
35319        (WebCore::EventDispatcher::adjustRelatedTarget):
35320        (WebCore::EventDispatcher::ensureEventAncestors):
35321        * dom/Node.cpp:
35322        (WebCore::Node::setShadowHost):
35323        (WebCore::Node::svgShadowHost):
35324        (WebCore::Node::shadowTreeRootNode):
35325        * dom/Node.h:
35326        (WebCore::Node::isSVGShadowRoot):
35327        (WebCore::Node::parentNode):
35328        (WebCore::Node::parentNodeGuaranteedHostFree):
35329        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
35330        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
35331        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
35332        * rendering/svg/SVGShadowTreeElements.cpp:
35333        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
35334        (WebCore::SVGShadowTreeRootElement::create):
35335        (WebCore::SVGShadowTreeRootElement::attachElement):
35336        (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost):
35337        * rendering/svg/SVGShadowTreeElements.h:
35338        (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot):
35339        * svg/SVGStyledElement.cpp:
35340        (WebCore::SVGStyledElement::title):
35341
353422011-04-18  Taiju TSUIKI  <develop@tzik.jp>
35343
35344        Reviewed by Darin Fisher.
35345
35346        Vendor-prefix requestFileSystem in FileSystem API
35347        https://bugs.webkit.org/show_bug.cgi?id=58517
35348
35349        Prefix from:
35350        - window.requestFileSystem to window.webkitRequestFileSystem
35351        - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL
35352        - window.Flags to window.WebKitFlags
35353        - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem
35354        - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL
35355        - WorkerContext.Flags to WorkerContext.WebKitFlags
35356
35357        * CMakeLists.txt:
35358        * CodeGenerators.pri:
35359        * DerivedSources.cpp:
35360        * DerivedSources.make:
35361        * GNUmakefile.list.am:
35362        * WebCore.gypi:
35363        * WebCore.pro:
35364        * WebCore.vcproj/WebCore.vcproj:
35365        * WebCore.xcodeproj/project.pbxproj:
35366        * bindings/js/JSDirectoryEntryCustom.cpp:
35367        (WebCore::JSDirectoryEntry::getFile):
35368        (WebCore::JSDirectoryEntry::getDirectory):
35369        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
35370        (WebCore::getFlags):
35371        (WebCore::JSDirectoryEntrySync::getFile):
35372        (WebCore::JSDirectoryEntrySync::getDirectory):
35373        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
35374        (WebCore::V8DirectoryEntry::getDirectoryCallback):
35375        (WebCore::V8DirectoryEntry::getFileCallback):
35376        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
35377        (WebCore::getFlags):
35378        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
35379        (WebCore::V8DirectoryEntrySync::getFileCallback):
35380        * fileapi/DOMFileSystemBase.cpp:
35381        (WebCore::DOMFileSystemBase::getFile):
35382        (WebCore::DOMFileSystemBase::getDirectory):
35383        * fileapi/DOMFileSystemBase.h:
35384        * fileapi/DirectoryEntry.cpp:
35385        (WebCore::DirectoryEntry::getFile):
35386        (WebCore::DirectoryEntry::getDirectory):
35387        * fileapi/DirectoryEntry.h:
35388        * fileapi/DirectoryEntry.idl:
35389        * fileapi/DirectoryEntrySync.cpp:
35390        (WebCore::DirectoryEntrySync::getFile):
35391        (WebCore::DirectoryEntrySync::getDirectory):
35392        * fileapi/DirectoryEntrySync.h:
35393        * fileapi/DirectoryEntrySync.idl:
35394        * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h.
35395        (WebCore::WebKitFlags::create):
35396        (WebCore::WebKitFlags::isCreate):
35397        (WebCore::WebKitFlags::setCreate):
35398        (WebCore::WebKitFlags::isExclusive):
35399        (WebCore::WebKitFlags::setExclusive):
35400        (WebCore::WebKitFlags::WebKitFlags):
35401        * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl.
35402        * page/DOMWindow.cpp:
35403        (WebCore::DOMWindow::webkitRequestFileSystem):
35404        (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
35405        * page/DOMWindow.h:
35406        * page/DOMWindow.idl:
35407        * workers/WorkerContext.cpp:
35408        (WebCore::WorkerContext::webkitRequestFileSystem):
35409        (WebCore::WorkerContext::webkitRequestFileSystemSync):
35410        (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
35411        (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
35412        * workers/WorkerContext.h:
35413        * workers/WorkerContext.idl:
35414
354152011-04-18  Steve Lacey  <sjl@chromium.org>
35416
35417        Reviewed by Dimitri Glazkov.
35418
35419        Decouple media controls usage from implementation.
35420        This allows each port to implement thier own controls in a different
35421        manner to the default webkit implementation.
35422
35423        Convert media controls hooks to a client interface
35424        https://bugs.webkit.org/show_bug.cgi?id=58346
35425
35426        No new tests as there is no functional change.
35427
35428        * Android.mk:
35429        * CMakeLists.txt:
35430        * GNUmakefile.list.am:
35431        * WebCore.gypi:
35432        * WebCore.pro:
35433        * WebCore.vcproj/WebCore.vcproj:
35434        * WebCore.xcodeproj/project.pbxproj:
35435        * html/HTMLMediaElement.cpp:
35436        (WebCore::HTMLMediaElement::mediaControls):
35437        (WebCore::HTMLMediaElement::ensureMediaControls):
35438        (WebCore::HTMLMediaElement::preDispatchEventHandler):
35439        * html/HTMLMediaElement.h:
35440        * html/shadow/MediaControlElements.cpp:
35441        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
35442        (WebCore::MediaControlPanelMuteButtonElement::create):
35443        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
35444        (WebCore::MediaControlTimelineElement::create):
35445        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
35446        (WebCore::MediaControlFullscreenButtonElement::create):
35447        * html/shadow/MediaControlElements.h:
35448        * html/shadow/MediaControlRootElement.cpp:
35449        (WebCore::MediaControlRootElement::MediaControlRootElement):
35450        (WebCore::MediaControls::create):
35451        * html/shadow/MediaControlRootElement.h:
35452        * html/shadow/MediaControls.cpp: Added.
35453        (WebCore::MediaControls::MediaControls):
35454        * html/shadow/MediaControls.h: Added.
35455        (WebCore::MediaControls::~MediaControls):
35456
354572011-04-18  Pascal Massimino  <pascal.massimino@gmail.com>
35458
35459        Reviewed by Adam Barth.
35460
35461        Add incremental decoding to WebP decoder
35462        https://bugs.webkit.org/show_bug.cgi?id=58851
35463
35464        No new tests, as it's not possible for the layout test framework to
35465        force the decoders to decode incrementally.
35466
35467        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
35468        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
35469        (WebCore::WEBPImageDecoder::decode):
35470        * platform/image-decoders/webp/WEBPImageDecoder.h:
35471
354722011-04-18  Daniel Bates  <dbates@rim.com>
35473
35474        Reviewed by Adam Roben.
35475
35476        With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
35477        pressing-and-holding another mouse button
35478        https://bugs.webkit.org/show_bug.cgi?id=58700
35479
35480        Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
35481        while pressing and holding a mouse button B, where A != B. This issue only affects builds
35482        that enable PAN_SCROLLING.
35483
35484        On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
35485        the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
35486        should only stop the autoscroll timer.
35487
35488        Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
35489
35490        * page/EventHandler.cpp:
35491        (WebCore::EventHandler::handleMousePressEvent):
35492
354932011-04-18  Jon Lee  <jonlee@apple.com>
35494
35495        Reviewed by Maciej Stachowiak.
35496
35497        With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable
35498        https://bugs.webkit.org/show_bug.cgi?id=58617
35499        <rdar://problem/9048012>
35500
35501        * rendering/RenderLayer.cpp:
35502        (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders
35503
355042011-04-18  Jon Lee  <jonlee@apple.com>
35505
35506        Reviewed by Maciej Stachowiak.
35507
35508        Selected item background in list box gets rendered on top of overlay scrollbar knob (58824)
35509        https://bugs.webkit.org/show_bug.cgi?id=58824
35510        <rdar://problem/9292680>
35511
35512        * rendering/RenderListBox.cpp:
35513        (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars
35514
355152011-04-18  John Bauman  <jbauman@chromium.org>
35516
35517        Reviewed by Kenneth Russell.
35518
35519        Don't cast BitmapImageSingleFrameSkia to BitmapImage
35520        https://bugs.webkit.org/show_bug.cgi?id=58821
35521
35522        BitmapImageSingleFrameSkia has isBitmap return true, but
35523        can't be cast to a BitmapImage. Instead of using BitmapImage,
35524        use isOpaque from SkBitmap to determine if the image has alpha.
35525
35526        No new tests.
35527
35528        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
35529        (WebCore::GraphicsContext3D::getImageData):
35530
355312011-04-18  Jessie Berlin  <jberlin@apple.com>
35532
35533        Reviewed by Steve Falkenburg.
35534
35535        If deleting the StorageTracker.db file fails, local storage is left in a strange state.
35536        https://bugs.webkit.org/show_bug.cgi?id=58805
35537
35538        * storage/StorageTracker.cpp:
35539        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
35540        When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin.
35541        deleteOrigin itself must be called to update the data structures that syncDeleteOrigin
35542        depends on and to prevent clashes between a theoretical web page editing local storage
35543        at the same time this method is called.
35544        (WebCore::StorageTracker::syncDeleteAllOrigins):
35545        If it is not possible to delete the StorageTracker.db file, empty it.
35546        (WebCore::StorageTracker::deleteOriginOnMainThread):
35547        Wrapper for deleteOrigin.
35548        * storage/StorageTracker.h:
35549
355502011-04-18  Geoffrey Garen  <ggaren@apple.com>
35551
35552        Build fix.
35553
35554        Added back missing #include.
35555
35556        * bindings/js/DOMWrapperWorld.cpp:
35557
355582011-04-18  Enrica Casucci  <enrica@apple.com>
35559
35560        Reviewed by Maciej Stachowiak.
35561
35562        Dropping a file in a WKView (WebKit2) doesn't load the file.
35563        https://bugs.webkit.org/show_bug.cgi?id=58842
35564        <rdar://problem/8514409>
35565        
35566        The URL string for the file contains an extra %00 at the end
35567        that causes the network framework to fail to load the file.
35568        
35569        * platform/win/ClipboardUtilitiesWin.cpp:
35570        (WebCore::getURL):
35571
355722011-04-18  Geoffrey Garen  <ggaren@apple.com>
35573
35574        Discovered and rubber-stamped by Stephanie Lewis.
35575
35576        Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990>
35577
35578        * bindings/js/DOMWrapperWorld.cpp:
35579        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
35580        (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our
35581        window shells when clearing / destroying ourselves. r83990 removed this
35582        behavior for documents since there are no per-document maps anymore,
35583        but removing this behavior for window shells too was a typo.
35584
355852011-04-18  Geoffrey Garen  <ggaren@apple.com>
35586
35587        Reviewed by Oliver Hunt.
35588
35589        Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps
35590        https://bugs.webkit.org/show_bug.cgi?id=58828
35591
35592        * WebCore.exp.in: Blah.
35593
35594        * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership
35595        to JSNodeCustom, where other custom JSNode-related code goes.
35596
35597        (WebCore::JSDOMWrapperOwner::finalize):
35598        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
35599        * bindings/js/DOMWrapperWorld.h:
35600        (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner):
35601        (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner
35602        to JSDOMWrapperOwner, to match the name of JSDOMWrapper.
35603
35604        * bindings/js/JSArrayBufferViewHelper.h:
35605        (WebCore::toJSArrayBufferView):
35606        * bindings/js/JSCSSRuleCustom.cpp:
35607        (WebCore::toJS):
35608        * bindings/js/JSCSSValueCustom.cpp:
35609        (WebCore::toJS):
35610        * bindings/js/JSCanvasRenderingContextCustom.cpp:
35611        (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper-
35612        related functions, since there is no meaningful distinction between the
35613        two anymore -- they both use the same extensible interface.
35614        
35615        * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions.
35616
35617        * bindings/js/JSDOMBinding.h:
35618        (WebCore::getInlineCachedWrapper):
35619        (WebCore::setInlineCachedWrapper):
35620        (WebCore::clearInlineCachedWrapper):
35621        (WebCore::wrapperOwner):
35622        (WebCore::wrapperContext):
35623        (WebCore::getCachedWrapper):
35624        (WebCore::cacheWrapper):
35625        (WebCore::uncacheWrapper):
35626        (WebCore::createWrapper):
35627        (WebCore::wrap): Created a generic, extensible mechanism for creating,
35628        caching, retrieving, marking, and destroying DOM wrappers. This eliminates
35629        the difference between DOM object wrappers and DOM node wrappers, and
35630        lays the groundwork for getting rid of MarkStack::deprecatedAppend usage
35631        for marking the remainder of our DOM objects.
35632        
35633        * bindings/js/JSDOMWindowCustom.cpp:
35634        (WebCore::JSDOMWindow::history):
35635        (WebCore::JSDOMWindow::location):
35636        * bindings/js/JSDataViewCustom.cpp:
35637        (WebCore::toJS):
35638        * bindings/js/JSDocumentCustom.cpp:
35639        (WebCore::JSDocument::location):
35640        (WebCore::toJS):
35641        * bindings/js/JSElementCustom.cpp:
35642        (WebCore::toJSNewlyCreated):
35643        * bindings/js/JSEventCustom.cpp:
35644        (WebCore::toJS):
35645        * bindings/js/JSHTMLCollectionCustom.cpp:
35646        (WebCore::toJS):
35647        * bindings/js/JSImageDataCustom.cpp:
35648        (WebCore::toJS): Updated for renames mentioned above.
35649
35650        * bindings/js/JSNamedNodeMapCustom.cpp:
35651        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
35652        (WebCore::JSNamedNodeMapOwner::finalize):
35653        (WebCore::wrapperOwner):
35654        (WebCore::wrapperContext):
35655        (WebCore::JSNamedNodeMap::markChildren):
35656        (WebCore::toJS): Updated to use our new interface for customizing wrapper
35657        lifetime management through function overloading without using
35658        MarkStack::deprecatedAppend.
35659
35660        * bindings/js/JSNodeCustom.cpp:
35661        (WebCore::isObservable):
35662        (WebCore::isReachableFromDOM):
35663        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
35664        (WebCore::JSNodeOwner::finalize):
35665        (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding
35666        to here. Removed special case marking code for JSNamedNodeMap because
35667        JSNamedNodeMap now knows how to maintain its own lifetime invariants.
35668
35669        * bindings/js/JSNodeCustom.h:
35670        (WebCore::wrapperOwner):
35671        (WebCore::wrapperContext):
35672        (WebCore::getInlineCachedWrapper):
35673        (WebCore::setInlineCachedWrapper):
35674        (WebCore::clearInlineCachedWrapper):
35675        (WebCore::toJS): Updated to use our new interface for customizing wrapper
35676        lifetime management through function overloading without using
35677        MarkStack::deprecatedAppend or special-case code for nodes.
35678        
35679        * bindings/js/JSSVGPathSegCustom.cpp:
35680        (WebCore::toJS):
35681        * bindings/js/JSStyleSheetCustom.cpp:
35682        (WebCore::toJS): Updated for renames mentioned above.
35683
35684        * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for
35685        renames mentioned above.
35686
35687        * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now
35688        because it needs to provide a custom WeakHandleOwner at wrapper creation time.
35689
356902011-04-18  Jessie Berlin  <jberlin@apple.com>
35691
35692        Rubber-stamped by Sam Weinig.
35693
35694        REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows.
35695        https://bugs.webkit.org/show_bug.cgi?id=58747
35696
35697        Copy the WebCore Localizable.strings file into the output directory.
35698
35699        * WebCore.vcproj/WebCoreGenerated.vcproj:
35700        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
35701        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
35702        * WebCore.vcproj/copyInspectorFiles.cmd: Removed.
35703        * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd.
35704
357052011-04-18  Robert Hogan  <robert@webkit.org>
35706
35707        Reviewed by Andreas Kling.
35708
35709        [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint
35710
35711        When scheduling a repaint for the plugin's widget, PluginViewQt
35712        needs to make sure the widget's geometry is up to date. Otherwise
35713        the paint event happens on the widget's old location.
35714
35715        https://bugs.webkit.org/show_bug.cgi?id=57179
35716
35717        Added a manual test. 
35718
35719        * manual-tests/qt/plugin-painting.html: Added.
35720        * plugins/qt/PluginViewQt.cpp:
35721        (WebCore::PluginView::updatePluginWidget):
35722        (WebCore::PluginView::invalidateRect):
35723
357242011-04-18  Oliver Hunt  <oliver@apple.com>
35725
35726        Fix Qt build
35727
35728        * bridge/qt/qt_class.cpp:
35729        (JSC::Bindings::QtClass::fallbackObject):
35730        * bridge/qt/qt_instance.cpp:
35731        (JSC::Bindings::QtInstance::removeCachedMethod):
35732        * bridge/qt/qt_instance.h:
35733
357342011-04-18  Oliver Hunt  <oliver@apple.com>
35735
35736        Reviewed by Gavin Barraclough.
35737
35738        Remove DeprecatedPtr
35739        https://bugs.webkit.org/show_bug.cgi?id=58718
35740
35741        Replace use of DeprecatedPtr<> with Global<> as ownership rules
35742        aren't obvious, have filed bug #58820 on seeing if this is safe.
35743
35744        * bridge/qt/qt_class.cpp:
35745        (JSC::Bindings::QtClass::fallbackObject):
35746        * bridge/qt/qt_instance.cpp:
35747        (JSC::Bindings::QtInstance::removeCachedMethod):
35748        (JSC::Bindings::QtInstance::markAggregate):
35749        * bridge/qt/qt_instance.h:
35750
357512011-04-14  Matthew Delaney  <mdelaney@apple.com>
35752
35753        Reviewed by Simon Fraser.
35754
35755        [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces
35756        https://bugs.webkit.org/show_bug.cgi?id=58088
35757
35758        * platform/graphics/cg/ImageBufferDataCG.cpp:
35759        (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA
35760        (WebCore::unpremultitplyScanline):
35761        (WebCore::premultitplyScanline):
35762        (WebCore::ImageBufferData::getData):
35763        (WebCore::ImageBufferData::putData):
35764
357652011-04-18  Jeff Miller  <jeffm@apple.com>
35766
35767        Reviewed by Dan Bernstein.
35768
35769        Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable
35770        https://bugs.webkit.org/show_bug.cgi?id=58811
35771
35772        * platform/win/LoggingWin.cpp:
35773        (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable.
35774
357752011-04-18  Andrew Scherkus  <scherkus@chromium.org>
35776
35777        Reviewed by Eric Seidel.
35778
35779        Reset fullscreen element reference when leaving fullscreen mode and some other cleanup.
35780
35781        https://bugs.webkit.org/show_bug.cgi?id=58719
35782
35783        Test: fullscreen/full-screen-cancel.html
35784
35785        * dom/Document.cpp:
35786        (WebCore::Document::Document): Remove m_isFullscreen.
35787        (WebCore::Document::webkitWillEnterFullScreenForElement):
35788        (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating().
35789        (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference.
35790        * dom/Document.h:
35791        (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen.
35792        (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto.
35793
357942011-04-18  Dan Bernstein  <mitz@apple.com>
35795
35796        Reviewed by Eric Seidel.
35797
35798        <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse.
35799        https://bugs.webkit.org/show_bug.cgi?id=58500
35800
35801        Test: fast/repaint/text-in-relative-positioned-inline.html
35802
35803        * rendering/RenderText.cpp:
35804        (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not
35805        the containing block’s. This matters when the containing block is outside the RenderText’s
35806        enclosing layer, as is the case here.
35807
358082011-04-15  Stephen White  <senorblanco@chromium.org>
35809
35810        Reviewed by Kenneth Russell.
35811
35812        Speed up DrawingBuffer::reset().
35813        https://bugs.webkit.org/show_bug.cgi?id=58706
35814
35815        When DrawingBuffer::reset() is called, it should not reallocate
35816        the FBOs if the size has not changed.  It should just do a glClear().
35817
35818        Covered by tests in fast/canvas and canvas/philip.
35819
35820        * platform/graphics/chromium/DrawingBufferChromium.cpp:
35821        (WebCore::DrawingBuffer::DrawingBuffer):
35822        Initialize the size to -1, -1, so the size change check will work on
35823        first reset.
35824        * platform/graphics/gpu/DrawingBuffer.cpp:
35825        (WebCore::DrawingBuffer::reset):
35826        If the size hasn't changed, don't resize the FBOs.  Just clear the
35827        relevant buffers.
35828
358292011-04-18  Pavel Feldman  <pfeldman@google.com>
35830
35831        Reviewed by Yury Semikhatsky.
35832
35833        Web Inspector: group resources by type in the resources panel.
35834        https://bugs.webkit.org/show_bug.cgi?id=58796
35835
35836        * inspector/front-end/ResourcesPanel.js:
35837        (WebInspector.ResourcesPanel.prototype._frameAdded):
35838        (WebInspector.ResourcesPanel.prototype._resourceAdded):
35839        (WebInspector.BaseStorageTreeElement):
35840        (WebInspector.BaseStorageTreeElement.prototype.onattach):
35841        (WebInspector.StorageCategoryTreeElement):
35842        (WebInspector.FrameTreeElement):
35843        (WebInspector.FrameTreeElement.prototype.setTitles):
35844        (WebInspector.FrameTreeElement.prototype.set hovered):
35845        (WebInspector.FrameTreeElement.prototype.appendResource):
35846        (WebInspector.FrameTreeElement.prototype.appendChild):
35847        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
35848        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare):
35849
358502011-04-18  Timothy Hatcher  <timothy@apple.com>
35851
35852        Make update-webkit-localizable-strings put WebKit/win strings in WebCore
35853        now that all localized strings in WebKit/win use WEB_UI_STRING.
35854
35855        https://webkit.org/b/58747
35856
35857        Reviewed by Dan Bernstein.
35858
35859        * English.lproj/Localizable.strings: Updated with strings from WebKit/win.
35860
358612011-04-15  MORITA Hajime  <morrita@google.com>
35862
35863        Reviewed by Adam Barth.
35864
35865        REGRESSION: <progress> doesn't animate if it doesn't have value
35866        https://bugs.webkit.org/show_bug.cgi?id=58693
35867
35868        The initial value of RenderProgress::m_position is accidentally same as
35869        the indeterminate value, that makes update code on updateFromElement() skipped.
35870        This change set unique invalid value for the initial value of m_position.
35871        
35872        No new tests. Testing animated bar is not possible with DRT.
35873
35874        * html/HTMLProgressElement.cpp:
35875        (WebCore::HTMLProgressElement::position):
35876        * html/HTMLProgressElement.h:
35877        * rendering/RenderProgress.cpp:
35878        (WebCore::RenderProgress::RenderProgress):
35879        (WebCore::RenderProgress::isDeterminate):
35880
358812011-04-18  MORITA Hajime  <morrita@google.com>
35882
35883        Reviewed by Eric Seidel.
35884
35885        REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
35886        https://bugs.webkit.org/show_bug.cgi?id=58791
35887        
35888        On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
35889        We should guard it again RefPtr.
35890
35891        * html/HTMLDetailsElement.cpp:
35892        (WebCore::HTMLDetailsElement::refreshMainSummary):
35893
358942011-04-18  Antti Koivisto  <antti@apple.com>
35895
35896        Reviewed by Simon Fraser.
35897
35898        CSSSelector double frees
35899        https://bugs.webkit.org/show_bug.cgi?id=56124
35900        <rdar://problem/9119036>
35901
35902        In all stacks this is occuring when the document is kept alive by the guard ref only
35903        and the node holding it is deleted.
35904
35905        As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
35906        This has a pretty good chance of fixing the actual bug. At minimum it will move the
35907        crash to an earlier, more easily traceble point.
35908
35909        No tests, crash stacks only, no idea how to reproduce.
35910
35911        * dom/Document.cpp:
35912        (WebCore::Document::removedLastRef):
35913
359142011-04-18  Alexander Pavlov  <apavlov@chromium.org>
35915
35916        Reviewed by Yury Semikhatsky.
35917
35918        Web Inspector: Backspace in the Console is broken
35919        https://bugs.webkit.org/show_bug.cgi?id=58764
35920
35921        * inspector/front-end/inspector.js:
35922        (WebInspector.documentKeyDown):
35923
359242011-04-18  Hans Wennborg  <hans@chromium.org>
35925
35926        Reviewed by Steve Block.
35927
35928        LevelDB backend for IndexedDB
35929        https://bugs.webkit.org/show_bug.cgi?id=57372
35930
35931        Only available behind a run-time flag. Covered by existing layout
35932        tests.
35933
35934        * Android.mk:
35935        * CMakeLists.txt:
35936        * GNUmakefile.am:
35937        * GNUmakefile.list.am:
35938        * WebCore.gyp/WebCore.gyp:
35939        * WebCore.gypi:
35940        * WebCore.pri:
35941        * WebCore.pro:
35942        * WebCore.xcodeproj/project.pbxproj:
35943        * platform/leveldb/LevelDBComparator.h: Added.
35944        (WebCore::LevelDBComparator::~LevelDBComparator):
35945        * platform/leveldb/LevelDBDatabase.cpp: Added.
35946        (WebCore::makeSlice):
35947        (WebCore::makeLevelDBSlice):
35948        (WebCore::makeVector):
35949        (WebCore::LevelDBDatabase::LevelDBDatabase):
35950        (WebCore::LevelDBDatabase::~LevelDBDatabase):
35951        (WebCore::LevelDBDatabase::open):
35952        (WebCore::LevelDBDatabase::put):
35953        (WebCore::LevelDBDatabase::remove):
35954        (WebCore::LevelDBDatabase::get):
35955        (WebCore::LevelDBDatabase::newIterator):
35956        * platform/leveldb/LevelDBDatabase.h: Added.
35957        * platform/leveldb/LevelDBIterator.cpp: Added.
35958        (WebCore::LevelDBIterator::~LevelDBIterator):
35959        (WebCore::LevelDBIterator::LevelDBIterator):
35960        (WebCore::makeSlice):
35961        (WebCore::makeLevelDBSlice):
35962        (WebCore::LevelDBIterator::isValid):
35963        (WebCore::LevelDBIterator::seekToLast):
35964        (WebCore::LevelDBIterator::seek):
35965        (WebCore::LevelDBIterator::next):
35966        (WebCore::LevelDBIterator::prev):
35967        (WebCore::LevelDBIterator::key):
35968        (WebCore::LevelDBIterator::value):
35969        * platform/leveldb/LevelDBIterator.h: Added.
35970        * platform/leveldb/LevelDBSlice.h: Added.
35971        (WebCore::LevelDBSlice::LevelDBSlice):
35972        (WebCore::LevelDBSlice::~LevelDBSlice):
35973        (WebCore::LevelDBSlice::begin):
35974        (WebCore::LevelDBSlice::end):
35975        * storage/IDBLevelDBBackingStore.cpp:
35976        (WebCore::encodeByte):
35977        (WebCore::maxIDBKey):
35978        (WebCore::minIDBKey):
35979        (WebCore::encodeInt):
35980        (WebCore::decodeInt):
35981        (WebCore::encodeVarInt):
35982        (WebCore::decodeVarInt):
35983        (WebCore::encodeString):
35984        (WebCore::decodeString):
35985        (WebCore::encodeStringWithLength):
35986        (WebCore::decodeStringWithLength):
35987        (WebCore::encodeDouble):
35988        (WebCore::decodeDouble):
35989        (WebCore::encodeIDBKey):
35990        (WebCore::decodeIDBKey):
35991        (WebCore::extractEncodedIDBKey):
35992        (WebCore::compareEncodedIDBKeys):
35993        (WebCore::getInt):
35994        (WebCore::putInt):
35995        (WebCore::getString):
35996        (WebCore::putString):
35997        (WebCore::KeyPrefix::SchemaVersionKey::encode):
35998        (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
35999        (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
36000        (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
36001        (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
36002        (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
36003        (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
36004        (WebCore::KeyPrefix::DatabaseNameKey::decode):
36005        (WebCore::KeyPrefix::DatabaseNameKey::encode):
36006        (WebCore::KeyPrefix::DatabaseNameKey::origin):
36007        (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
36008        (WebCore::KeyPrefix::DatabaseNameKey::compare):
36009        (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
36010        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
36011        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
36012        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
36013        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
36014        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
36015        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
36016        (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
36017        (WebCore::KeyPrefix::IndexMetaDataKey::decode):
36018        (WebCore::KeyPrefix::IndexMetaDataKey::encode):
36019        (WebCore::KeyPrefix::IndexMetaDataKey::compare):
36020        (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
36021        (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
36022        (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
36023        (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
36024        (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
36025        (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
36026        (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
36027        (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
36028        (WebCore::KeyPrefix::IndexFreeListKey::decode):
36029        (WebCore::KeyPrefix::IndexFreeListKey::encode):
36030        (WebCore::KeyPrefix::IndexFreeListKey::compare):
36031        (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
36032        (WebCore::KeyPrefix::IndexFreeListKey::indexId):
36033        (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
36034        (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
36035        (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
36036        (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
36037        (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
36038        (WebCore::KeyPrefix::IndexNamesKey::decode):
36039        (WebCore::KeyPrefix::IndexNamesKey::encode):
36040        (WebCore::KeyPrefix::IndexNamesKey::compare):
36041        (WebCore::KeyPrefix::IndexNamesKey::indexName):
36042        (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
36043        (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
36044        (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
36045        (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
36046        (WebCore::KeyPrefix::ExistsEntryKey::decode):
36047        (WebCore::KeyPrefix::ExistsEntryKey::encode):
36048        (WebCore::KeyPrefix::ExistsEntryKey::compare):
36049        (WebCore::KeyPrefix::ExistsEntryKey::userKey):
36050        (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
36051        (WebCore::KeyPrefix::IndexDataKey::decode):
36052        (WebCore::KeyPrefix::IndexDataKey::encode):
36053        (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
36054        (WebCore::KeyPrefix::IndexDataKey::compare):
36055        (WebCore::KeyPrefix::IndexDataKey::databaseId):
36056        (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
36057        (WebCore::KeyPrefix::IndexDataKey::indexId):
36058        (WebCore::KeyPrefix::IndexDataKey::userKey):
36059        (WebCore::KeyPrefix::realCompare):
36060        (WebCore::KeyPrefix::compareKeys):
36061        (WebCore::KeyPrefix::compareIndexKeys):
36062        (WebCore::KeyPrefix::Comparator::compare):
36063        (WebCore::KeyPrefix::Comparator::name):
36064        (WebCore::setUpMetadata):
36065        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
36066        (WebCore::IDBLevelDBBackingStore::open):
36067        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
36068        (WebCore::getNewDatabaseId):
36069        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
36070        (WebCore::IDBLevelDBBackingStore::getObjectStores):
36071        (WebCore::getNewObjectStoreId):
36072        (WebCore::IDBLevelDBBackingStore::createObjectStore):
36073        (WebCore::deleteRange):
36074        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
36075        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
36076        (WebCore::getNewVersionNumber):
36077        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
36078        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
36079        (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
36080        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
36081        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
36082        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
36083        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
36084        (WebCore::IDBLevelDBBackingStore::getIndexes):
36085        (WebCore::getNewIndexId):
36086        (WebCore::IDBLevelDBBackingStore::createIndex):
36087        (WebCore::IDBLevelDBBackingStore::deleteIndex):
36088        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
36089        (WebCore::findGreatestKeyLessThan):
36090        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
36091        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
36092        (WebCore::versionExists):
36093        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
36094        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
36095        (WebCore::findLastIndexKeyEqualTo):
36096        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
36097        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
36098        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
36099        (WebCore::IDBLevelDBBackingStore::createTransaction):
36100        * storage/IDBLevelDBBackingStore.h:
36101
361022011-04-18  Pavel Feldman  <pfeldman@google.com>
36103
36104        Reviewed by Yury Semikhatsky.
36105
36106        Web Inspector: add test for CSS-resource binding.
36107        https://bugs.webkit.org/show_bug.cgi?id=58786
36108
36109        Test: inspector/styles/styles-history.html
36110
36111        * inspector/InspectorCSSAgent.cpp:
36112        (WebCore::InspectorCSSAgent::setPropertyText):
36113        (WebCore::InspectorCSSAgent::toggleProperty):
36114        * inspector/InspectorStyleSheet.cpp:
36115        (WebCore::InspectorStyle::setPropertyText):
36116        (WebCore::InspectorStyle::toggleProperty):
36117        (WebCore::InspectorStyleSheet::setPropertyText):
36118        (WebCore::InspectorStyleSheet::toggleProperty):
36119        * inspector/InspectorStyleSheet.h:
36120        * inspector/front-end/CSSStyleModel.js:
36121        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
36122        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
36123        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
36124        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
36125        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
36126        (WebInspector.CSSProperty.prototype.setText.callback):
36127        (WebInspector.CSSProperty.prototype.setText):
36128
361292011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
36130
36131        Unreviewed, rolling out r83996.
36132        http://trac.webkit.org/changeset/83996
36133        https://bugs.webkit.org/show_bug.cgi?id=58790
36134
36135        layout test editing/selection/move-by-word-visually.html is
36136        failing (Requested by jknotten on #webkit).
36137
36138        * editing/visible_units.cpp:
36139        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
36140        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
36141        (WebCore::previousWordBreakInBox):
36142        (WebCore::leftWordBoundary):
36143        (WebCore::rightWordBoundary):
36144        (WebCore::leftWordPosition):
36145        (WebCore::rightWordPosition):
36146
361472011-04-18  Adam Bergkvist  <adam.bergkvist@ericsson.com>
36148
36149        Reviewed by Daniel Bates.
36150
36151        Modify make_names.pl to not include conditional includes unconditionally
36152        https://bugs.webkit.org/show_bug.cgi?id=53672
36153
36154        Fixed conditional includes being unconditionally included.
36155
36156        No new tests (no change in functionality)
36157
36158        * dom/make_names.pl:
36159            - Modified printJSElementIncludes() to only print unconditional element includes.
36160            - Modified printElementIncludes() to only print unconditional element includes.
36161            - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
36162
361632011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
36164
36165        Unreviewed, rolling out r83803.
36166        http://trac.webkit.org/changeset/83803
36167        https://bugs.webkit.org/show_bug.cgi?id=58782
36168
36169        Caused focus rings to appear in youtube videos (Requested by
36170        inferno-sec on #webkit).
36171
36172        * rendering/RenderWidget.cpp:
36173        (WebCore::RenderWidget::paint):
36174
361752011-04-18  Alexander Pavlov  <apavlov@chromium.org>
36176
36177        Reviewed by Pavel Feldman.
36178
36179        Web Inspector: Need a workaround for bug 58422
36180        https://bugs.webkit.org/show_bug.cgi?id=58780
36181
36182        Instead of the A:before content, the link text is displayed as the A tag content.
36183
36184        * inspector/front-end/StylesSidebarPane.js:
36185        (WebInspector.StylePropertiesSection.linkifyUncopyable):
36186        (WebInspector.StylePropertiesSection):
36187        * inspector/front-end/inspector.css:
36188
361892011-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
36190
36191        Unreviewed. Fix WebKit2 GTK build after 82465.
36192
36193        * platform/gtk/LocalizedStringsGtk.cpp:
36194        (WebCore::localizedString):
36195
361962011-04-18  Andrey Adaikin  <aandrey@google.com>
36197
36198        Reviewed by Yury Semikhatsky.
36199
36200        Web Inspector: TAB should not move focus from the text editor while live editing
36201        https://bugs.webkit.org/show_bug.cgi?id=58537
36202
36203        * inspector/front-end/TextViewer.js:
36204        (WebInspector.TextViewer.prototype._registerShortcuts):
36205        (WebInspector.TextViewer.prototype._cancelEditing):
36206        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
36207        (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
36208        (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
36209        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
36210        (WebInspector.TextEditorMainPanel.prototype._setText):
36211
362122011-04-18  Alexander Pavlov  <apavlov@chromium.org>
36213
36214        Reviewed by Yury Semikhatsky.
36215
36216        Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
36217        https://bugs.webkit.org/show_bug.cgi?id=58551
36218
36219        Test: inspector/styles/metrics-box-sizing.html
36220
36221        * inspector/front-end/MetricsSidebarPane.js:
36222        (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
36223        (WebInspector.MetricsSidebarPane.prototype._getBox):
36224        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
36225        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
36226        (WebInspector.MetricsSidebarPane.prototype._update):
36227        (WebInspector.MetricsSidebarPane.prototype.startEditing):
36228        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
36229        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
36230
362312011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
36232
36233        Reviewed by Yury Semikhatsky.
36234
36235        Web Inspector: Database agent stops to propagate it's events after navigation.
36236        https://bugs.webkit.org/show_bug.cgi?id=58776
36237
36238        * inspector/InspectorAgent.cpp:
36239        (WebCore::InspectorAgent::InspectorAgent):
36240        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
36241        * inspector/InspectorDatabaseAgent.cpp:
36242        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
36243        (WebCore::InspectorDatabaseAgent::clearFrontend):
36244        (WebCore::InspectorDatabaseAgent::enable):
36245        (WebCore::InspectorDatabaseAgent::disable):
36246        (WebCore::InspectorDatabaseAgent::restore):
36247        * inspector/InspectorDatabaseAgent.h:
36248        (WebCore::InspectorDatabaseAgent::create):
36249
362502011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
36251
36252        Unreviewed, rolling out r83968.
36253        http://trac.webkit.org/changeset/83968
36254        https://bugs.webkit.org/show_bug.cgi?id=58769
36255
36256        Breaks Backspace in Web Inspector console (Requested by
36257        apavlov on #webkit).
36258
36259        * inspector/front-end/inspector.js:
36260        (WebInspector.documentKeyDown):
36261
362622011-04-15  Yury Semikhatsky  <yurys@chromium.org>
36263
36264        Reviewed by Pavel Feldman.
36265
36266        Web Inspector: introduce WorkerInspectorController
36267        https://bugs.webkit.org/show_bug.cgi?id=58668
36268
36269        WorkerInspectorController will be owned by WorkerContext and will hold all inspector
36270        agents and will also manage connection to the inspector frontend.
36271
36272        * CMakeLists.txt:
36273        * GNUmakefile.list.am:
36274        * WebCore.gypi:
36275        * WebCore.pro:
36276        * WebCore.vcproj/WebCore.vcproj:
36277        * WebCore.xcodeproj/project.pbxproj:
36278        * bindings/js/ScriptState.cpp:
36279        (WebCore::scriptStateFromWorkerContext):
36280        * bindings/js/ScriptState.h:
36281        * bindings/v8/ScriptState.cpp:
36282        (WebCore::scriptStateFromWorkerContext):
36283        * bindings/v8/ScriptState.h:
36284        * inspector/InspectorState.cpp:
36285        (WebCore::InspectorState::updateCookie):
36286        * inspector/WorkerInspectorController.cpp: Added.
36287        (WebCore::WorkerInspectorController::WorkerInspectorController):
36288        (WebCore::WorkerInspectorController::~WorkerInspectorController):
36289        (WebCore::WorkerInspectorController::connectFrontend):
36290        (WebCore::WorkerInspectorController::disconnectFrontend):
36291        (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
36292        * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
36293        * workers/WorkerContext.cpp:
36294        (WebCore::WorkerContext::WorkerContext):
36295        * workers/WorkerContext.h:
36296        (WebCore::WorkerContext::workerInspectorController):
36297
362982011-04-17  Thierry Reding  <thierry.reding@avionic-design.de>
36299
36300        Reviewed by Adam Barth.
36301
36302        Fix build with GCC 4.6.
36303
36304        * dom/make_names.pl: Execute preprocessor without the -P option. The
36305        preprocessor in GCC 4.6 eats empty lines, effectively breaking the
36306        parsing performed by this script. Dropping the -P option when invoking
36307        the preprocessor keeps the empty lines but as a side-effect also adds
36308        additional linemarkers.
36309
36310        From the cpp manpage:
36311
36312          -P  Inhibit generation of linemarkers in the output from the
36313              preprocessor. This might be useful when running the preprocessor
36314              on something that is not C code, and will be sent to a program
36315              which might be confused by the linemarkers.
36316
36317        The linemarkers are not problematic, however, because the script
36318        properly handles them by ignoring all lines starting with a #.
36319
363202011-04-17  David Kilzer  <ddkilzer@apple.com>
36321
36322        <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
36323        <rdar://problem/9268729>
36324
36325        Reviewed by Dan Bernstein.
36326
36327        This replaces support for the WebKitEnableHTTPPipelining user
36328        default with methods on the WebCore::ResourceRequest class in
36329        WebCore, the WebView class in WebKit1, and the WebContext class
36330        in WebKit2.  It also removes support for the
36331        WebKitForceHTTPPipeliningPriorityHigh user default which was not
36332        needed.
36333
36334        Run these commands if you set the user defaults previously,
36335        replacing "BUNDLE.ID" with your application's bundle ID:
36336
36337            defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
36338            defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
36339
36340        * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
36341        and ResourceRequest::setHTTPPipeliningEnabled().
36342
36343        * platform/network/ResourceRequestBase.h:
36344        (WebCore::isHTTPPipeliningEnabled): Removed declaration.
36345        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
36346
36347        * platform/network/cf/ResourceRequest.h:
36348        (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
36349        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
36350        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
36351
36352        * platform/network/cf/ResourceRequestCFNet.cpp:
36353        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
36354        (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
36355        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
36356        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
36357        to use ResourceRequest::httpPipeliningEnabled().
36358        (WebCore::readBooleanPreference): Removed.
36359        (WebCore::isHTTPPipeliningEnabled): Removed.
36360        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
36361
36362        * platform/network/mac/ResourceRequestMac.mm:
36363        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
36364        use ResourceRequest::httpPipeliningEnabled().  Removed check for
36365        shouldForceHTTPPipeliningPriorityHigh().
36366        (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
36367
363682011-04-17  Dan Bernstein  <mitz@apple.com>
36369
36370        Reviewed by Maciej Stachowiak.
36371
36372        REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
36373        https://bugs.webkit.org/show_bug.cgi?id=58736
36374
36375        * rendering/RenderBlockLineLayout.cpp:
36376        (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
36377        that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
36378        always dirties the line after the last one in the range.
36379
363802011-04-17  Patrick Gansterer  <paroga@webkit.org>
36381
36382        Unreviewed. Add missing include to fix build without precompiled header.
36383
36384        * rendering/RenderMediaControls.cpp:
36385
363862011-04-17  Daniel Bates  <dbates@webkit.org>
36387
36388        Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
36389        (https://bugs.webkit.org/show_bug.cgi?id=57842).
36390
36391        * loader/cache/CachedResourceLoader.cpp:
36392        (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
36393
363942011-04-17  Patrick Gansterer  <paroga@webkit.org>
36395
36396        Reviewed by Eric Seidel.
36397
36398        Remove pthread dependency of GCController
36399        https://bugs.webkit.org/show_bug.cgi?id=54833
36400
36401        * bindings/js/GCController.cpp:
36402        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
36403
364042011-04-17  Gavin Peters  <gavinp@chromium.org>
36405
36406        Reviewed by Adam Barth.
36407
36408        Add support for link rel type "subresource"
36409        https://bugs.webkit.org/show_bug.cgi?id=57842
36410
36411        Link rel=prefetch is great for cache warming for resources on
36412        subsequent pages, but it launches requests at too low a priority
36413        to use for subresources of the current page.
36414
36415        Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
36416        is implemented, a rel type that launches requests at an higher
36417        priority is going to be very useful.  This rel type is in the
36418        HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions .  An
36419        expected use case will be for servers to provide subresource hints
36420        in link headers, which will allow servers to help make the web
36421        faster.
36422
36423        This feature continues my implementation of the Link header, which
36424        we've talked about in WebKit-dev in
36425        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
36426
36427        Tests: fast/dom/HTMLLinkElement/subresource.html
36428               http/tests/misc/link-rel-prefetch-and-subresource.html
36429
36430        * html/HTMLLinkElement.cpp:
36431        (WebCore::HTMLLinkElement::~HTMLLinkElement):
36432        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
36433        (WebCore::HTMLLinkElement::process):
36434        (WebCore::HTMLLinkElement::onloadTimerFired):
36435        (WebCore::HTMLLinkElement::notifyFinished):
36436        * html/HTMLLinkElement.h:
36437        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
36438        * loader/cache/CachedResource.cpp:
36439        (WebCore::defaultPriorityForResourceType):
36440        * loader/cache/CachedResource.h:
36441        (WebCore::CachedResource::isLinkResource):
36442        * loader/cache/CachedResourceLoader.cpp:
36443        (WebCore::createResource):
36444        (WebCore::CachedResourceLoader::requestLinkResource):
36445        (WebCore::CachedResourceLoader::canRequest):
36446        (WebCore::CachedResourceLoader::incrementRequestCount):
36447        (WebCore::CachedResourceLoader::decrementRequestCount):
36448        * loader/cache/CachedResourceLoader.h:
36449        * loader/cache/CachedResourceRequest.cpp:
36450        (WebCore::cachedResourceTypeToTargetType):
36451        (WebCore::CachedResourceRequest::load):
36452
364532011-04-17  Dan Bernstein  <mitz@apple.com>
36454
36455        Reviewed by Joseph Pecoraro.
36456
36457        <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
36458        https://bugs.webkit.org/show_bug.cgi?id=58745
36459
36460        This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
36461        which was fixed in r83514.
36462
36463        * rendering/RenderBlockLineLayout.cpp:
36464        (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
36465        variable so named, not the top layout overflow.
36466
364672011-04-17  Geoffrey Garen  <ggaren@apple.com>
36468
36469        Strongly suggested, but not necessarily reviewed, by
36470        Sam Weinig and Maciej Stachowiak.
36471
36472        Renamed DOMObject* => JSDOMWrapper*.
36473
36474        * bindings/js/DOMWrapperWorld.cpp:
36475        (WebCore::isObservable):
36476        (WebCore::DOMObjectHandleOwner::finalize):
36477        * bindings/js/DOMWrapperWorld.h:
36478        * bindings/js/JSArrayBufferViewHelper.h:
36479        (WebCore::toJSArrayBufferView):
36480        * bindings/js/JSCSSRuleCustom.cpp:
36481        (WebCore::toJS):
36482        * bindings/js/JSCSSValueCustom.cpp:
36483        (WebCore::toJS):
36484        * bindings/js/JSDOMBinding.h:
36485        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
36486        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
36487        (WebCore::DOMConstructorObject::DOMConstructorObject):
36488        (WebCore::createDOMObjectWrapper):
36489        (WebCore::getDOMObjectWrapper):
36490        * bindings/js/JSDOMWrapper.cpp:
36491        (WebCore::JSDOMWrapper::~JSDOMWrapper):
36492        * bindings/js/JSDOMWrapper.h:
36493        (WebCore::JSDOMWrapper::JSDOMWrapper):
36494        * bindings/js/JSDocumentCustom.cpp:
36495        (WebCore::JSDocument::location):
36496        (WebCore::toJS):
36497        * bindings/js/JSEventCustom.cpp:
36498        (WebCore::toJS):
36499        * bindings/js/JSHTMLCollectionCustom.cpp:
36500        (WebCore::toJS):
36501        * bindings/js/JSImageDataCustom.cpp:
36502        (WebCore::toJS):
36503        * bindings/js/JSSVGPathSegCustom.cpp:
36504        (WebCore::toJS):
36505        * bindings/js/JSStyleSheetCustom.cpp:
36506        (WebCore::toJS):
36507        * bindings/js/ScriptWrappable.h:
36508        (WebCore::ScriptWrappable::wrapper):
36509        (WebCore::ScriptWrappable::setWrapper):
36510        * bindings/scripts/CodeGeneratorJS.pm:
36511
365122011-04-17  Patrick Gansterer  <paroga@webkit.org>
36513
36514        Reviewed by Adam Barth.
36515
36516        Rename PLATFORM(CA) to USE(CA)
36517        https://bugs.webkit.org/show_bug.cgi?id=58742
36518
36519        * config.h:
36520        * platform/graphics/ca/TransformationMatrixCA.cpp:
36521        * platform/graphics/cg/ImageBufferDataCG.h:
36522        * platform/graphics/transforms/TransformationMatrix.h:
36523        * platform/mac/WebCoreSystemInterface.h:
36524        * rendering/RenderLayerBacking.cpp:
36525        (WebCore::RenderLayerBacking::containsPaintedContent):
36526        * rendering/RenderLayerCompositor.cpp:
36527        (WebCore::RenderLayerCompositor::updateBacking):
36528
365292011-04-17  Young Han Lee  <joybro@company100.net>
36530
36531        Reviewed by Benjamin Poulain.
36532
36533        [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
36534        https://bugs.webkit.org/show_bug.cgi?id=58739
36535
36536        gInVertexAttributeIndex is a constant variable to point the location of
36537        "InVertex" attribute of the vertex shaders.
36538
36539        * platform/graphics/opengl/TextureMapperGL.cpp:
36540        (WebCore::TextureMapperGL::drawTexture):
36541        (WebCore::TextureMapperGL::paintToTarget):
36542
365432011-04-17  Kinuko Yasuda  <kinuko@chromium.org>
36544
36545        Not reviewed: Fix copyright (I had submitted the file with wrong
36546        copyright line).
36547
36548        * storage/StorageInfo.idl:
36549
365502011-04-17  Patrick Gansterer  <paroga@webkit.org>
36551
36552        Reviewed by Adam Barth.
36553
36554        Rename PLATFORM(CG) to USE(CG)
36555        https://bugs.webkit.org/show_bug.cgi?id=58729
36556
36557        * config.h:
36558        * html/HTMLCanvasElement.cpp:
36559        (WebCore::HTMLCanvasElement::toDataURL):
36560        * html/HTMLCanvasElement.h:
36561        * html/canvas/CanvasRenderingContext2D.cpp:
36562        (WebCore::CanvasRenderingContext2D::setShadow):
36563        (WebCore::CanvasRenderingContext2D::drawTextInternal):
36564        * html/canvas/CanvasRenderingContext2D.h:
36565        * html/canvas/CanvasStyle.cpp:
36566        (WebCore::CanvasStyle::applyStrokeColor):
36567        (WebCore::CanvasStyle::applyFillColor):
36568        * loader/cache/CachedFont.cpp:
36569        * loader/cache/CachedImage.cpp:
36570        (WebCore::CachedImage::createImage):
36571        * platform/FloatConversion.h:
36572        * platform/MIMETypeRegistry.cpp:
36573        (WebCore::initializeSupportedImageMIMETypes):
36574        (WebCore::initializeSupportedImageMIMETypesForEncoding):
36575        * platform/graphics/BitmapImage.h:
36576        * platform/graphics/Color.h:
36577        * platform/graphics/DashArray.h:
36578        * platform/graphics/FloatPoint.h:
36579        * platform/graphics/FloatRect.h:
36580        * platform/graphics/FloatSize.h:
36581        * platform/graphics/FontPlatformData.h:
36582        (WebCore::FontPlatformData::FontPlatformData):
36583        (WebCore::FontPlatformData::hash):
36584        * platform/graphics/GlyphBuffer.h:
36585        (WebCore::GlyphBuffer::advanceAt):
36586        (WebCore::GlyphBuffer::add):
36587        (WebCore::GlyphBuffer::expandLastAdvance):
36588        * platform/graphics/Gradient.h:
36589        * platform/graphics/GraphicsContext.cpp:
36590        (WebCore::GraphicsContext::setLegacyShadow):
36591        * platform/graphics/GraphicsContext.h:
36592        (WebCore::GraphicsContextState::GraphicsContextState):
36593        * platform/graphics/GraphicsContext3D.h:
36594        * platform/graphics/Image.cpp:
36595        * platform/graphics/Image.h:
36596        * platform/graphics/ImageBuffer.cpp:
36597        * platform/graphics/ImageBuffer.h:
36598        * platform/graphics/ImageBufferData.h:
36599        * platform/graphics/ImageSource.h:
36600        * platform/graphics/IntPoint.h:
36601        * platform/graphics/IntRect.h:
36602        * platform/graphics/IntSize.h:
36603        * platform/graphics/Path.h:
36604        * platform/graphics/Pattern.h:
36605        * platform/graphics/SimpleFontData.h:
36606        * platform/graphics/cg/ColorCG.cpp:
36607        * platform/graphics/cg/FloatPointCG.cpp:
36608        * platform/graphics/cg/FloatRectCG.cpp:
36609        * platform/graphics/cg/FloatSizeCG.cpp:
36610        * platform/graphics/cg/ImageCG.cpp:
36611        * platform/graphics/cg/ImageSourceCG.cpp:
36612        * platform/graphics/cg/IntPointCG.cpp:
36613        * platform/graphics/cg/IntRectCG.cpp:
36614        * platform/graphics/cg/IntSizeCG.cpp:
36615        * platform/graphics/cg/PDFDocumentImage.cpp:
36616        * platform/graphics/cg/PDFDocumentImage.h:
36617        * platform/graphics/cg/PathCG.cpp:
36618        * platform/graphics/cg/TransformationMatrixCG.cpp:
36619        * platform/graphics/chromium/ImageLayerChromium.h:
36620        * platform/graphics/chromium/LayerRendererChromium.cpp:
36621        * platform/graphics/chromium/LayerRendererChromium.h:
36622        * platform/graphics/chromium/PlatformCanvas.cpp:
36623        (WebCore::PlatformCanvas::resize):
36624        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
36625        (WebCore::PlatformCanvas::Painter::Painter):
36626        * platform/graphics/chromium/PlatformCanvas.h:
36627        * platform/graphics/chromium/PlatformImage.cpp:
36628        (WebCore::PlatformImage::updateFromImage):
36629        * platform/graphics/opentype/OpenTypeUtilities.cpp:
36630        * platform/graphics/transforms/AffineTransform.h:
36631        * platform/graphics/transforms/TransformationMatrix.h:
36632        * platform/graphics/win/DIBPixelData.h:
36633        * platform/graphics/win/FontCacheWin.cpp:
36634        (WebCore::FontCache::platformInit):
36635        (WebCore::createGDIFont):
36636        (WebCore::FontCache::createFontPlatformData):
36637        * platform/graphics/win/FontPlatformDataWin.cpp:
36638        (WebCore::FontPlatformData::FontPlatformData):
36639        * platform/graphics/win/GraphicsContextWin.cpp:
36640        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
36641        * platform/graphics/win/SimpleFontDataWin.cpp:
36642        * platform/image-decoders/ImageDecoder.cpp:
36643        * platform/image-decoders/ImageDecoder.h:
36644        * rendering/RenderObject.h:
36645        * rendering/svg/RenderSVGResourceFilter.cpp:
36646        (WebCore::RenderSVGResourceFilter::postApplyResource):
36647        * rendering/svg/RenderSVGResourceGradient.cpp:
36648        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
36649        (WebCore::RenderSVGResourceGradient::applyResource):
36650        * rendering/svg/RenderSVGResourceGradient.h:
36651        * rendering/svg/RenderSVGResourceMasker.cpp:
36652        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
36653        * rendering/svg/RenderSVGResourcePattern.cpp:
36654        (WebCore::RenderSVGResourcePattern::applyResource):
36655
366562011-04-16  Adam Barth  <abarth@webkit.org>
36657
36658        Reviewed by Sam Weinig.
36659
36660        about:blank documents in new tabs can XHR anywhere
36661        https://bugs.webkit.org/show_bug.cgi?id=58712
36662
36663        Empty security origins have supposed to be low-privilege, we should
36664        mark them as having a unique origin.
36665
36666        * manual-tests/about-blank-xhr.html: Added.
36667        * page/SecurityOrigin.cpp:
36668        (WebCore::SecurityOrigin::SecurityOrigin):
36669        * page/SecurityOrigin.h:
36670
366712011-04-16  Dan Bernstein  <mitz@apple.com>
36672
36673        Reviewed by Simon Fraser.
36674
36675        <rdar://problem/9190108> Crash when hiding a float
36676
36677        Test: fast/block/float/overhanging-tall-block.html
36678
36679        * rendering/RenderBlock.cpp:
36680        (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
36681        Capped the logical bottom so that we get the correct maximum.
36682        * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
36683        * rendering/RenderBlockLineLayout.cpp:
36684        (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
36685        extending the float if needed so that it touches the line.
36686        (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
36687        (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
36688        range of lines as dirty.
36689        * rendering/RootInlineBox.h:
36690        (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
36691        allows the creation of the vector to be combined with appending the first float.
36692
366932011-04-16  Sam Weinig  <sam@webkit.org>
36694
36695        Reviewed by Simon Fraser.
36696
36697        Pages in the PageCache don't have the correct visited link coloring after being restored
36698        https://bugs.webkit.org/show_bug.cgi?id=58721
36699
36700        * WebCore.exp.in:
36701        Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
36702
36703        * history/CachedPage.cpp:
36704        (WebCore::CachedPage::CachedPage):
36705        (WebCore::CachedPage::restore):
36706        (WebCore::CachedPage::clear):
36707        * history/CachedPage.h:
36708        (WebCore::CachedPage::markForVistedLinkStyleRecalc):
36709        Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
36710        style recalc when being restored.
36711
36712        * history/PageCache.h:
36713        * history/PageCache.cpp:
36714        (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
36715        Mark all pages in the page cache as requiring visited link style recalc.
36716
36717        * page/PageGroup.cpp:
36718        (WebCore::PageGroup::addVisitedLink):
36719        (WebCore::PageGroup::removeVisitedLinks):
36720        (WebCore::PageGroup::removeAllVisitedLinks):
36721        Set dirty bit when changing any visited link information.
36722        
36723
367242011-04-16  Leo Yang  <leoyang.webkit@gmail.com>
36725
36726        Reviewed by Nikolas Zimmermann.
36727
36728        ASSERT failure when svg <use> element changes href
36729        https://bugs.webkit.org/show_bug.cgi?id=58726
36730
36731        m_resourceId was not empty after the pending resource
36732        becomes available. This will trigger the assertion at
36733        line 509 of SVGUseElement.cpp when the <use> element's
36734        href becomes empty or invalid.
36735
36736        This patch makes m_resourceId be empty after the pending
36737        resource becomes available to avoid assertion failure.
36738
36739        Test: svg/custom/use-crash-when-href-change.svg
36740
36741        * svg/SVGUseElement.cpp:
36742        (WebCore::SVGUseElement::buildPendingResource):
36743
367442011-04-16  Patrick Gansterer  <paroga@webkit.org>
36745
36746        Reviewed by Eric Seidel.
36747
36748        Rename PLATFORM(CAIRO) to USE(CAIRO)
36749        https://bugs.webkit.org/show_bug.cgi?id=55192
36750
36751        * CMakeListsEfl.txt:
36752        * config.h:
36753        * platform/MIMETypeRegistry.cpp:
36754        (WebCore::initializeSupportedImageMIMETypesForEncoding):
36755        * platform/graphics/ContextShadow.h:
36756        * platform/graphics/DashArray.h:
36757        * platform/graphics/FloatRect.h:
36758        * platform/graphics/FontPlatformData.h:
36759        (WebCore::FontPlatformData::FontPlatformData):
36760        (WebCore::FontPlatformData::hash):
36761        (WebCore::FontPlatformData::isHashTableDeletedValue):
36762        * platform/graphics/GlyphBuffer.h:
36763        (WebCore::GlyphBuffer::glyphAt):
36764        (WebCore::GlyphBuffer::add):
36765        * platform/graphics/Gradient.cpp:
36766        * platform/graphics/Gradient.h:
36767        * platform/graphics/GraphicsContext.cpp:
36768        * platform/graphics/GraphicsContext.h:
36769        (WebCore::GraphicsContextState::GraphicsContextState):
36770        * platform/graphics/GraphicsContext3D.h:
36771        * platform/graphics/ImageBufferData.h:
36772        * platform/graphics/ImageSource.h:
36773        * platform/graphics/Path.h:
36774        * platform/graphics/Pattern.h:
36775        * platform/graphics/SimpleFontData.h:
36776        * platform/graphics/cairo/DrawErrorUnderline.h:
36777        * platform/graphics/cairo/GraphicsContextCairo.cpp:
36778        * platform/graphics/cairo/ImageCairo.cpp:
36779        * platform/graphics/gstreamer/ImageGStreamer.h:
36780        * platform/graphics/transforms/AffineTransform.h:
36781        * platform/graphics/transforms/TransformationMatrix.h:
36782        * platform/graphics/win/FontCacheWin.cpp:
36783        (WebCore::createGDIFont):
36784        (WebCore::FontCache::createFontPlatformData):
36785        * platform/graphics/win/FontPlatformDataWin.cpp:
36786        (WebCore::FontPlatformData::FontPlatformData):
36787        * platform/graphics/win/GraphicsContextWin.cpp:
36788        * plugins/win/PluginViewWin.cpp:
36789        (WebCore::PluginView::paintWindowedPluginIntoContext):
36790        * rendering/RenderObject.h:
36791
367922011-04-16  Patrick Gansterer  <paroga@webkit.org>
36793
36794        Unreviewed WinCE build fix for r84033.
36795
36796        * platform/win/LocalizedStringsWin.cpp:
36797        (WebCore::localizedString):
36798
367992011-04-16  Abhishek Arya  <inferno@chromium.org>
36800
36801        Reviewed by Nikolas Zimmermann.
36802
36803        Only allow inline child for SVG text since we cannot
36804        handle block childs.
36805        https://bugs.webkit.org/show_bug.cgi?id=58678
36806
36807        Test: svg/text/text-block-child-crash.xhtml
36808
36809        * rendering/svg/RenderSVGText.cpp:
36810        (WebCore::RenderSVGText::isChildAllowed):
36811        * rendering/svg/RenderSVGText.h:
36812
368132011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
36814
36815        Reviewed by Pavel Feldman.
36816
36817        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
36818        https://bugs.webkit.org/show_bug.cgi?id=57833
36819
36820        * inspector/Inspector.json:
36821        * inspector/InspectorDatabaseAgent.cpp:
36822        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
36823        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
36824        (WebCore::InspectorDatabaseAgent::setFrontend):
36825        (WebCore::InspectorDatabaseAgent::clearFrontend):
36826        (WebCore::InspectorDatabaseAgent::enable):
36827        (WebCore::InspectorDatabaseAgent::disable):
36828        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
36829        (WebCore::InspectorDatabaseAgent::executeSQL):
36830        * inspector/InspectorDatabaseAgent.h:
36831        * inspector/front-end/inspector.js:
36832
368332011-04-15  Adam Barth  <abarth@webkit.org>
36834
36835        Reviewed by Eric Seidel.
36836
36837        CSP media-src is missing
36838        https://bugs.webkit.org/show_bug.cgi?id=58642
36839
36840        Yay HTMLMediaElement for having the exact hook we need!
36841
36842        Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
36843               http/tests/security/contentSecurityPolicy/media-src-blocked.html
36844
36845        * html/HTMLMediaElement.cpp:
36846        (WebCore::HTMLMediaElement::isSafeToLoadURL):
36847            - Although it's tempting to add this branch to the previous
36848              if-block, that results in the wrong error message being logged to
36849              the console (covered by the "blocked" test).
36850        * page/ContentSecurityPolicy.cpp:
36851        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
36852        (WebCore::ContentSecurityPolicy::addDirective):
36853        * page/ContentSecurityPolicy.h:
36854            - These changes are routine.
36855
368562011-04-15  Adam Barth  <abarth@webkit.org>
36857
36858        Reviewed by Eric Seidel.
36859
36860        CSP should block string arguments to setTimeout and setInterval unless options eval-script
36861        https://bugs.webkit.org/show_bug.cgi?id=58610
36862
36863        It's somewhat sadness that the JSC and V8 code for setTimeout and
36864        setInterval are so different.  I struggled for a while with how to
36865        handle the worker case, but I decided to punt on it for now.
36866
36867        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
36868               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
36869               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
36870               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
36871
36872        * bindings/js/JSDOMWindowCustom.cpp:
36873        (WebCore::JSDOMWindow::setTimeout):
36874        (WebCore::JSDOMWindow::setInterval):
36875        * bindings/js/JSWorkerContextCustom.cpp:
36876        (WebCore::JSWorkerContext::setTimeout):
36877        (WebCore::JSWorkerContext::setInterval):
36878        * bindings/js/ScheduledAction.cpp:
36879        (WebCore::ScheduledAction::create):
36880        * bindings/js/ScheduledAction.h:
36881        * bindings/v8/custom/V8DOMWindowCustom.cpp:
36882        (WebCore::WindowSetTimeoutImpl):
36883        * page/ContentSecurityPolicy.cpp:
36884        (WebCore::ContentSecurityPolicy::allowEval):
36885        * page/ContentSecurityPolicy.h:
36886
368872011-04-15  Shishir Agrawal  <shishir@chromium.org>
36888
36889        Reviewed by James Robinson.
36890
36891        Add a flag to guard Page Visibility API changes.
36892        https://bugs.webkit.org/show_bug.cgi?id=58464
36893
36894        * Configurations/FeatureDefines.xcconfig:
36895
368962011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
36897
36898        Reviewed by Martin Robinson.
36899
36900        Make plugins compile during WebKit GTK Windows build.
36901        Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
36902        https://bugs.webkit.org/show_bug.cgi?id=58580
36903
36904        * plugins/PluginView.cpp:
36905        (WebCore::PluginView::stop):
36906        * plugins/PluginView.h:
36907        * plugins/gtk/PluginViewGtk.cpp:
36908        (WebCore::PluginView::platformGetValue):
36909        (WebCore::PluginView::platformStart):
36910
369112011-04-15  MORITA Hajime  <morrita@google.com>
36912
36913        Reviewed by Simon Fraser.
36914
36915        Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
36916        https://bugs.webkit.org/show_bug.cgi?id=58512
36917        
36918        Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
36919        This change keeps an small refactoring on
36920        FrameView::shouldUpdate(), which doesn't affect on the behavior.
36921
36922        * dom/Document.cpp:
36923        * dom/Document.h:
36924        * page/FrameView.cpp:
36925        (WebCore::FrameView::invalidateRect):
36926        (WebCore::FrameView::shouldUpdate):
36927        * rendering/RenderBlock.cpp:
36928        (WebCore::RenderBlock::paintContents):
36929        * rendering/RenderLayer.cpp:
36930        (WebCore::RenderLayer::paintLayer):
36931
369322011-04-15  Chris Rogers  <crogers@google.com>
36933
36934        Reviewed by Kenneth Russell.
36935
36936        Reduce default kernel size of SincResampler to favor better speed over quality
36937        https://bugs.webkit.org/show_bug.cgi?id=58710
36938
36939        No new tests since audio API is not yet implemented.
36940
36941        * platform/audio/SincResampler.h:
36942
369432011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
36944
36945        Reviewed by Martin Robinson.
36946
36947        Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
36948        These have to be defined for Windows in general, since win32 API
36949        does not provide them.
36950        https://bugs.webkit.org/show_bug.cgi?id=58582
36951
36952        * platform/graphics/WOFFFileFormat.cpp:
36953
369542011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
36955
36956        Reviewed by Adam Barth.
36957
36958        Show a console message when X-Frame-Options blocks a load
36959        https://bugs.webkit.org/show_bug.cgi?id=39087
36960
36961        Added console message when X-Frame-Options headers block resource loading
36962
36963        * loader/MainResourceLoader.cpp:
36964        (WebCore::MainResourceLoader::didReceiveResponse):
36965
369662011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
36967
36968        Reviewed by Martin Robinson.
36969
36970        Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
36971        test. This allows Windows build of WebKit GTK to chose the right
36972        path.
36973        https://bugs.webkit.org/show_bug.cgi?id=58576
36974
36975        * platform/FileSystem.h:
36976
369772011-04-08  Luiz Agostini  <luiz.agostini@openbossa.org>
36978
36979        Reviewed by Kenneth Rohde Christiansen.
36980
36981        [Qt] QWebPage MIME type handling inconsistency with other web browsers
36982        https://bugs.webkit.org/show_bug.cgi?id=46968
36983
36984        Implementing mime type sniffing based on
36985        http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
36986
36987        * WebCore.pro:
36988        * platform/network/MIMESniffing.cpp: Added.
36989        (MagicNumbers::dataSizeNeededForImageSniffing):
36990        (MagicNumbers::maskedCompare):
36991        (MagicNumbers::checkSpaceOrBracket):
36992        (MagicNumbers::compare):
36993        (MagicNumbers::findMIMEType):
36994        (MagicNumbers::findSimpleMIMEType):
36995        (MagicNumbers::textOrBinaryTypeSniffingProcedure):
36996        (MagicNumbers::unknownTypeSniffingProcedure):
36997        (MagicNumbers::imageTypeSniffingProcedure):
36998        (MagicNumbers::checkText):
36999        (MagicNumbers::checkRDF):
37000        (MagicNumbers::skipTag):
37001        (MagicNumbers::feedTypeSniffingProcedure):
37002        (MIMESniffer::MIMESniffer):
37003        * platform/network/MIMESniffing.h: Added.
37004        (MIMESniffer::dataSize):
37005        (MIMESniffer::sniff):
37006        (MIMESniffer::isValid):
37007        * platform/network/NetworkingContext.h:
37008        * platform/network/qt/QNetworkReplyHandler.cpp:
37009        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
37010        (WebCore::QNetworkReplyWrapper::release):
37011        (WebCore::QNetworkReplyWrapper::receiveMetaData):
37012        (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
37013        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
37014        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
37015        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
37016        (WebCore::QNetworkReplyHandler::start):
37017        * platform/network/qt/QNetworkReplyHandler.h:
37018        (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
37019        (WebCore::QNetworkReplyWrapper::mimeType):
37020        * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
37021        (QtMIMETypeSniffer::QtMIMETypeSniffer):
37022        (QtMIMETypeSniffer::sniff):
37023        (QtMIMETypeSniffer::trySniffing):
37024        * platform/network/qt/QtMIMETypeSniffer.h: Added.
37025        (QtMIMETypeSniffer::mimeType):
37026        (QtMIMETypeSniffer::isFinished):
37027
370282011-04-15  Emil A Eklund  <eae@chromium.org>
37029
37030        Reviewed by Dimitri Glazkov.
37031
37032        input field with focus makes appendChild operation ~42x slower
37033        https://bugs.webkit.org/show_bug.cgi?id=57059
37034
37035        Change ContainerNode::cloneChildNodes to only disable the
37036        deleteButtonController if the container itself (or any of its children)
37037        is being edited. Thus avoiding a reflow in cases where it's not.
37038
37039        Test: perf/clone-with-focus.html
37040
37041        * dom/ContainerNode.cpp:
37042        (WebCore::ContainerNode::cloneChildNodes):
37043
370442011-04-15  Kinuko Yasuda  <kinuko@chromium.org>
37045
37046        Reviewed by David Levin.
37047
37048        Expose unified Quota API if QUOTA build flag is enabled
37049        https://bugs.webkit.org/show_bug.cgi?id=58648
37050
37051        Test: storage/storageinfo-query-usage.html
37052
37053        * CMakeLists.txt: Added new file entries.
37054        * DerivedSources.cpp: Added new file entries.
37055        * DerivedSources.make: Added new file entries.
37056        * GNUmakefile.am: Added new file entries.
37057        * WebCore.gypi: Added new file entries.
37058        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
37059        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
37060        * page/DOMWindow.cpp:
37061        (WebCore::DOMWindow::webkitStorageInfo): Added.
37062        * page/DOMWindow.h:
37063        * page/DOMWindow.idl:
37064        * storage/StorageInfo.h: Added storage type enum.
37065        * storage/StorageInfo.idl: Added.
37066        * storage/StorageInfoErrorCallback.idl: Added.
37067        * storage/StorageInfoUsageCallback.idl: Added.
37068
370692011-04-15  Oliver Hunt  <oliver@apple.com>
37070
37071        GC allocate Structure
37072        https://bugs.webkit.org/show_bug.cgi?id=58483
37073
37074        Rolling r83894 r83827 r83810 r83809 r83808 back in with
37075        a workaround for the gcc bug seen by the gtk bots
37076
37077        * WebCore.exp.in:
37078        * bindings/js/JSAudioConstructor.h:
37079        (WebCore::JSAudioConstructor::createStructure):
37080        * bindings/js/JSDOMBinding.cpp:
37081        (WebCore::cacheDOMStructure):
37082        * bindings/js/JSDOMBinding.h:
37083        (WebCore::DOMObjectWithGlobalPointer::createStructure):
37084        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
37085        (WebCore::DOMConstructorObject::createStructure):
37086        (WebCore::DOMConstructorObject::DOMConstructorObject):
37087        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
37088        * bindings/js/JSDOMGlobalObject.cpp:
37089        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
37090        (WebCore::JSDOMGlobalObject::markChildren):
37091        * bindings/js/JSDOMGlobalObject.h:
37092        (WebCore::JSDOMGlobalObject::createStructure):
37093        * bindings/js/JSDOMWindowBase.cpp:
37094        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
37095        * bindings/js/JSDOMWindowBase.h:
37096        (WebCore::JSDOMWindowBase::createStructure):
37097        * bindings/js/JSDOMWindowShell.cpp:
37098        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
37099        (WebCore::JSDOMWindowShell::setWindow):
37100        * bindings/js/JSDOMWindowShell.h:
37101        (WebCore::JSDOMWindowShell::createStructure):
37102        * bindings/js/JSDOMWrapper.h:
37103        (WebCore::DOMObject::DOMObject):
37104        * bindings/js/JSEventListener.cpp:
37105        (WebCore::JSEventListener::JSEventListener):
37106        * bindings/js/JSImageConstructor.h:
37107        (WebCore::JSImageConstructor::createStructure):
37108        * bindings/js/JSImageDataCustom.cpp:
37109        (WebCore::toJS):
37110        * bindings/js/JSOptionConstructor.h:
37111        (WebCore::JSOptionConstructor::createStructure):
37112        * bindings/js/JSWorkerContextBase.cpp:
37113        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
37114        * bindings/js/JSWorkerContextBase.h:
37115        (WebCore::JSWorkerContextBase::createStructure):
37116        * bindings/js/ScriptCachedFrameData.h:
37117        * bindings/js/SerializedScriptValue.h:
37118        * bindings/js/WorkerScriptController.cpp:
37119        (WebCore::WorkerScriptController::~WorkerScriptController):
37120        (WebCore::WorkerScriptController::initScript):
37121        * bindings/scripts/CodeGeneratorJS.pm:
37122        * bridge/c/CRuntimeObject.h:
37123        (JSC::Bindings::CRuntimeObject::createStructure):
37124        * bridge/c/c_instance.cpp:
37125        (JSC::Bindings::CRuntimeMethod::createStructure):
37126        * bridge/jni/jsc/JavaInstanceJSC.cpp:
37127        (JavaRuntimeMethod::createStructure):
37128        * bridge/jni/jsc/JavaRuntimeObject.h:
37129        (JSC::Bindings::JavaRuntimeObject::createStructure):
37130        * bridge/objc/ObjCRuntimeObject.h:
37131        (JSC::Bindings::ObjCRuntimeObject::createStructure):
37132        * bridge/objc/objc_instance.mm:
37133        (ObjCRuntimeMethod::createStructure):
37134        * bridge/objc/objc_runtime.h:
37135        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
37136        * bridge/qt/qt_instance.cpp:
37137        (JSC::Bindings::QtRuntimeObject::createStructure):
37138        * bridge/qt/qt_pixmapruntime.cpp:
37139        (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
37140        * bridge/qt/qt_runtime.h:
37141        (JSC::Bindings::QtRuntimeMethod::createStructure):
37142        * bridge/runtime_array.cpp:
37143        (JSC::RuntimeArray::RuntimeArray):
37144        * bridge/runtime_array.h:
37145        (JSC::RuntimeArray::createStructure):
37146        * bridge/runtime_method.cpp:
37147        (JSC::RuntimeMethod::RuntimeMethod):
37148        * bridge/runtime_method.h:
37149        (JSC::RuntimeMethod::createStructure):
37150        * bridge/runtime_object.cpp:
37151        (JSC::Bindings::RuntimeObject::RuntimeObject):
37152        * bridge/runtime_object.h:
37153        (JSC::Bindings::RuntimeObject::createStructure):
37154        * history/HistoryItem.h:
37155
371562011-04-15  Jessie Berlin  <jberlin@apple.com>
37157
37158        Reviewed by Brian Weinstein.
37159
37160        Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
37161        http://www.webkit.org/demos/calendar.
37162        https://bugs.webkit.org/show_bug.cgi?id=58698
37163
37164        * platform/win/FileSystemWin.cpp:
37165        (WebCore::openFile):
37166        Add breaks to the case statement.
37167        (WebCore::directoryName):
37168        Remove any trailing slash in directoryName. After closer inspection of all callers, it
37169        appears the that callers do not need the trailing slash, and those that use the length do
37170        so only to change the direction of the slashes throughout the length of the path.
37171
371722011-04-15  Roland Steiner  <rolandsteiner@chromium.org>
37173
37174        Reviewed by Dimitri Glazkov.
37175
37176        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
37177        https://bugs.webkit.org/show_bug.cgi?id=52963
37178
37179        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
37180        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
37181        .) Merged setTreeScope() with setTreeScopeRecursively()
37182        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
37183
37184        No new tests. (refactoring)
37185
37186        * dom/ContainerNode.cpp:
37187        (WebCore::ContainerNode::takeAllChildrenFrom):
37188        (WebCore::ContainerNode::removeBetween):
37189        (WebCore::ContainerNode::removeChildren):
37190        (WebCore::ContainerNode::parserAddChild):
37191        * dom/Document.cpp:
37192        (WebCore::Document::Document):
37193        (WebCore::Document::~Document):
37194        (WebCore::Document::setDocType):
37195        * dom/Element.h:
37196        * dom/Node.cpp:
37197        (WebCore::Node::treeScope):
37198        (WebCore::Node::setTreeScopeRecursively):
37199        * dom/Node.h:
37200        (WebCore::Node::document):
37201        * dom/ShadowRoot.cpp:
37202        (WebCore::ShadowRoot::ShadowRoot):
37203        (WebCore::ShadowRoot::~ShadowRoot):
37204        (WebCore::ShadowRoot::nodeType):
37205        (WebCore::ShadowRoot::cloneNode):
37206        (WebCore::ShadowRoot::childTypeAllowed):
37207        * dom/ShadowRoot.h:
37208        (WebCore::toShadowRoot):
37209        * dom/TreeScope.cpp:
37210        (WebCore::TreeScope::TreeScope):
37211        (WebCore::TreeScope::setParentTreeScope):
37212        * dom/TreeScope.h:
37213        * rendering/RenderSlider.cpp:
37214
372152011-04-15  Geoffrey Garen  <ggaren@apple.com>
37216
37217        Reviewed by Oliver Hunt.
37218
37219        DOM object handles are never removed from cache
37220        https://bugs.webkit.org/show_bug.cgi?id=58707
37221
37222        We were trying to remove hash table items by value instead of by key.
37223
37224        * bindings/js/DOMWrapperWorld.cpp:
37225        (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
37226        DOMObjectHandleOwner::finalize because I'm going to merge them.
37227
37228        (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
37229        by key, not value. (Oops!) Use a helper function to make sure we get
37230        this right.
37231
37232        * bindings/js/JSDOMBinding.cpp:
37233        (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
37234        handle context, so we can use it at destruction time.
37235
37236        * bindings/js/JSDOMBinding.h: Removed unnecessary include.
37237
37238        * bindings/js/JSNodeCustom.h:
37239        (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
37240        handle context, so we can use it at destruction time.
37241
37242        * bindings/js/ScriptWrappable.h:
37243        (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
37244        support the above.
37245
372462011-04-15  Kenneth Russell  <kbr@google.com>
37247
37248        Unreviewed. Chromium Linux Release build fix due to unused variables.
37249
37250        * platform/audio/mkl/FFTFrameMKL.cpp:
37251        (WebCore::FFTFrame::doFFT):
37252        (WebCore::FFTFrame::doInverseFFT):
37253        (WebCore::FFTFrame::cleanup):
37254
372552011-04-15  Brent Fulgham  <bfulgham@webkit.org>
37256
37257        Unreviewed build change after r83945.
37258
37259        New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
37260
37261        * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
37262          build.  Exclude for standard Apple build.
37263
372642011-04-15  Anders Carlsson  <andersca@apple.com>
37265
37266        Reviewed by Dan Bernstein.
37267
37268        Fade the find page overlay
37269        https://bugs.webkit.org/show_bug.cgi?id=58697
37270
37271        Add a symbol that WebKit2 needs.
37272
37273        * WebCore.exp.in:
37274
372752011-04-15  MORITA Hajime  <morrita@google.com>
37276
37277        Reviewed by Dimitri Glazkov.
37278
37279        RenderDetailsMarker should belong to shadow element.
37280        https://bugs.webkit.org/show_bug.cgi?id=58591
37281
37282        - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
37283        - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
37284          Note that marker size is given via style for -webkit-details-marker pseudo class.
37285        - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
37286          Now RenderDetails knows nothing about default summary.
37287        - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of 
37288          <summary>, and the clickable area is now <summary> itself.
37289
37290        - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
37291
37292        * Android.mk:
37293        * CMakeLists.txt:
37294        * GNUmakefile.list.am:
37295        * WebCore.gypi:
37296        * WebCore.pro:
37297        * WebCore.vcproj/WebCore.vcproj:
37298        * WebCore.xcodeproj/project.pbxproj:
37299        * css/html.css:
37300        (summary::-webkit-details-marker):
37301        * dom/Element.cpp:
37302        (WebCore::Element::attach):
37303        * dom/Node.cpp:
37304        (WebCore::shouldCreateRendererFor):
37305        * dom/Node.h:
37306        (WebCore::Node::canHaveLightChildRendererWithShadow):
37307        * html/HTMLDetailsElement.cpp:
37308        (WebCore::HTMLDetailsElement::findSummaryFor):
37309        (WebCore::HTMLDetailsElement::findMainSummary):
37310        (WebCore::HTMLDetailsElement::refreshMainSummary):
37311        (WebCore::HTMLDetailsElement::createShadowSubtree):
37312        (WebCore::HTMLDetailsElement::childrenChanged):
37313        (WebCore::HTMLDetailsElement::finishParsingChildren):
37314        (WebCore::HTMLDetailsElement::toggleOpen):
37315        * html/HTMLDetailsElement.h:
37316        (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
37317        * html/HTMLSummaryElement.cpp:
37318        (WebCore::HTMLSummaryElement::create):
37319        (WebCore::HTMLSummaryElement::createShadowSubtree):
37320        (WebCore::HTMLSummaryElement::detailsElement):
37321        (WebCore::HTMLSummaryElement::isMainSummary):
37322        (WebCore::HTMLSummaryElement::defaultEventHandler):
37323        * html/HTMLSummaryElement.h:
37324        (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
37325        * html/shadow/DetailsMarkerControl.cpp: Added.
37326        (WebCore::DetailsMarkerControl::DetailsMarkerControl):
37327        (WebCore::DetailsMarkerControl::createRenderer):
37328        (WebCore::DetailsMarkerControl::rendererIsNeeded):
37329        (WebCore::DetailsMarkerControl::shadowPseudoId):
37330        (WebCore::DetailsMarkerControl::summaryElement):
37331        * html/shadow/DetailsMarkerControl.h: Added.
37332        (WebCore::DetailsMarkerControl::create):
37333        * rendering/RenderDetails.cpp:
37334        (WebCore::RenderDetails::RenderDetails):
37335        (WebCore::RenderDetails::styleDidChange):
37336        (WebCore::RenderDetails::moveSummaryToContents):
37337        (WebCore::RenderDetails::checkMainSummary):
37338        (WebCore::RenderDetails::layout):
37339        * rendering/RenderDetails.h:
37340        * rendering/RenderDetailsMarker.cpp:
37341        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
37342        (WebCore::RenderDetailsMarker::isOpen):
37343        (WebCore::RenderDetailsMarker::getPath):
37344        (WebCore::RenderDetailsMarker::paint):
37345        (WebCore::RenderDetailsMarker::details):
37346        * rendering/RenderDetailsMarker.h:
37347
373482011-04-15  Sam Weinig  <sam@webkit.org>
37349
37350        Reviewed by Adam Roben.
37351
37352        Implement localize strings for windows WebKit2
37353        https://bugs.webkit.org/show_bug.cgi?id=58688
37354
37355        * platform/win/LocalizedStringsWin.cpp:
37356        (WebCore::createWebKitBundle):
37357        (WebCore::webKitBundle):
37358        (WebCore::localizedString):
37359        Add implementation of localizedString for Windows.
37360
373612011-04-15  Geoffrey Garen  <ggaren@apple.com>
37362
37363        Reviewed by Oliver Hunt.
37364
37365        Some mechanical DOM wrapper cleanup
37366        https://bugs.webkit.org/show_bug.cgi?id=58689
37367
37368        * WebCore.exp.in: Export!
37369
37370        * bindings/js/DOMWrapperWorld.cpp:
37371        (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
37372        relationship of the special cases to the normal case clearer.
37373
37374        * bindings/js/JSArrayBufferViewHelper.h:
37375        (WebCore::toJSArrayBufferView):
37376        * bindings/js/JSCSSRuleCustom.cpp:
37377        (WebCore::toJS):
37378        * bindings/js/JSCSSValueCustom.cpp:
37379        (WebCore::toJS):
37380        * bindings/js/JSDOMBinding.cpp:
37381        (WebCore::getCachedDOMObjectWrapper):
37382        (WebCore::cacheDOMObjectWrapper):
37383        * bindings/js/JSDOMBinding.h:
37384        (WebCore::createDOMObjectWrapper):
37385        (WebCore::getDOMObjectWrapper):
37386        (WebCore::createDOMNodeWrapper):
37387        (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
37388        in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
37389        and ever-so-slightly faster.
37390        
37391        Removed hasCachedXXX functions, now that they're unused.
37392
37393        * bindings/js/JSDOMWindowCustom.cpp:
37394        (WebCore::JSDOMWindow::history):
37395        (WebCore::JSDOMWindow::location):
37396        * bindings/js/JSDocumentCustom.cpp:
37397        (WebCore::JSDocument::location):
37398        (WebCore::toJS):
37399        * bindings/js/JSElementCustom.cpp:
37400        (WebCore::toJSNewlyCreated):
37401        * bindings/js/JSEventCustom.cpp:
37402        (WebCore::toJS):
37403        * bindings/js/JSHTMLCollectionCustom.cpp:
37404        (WebCore::toJS):
37405        * bindings/js/JSImageDataCustom.cpp:
37406        (WebCore::toJS):
37407        * bindings/js/JSNodeCustom.cpp:
37408        (WebCore::createWrapperInline):
37409        * bindings/js/JSNodeCustom.h:
37410        (WebCore::getCachedDOMNodeWrapper):
37411        (WebCore::cacheDOMNodeWrapper):
37412        (WebCore::toJS):
37413        * bindings/js/JSSVGPathSegCustom.cpp:
37414        (WebCore::toJS):
37415        * bindings/js/JSStyleSheetCustom.cpp:
37416        (WebCore::toJS): Updated for changes above.
37417
37418        * xml/XMLHttpRequest.cpp:
37419        (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
37420        because XHR is almost always created and used by JavaScript, so it's
37421        simpler to just always report extra cost.
37422
374232011-04-15  Andreas Kling  <kling@webkit.org>
37424
37425        Rolling out accidental part of r84010.
37426
37427        * platform/qt/RenderThemeQt.cpp:
37428        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
37429        (WebCore::RenderThemeQt::setButtonPadding):
37430
374312011-04-15  Oliver Hunt  <oliver@apple.com>
37432
37433        Forgot windows build fix.
37434
37435        * bindings/js/JSNodeFilterCondition.cpp:
37436        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
37437
374382011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
37439
37440        Reviewed by Yury Semikhatsky.
37441
37442        Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
37443        https://bugs.webkit.org/show_bug.cgi?id=51364
37444
37445        The front end should not use a transparent background when
37446        loaded as a web page (remote debugging) but should when loaded
37447        regularly in a custom window. This adds a "remote" style class
37448        onto the document body when the page is loaded remotely.
37449
37450        * inspector/front-end/inspector.css:
37451        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
37452        * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
37453
374542011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
37455
37456        Reviewed by David Kilzer.
37457
37458        JSLock ASSERT seen often when using the inspector for long
37459        periods of time. We should take the JSLock whenever we
37460        might allocate memory in the JavaScript Heap.
37461
37462        JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
37463        https://bugs.webkit.org/show_bug.cgi?id=58674
37464
37465        * bindings/js/JSInjectedScriptHostCustom.cpp:
37466        (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
37467
374682011-04-14  Oliver Hunt  <oliver@apple.com>
37469
37470        Reviewed by Geoffrey Garen.
37471
37472        Make JSNodeFilterCondition handle its lifetime correctly
37473        https://bugs.webkit.org/show_bug.cgi?id=58622
37474
37475        Switch over to a WeakHandle and external roots to keep the
37476        condition value live.
37477
37478        * bindings/js/JSNodeFilterCondition.cpp:
37479        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
37480        (WebCore::JSNodeFilterCondition::markAggregate):
37481        (WebCore::JSNodeFilterCondition::acceptNode):
37482        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
37483        * bindings/js/JSNodeFilterCondition.h:
37484        (WebCore::JSNodeFilterCondition::create):
37485        * bindings/js/JSNodeFilterCustom.cpp:
37486        (WebCore::toNodeFilter):
37487        * bindings/scripts/CodeGeneratorJS.pm:
37488
374892011-04-13  Luiz Agostini  <luiz.agostini@openbossa.org>
37490
37491        Reviewed by Andreas Kling.
37492
37493        [Qt] QNetworkReplyHandler refactoring: some adjustments
37494        https://bugs.webkit.org/show_bug.cgi?id=57092
37495
37496        - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
37497        - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
37498        signal metaDataChanged for m_responseContainsData to be consistent.
37499        - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
37500
37501        * platform/network/qt/QNetworkReplyHandler.cpp:
37502        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
37503        (WebCore::QNetworkReplyWrapper::receiveMetaData):
37504        (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
37505        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
37506        (WebCore::QNetworkReplyHandler::release):
37507        (WebCore::shouldIgnoreHttpError):
37508        (WebCore::QNetworkReplyHandler::finish):
37509        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
37510        (WebCore::QNetworkReplyHandler::redirect):
37511        (WebCore::QNetworkReplyHandler::forwardData):
37512        * platform/network/qt/QNetworkReplyHandler.h:
37513        (WebCore::QNetworkReplyWrapper::responseContainsData):
37514        (WebCore::QNetworkReplyWrapper::redirected):
37515
375162011-04-15  Alexey Proskuryakov  <ap@apple.com>
37517
37518        Chromium build fix.
37519
37520        * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
37521
375222011-04-15  Mike Reed  <reed@google.com>
37523
37524        Reviewed by Darin Fisher.
37525
37526        hide unused static function when SKIA_GPU is enabled
37527        https://bugs.webkit.org/show_bug.cgi?id=58670
37528
37529        No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
37530
37531        * platform/graphics/skia/ImageSkia.cpp:
37532
375332011-04-15  Simon Fraser  <simon.fraser@apple.com>
37534
37535        Reviewed by Beth Dakin.
37536
37537        Some borders with border-radius do not have rounded inner edges
37538        https://bugs.webkit.org/show_bug.cgi?id=58457
37539        
37540        Improve the logic used to compute the inner radii on curved
37541        borders, to maintain borders of even thickness around the curve.
37542        
37543        Tests: fast/borders/mixed-border-styles-radius.html
37544               fast/borders/mixed-border-styles.html
37545
37546        * rendering/RenderBoxModelObject.h:
37547        * rendering/RenderBoxModelObject.cpp:
37548        (WebCore::RenderBoxModelObject::computeBorderOuterRect):
37549        (WebCore::RenderBoxModelObject::computeBorderInnerRect):
37550        Two new utility functions to share some code that was in both paintBorder()
37551        and paintBoxShaadow().
37552        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
37553        as well as the inner box.
37554        
37555        (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
37556        (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
37557
37558        * rendering/RenderObject.cpp:
37559        (WebCore::RenderObject::drawBoxSideFromPath):
37560        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
37561        as well as the inner box.
37562
37563        * rendering/style/RenderStyle.cpp:
37564        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
37565        * rendering/style/RenderStyle.h:
37566        Compute the inner radii by starting with teh radii used for the
37567        outer box, and then shrinking them down based on the border thickness.
37568
375692011-04-14  Alexey Proskuryakov  <ap@apple.com>
37570
37571        Reviewed by Dan Bernstein.
37572
37573        WebKit2: Password field input does not switch to ASCII-compatible source
37574        https://bugs.webkit.org/show_bug.cgi?id=58583
37575        <rdar://problem/9059651>
37576
37577        * platform/SecureTextInput.cpp:
37578        (WebCore::enableSecureTextInput):
37579        (WebCore::disableSecureTextInput):
37580        This is now only used by Chromium. There is no need to change TSMDocument properties in
37581        renderer process (and really, all secure text input logic in WebCore should be eliminated).
37582
375832011-04-13  Xiaomei Ji  <xji@chromium.org>
37584
37585        Reviewed by Ryosuke Niwa.
37586
37587        Continue (3rd) experiment with moving caret by word in visual order.
37588        https://bugs.webkit.org/show_bug.cgi?id=58294
37589
37590        This patch along with r82588 and r83483 implements moving caret by
37591        word in visual order.
37592        
37593        The overall algorithm is:
37594        1. First get the InlineBox and offset of the pass-in VisiblePosition.
37595        2. Based on the position (left boundary, middle, right boundary) of the offset and the
37596           direction of the movement, look for visually adjacent word breaks.
37597        2.1 If the offset is the minimum offset of the box,
37598            return the rightmost word boundary in previous boxes if moving left.
37599            return the leftmost word boundary in box and next boxes if moving right.
37600        2.2 Similar for the case when offset is at the maximum offset of the box.
37601        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 
37602            or nextWordPosition based on the directionality of the box. If this word break position 
37603            is also inside the same box, return it. Otherwise (the nextWordPosition or 
37604            previousWordPosition is not in the same box or is at the box boundary), collect all the 
37605            word breaks in the box and search for the one closest to the input "offset" based on 
37606            box directionality, block directionality, and movement direction. Continue search in 
37607            adjacent boxes if needed.
37608
37609        Notes:
37610        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 
37611           the input position (in the moving direction) is not available in current box, word 
37612           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 
37613           word boundaries. Instead, the word boundaries are saved as a pair 
37614           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
37615 
37616        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
37617           and right boundary of a word in RTL block). And word boundaries are collected using 
37618           previousWordPosition() and nextWordPosition(). So when box directionality is the same as 
37619           block directionality, word boundaries are collected from right to left visually in a LTR 
37620           box, and word boundaries are collected from left to right visually in a RTL box. It is
37621           the other way around when box directionality is different from block directionality.
37622
37623        3. To find the right kinds of word boundaries, we must move back and forth between words
37624           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
37625           we cannot simply return nextWordPosition() because it would return the right boundary
37626           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
37627
37628        4. When collecting word breaks inside a box, it first computes a start position, then
37629           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
37630           In the meanwhile, it might need special handling on the rightmost or leftmost position 
37631           based on the directionality of the box and block. These computations do not consider the 
37632           box's bidi level.
37633
37634        * editing/visible_units.cpp:
37635        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
37636        (WebCore::collectWordBreaksInBox):
37637        (WebCore::previousWordBoundaryInBox):
37638        (WebCore::nextWordBoundaryInBox):
37639        (WebCore::visuallyLastWordBoundaryInBox):
37640        (WebCore::leftWordBoundary):
37641        (WebCore::rightWordBoundary):
37642        (WebCore::leftWordPosition):
37643        (WebCore::rightWordPosition):
37644
376452011-04-14  Zhenyao Mo  <zmo@google.com>
37646
37647        Reviewed by Kenneth Russell.
37648
37649        Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
37650        https://bugs.webkit.org/show_bug.cgi?id=58501
37651
37652        * html/canvas/WebGLRenderingContext.cpp:
37653        (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
37654        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
37655        (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
37656        * html/canvas/WebGLRenderingContext.h:
37657
376582011-04-07  MORITA Hajime  <morrita@google.com>
37659
37660        Reviewed by Ryosuke Niwa.
37661
37662        DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
37663        https://bugs.webkit.org/show_bug.cgi?id=58112
37664        
37665        - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
37666        - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
37667        - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
37668          which should allow a combination of MarkerType constansts.
37669        - Removed some MarkerType arguments on DocumentMarkerController API
37670          which only received AllMarkers.
37671        
37672        No new tests, no behavior change.
37673
37674        * WebCore.exp.in:
37675        * dom/DocumentMarker.h:
37676        (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
37677        (WebCore::DocumentMarker::MarkerTypes::contains):
37678        (WebCore::DocumentMarker::MarkerTypes::intersects):
37679        (WebCore::DocumentMarker::MarkerTypes::operator==):
37680        (WebCore::DocumentMarker::MarkerTypes::add):
37681        (WebCore::DocumentMarker::MarkerTypes::remove):
37682        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
37683        * dom/DocumentMarkerController.cpp:
37684        (WebCore::DocumentMarkerController::possiblyHasMarkers):
37685        (WebCore::DocumentMarkerController::addMarker):
37686        (WebCore::DocumentMarkerController::copyMarkers):
37687        (WebCore::DocumentMarkerController::removeMarkers):
37688        (WebCore::DocumentMarkerController::markerContainingPoint):
37689        (WebCore::DocumentMarkerController::markersInRange):
37690        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
37691        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
37692        (WebCore::DocumentMarkerController::repaintMarkers):
37693        (WebCore::DocumentMarkerController::shiftMarkers):
37694        (WebCore::DocumentMarkerController::setMarkersActive):
37695        (WebCore::DocumentMarkerController::hasMarkers):
37696        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
37697        * dom/DocumentMarkerController.h:
37698
376992011-04-14  Geoffrey Garen  <ggaren@apple.com>
37700
37701        Reviewed by Oliver Hunt.
37702
37703        Complicated hash table is complicated
37704        https://bugs.webkit.org/show_bug.cgi?id=58631
37705        
37706        Now that we use the opaque roots system to track node wrapper lifetime,
37707        we can remove a lot of complicated hash-tablery that used to do the same.
37708        
37709        Now normal world node wrappers are just set as direct properties of
37710        ScriptWrappable, while isolated world node wrappers and other DOM object
37711        wrappers are stored in a shared, per-world hash table.
37712
37713        In addition to reducing complexity, this makes DOM wrapper allocation
37714        1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
37715        footprint of normal world wrappers by ~2/3, and isolated world wrappers
37716        by ~1/3.
37717
37718        * WebCore.exp.in: Paying the patch tithe.
37719
37720        * bindings/js/DOMWrapperWorld.cpp:
37721        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
37722        (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
37723
37724        (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
37725        so the code to destroy a wrapper can live next to the code to create one.
37726
37727        * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
37728
37729        * bindings/js/JSDOMBinding.cpp:
37730        (WebCore::uncacheDOMObjectWrapper):
37731        * bindings/js/JSDOMBinding.h:
37732        (WebCore::createDOMNodeWrapper):
37733        (WebCore::getDOMNodeWrapper): No more per-document hash tables.
37734        Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
37735
37736        * bindings/js/JSDocumentCustom.cpp:
37737        (WebCore::toJS):
37738        * bindings/js/JSElementCustom.cpp:
37739        (WebCore::toJSNewlyCreated):
37740        * bindings/js/JSNodeCustom.cpp:
37741        (WebCore::createWrapperInline): Ditto.
37742
37743        * bindings/js/JSNodeCustom.h:
37744        (WebCore::getCachedDOMNodeWrapper):
37745        (WebCore::cacheDOMNodeWrapper):
37746        (WebCore::uncacheDOMNodeWrapper):
37747        (WebCore::toJS): Implemented the scheme described above.
37748
37749        * bindings/js/ScriptWrappable.h:
37750        (WebCore::ScriptWrappable::wrapper):
37751        (WebCore::ScriptWrappable::setWrapper):
37752        (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
37753        owner now, since we don't have an extra handle living in a hash table
37754        to maintain ownership for us.
37755
37756        * dom/Document.cpp:
37757        (WebCore::Document::Document):
37758        (WebCore::Document::~Document):
37759        * dom/Document.h:
37760        * dom/Node.cpp:
37761        (WebCore::Node::setDocument): No more per-document hash tables.
37762
37763        * html/HTMLCanvasElement.cpp:
37764        (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
37765        hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
37766        things, and I was in the mood for getting rid of the old way. It's
37767        debatable whether the check was ever a good idea. Even when a <canvas>
37768        doesn't have a direct JS wrapper, other JS references can still keep
37769        the <canvas> alive. So, it's probably best always to report extra cost.
37770
377712011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
37772
37773        Reviewed by Pavel Feldman.
37774
37775        Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
37776        https://bugs.webkit.org/show_bug.cgi?id=58650
37777
37778        * inspector/Inspector.json:
37779        * inspector/InspectorResourceAgent.cpp:
37780        (WebCore::buildObjectForResourceResponse):
37781        * inspector/front-end/NetworkManager.js:
37782        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
37783        * inspector/front-end/Resource.js:
37784        (WebInspector.Resource.prototype.get requestHeadersText):
37785        (WebInspector.Resource.prototype.set requestHeadersText):
37786        (WebInspector.Resource.prototype.get requestHeadersSize):
37787        (WebInspector.Resource.prototype.get responseHeadersText):
37788        (WebInspector.Resource.prototype.set responseHeadersText):
37789        (WebInspector.Resource.prototype.get responseHeadersSize):
37790        (WebInspector.Resource.prototype._headersSize):
37791        * inspector/front-end/ResourceHeadersView.js:
37792        (WebInspector.ResourceHeadersView):
37793        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
37794        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
37795        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
37796        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
37797        (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
37798        (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
37799        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
37800        * inspector/front-end/networkPanel.css:
37801        (.resource-headers-view .outline-disclosure li.headers-text):
37802        * platform/network/ResourceLoadInfo.h:
37803
378042011-04-15  Luke Macpherson   <macpherson@chromium.org>
37805
37806        Reviewed by Dimitri Glazkov.
37807
37808        Implement css overflow properties in CSSStyleApplyProperty
37809        https://bugs.webkit.org/show_bug.cgi?id=58633
37810
37811        No new tests required as no functionality changes.
37812
37813        * css/CSSStyleApplyProperty.cpp:
37814        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
37815        Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
37816        * css/CSSStyleSelector.cpp:
37817        (WebCore::CSSStyleSelector::applyProperty):
37818        Delete existing implementations.
37819
378202011-04-15  Sam Weinig  <sam@webkit.org>
37821
37822        Reviewed by Maciej Stachowiak.
37823
37824        Make mac WebKit1 use the default localization strategy
37825        https://bugs.webkit.org/show_bug.cgi?id=58628
37826
37827        * English.lproj/Localizable.strings:
37828        Update by running update-webkit-localizable-strings.
37829
37830        * platform/DefaultLocalizationStrategy.cpp:
37831        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
37832        (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
37833        (WebCore::DefaultLocalizationStrategy::imageTitle):
37834        Match the WebKit1 versions of these functions by special casing CF platforms.
37835
378362011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
37837
37838        Reviewed by Pavel Feldman.
37839
37840        Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
37841        https://bugs.webkit.org/show_bug.cgi?id=58136
37842
37843        Passed response info to inspector when X-Frame-Options header blocks resource loading.
37844
37845        Test: http/tests/inspector/network/x-frame-options-deny.html
37846
37847        * inspector/InspectorInstrumentation.cpp:
37848        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
37849        * inspector/InspectorInstrumentation.h:
37850        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
37851        * loader/MainResourceLoader.cpp:
37852        (WebCore::MainResourceLoader::didReceiveResponse):
37853
378542011-04-15  Andrey Adaikin  <aandrey@google.com>
37855
37856        Reviewed by Pavel Feldman.
37857
37858        Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
37859        https://bugs.webkit.org/show_bug.cgi?id=58449
37860
37861        Test: inspector/editor/text-editor-model.html
37862
37863        * inspector/front-end/TextEditorModel.js:
37864        (WebInspector.TextEditorModel):
37865        (WebInspector.TextEditorModel.prototype.get text):
37866        (WebInspector.TextEditorModel.prototype.setText):
37867        (WebInspector.TextEditorModel.prototype._innerSetText):
37868        (WebInspector.TextEditorModel.prototype.copyRange):
37869
378702011-04-15  Sergey Vorobyev  <sergeyvorobyev@google.com>
37871
37872        Reviewed by Yury Semikhatsky.
37873
37874        Web Inspector: Network events don't preserves,
37875        when inspector frontend closed and open again
37876        https://bugs.webkit.org/show_bug.cgi?id=58064
37877
37878        Added InspectorFrontendProxy and EventsCollector.
37879        They allow captured messages from InspectorResourceAgent
37880        to frontend (or mockFrontend if frontend disabled) and
37881        push collected data when frontend reconnect.
37882        This functionality is disabled by default.
37883
37884        * CMakeLists.txt:
37885        * GNUmakefile.list.am:
37886        * WebCore.gypi:
37887        * WebCore.pro:
37888        * WebCore.vcproj/WebCore.vcproj:
37889        * WebCore.xcodeproj/project.pbxproj:
37890        * inspector/EventsCollector.cpp: Added.
37891        (WebCore::EventsCollector::EventsCollector):
37892        (WebCore::EventsCollector::addEvent):
37893        (WebCore::EventsCollector::sendCollectedEvents):
37894        * inspector/EventsCollector.h: Added.
37895        (WebCore::EventsCollector::~EventsCollector):
37896        * inspector/Inspector.json:
37897        * inspector/InspectorFrontendProxy.cpp: Added.
37898        (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
37899        (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
37900        (WebCore::InspectorFrontendProxy::setEventsCollector):
37901        (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
37902        * inspector/InspectorFrontendProxy.h: Added.
37903        (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
37904        * inspector/InspectorInstrumentation.cpp:
37905        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
37906        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
37907        * inspector/InspectorInstrumentation.h:
37908        (WebCore::InspectorInstrumentation::willSendRequest):
37909        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
37910        (WebCore::InspectorInstrumentation::didReceiveContentLength):
37911        (WebCore::InspectorInstrumentation::didFinishLoading):
37912        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
37913        (WebCore::InspectorInstrumentation::loadEventFired):
37914        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
37915        (WebCore::InspectorInstrumentation::didCreateWebSocket):
37916        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
37917        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
37918        (WebCore::InspectorInstrumentation::didCloseWebSocket):
37919        * inspector/InspectorResourceAgent.cpp:
37920        (WebCore::InspectorResourceAgent::setFrontend):
37921        (WebCore::InspectorResourceAgent::resourceContent):
37922        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
37923        (WebCore::InspectorResourceAgent::didReceiveResponse):
37924        (WebCore::InspectorResourceAgent::domContentEventFired):
37925        (WebCore::InspectorResourceAgent::loadEventFired):
37926        (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
37927        (WebCore::InspectorResourceAgent::enable):
37928        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
37929        * inspector/InspectorResourceAgent.h:
37930        * inspector/front-end/NetworkManager.js:
37931        (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
37932        (WebInspector.NetworkDispatcher.prototype.loadEventFired):
37933        * inspector/front-end/inspector.js:
37934        (WebInspector.domContentEventFired):
37935        (WebInspector.loadEventFired):
37936
379372011-04-15  Alexis Menard  <alexis.menard@openbossa.org>
37938
37939        Reviewed by Dimitri Glazkov.
37940
37941        REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
37942        https://bugs.webkit.org/show_bug.cgi?id=58477
37943
37944        Since r83397 the media controls elements are actual DOM elements.
37945        Therefore the global style-sheet applies to them. html.css defines
37946        input[type="button"]:active to be border-style: inset which means
37947        that when the buttons are active they grow by their border size. Therefore
37948        ports which are not using the borders must explicitly disable them in their custom
37949        stylesheet.
37950
37951        * css/mediaControlsQt.css:
37952        (audio::-webkit-media-controls-mute-button):
37953        (video::-webkit-media-controls-mute-button):
37954        (audio::-webkit-media-controls-play-button):
37955        (video::-webkit-media-controls-play-button):
37956        (video::-webkit-media-controls-fullscreen-button):
37957        * css/mediaControlsQuickTime.css:
37958        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
37959        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
37960        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
37961        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
37962        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
37963        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
37964        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
37965        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
37966        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
37967
379682011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>
37969
37970        Reviewed by Darin Fisher.
37971
37972        Added enums for external file system type.
37973        https://bugs.webkit.org/show_bug.cgi?id=58456
37974
37975        * fileapi/DOMFileSystemBase.cpp:
37976        (WebCore::DOMFileSystemBase::crackFileSystemURL):
37977        * fileapi/DOMFileSystemBase.h:
37978        * fileapi/EntryBase.cpp:
37979        (WebCore::EntryBase::toURL):
37980        * page/DOMWindow.cpp:
37981        (WebCore::DOMWindow::requestFileSystem):
37982        * page/DOMWindow.h:
37983        * platform/AsyncFileSystem.h:
37984        * workers/WorkerContext.cpp:
37985        (WebCore::WorkerContext::requestFileSystem):
37986        (WebCore::WorkerContext::requestFileSystemSync):
37987        * workers/WorkerContext.h:
37988
379892011-04-15  Pavel Feldman  <pfeldman@google.com>
37990
37991        Reviewed by Yury Semikhatsky.
37992
37993        Web Inspector: make resource revisions use dedicated type (not Resource clone).
37994        https://bugs.webkit.org/show_bug.cgi?id=58659
37995
37996        * inspector/front-end/CSSStyleModel.js:
37997        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
37998        * inspector/front-end/Resource.js:
37999        (WebInspector.Resource.prototype.addRevision):
38000        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
38001        (WebInspector.Resource.prototype._innerRequestContent):
38002        (WebInspector.ResourceRevision):
38003        (WebInspector.ResourceRevision.prototype.get resource):
38004        (WebInspector.ResourceRevision.prototype.get timestamp):
38005        (WebInspector.ResourceRevision.prototype.get content):
38006        (WebInspector.ResourceRevision.prototype.revertToThis):
38007        (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
38008        (WebInspector.ResourceRevision.prototype.requestContent):
38009        * inspector/front-end/ResourceView.js:
38010        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
38011        (WebInspector.ResourceView.resourceViewForResource):
38012        (WebInspector.ResourceView.recreateResourceView):
38013        (WebInspector.ResourceView.existingResourceViewForResource):
38014        (WebInspector.RevisionSourceFrame):
38015        (WebInspector.RevisionSourceFrame.prototype.get resource):
38016        (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
38017        (WebInspector.RevisionSourceFrame.prototype.requestContent):
38018        * inspector/front-end/ResourcesPanel.js:
38019        (WebInspector.ResourcesPanel.prototype._showResourceView):
38020        (WebInspector.ResourcesPanel.prototype._showRevisionView):
38021        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
38022        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
38023        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
38024        (WebInspector.ResourceRevisionTreeElement):
38025        (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
38026        (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
38027        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
38028        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
38029        * inspector/front-end/SourceFrame.js:
38030        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
38031        (WebInspector.SourceFrame.prototype.requestContent):
38032        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
38033        (WebInspector.SourceFrame.prototype.commitEditing):
38034
380352011-04-15  Alexander Pavlov  <apavlov@chromium.org>
38036
38037        Reviewed by Yury Semikhatsky.
38038
38039        Web Inspector: Prevent Backspace keypresses from routing into the inspected page
38040        https://bugs.webkit.org/show_bug.cgi?id=58653
38041
38042        * inspector/front-end/inspector.js:
38043        (WebInspector.documentKeyDown):
38044
380452011-04-15  Alice Boxhall  <aboxhall@chromium.org>
38046
38047        Reviewed by Ryosuke Niwa.
38048
38049        Text selection changes unexpectedly when dragging out of the <input>
38050        https://bugs.webkit.org/show_bug.cgi?id=55552
38051
38052        Tests: editing/selection/select-out-of-editable.html
38053               editing/selection/select-out-of-floated-contenteditable.html
38054               editing/selection/select-out-of-floated-input.html
38055               editing/selection/select-out-of-floated-textarea.html
38056
38057        * page/EventHandler.cpp:
38058        (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
38059        the endpoint is not outside the element. If it is, translate the point into a local point within
38060        the editable element.
38061        (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
38062        calculate the selection endpoint.
38063
380642011-04-15  Adam Roben  <aroben@apple.com>
38065
38066        Roll out r83954
38067
38068        It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
38069        bots.
38070
38071        See <http://webkit.org/b/58610>.
38072
38073        * bindings/js/JSDOMWindowCustom.cpp:
38074        (WebCore::JSDOMWindow::setTimeout):
38075        (WebCore::JSDOMWindow::setInterval):
38076        * bindings/js/JSWorkerContextCustom.cpp:
38077        (WebCore::JSWorkerContext::setTimeout):
38078        (WebCore::JSWorkerContext::setInterval):
38079        * bindings/js/ScheduledAction.cpp:
38080        (WebCore::ScheduledAction::create):
38081        * bindings/js/ScheduledAction.h:
38082        * bindings/v8/custom/V8DOMWindowCustom.cpp:
38083        (WebCore::WindowSetTimeoutImpl):
38084        * page/ContentSecurityPolicy.cpp:
38085        * page/ContentSecurityPolicy.h:
38086
380872011-04-15  Pavel Feldman  <pfeldman@google.com>
38088
38089        Reviewed by Yury Semikhatsky.
38090
38091        Web Inspector: refactor resource setContent / revisions infrastructure to get
38092        rid of onRevert callback.
38093        https://bugs.webkit.org/show_bug.cgi?id=58649
38094
38095        Instead, we will have DomainModel/Resource binding responsible for changing
38096        underlying model upon resource changes and vice versa.
38097
38098        * inspector/Inspector.json:
38099        * inspector/InspectorCSSAgent.cpp:
38100        (WebCore::InspectorCSSAgent::getStyleSheet):
38101        (WebCore::InspectorCSSAgent::getStyleSheetText):
38102        (WebCore::InspectorCSSAgent::setStyleSheetText):
38103        (WebCore::InspectorCSSAgent::setPropertyText):
38104        (WebCore::InspectorCSSAgent::toggleProperty):
38105        (WebCore::InspectorCSSAgent::setRuleSelector):
38106        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
38107        * inspector/InspectorCSSAgent.h:
38108        * inspector/front-end/CSSStyleModel.js:
38109        (WebInspector.CSSStyleModel):
38110        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
38111        (WebInspector.CSSStyleModel.prototype.addRule):
38112        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
38113        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
38114        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
38115        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
38116        (WebInspector.CSSProperty.prototype.setText):
38117        (WebInspector.CSSProperty.prototype.setText.callback):
38118        (WebInspector.CSSProperty.prototype.setDisabled.callback):
38119        (WebInspector.CSSProperty.prototype.setDisabled):
38120        (WebInspector.CSSStyleSheet.prototype.setText):
38121        (WebInspector.CSSStyleModelResourceBinding):
38122        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
38123        (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
38124        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
38125        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
38126        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
38127        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
38128        * inspector/front-end/DebuggerPresentationModel.js:
38129        (WebInspector.DebuggerPresentationModel):
38130        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
38131        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
38132        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
38133        (WebInspector.DebuggerPresentationModelResourceBinding):
38134        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
38135        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
38136        * inspector/front-end/Object.js:
38137        (WebInspector.Object.prototype.hasEventListeners):
38138        * inspector/front-end/Resource.js:
38139        (WebInspector.Resource):
38140        (WebInspector.Resource.registerDomainModelBinding):
38141        (WebInspector.Resource.prototype.isEditable):
38142        (WebInspector.Resource.prototype.setContent):
38143        (WebInspector.Resource.prototype.addRevision):
38144        (WebInspector.Resource.prototype.revertToThis.callback):
38145        (WebInspector.Resource.prototype.revertToThis):
38146        (WebInspector.ResourceDomainModelBinding):
38147        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
38148        (WebInspector.ResourceDomainModelBinding.prototype.setContent):
38149        * inspector/front-end/ResourceView.js:
38150        (WebInspector.ResourceView.createResourceView):
38151        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
38152        (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
38153        (WebInspector.ResourceSourceFrame.prototype.editContent):
38154        (WebInspector.ResourceSourceFrame.prototype.endEditing):
38155        (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
38156        (WebInspector.ResourceSourceFrame.prototype._requestContent):
38157        * inspector/front-end/ResourcesPanel.js:
38158        (WebInspector.ResourcesPanel.prototype._resourceAdded):
38159        (WebInspector.FrameResourceTreeElement):
38160        (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
38161        (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
38162        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
38163        * inspector/front-end/inspector.html:
38164
381652011-04-15  Andrey Kosyakov  <caseq@chromium.org>
38166
38167        Unreviewed, rolling out r83949.
38168        http://trac.webkit.org/changeset/83949
38169        https://bugs.webkit.org/show_bug.cgi?id=57960
38170
38171        broke 31 tests in chromium win & linux
38172
38173        * platform/graphics/chromium/GLES2Canvas.cpp:
38174        (WebCore::GLES2Canvas::drawTexturedRect):
38175        * platform/graphics/chromium/GLES2Canvas.h:
38176        * platform/graphics/gpu/Texture.cpp:
38177        (WebCore::copySubRect):
38178        (WebCore::Texture::load):
38179        (WebCore::Texture::updateSubRect):
38180        * platform/graphics/gpu/Texture.h:
38181        * platform/graphics/skia/ImageBufferSkia.cpp:
38182        (WebCore::getImageData):
38183        (WebCore::putImageData):
38184        (WebCore::ImageBuffer::putUnmultipliedImageData):
38185        (WebCore::ImageBuffer::putPremultipliedImageData):
38186
381872011-04-15  Ben Taylor  <bentaylor.solx86@gmail.com>
38188
38189        Reviewed by Alexey Proskuryakov.
38190
38191        Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
38192        https://bugs.webkit.org/show_bug.cgi?id=58508
38193
38194        Since extern "C" makes a different type (although most compilers ignore that),
38195        we should be more careful when passing NPAPI callback functions.
38196
38197        * plugins/npapi.cpp:
38198        (NPN_PluginThreadAsyncCall):
38199
382002011-04-15  Adam Barth  <abarth@webkit.org>
38201
38202        Reviewed by Eric Seidel.
38203
38204        CSP should block string arguments to setTimeout and setInterval unless options eval-script
38205        https://bugs.webkit.org/show_bug.cgi?id=58610
38206
38207        It's somewhat sadness that the JSC and V8 code for setTimeout and
38208        setInterval are so different.  I struggled for a while with how to
38209        handle the worker case, but I decided to punt on it for now.
38210
38211        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
38212               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
38213               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
38214               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
38215
38216        * bindings/js/JSDOMWindowCustom.cpp:
38217        (WebCore::JSDOMWindow::setTimeout):
38218        (WebCore::JSDOMWindow::setInterval):
38219        * bindings/js/JSWorkerContextCustom.cpp:
38220        (WebCore::JSWorkerContext::setTimeout):
38221        (WebCore::JSWorkerContext::setInterval):
38222        * bindings/js/ScheduledAction.cpp:
38223        (WebCore::ScheduledAction::create):
38224        * bindings/js/ScheduledAction.h:
38225        * bindings/v8/custom/V8DOMWindowCustom.cpp:
38226        (WebCore::WindowSetTimeoutImpl):
38227        * page/ContentSecurityPolicy.cpp:
38228        (WebCore::ContentSecurityPolicy::allowEval):
38229        * page/ContentSecurityPolicy.h:
38230
382312011-04-15  Adam Barth  <abarth@webkit.org>
38232
38233        Reviewed by Eric Seidel.
38234
38235        Add support for CSP's 'self' source
38236        https://bugs.webkit.org/show_bug.cgi?id=58604
38237
38238        This change is now trivially easy.
38239
38240        Test: http/tests/security/contentSecurityPolicy/script-src-self.html
38241
38242        * page/ContentSecurityPolicy.cpp:
38243        (WebCore::CSPSourceList::addSourceSelf):
38244
382452011-04-15  Anna Cavender  <annacc@chromium.org>
38246
38247        Reviewed by Eric Carlson.
38248
38249        Renaming TRACK feature define to VIDEO_TRACK
38250        https://bugs.webkit.org/show_bug.cgi?id=53556
38251
38252        No new tests. No new functionality.
38253
38254        * CMakeLists.txt:
38255        * Configurations/FeatureDefines.xcconfig:
38256        * DerivedSources.make:
38257        * GNUmakefile.am:
38258        * features.pri:
38259        * html/HTMLTagNames.in:
38260        * html/HTMLTrackElement.cpp:
38261        * html/HTMLTrackElement.h:
38262        * html/HTMLTrackElement.idl:
38263
382642011-04-14  Andrey Adaikin  <aandrey@google.com>
38265
38266        Reviewed by Pavel Feldman.
38267
38268        Web Inspector: Ctrl+Left/Right switch panels during live editing
38269        https://bugs.webkit.org/show_bug.cgi?id=58521
38270
38271        Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
38272
38273        * inspector/front-end/SourceFrame.js:
38274        (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
38275        * inspector/front-end/TextViewer.js:
38276        (WebInspector.TextViewer.prototype.set readOnly):
38277        (WebInspector.TextViewer.prototype.get readOnly):
38278        (WebInspector.TextViewer.prototype._doubleClick):
38279        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
38280        (WebInspector.TextViewer.prototype._commitEditing):
38281        (WebInspector.TextViewer.prototype._cancelEditing):
38282        (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
38283        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
38284        * inspector/front-end/inspector.js:
38285        (WebInspector.markBeingEdited):
38286        (WebInspector.isEditingAnyField):
38287        (WebInspector.startEditing.cleanUpAfterEditing):
38288
382892011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
38290
38291        Reviewed by Pavel Feldman.
38292
38293        Web Inspector: Enable raw HTTP headers support
38294        https://bugs.webkit.org/show_bug.cgi?id=58259
38295
38296        Added raw headers text support to inspector.
38297
38298        * English.lproj/localizedStrings.js:
38299        * inspector/Inspector.json:
38300        * inspector/InspectorResourceAgent.cpp:
38301        (WebCore::buildObjectForResourceResponse):
38302        * inspector/front-end/NetworkManager.js:
38303        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
38304        * inspector/front-end/Resource.js:
38305        (WebInspector.Resource):
38306        (WebInspector.Resource.prototype.get transferSize):
38307        (WebInspector.Resource.prototype.set requestHeaders):
38308        (WebInspector.Resource.prototype.get rawRequestHeadersText):
38309        (WebInspector.Resource.prototype.set rawRequestHeadersText):
38310        (WebInspector.Resource.prototype.get requestHeadersSize):
38311        (WebInspector.Resource.prototype.set responseHeaders):
38312        (WebInspector.Resource.prototype.get rawResponseHeadersText):
38313        (WebInspector.Resource.prototype.set rawResponseHeadersText):
38314        (WebInspector.Resource.prototype.get responseHeadersSize):
38315        (WebInspector.Resource.prototype._headersSize):
38316        * inspector/front-end/ResourceHeadersView.js:
38317        (WebInspector.ResourceHeadersView):
38318        (WebInspector.ResourceHeadersView.prototype._refreshParms):
38319        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
38320        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
38321        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
38322        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
38323        (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
38324        (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
38325        (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
38326        (WebInspector.ResourceHeadersView.prototype._createToggleButton):
38327        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
38328        * inspector/front-end/networkPanel.css:
38329        (.resource-headers-view .outline-disclosure li .header-toggle):
38330        (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
38331        (.resource-headers-view .outline-disclosure li .header-toggle:hover):
38332        (.resource-headers-view .outline-disclosure li.raw-headers-text):
38333        * platform/network/ResourceLoadInfo.h:
38334
383352011-04-14  Justin Novosad  <junov@chromium.org>
38336
38337        Reviewed by Kenneth Russell.
38338
38339        [Chromium] Accelerated 2D Canvas is slow to execute putImageData
38340        https://bugs.webkit.org/show_bug.cgi?id=57960
38341
38342        * platform/graphics/chromium/GLES2Canvas.cpp:
38343        (WebCore::GLES2Canvas::drawTexturedRect):
38344        Added an option for using the blend ops for alpha multiplication
38345        instead of compositing.
38346        (WebCore::GLES2Canvas::applyClipping):
38347        (WebCore::GLES2Canvas::putImageData):
38348        New method for drawing raw pixel data from memory to the canvas
38349        (WebCore::GLES2Canvas::putUnmultipliedImageData):
38350        Wrapper for putImageData
38351        (WebCore::GLES2Canvas::putPremultipliedImageData):
38352        Wrapper for putImageData
38353        * platform/graphics/chromium/GLES2Canvas.h:
38354        * platform/graphics/gpu/Texture.cpp:
38355        (WebCore::copySubRect):
38356        (WebCore::Texture::load):
38357        (WebCore::Texture::updateSubRect):
38358        Added an overload of the updateSubRect method that can receive a pixel 
38359        of a size that is different from texture size. Improved the performance
38360        of updateSubrect by avoiding the allocation of a temporary buffer when
38361        not required.
38362        * platform/graphics/gpu/Texture.h:
38363        * platform/graphics/skia/ImageBufferSkia.cpp:
38364        (WebCore::getImageData):
38365        In the unmultiplied path, division by alpha now performs proper
38366        rounding in order to avoid generational degradation with putImageData
38367        (WebCore::putImageData):
38368        Alpha multiplication now performs proper rounding in order to be
38369        consistent with the hardware rendering path: OpenGL always rounds when
38370        converting to fixed point representation.
38371        (WebCore::ImageBuffer::putUnmultipliedImageData):
38372        Now supports a hardware rendering path, which eliminates the need
38373        for a readback from the GPU
38374        (WebCore::ImageBuffer::putPremultipliedImageData):
38375        Now supports a hardware rendering path, which eliminates the need
38376        for a readback from the GPU
38377
383782011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
38379
38380        Reviewed by Martin Robinson.
38381
38382        Creating a CairoPath instance is not thread safe
38383        https://bugs.webkit.org/show_bug.cgi?id=58514
38384
38385        This patch allows a cairo surface to be created just one time in order to 
38386        guarantee thread safety.
38387        In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to 
38388        prevent confusing them with PathCairo.cpp
38389
38390        * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
38391        * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
38392        * platform/graphics/cairo/CairoPath.h: Removed.
38393        * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
38394        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
38395        * platform/graphics/cairo/PathCairo.cpp: Ditto.
38396        * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
38397        (WebCore::getPathSurface): Getting a static cairo surface.
38398        (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor 
38399        into the CPP file.
38400        * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
38401        (WebCore::CairoPath::~CairoPath):
38402        (WebCore::CairoPath::context):
38403
384042011-04-14  Nat Duca  <nduca@chromium.org>
38405
38406        Reviewed by Darin Fisher.
38407
38408        [chromium] Add lowpass filter and graph to fps indicator
38409        https://bugs.webkit.org/show_bug.cgi?id=58186
38410
38411        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
38412        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
38413        (WebCore::CCHeadsUpDisplay::drawHudContents):
38414        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
38415        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
38416        (WebCore::CCHeadsUpDisplay::onPresent):
38417        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
38418
384192011-04-14  Beth Dakin  <bdakin@apple.com>
38420
38421        Reviewed by Adele Peterson.
38422
38423        https://bugs.webkit.org/show_bug.cgi?id=58612
38424        Crash switching overlay/non-overlay scrollbar preference 
38425        (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
38426        -and corresponding-
38427        <rdar://problem/9241920> 
38428
38429        Speculative fix: Page could definitely be null here. 
38430        * page/FrameView.cpp:
38431        (WebCore::FrameView::scrollbarStyleChanged):
38432
384332011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
38434
38435        Reviewed by Pavel Feldman.
38436
38437        Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
38438        https://bugs.webkit.org/show_bug.cgi?id=58447
38439
38440        FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
38441
38442        * loader/FrameLoader.cpp:
38443        (WebCore::FrameLoader::loadResourceSynchronously):
38444        * platform/network/ResourceLoadInfo.h:
38445        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
38446
384472011-04-14  Alok Priyadarshi  <alokp@chromium.org>
38448
38449        Reviewed by James Robinson.
38450
38451        Remove dependency on chromium skia::PlatformCanvas
38452        https://bugs.webkit.org/show_bug.cgi?id=57563
38453
38454        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.
38455
38456        * platform/graphics/chromium/FontChromiumWin.cpp:
38457        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
38458        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
38459        (WebCore::Font::drawComplexText):
38460        * platform/graphics/chromium/ImageBufferDataSkia.h:
38461        * platform/graphics/chromium/LayerChromium.h:
38462        * platform/graphics/chromium/LayerRendererChromium.h:
38463        * platform/graphics/chromium/PlatformCanvas.cpp:
38464        (WebCore::PlatformCanvas::resize):
38465        * platform/graphics/chromium/PlatformCanvas.h:
38466        * platform/graphics/chromium/TransparencyWin.cpp:
38467        (WebCore::TransparencyWin::compositeTextComposite):
38468        (WebCore::TransparencyWin::makeLayerOpaque):
38469        * platform/graphics/skia/ImageBufferSkia.cpp:
38470        (WebCore::ImageBuffer::ImageBuffer):
38471        * platform/graphics/skia/ImageSkia.cpp:
38472        (WebCore::paintSkBitmap):
38473        (WebCore::Image::drawPattern):
38474        * platform/graphics/skia/PlatformContextSkia.cpp:
38475        (WebCore::PlatformContextSkia::PlatformContextSkia):
38476        (WebCore::PlatformContextSkia::setCanvas):
38477        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
38478        * platform/graphics/skia/PlatformContextSkia.h:
38479        (WebCore::PlatformContextSkia::canvas):
38480        (WebCore::PlatformContextSkia::printing):
38481        (WebCore::PlatformContextSkia::setPrinting):
38482
384832011-04-14  Eric Seidel  <eric@webkit.org>
38484
38485        Reviewed by Simon Fraser.
38486
38487        PumpSession should not call currentTime() in the constructor
38488        https://bugs.webkit.org/show_bug.cgi?id=55211
38489
38490        currentTime() is expensive.  So we avoid calling it in the constructor
38491        and instead set startTime on the first check for a yield
38492        (which in the synchronous case never happens, and in the yielding
38493        case will happen immediately after the first token due to
38494        processedTokens being set to INT_MAX).
38495
38496        This ended up being a large win on (my local copy of)
38497        peacekeeper's domDynamicCreationCreateElement:
38498
38499        Before:
38500        avg 366.3333333333333
38501        median 366
38502        stdev 2.712112747574399
38503        min 362
38504        max 377
38505
38506        After:
38507        avg 345.96666666666664
38508        median 346
38509        stdev 1.6829207415152454
38510        min 343
38511        max 349
38512
38513        * html/parser/HTMLDocumentParser.cpp:
38514        * html/parser/HTMLParserScheduler.h:
38515        (WebCore::PumpSession::PumpSession):
38516        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
38517
385182011-04-14  Ami Fischman  <fischman@google.com>
38519
38520        Reviewed by Eric Carlson.
38521
38522        Remove unnecessary bottom margin of controls in video elements on media documents.
38523        This makes the cases of media documents and non-media documents consistent,
38524        and makes it possible to reason about the height of a rendered media document
38525        (needed e.g. for sizing iframes).
38526
38527        This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
38528        media/video-controls-in-media-document.html layouttest (see bug 54634 for
38529        the un-Skipping).
38530
38531        https://bugs.webkit.org/show_bug.cgi?id=58442
38532
38533        * css/mediaControls.css:
38534        (video:-webkit-full-page-media::-webkit-media-controls-panel):
38535        * css/mediaControlsEfl.css:
38536        (video:-webkit-full-page-media::-webkit-media-controls-panel):
38537        * css/mediaControlsQuickTime.css:
38538        (video:-webkit-full-page-media::-webkit-media-controls-panel):
38539
385402011-04-14  Geoffrey Garen  <ggaren@apple.com>
38541
38542        Reviewed by Oliver Hunt.
38543
38544        Use opaque roots instead of direct marking for nodes in the DOM
38545        https://bugs.webkit.org/show_bug.cgi?id=58624
38546
38547        A node treats the root of its tree (usually the document) as its opaque
38548        root during GC.
38549        
38550        This is needed for correctness in a generational GC world, but it also
38551        happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).
38552
38553        * bindings/js/DOMWrapperWorld.cpp:
38554        (WebCore::isObservable):
38555        (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
38556        We use this function to determine whether a node is observable.
38557
38558        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
38559        our weak handle callback to determine reachability, instead of direct
38560        marking traversal through the DOM.
38561
38562        * bindings/js/JSAttrCustom.cpp:
38563        (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
38564        instead of direct marking.
38565
38566        * bindings/js/JSDOMBinding.cpp:
38567        * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
38568        markDOMNodeWrapper because it is now unused. This is a good thing because
38569        markDOMNodeWrapper used deprecatedAppend, which is not compatible
38570        with generational GC.
38571
38572        * bindings/js/JSDOMImplementationCustom.cpp:
38573        (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.
38574
38575        * bindings/js/JSDocumentCustom.cpp:
38576        (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
38577        since they will take care of themselves through the opaque roots mechanism.
38578
38579        * bindings/js/JSNamedNodeMapCustom.cpp:
38580        (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.
38581
38582        * bindings/js/JSNodeCustom.cpp:
38583        (WebCore::JSNode::markChildren): No need to mark our tree or our document
38584        directly, since they will take care of themselves through the opaque
38585        roots mechanism.
38586
38587        * bindings/js/JSNodeCustom.h:
38588        (WebCore::root): Helper function for accessing the root of a node tree.
38589        This is O(1) while you're in the document, O(log(N)) when you're in a
38590        reasonably balanced disconnected tree, and O(N) in the pathological case
38591        of a disconnected tree that's shaped like a linked list. If average case
38592        O(long(N)) turns out to be too slow, we can optimize through use of
38593        rare data or an external hash table, but it is so uncommon that I have
38594        ignored it for now.
38595
38596        * bindings/js/JSSVGElementInstanceCustom.cpp:
38597        (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.
38598
385992011-04-14  Mike Reed  <reed@google.com>
38600
38601        Reviewed by Kenneth Russell.
38602
38603        fix shadows with gradients
38604        https://bugs.webkit.org/show_bug.cgi?id=58376
38605
38606        No new tests. Existing tests exercise this
38607        LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html
38608
38609        * platform/graphics/skia/GraphicsContextSkia.cpp:
38610        (WebCore::GraphicsContext::setPlatformShadow):
38611
386122011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
38613
38614        Reviewed by Pavel Feldman.
38615
38616        Web Inspector: No headers information in network panel for downloads.
38617        https://bugs.webkit.org/show_bug.cgi?id=58139
38618
38619        Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
38620
38621        Test: http/tests/inspector/network/download.html
38622
38623        * inspector/InspectorInstrumentation.cpp:
38624        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
38625        (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
38626        (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
38627        * inspector/InspectorInstrumentation.h:
38628        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
38629        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
38630        * loader/MainResourceLoader.cpp:
38631        (WebCore::MainResourceLoader::continueAfterContentPolicy):
38632
386332011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
38634
38635        Reviewed by Martin Robinson.
38636
38637        Convert use of raw pointers to RefPtr in using Cairo
38638        https://bugs.webkit.org/show_bug.cgi?id=57717
38639
38640        No new tests added becaue of just replacing raw pointers with smart pointers.
38641
38642        * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
38643        (WebCore::purgeScratchBuffer):
38644        (WebCore::getScratchBuffer):
38645        * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
38646        (copySurface):
38647
386482011-04-14  Naoki Takano  <takano.naoki@gmail.com>
38649
38650        Reviewed by Eric Seidel.
38651
38652        [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
38653        https://bugs.webkit.org/show_bug.cgi?id=57818
38654
38655        Test: fast/forms/select-background-none.html
38656
38657        This fix is only for Chromium on Linux. Chromium on Mac already works fine.
38658        But Windows has the same problem. This change doesn't include Windows part.
38659
38660        * rendering/RenderThemeChromiumLinux.cpp:
38661        (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.
38662
386632011-04-14  Luke Macpherson   <macpherson@chromium.org>
38664
38665        Reviewed by Dimitri Glazkov.
38666
38667        Implement border style css properties in CSSStyleApplyProperty
38668        https://bugs.webkit.org/show_bug.cgi?id=58506
38669
38670        No new functionality added.
38671
38672        * css/CSSStyleApplyProperty.cpp:
38673        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
38674        Added new property initializers.
38675
38676        * css/CSSStyleSelector.cpp:
38677        (WebCore::CSSStyleSelector::applyProperty):
38678        Removed old property handlers.
38679
386802011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
38681
38682        Reviewed by Ojan Vafai.
38683
38684        Presence of shadow DOM should suppress rendering of ordinary child nodes
38685        https://bugs.webkit.org/show_bug.cgi?id=58073
38686
38687        Test: fast/dom/shadow/no-renderers-for-light-children.html
38688
38689        * dom/Node.cpp:
38690        (WebCore::shadowRoot): Added a helper function.
38691        (WebCore::Node::setDocumentRecursively): Changed to use the helper.
38692        (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
38693            added a check for children of an element with a shadow DOM.
38694        (WebCore::Node::createRendererAndStyle): Changed to use the helper.
38695
386962011-04-14  Adrienne Walker  <enne@google.com>
38697
38698        Reviewed by James Robinson.
38699
38700        [chromium] Tile content and image layers
38701        https://bugs.webkit.org/show_bug.cgi?id=57113
38702
38703        Layers tile by default if any dimension is larger than 512.  Smaller
38704        layers are contained within a single texture but still use the tiler
38705        infrastructure so that there's only one code path.
38706
38707        Remove large layer support from content layers.  Content layers no
38708        longer own a platform canvas--they own a tiler.  Refactor tiler to
38709        allow for better separation of update/upload/paint.  Add rect
38710        parameter to update and draw functions on layers for the layer-space
38711        rect of interest.  This is necessary to know which tiles need to be
38712        drawn.
38713
38714        * platform/graphics/chromium/ContentLayerChromium.cpp:
38715        (WebCore::ContentLayerChromium::ContentLayerChromium):
38716        (WebCore::ContentLayerChromium::~ContentLayerChromium):
38717        (WebCore::ContentLayerPainter::ContentLayerPainter):
38718        (WebCore::ContentLayerPainter::paint):
38719        (WebCore::ContentLayerChromium::paintContentsIfDirty):
38720        (WebCore::ContentLayerChromium::setLayerRenderer):
38721        (WebCore::ContentLayerChromium::tilingTransform):
38722        (WebCore::ContentLayerChromium::visibleLayerRect):
38723        (WebCore::ContentLayerChromium::layerBounds):
38724        (WebCore::ContentLayerChromium::updateLayerSize):
38725        (WebCore::ContentLayerChromium::draw):
38726        (WebCore::ContentLayerChromium::createTilerIfNeeded):
38727        (WebCore::ContentLayerChromium::updateCompositorResources):
38728        (WebCore::ContentLayerChromium::setTilingOption):
38729        (WebCore::ContentLayerChromium::bindContentsTexture):
38730        (WebCore::ContentLayerChromium::unreserveContentsTexture):
38731        (WebCore::ContentLayerChromium::setIsMask):
38732        (WebCore::ContentLayerChromium::dumpLayerProperties):
38733        * platform/graphics/chromium/ContentLayerChromium.h:
38734        (WebCore::ContentLayerChromium::drawsContent):
38735        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
38736        (WebCore::GraphicsLayerChromium::setMaskLayer):
38737        * platform/graphics/chromium/ImageLayerChromium.cpp:
38738        (WebCore::ImageLayerChromium::paintContentsIfDirty):
38739        (WebCore::ImageLayerChromium::updateCompositorResources):
38740        (WebCore::ImageLayerChromium::layerBounds):
38741        (WebCore::ImageLayerChromium::tilingTransform):
38742        * platform/graphics/chromium/ImageLayerChromium.h:
38743        * platform/graphics/chromium/LayerChromium.h:
38744        (WebCore::LayerChromium::invalidateRect):
38745        (WebCore::LayerChromium::paintContentsIfDirty):
38746        (WebCore::LayerChromium::setIsMask):
38747        (WebCore::LayerChromium::draw):
38748        * platform/graphics/chromium/LayerRendererChromium.cpp:
38749        (WebCore::LayerRendererChromium::drawRootLayer):
38750        (WebCore::LayerRendererChromium::drawLayers):
38751        (WebCore::LayerRendererChromium::paintContentsRecursive):
38752        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
38753        (WebCore::LayerRendererChromium::drawLayer):
38754        (WebCore::LayerRendererChromium::initializeSharedObjects):
38755        (WebCore::LayerRendererChromium::cleanupSharedObjects):
38756        * platform/graphics/chromium/LayerRendererChromium.h:
38757        * platform/graphics/chromium/LayerTilerChromium.cpp:
38758        (WebCore::LayerTilerChromium::setTileSize):
38759        (WebCore::LayerTilerChromium::getSingleTexture):
38760        (WebCore::LayerTilerChromium::invalidateRect):
38761        (WebCore::LayerTilerChromium::update):
38762        (WebCore::LayerTilerChromium::uploadCanvas):
38763        (WebCore::LayerTilerChromium::updateFromPixels):
38764        (WebCore::LayerTilerChromium::draw):
38765        (WebCore::LayerTilerChromium::unreserveTextures):
38766        * platform/graphics/chromium/LayerTilerChromium.h:
38767        (WebCore::LayerTilerChromium::setLayerRenderer):
38768        (WebCore::LayerTilerChromium::skipsDraw):
38769        * platform/graphics/chromium/PlatformCanvas.cpp:
38770        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
38771        (WebCore::PlatformCanvas::Painter::Painter):
38772        * platform/graphics/chromium/PlatformCanvas.h:
38773        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
38774        (WebCore::RenderSurfaceChromium::draw):
38775        * platform/graphics/chromium/RenderSurfaceChromium.h:
38776        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
38777        (WebCore::CCCanvasLayerImpl::draw):
38778        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
38779        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
38780        (WebCore::CCHeadsUpDisplay::draw):
38781        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
38782        (WebCore::CCLayerImpl::draw):
38783        * platform/graphics/chromium/cc/CCLayerImpl.h:
38784        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
38785        (WebCore::CCPluginLayerImpl::draw):
38786        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
38787        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
38788        (WebCore::CCVideoLayerImpl::draw):
38789        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
38790
387912011-04-14  James Robinson  <jamesr@chromium.org>
38792
38793        Reviewed by Darin Fisher.
38794
38795        [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
38796        https://bugs.webkit.org/show_bug.cgi?id=58575
38797
38798        Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
38799        is called, not contentsResized() so that we always update layers when adding or removing scrollbars.
38800
38801        Covered by several chromium pixel tests.
38802
38803        * page/FrameView.cpp:
38804        (WebCore::FrameView::contentsResized):
38805        (WebCore::FrameView::visibleContentsResized):
38806
388072011-04-07  David Levin  <levin@chromium.org>
38808
38809        Reviewed by Brady Eidson.
38810
38811        Fix some threading issues in IconDatabase.
38812        https://bugs.webkit.org/show_bug.cgi?id=57985
38813
38814        No functionality change so no new tests. It would be very hard to test this, but
38815        I am working on a change for bug 31639 to detect these (which makes layout tests
38816        fail for at least one of these issues).
38817
38818        * loader/icon/IconDatabase.cpp:
38819        (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks.
38820        (WebCore::IconDatabase::readFromDatabase): Ditto.
38821        (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
38822        is used, and this lock seems to be the one which consistently guards it.
38823
388242011-04-14  Dmitry Titov  <dimich@chromium.org>
38825
38826        Reviewed by David Levin.
38827
38828        Simplifying Worker termination sequence (removing unnecessary mutex)
38829        https://bugs.webkit.org/show_bug.cgi?id=57090
38830
38831        No new tests. Existing Worker tests should pass.
38832
38833        * bindings/js/JSEventListener.cpp:
38834        (WebCore::JSEventListener::handleEvent):
38835        Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
38836        JS might not run significant enough chunk to be terminated by Terminator) and set
38837        the flag to forbid future reentry into JS.
38838
38839        * bindings/js/WorkerScriptController.cpp:
38840        (WebCore::WorkerScriptController::evaluate):
38841        (WebCore::WorkerScriptController::scheduleExecutionTermination):
38842        (WebCore::WorkerScriptController::forbidExecution):
38843        (WebCore::WorkerScriptController::isExecutionForbidden):
38844        * bindings/js/WorkerScriptController.h:
38845        * bindings/v8/WorkerScriptController.cpp:
38846        (WebCore::WorkerScriptController::evaluate):
38847        (WebCore::WorkerScriptController::scheduleExecutionTermination):
38848        (WebCore::WorkerScriptController::forbidExecution):
38849        (WebCore::WorkerScriptController::isExecutionForbidden):
38850        * bindings/v8/WorkerScriptController.h:
38851        (WebCore::WorkerScriptController::proxy):
38852        Symmetrical changes to JSC and V8 WorkerScriptControllers:
38853        - remove Mutex around operations with executionForbidden flag.
38854        - set/check that flag only on Worker thread.
38855        - some renaming in attempt to better reflect what the methods do.
38856
38857        * bindings/v8/V8AbstractEventListener.cpp:
38858        (WebCore::V8AbstractEventListener::handleEvent):
38859        (WebCore::V8AbstractEventListener::invokeEventHandler):
38860        * bindings/v8/WorkerContextExecutionProxy.cpp:
38861        (WebCore::WorkerContextExecutionProxy::evaluate):
38862        Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
38863        This result indicates that TerminateExecution() was in effect - we should
38864        not reenter V8 anymore after that.
38865
38866        * dom/Document.h:
38867        (WebCore::Document::isJSExecutionForbidden):
38868        * dom/MessagePort.cpp:
38869        (WebCore::MessagePort::dispatchMessages):
38870        Stop dispatching messages once the worker context started to close.
38871        Per Workers spec, once WorkerGlobalScope.Close() is called, the next
38872        JS execution does not happen, including onmessage events. Before this
38873        change, Close() was setting the forbidExecution flag, indirectly stopping
38874        events from dispatching.
38875
38876        * dom/ScriptExecutionContext.h:
38877        * workers/WorkerContext.cpp:
38878        (WebCore::WorkerContext::close):
38879        (WebCore::WorkerContext::isJSExecutionForbidden):
38880        * workers/WorkerContext.h:
38881        * workers/WorkerThread.cpp:
38882        (WebCore::WorkerThread::workerThread):
38883        (WebCore::WorkerThread::stop):
38884
388852011-04-14  Beth Dakin  <bdakin@apple.com>
38886
38887        Reviewed by Simon Fraser.
38888
38889        https://bugs.webkit.org/show_bug.cgi?id=56493
38890        Drag-scrolling overlay scrollbars thumb in overflow regions does not work
38891        -and corresponding-
38892        <rdar://problem/9112688>
38893
38894        There was an original change to fix this in the normal hit-testing case, but hit 
38895        testing of transformed and/or positioned objects was still broken. The transformed 
38896        case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to 
38897        calculateRects(). Getting positioned objects right is a little trickier. Those need 
38898        to opt into using temporary clip rects during hit testing. To avoid doing that when 
38899        it is not necessary, I added a new bit to ScrollView to track whether there are 
38900        currently overlay scrollbars painted in the view.
38901        * platform/ScrollView.cpp:
38902        (WebCore::ScrollView::ScrollView):
38903        (WebCore::ScrollView::wheelEvent):
38904        * platform/ScrollView.h:
38905        (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
38906        (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
38907        * rendering/RenderLayer.cpp:
38908        (WebCore::RenderLayer::paintOverflowControls):
38909        (WebCore::RenderLayer::hitTestLayer):
38910        (WebCore::RenderLayer::updateClipRects):
38911        (WebCore::RenderLayer::calculateClipRects):
38912        (WebCore::RenderLayer::parentClipRects):
38913        (WebCore::RenderLayer::backgroundClipRect):
38914        (WebCore::RenderLayer::calculateRects):
38915        * rendering/RenderLayer.h:
38916
389172011-04-14  Antti Koivisto  <antti@apple.com>
38918
38919        Reviewed by Oliver Hunt.
38920
38921        REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load
38922        https://bugs.webkit.org/show_bug.cgi?id=57766
38923        <rdar://problem/9232183>
38924
38925        Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
38926        we can try to interpret the same cached resource in multiple ways.
38927
38928        Test: fast/css/font-face-repeated-url.html
38929
38930        * css/CSSFontFaceSource.cpp:
38931        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
38932        (WebCore::CSSFontFaceSource::getFontData):
38933        * css/CSSFontFaceSource.h:
38934        (WebCore::CSSFontFaceSource::setHasExternalSVGFont):
38935        * css/CSSFontSelector.cpp:
38936        (WebCore::CSSFontSelector::addFontFaceRule):
38937        * loader/cache/CachedFont.cpp:
38938        (WebCore::CachedFont::CachedFont):
38939        (WebCore::CachedFont::ensureCustomFontData):
38940        (WebCore::CachedFont::ensureSVGFontData):
38941
38942            Use TextResourceDecoder correctly.
38943
38944        (WebCore::CachedFont::getSVGFontById):
38945        * loader/cache/CachedFont.h:
38946        * svg/SVGFontFaceUriElement.cpp:
38947        (WebCore::SVGFontFaceUriElement::loadFont):
38948
389492011-04-14  Kenneth Russell  <kbr@google.com>
38950
38951        Reviewed by Dimitri Glazkov.
38952
38953        Enable building Web Audio with MKL in Chrome-branded builds
38954        https://bugs.webkit.org/show_bug.cgi?id=58561
38955
38956        Factored out MKL support into a separate GYP file that is
38957        incorporated in Chrome-branded builds. Changed how the FFTFrame
38958        implementations are pulled in and chosen so that all files can be
38959        unconditionally compiled.
38960
38961        Tested with both Chrome-branded build (incorporating MKL) and
38962        Chromium build (building just FFTFrameStub.cpp) on Linux.
38963
38964        * WebCore.gyp/WebCore.gyp:
38965        * platform/audio/fftw/FFTFrameFFTW.cpp:
38966        * platform/audio/mkl/FFTFrameMKL.cpp:
38967
389682011-04-14  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
38969
38970        Reviewed by Antonio Gomes.
38971
38972        [Qt] Web Inspector does not highlight elements
38973        https://bugs.webkit.org/show_bug.cgi?id=35125
38974
38975        We should call drawNodeHighlight() just if a highlighted node exists
38976        to avoid do save()/restore() on the Graphics Context unnecessarily.
38977
38978        Added highlightedNode() method to check if we need to call drawNodeHighlight()
38979        and only on this case do save()/restore() on the Graphics Context.
38980
38981        * inspector/InspectorAgent.h:
38982        (WebCore::InspectorAgent::highlightedNode):
38983
389842011-04-14  Adrienne Walker  <enne@google.com>
38985
38986        Reviewed by James Robinson.
38987
38988        [chromium] TilingData should return 1 tile when tile size is texture size.
38989        https://bugs.webkit.org/show_bug.cgi?id=58364
38990
38991        * platform/graphics/gpu/TilingData.cpp:
38992        (WebCore::computeNumTiles):
38993
389942011-04-14  Andy Estes  <aestes@apple.com>
38995
38996        Reviewed by Dan Bernstein.
38997
38998        REGRESSION (r72141): Acid3 rendering is not pixel perfect.
38999        https://bugs.webkit.org/show_bug.cgi?id=55734
39000        
39001        WebCore should render text with a 0px font size at 0px regardless of
39002        minimum font size settings. This is compatible with other browsers that
39003        have a minimum font size preference and ensures pixel-perfect rendering
39004        on Acid3.
39005
39006        Test: fast/text/zero-font-size.html
39007
39008        * css/CSSStyleSelector.cpp:
39009        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If
39010        specifiedSize is 0, return specified size regardless of zoom factor or
39011        minimum font size.
39012
390132011-04-14  Matthew Delaney  <mdelaney@apple.com>
39014
39015        Reviewed by Simon Fraser.
39016
39017        Have canvas drawImageFromRect just redirect to use drawImage
39018        https://bugs.webkit.org/show_bug.cgi?id=58516
39019
39020        Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html
39021
39022        * html/canvas/CanvasRenderingContext2D.cpp:
39023        (WebCore::CanvasRenderingContext2D::drawImage):
39024        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
39025        * html/canvas/CanvasRenderingContext2D.h:
39026
390272011-04-14  James Robinson  <jamesr@chromium.org>
39028
39029        Reviewed by Simon Fraser.
39030
39031        REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests)
39032        https://bugs.webkit.org/show_bug.cgi?id=58535
39033
39034        Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build.
39035
39036        * rendering/RenderLayerBacking.cpp:
39037        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
39038        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
39039        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
39040        * rendering/RenderLayerCompositor.cpp:
39041        (WebCore::shouldCompositeOverflowControls):
39042
390432011-04-14  Jian Li  <jianli@chromium.org>
39044
39045        Reviewed by Darin Fisher.
39046
39047        BlobBuilder should be vendor-prefixed
39048        https://bugs.webkit.org/show_bug.cgi?id=58518
39049
39050        Renamed BlobBuilder to WebKitBlobBuilder.
39051
39052        * Android.derived.jscbindings.mk:
39053        * Android.derived.v8bindings.mk:
39054        * CMakeLists.txt:
39055        * CodeGenerators.pri:
39056        * DerivedSources.cpp:
39057        * DerivedSources.make:
39058        * GNUmakefile.list.am:
39059        * WebCore.gypi:
39060        * WebCore.pro:
39061        * WebCore.vcproj/WebCore.vcproj:
39062        * WebCore.xcodeproj/project.pbxproj:
39063        * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp.
39064        (WebCore::WebKitBlobBuilder::WebKitBlobBuilder):
39065        (WebCore::WebKitBlobBuilder::getBuffer):
39066        (WebCore::WebKitBlobBuilder::append):
39067        (WebCore::WebKitBlobBuilder::getBlob):
39068        * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h.
39069        (WebCore::WebKitBlobBuilder::create):
39070        * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl.
39071        * page/DOMWindow.idl:
39072        * workers/WorkerContext.idl:
39073
390742011-04-14  Adam Barth  <abarth@webkit.org>
39075
39076        Remove some trailing whitespace.  I'm making this change to initialize
39077        the SVN credentials on a new commit-queue machine.  I'm sure there's a
39078        better way to do this, but I don't know it.
39079
39080        * dom/Document.cpp:
39081        (WebCore::Document::Document):
39082
390832011-04-14  Pratik Solanki  <psolanki@apple.com>
39084
39085        Reviewed by David Kilzer.
39086
39087        Set minimum priority for fast lane connections
39088        https://bugs.webkit.org/show_bug.cgi?id=58353
39089
39090        * WebCore.exp.in:
39091        * platform/mac/WebCoreSystemInterface.h:
39092        * platform/mac/WebCoreSystemInterface.mm:
39093        * platform/network/cf/ResourceRequestCFNet.cpp:
39094        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
39095        wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast
39096        lane connections.
39097
390982011-04-14  Kenneth Russell  <kbr@google.com>
39099
39100        Reviewed by Dimitri Glazkov.
39101
39102        Fix Web Audio build on Linux Debug and with stub FFTFrame
39103        https://bugs.webkit.org/show_bug.cgi?id=58555
39104
39105        Built Chromium/Linux in Debug mode to test.
39106
39107        * platform/audio/FFTFrame.cpp:
39108        * platform/audio/FFTFrameStub.cpp:
39109        (WebCore::FFTFrame::initialize):
39110        * webaudio/AudioContext.cpp:
39111        * webaudio/DefaultAudioDestinationNode.cpp:
39112
391132011-04-14  Yury Semikhatsky  <yurys@chromium.org>
39114
39115        Reviewed by Pavel Feldman.
39116
39117        [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer
39118        https://bugs.webkit.org/show_bug.cgi?id=58552
39119
39120        * bindings/v8/DebuggerScript.js:
39121        * bindings/v8/WorkerContextExecutionProxy.cpp:
39122        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context
39123        now have a debug id (similar to frame contexts).
39124        * bindings/v8/WorkerScriptDebugServer.cpp:
39125        (WebCore::retrieveWorkerContext):
39126        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
39127        (WebCore::WorkerScriptDebugServer::addListener):
39128        (WebCore::WorkerScriptDebugServer::removeListener):
39129        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
39130        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until
39131        debugger command is received and execution is resumed.
39132        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
39133        * bindings/v8/WorkerScriptDebugServer.h:
39134        * inspector/WorkerDebuggerAgent.cpp:
39135        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
39136        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
39137
391382011-04-14  Jian Li  <jianli@chromium.org>
39139
39140        Reviewed by Darin Fisher.
39141
39142        Add webkit prefix to Blob.slice method and change its semantics to be
39143        like Array.slice
39144        https://bugs.webkit.org/show_bug.cgi?id=58496
39145
39146        Renamed Blob.slice to blob.webkitSlice and made it take start and end
39147        parameters that're like Array.slice.
39148
39149        Test: fast/files/blob-slice-test.html
39150
39151        * fileapi/Blob.cpp:
39152        (WebCore::Blob::webkitSlice):
39153        * fileapi/Blob.h:
39154        * fileapi/Blob.idl:
39155
391562011-04-14  Andreas Kling  <kling@webkit.org>
39157
39158        Reviewed by Benjamin Poulain.
39159
39160        [Qt] Height of "Ahem" font differs from all other ports.
39161        https://bugs.webkit.org/show_bug.cgi?id=57954
39162
39163        QFontMetricsF::descent() returns the actual descent minus 1,
39164        to account for the baseline. Add it back to get correct metrics
39165        for WebKit.
39166
39167        QFontMetricsF::leading() may return negative values on some
39168        platforms (those using FreeType), this breaks WebKit's assumption
39169        that lineSpacing >= (ascent + descent), so we work around this in
39170        the same fashion as SimpleFontDataFreeType and SimpleFontDataPango.
39171
39172        This is covered by thousands of layout tests.
39173
39174        * platform/graphics/qt/SimpleFontDataQt.cpp:
39175        (WebCore::SimpleFontData::platformInit):
39176
391772011-04-14  Kevin Ollivier  <kevino@theolliviers.com>
39178
39179        [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1.
39180
39181        * platform/graphics/wx/FontPlatformDataWx.cpp:
39182        (WebCore::FontPlatformData::FontPlatformData):
39183        * platform/wx/FileSystemWx.cpp:
39184        (WebCore::writeToFile):
39185
391862011-04-14  Anders Carlsson  <andersca@apple.com>
39187
39188        Fix build.
39189
39190        RuntimeApplicationChecks.h needs to be a private header so WebKit can find it.
39191
39192        * WebCore.xcodeproj/project.pbxproj:
39193
391942011-04-14  Pavel Podivilov  <podivilov@chromium.org>
39195
39196        Unreviewed, build fix for r83864.
39197
39198        * inspector/front-end/DOMAgent.js:
39199        (WebInspector.DOMAgent.prototype._childNodeRemoved):
39200
392012011-04-14  Alexander Pavlov  <apavlov@chromium.org>
39202
39203        Reviewed by Pavel Feldman.
39204
39205        Web Inspector: Content area highlight does not cover scrollbars
39206        https://bugs.webkit.org/show_bug.cgi?id=58528
39207
39208        * inspector/DOMNodeHighlighter.cpp:
39209        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
39210
392112011-04-14  Pavel Podivilov  <podivilov@chromium.org>
39212
39213        Reviewed by Pavel Feldman.
39214
39215        Web Inspector: re-implement dom breakpoints.
39216        https://bugs.webkit.org/show_bug.cgi?id=57038
39217
39218        * WebCore.gypi:
39219        * WebCore.vcproj/WebCore.vcproj:
39220        * inspector/front-end/BreakpointManager.js: Removed.
39221        * inspector/front-end/BreakpointsSidebarPane.js:
39222        (WebInspector.NativeBreakpointsSidebarPane):
39223        (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
39224        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
39225        * inspector/front-end/CallStackSidebarPane.js:
39226        (WebInspector.CallStackSidebarPane.prototype.update):
39227        (WebInspector.CallStackSidebarPane.prototype.setStatus):
39228        * inspector/front-end/DOMAgent.js:
39229        (WebInspector.DOMNode):
39230        (WebInspector.DOMAgent.prototype._childNodeRemoved):
39231        * inspector/front-end/DOMBreakpointsSidebarPane.js: Added.
39232        (WebInspector.DOMBreakpointsSidebarPane):
39233        (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL):
39234        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint):
39235        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu):
39236        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
39237        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
39238        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s):
39239        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append):
39240        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage):
39241        (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved):
39242        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode):
39243        (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
39244        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint):
39245        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
39246        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
39247        (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked):
39248        (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
39249        (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
39250        (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId):
39251        (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
39252        (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints):
39253        * inspector/front-end/ElementsPanel.js:
39254        (WebInspector.ElementsPanel):
39255        (WebInspector.ElementsPanel.prototype.show):
39256        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
39257        (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs):
39258        * inspector/front-end/ElementsTreeOutline.js:
39259        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
39260        * inspector/front-end/ScriptsPanel.js:
39261        (WebInspector.ScriptsPanel):
39262        (WebInspector.ScriptsPanel.prototype.show):
39263        (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
39264        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
39265        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
39266        (WebInspector.ScriptsPanel.prototype._clearInterface):
39267        * inspector/front-end/Settings.js:
39268        (WebInspector.Settings):
39269        (WebInspector.Settings.prototype._set):
39270        * inspector/front-end/WebKit.qrc:
39271        * inspector/front-end/inspector.html:
39272        * inspector/front-end/inspector.js:
39273        (WebInspector.inspectedURLChanged):
39274        * inspector/front-end/utilities.js:
39275        ():
39276
392772011-04-14  Satish Sampath  <satish@chromium.org>
39278
39279        Reviewed by Kent Tamura.
39280
39281        Disable speech input for readonly and disabled input fields.
39282        https://bugs.webkit.org/show_bug.cgi?id=58540
39283
39284        Test: fast/speech/input-readonly-and-disabled.html
39285
39286        * html/shadow/TextControlInnerElements.cpp:
39287        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
39288        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
39289
392902011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
39291
39292        Unreviewed. Rollout r83849 and r83857.
39293
39294        * inspector/Inspector.json:
39295        * inspector/InspectorDatabaseAgent.cpp:
39296        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
39297        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
39298        (WebCore::InspectorDatabaseAgent::setFrontend):
39299        (WebCore::InspectorDatabaseAgent::clearFrontend):
39300        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
39301        (WebCore::InspectorDatabaseAgent::executeSQL):
39302        * inspector/InspectorDatabaseAgent.h:
39303        * inspector/front-end/inspector.js:
39304
393052011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
39306
39307        Unreviewed, rolling out r83847.
39308        http://trac.webkit.org/changeset/83847
39309        https://bugs.webkit.org/show_bug.cgi?id=58477
39310
39311        Chromium media controls do use button borders, so this change
39312        is incorrect.
39313
39314        * css/mediaControls.css:
39315        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
39316        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
39317        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
39318        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
39319        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
39320        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
39321        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
39322        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
39323        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
39324        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
39325        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
39326
393272011-04-14  Andrew Wason  <rectalogic@rectalogic.com>
39328
39329        Reviewed by Andreas Kling.
39330
39331        Fix GraphicsContext3DQt.cpp compilation warnings treated as errors
39332        https://bugs.webkit.org/show_bug.cgi?id=58478
39333
39334        No new tests.
39335
39336        * platform/graphics/qt/GraphicsContext3DQt.cpp:
39337        (WebCore::GraphicsContext3DInternal::getProcAddress):
39338         Do not use deprecated QString constructor to avoid warning.
39339        (WebCore::GraphicsContext3D::reshape):
39340         Use parenthesis to avoid warning.
39341
393422011-04-14  Andrey Kosyakov  <caseq@chromium.org>
39343
39344        Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820,
39345        as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner()
39346        with a different signature)
39347
39348        * platform/ScrollableArea.h:
39349
393502011-04-14  Mikhail Naganov  <mnaganov@chromium.org>
39351
39352        Reviewed by Pavel Feldman.
39353
39354        Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers.
39355        https://bugs.webkit.org/show_bug.cgi?id=58534
39356
39357        * inspector/front-end/DetailedHeapshotGridNodes.js:
39358        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
39359        (WebInspector.HeapSnapshotDiffNode):
39360        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
39361        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
39362        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
39363        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
39364        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
39365        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
39366        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
39367        * inspector/front-end/DetailedHeapshotView.js:
39368        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
39369        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
39370        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
39371        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
39372        * inspector/front-end/HeapSnapshot.js:
39373        (WebInspector.HeapSnapshot):
39374        (WebInspector.HeapSnapshot.prototype.dispose):
39375        (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex):
39376        (WebInspector.HeapSnapshot.prototype._numbersComparator):
39377        (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode):
39378        (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds):
39379        (WebInspector.HeapSnapshotsDiff):
39380        (WebInspector.HeapSnapshotsDiff.prototype.set baseIds):
39381        (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes):
39382        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
39383        * inspector/front-end/HeapSnapshotProxy.js:
39384        (WebInspector.HeapSnapshotProxy):
39385        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
39386        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
39387        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
39388        (WebInspector.HeapSnapshotProxy.prototype.dispose):
39389        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
39390        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
39391        (WebInspector.HeapSnapshotsDiffProxy):
39392        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
39393        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
39394        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
39395
393962011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
39397
39398        Reviewed by Pavel Feldman.
39399
39400        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
39401        https://bugs.webkit.org/show_bug.cgi?id=57833
39402
39403        * inspector/Inspector.json:
39404        * inspector/InspectorDatabaseAgent.cpp:
39405        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
39406        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
39407        (WebCore::InspectorDatabaseAgent::setFrontend):
39408        (WebCore::InspectorDatabaseAgent::enable):
39409        (WebCore::InspectorDatabaseAgent::disable):
39410        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
39411        (WebCore::InspectorDatabaseAgent::executeSQL):
39412        * inspector/InspectorDatabaseAgent.h:
39413        * inspector/front-end/inspector.js:
39414
394152011-04-14  Alexander Pavlov  <apavlov@chromium.org>
39416
39417        Reviewed by Yury Semikhatsky.
39418
39419        Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane
39420        https://bugs.webkit.org/show_bug.cgi?id=58530
39421
39422        * inspector/front-end/ElementsPanel.js:
39423
394242011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
39425
39426        Reviewed by Dimitri Glazkov.
39427
39428        REGRESSION(r83397) [Qt] When clicking on the media elements they
39429        grow 2 pixels.
39430        https://bugs.webkit.org/show_bug.cgi?id=58477
39431
39432        Since r83397 the media controls elements are actual DOM elements.
39433        Therefore the global style-sheet applies to them. html.css defines
39434        input[type="button"]:active to be border-style: inset which means
39435        that when the buttons are active they grow by their border size.
39436
39437        * css/mediaControls.css:
39438        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
39439        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
39440        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
39441        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
39442        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
39443        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
39444        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
39445        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
39446        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
39447        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
39448        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
39449
394502011-04-14  Diego Gonzalez  <diegohcg@webkit.org>
39451
39452        Reviewed by Kenneth Rohde Christiansen.
39453
39454        [Qt] Improve disable style for input elements in mobile theme
39455        https://bugs.webkit.org/show_bug.cgi?id=58480
39456
39457        * platform/qt/QtMobileWebStyle.cpp:
39458        (QtMobileWebStyle::drawControl):
39459        (QtMobileWebStyle::drawPrimitive):
39460        (QtMobileWebStyle::drawComplexControl):
39461
394622011-04-14  Pavel Feldman  <pfeldman@google.com>
39463
39464        Reviewed by Yury Semikhatsky.
39465
39466        Web Inspector: restore previous selection in Resources panel upon front-end reopen.
39467        https://bugs.webkit.org/show_bug.cgi?id=58533
39468
39469        * inspector/front-end/ResourceTreeModel.js:
39470        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
39471        * inspector/front-end/ResourcesPanel.js:
39472        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
39473        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
39474        (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
39475        * inspector/front-end/inspector.css:
39476        (#close-button-left, #close-button-right):
39477
394782011-04-14  Pavel Feldman  <pfeldman@google.com>
39479
39480        Reviewed by Yury Semikhatsky.
39481
39482        Web Inspector: implement incremental CSS free flow editing.
39483        https://bugs.webkit.org/show_bug.cgi?id=58529
39484
39485        * inspector/front-end/CSSStyleModel.js:
39486        (WebInspector.CSSStyleSheet.prototype.setText):
39487        * inspector/front-end/Resource.js:
39488        (WebInspector.Resource.prototype.isResourceRevision):
39489        (WebInspector.Resource.prototype.setContent):
39490        * inspector/front-end/ResourceView.js:
39491        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
39492        (WebInspector.CSSSourceFrame.prototype.editContent):
39493        (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit):
39494        (WebInspector.CSSSourceFrame.prototype.endEditing):
39495        * inspector/front-end/SourceFrame.js:
39496        (WebInspector.SourceFrame.prototype.commitEditing):
39497        (WebInspector.SourceFrame.prototype.editContent):
39498
394992011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
39500
39501        Reviewed by Pavel Feldman.
39502
39503        Web Inspector:Duplicated display of storage db when running Web SQL from an iframe.
39504        https://bugs.webkit.org/show_bug.cgi?id=57830
39505
39506        There was created a new InspectorDatabaseResource entry for every didOpenDatabase event.
39507        Moreover there is new WebCore::Database for each didOpenDatabase event.
39508        I decided to change the old instance of the Database to a new one if they both use the same file.
39509
39510        * inspector/InspectorDatabaseAgent.cpp:
39511        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
39512        (WebCore::InspectorDatabaseAgent::findByFileName):
39513        * inspector/InspectorDatabaseAgent.h:
39514        * inspector/InspectorDatabaseResource.h:
39515        (WebCore::InspectorDatabaseResource::setDatabase):
39516
395172011-04-14  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
39518
39519        Reviewed by Dirk Schulze.
39520
39521        svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build
39522        https://bugs.webkit.org/show_bug.cgi?id=58525
39523
39524        A renderer is created even for those filter primitives
39525        which parent is not a filter. A rendererIsNeeded() is
39526        added to SVGFilterPrimitiveStandardAttributes.
39527
39528        Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
39529
39530        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
39531        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
39532        * svg/SVGFilterPrimitiveStandardAttributes.h:
39533
395342011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
39535
39536        Reviewed by Andreas Kling.
39537
39538        REGRESSION(r83397) [Qt] When the video is loading and the poster is shown
39539        all the controls are not visible except the play button.
39540        https://bugs.webkit.org/show_bug.cgi?id=58484
39541
39542        r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when
39543        the controls should be disabled. Qt port paints its own controls, we don't want
39544        the default implementation to handle the hidden/disable state for us.
39545
39546        Existing tests covers the visibility of the controls.
39547
39548        * platform/qt/RenderThemeQt.h:
39549        (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor):
39550
395512011-04-14  Andreas Kling  <andreas.kling@nokia.com>
39552
39553        Reviewed by Kenneth Rohde Christiansen.
39554
39555        [Qt] Disabled form controls don't actually look disabled.
39556        https://bugs.webkit.org/show_bug.cgi?id=58490
39557
39558        Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance
39559        when painting controls. We must also set the QStyleOption's palette's current
39560        color group.
39561
39562        * platform/qt/RenderThemeQt.cpp:
39563        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
39564
395652011-04-14  Nancy Piedra  <nancy.piedra@nokia.com>
39566
39567        Reviewed by Benjamin Poulain.
39568
39569        [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter
39570        https://bugs.webkit.org/show_bug.cgi?id=58188
39571
39572        The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into
39573        a QStringList. This change parses and trims the list.
39574
39575        An additional test was added to video-can-play-type.html to test parsing of codec parameter.
39576
39577        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
39578        (WebCore::MediaPlayerPrivateQt::supportsType):
39579
395802011-04-14  Zoltan Herczeg  <zherczeg@webkit.org>
39581
39582        Reviewed by Nikolas Zimmermann.
39583
39584        Optimizing lightning filter to ARM-NEON SIMD instruction set
39585        https://bugs.webkit.org/show_bug.cgi?id=54456
39586
39587        NEON is the SIMD instruction set for ARM. This instruction set
39588        allows to speed-up the lighting filter by 4 times on ARM
39589        (on WebCore/manual-tests/svg-filter-animation.svg).
39590
39591        * WebCore.pri:
39592        * WebCore.pro:
39593        * platform/graphics/filters/FELighting.cpp:
39594        (WebCore::FELighting::drawLighting):
39595        (WebCore::getPowerCoefficients):
39596        (WebCore::FELighting::drawInteriorPixels):
39597        * platform/graphics/filters/FELighting.h:
39598        * platform/graphics/filters/arm/FELightingNEON.cpp: Added.
39599        (__attribute__):
39600        * platform/graphics/filters/arm/FELightingNEON.h: Added.
39601
396022011-04-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
39603
39604        Reviewed by Benjamin Poulain.
39605
39606        [Qt] GraphicsContext3D internal buffers are not freed
39607        https://bugs.webkit.org/show_bug.cgi?id=57530
39608
39609        * platform/graphics/qt/GraphicsContext3DQt.cpp:
39610        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
39611
396122011-04-14  Andy Estes  <aestes@apple.com>
39613
39614        Reviewed by Maciej Stachowiak.
39615
39616        REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling
39617        https://bugs.webkit.org/show_bug.cgi?id=52988
39618        
39619        Safari RSS relies on synchronous dispatch of ScrollEvent to update the
39620        position of its sidebar during scrolling without producing a jiggling
39621        effect. Due to r75555, this event is no longer dispatched synchronously
39622        which results in stale repaints before the onscroll handler gets a
39623        chance to update the position of the sidebar.
39624        
39625        Since it is impractical to resolve this issue in Safari RSS itself, add
39626        a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
39627        
39628        No tests. This is an app-specific change that doesn't affect web
39629        content.
39630
39631        * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
39632        * CMakeLists.txt: Ditto.
39633        * GNUmakefile.list.am: Ditto.
39634        * WebCore.gypi: Ditto.
39635        * WebCore.pro: Ditto.
39636        * WebCore.vcproj/WebCore.vcproj: Ditto.
39637        * WebCore.xcodeproj/project.pbxproj: Ditto.
39638        * dom/EventQueue.cpp:
39639        (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
39640        synchronously if the embedding application is Safari and the document's
39641        URL scheme is "feed" or "feeds".
39642        (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
39643        ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
39644        returns true.
39645        * dom/EventQueue.h:
39646        * page/EventHandler.cpp:
39647        (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
39648        * platform/RuntimeApplicationChecks.cpp: Added.
39649        (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
39650        that checks if the main bundle's identifier is equal to a given string.
39651        This function returns false for non-CF platforms.
39652        (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
39653        (WebCore::applicationIsAppleMail): Ditto.
39654        (WebCore::applicationIsMicrosoftMessenger): Ditto.
39655        (WebCore::applicationIsAdobeInstaller): Ditto.
39656        (WebCore::applicationIsAOLInstantMessenger): Ditto.
39657        (WebCore::applicationIsMicrosoftMyDay): Ditto.
39658        (WebCore::applicationIsMicrosoftOutlook): Ditto.
39659        * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
39660        RuntimeApplicationChecks.cpp.
39661        * rendering/RenderLayer.cpp:
39662        (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
39663        * rendering/RenderListBox.cpp:
39664        (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
39665
396662011-04-14  John Bates  <jbates@google.com>
39667
39668        Reviewed by Kenneth Russell.
39669
39670        Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
39671        https://bugs.webkit.org/show_bug.cgi?id=58383
39672
39673        * platform/graphics/chromium/LayerRendererChromium.cpp:
39674        (WebCore::LayerRendererChromium::addChildContext):
39675        (WebCore::LayerRendererChromium::removeChildContext):
39676        * platform/graphics/chromium/LayerRendererChromium.h:
39677
396782011-04-14  Renata Hodovan  <reni@webkit.org>
39679
39680        Reviewed by Nikolas Zimmermann.
39681
39682        CSS related SVG*Element changes doesn't require relayout
39683        https://bugs.webkit.org/show_bug.cgi?id=56906
39684
39685        The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity
39686        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
39687        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
39688        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
39689
39690        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
39691               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
39692               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
39693               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
39694
39695        * platform/graphics/filters/FEFlood.cpp:
39696        (WebCore::FEFlood::setFloodColor):
39697        (WebCore::FEFlood::setFloodOpacity):
39698        * platform/graphics/filters/FEFlood.h:
39699        * platform/graphics/filters/FESpecularLighting.cpp:
39700        (WebCore::FESpecularLighting::setLightingColor):
39701        * platform/graphics/filters/FESpecularLighting.h:
39702        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
39703        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
39704        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
39705        * rendering/svg/SVGResourcesCache.cpp:
39706        (WebCore::SVGResourcesCache::clientStyleChanged):
39707        * svg/SVGFEDiffuseLightingElement.cpp:
39708        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
39709        * svg/SVGFEFloodElement.cpp:
39710        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
39711        * svg/SVGFEFloodElement.h:
39712        * svg/SVGFESpecularLightingElement.cpp:
39713        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
39714
397152011-04-13  James Robinson  <jamesr@chromium.org>
39716
39717        Reviewed by Simon Fraser.
39718
39719        Allow setting composited backing stores for scrollbars and scroll corners
39720        https://bugs.webkit.org/show_bug.cgi?id=57202
39721
39722        This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and
39723        scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to
39724        the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and
39725        place them into the correct place in the hierarchy.
39726
39727        FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls.
39728        that need them.  The overflow control layers are siblings of the frame's clip layer.
39729
39730        RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that
39731        need them.  Currently, layers are only created for overflow controls on layers that are already composited
39732        for other reasons and not necessarily for every RenderLayer with overflow.  Overflow control layers are siblings
39733        of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal
39734        children.
39735
39736        Tested by a number of compositing/ tests that have scrollbars and by these new tests:
39737               compositing/iframes/repaint-after-losing-scrollbars.html
39738               compositing/overflow/clip-content-under-overflow-controls.html
39739               compositing/overflow/content-gains-scrollbars.html
39740               compositing/overflow/content-loses-scrollbars.html
39741               compositing/overflow/overflow-scrollbar-layers.html
39742               compositing/overflow/repaint-after-losing-scrollbars.html
39743
39744        * css/CSSStyleSelector.cpp:
39745        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
39746        * page/FrameView.cpp:
39747        (WebCore::FrameView::layerForHorizontalScrollbar):
39748        (WebCore::FrameView::layerForVerticalScrollbar):
39749        (WebCore::FrameView::layerForScrollCorner):
39750        (WebCore::FrameView::syncCompositingStateForThisFrame):
39751        (WebCore::FrameView::contentsResized):
39752        (WebCore::FrameView::updateScrollCorner):
39753        * page/FrameView.h:
39754        * platform/ScrollView.cpp:
39755        (WebCore::ScrollView::wheelEvent):
39756        * platform/ScrollView.h:
39757        * platform/ScrollableArea.cpp:
39758        (WebCore::ScrollableArea::invalidateScrollbar):
39759        (WebCore::ScrollableArea::invalidateScrollCorner):
39760        * platform/ScrollableArea.h:
39761        (WebCore::ScrollableArea::paintScrollCorner):
39762        (WebCore::ScrollableArea::layerForHorizontalScrollbar):
39763        (WebCore::ScrollableArea::layerForVerticalScrollbar):
39764        (WebCore::ScrollableArea::layerForScrollCorner):
39765        * platform/Scrollbar.cpp:
39766        (WebCore::Scrollbar::invalidateRect):
39767        * platform/Scrollbar.h:
39768        * platform/ScrollbarThemeComposite.cpp:
39769        (WebCore::ScrollbarThemeComposite::paint):
39770        * platform/graphics/chromium/ContentLayerChromium.cpp:
39771        (WebCore::ContentLayerChromium::paintContentsIfDirty):
39772        * platform/graphics/chromium/LayerRendererChromium.cpp:
39773        (WebCore::LayerRendererChromium::create):
39774        (WebCore::LayerRendererChromium::LayerRendererChromium):
39775        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
39776        (WebCore::LayerRendererChromium::drawRootLayer):
39777        (WebCore::LayerRendererChromium::setViewport):
39778        (WebCore::LayerRendererChromium::updateAndDrawLayers):
39779        (WebCore::LayerRendererChromium::updateLayers):
39780        (WebCore::LayerRendererChromium::setRootLayer):
39781        (WebCore::LayerRendererChromium::cleanupSharedObjects):
39782        * platform/graphics/chromium/LayerRendererChromium.h:
39783        * platform/mac/ScrollAnimatorMac.mm:
39784        (-[ScrollbarPartAnimation setCurrentProgress:]):
39785        * platform/win/PopupMenuWin.h:
39786        (WebCore::PopupMenuWin::invalidateScrollCornerRect):
39787        (WebCore::PopupMenuWin::isScrollCornerVisible):
39788        (WebCore::PopupMenuWin::scrollCornerRect):
39789        * rendering/RenderLayer.cpp:
39790        (WebCore::RenderLayer::scrollCornerRect):
39791        (WebCore::RenderLayer::scrollCornerAndResizerRect):
39792        (WebCore::RenderLayer::isScrollCornerVisible):
39793        (WebCore::RenderLayer::invalidateScrollbarRect):
39794        (WebCore::RenderLayer::invalidateScrollCornerRect):
39795        (WebCore::RenderLayer::positionOverflowControls):
39796        (WebCore::RenderLayer::paintOverflowControls):
39797        (WebCore::RenderLayer::paintScrollCorner):
39798        (WebCore::RenderLayer::layerForHorizontalScrollbar):
39799        (WebCore::RenderLayer::layerForVerticalScrollbar):
39800        (WebCore::RenderLayer::layerForScrollCorner):
39801        * rendering/RenderLayer.h:
39802        (WebCore::RenderLayer::horizontalScrollbar):
39803        (WebCore::RenderLayer::verticalScrollbar):
39804        * rendering/RenderLayerBacking.cpp:
39805        (WebCore::RenderLayerBacking::~RenderLayerBacking):
39806        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
39807        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
39808        (WebCore::RenderLayerBacking::updateInternalHierarchy):
39809        (WebCore::RenderLayerBacking::updateClippingLayers):
39810        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
39811        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
39812        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
39813        (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
39814        (WebCore::paintScrollbar):
39815        (WebCore::RenderLayerBacking::paintContents):
39816        * rendering/RenderLayerBacking.h:
39817        (WebCore::RenderLayerBacking::layerForHorizontalScrollbar):
39818        (WebCore::RenderLayerBacking::layerForVerticalScrollbar):
39819        (WebCore::RenderLayerBacking::layerForScrollCorner):
39820        * rendering/RenderLayerCompositor.cpp:
39821        (WebCore::RenderLayerCompositor::updateCompositingLayers):
39822        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
39823        (WebCore::RenderLayerCompositor::frameViewDidChangeLocation):
39824        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
39825        (WebCore::RenderLayerCompositor::rootPlatformLayer):
39826        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
39827        (WebCore::paintScrollbar):
39828        (WebCore::RenderLayerCompositor::paintContents):
39829        (WebCore::shouldCompositeOverflowControls):
39830        (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
39831        (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
39832        (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
39833        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
39834        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
39835        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
39836        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
39837        * rendering/RenderLayerCompositor.h:
39838        (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar):
39839        (WebCore::RenderLayerCompositor::layerForVerticalScrollbar):
39840        (WebCore::RenderLayerCompositor::layerForScrollCorner):
39841        * rendering/RenderListBox.h:
39842        (WebCore::RenderListBox::isScrollCornerVisible):
39843        (WebCore::RenderListBox::scrollCornerRect):
39844        (WebCore::RenderListBox::invalidateScrollCornerRect):
39845
398462011-04-13  Cary Clark  <caryclark@chromium.org>
39847 
39848         Reviewed by Eric Seidel.
39849          
39850         [Chromium] allow concurrent Skia and CG datatypes
39851         https://bugs.webkit.org/show_bug.cgi?id=57848
39852
39853         The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics
39854         as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to
39855         draw elements like scrollbars and buttons.
39856 
39857         Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at
39858         the same time. This requires only adding to the existing preprocessor commands, and will have no effect
39859         on any existing platform.
39860         
39861         Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no
39862         functional change.
39863 
39864         No new tests as this provides no new functionality.
39865 
39866         * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible
39867         to a Skia-based Chrome Mac build.
39868         * platform/graphics/FloatRect.h: Ditto.
39869         * platform/graphics/FloatSize.h: Ditto.
39870         * platform/graphics/IntPoint.h: Ditto.
39871         * platform/graphics/IntRect.h: Ditto.
39872         * platform/graphics/IntSize.h: Ditto.
39873         * platform/graphics/cg/FloatPointCG.cpp: Ditto.
39874         * platform/graphics/cg/FloatRectCG.cpp: Ditto.
39875         * platform/graphics/cg/FloatSizeCG.cpp: Ditto.
39876         * platform/graphics/cg/IntPointCG.cpp: Ditto.
39877         * platform/graphics/cg/IntRectCG.cpp: Ditto.
39878         * platform/graphics/cg/IntSizeCG.cpp: Ditto.
39879 
398802011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
39881
39882        Reviewed by Dimitri Glazkov.
39883
39884        Bug 58460 - childTypeAllowed() should be const
39885        https://bugs.webkit.org/show_bug.cgi?id=58460
39886
39887        Made childTypeAllowed const.
39888
39889        No new tests. (minor refactoring).
39890
39891        * dom/Attr.cpp:
39892        (WebCore::Attr::childTypeAllowed):
39893        * dom/Attr.h:
39894        * dom/CDATASection.cpp:
39895        (WebCore::CDATASection::childTypeAllowed):
39896        * dom/CDATASection.h:
39897        * dom/Comment.cpp:
39898        (WebCore::Comment::childTypeAllowed):
39899        * dom/Comment.h:
39900        * dom/Document.cpp:
39901        (WebCore::Document::childTypeAllowed):
39902        * dom/Document.h:
39903        * dom/DocumentFragment.cpp:
39904        (WebCore::DocumentFragment::childTypeAllowed):
39905        * dom/DocumentFragment.h:
39906        * dom/Element.cpp:
39907        (WebCore::Element::childTypeAllowed):
39908        * dom/Element.h:
39909        * dom/Node.h:
39910        (WebCore::Node::childTypeAllowed):
39911        * dom/Notation.cpp:
39912        (WebCore::Notation::childTypeAllowed):
39913        * dom/Notation.h:
39914        * dom/ProcessingInstruction.cpp:
39915        (WebCore::ProcessingInstruction::childTypeAllowed):
39916        * dom/ProcessingInstruction.h:
39917        * dom/Text.cpp:
39918        (WebCore::Text::childTypeAllowed):
39919        * dom/Text.h:
39920
399212011-04-13  Jon Lee  <jonlee@apple.com>
39922
39923        Reviewed by Maciej Stachowiak.
39924
39925        REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
39926        https://bugs.webkit.org/show_bug.cgi?id=58284
39927        <rdar://problem/9246149>
39928
39929        * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2
39930        * editing/EditingBehavior.h:
39931        (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking
39932
399332011-04-13  Yael Aharon  <yael.aharon@nokia.com>
39934
39935        Reviewed by Eric Seidel.
39936
39937        constructLine should take bidiRuns as a parameter
39938        https://bugs.webkit.org/show_bug.cgi?id=58458
39939
39940        Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is
39941        declared before constructLine.
39942
39943        No new tests as this is refactoring only.
39944
39945        * rendering/RenderBlock.h:
39946        * rendering/RenderBlockLineLayout.cpp:
39947        (WebCore::reachedEndOfTextRenderer):
39948        (WebCore::RenderBlock::constructLine):
39949        (WebCore::RenderBlock::layoutInlineChildren):
39950
399512011-04-13  Cary Clark  <caryclark@google.com>
39952
39953        Reviewed by Eric Seidel.
39954
39955        Allow CG Font support in Chrome Darwin build using Skia
39956        https://bugs.webkit.org/show_bug.cgi?id=58321
39957        
39958        This allows Chrome to use Skia to do WebKit rendering, while
39959        using CoreGraphics for glyph creation and computing font metrics.
39960        It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME.
39961
39962        No new tests needed, no functionality change.
39963
39964        * loader/cache/CachedFont.cpp: Make CGFontRef functions and
39965        CG-specific font code available to Chrome builds on Darwin using Skia.
39966        * platform/graphics/FontPlatformData.h: Ditto.
39967        (WebCore::FontPlatformData::hash): Ditto.
39968        * platform/graphics/GlyphBuffer.h: Ditto.
39969        (WebCore::GlyphBuffer::advanceAt): Ditto.
39970        (WebCore::GlyphBuffer::add): Ditto.
39971        (WebCore::GlyphBuffer::expandLastAdvance): Ditto.
39972        * platform/graphics/SimpleFontData.h: Ditto.
39973
399742011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
39975
39976        Reviewed by Dimitri Glazkov.
39977
39978        The timeline of the video controls is unusable if the multimedia backend returns a
39979        infinite duration.
39980        https://bugs.webkit.org/show_bug.cgi?id=58452
39981
39982        In case the underlaying media element backend returns crazy values, e.g.
39983        an infinite duration for the video we need to bail out and hide the timeline
39984        rather than in a broken state where you can't use it. The previous code was just
39985        checking if the duration was NaN.
39986
39987        We can't control from JS what the backend will return as a duration for the video
39988        so we can't make an test for it.
39989
39990        * html/shadow/MediaControlRootElement.cpp:
39991        (WebCore::MediaControlRootElement::reset):
39992
399932011-04-13  Abhishek Arya  <inferno@chromium.org>
39994
39995        Reviewed by James Robinson.
39996
39997        Draw outline for render widgets.
39998        https://bugs.webkit.org/show_bug.cgi?id=57439
39999
40000        Test: fast/frames/iframe-outline.html
40001
40002        * rendering/RenderWidget.cpp:
40003        (WebCore::RenderWidget::paint):
40004
400052011-04-13  Kent Tamura  <tkent@chromium.org>
40006
40007        Reviewed by Dimitri Glazkov.
40008
40009        Change the representation of ShadowRoot nodes in render tree dumps
40010        https://bugs.webkit.org/show_bug.cgi?id=58432
40011
40012        Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment"
40013        in DRT results.
40014
40015        No new tests. This change doesn't affect existing tests yet.
40016
40017        * dom/DocumentFragment.h:
40018          Make nodeName() protected in order that ShdowRoot can override it.
40019        * dom/ShadowRoot.cpp:
40020        (WebCore::ShadowRoot::nodeName): Returns "#shadow-root".
40021        * dom/ShadowRoot.h: Declare nodeName().
40022        * rendering/RenderTreeAsText.cpp:
40023        (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary.
40024          We don't use isShadowRoot() here because the legacy shadow root nodes
40025          return true for isShadowRoot() and we don't want to update existing
40026          test results.
40027
400282011-04-13  Ryosuke Niwa  <rniwa@webkit.org>
40029
40030        Reviewed by Eric Seidel.
40031
40032        Merge LineOffsets and LineWidth
40033        https://bugs.webkit.org/show_bug.cgi?id=58411
40034
40035        Merged lineOffsets into LineWidth.
40036
40037        After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and
40038        shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because
40039        - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine
40040          besides LineOffsets' constructor
40041        - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak
40042        - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine
40043
40044        * rendering/RenderBlock.h:
40045        * rendering/RenderBlockLineLayout.cpp:
40046        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset
40047        (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth
40048        because the initial available width was used to be computed from lineOffsets.width().
40049        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added.
40050        (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates
40051        m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right.
40052        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from
40053        LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight.
40054        (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables
40055        of LineOffsets.
40056        (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine.
40057        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
40058        (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth.
40059
400602011-04-13  Ryuan Choi  <ryuan.choi@samsung.com>
40061
40062        Reviewed by Kenneth Rohde Christiansen.
40063
40064        [CMAKE] Separate DerivedSources.
40065        https://bugs.webkit.org/show_bug.cgi?id=58427
40066
40067        No new tests since these are refactoring only.
40068
40069        * CMakeLists.txt:
40070        * UseJSC.cmake:
40071
400722011-04-13  Noel Gordon  <noel.gordon@gmail.com>
40073
40074        Reviewed by Kenneth Russell.
40075
40076        [chromium] Fix canvas.toDataURL mimeType assertion
40077        https://bugs.webkit.org/show_bug.cgi?id=58425
40078
40079        Following r81213, reassert expected toDataURL() mimeType, remove an unused variable.
40080
40081        No new tests. Covered by existing tests.
40082
40083        * platform/graphics/skia/ImageBufferSkia.cpp:
40084        (WebCore::ImageToDataURL):
40085        (WebCore::ImageBuffer::toDataURL):
40086
400872011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
40088
40089        Reviewed by Andreas Kling.
40090
40091        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
40092        https://bugs.webkit.org/show_bug.cgi?id=58375
40093
40094        As QNAM now makes actual synchronous loads there is no need for a nested event loop
40095        in ResourceHandleQt.
40096
40097        Moving the call for QNetworkReplyWrapper::synchronousLoad from
40098        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
40099        redirections to work in synchronous requests.
40100
40101        * platform/network/qt/QNetworkReplyHandler.cpp:
40102        (WebCore::QNetworkReplyHandler::start):
40103        * platform/network/qt/QNetworkReplyHandler.h:
40104        * platform/network/qt/ResourceHandleQt.cpp:
40105        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
40106        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
40107        (WebCore::WebCoreSynchronousLoader::didReceiveData):
40108        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
40109        (WebCore::WebCoreSynchronousLoader::didFail):
40110        (WebCore::ResourceHandle::loadResourceSynchronously):
40111
401122011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
40113
40114        Reviewed by David Hyatt.
40115
40116        Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> tags
40117        https://bugs.webkit.org/show_bug.cgi?id=55930
40118
40119        Non-inline :before/:after generated content is now wrapped with an anonymous inline block.
40120
40121        Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent()
40122        to verify that the created render object is legal under the parent.
40123
40124        Tests: fast/ruby/after-block-doesnt-crash.html
40125               fast/ruby/after-table-doesnt-crash.html
40126               fast/ruby/before-block-doesnt-crash.html
40127               fast/ruby/before-table-doesnt-crash.html
40128
40129        * rendering/RenderObjectChildList.cpp:
40130        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
40131        * rendering/RenderRuby.cpp:
40132        (WebCore::isAnonymousRubyInlineBlock):
40133        (WebCore::rubyBeforeBlock):
40134        (WebCore::rubyAfterBlock):
40135        (WebCore::createAnonymousRubyInlineBlock):
40136        (WebCore::lastRubyRun):
40137        (WebCore::RenderRubyAsInline::addChild):
40138        (WebCore::RenderRubyAsInline::removeChild):
40139        (WebCore::RenderRubyAsBlock::addChild):
40140        (WebCore::RenderRubyAsBlock::removeChild):
40141        * rendering/RenderRuby.h:
40142
401432011-04-13  Matthew Delaney  <mdelaney@apple.com>
40144
40145        Reviewed by Simon Fraser.
40146
40147        [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp
40148        https://bugs.webkit.org/show_bug.cgi?id=58084
40149
40150        No new tests. Does not affect outward behavior.
40151
40152        * WebCore.gypi:
40153        * WebCore.vcproj/WebCore.vcproj:
40154        * WebCore.xcodeproj/project.pbxproj:
40155        * platform/graphics/ImageBuffer.h:
40156        * platform/graphics/ImageBufferData.h: Added.
40157        * platform/graphics/cairo/ImageBufferData.h: Removed.
40158        * platform/graphics/cairo/ImageBufferDataCairo.h: Added.
40159        * platform/graphics/cg/ImageBufferCG.cpp:
40160        (WebCore::ImageBuffer::getUnmultipliedImageData):
40161        (WebCore::ImageBuffer::getPremultipliedImageData):
40162        (WebCore::ImageBuffer::putUnmultipliedImageData):
40163        (WebCore::ImageBuffer::putPremultipliedImageData):
40164        * platform/graphics/cg/ImageBufferDataCG.cpp: Added.
40165        (WebCore::ImageBufferData::ImageBufferData):
40166        (WebCore::haveVImageRoundingErrorFix):
40167        (WebCore::ImageBufferData::getData):
40168        (WebCore::ImageBufferData::putData):
40169        * platform/graphics/cg/ImageBufferData.h: Removed.
40170        * platform/graphics/cg/ImageBufferDataCG.h: Added.
40171        * platform/graphics/chromium/ImageBufferData.h: Removed.
40172        * platform/graphics/chromium/ImageBufferDataSkia.h: Added.
40173        * platform/graphics/haiku/ImageBufferData.h: Removed.
40174        * platform/graphics/haiku/ImageBufferDataHaiku.h: Added.
40175        * platform/graphics/qt/ImageBufferData.h: Removed.
40176        * platform/graphics/qt/ImageBufferDataQt.h: Added.
40177        * platform/graphics/wince/ImageBufferData.h: Removed.
40178        * platform/graphics/wince/ImageBufferDataWince.h: Added.
40179        * platform/graphics/wx/ImageBufferData.h: Removed.
40180        * platform/graphics/wx/ImageBufferDataWx.h: Added.
40181
401822011-04-13  Simon Fraser  <simon.fraser@apple.com>
40183
40184        Reviewed by Dan Bernstein.
40185
40186        Remove std:: prefix on some min/max calls
40187        https://bugs.webkit.org/show_bug.cgi?id=58493
40188
40189        Remove std:: namespacing on min/max in favor of a 'using' clause.
40190
40191        * platform/graphics/RoundedIntRect.cpp:
40192        (WebCore::RoundedIntRect::Radii::expand):
40193        * rendering/style/RenderStyle.cpp:
40194        (WebCore::calcConstraintScaleFor):
40195
401962011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
40197
40198        Reviewed by Andreas Kling.
40199
40200        Replace our own RenderThemeQt::getMediaElementFromRenderObject by
40201        MediaControlsElement::toParentMediaElement used by every other port.
40202
40203        * platform/qt/RenderThemeQt.cpp:
40204        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
40205        (WebCore::RenderThemeQt::paintMediaMuteButton):
40206        (WebCore::RenderThemeQt::paintMediaPlayButton):
40207        (WebCore::RenderThemeQt::paintMediaSliderTrack):
40208        * platform/qt/RenderThemeQt.h:
40209
402102011-04-13  Geoffrey Garen  <ggaren@apple.com>
40211
40212        Reviewed by Oliver Hunt.
40213
40214        Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T>
40215        https://bugs.webkit.org/show_bug.cgi?id=58482
40216
40217        This will allow wrappers to make individual decisions about their lifetimes.
40218
40219        * bindings/js/DOMWrapperWorld.cpp:
40220        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
40221        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots):
40222        (WebCore::JSNodeHandleOwner::finalize):
40223        (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots):
40224        (WebCore::DOMObjectHandleOwner::finalize):
40225        * bindings/js/DOMWrapperWorld.h:
40226        (WebCore::JSNodeHandleOwner::JSNodeHandleOwner):
40227        (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner):
40228        (WebCore::DOMWrapperWorld::jsNodeHandleOwner):
40229        (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners
40230        for JSNode and DOMObject, our two hash table values. For now, the owners
40231        just take care to remove their handles from their respective hash tables.
40232        
40233        Changed the hash table type to be a standard HashMap of weak pointers,
40234        instead of a WeakGCMap.
40235
40236        * bindings/js/JSDOMBinding.cpp:
40237        (WebCore::getCachedDOMObjectWrapper):
40238        (WebCore::cacheDOMObjectWrapper):
40239        (WebCore::cacheDOMNodeWrapper):
40240        (WebCore::isObservableThroughDOM):
40241        (WebCore::markDOMNodesForDocument):
40242        (WebCore::takeWrappers):
40243        (WebCore::updateDOMNodeDocument):
40244        (WebCore::markDOMObjectWrapper):
40245        (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to
40246        accomodate its new data type.
40247
40248        * bindings/js/JSNodeCustom.h:
40249        (WebCore::getCachedDOMNodeWrapper): Ditto.
40250
40251        * dom/Document.h: Updated declaration to match the above.
40252
402532011-04-13  Sam Weinig  <sam@webkit.org>
40254
40255        Fix Mac builds.
40256
40257        * WebCore.exp.in:
40258
402592011-04-13  Sam Weinig  <sam@webkit.org>
40260
40261        Reviewed by Gavin Barraclough.
40262
40263        WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
40264        <rdar://problem/9260518>
40265
40266        Notify the scrollbar painter controller when gesture scrolls begin and end.
40267
40268        * WebCore.exp.in:
40269        * platform/mac/ScrollAnimatorMac.h:
40270        * platform/mac/ScrollAnimatorMac.mm:
40271        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
40272        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
40273        (WebCore::ScrollAnimatorMac::beginScrollGesture):
40274        (WebCore::ScrollAnimatorMac::endScrollGesture):
40275        * platform/mac/WebCoreSystemInterface.h:
40276        * platform/mac/WebCoreSystemInterface.mm:
40277
402782011-04-13  Eric Carlson  <eric.carlson@apple.com>
40279
40280        Reviewed by Maciej Stachowiak.
40281
40282        MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:]
40283        https://bugs.webkit.org/show_bug.cgi?id=58451
40284        <rdar://problem/9278468>
40285
40286        No new tests, supported MIME types haven't changed.
40287
40288        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
40289        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use 
40290        [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types.
40291
402922011-04-13  Eric Carlson  <eric.carlson@apple.com>
40293
40294        Reviewed by Alexey Proskuryakov.
40295
40296        Media engine fallback doesn't always work
40297        https://bugs.webkit.org/show_bug.cgi?id=58462
40298
40299        No new tests, this was verified manually with the url noted in the bug.
40300
40301        * platform/graphics/MediaPlayer.cpp:
40302        (WebCore::MediaPlayer::networkStateChanged):
40303
403042011-04-13  Zhenyao Mo  <zmo@google.com>
40305
40306        Reviewed by Kenneth Russell.
40307
40308        Extension3D needs to provide a way to check if an extension is enabled
40309        https://bugs.webkit.org/show_bug.cgi?id=58410
40310
40311        * html/canvas/WebGLRenderingContext.cpp:
40312        (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports().
40313        * platform/graphics/Extensions3D.h: Add isEnabled().
40314        * platform/graphics/chromium/Extensions3DChromium.h: Ditto.
40315        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
40316        (WebCore::Extensions3DOpenGL::isEnabled):
40317        * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
40318        * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
40319        (WebCore::Extensions3DQt::isEnabled):
40320        * platform/graphics/qt/Extensions3DQt.h: Ditto.
40321
403222011-04-13  Oliver Hunt  <oliver@apple.com>
40323
40324        Reviewed by Gavin Barraclough.
40325
40326        Make PropertyMapEntry use a WriteBarrier for specificValue
40327        https://bugs.webkit.org/show_bug.cgi?id=58407
40328
40329        Pass JSGlobalData reference on to APIs that now need them
40330
40331        * bindings/js/JSDOMWindowShell.h:
40332        (WebCore::JSDOMWindowShell::setWindow):
40333        * bindings/js/JSHTMLDocumentCustom.cpp:
40334        (WebCore::JSHTMLDocument::all):
40335
403362011-04-12  Pavel Podivilov  <podivilov@chromium.org>
40337
40338        Reviewed by Pavel Feldman.
40339
40340        Web Inspector: fix source mapping for de-obfuscated scripts.
40341        https://bugs.webkit.org/show_bug.cgi?id=58231
40342
40343        * inspector/front-end/ScriptFormatterWorker.js:
40344        (buildMapping):
40345        * inspector/front-end/SourceFile.js:
40346        (WebInspector.SourceMapping):
40347        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
40348        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
40349        (WebInspector):
40350        (WebInspector.FormattedSourceMapping):
40351        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
40352        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
40353
403542011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
40355
40356        Reviewed by Martin Robinson.
40357
40358        [GTK] Consider editable and non editable nodes when calculating selection offsets
40359        https://bugs.webkit.org/show_bug.cgi?id=58431
40360
40361        Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode().
40362
40363        This is needed to ensure that getSelectionOffsetsForObject() works
40364        well when non editable nodes are present in the selection, since
40365        firstPositionInNode() and lastPositionInNode() don't work in those
40366        cases (they assume the node is editable).
40367
40368        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40369        (getSelectionOffsetsForObject): Updated calls.
40370
403712011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
40372
40373        Reviewed by Martin Robinson.
40374
40375        [GTK] Missing nullchecks in GTK's a11y wrapper
40376        https://bugs.webkit.org/show_bug.cgi?id=58429
40377
40378        Add missing nullchecks for coreObject->document().
40379
40380        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40381        (atkParentOfRootObject): Add missing nullcheck.
40382        (getPangoLayoutForAtk): Ditto.
40383        (webkit_accessible_text_get_caret_offset): Ditto.
40384        (textExtents): Ditto.
40385        (webkit_accessible_editable_text_insert_text): Ditto.
40386        (webkit_accessible_editable_text_delete_text): Ditto.
40387
403882011-04-13  Thierry Reding  <thierry.reding@avionic-design.de>
40389
40390        Gtk+ port fails to build when enabling WebGL
40391        https://bugs.webkit.org/show_bug.cgi?id=58434
40392
40393        Fix the GTK+ WebGL build after the introduction of PlatformContextCairo.
40394
40395        * platform/graphics/GraphicsContext3D.h:
40396        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
40397        (WebCore::GraphicsContext3D::paintToCanvas):
40398
403992011-04-12  Philippe Normand  <pnormand@igalia.com>
40400
40401        Reviewed by Martin Robinson.
40402
40403        REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback
40404        https://bugs.webkit.org/show_bug.cgi?id=58312
40405
40406        Make sure to link the videoValve in all cases, fpsdisplaysink
40407        being used or not.
40408
40409        No new test, this patch fixes an internal feature of the player,
40410        not publicly exposed. Having two video sinks and pausing one while
40411        the other displays the fullscreen video is an implementation
40412        detail of the GStreamer player.
40413
40414        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
40415        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
40416
404172011-04-13  Ilya Tikhonovsky  <loislo@chromium.org>
40418
40419        Reviewed by Yury Semikhatsky.
40420
40421        Web Inspector: there is a problem if an optional param is not at the end of a params list.
40422        https://bugs.webkit.org/show_bug.cgi?id=58440
40423
40424        In InspectorBackend.dispatch method we are converting the message's params object into array of arguments
40425        for a callback. But in some cases the optional parameter is declared in the middle of the params list.
40426        That gets us into a problem if this param has been skipped in the message. In that case the tail of the
40427        event params will be shifted. We can slightly modify dispatcher and it will put the params in right places.
40428
40429        * inspector/CodeGeneratorInspector.pm:
40430
404312011-04-13  Ben Taylor  <bentaylor.solx86@gmail.com>
40432
40433        Reviewed by Eric Seidel.
40434
40435        https://bugs.webkit.org/show_bug.cgi?id=57337
40436
40437        Work around a bug in ternary opertions in the Solaris Studio
40438        12/12.1/12.2 compilers, using an if clause.
40439
40440        * dom/NodeRenderStyle.h:
40441        (WebCore::Node::renderStyle):
40442
404432011-04-13  Brian Salomon  <bsalomon@google.com>
40444
40445        Reviewed by Kenneth Russell.
40446
40447        Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object
40448        https://bugs.webkit.org/show_bug.cgi?id=58363
40449
40450        No new tests needed, exercised by all existing canvas2d tests.
40451
40452        * platform/graphics/chromium/DrawingBufferChromium.cpp:
40453        (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc):
40454        * platform/graphics/gpu/DrawingBuffer.h:
40455        * platform/graphics/skia/PlatformContextSkia.cpp:
40456        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
40457
404582011-04-13  Andrey Kosyakov  <caseq@chromium.org>
40459
40460        Unreviewed. Fix chromium clang build problem:
40461        ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method
40462        with a different signature in base class instead of overriding it.
40463
40464        * css/CSSStyleApplyProperty.cpp:
40465        (WebCore::ApplyPropertyExpandingSuppressValue::applyValue):
40466
404672011-04-13  Kinuko Yasuda  <kinuko@chromium.org>
40468
40469        Reviewed by David Levin.
40470
40471        Add mock implementation and plumbing code for unified Quota API
40472        https://bugs.webkit.org/show_bug.cgi?id=57927
40473
40474        Added mock implementation and some plumbing code for the quota API,
40475        that is based on the discussion on public-webapps:
40476        http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html
40477
40478        No new tests: tests will be added when we expose the API.
40479
40480        * CMakeLists.txt: Added new file entries.
40481        * DerivedSources.cpp: Added new file entries.
40482        * DerivedSources.make: Added new file entries.
40483        * GNUmakefile.am: Added new file entries.
40484        * WebCore.gypi: Added new file entries.
40485        * WebCore.pro: Added new file entries.
40486        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
40487        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
40488        * storage/StorageInfo.cpp: Added.
40489        * storage/StorageInfo.h: Added.
40490        * storage/StorageInfoErrorCallback.h: Added.
40491        * storage/StorageInfoQuotaCallback.h: Added.
40492        * storage/StorageInfoUsageCallback.h: Added.
40493
404942011-04-13  Gustavo Noronha Silva  <gns@gnome.org>
40495
40496        Reviewed by Martin Robinson.
40497
40498        [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself
40499        https://bugs.webkit.org/show_bug.cgi?id=58297
40500
40501        Make sure we do not load plugins that use symbols of a different
40502        GTK+ major version to avoid bugs and crashes.
40503
40504        * plugins/gtk/PluginPackageGtk.cpp:
40505        (WebCore::moduleMixesGtkSymbols):
40506        (WebCore::PluginPackage::load):
40507
405082011-04-13  Andrey Adaikin  <aandrey@google.com>
40509
40510        Reviewed by Pavel Feldman.
40511
40512        Web Inspector: Implement undo/redo in text editor
40513        https://bugs.webkit.org/show_bug.cgi?id=58426
40514
40515        Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.)
40516        Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z).
40517        FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo.
40518
40519        * inspector/front-end/SourceFrame.js:
40520        (WebInspector.SourceFrame.prototype.endEditing):
40521        * inspector/front-end/TextEditorModel.js:
40522        (WebInspector.TextEditorModel.prototype.setText):
40523        (WebInspector.TextEditorModel.prototype._innerSetText):
40524        (WebInspector.TextEditorModel.prototype._pushUndoableCommand):
40525        (WebInspector.TextEditorModel.prototype.undo):
40526        (WebInspector.TextEditorModel.prototype.redo):
40527        (WebInspector.TextEditorModel.prototype._doUndo):
40528        * inspector/front-end/TextViewer.js:
40529        (WebInspector.TextViewer.prototype._textChanged):
40530        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
40531        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
40532        (WebInspector.TextViewer.prototype._registerShortcuts):
40533        (WebInspector.TextViewer.prototype._cancelEditing):
40534        (WebInspector.TextViewer.prototype._handleUndoRedo):
40535        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
40536        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
40537        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
40538        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
40539        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
40540        (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
40541        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
40542        (WebInspector.TextEditorMainPanel.prototype.textChanged):
40543        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
40544
405452011-04-13  Pavel Feldman  <pfeldman@chromium.org>
40546
40547        Reviewed by Yury Semikhatsky.
40548
40549        Web Inspector: make optional event parameter last to prevent regressions.
40550        https://bugs.webkit.org/show_bug.cgi?id=58433
40551
40552        * inspector/Inspector.json:
40553        * inspector/InspectorResourceAgent.cpp:
40554        (WebCore::InspectorResourceAgent::willSendRequest):
40555        * inspector/front-end/NetworkManager.js:
40556        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
40557
405582011-04-13  Pavel Feldman  <pfeldman@chromium.org>
40559
40560        Not reviewed: revert Inspector.json change for breaking world.
40561
40562        * inspector/Inspector.json:
40563
405642011-04-13  Pavel Feldman  <pfeldman@chromium.org>
40565
40566        Not reviewed: swap methods in the Inspector.json.
40567
40568        * inspector/Inspector.json:
40569
405702011-04-13  Csaba Osztrogonác  <ossy@webkit.org>
40571
40572        Unreviewed, rolling out r83695.
40573        http://trac.webkit.org/changeset/83695
40574        https://bugs.webkit.org/show_bug.cgi?id=58375
40575
40576        [Qt][WK2]It broke http tests
40577
40578        * platform/network/qt/QNetworkReplyHandler.cpp:
40579        (WebCore::QNetworkReplyHandler::start):
40580        (WebCore::QNetworkReplyHandler::synchronousLoad):
40581        * platform/network/qt/QNetworkReplyHandler.h:
40582        * platform/network/qt/ResourceHandleQt.cpp:
40583        (WebCore::WebCoreSynchronousLoader::resourceResponse):
40584        (WebCore::WebCoreSynchronousLoader::resourceError):
40585        (WebCore::WebCoreSynchronousLoader::data):
40586        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
40587        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
40588        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
40589        (WebCore::WebCoreSynchronousLoader::didReceiveData):
40590        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
40591        (WebCore::WebCoreSynchronousLoader::didFail):
40592        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
40593        (WebCore::ResourceHandle::loadResourceSynchronously):
40594
405952011-04-13  Pavel Podivilov  <podivilov@chromium.org>
40596
40597        Reviewed by Pavel Feldman.
40598
40599        Web Inspector: inactive style sheets should be read only.
40600        https://bugs.webkit.org/show_bug.cgi?id=58423
40601
40602        * inspector/front-end/ResourceView.js:
40603        (WebInspector.CSSSourceFrame):
40604        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
40605        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId):
40606        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet):
40607
406082011-04-13  Mikhail Naganov  <mnaganov@chromium.org>
40609
40610        Reviewed by Pavel Feldman.
40611
40612        Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers.
40613        https://bugs.webkit.org/show_bug.cgi?id=58320
40614
40615        Introduce a proxy object that emulates worker behavior and change UI code to cope with it.
40616
40617        * WebCore.gypi:
40618        * WebCore.vcproj/WebCore.vcproj:
40619        * inspector/front-end/DetailedHeapshotGridNodes.js:
40620        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted):
40621        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
40622        (WebInspector.HeapSnapshotGridNode.prototype._populate):
40623        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
40624        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
40625        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
40626        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate):
40627        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort):
40628        (WebInspector.HeapSnapshotGridNode.prototype.sort):
40629        (WebInspector.HeapSnapshotGenericObjectNode):
40630        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
40631        (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
40632        (WebInspector.HeapSnapshotObjectNode):
40633        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
40634        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
40635        (WebInspector.HeapSnapshotInstanceNode):
40636        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
40637        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
40638        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
40639        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
40640        (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
40641        (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff):
40642        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
40643        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
40644        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
40645        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
40646        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
40647        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
40648        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
40649        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
40650        (WebInspector.HeapSnapshotDominatorObjectNode):
40651        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
40652        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
40653        * inspector/front-end/DetailedHeapshotView.js:
40654        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
40655        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
40656        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
40657        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
40658        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived):
40659        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds):
40660        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived):
40661        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
40662        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
40663        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
40664        (WebInspector.HeapSnapshotRetainingPathsList):
40665        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
40666        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
40667        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
40668        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
40669        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
40670        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
40671        (WebInspector.DetailedHeapshotView.profileCallback):
40672        (WebInspector.DetailedHeapshotView):
40673        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
40674        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
40675        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1):
40676        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
40677        (WebInspector.DetailedHeapshotView.prototype.show):
40678        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
40679        * inspector/front-end/HeapSnapshot.js:
40680        * inspector/front-end/HeapSnapshotProxy.js: Added.
40681        * inspector/front-end/PleaseWaitMessage.js:
40682        * inspector/front-end/ProfilesPanel.js:
40683        (WebInspector.ProfilesPanel.prototype._reset):
40684        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
40685        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
40686        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
40687        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
40688        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
40689        * inspector/front-end/WebKit.qrc:
40690        * inspector/front-end/inspector.html:
40691
406922011-04-13  Alexander Pavlov  <apavlov@chromium.org>
40693
40694        Reviewed by Pavel Feldman.
40695
40696        Web Inspector: Web Page Performance auditing fails
40697        https://bugs.webkit.org/show_bug.cgi?id=58322
40698
40699        * inspector/front-end/AuditRules.js:
40700        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
40701        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
40702        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
40703        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
40704        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
40705        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
40706        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
40707        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
40708        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
40709        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
40710        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
40711
407122011-04-13  Pavel Feldman  <pfeldman@google.com>
40713
40714        Reviewed by Yury Semikhatsky.
40715
40716        Web Inspector: enumerate properties in Inspector.json using array, not object keys.
40717        https://bugs.webkit.org/show_bug.cgi?id=58418
40718
40719        * inspector/Inspector.json:
40720
407212011-04-06  Pavel Podivilov  <podivilov@chromium.org>
40722
40723        Reviewed by Pavel Feldman.
40724
40725        Web Inspector: add "De-obfuscate Source" item to source frame text area context menu.
40726        https://bugs.webkit.org/show_bug.cgi?id=57942
40727
40728        * English.lproj/localizedStrings.js:
40729        * inspector/front-end/DebuggerPresentationModel.js:
40730        (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled):
40731        * inspector/front-end/ScriptsPanel.js:
40732        (WebInspector.ScriptsPanel):
40733        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
40734        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
40735        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles):
40736        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
40737        * inspector/front-end/SourceFrame.js:
40738        (WebInspector.SourceFrame.prototype._contextMenu):
40739        (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu):
40740        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
40741        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
40742        (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles):
40743        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
40744
407452011-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
40746
40747        Reviewed by Dirk Schulze.
40748
40749        SVGTextContentElements textLength returns 0
40750        https://bugs.webkit.org/show_bug.cgi?id=52543
40751
40752        Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition.
40753
40754        If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal"
40755        will return the same as "textContentElement.getComputedTextLength()". If it's set the values
40756        aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the
40757        lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes.
40758        This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength()
40759        and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored
40760        in the SVG Text DOM API.
40761
40762        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).
40763        Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes).
40764
40765        Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization
40766        with getComputedTextLength().
40767
40768        Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
40769               svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html
40770               svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html
40771               svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html
40772               svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html
40773
40774        * rendering/svg/RenderSVGInlineText.cpp:
40775        (WebCore::RenderSVGInlineText::positionForPoint):
40776        * rendering/svg/SVGInlineFlowBox.cpp:
40777        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
40778        * rendering/svg/SVGInlineTextBox.cpp:
40779        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
40780        (WebCore::SVGInlineTextBox::selectionRect):
40781        (WebCore::SVGInlineTextBox::paintSelectionBackground):
40782        (WebCore::SVGInlineTextBox::paint):
40783        (WebCore::SVGInlineTextBox::calculateBoundaries):
40784        * rendering/svg/SVGTextChunkBuilder.cpp:
40785        (WebCore::SVGTextChunkBuilder::buildTextChunks):
40786        (WebCore::SVGTextChunkBuilder::layoutTextChunks):
40787        (WebCore::SVGTextChunkBuilder::addTextChunk):
40788        (WebCore::SVGTextChunkBuilder::processTextChunk):
40789        (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection):
40790        (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection):
40791        * rendering/svg/SVGTextFragment.h:
40792        (WebCore::SVGTextFragment::SVGTextFragment):
40793        (WebCore::SVGTextFragment::buildFragmentTransform):
40794        (WebCore::SVGTextFragment::transformAroundOrigin):
40795        (WebCore::SVGTextFragment::buildTransformForTextOnPath):
40796        (WebCore::SVGTextFragment::buildTransformForTextOnLine):
40797        * rendering/svg/SVGTextLayoutEngine.cpp:
40798        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
40799        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
40800        (WebCore::dumpTextBoxes):
40801        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
40802        (WebCore::SVGTextLayoutEngine::finishLayout):
40803        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
40804        * rendering/svg/SVGTextQuery.cpp:
40805        (WebCore::SVGTextQuery::textLengthCallback):
40806        (WebCore::SVGTextQuery::subStringLengthCallback):
40807        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
40808        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
40809        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
40810        (WebCore::calculateGlyphBoundaries):
40811        * svg/SVGTextContentElement.cpp:
40812        (WebCore::SVGTextContentElement::SVGTextContentElement):
40813        (WebCore::SVGTextContentElement::synchronizeTextLength):
40814        (WebCore::SVGTextContentElement::textLengthAnimated):
40815        (WebCore::SVGTextContentElement::parseMappedAttribute):
40816        (WebCore::SVGTextContentElement::svgAttributeChanged):
40817        * svg/SVGTextContentElement.h:
40818        (WebCore::SVGTextContentElement::specifiedTextLength):
40819        * svg/SVGTextPathElement.cpp:
40820        (WebCore::SVGTextPathElement::svgAttributeChanged):
40821        * svg/SVGTextPositioningElement.cpp:
40822        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
40823
408242011-04-13  Pavel Feldman  <pfeldman@google.com>
40825
40826        Reviewed by Yury Semikhatsky.
40827
40828        Web Inspector: requestDocument can result in race condition in DOMAgent.js
40829        https://bugs.webkit.org/show_bug.cgi?id=58415
40830
40831        * inspector/front-end/DOMAgent.js:
40832        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
40833        (WebInspector.DOMAgent.prototype.requestDocument):
40834
408352011-04-12  Pavel Feldman  <pfeldman@google.com>
40836
40837        Reviewed by Yury Semikhatsky.
40838
40839        Web Inspector: another pass of protocol renames.
40840        https://bugs.webkit.org/show_bug.cgi?id=58340
40841
40842        * inspector/Inspector.json:
40843        * inspector/InspectorDOMAgent.cpp:
40844        (WebCore::InspectorDOMAgent::getDocument):
40845        (WebCore::InspectorDOMAgent::performSearch):
40846        (WebCore::InspectorDOMAgent::setSearchingForNode):
40847        * inspector/InspectorDOMAgent.h:
40848        * inspector/InspectorDebuggerAgent.cpp:
40849        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
40850        * inspector/InspectorDebuggerAgent.h:
40851        * inspector/InspectorRuntimeAgent.cpp:
40852        (WebCore::InspectorRuntimeAgent::evaluate):
40853        * inspector/InspectorRuntimeAgent.h:
40854        * inspector/front-end/ElementsPanel.js:
40855        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
40856        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
40857
408582011-04-12  Luke Macpherson   <macpherson@chromium.org>
40859
40860        Reviewed by Dimitri Glazkov.
40861
40862        Implement remaining Background and Mask css properties in CSSStyleApplyProperty
40863        https://bugs.webkit.org/show_bug.cgi?id=58390
40864
40865        No new tests required as no functionality changed.
40866
40867        * css/CSSStyleApplyProperty.cpp:
40868        (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties.
40869        (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue.
40870
40871        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
40872        (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty.
40873
408742011-04-12  Sergey Glazunov  <serg.glazunov@gmail.com>
40875
40876        Reviewed by Dimitri Glazkov.
40877
40878        Element::setAttribute should check the namespace of an id attribute
40879        https://bugs.webkit.org/show_bug.cgi?id=58359
40880
40881        Test: fast/dom/id-attribute-with-namespace-crash.html
40882
40883        * dom/Element.cpp:
40884        (WebCore::Element::setAttribute):
40885
408862011-04-12  Mike Lawther  <mikelawther@chromium.org>
40887
40888        Reviewed by James Robinson.
40889
40890        Update boolean operators in RenderStyle to be compatible with check-webkit-style
40891        https://bugs.webkit.org/show_bug.cgi?id=58409
40892
40893        No new functionality, so no new tests.
40894
40895        * rendering/style/RenderStyle.cpp:
40896        (WebCore::RenderStyle::operator==):
40897        (WebCore::RenderStyle::inheritedNotEqual):
40898        (WebCore::positionedObjectMoved):
40899        (WebCore::RenderStyle::diff):
40900        (WebCore::RenderStyle::applyTransform):
40901        * rendering/style/RenderStyle.h:
40902        (WebCore::InheritedFlags::isOriginalDisplayInlineType):
40903
409042011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
40905
40906        Reviewed by Andreas Kling.
40907
40908        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
40909        https://bugs.webkit.org/show_bug.cgi?id=58375
40910
40911        As QNAM now makes actual synchronous loads there is no need for a nested event loop
40912        in ResourceHandleQt.
40913
40914        Moving the call for QNetworkReplyWrapper::synchronousLoad from
40915        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
40916        redirections to work in synchronous requests.
40917
40918        * platform/network/qt/QNetworkReplyHandler.cpp:
40919        (WebCore::QNetworkReplyHandler::start):
40920        * platform/network/qt/QNetworkReplyHandler.h:
40921        * platform/network/qt/ResourceHandleQt.cpp:
40922        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
40923        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
40924        (WebCore::WebCoreSynchronousLoader::didReceiveData):
40925        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
40926        (WebCore::WebCoreSynchronousLoader::didFail):
40927        (WebCore::ResourceHandle::loadResourceSynchronously):
40928
409292011-04-12  Vangelis Kokkevis  <vangelis@chromium.org>
40930
40931        Reviewed by James Robinson.
40932
40933        [chromium] Move the calculation of the layer's z coordinate to the
40934        right spot so that it can be picked up by its sublayers.
40935        https://bugs.webkit.org/show_bug.cgi?id=58397
40936
40937        Test: platform/chromium/compositing/child-layer-3d-sorting.html
40938
40939        * platform/graphics/chromium/LayerRendererChromium.cpp:
40940        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
40941
409422011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
40943
40944        Reviewed by Andreas Kling.
40945
40946        [Qt] QNetworkReplyHandler refactoring: signal queue
40947        https://bugs.webkit.org/show_bug.cgi?id=57075
40948
40949        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
40950        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
40951        from QNetworkReplyHandler class and encapsulated in its own class.
40952
40953        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
40954        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
40955        This together with empting the queue at wrapper destruction time makes sure that the handler will
40956        not receive calls from a dead wrapper.
40957
40958        The new class is named QNetworkReplyHandlerCallQueue.
40959
40960        * platform/network/qt/QNetworkReplyHandler.cpp:
40961        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
40962        (WebCore::QNetworkReplyHandlerCallQueue::push):
40963        (WebCore::QNetworkReplyHandlerCallQueue::lock):
40964        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
40965        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
40966        (WebCore::QNetworkReplyHandlerCallQueue::flush):
40967        (WebCore::QueueLocker::QueueLocker):
40968        (WebCore::QueueLocker::~QueueLocker):
40969        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
40970        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
40971        (WebCore::QNetworkReplyWrapper::receiveMetaData):
40972        (WebCore::QNetworkReplyWrapper::readyRead):
40973        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
40974        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
40975        (WebCore::QNetworkReplyHandler::resetState):
40976        (WebCore::QNetworkReplyHandler::release):
40977        (WebCore::QNetworkReplyHandler::finish):
40978        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
40979        (WebCore::QNetworkReplyHandler::forwardData):
40980        (WebCore::QNetworkReplyHandler::start):
40981        (WebCore::QNetworkReplyHandler::synchronousLoad):
40982        * platform/network/qt/QNetworkReplyHandler.h:
40983        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
40984        (WebCore::QNetworkReplyHandlerCallQueue::clear):
40985        (WebCore::QNetworkReplyWrapper::synchronousLoad):
40986        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
40987        * platform/network/qt/ResourceHandleQt.cpp:
40988        (WebCore::ResourceHandle::loadResourceSynchronously):
40989
409902011-04-12  Kenichi Ishibashi  <bashi@chromium.org>
40991
40992        Reviewed by Kent Tamura.
40993
40994        Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex.
40995        https://bugs.webkit.org/show_bug.cgi?id=58247
40996
40997        - Increment m_associatedElementsAfterIndex when the form owner and an
40998        inserted form associated element have the same parent chain.
40999        - Always iterate over m_associatedElements to decrease indexes when a
41000        form associated element is removed. This is needed for a case that the
41001        form associated element is removed from the form element due to
41002        deleting the 'form' attribute. No behavioral change expected with this
41003        change.
41004
41005        Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html
41006               fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html
41007
41008        * html/HTMLFormElement.cpp:
41009        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
41010        Incremet m_associatedElementsAfterIndex when compareDocumentPosition()
41011        returns DOCUMENT_POSITION_CONTAINED_BY.
41012        (WebCore::HTMLFormElement::removeFormElement):
41013        Always iterate m_associatedElements to adjust indexes.
41014
410152011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
41016
41017        Reviewed by Kenneth Rohde Christiansen.
41018
41019        [Qt] Do not show scrollbars when use mobile theme
41020        https://bugs.webkit.org/show_bug.cgi?id=58380
41021
41022        * platform/qt/ScrollbarThemeQt.cpp:
41023        (WebCore::ScrollbarThemeQt::scrollbarThickness):
41024
410252011-04-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
41026
41027        Reviewed by Alexey Proskuryakov.
41028
41029        The default backspace event handler should mark the event as handled if navigation succeeds.
41030        https://bugs.webkit.org/show_bug.cgi?id=58379
41031
41032        We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
41033        These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
41034        where history is managed by an external browser like IE.
41035
41036        No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
41037        It is non trivial to simulate this environment.
41038
41039        * page/EventHandler.cpp:
41040        (WebCore::EventHandler::defaultBackspaceEventHandler):
41041
410422011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
41043
41044        Reviewed by Eric Seidel.
41045
41046        Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth
41047        https://bugs.webkit.org/show_bug.cgi?id=58400
41048
41049        Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth.
41050
41051        * rendering/RenderBlock.h:
41052        * rendering/RenderBlockLineLayout.cpp:
41053        (WebCore::LineWidth::LineWidth):
41054        (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth.
41055        (WebCore::LineWidth::availableWidth): Added.
41056        (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets.
41057        (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates
41058        the available width.
41059        (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock.
41060        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
41061
410622011-04-12  Alexis Menard  <alexis.menard@openbossa.org>
41063
41064        Unreviewed warning fix.
41065
41066        MediaControlElements has been moved to html/shadow.
41067
41068        * WebCore.pro:
41069
410702011-04-12  Yael Aharon  <yael.aharon@nokia.com>
41071
41072        Reviewed by Eric Seidel.
41073
41074        Rename onEndChain and make it a static method.
41075        https://bugs.webkit.org/show_bug.cgi?id=58403
41076
41077        No new tests since this is refactoring only.
41078
41079        * rendering/InlineFlowBox.cpp:
41080        (WebCore::isLastChildForRenderer):
41081        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
41082        * rendering/InlineFlowBox.h:
41083
410842011-04-12  Eric Carlson  <eric.carlson@apple.com>
41085
41086        Not reviewed, build fix.
41087
41088        Fix non-accelerated build after r83667.
41089
41090        * html/HTMLMediaElement.cpp:
41091        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to 
41092            mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING.
41093
410942011-04-12  Adrienne Walker  <enne@google.com>
41095
41096        Reviewed by James Robinson.
41097
41098        [chromium] TilingData mishandles very small texture sizes
41099        https://bugs.webkit.org/show_bug.cgi?id=58364
41100
41101        Use zero tiles when the texture size is too small for tiling.
41102
41103        * platform/graphics/gpu/TilingData.cpp:
41104        (WebCore::TilingData::TilingData):
41105        (WebCore::TilingData::setMaxTextureSize):
41106
411072011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
41108
41109        Unreviewed, rolling out r83634 and r83659.
41110        http://trac.webkit.org/changeset/83634
41111        http://trac.webkit.org/changeset/83659
41112        https://bugs.webkit.org/show_bug.cgi?id=57075
41113
41114        It made 2 tests time out
41115
41116        * platform/network/qt/QNetworkReplyHandler.cpp:
41117        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
41118        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
41119        (WebCore::QNetworkReplyWrapper::receiveMetaData):
41120        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
41121        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41122        (WebCore::QNetworkReplyHandler::resetState):
41123        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
41124        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
41125        (WebCore::QNetworkReplyHandler::release):
41126        (WebCore::QNetworkReplyHandler::finish):
41127        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41128        (WebCore::QNetworkReplyHandler::forwardData):
41129        (WebCore::QNetworkReplyHandler::start):
41130        * platform/network/qt/QNetworkReplyHandler.h:
41131        * platform/network/qt/ResourceHandleQt.cpp:
41132        (WebCore::WebCoreSynchronousLoader::resourceResponse):
41133        (WebCore::WebCoreSynchronousLoader::resourceError):
41134        (WebCore::WebCoreSynchronousLoader::data):
41135        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
41136        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
41137        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
41138        (WebCore::WebCoreSynchronousLoader::didReceiveData):
41139        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
41140        (WebCore::WebCoreSynchronousLoader::didFail):
41141        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
41142        (WebCore::ResourceHandle::loadResourceSynchronously):
41143
411442011-04-12  Sam Weinig  <sam@webkit.org>
41145
41146        Reviewed by Simon Fraser.
41147
41148        Frames prevent scrolling containing page
41149        <rdar://problem/8990409>
41150        https://bugs.webkit.org/show_bug.cgi?id=58392
41151
41152        Also fixes:
41153        Should rubber-band on pages with no scrollbars
41154        <rdar://problem/9034280>
41155
41156        * page/FrameView.cpp:
41157        (WebCore::FrameView::FrameView):
41158        Make the main frame rubber-band horizontally and vertically always.
41159
41160        * platform/ScrollTypes.h:
41161        Add ScrollElasticity enum.
41162
41163        * platform/ScrollableArea.cpp:
41164        Default to no elasticity.
41165
41166        (WebCore::ScrollableArea::ScrollableArea):
41167        * platform/ScrollableArea.h:
41168        (WebCore::ScrollableArea::setVerticalScrollElasticity):
41169        (WebCore::ScrollableArea::verticalScrollElasticity):
41170        (WebCore::ScrollableArea::setHorizontalScrollElasticity):
41171        (WebCore::ScrollableArea::horizontalScrollElasticity):
41172        Add state for horizontal and vertical elasticity.
41173
41174        * platform/mac/ScrollAnimatorMac.mm:
41175        (WebCore::ScrollAnimatorMac::handleWheelEvent):
41176        Bail out of new scrolling behavior if we can't rubber-band. By bailing before
41177        accepting the wheel event, we allow the wheel event to be forwarded. We will
41178        need to refine this logic to allow subframe scrolling in the future.
41179
41180        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
41181        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
41182        Switch stretching behavior based on the ScrollableArea's elasticity.
41183
411842011-04-12  Geoffrey Garen  <ggaren@apple.com>
41185
41186        Not reviewed.
41187
41188        Try to fix the Chromium build.
41189        
41190        Why have one URL when you can have two at twice the price?
41191
41192        * platform/KURL.h:
41193        (WebCore::KURL::KURL):
41194        (WebCore::KURL::isHashTableDeletedValue):
41195        * platform/KURLGoogle.cpp:
41196        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
41197        * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash
41198        table deleted value constructor.
41199
412002011-04-12  Stephanie Lewis  <slewis@apple.com>
41201
41202        Reviewed by Oliver Hunt.
41203        https://bugs.webkit.org/show_bug.cgi?id=58280
41204        Fix a layout test by correctly comparing enums, and not adding exceptions.
41205
41206        * bindings/js/SerializedScriptValue.cpp:
41207        (WebCore::SerializedScriptValue::create):
41208        (WebCore::SerializedScriptValue::deserialize):
41209        * bindings/js/SerializedScriptValue.h:
41210
412112011-04-12  Eric Carlson  <eric.carlson@apple.com>
41212
41213        Reviewed by Simon Fraser.
41214
41215        Apple movie trailers play only audio
41216        https://bugs.webkit.org/show_bug.cgi?id=58339
41217        <rdar://problem/9237606>
41218
41219        No new tests, covered by existing layout and manual tests.
41220
41221        * html/HTMLMediaElement.cpp:
41222        (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions.
41223        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster 
41224            change the display mode to Video and force a style recalc so the video layer gets hooked
41225            up the the render tree.
41226        * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we
41227            want to stop displaying the poster as soon as the first frame of video is available.
41228
41229        * html/HTMLVideoElement.cpp:
41230        (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when
41231            we want to display Video but the media engines doesn't have the first frame yet.
41232        * html/HTMLVideoElement.h:
41233        (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode
41234            is PosterWaitingForVideo.
41235
41236        * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes.
41237
41238        * platform/graphics/MediaPlayer.cpp:
41239        (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element.
41240        * platform/graphics/MediaPlayer.h:
41241        (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable):
41242
41243        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
41244        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize 
41245            m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable.
41246        (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first
41247            frame of video has loaded, or audio will begin to play before we can show video.
41248        (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable.
41249        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is
41250            available, inform elment and begin playback if it was previousl requested.
41251        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
41252
41253        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
41254        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
41255        (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging.
41256        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto.
41257        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play.
41258        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause.
41259
412602011-04-12  Jian Li  <jianli@chromium.org>
41261
41262        Unreviewed, rolling out r83649.
41263        http://trac.webkit.org/changeset/83649
41264        https://bugs.webkit.org/show_bug.cgi?id=57563
41265
41266        This patch causes compiling errors for chromium
41267
41268        * platform/graphics/chromium/FontChromiumWin.cpp:
41269        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
41270        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
41271        (WebCore::Font::drawComplexText):
41272        * platform/graphics/chromium/ImageBufferData.h:
41273        * platform/graphics/chromium/LayerChromium.h:
41274        * platform/graphics/chromium/LayerRendererChromium.h:
41275        * platform/graphics/chromium/PlatformCanvas.cpp:
41276        (WebCore::PlatformCanvas::resize):
41277        * platform/graphics/chromium/PlatformCanvas.h:
41278        * platform/graphics/chromium/TransparencyWin.cpp:
41279        (WebCore::TransparencyWin::compositeTextComposite):
41280        (WebCore::TransparencyWin::makeLayerOpaque):
41281        * platform/graphics/skia/ImageBufferSkia.cpp:
41282        (WebCore::ImageBuffer::ImageBuffer):
41283        * platform/graphics/skia/ImageSkia.cpp:
41284        (WebCore::paintSkBitmap):
41285        (WebCore::Image::drawPattern):
41286        * platform/graphics/skia/PlatformContextSkia.cpp:
41287        (WebCore::PlatformContextSkia::PlatformContextSkia):
41288        (WebCore::PlatformContextSkia::setCanvas):
41289        (WebCore::PlatformContextSkia::isPrinting):
41290        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
41291        * platform/graphics/skia/PlatformContextSkia.h:
41292        (WebCore::PlatformContextSkia::canvas):
41293
412942011-04-12  Enrica Casucci  <enrica@apple.com>
41295
41296        Reviewed by Alexey Proskuryakov.
41297
41298        Implement non-activating clicks to allow dragging out of a background window.
41299        https://bugs.webkit.org/show_bug.cgi?id=55053
41300        <rdar://problem/9042197>
41301
41302        * WebCore.exp.in: Added new exported method.
41303
413042011-04-12  Geoffrey Garen  <ggaren@apple.com>
41305
41306        Reviewed by Geoffrey Garen.
41307
41308        Cleaned up hash traits, and added hash traits for handles
41309        https://bugs.webkit.org/show_bug.cgi?id=58381
41310
41311        * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication.
41312
41313        * platform/KURL.h:
41314        (WebCore::KURL::KURL):
41315        (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table
41316        deleted value constructor, to be more explicit and enable use of
41317        SimpleClassHashTraits.
41318
41319        * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication.
41320
41321        * platform/graphics/FontCache.cpp: Ditto.
41322        * platform/network/ProtectionSpaceHash.h: Ditto.
41323        * svg/properties/SVGAnimatedPropertyDescription.h: Ditto.
41324
413252011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
41326
41327        Reviewed by Andreas Kling.
41328
41329        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
41330        https://bugs.webkit.org/show_bug.cgi?id=58375
41331
41332        As QNAM now makes actual synchronous loads there is no need for a nested event loop
41333        in ResourceHandleQt.
41334
41335        Moving the call for QNetworkReplyWrapper::synchronousLoad from
41336        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
41337        redirections to work in synchronous requests.
41338
41339        * platform/network/qt/QNetworkReplyHandler.cpp:
41340        (WebCore::QNetworkReplyHandler::start):
41341        * platform/network/qt/QNetworkReplyHandler.h:
41342        * platform/network/qt/ResourceHandleQt.cpp:
41343        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
41344        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
41345        (WebCore::WebCoreSynchronousLoader::didReceiveData):
41346        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
41347        (WebCore::WebCoreSynchronousLoader::didFail):
41348        (WebCore::ResourceHandle::loadResourceSynchronously):
41349
413502011-04-11  Jer Noble  <jer.noble@apple.com>
41351
41352        Reviewed by Simon Fraser.
41353
41354        REGRESSION: Vimeo fullscreen video displays incorrectly
41355        https://bugs.webkit.org/show_bug.cgi?id=58291
41356
41357        Set the RenderFullScreen's zIndex to the max.  And make sure to override
41358        a video element's specified width and height by making its full screen rules
41359        important.  Also, always show the controls when a media element is in full
41360        screen mode.
41361
41362        Test: fullscreen/video-specified-size.html
41363        Test: fullscreen/full-screen-zIndex.html
41364
41365        * css/fullscreen.css:
41366        (video:-webkit-full-screen): 
41367        * html/HTMLMediaElement.cpp:
41368        (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode.
41369        (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen
41370            change event and hide or show the controls accordingly.
41371        * html/HTMLMediaElement.h:
41372        * rendering/RenderFullScreen.cpp:
41373        (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a 
41374            vertical flexbox instead of a horizontal one.
41375
413762011-04-12  Chris Marrin  <cmarrin@apple.com>
41377
41378        Reviewed by Simon Fraser.
41379
41380        Page tears and stutters in WebKit2 when page is > 2048 pixels wide
41381        https://bugs.webkit.org/show_bug.cgi?id=58330
41382
41383        Added API to GraphicsLayer to disable switching to tiled layers. This is 
41384        set in the nonCompositedContentLayer in WK2, causing that layer to never
41385        switch to tiles and avoiding the asynchronous update of the content during
41386        scroll.
41387
41388        * platform/graphics/ca/GraphicsLayerCA.cpp:
41389            Implement setAllowTiledLayer() to simulate a SizeChanged action to 
41390            properly switch between tiled and untiled layer.
41391        * platform/graphics/ca/GraphicsLayerCA.h:
41392
413932011-04-12  Alok Priyadarshi  <alokp@chromium.org>
41394
41395        Reviewed by James Robinson.
41396
41397        Remove dependency on chromium skia::PlatformCanvas
41398        https://bugs.webkit.org/show_bug.cgi?id=57563
41399
41400        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas.
41401        The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium.
41402        We will eventually define an API that every port using skia will define.
41403
41404        * platform/graphics/chromium/FontChromiumWin.cpp:
41405        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
41406        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
41407        (WebCore::Font::drawComplexText):
41408        * platform/graphics/chromium/ImageBufferData.h:
41409        * platform/graphics/chromium/LayerChromium.h:
41410        * platform/graphics/chromium/LayerRendererChromium.h:
41411        * platform/graphics/chromium/PlatformCanvas.cpp:
41412        (WebCore::PlatformCanvas::resize):
41413        * platform/graphics/chromium/PlatformCanvas.h:
41414        * platform/graphics/chromium/TransparencyWin.cpp:
41415        (WebCore::TransparencyWin::compositeTextComposite):
41416        (WebCore::TransparencyWin::makeLayerOpaque):
41417        * platform/graphics/skia/ImageBufferSkia.cpp:
41418        (WebCore::ImageBuffer::ImageBuffer):
41419        * platform/graphics/skia/ImageSkia.cpp:
41420        (WebCore::paintSkBitmap):
41421        (WebCore::Image::drawPattern):
41422        * platform/graphics/skia/PlatformContextSkia.cpp:
41423        (WebCore::PlatformContextSkia::PlatformContextSkia):
41424        (WebCore::PlatformContextSkia::setCanvas):
41425        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
41426        * platform/graphics/skia/PlatformContextSkia.h:
41427        (WebCore::PlatformContextSkia::canvas):
41428        (WebCore::PlatformContextSkia::printing):
41429        (WebCore::PlatformContextSkia::setPrinting):
41430
414312011-04-11  Stephanie Lewis  <slewis@apple.com>
41432
41433        Reviewed by Oliver Hunt.
41434
41435        https://bugs.webkit.org/show_bug.cgi?id=58280
41436        <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
41437        Currently serialization and deserialization can throw javascript exceptions.  Since SerializedScriptValue is called in
41438        several places that do not always involve direct calls into javascript have the functions return an error code and the callers
41439        decide whether or not to throw exceptions.
41440
41441        Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h.  Walking that object creates
41442        additional objects which eventually causes serialization to end up throwing a stack overflow error.  Instead fail immediately.
41443
41444        Untangle header includes.  SerializedScriptValue was inheriting ScriptValue.h, but not using it.  Since ScriptValue depends on
41445        SerializedScriptValue this could lead to a circular header dependency.
41446
41447        No change in functionality, covered by current tests
41448
41449        * WebCore.exp.in:
41450        * bindings/js/JSMessageEventCustom.cpp:
41451        (WebCore::JSMessageEvent::initMessageEvent):
41452        * bindings/js/ScriptValue.cpp:
41453        (WebCore::ScriptValue::serialize):
41454        (WebCore::ScriptValue::deserialize):
41455        * bindings/js/ScriptValue.h:
41456        * bindings/js/SerializedScriptValue.cpp:
41457        (WebCore::CloneSerializer::serialize):
41458        (WebCore::CloneSerializer::dumpIfTerminal):
41459        (WebCore::CloneDeserializer::deserialize):
41460        (WebCore::SerializedScriptValue::create):
41461        (WebCore::SerializedScriptValue::deserialize):
41462        (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
41463        (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully):
41464        * bindings/js/SerializedScriptValue.h:
41465
41466        * bindings/js/JSWorkerContextBase.cpp: header include fix
41467        * loader/FrameLoader.h: header include fix
41468        * page/Frame.cpp: header include fix
41469
414702011-03-28  Adam Barth  <abarth@webkit.org>
41471
41472        Reviewed by Kenneth Russell.
41473
41474        Move libtess from WebCore/thirdparty to ThirdParty
41475        https://bugs.webkit.org/show_bug.cgi?id=57288
41476
41477        * WebCore.gyp/WebCore.gyp:
41478            - Add libtess as a legit dependency.
41479        * WebCore.gypi:
41480            - Remove libtess files from the gypi.
41481        * thirdparty/glu: Removed.
41482
414832011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
41484
41485        Reviewed by David Hyatt.
41486
41487        Bundle w and tmpW in findNextLineBreak together as a class
41488        https://bugs.webkit.org/show_bug.cgi?id=58362
41489
41490        Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth,
41491        and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class
41492        named LineWidth.
41493
41494        * rendering/RenderBlockLineLayout.cpp:
41495        (WebCore::LineWidth::LineWidth): Added.
41496        (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width.
41497        (WebCore::LineWidth::uncommittedWidth): Added.
41498        (WebCore::LineWidth::committedWidth): Added.
41499        (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width.
41500        (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width.
41501        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
41502
415032011-04-12  Yael Aharon  <yael.aharon@nokia.com>
41504
41505        Reviewed by Eric Seidel.
41506
41507        REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html
41508        https://bugs.webkit.org/show_bug.cgi?id=57459
41509
41510        Slightly change the way we decide if a InlineFlowBox is the last box for its renderer.
41511        We include the border in that box under these conditions:
41512        (1) The next line was not created, or it is constructed. We check the previous line for rtl.
41513        (2) The logicallyLastRun is not a descendant of this renderer.
41514        (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.
41515        I added the tests from bug 47210, because now the draw the borders correctly.
41516
41517        Tests: fast/borders/bidi-002.html
41518               fast/borders/bidi-004.html
41519               fast/borders/bidi-009a.html
41520
41521        * rendering/InlineFlowBox.cpp:
41522        (WebCore::InlineFlowBox::onEndChain):
41523        (WebCore::isAnsectorAndWithinBlock):
41524        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
41525        * rendering/InlineFlowBox.h:
41526        * rendering/RenderBlock.h:
41527        * rendering/RenderBlockLineLayout.cpp:
41528        (WebCore::RenderBlock::constructLine):
41529        (WebCore::RenderBlock::layoutInlineChildren):
41530
415312011-04-12  Geoffrey Garen  <ggaren@apple.com>
41532
41533        Reviewed by Sam Weinig.
41534
41535        Cleaned up some Vector traits, and added missing Vector traits for handles
41536        https://bugs.webkit.org/show_bug.cgi?id=58372
41537
41538        * platform/graphics/BitmapImage.h: Added a FIXME because the current
41539        Vector traits for FrameData are logically incorrect, but I couldn't find
41540        a place where this currently results in bad behavior, and it's not
41541        immediately obvious what the right solution is.
41542
415432011-04-12  Dimitri Glazkov  <dglazkov@chromium.org>
41544
41545        Reviewed by Eric Seidel.
41546
41547        Move MediaControlElements to html/shadow.
41548        https://bugs.webkit.org/show_bug.cgi?id=58347
41549
41550        Mechanical move of the files.
41551
41552        * Android.mk: Updated the build file.
41553        * CMakeLists.txt: Ditto.
41554        * GNUmakefile.list.am: Ditto.
41555        * WebCore.gypi: Ditto.
41556        * WebCore.pro: Ditto.
41557        * WebCore.vcproj/WebCore.vcproj: Ditto.
41558        * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files.
41559        * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp.
41560        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
41561        * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h.
41562        * rendering/MediaControlElements.cpp: Removed.
41563        * rendering/MediaControlElements.h: Removed.
41564        * rendering/RenderingAllInOne.cpp: Removed the files that were moved.
41565
415662011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
41567
41568        Reviewed by Andreas Kling.
41569
41570        [Qt] QNetworkReplyHandler refactoring: signal queue
41571        https://bugs.webkit.org/show_bug.cgi?id=57075
41572
41573        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
41574        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
41575        from QNetworkReplyHandler class and encapsulated in its own class.
41576
41577        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
41578        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
41579        This together with empting the queue at wrapper destruction time makes sure that the handler will
41580        not receive calls from a dead wrapper.
41581
41582        The new class is named QNetworkReplyHandlerCallQueue.
41583
41584        * platform/network/qt/QNetworkReplyHandler.cpp:
41585        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
41586        (WebCore::QNetworkReplyHandlerCallQueue::push):
41587        (WebCore::QNetworkReplyHandlerCallQueue::lock):
41588        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
41589        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
41590        (WebCore::QueueLocker::QueueLocker):
41591        (WebCore::QueueLocker::~QueueLocker):
41592        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
41593        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
41594        (WebCore::QNetworkReplyWrapper::receiveMetaData):
41595        (WebCore::QNetworkReplyWrapper::readyRead):
41596        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
41597        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41598        (WebCore::QNetworkReplyHandler::resetState):
41599        (WebCore::QNetworkReplyHandler::release):
41600        (WebCore::QNetworkReplyHandler::finish):
41601        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41602        (WebCore::QNetworkReplyHandler::forwardData):
41603        (WebCore::QNetworkReplyHandler::start):
41604        (WebCore::QNetworkReplyHandler::synchronousLoad):
41605        * platform/network/qt/QNetworkReplyHandler.h:
41606        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
41607        (WebCore::QNetworkReplyHandlerCallQueue::clear):
41608        (WebCore::QNetworkReplyWrapper::synchronousLoad):
41609        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
41610        * platform/network/qt/ResourceHandleQt.cpp:
41611        (WebCore::ResourceHandle::loadResourceSynchronously):
41612
416132011-04-12  David Hyatt  <hyatt@apple.com>
41614
41615        Reviewed by Dan Bernstein.
41616
41617        https://bugs.webkit.org/show_bug.cgi?id=58176
41618        
41619        Inline replaced elements following positioned elements on lines are not rendered. Make sure the
41620        logic for skipping run construction in appendRunsForObject matches the new logic that I added
41621        to findNextLineBreak. If they don't match up, you risk confusing the run construction code and
41622        causing it to not make runs for objects that follow the positioned object on the line.
41623
41624        Added fast/inline/positioned-object-between-replaced-elements.html
41625        
41626        * rendering/RenderBlockLineLayout.cpp:
41627        (WebCore::RenderBlock::appendRunsForObject):
41628
416292011-04-12  Alice Liu  <alice.liu@apple.com>
41630
41631        Reviewed by Sam Weinig.
41632
41633        https://bugs.webkit.org/show_bug.cgi?id=58292
41634        Provide new setting to allow site icon loading despite disabling automatic image loading in general.
41635
41636        Test: http/tests/misc/favicon-loads-with-icon-loading-override.html
41637
41638        * WebCore.exp.in: Added export symbol
41639        * loader/FrameLoader.cpp:
41640        (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded.
41641        * page/Settings.cpp:
41642        (WebCore::Settings::Settings): Add initializer for new setting
41643        (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting.
41644        * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting.
41645        (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter.
41646
416472011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
41648
41649        Reviewed by Eric Seidel.
41650
41651        Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle
41652        https://bugs.webkit.org/show_bug.cgi?id=55974
41653
41654        Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand
41655        to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue,
41656        setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles,
41657        diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn.
41658
41659        Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp
41660
41661        * editing/ApplyStyleCommand.cpp:
41662        * editing/ApplyStyleCommand.h:
41663        * editing/EditingStyle.cpp:
41664        (WebCore::reconcileTextDecorationProperties):
41665        (WebCore::StyleChange::StyleChange):
41666        (WebCore::setTextDecorationProperty):
41667        (WebCore::getRGBAFontColor):
41668        (WebCore::StyleChange::extractTextStyles):
41669        (WebCore::diffTextDecorations):
41670        (WebCore::fontWeightIsBold):
41671        (WebCore::getTextAlignment):
41672        (WebCore::getPropertiesNotIn):
41673        (WebCore::getIdentifierValue):
41674        (WebCore::isCSSValueLength):
41675        (WebCore::legacyFontSizeFromCSSValue):
41676        * editing/EditingStyle.h:
41677        (WebCore::StyleChange::cssStyle):
41678        (WebCore::StyleChange::applyBold):
41679        (WebCore::StyleChange::applyItalic):
41680        (WebCore::StyleChange::applyUnderline):
41681        (WebCore::StyleChange::applyLineThrough):
41682        (WebCore::StyleChange::applySubscript):
41683        (WebCore::StyleChange::applySuperscript):
41684        (WebCore::StyleChange::applyFontColor):
41685        (WebCore::StyleChange::applyFontFace):
41686        (WebCore::StyleChange::applyFontSize):
41687        (WebCore::StyleChange::fontColor):
41688        (WebCore::StyleChange::fontFace):
41689        (WebCore::StyleChange::fontSize):
41690        (WebCore::StyleChange::operator==):
41691        (WebCore::StyleChange::operator!=):
41692
416932011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
41694
41695        Reviewed by Kenneth Rohde Christiansen.
41696
41697        [Qt] Better padding for inputs and comboxes in mobile theme
41698        https://bugs.webkit.org/show_bug.cgi?id=58248
41699
41700        * platform/qt/RenderThemeQt.cpp:
41701        (WebCore::RenderThemeQt::setButtonPadding):
41702        (WebCore::RenderThemeQt::adjustTextFieldStyle):
41703        (WebCore::RenderThemeQt::paintTextField):
41704        (WebCore::RenderThemeQt::adjustMenuListStyle):
41705
417062011-04-11  Abhishek Arya  <inferno@chromium.org>
41707
41708        Reviewed by Dave Hyatt.
41709
41710        Replace insertChildNode with addChild in handleRunIn's reparenting
41711        of inlineRunIn to currBlock.
41712        https://bugs.webkit.org/show_bug.cgi?id=58228
41713
41714        Use addChild instead of insertChildNode since it handles 
41715        correct placement of the children, esp where we cannot insert
41716        anything before the first child. e.g. details tag requires that its
41717        first child be a summary child and won't be able to remove child if
41718        that is not the case.
41719
41720        Test: fast/runin/runin-reparent-crash.html
41721
41722        * rendering/RenderBlock.cpp:
41723        (WebCore::RenderBlock::handleRunInChild):
41724
417252011-04-12  Chris Fleizach  <cfleizach@apple.com>
41726
41727        Unreviewed. Fixing Leopard build.
41728
41729        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
41730        https://bugs.webkit.org/show_bug.cgi?id=58304
41731
41732        checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING).
41733
41734        * accessibility/mac/AccessibilityObjectWrapper.mm:
41735        (AXAttributeStringSetSpelling):
41736
417372011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
41738
41739        Unreviewed. Added missing files to GNUmakefile.list.am.
41740
41741        * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp].
41742
417432011-04-12  Cris Neckar  <cdn@chromium.org>
41744
41745        Reviewed by Nikolas Zimmermann.
41746
41747        Add handling for non-svg inline text boxes in text box lists.
41748        https://bugs.webkit.org/show_bug.cgi?id=57933
41749
41750        Test: svg/text/svg-rtl-text-crash.html
41751
41752        * rendering/svg/RenderSVGInlineText.cpp:
41753        (WebCore::RenderSVGInlineText::positionForPoint):
41754        * rendering/svg/SVGInlineFlowBox.cpp:
41755        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
41756        * rendering/svg/SVGRenderTreeAsText.cpp:
41757        (WebCore::writeSVGInlineTextBoxes):
41758        * rendering/svg/SVGRootInlineBox.cpp:
41759        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
41760        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
41761        * rendering/svg/SVGTextQuery.cpp:
41762        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
41763
417642011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
41765
41766        Reviewed by Chris Fleizach.
41767
41768        [GTK] Expose menu items and menus as children of a menu bar
41769        https://bugs.webkit.org/show_bug.cgi?id=56659
41770
41771        Ensure menu items get exposed when they're children of menu bars.
41772
41773        * accessibility/AccessibilityRenderObject.cpp:
41774        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
41775        Consider menu bars as potential parent objects for menu items.
41776
417772011-04-12  Pavel Feldman  <pfeldman@google.com>
41778
41779        Reviewed by Yury Semikhatsky.
41780
41781        Web Inspector: remove scriptWorldType from the protocol.
41782        https://bugs.webkit.org/show_bug.cgi?id=58324
41783
41784        * inspector/Inspector.json:
41785        * inspector/InspectorDebuggerAgent.cpp:
41786        (WebCore::InspectorDebuggerAgent::didParseSource):
41787        * inspector/ScriptDebugListener.h:
41788        (WebCore::ScriptDebugListener::~ScriptDebugListener):
41789        * inspector/front-end/DebuggerModel.js:
41790        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
41791        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
41792        * inspector/front-end/Script.js:
41793        (WebInspector.Script):
41794        * inspector/front-end/ScriptsPanel.js:
41795        * inspector/front-end/SourceFile.js:
41796        (WebInspector.SourceFile):
41797
417982011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
41799
41800        Reviewed by Eric Carlson.
41801
41802        Should MediaControls::changedNetworkState fiddle with Fullscreen controls?
41803        https://bugs.webkit.org/show_bug.cgi?id=58163
41804
41805        Covered by existing tests and manual-tests/media-controls.html.
41806
41807        * html/shadow/MediaControls.cpp:
41808        (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here.
41809        (WebCore::MediaControls::changedNetworkState): ... from here.
41810
418112011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
41812
41813        Reviewed by Pavel Feldman.
41814
41815        Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
41816        https://bugs.webkit.org/show_bug.cgi?id=58335
41817
41818        It was the method for Inspector layout tests.
41819        We can use RuntimeAgent.evaluate instead.
41820
41821        * inspector/Inspector.json:
41822        * inspector/InspectorAgent.cpp:
41823        * inspector/InspectorAgent.h:
41824        * inspector/InspectorController.cpp:
41825        (WebCore::InspectorController::connectFrontend):
41826        * inspector/front-end/TestController.js:
41827        (WebInspector.TestController.prototype.notifyDone):
41828
418292011-04-12  Philippe Normand  <pnormand@igalia.com>
41830
41831        Reviewed by Martin Robinson.
41832
41833        [GStreamer] some public callbacks remain
41834        https://bugs.webkit.org/show_bug.cgi?id=58307
41835
41836        Cleanup of the player public/private APIs. Moving the GstMessage
41837        handling code inside of the player allowed some APIs to move to
41838        the private scope of the class.
41839
41840        No new tests, this patch is a cleanup and should not affect
41841        current tests coverage.
41842
41843        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
41844        (WebCore::mediaPlayerPrivateMessageCallback):
41845        (WebCore::mediaPlayerPrivateSourceChangedCallback):
41846        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
41847        (WebCore::mediaPlayerPrivateMuteChangedCallback):
41848        (WebCore::mediaPlayerPrivateRepaintCallback):
41849        (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
41850        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
41851        (WebCore::MediaPlayerPrivateGStreamer::seek):
41852        (WebCore::MediaPlayerPrivateGStreamer::setRate):
41853        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
41854        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
41855        (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
41856        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
41857
418582011-04-12  Philippe Normand  <pnormand@igalia.com>
41859
41860        Reviewed by Martin Robinson.
41861
41862        [GStreamer] advertize HTTP Live Streaming mime-type
41863        https://bugs.webkit.org/show_bug.cgi?id=58318
41864
41865        Register the hls mime-type in the internal cache if found in the
41866        typefind factories.
41867
41868        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
41869        (WebCore::mimeTypeCache):
41870
418712011-04-11  MORITA Hajime  <morrita@google.com>
41872
41873        Reviewed by Ryosuke Niwa.
41874        
41875        RenderIndicator and ShadowBlockElement are no longer used.
41876        https://bugs.webkit.org/show_bug.cgi?id=58277
41877
41878        Removed RenderIndicator and ShadowBlockElement.
41879        
41880        No new tests. Just removed unused code.
41881
41882        * CMakeLists.txt:
41883        * GNUmakefile.list.am:
41884        * WebCore.gypi:
41885        * WebCore.pro:
41886        * WebCore.vcproj/WebCore.vcproj:
41887        * WebCore.xcodeproj/project.pbxproj:
41888        * rendering/RenderIndicator.cpp: Removed.
41889        * rendering/RenderIndicator.h: Removed.
41890        * rendering/RenderMeter.h:
41891        * rendering/RenderingAllInOne.cpp:
41892        * rendering/ShadowElement.cpp:
41893        * rendering/ShadowElement.h:
41894
418952011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
41896
41897        Reviewed by Benjamin Poulain.
41898
41899        fast/css/dashboard-regions-attr-crash.html asserts
41900        https://bugs.webkit.org/show_bug.cgi?id=58233
41901
41902        Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
41903        not to generate incorrect properties into CSSPropertyNames.h.
41904
41905        * CodeGenerators.pri:
41906        * features.pri:
41907
419082011-04-12  Chris Fleizach  <cfleizach@apple.com>
41909
41910        Reviewed by Dan Bernstein.
41911
41912        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
41913        https://bugs.webkit.org/show_bug.cgi?id=58304
41914
41915        checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
41916        checkTextOfParagraph in order to retrieve misspelled ranges.
41917
41918        Existing tests cover this functionality.
41919
41920        * accessibility/mac/AccessibilityObjectWrapper.mm:
41921        (AXAttributeStringSetSpelling):
41922
419232011-04-12  Sergio Villar Senin  <svillar@igalia.com>
41924
41925        Reviewed by Martin Robinson.
41926
41927        [GTK] Remove m_idleHandler from ResourceHandleSoup
41928        https://bugs.webkit.org/show_bug.cgi?id=58319
41929
41930        The m_idleHandler attribute is no longer used in ResourceHandleSoup.
41931        No new tests needed, no functionality change.
41932
41933        * platform/network/ResourceHandleInternal.h:
41934        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
41935        * platform/network/soup/ResourceHandleSoup.cpp:
41936        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
41937
419382011-04-12  Andrey Adaikin  <aandrey@google.com>
41939
41940        Reviewed by Yury Semikhatsky.
41941
41942        Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
41943        https://bugs.webkit.org/show_bug.cgi?id=58314
41944
41945        * inspector/front-end/SourceFrame.js:
41946        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
41947
419482011-04-11  Pavel Podivilov  <podivilov@chromium.org>
41949
41950        Reviewed by Pavel Feldman.
41951
41952        Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
41953        https://bugs.webkit.org/show_bug.cgi?id=58238
41954
41955        Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
41956
41957        * inspector/front-end/SourceFrame.js:
41958        (WebInspector.SourceFrame):
41959        (WebInspector.SourceFrame.prototype.isContentEditable):
41960        (WebInspector.SourceFrame.prototype._createTextViewer):
41961        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
41962        (WebInspector.SourceFrame.prototype.commitEditing):
41963        (WebInspector.SourceFrame.prototype.cancelEditing):
41964        * inspector/front-end/TextViewer.js:
41965        (WebInspector.TextViewer.prototype._doubleClick):
41966        (WebInspector.TextViewer.prototype._registerShortcuts):
41967        (WebInspector.TextViewer.prototype._handleKeyDown):
41968        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
41969        (WebInspector.TextViewer.prototype._commitEditing):
41970        (WebInspector.TextViewer.prototype._cancelEditing):
41971        (WebInspector.TextViewerDelegate.prototype.endEditing):
41972        (WebInspector.TextViewerDelegate.prototype.commitEditing):
41973        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
41974
419752011-04-12  Pavel Feldman  <pfeldman@google.com>
41976
41977        Reviewed by Yury Semikhatsky.
41978
41979        Web Inspector: cookies view is empty even for sites with cookies.
41980        https://bugs.webkit.org/show_bug.cgi?id=58316
41981
41982        Test: http/tests/inspector/resource-tree-model.html
41983
41984        * inspector/front-end/ResourceTreeModel.js:
41985        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
41986
419872011-04-11  Stephen White  <senorblanco@chromium.org>
41988
41989        Reviewed by James Robinson.
41990
41991        [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
41992        https://bugs.webkit.org/show_bug.cgi?id=58258
41993
41994        When one accelerated canvas is drawn to another via drawImage(), if the
41995        prior call in the source canvas was non-accelerated, the 
41996        hardware canvas is not up-to-date, and the results will be incorrect.
41997        Fixed by calling prepareForHardwareDraw() on the source context.
41998
41999        Test: fast/canvas/canvas-to-canvas.html
42000
42001        * platform/graphics/skia/ImageBufferSkia.cpp:
42002        (WebCore::ImageBuffer::draw):
42003
420042011-04-12  Mikhail Naganov  <mnaganov@chromium.org>
42005
42006        Reviewed by Pavel Feldman.
42007
42008        Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
42009        https://bugs.webkit.org/show_bug.cgi?id=58146
42010
42011        Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
42012               inspector/profiler/detailed-heapshots-comparison-show-all.html
42013               inspector/profiler/detailed-heapshots-comparison-show-next.html
42014               inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
42015               inspector/profiler/detailed-heapshots-comparison-sorting.html
42016               inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
42017               inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
42018               inspector/profiler/detailed-heapshots-dominators-show-all.html
42019               inspector/profiler/detailed-heapshots-dominators-show-next.html
42020               inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
42021               inspector/profiler/detailed-heapshots-dominators-sorting.html
42022               inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
42023
42024        * inspector/front-end/DetailedHeapshotView.js:
42025        (WebInspector.HeapSnapshotDiffDataGrid):
42026
420272011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
42028
42029        Reviewed by Yury Semikhatsky.
42030
42031        Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
42032        https://bugs.webkit.org/show_bug.cgi?id=58305
42033
42034        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.
42035
42036        * inspector/CodeGeneratorInspector.pm:
42037
420382011-04-11  Pavel Podivilov  <podivilov@chromium.org>
42039
42040        Reviewed by Pavel Feldman.
42041
42042        Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
42043        https://bugs.webkit.org/show_bug.cgi?id=58232
42044
42045        * WebCore.gypi:
42046
420472011-04-12  Pavel Podivilov  <podivilov@chromium.org>
42048
42049        Reviewed by Pavel Feldman.
42050
42051        Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
42052        https://bugs.webkit.org/show_bug.cgi?id=58273
42053
42054        * inspector/front-end/SourceFrame.js:
42055        (WebInspector.SourceFrame):
42056        (WebInspector.SourceFrame.prototype.get visible):
42057        (WebInspector.SourceFrame.prototype.set visible):
42058        (WebInspector.SourceFrame.prototype.show):
42059        (WebInspector.SourceFrame.prototype.hide):
42060        (WebInspector.SourceFrame.prototype.detach):
42061        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
42062        (WebInspector.SourceFrame.prototype.markDiff):
42063        (WebInspector.SourceFrame.prototype.addMessage):
42064        (WebInspector.SourceFrame.prototype.clearMessages):
42065        (WebInspector.SourceFrame.prototype.get scrollTop):
42066        (WebInspector.SourceFrame.prototype.set scrollTop):
42067        (WebInspector.SourceFrame.prototype.highlightLine):
42068        (WebInspector.SourceFrame.prototype._clearLineHighlight):
42069        (WebInspector.SourceFrame.prototype._initializeTextViewer):
42070        (WebInspector.SourceFrame.prototype.performSearch):
42071        (WebInspector.SourceFrame.prototype.searchCanceled):
42072        (WebInspector.SourceFrame.prototype._jumpToSearchResult):
42073        (WebInspector.SourceFrame.prototype.setExecutionLine):
42074        (WebInspector.SourceFrame.prototype.clearExecutionLine):
42075        (WebInspector.SourceFrame.prototype.resize):
42076
420772011-04-12  Pavel Feldman  <pfeldman@google.com>
42078
42079        Reviewed by Yury Semikhatsky.
42080
42081        Web Inspector: document runtime agent, share remote object definition between domains.
42082        https://bugs.webkit.org/show_bug.cgi?id=58246
42083
42084        * inspector/Inspector.json:
42085
420862011-04-12  Pavel Feldman  <pfeldman@google.com>
42087
42088        Reviewed by Yury Semikhatsky.
42089
42090        Web Inspector: document console domain, support cross-domain type references.
42091        https://bugs.webkit.org/show_bug.cgi?id=58240
42092
42093        * inspector/ConsoleMessage.cpp:
42094        (WebCore::messageSourceValue):
42095        (WebCore::messageTypeValue):
42096        (WebCore::messageLevelValue):
42097        (WebCore::ConsoleMessage::addToFrontend):
42098        * inspector/Inspector.json:
42099        * inspector/ScriptCallFrame.cpp:
42100        (WebCore::ScriptCallFrame::buildInspectorObject):
42101        * inspector/front-end/ConsoleView.js:
42102        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
42103        (WebInspector.ConsoleMessage):
42104        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
42105        (WebInspector.ConsoleMessage.prototype.isEqual):
42106        * inspector/front-end/NetworkManager.js:
42107        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
42108        * inspector/generate-inspector-idl:
42109        * page/Console.h:
42110
421112011-04-06  Philippe Normand  <pnormand@igalia.com>
42112
42113        Reviewed by Martin Robinson.
42114
42115        [GStreamer] RTSP playback broken
42116        https://bugs.webkit.org/show_bug.cgi?id=56930
42117
42118        Rely on {audio,video}-changed playbin2 signals instead of the
42119        -tags-changed signals because some media don't provide tags and
42120        then can trick the media-player to not paint video, for instance.
42121
42122        Also trigger a video size calculation after the video sink
42123        negotiated its caps. This is useful in the cases where
42124        audio-changed signal is emitted but the video sink takes more time
42125        to negociate caps with its peer.
42126
42127        This patch also fixes the rtsp manual-test with a new stream url
42128        which seems to be more permanent than the previous WWDC keynote
42129        stream.
42130
42131        * manual-tests/video-rtsp.html:
42132        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
42133        (WebCore::mediaPlayerPrivateVideoChangedCallback):
42134        (WebCore::mediaPlayerPrivateAudioChangedCallback):
42135        (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
42136        (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
42137        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
42138        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
42139        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
42140        (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
42141        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
42142        (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
42143        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
42144        (WebCore::MediaPlayerPrivateGStreamer::paint):
42145        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
42146        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
42147
421482011-04-12  Vsevolod Vlasov  <vsevik@chromium.org>
42149
42150        Reviewed by Pavel Feldman.
42151
42152        Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
42153        https://bugs.webkit.org/show_bug.cgi?id=58135
42154
42155        Added statuses for failed/canceled resource loading.
42156
42157        * English.lproj/localizedStrings.js:
42158        * inspector/Inspector.json:
42159        * inspector/InspectorResourceAgent.cpp:
42160        (WebCore::InspectorResourceAgent::didFailLoading):
42161        * inspector/front-end/NetworkManager.js:
42162        * inspector/front-end/NetworkPanel.js:
42163        * inspector/front-end/Resource.js:
42164
421652011-04-12  Steve Block  <steveblock@google.com>
42166
42167        Reviewed by Oliver Hunt.
42168
42169        Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
42170        https://bugs.webkit.org/show_bug.cgi?id=40012
42171
42172        Covered by fast/dom/Geolocation/argument-types.html
42173
42174        * bindings/js/CallbackFunction.cpp:
42175        (WebCore::checkFunctionOnlyCallback):
42176
421772011-04-07  Philippe Normand  <pnormand@igalia.com>
42178
42179        Reviewed by Martin Robinson.
42180
42181        [GStreamer] report playback statistics
42182        https://bugs.webkit.org/show_bug.cgi?id=58033
42183
42184        Provide media playback statistics using fpsdisplaysink and
42185        position queries.
42186
42187        * manual-tests/video-statistics.html: Added.
42188        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
42189        (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
42190        (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
42191        (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
42192        (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
42193        (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
42194        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
42195        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
42196        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
42197
421982011-04-11  Philippe Normand  <pnormand@igalia.com>
42199
42200        Reviewed by Martin Robinson.
42201
42202        [GStreamer] warnings in media/video-set-rate-from-pause.html
42203        https://bugs.webkit.org/show_bug.cgi?id=58220
42204
42205        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
42206        (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
42207        pipeline if new rate is zero, like advised in the GStreamer
42208        documentation of gst_event_new_seek().
42209
422102011-04-11  Vangelis Kokkevis  <vangelis@chromium.org>
42211
42212        Reviewed by James Robinson.
42213
42214        [chromium] Properly invalidate the contents of ImageLayerChromium's
42215        when the actual image contents change.
42216        https://bugs.webkit.org/show_bug.cgi?id=58181
42217
42218        Test: compositing/images/content-image-change.html
42219
42220        * platform/graphics/chromium/ContentLayerChromium.cpp:
42221        (WebCore::ContentLayerChromium::updateTexture):
42222        * platform/graphics/chromium/ImageLayerChromium.cpp:
42223        (WebCore::ImageLayerChromium::ImageLayerChromium):
42224        (WebCore::ImageLayerChromium::setContents):
42225        (WebCore::ImageLayerChromium::paintContentsIfDirty):
42226        * platform/graphics/chromium/ImageLayerChromium.h:
42227
422282011-04-11  Simon Fraser  <simon.fraser@apple.com>
42229
42230        Reviewed by Dan Bernstein.
42231
42232        -webkit-box-shadow:inset does not animate transform as an inset shadow
42233        https://bugs.webkit.org/show_bug.cgi?id=45176
42234        
42235        Two fixes:
42236        1. Don't run transitions between different shadow styles (normal vs. inset).
42237        2. When either source or destination is null, use a default shadow with a
42238        matching style so that the transition runs.
42239
42240        Test: transitions/mismatched-shadow-styles.html
42241
42242        * page/animation/AnimationBase.cpp:
42243        (WebCore::blendFunc):
42244        (WebCore::PropertyWrapperShadow::blend):
42245
422462011-04-11  John Bates  <jbates@google.com>
42247
42248        Reviewed by Kenneth Russell.
42249
42250        chromium support for glSetLatch and glWaitLatch between 3D contexts
42251        https://bugs.webkit.org/show_bug.cgi?id=58003
42252
42253        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
42254        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
42255        (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
42256        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
42257        * platform/graphics/chromium/Canvas2DLayerChromium.h:
42258        * platform/graphics/chromium/Extensions3DChromium.h:
42259        * platform/graphics/chromium/GLES2Canvas.cpp:
42260        (WebCore::Cubic::Cubic):
42261        * platform/graphics/chromium/LayerRendererChromium.cpp:
42262        (WebCore::LayerRendererChromium::LayerRendererChromium):
42263        (WebCore::LayerRendererChromium::updateAndDrawLayers):
42264        (WebCore::LayerRendererChromium::updateLayers):
42265        (WebCore::LayerRendererChromium::addChildContext):
42266        (WebCore::LayerRendererChromium::removeChildContext):
42267        * platform/graphics/chromium/LayerRendererChromium.h:
42268        * platform/graphics/chromium/WebGLLayerChromium.cpp:
42269        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
42270        (WebCore::WebGLLayerChromium::updateCompositorResources):
42271        (WebCore::WebGLLayerChromium::setContext):
42272        (WebCore::WebGLLayerChromium::setLayerRenderer):
42273        * platform/graphics/chromium/WebGLLayerChromium.h:
42274
422752011-04-11  Alexey Marinichev  <amarinichev@chromium.org>
42276
42277        Reviewed by James Robinson.
42278
42279        LayerChromium/CCLayerImpl ownership fix
42280        https://bugs.webkit.org/show_bug.cgi?id=58283
42281
42282        CCLayerImpl's m_owner field lifetime should match the lifetime of the
42283        corresponding LayerChromium.  This change moves resetting of m_owner
42284        into LayerChromium's destructor.
42285
42286        Tested similarly to bug 57577.
42287
42288        * platform/graphics/chromium/LayerChromium.cpp:
42289        (WebCore::LayerChromium::~LayerChromium):
42290        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
42291        (WebCore::CCLayerImpl::cleanupResources):
42292        * platform/graphics/chromium/cc/CCLayerImpl.h:
42293        (WebCore::CCLayerImpl::resetOwner):
42294
422952011-04-11  Daniel Bates  <dbates@rim.com>
42296
42297        Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
42298        (https://bugs.webkit.org/show_bug.cgi?id=53556).
42299
42300        * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
42301
423022011-04-11  Brady Eidson  <beidson@apple.com>
42303
42304        Reviewed by Maciej Stachowiak.
42305
42306        <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
42307        URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
42308
42309        Test: fast/loader/stateobjects/state-url-sets-links-visited.html
42310
42311        * loader/HistoryController.cpp:
42312        (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
42313        (WebCore::HistoryController::replaceState): Ditto.
42314
423152011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
42316
42317        Reviewed by Eric Carlson.
42318
42319        Rename MediaControls to MediaControlRootElement.
42320        https://bugs.webkit.org/show_bug.cgi?id=58250
42321
42322        Mechanical move using do-webcore-rename.
42323
423242011-04-11  Dean Jackson  <dino@apple.com>
42325
42326        Reviewed by Simon Fraser.
42327
42328        https://bugs.webkit.org/show_bug.cgi?id=58285
42329        CompositeAnimation is cleared while an AnimationBase is waiting for notification
42330
42331        Occasionally hardware animations would trigger a state where
42332        they would tell the AnimationControllerPrivate that it should notify
42333        any waiting animations that they are ready to start, even though
42334        the RenderObject had gone away and hence the CompositeAnimation
42335        had been destroyed. The fix is to zero the pointer from AnimationBase
42336        when the CompositeAnimation destructor runs (or its animations are
42337        cleared) and test the validity of the CompositeAnimation before it
42338        is used in AnimationBase.
42339
42340        * page/animation/AnimationBase.cpp:
42341        (WebCore::AnimationBase::updateStateMachine):
42342        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
42343        (WebCore::AnimationBase::updatePlayState):
42344        (WebCore::AnimationBase::freezeAtTime):
42345        (WebCore::AnimationBase::beginAnimationUpdateTime):
42346        - test that the CompositeAnimation exists
42347        * page/animation/AnimationBase.h:
42348        (WebCore::AnimationBase::clear):
42349        - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
42350        * page/animation/CompositeAnimation.cpp:
42351        (WebCore::CompositeAnimation::clearRenderer):
42352        (WebCore::CompositeAnimation::updateKeyframeAnimations):
42353        - call clear() rather than clearRenderer()
42354
423552011-04-11  Justin Novosad  <junov@chromium.org>
42356
42357        Reviewed by Kenneth Russell.
42358
42359        [Chromium] Text anti-aliasing fails when rendering text with shadow
42360        https://bugs.webkit.org/show_bug.cgi?id=57584
42361
42362        * platform/graphics/chromium/FontChromiumWin.cpp:
42363        (WebCore::drawGlyphsWin): new static function, code factored-out
42364        from WebCore::Font::drawGlyphs
42365        (WebCore::Font::drawGlyphs): may separate font rendering into two
42366        passes to allow foreground glyphs to be rendered with GDI when Skia 
42367        is required for rendering shadows
42368        * platform/graphics/skia/SkiaFontWin.cpp:
42369        (WebCore::windowsCanHandleDrawTextShadow):
42370        Modified method so that it does not assume a shadow is present, and
42371        returns true if there is no shadow (GDI can draw 'no shadow')
42372        (WebCore::windowsCanHandleTextDrawing):
42373        Factored out into sub methods so that the the shadow and foregound
42374        glyph properties can be tested separately independently.
42375        (WebCore::windowsCanHandleTextDrawingWithoutShadow):
42376        New method returns true if the foreground glyph only has effect
42377        that can be draw with GDI
42378        (WebCore::paintSkiaText):
42379        * platform/graphics/skia/SkiaFontWin.h:
42380
423812011-04-11  Ryosuke Niwa  <rniwa@webkit.org>
42382
42383        Unreviewed, rolling out r83515.
42384        http://trac.webkit.org/changeset/83515
42385        https://bugs.webkit.org/show_bug.cgi?id=57178
42386
42387        Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
42388
42389        * rendering/InlineBox.cpp:
42390        (WebCore::InlineBox::nextOnLineExists):
42391        (WebCore::InlineBox::prevOnLineExists):
42392        * rendering/InlineBox.h:
42393        (WebCore::InlineBox::InlineBox):
42394
423952011-04-11  Brady Eidson  <beidson@apple.com>
42396
42397        Reverting, seeing something else still broken.  Sorry.
42398
42399        * html/HTMLTrackElement.cpp:
42400
424012011-04-11  Brady Eidson  <beidson@apple.com>
42402
42403        Fix the build.
42404
42405        * html/HTMLTrackElement.cpp: Case-sensitive, please.
42406
424072011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
42408
42409        Unreviewed build fix for Mac.
42410
42411        An idl file was added in the wrong place.
42412
42413        * WebCore.xcodeproj/project.pbxproj:
42414
424152011-04-11  Chris Marrin  <cmarrin@apple.com>
42416
42417        Rubberstamped by Dan Bernstein.
42418
42419        xhr.responseType = 'arraybuffer' works on Mac but not on Windows
42420        https://bugs.webkit.org/show_bug.cgi?id=50334
42421
42422        Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
42423        are always turned on now, so there's not need for the guard. I reenabled the
42424        test that was Skipped on Windows and it works now.
42425
42426        * bindings/js/JSXMLHttpRequestCustom.cpp:
42427        (WebCore::JSXMLHttpRequest::markChildren):
42428        (WebCore::JSXMLHttpRequest::send):
42429        (WebCore::JSXMLHttpRequest::response):
42430        * xml/XMLHttpRequest.cpp:
42431        (WebCore::XMLHttpRequest::responseArrayBuffer):
42432        (WebCore::XMLHttpRequest::setResponseType):
42433        (WebCore::XMLHttpRequest::send):
42434        (WebCore::XMLHttpRequest::clearResponseBuffers):
42435        (WebCore::XMLHttpRequest::didReceiveData):
42436        * xml/XMLHttpRequest.h:
42437        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
42438
424392011-04-11  Anna Cavender  <annacc@chromium.org>
42440
42441        Reviewed by Eric Carlson.
42442
42443        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
42444        https://bugs.webkit.org/show_bug.cgi?id=53556
42445
42446        No new tests. No real functionality added just yet.
42447
42448        * CMakeLists.txt:
42449        * CodeGenerators.pri:
42450        * Configurations/FeatureDefines.xcconfig:
42451        * DerivedSources.make:
42452        * GNUmakefile.am:
42453        * GNUmakefile.list.am:
42454        * WebCore.gypi:
42455        * WebCore.xcodeproj/project.pbxproj:
42456        * features.pri:
42457        * html/HTMLAttributeNames.in:
42458        * html/HTMLTagNames.in:
42459        * html/HTMLTrackElement.cpp: Added.
42460        (WebCore::HTMLTrackElement::HTMLTrackElement):
42461        (WebCore::HTMLTrackElement::create):
42462        (WebCore::HTMLTrackElement::insertedIntoTree):
42463        (WebCore::HTMLTrackElement::willRemove):
42464        (WebCore::HTMLTrackElement::src):
42465        (WebCore::HTMLTrackElement::setSrc):
42466        (WebCore::HTMLTrackElement::kind):
42467        (WebCore::HTMLTrackElement::setKind):
42468        (WebCore::HTMLTrackElement::srclang):
42469        (WebCore::HTMLTrackElement::setSrclang):
42470        (WebCore::HTMLTrackElement::label):
42471        (WebCore::HTMLTrackElement::setLabel):
42472        (WebCore::HTMLTrackElement::isDefault):
42473        (WebCore::HTMLTrackElement::setIsDefault):
42474        (WebCore::HTMLTrackElement::isURLAttribute):
42475        * html/HTMLTrackElement.h: Added.
42476        * html/HTMLTrackElement.idl: Added.
42477
424782011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
42479
42480        Reviewed by David Levin.
42481
42482        https://bugs.webkit.org/show_bug.cgi?id=57535
42483
42484        Better compile fix for Solaris 10/Sun Studio 12 CC 
42485        needing <sys/time.h>
42486
42487        * loader/icon/IconRecord.h:
42488        * page/Page.h:
42489        * platform/network/ResourceResponseBase.h:
42490
424912011-04-11  Alexey Proskuryakov  <ap@apple.com>
42492
42493        Reviewed by Maciej Stachowiak.
42494
42495        WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
42496        https://bugs.webkit.org/show_bug.cgi?id=58265
42497        <rdar://problem/9221468>
42498
42499        * page/EventHandler.cpp:
42500        (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
42501        (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
42502        other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
42503        (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
42504        goes forward. All browsers do it.
42505        (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
42506        for a correct event.
42507        (WebCore::EventHandler::defaultTabEventHandler): Ditto.
42508
42509        * page/EventHandler.h: Added defaultBackspaceEventHandler.
42510
425112011-04-11  Matthew Delaney  <mdelaney@apple.com>
42512
42513        Reviewed by Dan Bernstein.
42514
42515        [CG] drawImage with a subimage bleeds pixel data at borders
42516        https://bugs.webkit.org/show_bug.cgi?id=58267
42517
42518        Test: fast/canvas/DrawImageSinglePixelStretch.html
42519
42520        * platform/graphics/cg/ImageCG.cpp:
42521        (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
42522
425232011-04-11  Chris Marrin  <cmarrin@apple.com>
42524
42525        Reviewed by Simon Fraser.
42526
42527        iframe/compositing propagation should also work for <object> and framesets
42528        https://bugs.webkit.org/show_bug.cgi?id=39037
42529
42530        Generalized the code that handles the parenting of composited <iframe> elements
42531        to include <frame> and <object> elements. This includes forcing the parent
42532        element to be composited and constructing the layer tree in the child document
42533        and properly parenting it. Much of the change is giving the function calls more
42534        generic names (from ...IFrame... to ...Frame...)
42535        
42536        Compositing tests that were done in RenderIFrame have been moved to RenderPart
42537        since this is the highest base class common to all 3 elements.
42538        
42539        I also renamed several ...IFrame... functions to
42540        ...Frame... and changed them so they work on a RenderPart for determining
42541        if the renderer is composited. One other detail is that <iframe> and 
42542        <object> never share style since they might be composited. I had to add
42543        <frame> to that list.
42544
42545        Tests: compositing/framesets/composited-frame-alignment.html
42546               compositing/objects/composited-object-alignment.html
42547
42548        * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
42549        (WebCore::CSSStyleSelector::canShareStyleWithElement):
42550        * page/FrameView.cpp:
42551        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
42552        (WebCore::FrameView::setIsOverlapped):
42553        * rendering/RenderIFrame.cpp: Moved methods to RenderPart
42554        * rendering/RenderIFrame.h:
42555        * rendering/RenderLayerBacking.cpp:
42556        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
42557        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
42558        (WebCore::RenderLayerBacking::paintingGoesToWindow):
42559        * rendering/RenderLayerCompositor.cpp:
42560        (WebCore::RenderLayerCompositor::updateBacking):
42561        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
42562        (WebCore::RenderLayerCompositor::frameContentsCompositor):
42563        (WebCore::RenderLayerCompositor::parentFrameContentLayers):
42564        (WebCore::RenderLayerCompositor::didMoveOnscreen):
42565        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
42566        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
42567        (WebCore::RenderLayerCompositor::enclosingFrameElement):
42568        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
42569        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
42570        (WebCore::RenderLayerCompositor::requiresScrollLayer):
42571        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
42572        (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
42573        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
42574        * rendering/RenderLayerCompositor.h:
42575        * rendering/RenderPart.cpp: Functions moved from RenderIFrame
42576        (WebCore::RenderPart::requiresLayer):
42577        (WebCore::RenderPart::requiresAcceleratedCompositing):
42578        * rendering/RenderPart.h:
42579
425802011-04-11  Yael Aharon  <yael.aharon@nokia.com>
42581
42582        Reviewed by Eric Seidel.
42583
42584        InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
42585        https://bugs.webkit.org/show_bug.cgi?id=57178
42586
42587        Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
42588        No new tests needed because this is cleanup only.
42589
42590        * rendering/InlineBox.cpp:
42591        * rendering/InlineBox.h:
42592        (WebCore::InlineBox::InlineBox):
42593        (WebCore::InlineBox::setPrevOnLine):
42594
425952011-04-11  David Hyatt  <hyatt@apple.com>
42596
42597        Reviewed by Dan Bernstein.
42598
42599        https://bugs.webkit.org/show_bug.cgi?id=58261
42600
42601        Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
42602        to the new overflow model, I messed up the math and passed a bottom value where I should have
42603        passed a height value. This patch fixes the code to be logically equivalent to the way it
42604        was prior to my changes.
42605
42606        Added fast/overflow/trailing-float-linebox.html.
42607
42608        * rendering/RenderBlockLineLayout.cpp:
42609        (WebCore::RenderBlock::layoutInlineChildren):
42610
426112011-04-11  Adrienne Walker  <enne@google.com>
42612
42613        Unreviewed, rolling out r83500.
42614        http://trac.webkit.org/changeset/83500
42615        https://bugs.webkit.org/show_bug.cgi?id=57113
42616
42617        Regresses huge-layer-rotated test
42618
42619        * platform/graphics/chromium/ContentLayerChromium.cpp:
42620        (WebCore::ContentLayerChromium::ContentLayerChromium):
42621        (WebCore::ContentLayerChromium::~ContentLayerChromium):
42622        (WebCore::ContentLayerChromium::cleanupResources):
42623        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
42624        (WebCore::ContentLayerChromium::paintContentsIfDirty):
42625        (WebCore::ContentLayerChromium::resizeUploadBuffer):
42626        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
42627        (WebCore::ContentLayerChromium::updateTexture):
42628        (WebCore::ContentLayerChromium::draw):
42629        (WebCore::ContentLayerChromium::updateCompositorResources):
42630        (WebCore::ContentLayerChromium::unreserveContentsTexture):
42631        (WebCore::ContentLayerChromium::bindContentsTexture):
42632        (WebCore::ContentLayerChromium::dumpLayerProperties):
42633        * platform/graphics/chromium/ContentLayerChromium.h:
42634        (WebCore::ContentLayerChromium::drawsContent):
42635        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
42636        (WebCore::GraphicsLayerChromium::setMaskLayer):
42637        * platform/graphics/chromium/ImageLayerChromium.cpp:
42638        (WebCore::ImageLayerChromium::paintContentsIfDirty):
42639        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
42640        * platform/graphics/chromium/ImageLayerChromium.h:
42641        * platform/graphics/chromium/LayerChromium.h:
42642        (WebCore::LayerChromium::draw):
42643        * platform/graphics/chromium/LayerRendererChromium.cpp:
42644        (WebCore::LayerRendererChromium::drawRootLayer):
42645        (WebCore::LayerRendererChromium::drawLayers):
42646        (WebCore::LayerRendererChromium::paintContentsRecursive):
42647        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
42648        (WebCore::LayerRendererChromium::drawLayer):
42649        (WebCore::LayerRendererChromium::initializeSharedObjects):
42650        (WebCore::LayerRendererChromium::cleanupSharedObjects):
42651        * platform/graphics/chromium/LayerRendererChromium.h:
42652        (WebCore::LayerRendererChromium::contentLayerProgram):
42653        * platform/graphics/chromium/LayerTilerChromium.cpp:
42654        (WebCore::LayerTilerChromium::invalidateRect):
42655        (WebCore::LayerTilerChromium::update):
42656        (WebCore::LayerTilerChromium::updateFromPixels):
42657        (WebCore::LayerTilerChromium::draw):
42658        * platform/graphics/chromium/LayerTilerChromium.h:
42659        * platform/graphics/chromium/PlatformCanvas.cpp:
42660        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
42661        (WebCore::PlatformCanvas::Painter::Painter):
42662        * platform/graphics/chromium/PlatformCanvas.h:
42663        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
42664        (WebCore::RenderSurfaceChromium::draw):
42665        * platform/graphics/chromium/RenderSurfaceChromium.h:
42666        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
42667        (WebCore::CCCanvasLayerImpl::draw):
42668        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
42669        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
42670        (WebCore::CCHeadsUpDisplay::draw):
42671        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
42672        (WebCore::CCLayerImpl::draw):
42673        * platform/graphics/chromium/cc/CCLayerImpl.h:
42674        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
42675        (WebCore::CCPluginLayerImpl::draw):
42676        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
42677        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
42678        (WebCore::CCVideoLayerImpl::draw):
42679        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
42680
426812011-04-11  Jon Honeycutt  <jhoneycutt@apple.com>
42682
42683        <rdar://problem/9267042> Assertion failure on launch in
42684        LayerChangesFlusher::setHook().
42685
42686        https://bugs.webkit.org/show_bug.cgi?id=58270
42687
42688        Reviewed by Adam Roben.
42689
42690        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
42691        (WebCore::LayerChangesFlusher::setHook):
42692        MSDN says that the HINSTANCE passed in must be null if the thread ID
42693        passed is a thread created by this process and the hook procedure is
42694        within this process.
42695
426962011-04-11  MORITA Hajime  <morrita@google.com>
42697
42698        Unreviewed build fix.
42699
42700        Changeset 83492 broke Leopard build.
42701        https://bugs.webkit.org/show_bug.cgi?id=58268
42702
42703        * editing/Editor.cpp:
42704        (WebCore::Editor::markMisspellingsAfterTypingToWord):
42705
427062011-03-25  Adrienne Walker  <enne@google.com>
42707
42708        Reviewed by James Robinson.
42709
42710        [chromium] Tile content and image layers
42711        https://bugs.webkit.org/show_bug.cgi?id=57113
42712
42713        Layers tile by default if any dimension is larger than 512.  Smaller
42714        layers are contained within a single texture but still use the tiler
42715        infrastructure so that there's only one code path.
42716
42717        Remove large layer support from content layers.  Content layers no
42718        longer own a platform canvas--they own a tiler.  Refactor tiler to
42719        allow for better separation of update/upload/paint.  Add rect
42720        parameter to update and draw functions on layers for the layer-space
42721        rect of interest.  This is necessary to know which tiles need to be
42722        drawn.
42723
42724        * platform/graphics/chromium/ContentLayerChromium.cpp:
42725        (WebCore::ContentLayerChromium::ContentLayerChromium):
42726        (WebCore::ContentLayerChromium::~ContentLayerChromium):
42727        (WebCore::ContentLayerPainter::ContentLayerPainter):
42728        (WebCore::ContentLayerPainter::paint):
42729        (WebCore::ContentLayerChromium::paintContentsIfDirty):
42730        (WebCore::ContentLayerChromium::setLayerRenderer):
42731        (WebCore::ContentLayerChromium::tilingTransform):
42732        (WebCore::ContentLayerChromium::visibleLayerRect):
42733        (WebCore::ContentLayerChromium::layerBounds):
42734        (WebCore::ContentLayerChromium::updateLayerSize):
42735        (WebCore::ContentLayerChromium::draw):
42736        (WebCore::ContentLayerChromium::createTilerIfNeeded):
42737        (WebCore::ContentLayerChromium::updateCompositorResources):
42738        (WebCore::ContentLayerChromium::setTilingOption):
42739        (WebCore::ContentLayerChromium::bindContentsTexture):
42740        (WebCore::ContentLayerChromium::unreserveContentsTexture):
42741        (WebCore::ContentLayerChromium::setIsMask):
42742        (WebCore::ContentLayerChromium::dumpLayerProperties):
42743        * platform/graphics/chromium/ContentLayerChromium.h:
42744        (WebCore::ContentLayerChromium::drawsContent):
42745        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
42746        (WebCore::GraphicsLayerChromium::setMaskLayer):
42747        * platform/graphics/chromium/ImageLayerChromium.cpp:
42748        (WebCore::ImageLayerChromium::paintContentsIfDirty):
42749        (WebCore::ImageLayerChromium::updateCompositorResources):
42750        (WebCore::ImageLayerChromium::layerBounds):
42751        (WebCore::ImageLayerChromium::tilingTransform):
42752        * platform/graphics/chromium/ImageLayerChromium.h:
42753        * platform/graphics/chromium/LayerChromium.h:
42754        (WebCore::LayerChromium::invalidateRect):
42755        (WebCore::LayerChromium::paintContentsIfDirty):
42756        (WebCore::LayerChromium::setIsMask):
42757        (WebCore::LayerChromium::draw):
42758        * platform/graphics/chromium/LayerRendererChromium.cpp:
42759        (WebCore::LayerRendererChromium::drawRootLayer):
42760        (WebCore::LayerRendererChromium::drawLayers):
42761        (WebCore::LayerRendererChromium::paintContentsRecursive):
42762        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
42763        (WebCore::LayerRendererChromium::drawLayer):
42764        (WebCore::LayerRendererChromium::initializeSharedObjects):
42765        (WebCore::LayerRendererChromium::cleanupSharedObjects):
42766        * platform/graphics/chromium/LayerRendererChromium.h:
42767        * platform/graphics/chromium/LayerTilerChromium.cpp:
42768        (WebCore::LayerTilerChromium::getSingleTexture):
42769        (WebCore::LayerTilerChromium::invalidateRect):
42770        (WebCore::LayerTilerChromium::update):
42771        (WebCore::LayerTilerChromium::uploadCanvas):
42772        (WebCore::LayerTilerChromium::updateFromPixels):
42773        (WebCore::LayerTilerChromium::draw):
42774        (WebCore::LayerTilerChromium::unreserveTextures):
42775        * platform/graphics/chromium/LayerTilerChromium.h:
42776        (WebCore::LayerTilerChromium::setLayerRenderer):
42777        (WebCore::LayerTilerChromium::skipsDraw):
42778        * platform/graphics/chromium/PlatformCanvas.cpp:
42779        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
42780        (WebCore::PlatformCanvas::Painter::Painter):
42781        * platform/graphics/chromium/PlatformCanvas.h:
42782        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
42783        (WebCore::RenderSurfaceChromium::draw):
42784        * platform/graphics/chromium/RenderSurfaceChromium.h:
42785        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
42786        (WebCore::CCCanvasLayerImpl::draw):
42787        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
42788        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
42789        (WebCore::CCHeadsUpDisplay::draw):
42790        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
42791        (WebCore::CCLayerImpl::draw):
42792        * platform/graphics/chromium/cc/CCLayerImpl.h:
42793        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
42794        (WebCore::CCPluginLayerImpl::draw):
42795        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
42796        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
42797        (WebCore::CCVideoLayerImpl::draw):
42798        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
42799
428002011-04-11  Eric Carlson  <eric.carlson@apple.com>
42801
42802        Reviewed by Simon Fraser.
42803
42804        Ignore context change callbacks when not on the main thread
42805        https://bugs.webkit.org/show_bug.cgi?id=58256
42806        <rdar://problem/9266090>
42807
42808        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
42809        (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
42810            on the main thread. This should only happen when no changes have actually 
42811            been committed to the context, eg. when a video frame has been added to an image
42812            queue, so return without triggering animations etc.
42813
428142011-04-11  Daniel Cheng  <dcheng@chromium.org>
42815
42816        Reviewed by Dmitry Titov.
42817
42818        [chromium] Implement image/png support in DataTransferItems
42819        https://bugs.webkit.org/show_bug.cgi?id=58106
42820
42821        This patch implements DataTransferItem::getAsFile() using Blobs. In
42822        addition, plumbing for image/png has been added so image paste will be
42823        supported as long as the renderer makes that data available.
42824
42825        Tests: editing/pasteboard/data-transfer-items-image-png.html
42826
42827        * dom/DataTransferItem.h:
42828        * dom/DataTransferItem.idl:
42829        * platform/chromium/ClipboardMimeTypes.cpp:
42830        * platform/chromium/ClipboardMimeTypes.h:
42831        * platform/chromium/DataTransferItemChromium.cpp:
42832        (WebCore::DataTransferItemChromium::getAsString):
42833        (WebCore::DataTransferItemChromium::getAsFile):
42834        * platform/chromium/DataTransferItemChromium.h:
42835        * platform/chromium/PlatformBridge.h:
42836
428372011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
42838
42839        Reviewed by Chris Fleizach.
42840
42841        [Gtk] Implement support for Embedded Objects
42842        https://bugs.webkit.org/show_bug.cgi?id=52148
42843
42844        Expose special OBJECT character for replaced elements, implementing
42845        AtkText and AtkHyperlink when required.
42846
42847        * accessibility/AccessibilityRenderObject.cpp:
42848        (WebCore::textIteratorBehaviorForTextRange): New helper function,
42849        to return the right behavior, depending on the platform, so it
42850        ensures that object replacement characters get emitted for GTK.
42851        (WebCore::AccessibilityRenderObject::textUnderElement): Use the
42852        new helper function textIteratorBehaviorForTextRange.
42853        (WebCore::AccessibilityRenderObject::stringValue): Ditto.
42854        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
42855        Consider replaced elements when calculating range length in GTK.
42856
42857        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
42858        (textForRenderer): Ouput the 'object replacement character' for
42859        replaced objects.
42860        (getSelectionOffsetsForObject): Consider replaced elements when
42861        calculating range length in GTK.
42862        (webkitAccessibleHypertextGetLink): Remove wrong extra check that
42863        were causing only links to be considered.
42864        (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
42865        check with the right one, by checking that the right ATK interface
42866        is being implemented by the AtkObject.
42867        (getInterfaceMaskFromObject): Implement the Hyperlink interface
42868        both for links and replaced objects.
42869        (objectAndOffsetUnignored): Consider replaced elements when
42870        calculating range length in GTK.
42871
42872        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
42873        (getRangeLengthForObject): Ensure spaces are used for replaced
42874        elements when calling to TextIterator::rangeLength().
42875
42876        * editing/TextIterator.h: New value in the TextIteratorBehavior
42877        enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
42878        private variable to consider that new option internally.
42879        * editing/TextIterator.cpp:
42880        (WebCore::TextIterator::TextIterator): Initialize the new private
42881        attribute m_emitsObjectReplacementCharacters in constructors.
42882        (WebCore::TextIterator::handleReplacedElement): Emit the 'object
42883        replacement character' when m_emitsObjectReplacementCharacters.
42884
428852011-04-11  Jia Pu  <jpu@apple.com>
42886
42887        Reviewed by Adele Peterson.
42888
42889        Shouldn't carry out autocorrection when start typing a new word
42890        https://bugs.webkit.org/show_bug.cgi?id=58241
42891        <rdar://problem/9264736>
42892
42893        Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
42894               platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
42895
42896        In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
42897        only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
42898        character.
42899
42900        * editing/Editor.cpp:
42901        (WebCore::Editor::markMisspellingsAfterTypingToWord):
42902        * editing/Editor.h:
42903        * editing/TypingCommand.cpp:
42904        (WebCore::TypingCommand::markMisspellingsAfterTyping):
42905
429062011-04-11  Vsevolod Vlasov  <vsevik@chromium.org>
42907
42908        Reviewed by Pavel Feldman.
42909
42910        PerformanceTiming returns inconsistent values when timing is null.
42911        https://bugs.webkit.org/show_bug.cgi?id=58143
42912
42913        Made PerformanceTiming returned values consistent when there is no timing object.
42914
42915        * page/PerformanceTiming.cpp:
42916        (WebCore::PerformanceTiming::domainLookupStart):
42917        (WebCore::PerformanceTiming::domainLookupEnd):
42918        (WebCore::PerformanceTiming::connectStart):
42919        (WebCore::PerformanceTiming::connectEnd):
42920        (WebCore::PerformanceTiming::requestStart):
42921        (WebCore::PerformanceTiming::responseStart):
42922        (WebCore::PerformanceTiming::domLoading):
42923
429242011-04-05  Stephen White  <senorblanco@chromium.org>
42925
42926        Fix for jittering when animating a rotated image.
42927        https://bugs.webkit.org/show_bug.cgi?id=50775
42928
42929        Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
42930
42931        * platform/graphics/cg/GraphicsContextCG.cpp:
42932        (WebCore::GraphicsContext::roundToDevicePixels):
42933
429342011-04-06  Xiaomei Ji  <xji@chromium.org>
42935
42936        Reviewed by Ryosuke Niwa.
42937
42938        Continue experiment with moving caret by word in visual order.
42939        https://bugs.webkit.org/show_bug.cgi?id=57806
42940
42941        This is the 2nd patch, which adds implementation when caret is inside box
42942        (not at boundaries). If the word break is inside the same box and not at the boundaries
42943        either, the word break will be returned. If need to search the adjacent boxes for word
42944        breaks, then, only the cases implemented in bug 57336 work.
42945
42946        * editing/visible_units.cpp:
42947        (WebCore::leftmostPositionInRTLBoxInLTRBlock):
42948        (WebCore::rightmostPositionInLTRBoxInRTLBlock):
42949        (WebCore::lastWordBreakInBox):
42950        (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
42951        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
42952        (WebCore::WordBoundaryEntry::WordBoundaryEntry):
42953        (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
42954        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
42955        (WebCore::greatestValueUnder):
42956        (WebCore::smallestOffsetAbove):
42957        (WebCore::positionIsInsideBox):
42958        (WebCore::positionBeforeNextWord):
42959        (WebCore::positionAfterPreviousWord):
42960        (WebCore::leftWordPosition):
42961        (WebCore::rightWordPosition):
42962
429632011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
42964
42965        Reviewed by Chris Fleizach.
42966
42967        [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
42968        https://bugs.webkit.org/show_bug.cgi?id=58040
42969
42970        Don't expose objects of role SliderThumbRoles in GTK.
42971
42972        * accessibility/AccessibilitySlider.cpp:
42973        (WebCore::AccessibilitySlider::addChildren): Allow the platform
42974        make a final decision before including children in the hierarchy.
42975        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
42976        Implemented by relying on accessibilityPlatformIncludesObject().
42977
42978        * accessibility/gtk/AccessibilityObjectAtk.cpp:
42979        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
42980        Ignore accessibility objects with role SliderThumbRole.
42981
429822011-04-11  Simon Fraser  <simon.fraser@apple.com>
42983
42984        Reviewed by Dan Bernstein.
42985
42986        Divide by zero in calcColumnWidth
42987        https://bugs.webkit.org/show_bug.cgi?id=58230
42988
42989        Test: fast/multicol/huge-column-count.html
42990        
42991        Make sure we have at least one column, to avoid divide by zero.
42992
42993        * rendering/RenderBlock.cpp:
42994        (WebCore::RenderBlock::calcColumnWidth):
42995
429962011-04-09  Gavin Barraclough  <barraclough@apple.com>
42997
42998        Reviewed by Sam Weinig.
42999
43000        Bug 58198 - Clean up JSValue implementation for JSVALUE64
43001
43002        JSNumberCell.h has been deprecated.
43003
43004        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
43005        * bindings/scripts/CodeGeneratorJS.pm:
43006        * bridge/c/c_instance.cpp:
43007
430082011-04-11  Dan Bernstein  <mitz@apple.com>
43009
43010        Build fix.
43011
43012        * html/canvas/CanvasRenderingContext2D.cpp:
43013        (WebCore::CanvasRenderingContext2D::State::State):
43014
430152011-04-11  Antti Koivisto  <antti@apple.com>
43016
43017        Reviewed by Tony Gentilcore.
43018
43019        Document source preload scanned repeatedly
43020        https://bugs.webkit.org/show_bug.cgi?id=58123
43021        
43022        Don't clear the preload scanner after execution resumes. This would lose the current
43023        scanning point and lead to rescanning when the preload scanner would get reconstructed
43024        due to main parser blocking again.
43025
43026        Instead clear the scanner only in the specific case of receiving new data while the main
43027        parser has already reached the end of the current input.
43028
43029        Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
43030
43031        The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by 
43032        http/tests/loading/preload-slow-loading.php.
43033
43034        * html/parser/HTMLDocumentParser.cpp:
43035        (WebCore::HTMLDocumentParser::insert):
43036        (WebCore::HTMLDocumentParser::append):
43037        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
43038
430392011-04-11  Dan Bernstein  <mitz@apple.com>
43040
43041        Build fix.
43042
43043        * html/canvas/CanvasRenderingContext2D.cpp:
43044        (WebCore::CanvasRenderingContext2D::State::State):
43045
430462011-04-11  Dan Bernstein  <mitz@apple.com>
43047
43048        Reviewed by Alexey Proskuryakov.
43049
43050        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)
43051        https://bugs.webkit.org/show_bug.cgi?id=58229
43052
43053        * html/canvas/CanvasRenderingContext2D.cpp:
43054        (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
43055        the font selector if needed.
43056        (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
43057        registration with the font selector as needed.
43058        * html/canvas/CanvasRenderingContext2D.h:
43059
430602011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
43061
43062        Reviewed by Chris Fleizach.
43063
43064        [GTK] ARIA tables not exposing cells as HTML tables do
43065        https://bugs.webkit.org/show_bug.cgi?id=57463
43066
43067        Expose cells for ARIA grids consistently with HTML tables in GTK,
43068        keeping the same behaviour for the other platforms.
43069
43070        * accessibility/AccessibilityARIAGrid.cpp:
43071        (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
43072        to the accessibility hierarchy when accessibility objects for rows
43073        are ignoring accessibility, otherwise add the row.
43074        (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
43075        this point whether every child of the table ignores or not
43076        accessibility, letting addChild() make the proper decision later.
43077
43078        * accessibility/AccessibilityARIAGridCell.cpp:
43079        (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
43080        rows could be ignoring accessibility, hence the parent could be
43081        retrieved in the first call to parentObjectUnignored().
43082        (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
43083        (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
43084
43085        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43086        (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
43087
430882011-04-11  Sergio Villar Senin  <svillar@igalia.com>
43089
43090        Reviewed by Martin Robinson.
43091
43092        [GTK] Fix make distcheck
43093        https://bugs.webkit.org/show_bug.cgi?id=58224
43094
43095        Removed a file that is no longer in the source tree.
43096
43097        * GNUmakefile.list.am:
43098
430992011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
43100
43101        Reviewed by Martin Robinson.
43102
43103        REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
43104        https://bugs.webkit.org/show_bug.cgi?id=58204
43105
43106        Covered by existing tests.
43107
43108        * platform/gtk/RenderThemeGtk.h:
43109        (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
43110            the the state of media controls.
43111
431122011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
43113
43114        Remove obsolete comment, which was mistakenly landed in r83397.
43115
43116        Though potentially a work of art, the comment lost its functional meaning a long time ago.
43117
43118        * html/shadow/MediaControls.cpp:
43119        (WebCore::MediaControls::create): Removed comment.
43120
431212011-04-05  Hans Wennborg  <hans@chromium.org>
43122
43123        Reviewed by Steve Block.
43124
43125        IndexedDB: Introduce skeleton for LevelDB backend
43126        https://bugs.webkit.org/show_bug.cgi?id=57827
43127
43128        No new tests: no new functionality (yet).
43129
43130        * WebCore.gyp/WebCore.gyp:
43131            Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
43132        * WebCore.gypi:
43133            Add new files.
43134        * storage/IDBBackingStore.h:
43135        (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
43136            Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
43137            backend uses integers to refer to a specific row in a table, but
43138            the LevelDB backend will use something else.
43139        * storage/IDBDatabaseBackendImpl.cpp:
43140        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
43141        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
43142        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
43143        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
43144            Change functions to pass along the database id for operations that
43145            concern object stores. We want to be able to group object stores
43146            ids per database.
43147        * storage/IDBFactoryBackendImpl.cpp:
43148        (WebCore::IDBFactoryBackendImpl::open):
43149            Decide which backend to use based on the backingStoreType
43150            parameter.
43151        * storage/IDBIndexBackendImpl.cpp:
43152        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
43153        (WebCore::IDBIndexBackendImpl::openCursorInternal):
43154        (WebCore::IDBIndexBackendImpl::getInternal):
43155        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
43156        * storage/IDBIndexBackendImpl.h:
43157        (WebCore::IDBIndexBackendImpl::create):
43158            Pass database and object store id to backend functions concerning
43159            indexes.
43160        * storage/IDBLevelDBBackingStore.cpp: Added.
43161        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
43162        (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
43163        (WebCore::IDBLevelDBBackingStore::open):
43164        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
43165        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
43166        (WebCore::IDBLevelDBBackingStore::getObjectStores):
43167        (WebCore::IDBLevelDBBackingStore::createObjectStore):
43168        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
43169        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
43170        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
43171        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
43172        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
43173        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
43174        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
43175        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
43176        (WebCore::IDBLevelDBBackingStore::getIndexes):
43177        (WebCore::IDBLevelDBBackingStore::createIndex):
43178        (WebCore::IDBLevelDBBackingStore::deleteIndex):
43179        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
43180        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
43181        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
43182        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
43183        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
43184        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
43185        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
43186        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
43187        (WebCore::IDBLevelDBBackingStore::createTransaction):
43188        * storage/IDBLevelDBBackingStore.h: Added.
43189            Add an empty implementation of the LevelDB backend.
43190        * storage/IDBObjectStoreBackendImpl.cpp:
43191            Keep track of database id, use the new RecordIdentifier.
43192        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
43193        (WebCore::IDBObjectStoreBackendImpl::getInternal):
43194        (WebCore::IDBObjectStoreBackendImpl::putInternal):
43195        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
43196        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
43197        (WebCore::populateIndex):
43198        (WebCore::IDBObjectStoreBackendImpl::createIndex):
43199        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
43200        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
43201        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
43202        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
43203        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
43204        * storage/IDBObjectStoreBackendImpl.h:
43205        (WebCore::IDBObjectStoreBackendImpl::create):
43206        (WebCore::IDBObjectStoreBackendImpl::databaseId):
43207        * storage/IDBSQLiteBackingStore.cpp:
43208        (WebCore::IDBSQLiteBackingStore::open):
43209        (WebCore::IDBSQLiteBackingStore::createObjectStore):
43210        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
43211        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
43212        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
43213        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
43214        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
43215        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
43216        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
43217        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
43218        (WebCore::IDBSQLiteBackingStore::getIndexes):
43219        (WebCore::IDBSQLiteBackingStore::createIndex):
43220        (WebCore::IDBSQLiteBackingStore::deleteIndex):
43221        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
43222        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
43223        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
43224        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
43225        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
43226        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
43227        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
43228        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
43229        * storage/IDBSQLiteBackingStore.h:
43230
432312011-04-11  Alexander Pavlov  <apavlov@chromium.org>
43232
43233        Reviewed by Yury Semikhatsky.
43234
43235        Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
43236        https://bugs.webkit.org/show_bug.cgi?id=58226
43237
43238        * inspector/InspectorStyleSheet.cpp:
43239        (WebCore::InspectorStyle::populateAllProperties):
43240
432412011-04-07  Pavel Podivilov  <podivilov@chromium.org>
43242
43243        Reviewed by Pavel Feldman.
43244
43245        Web Inspector: get rid of source frame delegates for resources panel.
43246        https://bugs.webkit.org/show_bug.cgi?id=58041
43247
43248        Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
43249
43250        * inspector/front-end/ResourceView.js:
43251        (WebInspector.ResourceView.createResourceView):
43252        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
43253        (WebInspector.ResourceSourceFrame):
43254        (WebInspector.ResourceSourceFrame.prototype.get resource):
43255        (WebInspector.ResourceSourceFrame.prototype.contentEditable):
43256        (WebInspector.ResourceSourceFrame.prototype._requestContent):
43257        (WebInspector.CSSSourceFrame):
43258        (WebInspector.CSSSourceFrame.prototype.contentEditable):
43259        (WebInspector.CSSSourceFrame.prototype._editContent):
43260        (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
43261        (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
43262        * inspector/front-end/SourceFrame.js:
43263        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
43264        (WebInspector.SourceFrame.prototype._requestContent):
43265        (WebInspector.SourceFrame.prototype._handleSave):
43266        (WebInspector.SourceFrame.prototype._editContent):
43267
432682011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
43269
43270        Reviewed by Andreas Kling.
43271
43272        [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
43273        https://bugs.webkit.org/show_bug.cgi?id=58076
43274
43275        State_Sunken is more generic than pressed. It is used by items such as frames or
43276        line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
43277        by some style like Oxygen. Therefore only in the mobile theme we check if the object
43278        is pressed.
43279
43280        * platform/qt/RenderThemeQt.cpp:
43281        (WebCore::RenderThemeQt::paintTextField):
43282
432832011-04-11  Pavel Feldman  <pfeldman@chromium.org>
43284
43285        Reviewed by Yury Semikhatsky.
43286
43287        Web Inspector: add support for optional output parameters.
43288        https://bugs.webkit.org/show_bug.cgi?id=58207
43289
43290        Output parameters such as "redirectResponse" are optional, but
43291        do not allow specifying them as such.
43292
43293        * inspector/CodeGeneratorInspector.pm:
43294        * inspector/Inspector.json:
43295        * inspector/InspectorResourceAgent.cpp:
43296        (WebCore::buildObjectForResourceResponse):
43297        (WebCore::buildObjectForCachedResource):
43298        * inspector/front-end/NetworkManager.js:
43299        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
43300        * inspector/generate-inspector-idl:
43301
433022011-04-11  Pavel Feldman  <pfeldman@chromium.org>
43303
43304        Reviewed by Yury Semikhatsky.
43305
43306        Web Inspector: refactor / document call frames in debugger domain.
43307        https://bugs.webkit.org/show_bug.cgi?id=58187
43308
43309        Note that we are not special casing with(element) and with(document) anymore
43310        and do not tell user that it is "Event target" and "Event document". Strictly speaking,
43311        we should not have done it for with(element) not necessarily being related to an event.
43312
43313        * English.lproj/localizedStrings.js:
43314        * inspector/InjectedScriptSource.js:
43315        * inspector/Inspector.json:
43316        * inspector/front-end/ScopeChainSidebarPane.js:
43317        (WebInspector.ScopeChainSidebarPane.prototype.update):
43318
433192011-04-10  ChangSeok Oh  <shivamidow@gmail.com>
43320
43321        Reviewed by Eric Seidel.
43322
43323        Make correspondence of file name related with event to other port.
43324        https://bugs.webkit.org/show_bug.cgi?id=57416
43325
43326        Some file names are changed to make correspondence naming rule.
43327        Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
43328        This has made user hard to find a specific file related with event for GTK port. 
43329
43330        No test required. This patch just changes some file names.
43331
43332        * GNUmakefile.list.am:
43333        * platform/gtk/KeyEventGtk.cpp: Removed.
43334        * platform/gtk/MouseEventGtk.cpp: Removed.
43335        * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
43336        * platform/gtk/PlatformMouseEventGtk.cpp: Added.
43337        * platform/gtk/PlatformWheelEventGtk.cpp: Added.
43338        * platform/gtk/WheelEventGtk.cpp: Removed.
43339
433402011-04-10  Simon Fraser  <simon.fraser@apple.com>
43341
43342        Revert the FloatRect.cpp part of r83422, since
43343        clampToInteger() is broken for some inputs. I filed
43344        https://bugs.webkit.org/show_bug.cgi?id=58216
43345
43346        * platform/graphics/FloatRect.cpp:
43347        (WebCore::safeFloatToInt):
43348        (WebCore::enclosingIntRect):
43349
433502011-04-10  Simon Fraser  <simon.fraser@apple.com>
43351
43352        Reviewed by Maciej Stachowiak.
43353
43354        Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
43355        https://bugs.webkit.org/show_bug.cgi?id=56660
43356        
43357        When overflow on an element changes, we need to inform compositing
43358        layers which create and position an "ancestor clipping" layer based
43359        on that overflow. Do this by triggering a rebuild of compositing layers
43360        when overflow changes on a layer whose stacking context has compositing
43361        descendants. (We can't just check whether the layer itself has compositing
43362        descendants, because overflow follows the render tree, but compositing
43363        follows the z-order tree.)
43364
43365        Test: compositing/geometry/ancestor-overflow-change.html
43366
43367        * rendering/RenderLayer.cpp:
43368        (WebCore::RenderLayer::styleChanged):
43369        * rendering/RenderLayer.h:
43370        * rendering/RenderLayerBacking.cpp:
43371        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
43372
433732011-04-10  Simon Fraser  <simon.fraser@apple.com>
43374
43375        Reviewed by Ariya Hidayat.
43376
43377        Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
43378        https://bugs.webkit.org/show_bug.cgi?id=58161
43379        
43380        ShadowBlur already has a singleton scratch buffer that is re-used
43381        between shadows. Enhance use of this scratch buffer to avoid drawing
43382        and blurring the shadow if the results will match what is already
43383        in the buffer.
43384        
43385        Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
43386        which ended up with little reusable code after adding the re-use logic.
43387
43388        * platform/graphics/FloatRect.cpp:
43389        (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
43390        clampToInteger() from MathExtras.h
43391        
43392        * platform/graphics/FloatSize.h:
43393        (WebCore::expandedIntSize): New method to safely ceil() the size.
43394        
43395        * platform/graphics/RoundedIntRect.h:
43396        Add operator== for Radii and RoundedIntRect.
43397
43398        * platform/graphics/ShadowBlur.cpp:
43399        (WebCore::ScratchBuffer::ScratchBuffer):
43400        (WebCore::ScratchBuffer::setLastShadowValues):
43401        (WebCore::ScratchBuffer::setLastInsetShadowValues):
43402        (WebCore::ScratchBuffer::matchesLastShadow):
43403        (WebCore::ScratchBuffer::matchesLastInsetShadow):
43404        (WebCore::ScratchBuffer::clearScratchBuffer):
43405        Have the scratch buffer remember what shadow parameters were used
43406        to render the buffer contents.
43407        
43408        (WebCore::ShadowBlur::drawShadowBuffer):
43409        Renamed from endShadowLayer(), and only contains the drawing
43410        logic now.
43411        
43412        (WebCore::ShadowBlur::drawRectShadow):
43413        Promote some code from beginShadowLayer().
43414        
43415        (WebCore::ShadowBlur::drawInsetShadow):
43416        Promote some code from beginShadowLayer().
43417
43418        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
43419        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
43420        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
43421        (WebCore::ShadowBlur::drawRectShadowWithTiling):
43422        These methods now check to see if the buffer already matches
43423        their required parameters, and avoid work if it does.
43424        
43425        (WebCore::ShadowBlur::blurShadowBuffer):
43426        Factored some code into this new method.
43427        
43428        (WebCore::ShadowBlur::blurAndColorShadowBuffer):
43429        Minor refactoring.
43430
43431        * platform/graphics/ShadowBlur.h:
43432
434332011-04-10  Geoffrey Garen  <ggaren@apple.com>
43434
43435        Build fix: Updated for file move.
43436
43437        * bindings/js/GCController.cpp:
43438        * bindings/js/ScriptGCEvent.cpp:
43439
434402011-04-10  Geoffrey Garen  <ggaren@apple.com>
43441
43442        Rubber-stamped by Beth Dakin.
43443
43444        Moved Heap.h and Heap.cpp to the heap folder, because anything less 
43445        would be uncivilized.
43446
43447        * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
43448        * ForwardingHeaders/runtime/Heap.h: Removed.
43449
434502011-04-10  Luke Macpherson   <macpherson@chromium.org>
43451
43452        Reviewed by Simon Fraser.
43453
43454        Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
43455        https://bugs.webkit.org/show_bug.cgi?id=58212
43456
43457        No new tests - function renaming only / no functionality changes.
43458
43459        * css/CSSStyleApplyProperty.cpp:
43460        Rename all instances of inherit, initial and value.
43461        * css/CSSStyleApplyProperty.h:
43462        Rename all instances of inherit, initial and value.
43463        * css/CSSStyleSelector.cpp:
43464        Rename all instances of inherit, initial and value.
43465
434662011-04-10  Mike Lawther  <mikelawther@chromium.org>
43467
43468        Reviewed by Ojan Vafai.
43469
43470        flex/bison tokens and grammar for CSS calc
43471        https://bugs.webkit.org/show_bug.cgi?id=54412
43472
43473        Tests: css3/calc/calc-errors.html
43474               css3/calc/lexer-regression-57581-2.html
43475               css3/calc/lexer-regression-57581-3.html
43476               css3/calc/lexer-regression-57581.html
43477               css3/calc/minmax-errors.html
43478               css3/calc/nested-rounded-corners.html
43479               css3/calc/simple-calcs.html
43480               css3/calc/simple-minmax.html
43481
43482        * css/CSSGrammar.y:
43483        * css/CSSParserValues.cpp:
43484        (WebCore::CSSParserValueList::insertValueAt):
43485        (WebCore::CSSParserValueList::extend):
43486        * css/CSSParserValues.h:
43487        * css/tokenizer.flex:
43488
434892011-04-10  Alice Boxhall  <aboxhall@chromium.org>
43490
43491        Reviewed by Ryosuke Niwa.
43492
43493        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
43494        https://bugs.webkit.org/show_bug.cgi?id=57923
43495
43496        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
43497        rather than a Node* and an IntPoint&, as the selection may actually not
43498        extend into the Node found by the HitTest.
43499
43500        No new tests. Refactoring only.
43501
43502        * page/EventHandler.cpp:
43503        (WebCore::EventHandler::handleMouseDraggedEvent):
43504        (WebCore::EventHandler::updateSelectionForMouseDrag):
43505        * page/EventHandler.h:
43506
435072011-04-10  Kent Tamura  <tkent@chromium.org>
43508
43509        Unreviewed, rolling out r83353.
43510        http://trac.webkit.org/changeset/83353
43511        https://bugs.webkit.org/show_bug.cgi?id=58106
43512
43513        The new test doesn't pass on all Chromium platforms.
43514
43515        * dom/DataTransferItem.h:
43516        * dom/DataTransferItem.idl:
43517        * platform/chromium/ClipboardMimeTypes.cpp:
43518        * platform/chromium/ClipboardMimeTypes.h:
43519        * platform/chromium/DataTransferItemChromium.cpp:
43520        (WebCore::DataTransferItemChromium::getAsString):
43521        * platform/chromium/DataTransferItemChromium.h:
43522        * platform/chromium/PlatformBridge.h:
43523
435242011-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
43525
43526        Reviewed by Eric Carlson.
43527
43528        [EFL] Add seek forward / backward buttons to MediaControl UI.
43529        https://bugs.webkit.org/show_bug.cgi?id=56810
43530
43531        Add seek forward / backward buttons to media control. And, change formType name
43532        for media control.
43533
43534        * platform/efl/RenderThemeEfl.cpp:
43535        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
43536        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
43537        (WebCore::RenderThemeEfl::paintMediaMuteButton):
43538        (WebCore::RenderThemeEfl::paintMediaPlayButton):
43539        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
43540        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
43541        * platform/efl/RenderThemeEfl.h:
43542
435432011-04-10  Chris Guillory  <chris.guillory@google.com>
43544
43545        Reviewed by Eric Seidel.
43546
43547        Remove unused function declaration in PlatformContextSkia.h.
43548        https://bugs.webkit.org/show_bug.cgi?id=55983
43549
43550        * platform/graphics/skia/PlatformContextSkia.h:
43551
435522011-04-10  Patrick Gansterer  <paroga@webkit.org>
43553
43554        Unreviewed build fix for !ENABLE(XSLT) after r82562.
43555
43556        * dom/XMLDocumentParserLibxml2.cpp:
43557        (WebCore::XMLDocumentParser::doEnd):
43558
435592011-04-10  Patrick Gansterer  <paroga@webkit.org>
43560
43561        Unreviewed build fix for !ENABLE(XSLT) after r82562.
43562
43563        * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
43564
435652011-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
43566
43567        Reviewed by Anders Carlsson.
43568
43569        REGRESSION(r83256): Text-decoration bleeds into shadow DOM
43570        https://bugs.webkit.org/show_bug.cgi?id=58205
43571
43572        Now that the shadow root is a never-styled element, we need to walk to
43573        parent to find out if we're inside of a shadow DOM subtree.
43574
43575        Test: media/controls-styling.html
43576
43577        * css/CSSStyleSelector.cpp:
43578        (WebCore::isAtShadowBoundary): Added helper function.
43579        (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
43580
435812011-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
43582
43583        Reviewed by Eric Carlson.
43584
43585        [Meta] Convert HTMLMediaElement to use the new shadow DOM
43586        https://bugs.webkit.org/show_bug.cgi?id=53020
43587
43588        This conversion is non-trivial, for several reasons:
43589
43590        1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
43591        and showing controls does not result in destroying and re-creating the
43592        shadow DOM tree. Instead, the tree is created as needed and shown/hidden
43593        using inline styles.
43594        
43595        2) Instead of detaching/attaching on each style change, the control parts
43596        are now using a set of higher fidelity callbacks that notify MediaControls
43597        about changes to which it should react. Each reaction results in hiding,
43598        showing, or changing the state of the control parts using inline styles
43599        and DOM APIs.
43600
43601        3) Hiding and showing controls is accomplished using inline styles, rather
43602        than wiring rendererIsNeeded, because renderers are now re-created less
43603        frequently.
43604
43605        4) Instead of constantly querying RenderTheme about visibility of a particular
43606        control part, we let the theme determine which parts are supported and
43607        which parts are visible in certain conditions.
43608
43609        5) Custom hit-testing, event forwarding, and style updates are completely
43610        removed, since they are now unnecessary.
43611
43612        6) Fading controls in/out is now done as CSS animation, since shadow DOM
43613        supports it.
43614
43615        Test: manual-tests/media-controls.html
43616
436172011-04-09  Dan Bernstein  <mitz@apple.com>
43618
43619        Reviewed by Beth Dakin.
43620
43621        <rdar://problem/9215280> Detached canvas draws with incorrect font
43622
43623        Test: fast/canvas/font-update.html
43624
43625        The existing mechanism for updating the font in a canvas 2D context was lacking in at least
43626        two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
43627        was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
43628        was not attached.
43629
43630        This change takes the responsibility for font updates away from the canvas element and gives it
43631        to the canvas context and its graphics state.
43632
43633        * css/CSSFontSelector.cpp:
43634        (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
43635        font selector clients.
43636        (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
43637        registered font selector clients.
43638        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
43639        clients and forces a style recalc on the document.
43640        (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
43641        (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
43642        * css/CSSFontSelector.h:
43643        * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
43644        * html/HTMLCanvasElement.h:
43645        * html/canvas/CanvasRenderingContext2D.cpp:
43646        (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
43647        (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
43648        when its fonts need to be updated. Updates the font.
43649        (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
43650        * html/canvas/CanvasRenderingContext2D.h:
43651        * platform/graphics/FontSelector.h:
43652        (WebCore::FontSelectorClient::~FontSelectorClient):
43653
436542011-04-09  Geoffrey Garen  <ggaren@apple.com>
43655
43656        Not reviewed.
43657
43658        Try recommitting some things svn left out of my last commit.
43659
43660        * bridge/qt/qt_runtime.h:
43661
436622011-04-09  Geoffrey Garen  <ggaren@apple.com>
43663
43664        Not reviewed.
43665
43666        Try recommitting some things svn left out of my last commit.
43667
43668        * ForwardingHeaders/collector: Removed.
43669        * ForwardingHeaders/collector/handles: Removed.
43670        * ForwardingHeaders/collector/handles/Global.h: Removed.
43671
436722011-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
43673
43674        Reviewed by Ojan Vafai.
43675
43676        Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
43677        https://bugs.webkit.org/show_bug.cgi?id=55515
43678
43679        This implements XBL 2.0's specified handling of mouseover/mouseout events:
43680        http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
43681
43682        To do this, we:
43683        1) calculate lowest common ancestor between relatedTarget and target, and
43684           the nearest boundaries around them: the outer (common) boundary, and the
43685           inner (specific to relatedTarget) boundary. Then, we
43686        2) ensure that events only propagate up to the common boundary (or
43687           all the way if boundary is not found), while
43688        3) updating relatedTarget be the inner boundary.
43689
43690        We also detect the most common case when no common boundary could exist
43691        and provide a fast path to short-circuit most of the boundary detection
43692        logic.
43693
43694        Test: fast/events/shadow-boundary-crossing.html
43695
43696        * dom/EventDispatcher.cpp:
43697        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
43698            common ancestor, the boundaries around it, and compute adjustments
43699            to relatedTarget and event target ancestor chain.
43700        (WebCore::ancestorsCrossShadowBoundaries): Added.
43701        (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
43702            inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
43703        (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
43704        (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
43705            converted to use initialization flag, rather than testing for empty.
43706        * dom/EventDispatcher.h: Adjusted decls.
43707        * dom/MouseEvent.cpp:
43708        (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
43709            to adjustRelatedTarget.
43710
437112011-04-08  Geoffrey Garen  <ggaren@apple.com>
43712
43713        Reviewed by Oliver Hunt.
43714
43715        A few heap-related renames and file moves.
43716        
43717        WeakGCPtr<T> => Weak<T>
43718        Global<T> => Strong<T>
43719        collector/ => heap/
43720        collector/* => heap/*
43721        runtime/WeakGCPtr.h => heap/Weak.h
43722        
43723        (Eventually, even more files should move into the heap directory. Like
43724        Heap.h and Heap.cpp, for example.)
43725
43726        * CMakeLists.txt:
43727        * ForwardingHeaders/collector: Removed.
43728        * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
43729        * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
43730        * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
43731        * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
43732        * WebCore.vcproj/WebCore.vcproj:
43733        * WebCore.vcproj/copyForwardingHeaders.cmd:
43734        * bindings/js/JSCallbackData.h:
43735        * bindings/js/JSCustomVoidCallback.h:
43736        * bindings/js/JSDOMWindowBase.h:
43737        * bindings/js/JSDOMWindowShell.cpp:
43738        (WebCore::JSDOMWindowShell::setWindow):
43739        * bindings/js/JSDataGridDataSource.h:
43740        * bindings/js/JSEventListener.h:
43741        * bindings/js/ScheduledAction.cpp:
43742        (WebCore::ScheduledAction::ScheduledAction):
43743        * bindings/js/ScheduledAction.h:
43744        * bindings/js/ScriptCachedFrameData.cpp:
43745        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
43746        * bindings/js/ScriptCachedFrameData.h:
43747        * bindings/js/ScriptController.cpp:
43748        (WebCore::ScriptController::createWindowShell):
43749        * bindings/js/ScriptController.h:
43750        * bindings/js/ScriptObject.h:
43751        * bindings/js/ScriptState.h:
43752        * bindings/js/ScriptValue.cpp:
43753        * bindings/js/ScriptValue.h:
43754        * bindings/js/ScriptWrappable.h:
43755        * bindings/js/WorkerScriptController.cpp:
43756        (WebCore::WorkerScriptController::initScript):
43757        * bindings/js/WorkerScriptController.h:
43758        * bridge/jsc/BridgeJSC.h:
43759        * bridge/qt/qt_runtime.h:
43760        * bridge/runtime_root.h:
43761        * xml/XMLHttpRequest.cpp:
43762
437632011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>
43764
43765        Reviewed by Laszlo Gombos.
43766
43767        [Qt] Don't link against fontconfig or X11 if embedded
43768        https://bugs.webkit.org/show_bug.cgi?id=58104
43769
43770        No functional change so no new tests.
43771
43772        * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
43773
437742011-04-09  Csaba Osztrogonác  <ossy@webkit.org>
43775
43776        [Qt] Unreviewed trivial fix after r83344.
43777
43778        * WebCore.pro: Update HEADERS list.
43779
437802011-04-09  Jon Lee  <jonlee@apple.com>
43781
43782        Reviewed by Beth Dakin.
43783
43784        Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
43785        https://bugs.webkit.org/show_bug.cgi?id=58180
43786        <rdar://problem/9047984>
43787
43788        * platform/mac/ScrollAnimatorMac.mm:
43789        (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
43790        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
43791        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
43792
437932011-04-09  Sreeram Ramachandran  <sreeram@google.com>
43794
43795        Reviewed by Ryosuke Niwa.
43796
43797        Gather data on modal dialogs shown during unload events
43798        https://bugs.webkit.org/show_bug.cgi?id=58115
43799
43800        Add a new method to the ChromeClient API to allow clients to receive
43801        notifications of modal dialogs dispatched during page dismissal events.
43802        The new method has a default empty definition; only chromium overrides
43803        it to keep track of histograms.
43804
43805        No tests because this is a no-op for all ports except chromium (and it's
43806        not clear how to test chromium histograms from webkit).
43807
43808        * page/Chrome.cpp:
43809        (WebCore::isDuringPageDismissal):
43810        (WebCore::willRunModalDialog):
43811        (WebCore::Chrome::runJavaScriptAlert):
43812        (WebCore::Chrome::runJavaScriptConfirm):
43813        (WebCore::Chrome::runJavaScriptPrompt):
43814        (WebCore::Chrome::willRunModalHTMLDialog):
43815        * page/Chrome.h:
43816        * page/ChromeClient.h:
43817        (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
43818        * page/DOMWindow.cpp:
43819        (WebCore::DOMWindow::showModalDialog):
43820
438212011-04-08  David Humphrey  <david.humphrey@senecac.on.ca>
43822
43823        Reviewed by Eric Carlson.
43824
43825        Fix call order of media element muted and play(), such that setting muted before play() works.
43826        https://bugs.webkit.org/show_bug.cgi?id=57673
43827        https://code.google.com/p/chromium/issues/detail?id=70777
43828
43829        Manual test added: manual-tests/media-muted.html
43830
43831        * html/HTMLMediaElement.cpp:
43832        (WebCore::HTMLMediaElement::updatePlayState):
43833        * manual-tests/media-muted.html: Added.
43834
438352011-04-08  Nat Duca  <nduca@chromium.org>
43836
43837        Reviewed by David Levin.
43838
43839        [chromium] Fix windows assertion on ~CCThread
43840        https://bugs.webkit.org/show_bug.cgi?id=58153
43841
43842        Because ~CCThread uses waitForThreadCompletion,
43843        calling detachThread is not necessary.
43844
43845        * platform/graphics/chromium/cc/CCThread.cpp:
43846        (WebCore::CCThread::runLoop):
43847
438482011-04-08  Jian Li  <jianli@chromium.org>
43849
43850        Unreviewed, rolling out r83348.
43851        http://trac.webkit.org/changeset/83348
43852        https://bugs.webkit.org/show_bug.cgi?id=49508
43853
43854        Breaks layout tests in QT, Win7 and Chromium.
43855
43856        * rendering/RenderText.cpp:
43857        (WebCore::RenderText::localCaretRect):
43858
438592011-04-08  MORITA Hajime  <morrita@google.com>
43860
43861        Reviewed by Simon Fraser.
43862
43863        Negative spread should not make a sharp corner rounded
43864        https://bugs.webkit.org/show_bug.cgi?id=58162
43865
43866        Handled inset shadow path for rounded and non-rounded rect
43867        differently as normal shadow path is doing.
43868        
43869        * rendering/RenderBoxModelObject.cpp:
43870        (WebCore::RenderBoxModelObject::paintBoxShadow):
43871
438722011-04-07  Simon Fraser  <simon.fraser@apple.com>
43873
43874        Reviewed by Martin Robinson.
43875
43876        REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
43877        https://bugs.webkit.org/show_bug.cgi?id=55180
43878
43879        The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
43880        data we get back from ImageBuffer::getImageData() do not vary in
43881        endianness.
43882
43883        * platform/graphics/ShadowBlur.cpp:
43884        (WebCore::ShadowBlur::blurLayerImage):
43885
438862011-04-08  Erik Arvidsson  <arv@chromium.org>
43887
43888        Reviewed by Dimitri Glazkov.
43889
43890        IFrame is getting the focus even though it is hidden
43891        https://bugs.webkit.org/show_bug.cgi?id=55861
43892
43893        Test: fast/dom/hidden-iframe-no-focus.html
43894
43895        * html/HTMLFrameOwnerElement.cpp:
43896        (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
43897        * html/HTMLFrameOwnerElement.h:
43898
438992011-04-08  Jeff Timanus  <twiz@chromium.org>
43900
43901        Reviewed by Kenneth Russell.
43902
43903        Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
43904        https://bugs.webkit.org/show_bug.cgi?id=57768
43905
43906        * html/canvas/CanvasRenderingContext2D.cpp:
43907        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
43908        (WebCore::CanvasRenderingContext2D::reset):
43909        * platform/graphics/gpu/DrawingBuffer.cpp:
43910        (WebCore::DrawingBuffer::reset):
43911        * platform/graphics/gpu/DrawingBuffer.h:
43912
439132011-04-08  Daniel Cheng  <dcheng@chromium.org>
43914
43915        Reviewed by Dmitry Titov.
43916
43917        [chromium] Implement image/png support in DataTransferItems
43918        https://bugs.webkit.org/show_bug.cgi?id=58106
43919
43920        This patch implements DataTransferItem::getAsFile() using Blobs. In
43921        addition, plumbing for image/png has been added so image paste will be
43922        supported as long as the renderer makes that data available.
43923
43924        Tests: editing/pasteboard/data-transfer-items-image-png.html
43925
43926        * dom/DataTransferItem.h:
43927        * dom/DataTransferItem.idl:
43928        * platform/chromium/ClipboardMimeTypes.cpp:
43929        * platform/chromium/ClipboardMimeTypes.h:
43930        * platform/chromium/DataTransferItemChromium.cpp:
43931        (WebCore::DataTransferItemChromium::getAsString):
43932        (WebCore::DataTransferItemChromium::getAsFile):
43933        * platform/chromium/DataTransferItemChromium.h:
43934        * platform/chromium/PlatformBridge.h:
43935
439362011-04-08 MORITA Hajime  <morrita@google.com>
43937
43938        Unreviewed windows build fix.
43939        
43940        * editing/SpellingCorrectionController.h:
43941        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
43942
439432011-04-08  Enrica Casucci  <enrica@apple.com>
43944
43945        Reviewed by Maciej Stachowiak.
43946
43947        Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
43948        https://bugs.webkit.org/show_bug.cgi?id=57595
43949        <rdar://problem/9222122>
43950
43951        Test: editing/style/bold-with-dom-changes.html
43952
43953        * editing/ReplaceNodeWithSpanCommand.cpp:
43954        (WebCore::swapInNodePreservingAttributesAndChildren):
43955
439562011-04-07  Roland Steiner  <rolandsteiner@chromium.org>
43957
43958        Reviewed by Dimitri Glazkov.
43959
43960        Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
43961        https://bugs.webkit.org/show_bug.cgi?id=58060
43962
43963        Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
43964        However, in case the containing scope is the document, this is not set, and the
43965        document pointer within Node is used instead.
43966
43967        In an object derived from TreeScope (currently Document), the tree scope pointer
43968        points to itself. Such objects also contain a parent tree scope pointer that
43969        points to the containing scope. For Document, this is 0.
43970
43971        Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
43972        in public usage. setDocument[Recursively] are now only used internally and are
43973        thererfore protected.
43974
43975        No new tests. (no new functionality)
43976
43977        * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
43978        (WebCore::ContainerNode::insertBefore):
43979        (WebCore::ContainerNode::replaceChild):
43980        (WebCore::ContainerNode::appendChild):
43981        * dom/Document.cpp:
43982        (WebCore::Document::~Document):
43983        (WebCore::Document::setDocType): Ditto
43984        (WebCore::Document::adoptNode): Ditto
43985        * dom/Document.h:
43986        * dom/Node.cpp:
43987        (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
43988        (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
43989        (WebCore::Node::setTreeScopeRecursively):
43990        (WebCore::Node::setDocumentRecursively):
43991        * dom/Node.h:
43992        * dom/NodeRareData.h: add scope pointer
43993        (WebCore::NodeRareData::NodeRareData):
43994        (WebCore::NodeRareData::treeScope):
43995        (WebCore::NodeRareData::setTreeScope):
43996        * dom/TreeScope.cpp: add parentTreeScope pointer
43997        (WebCore::TreeScope::TreeScope):
43998        (WebCore::TreeScope::setParentTreeScope):
43999        * dom/TreeScope.h:
44000        (WebCore::TreeScope::parentTreeScope):
44001
440022011-04-08  Xiaomei Ji  <xji@chromium.org>
44003
44004        Reviewed by David Hyatt.
44005
44006        Local caret rectangle calculation should be relative to its containing block.
44007        https://bugs.webkit.org/show_bug.cgi?id=49508.
44008
44009        InlineBox and caret rectangle are positioned relative to its containing block.
44010        So its left and right edge value should be relative to its containing block as well. 
44011
44012        Test: fast/forms/cursor-at-editable-content-boundary.html
44013
44014        * rendering/RenderText.cpp:
44015        (WebCore::RenderText::localCaretRect):
44016
440172011-04-08  MORITA Hajime  <morrita@google.com>
44018
44019        Unreviewed build fix.
44020
44021        * editing/Editor.cpp:
44022        (WebCore::Editor::markMisspellingsAfterTypingToWord):
44023
440242011-04-08  David Hyatt  <hyatt@apple.com>
44025
44026        Reviewed by Simon Fraser.
44027
44028        https://bugs.webkit.org/show_bug.cgi?id=57971
44029        
44030        Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
44031        them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
44032        either, so that the styles are consistent.
44033
44034        Added fast/history/visited-generated-content-test.html
44035
44036        * css/CSSStyleSelector.cpp:
44037        (WebCore::CSSStyleSelector::styleForElement):
44038        (WebCore::CSSStyleSelector::pseudoStyleForElement):
44039
440402011-04-06  MORITA Hajime  <morrita@google.com>
44041
44042        Reviewed by Darin Adler.
44043
44044        [Refactoring] Auto correction panel should be handled by its own class.
44045        https://bugs.webkit.org/show_bug.cgi?id=55571
44046
44047        Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
44048        SpellingCorrectionController class.
44049        This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
44050        code paths inside the never reached without autocorrection support.
44051        Removing guards reduces unintentional build breakage.
44052
44053        No new tests, no behavior chagne.
44054
44055        * CMakeLists.txt:
44056        * GNUmakefile.am:
44057        * WebCore.gypi:
44058        * WebCore.pro:
44059        * WebCore.vcproj/WebCore.vcproj:
44060        * WebCore.xcodeproj/project.pbxproj:
44061        * editing/CorrectionPanelInfo.h: Removed.
44062        * editing/EditingAllInOne.cpp:
44063        * editing/Editor.cpp:
44064        (WebCore::Editor::respondToChangedSelection):
44065        (WebCore::Editor::respondToChangedContents):
44066        (WebCore::Editor::appliedEditing):
44067        (WebCore::Editor::Editor):
44068        (WebCore::Editor::~Editor):
44069        (WebCore::Editor::insertTextWithoutSendingTextEvent):
44070        (WebCore::Editor::insertLineBreak):
44071        (WebCore::Editor::insertParagraphSeparator):
44072        (WebCore::Editor::cut):
44073        (WebCore::Editor::paste):
44074        (WebCore::Editor::pasteAsPlainText):
44075        (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
44076        (WebCore::Editor::markMisspellingsAfterTypingToWord):
44077        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
44078        (WebCore::Editor::changeBackToReplacedString):
44079        (WebCore::Editor::unappliedSpellCorrection):
44080        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
44081        (WebCore::Editor::startCorrectionPanelTimer):
44082        (WebCore::Editor::handleCorrectionPanelResult):
44083        (WebCore::Editor::dismissCorrectionPanelAsIgnored):
44084        * editing/Editor.h:
44085        * editing/SpellingCorrectionCommand.cpp:
44086        * editing/SpellingCorrectionController.cpp: Added.
44087        (WebCore::markerTypesForAutocorrection):
44088        (WebCore::markerTypesForReplacement):
44089        (WebCore::markersHaveIdenticalDescription):
44090        (WebCore::SpellingCorrectionController::SpellingCorrectionController):
44091        (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
44092        (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
44093        (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
44094        (WebCore::SpellingCorrectionController::stopPendingCorrection):
44095        (WebCore::SpellingCorrectionController::applyPendingCorrection):
44096        (WebCore::SpellingCorrectionController::hasPendingCorrection):
44097        (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
44098        (WebCore::SpellingCorrectionController::show):
44099        (WebCore::SpellingCorrectionController::handleCancelOperation):
44100        (WebCore::SpellingCorrectionController::dismiss):
44101        (WebCore::SpellingCorrectionController::dismissSoon):
44102        (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
44103        (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
44104        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
44105        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
44106        (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
44107        (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
44108        (WebCore::SpellingCorrectionController::windowRectForRange):
44109        (WebCore::SpellingCorrectionController::respondToChangedSelection):
44110        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
44111        (WebCore::SpellingCorrectionController::client):
44112        (WebCore::SpellingCorrectionController::textChecker):
44113        (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
44114        (WebCore::SpellingCorrectionController::markReversed):
44115        (WebCore::SpellingCorrectionController::markCorrection):
44116        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
44117        * editing/SpellingCorrectionController.h: Added.
44118        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
44119        (WebCore::SpellingCorrectionController::shouldStartTimeFor):
44120        (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):        
44121        * editing/TypingCommand.cpp:
44122        (WebCore::TypingCommand::insertText):
44123        (WebCore::TypingCommand::markMisspellingsAfterTyping):
44124        (WebCore::TypingCommand::deleteKeyPressed):
44125        (WebCore::TypingCommand::forwardDeleteKeyPressed):
44126        * editing/htmlediting.h:
44127        (WebCore::isAmbiguousBoundaryCharacter):
44128        * page/EditorClient.h:
44129        * page/Frame.cpp:
44130        (WebCore::Frame::setPageAndTextZoomFactors):
44131
441322011-04-08  Alpha Lam  <hclam@chromium.org>
44133
44134        Unreviewed, rolling out r83335.
44135        http://trac.webkit.org/changeset/83335
44136        https://bugs.webkit.org/show_bug.cgi?id=53556
44137
44138        GTK and QT bots are broken
44139
44140        * CMakeLists.txt:
44141        * Configurations/FeatureDefines.xcconfig:
44142        * DerivedSources.make:
44143        * GNUmakefile.am:
44144        * WebCore.gypi:
44145        * WebCore.xcodeproj/project.pbxproj:
44146        * features.pri:
44147        * html/HTMLAttributeNames.in:
44148        * html/HTMLTagNames.in:
44149        * html/HTMLTrackElement.cpp: Removed.
44150        * html/HTMLTrackElement.h: Removed.
44151        * html/HTMLTrackElement.idl: Removed.
44152
441532011-04-08  Brady Eidson  <beidson@apple.com>
44154
44155        Reviewed by Adam Roben.
44156
44157        https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
44158        BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
44159
44160        * platform/graphics/cg/ImageCG.cpp:
44161        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
44162          make sure the frames are properly tallied first.
44163
441642011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
44165
44166        Reviewed by Andreas Kling.
44167
44168        [Qt] Dragging and dropping an image in edit mode does not work
44169        https://bugs.webkit.org/show_bug.cgi?id=19385
44170
44171        When adding an image to the clipboard, we should also include the HTML code of that image so
44172        it can be used for internal drag and drop.
44173
44174        This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
44175        another, or inside the same browser.
44176
44177        * platform/qt/ClipboardQt.cpp:
44178        (WebCore::ClipboardQt::declareAndWriteDragImage):
44179
441802011-04-07  Anna Cavender  <annacc@chromium.org>
44181
44182        Reviewed by Eric Carlson.
44183
44184        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
44185        https://bugs.webkit.org/show_bug.cgi?id=53556
44186
44187        No new tests. No real functionality added just yet.
44188
44189        * CMakeLists.txt:
44190        * Configurations/FeatureDefines.xcconfig:
44191        * DerivedSources.make:
44192        * GNUmakefile.am:
44193        * WebCore.gypi:
44194        * WebCore.xcodeproj/project.pbxproj:
44195        * features.pri:
44196        * html/HTMLAttributeNames.in:
44197        * html/HTMLTagNames.in:
44198        * html/HTMLTrackElement.cpp: Added.
44199        (WebCore::HTMLTrackElement::HTMLTrackElement):
44200        (WebCore::HTMLTrackElement::create):
44201        (WebCore::HTMLTrackElement::insertedIntoTree):
44202        (WebCore::HTMLTrackElement::willRemove):
44203        (WebCore::HTMLTrackElement::src):
44204        (WebCore::HTMLTrackElement::setSrc):
44205        (WebCore::HTMLTrackElement::kind):
44206        (WebCore::HTMLTrackElement::setKind):
44207        (WebCore::HTMLTrackElement::srclang):
44208        (WebCore::HTMLTrackElement::setSrclang):
44209        (WebCore::HTMLTrackElement::label):
44210        (WebCore::HTMLTrackElement::setLabel):
44211        (WebCore::HTMLTrackElement::isDefault):
44212        (WebCore::HTMLTrackElement::setIsDefault):
44213        (WebCore::HTMLTrackElement::isURLAttribute):
44214        * html/HTMLTrackElement.h: Added.
44215        * html/HTMLTrackElement.idl: Added.
44216
442172011-04-07  Jer Noble  <jer.noble@apple.com>
44218
44219        Reviewed by Eric Carlson.
44220
44221        Logic error in HTMLMediaElement::exitFullscreen()
44222        https://bugs.webkit.org/show_bug.cgi?id=58085
44223
44224        The new full screen API case could fall through to the legacy API case
44225        unintentionally if a script calls exitFullscreen on an element which is
44226        not the current full screen element.
44227
44228        * html/HTMLMediaElement.cpp:
44229        (WebCore::HTMLMediaElement::enterFullscreen):
44230        (WebCore::HTMLMediaElement::exitFullscreen):
44231
442322011-04-08  Mike Reed  <reed@google.com>
44233
44234        Reviewed by Eric Seidel.
44235
44236        Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
44237        https://bugs.webkit.org/show_bug.cgi?id=57782
44238
44239        No new tests. This change only affects print-preview and build option SKIA_GPU 
44240
44241        * platform/graphics/skia/SkiaFontWin.cpp:
44242        (WebCore::paintSkiaText):
44243
442442011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
44245
44246        Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
44247
44248        REGRESSION(r81887): Crash in SplitElement
44249        https://bugs.webkit.org/show_bug.cgi?id=57743
44250
44251        The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
44252        even when the position was after the last node in it container. Since all we are doing here is to splitting tree
44253        up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
44254        and highestEnclosingNodeOfType.
44255
44256        Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
44257        which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
44258        it incorrectly called deprecatedNode instead of containerNode.
44259
44260        Test: editing/inserting/insert-images-in-pre-x-crash.html
44261
44262        * editing/CompositeEditCommand.cpp:
44263        (WebCore::CompositeEditCommand::splitTreeToNode):
44264        * editing/ReplaceSelectionCommand.cpp:
44265        (WebCore::ReplaceSelectionCommand::doApply):
44266        * editing/htmlediting.cpp:
44267        (WebCore::highestEnclosingNodeOfType):
44268
442692011-04-08  Antti Koivisto  <antti@apple.com>
44270
44271        Reviewed by Tony Gentilcore.
44272
44273        Incoming source should be preload scanned when the parser is blocked 
44274        https://bugs.webkit.org/show_bug.cgi?id=58117
44275
44276        Scan the appended source if parser is blocked.
44277
44278        Test: http/tests/loading/preload-append-scan.php
44279
44280        * html/parser/HTMLDocumentParser.cpp:
44281        (WebCore::HTMLDocumentParser::append):
44282
442832011-04-08  Martin Robinson  <mrobinson@igalia.com>
44284
44285        Reviewed by Xan Lopez.
44286
44287        [GTK] Fix the WebKit2 build for older versions of GTK+
44288        https://bugs.webkit.org/show_bug.cgi?id=58095
44289
44290        No new tests. This is just a build fix.
44291
44292        * platform/gtk/GtkVersioning.c:
44293        (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
44294        * platform/gtk/GtkVersioning.h: Add the new method to the header.
44295
442962011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
44297
44298        Reviewed by Laszlo Gombos.
44299
44300        [Qt] Plugin is not scrolled together with page content or jumping 
44301        when content is rendered using cache (backing store).
44302        https://bugs.webkit.org/show_bug.cgi?id=56130
44303        
44304        This is a Symbian portion of the fix. For Linux it looks like
44305        it's enough to call set geometry which should be addressed in
44306        https://bugs.webkit.org/show_bug.cgi?id=57179
44307
44308        No new tests required. This can be tested with manual tests from 
44309        WebCore/manual-tests/qt and WebCore/manual-tests/plugins
44310
44311        * plugins/symbian/PluginViewSymbian.cpp:
44312        (WebCore::PluginView::updatePluginWidget):
44313
443142011-04-08  Abhishek Arya  <inferno@chromium.org>
44315
44316        Unreviewed. Remove accidental printf added in r83306.
44317
44318        * page/EventHandler.cpp:
44319        (WebCore::EventHandler::sendContextMenuEvent):
44320
443212011-04-08  Enrica Casucci  <enrica@apple.com>
44322
44323        Reviewed by Darin Adler.
44324
44325        Dragging text in a WebKit2 window results in a copy instead of a move.
44326        https://bugs.webkit.org/show_bug.cgi?id=56772
44327        <rdar://problem/9165140>
44328
44329        cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
44330        the call to startDrag is asynchronous.
44331        
44332        * page/mac/DragControllerMac.mm:
44333        (WebCore::DragController::cleanupAfterSystemDrag):
44334
443352011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
44336
44337        Reviewed by Darin Adler.
44338
44339        Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
44340        https://bugs.webkit.org/show_bug.cgi?id=57642
44341
44342        Covered by existing tests, no functional change.
44343
44344        * dom/Event.cpp:
44345        * dom/Event.h:
44346        (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
44347            constructor.
44348        (WebCore::EventDispatchMediator::event): Inlined.
44349        (WebCore::EventDispatchMediator::setEvent): Added.
44350        * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
44351        * dom/EventDispatcher.h: Updated decls.
44352        * dom/Node.cpp:
44353        (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
44354            return a bool, like other dispatch event functions.
44355        * dom/Node.h: Changed decl.
44356        * dom/WheelEvent.cpp:
44357        (WebCore::granularity): Moved from EventDispatcher.
44358        (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
44359        (WebCore::WheelEventDispatchMediator::event): Added.
44360        (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
44361        * dom/WheelEvent.h: Updated decls.
44362        * page/EventHandler.cpp:
44363        (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
44364            to the return value.
44365
443662011-04-08  Jessie Berlin  <jberlin@apple.com>
44367
44368        Windows build warning fix.
44369
44370        * WebCore.vcproj/WebCore.vcproj:
44371        Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
44372        the build.
44373
443742011-04-07  Pavel Podivilov  <podivilov@chromium.org>
44375
44376        Reviewed by Pavel Feldman.
44377
44378        Web Inspector: update breakpoints according to source frame decorations after live edit.
44379        https://bugs.webkit.org/show_bug.cgi?id=58029
44380
44381        * inspector/front-end/DebuggerPresentationModel.js:
44382        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
44383        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
44384        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
44385        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
44386        * inspector/front-end/SourceFile.js:
44387        (WebInspector.SourceFile.prototype.set content):
44388        * inspector/front-end/SourceFrame.js:
44389        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
44390        (WebInspector.SourceFrame.prototype._handleSave):
44391
443922011-04-08  Pavel Podivilov  <podivilov@chromium.org>
44393
44394        Reviewed by Pavel Feldman.
44395
44396        Web Inspector: fix scripts concatenation in scripts panel.
44397        https://bugs.webkit.org/show_bug.cgi?id=58138
44398
44399        When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
44400
44401        * inspector/front-end/SourceFile.js:
44402        (WebInspector.SourceFile.prototype._loadResourceContent):
44403        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
44404
444052011-04-08  Pavel Feldman  <pfeldman@chromium.org>
44406
44407        Reviewed by Yury Semikhatsky.
44408
44409        Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
44410        https://bugs.webkit.org/show_bug.cgi?id=58118
44411
44412        This change reuses location for call frames in the protocol + structures script
44413        location <-> source lines interaction better. When we need UI columns, we will add
44414        them, but we should distinguish between script and UI terms on the type level, not naming.
44415
44416        * English.lproj/localizedStrings.js:
44417        * bindings/v8/DebuggerScript.js:
44418        * inspector/InjectedScriptSource.js:
44419        * inspector/Inspector.json:
44420        * inspector/front-end/CallStackSidebarPane.js:
44421        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
44422        (WebInspector.CallStackSidebarPane.prototype.update):
44423        * inspector/front-end/DebuggerPresentationModel.js:
44424        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
44425        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
44426        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
44427        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
44428        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
44429        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
44430        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
44431        (WebInspector.PresenationCallFrame):
44432        (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
44433        (WebInspector.PresenationCallFrame.prototype.sourceLine):
44434        * inspector/front-end/ScriptFormatter.js:
44435        (WebInspector.ScriptFormatter.locationToPosition):
44436        (WebInspector.ScriptFormatter.lineToPosition):
44437        * inspector/front-end/ScriptsPanel.js:
44438        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
44439        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
44440        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
44441        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
44442        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
44443        * inspector/front-end/SourceFile.js:
44444        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
44445        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
44446        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
44447        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
44448
444492011-04-08  Pavel Podivilov  <podivilov@chromium.org>
44450
44451        Reviewed by Pavel Feldman.
44452
44453        Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
44454        https://bugs.webkit.org/show_bug.cgi?id=58133
44455
44456        * inspector/front-end/DebuggerPresentationModel.js:
44457        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
44458        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
44459        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
44460        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
44461        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
44462        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
44463        (WebInspector.DebuggerPresentationModel.prototype._reset):
44464
444652011-04-07  Pavel Podivilov  <podivilov@chromium.org>
44466
44467        Reviewed by Pavel Feldman.
44468
44469        Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
44470        https://bugs.webkit.org/show_bug.cgi?id=58026
44471
44472        This is the first step of decoupling TextViewer from SourceFrame.
44473
44474        * inspector/front-end/SourceFrame.js:
44475        (WebInspector.SourceFrame):
44476        (WebInspector.SourceFrame.prototype.show):
44477        (WebInspector.SourceFrame.prototype.hide):
44478        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
44479        (WebInspector.SourceFrame.prototype.contentEditable):
44480        (WebInspector.SourceFrame.prototype.startEditing):
44481        (WebInspector.SourceFrame.prototype.endEditing):
44482        (WebInspector.SourceFrame.prototype._createTextViewer):
44483        (WebInspector.SourceFrame.prototype._handleSave):
44484        (WebInspector.SourceFrame.prototype._handleRevertEditing):
44485        * inspector/front-end/TextViewer.js:
44486        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
44487        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
44488        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
44489        (WebInspector.TextViewer.prototype._doubleClick):
44490        (WebInspector.TextViewerDelegate):
44491        (WebInspector.TextViewerDelegate.prototype.contentEditable):
44492        (WebInspector.TextViewerDelegate.prototype.startEditing):
44493        (WebInspector.TextViewerDelegate.prototype.endEditing):
44494        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
44495        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
44496        * inspector/front-end/inspector.html:
44497
444982011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
44499
44500        Reviewed by Steve Block.
44501
44502        Media Stream API: add the getUserMedia method and the Javascript bindings.
44503        https://bugs.webkit.org/show_bug.cgi?id=56586
44504
44505        Add the getUserMedia method to the navigator and its new Javascript types.
44506        Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
44507
44508        Tests: fast/dom/MediaStream/argument-types.html
44509               fast/dom/MediaStream/enabled.html
44510               fast/dom/MediaStream/no-interface-object.html
44511
44512        * Android.derived.jscbindings.mk:
44513        * Android.derived.v8bindings.mk:
44514        * Android.v8bindings.mk:
44515        * CMakeLists.txt:
44516        * CodeGenerators.pri:
44517        * DerivedSources.cpp:
44518        * DerivedSources.make:
44519        * GNUmakefile.list.am:
44520        * WebCore.gypi:
44521        * WebCore.pro:
44522        * WebCore.vcproj/WebCore.vcproj:
44523        * WebCore.xcodeproj/project.pbxproj:
44524        * bindings/js/JSNavigatorCustom.cpp:
44525        (WebCore::JSNavigator::webkitGetUserMedia):
44526        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
44527        (WebCore::V8Navigator::webkitGetUserMediaCallback):
44528        * page/Navigator.cpp:
44529        (WebCore::Navigator::webkitGetUserMedia):
44530        * page/Navigator.h:
44531        * page/Navigator.idl:
44532        * page/NavigatorUserMediaError.h: Added.
44533        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
44534        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
44535        (WebCore::NavigatorUserMediaError::code):
44536        * page/NavigatorUserMediaError.idl: Added.
44537        * page/NavigatorUserMediaErrorCallback.h: Added.
44538        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
44539        * page/NavigatorUserMediaErrorCallback.idl: Added.
44540        * page/NavigatorUserMediaSuccessCallback.h: Added.
44541        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
44542        * page/NavigatorUserMediaSuccessCallback.idl: Added.
44543
445442011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
44545
44546        Reviewed by Pavel Feldman.
44547
44548        Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
44549        https://bugs.webkit.org/show_bug.cgi?id=58010
44550        https://bugs.webkit.org/show_bug.cgi?id=58011
44551
44552        Added tests for "Containment" view. Minor refactorings, bugs fixed.
44553        Split one large tests into smaller ones to avoid timing out in debug mode.
44554
44555        Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
44556               inspector/profiler/detailed-heapshots-containment-show-all.html
44557               inspector/profiler/detailed-heapshots-containment-show-next.html
44558               inspector/profiler/detailed-heapshots-containment-sorting.html
44559               inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
44560               inspector/profiler/detailed-heapshots-summary-show-all.html
44561               inspector/profiler/detailed-heapshots-summary-show-next.html
44562               inspector/profiler/detailed-heapshots-summary-sorting.html
44563
44564        * inspector/front-end/DetailedHeapshotGridNodes.js:
44565        (WebInspector.HeapSnapshotGridNode):
44566        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
44567        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
44568        (WebInspector.HeapSnapshotGridNode.prototype.sort):
44569        (WebInspector.HeapSnapshotGenericObjectNode):
44570        (WebInspector.HeapSnapshotObjectNode):
44571        (WebInspector.HeapSnapshotInstanceNode):
44572        (WebInspector.HeapSnapshotConstructorNode):
44573        (WebInspector.HeapSnapshotDiffNode):
44574        (WebInspector.HeapSnapshotDominatorObjectNode):
44575        * inspector/front-end/DetailedHeapshotView.js:
44576        (WebInspector.HeapSnapshotContainmentDataGrid):
44577        (WebInspector.HeapSnapshotDominatorsDataGrid):
44578
445792011-04-08  Andrey Adaikin  <aandrey@google.com>
44580
44581        Reviewed by Pavel Feldman.
44582
44583        Web Inspector: Bugs in some corner cases in the text editor
44584        https://bugs.webkit.org/show_bug.cgi?id=58025
44585
44586        This solves the following bugs:
44587        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.
44588        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.
44589
44590        * inspector/front-end/TextViewer.js:
44591        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
44592        (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
44593        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
44594        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
44595        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
44596
445972011-04-07  Pavel Podivilov  <podivilov@chromium.org>
44598
44599        Reviewed by Pavel Feldman.
44600
44601        Web Inspector: add test for script formatter worker.
44602        https://bugs.webkit.org/show_bug.cgi?id=57447
44603
44604        Test: inspector/debugger/script-formatter.html
44605
44606        * GNUmakefile.am:
44607        * WebCore.xcodeproj/project.pbxproj:
44608        * gyp/streamline-inspector-source.sh:
44609        * inspector/front-end/DebuggerPresentationModel.js:
44610        (WebInspector.DebuggerPresentationModel.prototype._addScript):
44611        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
44612        (WebInspector.DebuggerPresentationModel.prototype._formatter):
44613        * inspector/front-end/ScriptFormatterWorker.js:
44614
446152011-04-08  Andrey Adaikin  <aandrey@google.com>
44616
44617        Reviewed by Pavel Feldman.
44618
44619        Web Inspector: Tweak dynamically constants for the async highlighting in text editor
44620        https://bugs.webkit.org/show_bug.cgi?id=58035
44621
44622        * inspector/front-end/TextViewer.js:
44623        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
44624        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
44625        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
44626        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
44627        (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
44628
446292011-04-08  Andrey Kosyakov  <caseq@chromium.org>
44630
44631        Reviewed by Yury Semikhatsky.
44632
44633        Web Inspector: HAR compliance fixes
44634        https://bugs.webkit.org/show_bug.cgi?id=58124
44635
44636        - Always provide some values for queryString and cookies, even though arrays may be empty
44637        - Always provide an empty cache object
44638        - Added entire HARLog to test
44639        - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
44640
44641        * inspector/front-end/HAREntry.js:
44642        (WebInspector.HAREntry.prototype.build):
44643        (WebInspector.HAREntry.prototype._buildRequest):
44644        (WebInspector.HAREntry.prototype._buildResponse):
44645
446462011-04-08  Adam Barth  <abarth@webkit.org>
44647
44648        Attempt to fix the Qt build.
44649
44650        * css/CSSStyleApplyProperty.cpp:
44651
446522011-04-07  Adam Barth  <abarth@webkit.org>
44653
44654        Reviewed by Eric Seidel.
44655
44656        Refactor WebCore/GNUMakefile.am to separate list of files
44657        https://bugs.webkit.org/show_bug.cgi?id=58116
44658
44659        This change is similar to the cooresponding to change to
44660        JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
44661        using GYP.
44662
44663        * GNUmakefile.am:
44664        * GNUmakefile.list.am: Added.
44665
446662011-04-07  Geoffrey Garen  <ggaren@apple.com>
44667
44668        Not reviewed.
44669
44670        Rolled out some accidentally-committed changes in my last commit.
44671
44672        * dom/EventTarget.cpp:
44673        (WebCore::EventTarget::addEventListener):
44674        (WebCore::EventTarget::removeEventListener):
44675        * dom/EventTarget.h:
44676
446772011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
44678
44679        Reviewed by Alexey Proskuryakov.
44680
44681        EventSource should only accept UTF-8 charset
44682        https://bugs.webkit.org/show_bug.cgi?id=56942
44683
44684        Following the discussion on bug 45372, this change implements the recommended
44685        way of handling "charset". We only accept UTF-8 but no other encoding. This matches
44686        the encoding of the EventSource and also may fix TomCat that automatically send this
44687        charset.
44688
44689        * page/EventSource.cpp:
44690        (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
44691        not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
44692        is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
44693
446942011-04-07  Geoffrey Garen  <ggaren@apple.com>
44695
44696        Reviewed by Maciej Stachowiak.
44697
44698        Some Handle<T> cleanup
44699        https://bugs.webkit.org/show_bug.cgi?id=58109
44700
44701        * bindings/js/ScriptValue.h:
44702        (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
44703        (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
44704
447052011-04-07  Dominic Cooney  <dominicc@google.com>
44706
44707        Reviewed by Dimitri Glazkov.
44708
44709        Let shadow DOM have a list of nodes at the top level of a shadow.
44710        https://bugs.webkit.org/show_bug.cgi?id=57813
44711
44712        Adds ShadowRoot, a list of nodes, to be a parent for top-level
44713        shadow children. Forwards rendering through the root and into the
44714        host's renderer.
44715
44716        Covered by existing tests of elements that use this style of shadow.
44717
44718        * Android.mk: add ShadowRoot.h/cpp
44719        * CMakeLists.txt:
44720        * GNUmakefile.am:
44721        * WebCore.exp.in:
44722        * WebCore.gypi:
44723        * WebCore.pro:
44724        * WebCore.vcproj/WebCore.vcproj:
44725        * WebCore.xcodeproj/project.pbxproj:
44726        * css/CSSStyleSelector.cpp:
44727        (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
44728        * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
44729        (WebCore::ContainerNode::insertBefore):
44730        (WebCore::ContainerNode::replaceChild):
44731        (WebCore::ContainerNode::removeChild):
44732        (WebCore::ContainerNode::appendChild):
44733        * dom/DocumentFragment.cpp:
44734        (WebCore::DocumentFragment::DocumentFragment):
44735        * dom/DocumentFragment.h:
44736        * dom/Element.cpp:
44737        (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
44738        (WebCore::Element::shadowRoot): should be const
44739        (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
44740        * dom/Element.h:
44741        * dom/ElementRareData.h:
44742        * dom/Node.cpp:
44743        (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
44744          ShadowRoot can forward to the host's renderer
44745        (WebCore::Node::createRendererAndStyle):
44746        (WebCore::Node::createRendererIfNeeded):
44747        * dom/Node.h:
44748        (WebCore::Node::isShadowBoundary): temporary, to differentiate
44749          old- and new-style, until all roots are ShadowRoot instances
44750        * dom/ShadowRoot.cpp: Added.
44751        (WebCore::ShadowRoot::ShadowRoot):
44752        (WebCore::ShadowRoot::recalcStyle): forward recalc to children
44753        * dom/ShadowRoot.h: Added.
44754        (WebCore::ShadowRoot::isShadowBoundary):
44755        (WebCore::ShadowRoot::create):
44756        * html/HTMLKeygenElement.cpp: use ensureShadowRoot
44757        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
44758        (WebCore::HTMLKeygenElement::parseMappedAttribute):
44759        (WebCore::HTMLKeygenElement::appendFormData):
44760        (WebCore::HTMLKeygenElement::reset):
44761        (WebCore::HTMLKeygenElement::shadowSelect):
44762        * html/HTMLKeygenElement.h:
44763        * html/HTMLMeterElement.cpp: use ensureShadowRoot
44764        (WebCore::HTMLMeterElement::createShadowSubtree):
44765        * html/HTMLProgressElement.cpp: use ensureShadowRoot
44766        (WebCore::HTMLProgressElement::createShadowSubtree):
44767        * html/InputType.cpp: use ensureShadowRoot
44768        (WebCore::InputType::destroyShadowSubtree):
44769        * html/RangeInputType.cpp: use ensureShadowRoot
44770        (WebCore::RangeInputType::handleMouseDownEvent):
44771        (WebCore::RangeInputType::createShadowSubtree):
44772        (WebCore::RangeInputType::valueChanged):
44773        (WebCore::RangeInputType::shadowSliderThumb):
44774        * html/RangeInputType.h:
44775        * html/ValidationMessage.cpp: use ensureShadowRoot
44776        (WebCore::ValidationMessage::buildBubbleTree):
44777        (WebCore::ValidationMessage::deleteBubbleTree):
44778        * html/shadow/SliderThumbElement.cpp:
44779        (WebCore::SliderThumbElement::setPositionFromPoint):
44780        (WebCore::SliderThumbElement::hostInput):
44781        * html/shadow/SliderThumbElement.h:
44782        * rendering/MediaControlElements.cpp: use ensureShadowRoot
44783        (WebCore::MediaControlInputElement::attach):
44784        (WebCore::MediaControlInputElement::updateStyle):
44785        * rendering/RenderSlider.cpp: use ensureShadowRoot
44786        (WebCore::RenderSlider::thumbRect):
44787        (WebCore::RenderSlider::layout):
44788        (WebCore::RenderSlider::shadowSliderThumb):
44789        (WebCore::RenderSlider::inDragMode):
44790        * rendering/RenderSlider.h:
44791
447922011-04-07  Maciej Stachowiak  <mjs@apple.com>
44793
44794        Reviewed by Simon Fraser.
44795
44796        REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
44797        https://bugs.webkit.org/show_bug.cgi?id=56297
44798        <rdar://problem/9131597>
44799
44800        Test: fast/css-generated-content/table-row-after-no-crash.html
44801
44802        * rendering/RenderTableRow.cpp:
44803        (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
44804        content, and only do it if the row already has a parent. For construction of
44805        anonymous cells to work correctly, the row needs to already have a parent, so
44806        in that case wait a bit.
44807        (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
44808        * rendering/RenderTableRow.h:
44809        * rendering/RenderTableSection.cpp:
44810        (WebCore::RenderTableSection::addChild): When adding a row, update its
44811        before/after content, in case it had any.
44812
448132011-04-07  Beth Dakin  <bdakin@apple.com>
44814
44815        Reviewed by Simon Fraser.
44816
44817        Probable fix for <rdar://problem/9251443>  Crashing on exception: -
44818        [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
44819        selector sent to instance ADDRESS.
44820
44821       Need to implement new delegate method.
44822        * platform/mac/ScrollAnimatorMac.mm:
44823        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
44824
448252011-04-07  Ian Henderson  <ianh@apple.com>
44826
44827        Reviewed by Simon Fraser.
44828
44829        Optimize filling rounded rects that are actually ellipses
44830        https://bugs.webkit.org/show_bug.cgi?id=58098
44831
44832        In CG, drawing an ellipse directly is faster than constructing and
44833        filling a rounded rect path.  Detect when the given rounded rect is
44834        actually an ellipse and draw it directly in this case.
44835
44836        * platform/graphics/cg/GraphicsContextCG.cpp:
44837        (WebCore::GraphicsContext::fillRoundedRect):
44838
448392011-04-07  Ned Holbrook  <nholbrook@apple.com>
44840
44841        Reviewed by Dan Bernstein.
44842
44843        CTLine objects should outlive their CTRuns
44844        https://bugs.webkit.org/show_bug.cgi?id=58063
44845
44846        * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
44847        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
44848        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
44849        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
44850
448512011-04-07  Nat Duca  <nduca@chromium.org>
44852
44853        Reviewed by David Levin.
44854
44855        [chromium] Compositor thread infrastructure
44856        https://bugs.webkit.org/show_bug.cgi?id=56131
44857
44858        Introduce chrome compositor thread and related
44859        infrastructure.
44860
44861        * WebCore.gypi:
44862        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
44863        (WebCore::CCMainThread::performTask):
44864        (WebCore::CCMainThread::postTask):
44865        * platform/graphics/chromium/cc/CCMainThread.h: Added.
44866        (WebCore::CCMainThread::Task::~Task):
44867        (WebCore::CCMainThread::Task::instance):
44868        (WebCore::CCMainThread::Task::Task):
44869        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
44870        (WebCore::MainThreadTask0::create):
44871        (WebCore::MainThreadTask0::MainThreadTask0):
44872        (WebCore::MainThreadTask0::performTask):
44873        (WebCore::MainThreadTask1::create):
44874        (WebCore::MainThreadTask1::MainThreadTask1):
44875        (WebCore::MainThreadTask1::performTask):
44876        (WebCore::MainThreadTask2::create):
44877        (WebCore::MainThreadTask2::MainThreadTask2):
44878        (WebCore::MainThreadTask2::performTask):
44879        (WebCore::MainThreadTask3::create):
44880        (WebCore::MainThreadTask3::MainThreadTask3):
44881        (WebCore::MainThreadTask3::performTask):
44882        (WebCore::createMainThreadTask):
44883        * platform/graphics/chromium/cc/CCThread.cpp: Added.
44884        (WebCore::CCThread::create):
44885        (WebCore::CCThread::CCThread):
44886        (WebCore::CCThread::~CCThread):
44887        (WebCore::CCThread::postTask):
44888        (WebCore::CCThread::compositorThreadStart):
44889        (WebCore::CCThread::runLoop):
44890        * platform/graphics/chromium/cc/CCThread.h: Added.
44891        (WebCore::CCThread::Task::~Task):
44892        (WebCore::CCThread::Task::instance):
44893        (WebCore::CCThread::Task::Task):
44894        (WebCore::CCThread::threadID):
44895        (WebCore::CCCompletionEvent::CCCompletionEvent):
44896        (WebCore::CCCompletionEvent::~CCCompletionEvent):
44897        (WebCore::CCCompletionEvent::wait):
44898        (WebCore::CCCompletionEvent::signal):
44899        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
44900        (WebCore::CCThreadTask0::create):
44901        (WebCore::CCThreadTask0::CCThreadTask0):
44902        (WebCore::CCThreadTask0::performTask):
44903        (WebCore::CCThreadTask1::create):
44904        (WebCore::CCThreadTask1::CCThreadTask1):
44905        (WebCore::CCThreadTask1::performTask):
44906        (WebCore::CCThreadTask2::create):
44907        (WebCore::CCThreadTask2::CCThreadTask2):
44908        (WebCore::CCThreadTask2::performTask):
44909        (WebCore::CCThreadTask3::create):
44910        (WebCore::CCThreadTask3::CCThreadTask3):
44911        (WebCore::CCThreadTask3::performTask):
44912        (WebCore::createCCThreadTask):
44913
449142011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
44915
44916        Reviewed by Eric Seidel.
44917
44918        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
44919        https://bugs.webkit.org/show_bug.cgi?id=57872
44920
44921        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
44922        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
44923
44924        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
44925        avoiding the tab span.
44926
44927        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
44928        Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
44929        we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
44930        before moving the nodes.
44931
44932        Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
44933               editing/inserting/insert-paragraph-separator-tab-span.html
44934
44935        * editing/DeleteSelectionCommand.cpp:
44936        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
44937        no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
44938        * editing/EditingStyle.cpp:
44939        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
44940        * editing/InsertParagraphSeparatorCommand.cpp:
44941        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
44942        separator into a paragraph separator.
44943        * editing/htmlediting.cpp:
44944        (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
44945        node after the tab span if the position was at the end of the tab span.
44946        * editing/htmlediting.h:
44947
449482011-04-07  Jia Pu  <jpu@apple.com>
44949
44950        Reviewed by Darin Adler.
44951
44952        [Mac] Editor::setComposition() should not trigger correction panel timer.
44953        https://bugs.webkit.org/show_bug.cgi?id=58049
44954         <rdar://problem/9226305>
44955
44956        On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
44957        should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. 
44958        When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
44959        m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
44960
44961        No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
44962        autocorrection panel timer, which can not be easily done in automated fashion.
44963
44964        * editing/Editor.cpp:
44965        (WebCore::Editor::deleteWithDirection):
44966        (WebCore::Editor::insertTextWithoutSendingTextEvent):
44967        (WebCore::Editor::confirmComposition):
44968        (WebCore::Editor::setComposition):
44969        * editing/EditorCommand.cpp:
44970        (WebCore::executeDelete):
44971        * editing/TypingCommand.cpp:
44972        (WebCore::TypingCommand::TypingCommand):
44973        (WebCore::TypingCommand::deleteSelection):
44974        (WebCore::TypingCommand::deleteKeyPressed):
44975        (WebCore::TypingCommand::forwardDeleteKeyPressed):
44976        (WebCore::TypingCommand::insertText):
44977        (WebCore::TypingCommand::insertLineBreak):
44978        (WebCore::TypingCommand::insertParagraphSeparator):
44979        (WebCore::TypingCommand::typingAddedToOpenCommand):
44980        * editing/TypingCommand.h:
44981        (WebCore::TypingCommand::create):
44982        (WebCore::TypingCommand::setShouldPreventSpellChecking):
44983
449842011-04-07  John Bauman  <jbauman@chromium.org>
44985
44986        Reviewed by Kenneth Russell.
44987
44988        clearIfComposited call is really slow
44989        https://bugs.webkit.org/show_bug.cgi?id=57999
44990
44991        Move getContextAttributes call after the if, so it isn't called nearly as often.
44992
44993        No new tests.
44994
44995        * html/canvas/WebGLRenderingContext.cpp:
44996        (WebCore::WebGLRenderingContext::clearIfComposited):
44997
449982011-04-07  Luke Macpherson   <macpherson@chromium.org>
44999
45000        Reviewed by Dimitri Glazkov.
45001
45002        Implement Backgroun and Mask properties in CSSStyleApplyProperty
45003        https://bugs.webkit.org/show_bug.cgi?id=57922
45004
45005        No tests added as no behavioral changes.
45006
45007        * css/CSSStyleApplyProperty.cpp:
45008        Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
45009        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
45010        Added constructor calls to set up:
45011          CSSPropertyBackgroundAttachment
45012          CSSPropertyBackgroundClip
45013          CSSPropertyWebkitBackgroundClip
45014          CSSPropertyWebkitBackgroundComposite
45015          CSSPropertyBackgroundOrigin
45016          CSSPropertyWebkitBackgroundOrigin
45017          CSSPropertyBackgroundSize
45018          CSSPropertyWebkitBackgroundSize
45019          CSSPropertyWebkitMaskAttachment
45020          CSSPropertyWebkitMaskClip
45021          CSSPropertyWebkitMaskComposite
45022          CSSPropertyWebkitMaskOrigin
45023          CSSPropertyWebkitMaskSize
45024        * css/CSSStyleApplyProperty.h:
45025        (WebCore::CSSStyleApplyProperty::setPropertyValue):
45026        Add function to specify an equivalent property value in the lookup table.
45027        * css/CSSStyleSelector.cpp:
45028        (WebCore::CSSStyleSelector::applyProperty):
45029        Remove sections now implemented by CSSStyleApplyProperty.
45030        * css/CSSStyleSelector.h:
45031        Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
45032
450332011-04-04  Eric Seidel  <eric@webkit.org>
45034
45035        Reviewed by Ryosuke Niwa.
45036
45037        Split run storage out from BidiResolver into a new BidiRunList class
45038        https://bugs.webkit.org/show_bug.cgi?id=57764
45039
45040        Part of what makes BidiResolver and InlineIterator so difficult to understand
45041        (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
45042        for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
45043        BidiRuns from the algorithm.  This patch breaks the storage aspect off
45044        into its own class BidiRunList.
45045
45046        This patch is only a start.  It does not actually fix the problematic ownership
45047        relationship, but it does make it possible to fix such in a second patch.
45048
45049        The run pointers and addRun/prependRun, etc. were already a tightly coupled
45050        logical subset of the BidiResolver class, so moving them into their own class
45051        was both obvious and easy.  The only piece of logic I had to move was that
45052        deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
45053
45054        I believe this deleteRuns side-effect was only ever used for one place
45055        (right after findNextLineBreak) and that it's only needed because
45056        findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
45057        an unintentional side-effect of how InlineIterator calls through to BidiResolver
45058        as part of bidiNext and not a desired effect of the code.  I have added the call
45059        to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
45060        could get re-used) as a safety precaution.  We could replace both with ASSERTs
45061        in a later patch.
45062
45063        I suspect there may be a small performance win from further refactoring so that
45064        findNextLineBreak does not need to create BidiRuns.
45065
45066        As I commented in the code, callers should own their own BidiRunList which they
45067        pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
45068        an earlier version of this patch, but it was too complicated with the current
45069        twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
45070        raise/lowerExplicitEmbeddingLevel are called unconditionally
45071        from commitExplicitEmbedding (which is called by bidiNext) and expect to have
45072        access to a runs list even in cases where we don't want any runs (findNextLineBreak).
45073
45074        I also cleaned up some of the callers to pass around BidiRunList objects instead
45075        of InlineBidiResolvers now that they're separate objects.
45076
45077        * GNUmakefile.am:
45078        * WebCore.gypi:
45079        * WebCore.pro:
45080        * WebCore.vcproj/WebCore.vcproj:
45081        * WebCore.xcodeproj/project.pbxproj:
45082        * platform/graphics/GraphicsContext.cpp:
45083        (WebCore::GraphicsContext::drawBidiText):
45084        * platform/text/BidiResolver.h:
45085        (WebCore::BidiResolver::BidiResolver):
45086        (WebCore::BidiResolver::runs):
45087        (WebCore::BidiResolver::markCurrentRunEmpty):
45088        (WebCore::::appendRun):
45089        (WebCore::::lowerExplicitEmbeddingLevel):
45090        (WebCore::::raiseExplicitEmbeddingLevel):
45091        (WebCore::::reorderRunsFromLevels):
45092        (WebCore::::createBidiRunsForLine):
45093        * rendering/InlineIterator.h:
45094        (WebCore::InlineBidiResolver::appendRun):
45095        * rendering/RenderBlock.h:
45096        * rendering/RenderBlockLineLayout.cpp:
45097        (WebCore::createRun):
45098        (WebCore::RenderBlock::appendRunsForObject):
45099        (WebCore::reachedEndOfTextRenderer):
45100        (WebCore::RenderBlock::handleTrailingSpaces):
45101        (WebCore::RenderBlock::layoutInlineChildren):
45102
451032011-04-07  Naoki Takano  <takano.naoki@gmail.com>
45104
45105        Reviewed by Adam Barth.
45106
45107        [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
45108        https://bugs.webkit.org/show_bug.cgi?id=57911
45109        http://code.google.com/p/chromium/issues/detail?id=78073
45110
45111        Manual test added: manual-tests/autofill-popup-location.html
45112
45113        Originally only height is checked so that it introduces the bug.
45114        So I changed it to check both width and height as size.
45115
45116        * manual-tests/autofill-popup-location.html: Added.
45117        * platform/chromium/PopupMenuChromium.cpp:
45118        (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
45119
451202011-04-07  Adam Barth  <abarth@webkit.org>
45121
45122        Reviewed by Eric Seidel.
45123
45124        Implement img-src style-src and font-src
45125        https://bugs.webkit.org/show_bug.cgi?id=58018
45126
45127        These are pretty straight forward given the rest of the infrastructure
45128        we've built so far.
45129
45130        Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
45131               http/tests/security/contentSecurityPolicy/image-blocked.html
45132               http/tests/security/contentSecurityPolicy/style-allowed.html
45133               http/tests/security/contentSecurityPolicy/style-blocked.html
45134               http/tests/security/contentSecurityPolicy/xsl-allowed.php
45135               http/tests/security/contentSecurityPolicy/xsl-blocked.php
45136
45137        * loader/cache/CachedResourceLoader.cpp:
45138        (WebCore::CachedResourceLoader::canRequest):
45139        * page/ContentSecurityPolicy.cpp:
45140        (WebCore::ContentSecurityPolicy::allowImageFromSource):
45141        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
45142        (WebCore::ContentSecurityPolicy::allowFontFromSource):
45143        (WebCore::ContentSecurityPolicy::addDirective):
45144        * page/ContentSecurityPolicy.h:
45145
451462011-04-07  David Levin  <levin@chromium.org>
45147
45148        Reviewed by Darin Adler.
45149
45150        Make IconSnapshot and PageURLRecord member variables private.
45151        https://bugs.webkit.org/show_bug.cgi?id=58080
45152
45153        No change in functionality so no new tests.
45154
45155        * loader/icon/IconDatabase.cpp:
45156        (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
45157        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
45158        * loader/icon/IconRecord.h:
45159        (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
45160        (WebCore::IconSnapshot::iconURL): Expose the property.
45161        (WebCore::IconSnapshot::timestamp): Ditto.
45162        (WebCore::IconSnapshot::data): Ditto.
45163        * loader/icon/PageURLRecord.h:
45164        (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
45165        (WebCore::PageURLSnapshot::pageURL): Expose the property.
45166        (WebCore::PageURLSnapshot::iconURL): Ditto.
45167
451682011-04-07  Dan Bernstein  <mitz@apple.com>
45169
45170        Build fix.
45171
45172        * platform/graphics/cairo/GraphicsContextCairo.cpp:
45173        (WebCore::GraphicsContext::roundToDevicePixels):
45174
451752011-04-07  Eric Seidel  <eric@webkit.org>
45176
45177        Reviewed by Adam Barth.
45178
45179        Add stub support for generating Gtk build system from gyp
45180        https://bugs.webkit.org/show_bug.cgi?id=58086
45181
45182        This does not produce a buildable WebCore, but it
45183        does allow running gyp/configure --port=gtk and having
45184        it generate a gtk.Makefile which we can use for testing
45185        the rest of the plumbing.
45186
45187        * gyp/gtk.gyp: Added.
45188
451892011-04-07  David Hyatt  <hyatt@apple.com>
45190
45191        Reviewed by Dan Bernstein.
45192
45193        https://bugs.webkit.org/show_bug.cgi?id=57736
45194        
45195        Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
45196        optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
45197        layout finished. This would eventually lead to an inability to properly determine the correct layout root and
45198        would cause a deleted root to be used later on.
45199
45200        Added fast/block/positioning/complex-positioned-movement.html.
45201
45202        * page/FrameView.cpp:
45203        (WebCore::FrameView::scheduleRelayoutOfSubtree):
45204        Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
45205    
45206        * rendering/RenderBlock.cpp:
45207        (WebCore::RenderBlock::simplifiedLayout):
45208        Change simplified layout so that the positioned movement optimization no longer clears the other layout
45209        flags. This will ensure that we still lay out our descendants if they need it.
45210        
45211        (WebCore::RenderBlock::layoutPositionedObjects):
45212        Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
45213        no longer does the clear.
45214    
45215        * rendering/RenderBox.h:
45216        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
45217        tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
45218        does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
45219        the other flags in case other kinds of layout are still needed.
45220    
45221        * rendering/RenderObject.h:
45222        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
45223        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
45224        Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
45225
452262011-04-07  Andrew Scherkus  <scherkus@chromium.org>
45227
45228        Revert ENABLE_TRACK patch due to compile failures.
45229
45230        * CMakeLists.txt:
45231        * Configurations/FeatureDefines.xcconfig:
45232        * DerivedSources.make:
45233        * GNUmakefile.am:
45234        * WebCore.gypi:
45235        * WebCore.xcodeproj/project.pbxproj:
45236        * features.pri:
45237        * html/HTMLAttributeNames.in:
45238        * html/HTMLTagNames.in:
45239        * html/HTMLTrackElement.cpp: Removed.
45240        * html/HTMLTrackElement.h: Removed.
45241        * html/HTMLTrackElement.idl: Removed.
45242
452432011-04-07  Dan Bernstein  <mitz@apple.com>
45244
45245        Reviewed by Simon Fraser.
45246
45247        <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
45248        https://bugs.webkit.org/show_bug.cgi?id=58083
45249
45250        Test: fast/text/decorations-transformed.html
45251
45252        * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
45253        is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
45254        gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
45255        the width and the height. In this new mode, translating a rectangle in user space never changes
45256        its dimensions in device pixels.
45257        * platform/graphics/cg/GraphicsContextCG.cpp:
45258        (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
45259        (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
45260        all underlines have the same thickness in device pixels.
45261        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
45262        (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
45263        * platform/graphics/qt/GraphicsContextQt.cpp:
45264        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
45265        * platform/graphics/skia/GraphicsContextSkia.cpp:
45266        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
45267        * platform/graphics/wince/GraphicsContextWinCE.cpp:
45268        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
45269        * platform/graphics/wx/GraphicsContextWx.cpp:
45270        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
45271        * rendering/InlineTextBox.cpp:
45272        (WebCore::InlineTextBox::paintDecoration):
45273
452742011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
45275
45276        Reviewed by Nate Chapin.
45277
45278        [V8] Remove custom DOMImplementation getter on Document.
45279        https://bugs.webkit.org/show_bug.cgi?id=57991
45280
45281        The custom getter is no longer required because DOMImplementation
45282        objects are now created per document.
45283
45284        Test: fast/dom/DOMImplementation/implementation-identity.html
45285
45286        * bindings/scripts/CodeGeneratorV8.pm:
45287        * bindings/v8/custom/V8DocumentCustom.cpp:
45288        * dom/Document.idl:
45289
452902011-04-07  Sergey Glazunov  <serg.glazunov@gmail.com>
45291
45292        Reviewed by Dimitri Glazkov.
45293
45294        setHasID() is only called for styled elements
45295        https://bugs.webkit.org/show_bug.cgi?id=57267
45296
45297        Test: fast/dom/non-styled-element-id-crash.html
45298
45299        * dom/Element.cpp:
45300        (WebCore::Element::attributeChanged):
45301        (WebCore::Element::idAttributeChanged):
45302        * dom/Element.h:
45303        * dom/StyledElement.cpp:
45304        (WebCore::StyledElement::parseMappedAttribute):
45305
453062011-04-07  Jer Noble  <jer.noble@apple.com>
45307
45308        Reviewed by Eric Carlson.
45309
45310        HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
45311        https://bugs.webkit.org/show_bug.cgi?id=58070
45312
45313        Make the HTMLMediaElement full screen functions call into the new Full Screen API when
45314        FULLSCREEN_API is enabled.
45315
45316        * html/HTMLMediaElement.cpp:
45317        (WebCore::HTMLMediaElement::enterFullscreen):
45318        (WebCore::HTMLMediaElement::exitFullscreen):
45319
453202011-04-07  Adam Barth  <abarth@webkit.org>
45321
45322        Reviewed by Eric Seidel.
45323
45324        Implement CSP's options directive
45325        https://bugs.webkit.org/show_bug.cgi?id=58014
45326
45327        This patch contains the full options parser, but we only have enough of
45328        CSP implemented to see the effects of disable-xss-protection.  Will
45329        need to do some more work before we can see eval-script in action.
45330
45331        Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
45332               http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
45333
45334        * page/ContentSecurityPolicy.cpp:
45335        (WebCore::CSPOptions::CSPOptions):
45336        (WebCore::CSPOptions::disableXSSProtection):
45337        (WebCore::CSPOptions::evalScript):
45338        (WebCore::CSPOptions::parse):
45339        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
45340        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
45341        (WebCore::ContentSecurityPolicy::allowInlineScript):
45342        (WebCore::ContentSecurityPolicy::addDirective):
45343        * page/ContentSecurityPolicy.h:
45344
453452011-04-07  Alexey Proskuryakov  <ap@apple.com>
45346
45347        Reviewed by Anders Carlsson.
45348
45349        REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
45350        https://bugs.webkit.org/show_bug.cgi?id=58066
45351        <rdar://problem/8965302>
45352
45353        * platform/mac/HTMLConverter.h:
45354        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
45355        Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
45356        it's now used in WebKit2.
45357
453582011-04-07  Andy Estes  <aestes@apple.com>
45359
45360        Reviewed by Darin Adler.
45361
45362        REGRESSION (r64712): Microsoft Outlook 2011: original message contents
45363        not included when replying to an email.
45364        https://bugs.webkit.org/show_bug.cgi?id=57794
45365        
45366        * WebCore.exp.in:
45367        * loader/FrameLoader.cpp:
45368        (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
45369        before checking if the FrameLoader is parsing the initial empty document.
45370        This allows user scripts to be injected at the end of document parsing
45371        (if the setting is enabled).
45372        * page/Frame.cpp:
45373        (WebCore::Frame::injectUserScripts): Do not inject scripts if this
45374        feature is disabled on the initial empty document.
45375        * page/Settings.cpp:
45376        (WebCore::Settings::Settings):
45377        * page/Settings.h: Add a setting for injecting user scripts into the
45378        initial empty document (defaults to false).
45379        (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
45380        (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
45381        * platform/mac/RuntimeApplicationChecks.h:
45382        * platform/mac/RuntimeApplicationChecks.mm:
45383        (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
45384        application is Microsoft Outlook.
45385
453862011-04-06  Jer Noble  <jer.noble@apple.com>
45387
45388        Reviewed by Maciej Stachowiak.
45389
45390        AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
45391        https://bugs.webkit.org/show_bug.cgi?id=57962
45392
45393        Add support for a new AVPlayerItem API which will notify clients when their
45394        seek completes.  This requires a new Notification type to be passed to the main
45395        thread in MediaPlayerPrivateAVFoundation.
45396
45397        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
45398        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
45399        (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
45400            overloaded functions which take a Notification; and a Notification::Type and boolean.
45401        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted 
45402            Notification type.
45403        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
45404        (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
45405        (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
45406        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
45407        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
45408        (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
45409
454102011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>
45411
45412        Reviewed by Eric Carlson.
45413
45414        Parse quotes from content type parameters
45415        https://bugs.webkit.org/show_bug.cgi?id=53275
45416
45417        This functionality is tested in video-can-play-type.html layout test
45418        where I've added codecs parameter with good and bad formatting.
45419
45420        * platform/ContentType.cpp:
45421        (WebCore::ContentType::parameter):
45422
454232011-04-07  Pavel Feldman  <pfeldman@google.com>
45424
45425        Reviewed by Yury Semikhatsky.
45426
45427        Web Inspector: remove "enabled" from the setBreakpoint protocol.
45428        https://bugs.webkit.org/show_bug.cgi?id=58047
45429
45430        * bindings/js/ScriptDebugServer.cpp:
45431        (WebCore::ScriptDebugServer::hasBreakpoint):
45432        * bindings/v8/DebuggerScript.js:
45433        ():
45434        * bindings/v8/ScriptDebugServer.cpp:
45435        (WebCore::ScriptDebugServer::setBreakpoint):
45436        * inspector/Inspector.json:
45437        * inspector/InspectorDebuggerAgent.cpp:
45438        (WebCore::buildObjectForBreakpointCookie):
45439        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
45440        (WebCore::InspectorDebuggerAgent::setBreakpoint):
45441        (WebCore::InspectorDebuggerAgent::continueToLocation):
45442        (WebCore::InspectorDebuggerAgent::didParseSource):
45443        * inspector/InspectorDebuggerAgent.h:
45444        * inspector/ScriptBreakpoint.h:
45445        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
45446        * inspector/front-end/DebuggerModel.js:
45447        (WebInspector.DebuggerModel.prototype.setBreakpoint):
45448        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
45449        * inspector/front-end/DebuggerPresentationModel.js:
45450        (WebInspector.DebuggerPresentationModel):
45451        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
45452        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
45453        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
45454        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
45455        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
45456        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
45457        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
45458        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
45459        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
45460        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
45461        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
45462        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
45463        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
45464        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
45465        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
45466        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
45467        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
45468        (WebInspector.DebuggerPresentationModel.prototype._reset):
45469        (WebInspector.PresentationBreakpoint):
45470
454712011-04-07  Dan Bernstein  <mitz@apple.com>
45472
45473        Reviewed by Adam Roben.
45474
45475        Removed a redundant line of code.
45476
45477        * rendering/RenderInline.cpp:
45478        (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
45479        this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
45480
454812011-04-07  Liang Qi  <liang.qi@nokia.com>
45482
45483        Reviewed by Laszlo Gombos.
45484
45485        [Qt][Symbian] Enable webkit build with GCCE on Symbian.
45486        https://bugs.webkit.org/show_bug.cgi?id=57841
45487
45488        * WebCore.pri: Thanks for Norbert Leser  <norbert.leser@nokia.com> who checked RVCT part.
45489        --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
45490        to 0x1000000 together. They need to be updated in the future when WebKit grows.
45491
454922011-04-06  Pavel Feldman  <pfeldman@google.com>
45493
45494        Reviewed by Yury Semikhatsky.
45495
45496        Web Inspector: get rid of Breakpoint.js.
45497        https://bugs.webkit.org/show_bug.cgi?id=57949
45498
45499        * WebCore.gypi:
45500        * WebCore.vcproj/WebCore.vcproj:
45501        * inspector/front-end/Breakpoint.js: Removed.
45502        * inspector/front-end/BreakpointsSidebarPane.js:
45503        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
45504        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
45505        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
45506        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
45507        * inspector/front-end/DebuggerModel.js:
45508        (WebInspector.DebuggerModel):
45509        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
45510        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
45511        (WebInspector.DebuggerModel.prototype.setBreakpoint):
45512        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
45513        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
45514        (WebInspector.DebuggerModel.prototype._breakpointResolved):
45515        (WebInspector.DebuggerModel.prototype.reset):
45516        * inspector/front-end/DebuggerPresentationModel.js:
45517        (WebInspector.DebuggerPresentationModel):
45518        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
45519        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
45520        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
45521        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
45522        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
45523        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
45524        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
45525        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
45526        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
45527        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
45528        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
45529        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
45530        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
45531        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
45532        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
45533        (WebInspector.DebuggerPresentationModel.prototype._reset):
45534        (WebInspector.PresentationBreakpoint):
45535        (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
45536        (WebInspector.PresentationBreakpoint.prototype.get url):
45537        (WebInspector.PresentationBreakpoint.prototype.get resolved):
45538        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
45539        * inspector/front-end/ResourceTreeModel.js:
45540        (WebInspector.ResourceTreeModel):
45541        (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
45542        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
45543        * inspector/front-end/ScriptsPanel.js:
45544        (WebInspector.ScriptsPanel):
45545        (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
45546        (WebInspector.ScriptsPanel.prototype.reset):
45547        * inspector/front-end/WebKit.qrc:
45548        * inspector/front-end/inspector.html:
45549
455502011-04-07  Yury Semikhatsky  <yurys@chromium.org>
45551
45552        Reviewed by Pavel Feldman.
45553
45554        Web Inspector: console messages names should adhere to the common naming style
45555        https://bugs.webkit.org/show_bug.cgi?id=58042
45556
45557        * inspector/ConsoleMessage.cpp:
45558        (WebCore::ConsoleMessage::addToFrontend):
45559        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
45560        * inspector/Inspector.json:
45561        * inspector/InspectorConsoleAgent.cpp:
45562        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
45563        * inspector/front-end/ConsoleView.js:
45564        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
45565        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
45566        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
45567        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
45568
455692011-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
45570
45571        Reviewed by Yury Semikhatsky.
45572
45573        Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
45574        https://bugs.webkit.org/show_bug.cgi?id=57957
45575
45576        There is not a significant difference between  inspector messages spec and and JSON-RPC 2.0 messages spec.
45577        Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
45578        It was decided that we will use it.
45579
45580        the list of renames:
45581        1) type-> /dev/null
45582        2) domain + '.' + event => method // for events
45583        3) domain + '.' + command => method // for requests
45584        4) requestId => id // for responses
45585        5) arguments => params // for requests
45586        6) data => params // for events
45587        7) body => result // for responses
45588
45589        protocolErrors and error properties will be converted to JSON-RPC error format.
45590        The order of properties in messages also will be adjusted.
45591        The only thing that looks unnecessary is jsonrpc property.
45592
45593        * inspector/CodeGeneratorInspector.pm:
45594
455952011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
45596
45597        Reviewed by Eric Seidel.
45598
45599        Add functions to update left and right offsets to LineOffsets
45600        https://bugs.webkit.org/show_bug.cgi?id=58028
45601
45602        Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
45603        which are used to update m_left and m_right. Also added m_block and m_isFirstLine
45604        member variables to LineOffsets so that users of LineOffsets don't have to pass them around.
45605
45606        * rendering/RenderBlock.h:
45607        * rendering/RenderBlockLineLayout.cpp:
45608        (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
45609        (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
45610        (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
45611        (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
45612        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
45613        (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
45614        no longer passes firstLine around.
45615
456162011-04-06  Pavel Feldman  <pfeldman@google.com>
45617
45618        Reviewed by Yury Semikhatsky.
45619
45620        Web Inspector: migrate debugger domain to the unified breakpoint location notion.
45621        https://bugs.webkit.org/show_bug.cgi?id=57928
45622
45623        * inspector/Inspector.json:
45624        * inspector/InspectorDebuggerAgent.cpp:
45625        (WebCore::buildObjectForBreakpointCookie):
45626        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
45627        (WebCore::InspectorDebuggerAgent::setBreakpoint):
45628        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
45629        (WebCore::InspectorDebuggerAgent::didParseSource):
45630        * inspector/InspectorDebuggerAgent.h:
45631        * inspector/front-end/Breakpoint.js:
45632        (WebInspector.Breakpoint):
45633        * inspector/front-end/DebuggerModel.js:
45634        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
45635        (WebInspector.DebuggerModel.prototype._breakpointResolved):
45636
456372011-04-07  Andreas Kling  <andreas.kling@nokia.com>
45638
45639        Reviewed by Benjamin Poulain.
45640
45641        [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
45642
45643        When initializing a QStyleOptionSlider from a widget, the State_Horizontal
45644        hint may get set depending on how that widget is laid out in its parent.
45645        If this happens when drawing a vertical scrollbar, the hint is never
45646        cleared and we end up painting a vertical scrollbar with horizontal arrows.
45647
45648        Covered by pixel tests which should no longer paint silly scrollbars.
45649
45650        * platform/qt/ScrollbarThemeQt.cpp:
45651        (WebCore::styleOptionSlider):
45652
456532011-04-07  Adam Barth  <abarth@webkit.org>
45654
45655        Reviewed by Eric Seidel.
45656
45657        script-src should block inline script
45658        https://bugs.webkit.org/show_bug.cgi?id=58012
45659
45660        Block inline scripts at the ScriptElement layer.  This should catch
45661        exactly the scripts we want to catch.
45662
45663        Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html
45664
45665        * dom/Document.cpp:
45666        (WebCore::Document::processHttpEquiv):
45667            - This patch also adds the ability to supply a CSP policy via a
45668              <meta> tag.  We'll update the name of the header once we've
45669              finished implementing the spec.
45670        * dom/ScriptElement.cpp:
45671        (WebCore::ScriptElement::executeScript):
45672        * page/ContentSecurityPolicy.cpp:
45673        (WebCore::ContentSecurityPolicy::allowInlineScript):
45674        * page/ContentSecurityPolicy.h:
45675
456762011-04-07  Alice Boxhall  <aboxhall@chromium.org>
45677
45678        Reviewed by Ryosuke Niwa.
45679
45680        Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
45681        https://bugs.webkit.org/show_bug.cgi?id=57921
45682
45683        Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
45684        that the same logic can be used for a HitTestResult.
45685
45686        No visible changes, just cleanup, so no tests.
45687
45688        * page/EventHandler.cpp:
45689        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
45690        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
45691        (WebCore::EventHandler::handleMousePressEventTripleClick):
45692        (WebCore::EventHandler::handleMousePressEventSingleClick):
45693        (WebCore::EventHandler::handleMousePressEvent):
45694        (WebCore::EventHandler::handleMouseDraggedEvent):
45695        (WebCore::EventHandler::handleMouseReleaseEvent):
45696        (WebCore::EventHandler::subframeForHitTestResult):
45697        Made public static member, so that it can access targetNode(), and be accessed by
45698        webkitwebview in gtk.
45699        (WebCore::EventHandler::selectCursor):
45700        (WebCore::EventHandler::targetNode):
45701        (WebCore::EventHandler::handleMouseDoubleClickEvent):
45702        (WebCore::EventHandler::handleMouseMoveEvent):
45703        (WebCore::EventHandler::updateDragAndDrop):
45704        (WebCore::EventHandler::sendContextMenuEvent):
45705        * page/EventHandler.h:
45706        * page/MouseEventWithHitTestResults.cpp:
45707        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
45708        * page/MouseEventWithHitTestResults.h:
45709        * page/android/EventHandlerAndroid.cpp:
45710        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45711        * page/brew/EventHandlerBrew.cpp:
45712        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45713        * page/chromium/EventHandlerChromium.cpp:
45714        (WebCore::EventHandler::passMousePressEventToSubframe):
45715        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45716        * page/efl/EventHandlerEfl.cpp:
45717        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45718        * page/gtk/EventHandlerGtk.cpp:
45719        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45720        * page/haiku/EventHandlerHaiku.cpp:
45721        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45722        * page/mac/EventHandlerMac.mm:
45723        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45724        (WebCore::EventHandler::passSubframeEventToSubframe):
45725        * page/wx/EventHandlerWx.cpp:
45726        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
45727
457282011-04-07  Pavel Podivilov  <podivilov@chromium.org>
45729
45730        Reviewed by Pavel Feldman.
45731
45732        Web Inspector: build mapping for formatted scripts based on keywords positions.
45733        https://bugs.webkit.org/show_bug.cgi?id=57936
45734
45735        Mapping based on [\$\.\w]+ was not accurate because string literals representation
45736        may be different in original and formatted scripts.
45737
45738        * inspector/front-end/ScriptFormatterWorker.js:
45739        (buildMapping.regexp.b):
45740        (buildMapping):
45741
457422011-04-07  Kent Tamura  <tkent@chromium.org>
45743
45744        Reviewed by Dimitri Glazkov.
45745
45746        Spinbuttons become unclickable if right padding is large.
45747        https://bugs.webkit.org/show_bug.cgi?id=56298
45748
45749        An inner-spin-button is put on the right border and ignores right
45750        padding in RenderTextControlSingleLine::layout(), but forwardEvent()
45751        checks if a point is in an area just right of an internal text block.
45752        This inconsistency caused a bug that an inner-spin-button with large
45753        padding didn't receive mouse events.
45754
45755        To fix this bug, we render spin buttons as layers, and remove manual
45756        event forwarding code.
45757
45758        Test: fast/forms/input-number-large-padding.html
45759
45760        * css/html.css: Add "position:relative" to make a spin-button a layer.
45761        (input::-webkit-inner-spin-button):
45762        (input::-webkit-outer-spin-button):
45763        * rendering/RenderTextControlSingleLine.cpp:
45764        (WebCore::RenderTextControlSingleLine::forwardEvent):
45765          Remove manual event forwarding code.
45766
457672011-04-06  Adam Barth  <abarth@webkit.org>
45768
45769        Reviewed by Eric Seidel.
45770
45771        CSP object-src should block plugin loads
45772        https://bugs.webkit.org/show_bug.cgi?id=57283
45773
45774        This change is pretty straight-forward.  It's slighly unclear to me
45775        whether this patch is correct w.r.t. the code in DocumentWriter.  I've
45776        added a FIXME comment, and I'll investigate that case more in the future.
45777
45778        Test: http/tests/security/contentSecurityPolicy/object-src-none.html
45779
45780        * loader/DocumentWriter.cpp:
45781        (WebCore::DocumentWriter::begin):
45782        * loader/SubframeLoader.cpp:
45783        (WebCore::SubframeLoader::requestPlugin):
45784        * page/ContentSecurityPolicy.cpp:
45785        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
45786        (WebCore::ContentSecurityPolicy::addDirective):
45787        * page/ContentSecurityPolicy.h:
45788
457892011-04-06  Beth Dakin  <bdakin@apple.com>
45790
45791        Reviewed by Dan Bernstein.
45792
45793        https://bugs.webkit.org/show_bug.cgi?id=58009
45794        Frame::scalePage() results in visual artifacts with scale factors less than 1
45795        -and corresponding-
45796        <rdar://problem/8683230>
45797
45798        Fall into the case where we fill with a background base color when there is a page 
45799        scale factor that is less than 1.
45800        * rendering/RenderView.cpp:
45801        (WebCore::RenderView::paintBoxDecorations):
45802
458032011-04-06  Jer Noble  <jer.noble@apple.com>
45804
45805        Reviewed by Darin Adler.
45806
45807        AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
45808        https://bugs.webkit.org/show_bug.cgi?id=57982
45809
45810        Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
45811
45812        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
45813        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
45814
458152011-04-06  Jer Noble  <jer.noble@apple.com>
45816
45817        Reviewed by Eric Carlson.
45818
45819        MediaPlayerPrivateAVFoundation does not change rate due to setRate().
45820        https://bugs.webkit.org/show_bug.cgi?id=57919
45821
45822        Test: media/video-set-rate-from-pause.html
45823
45824        The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
45825        of the media; instead a subclass must do that work.  So when setRate() is called, 
45826        inform a subclass through a new pure virtual updateRate() function that there's 
45827        work to be done.
45828
45829        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
45830        (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
45831        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
45832        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
45833        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
45834        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.
45835
458362011-04-06  Dai Mikurube  <dmikurube@chromium.org>
45837
45838        Reviewed by David Levin.
45839
45840        Add QUOTA build flag for unified quota API
45841        https://bugs.webkit.org/show_bug.cgi?id=57918
45842
45843        * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
45844        * GNUmakefile.am: Added QUOTA build flag
45845        * WebCore.pri: Added QUOTA build flag
45846
458472011-04-06  Stephanie Lewis  <slewis@apple.com>
45848
45849        Reviewed by Darin Adler.
45850
45851        https://bugs.webkit.org/show_bug.cgi?id=57997
45852        <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
45853        Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
45854        Cancel all enqueued events when detaching the Document the events cannot keep the Document
45855        alive.
45856
45857        No change in functionality so no new tests.  
45858
45859        * dom/Document.cpp:
45860        (WebCore::Document::detach):
45861        * dom/EventQueue.cpp:
45862        (WebCore::EventQueue::cancelQueuedEvents):
45863        * dom/EventQueue.h:
45864
458652011-04-06  Dan Bernstein  <mitz@apple.com>
45866
45867        Reviewed by Darin Adler.
45868
45869        <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
45870        https://bugs.webkit.org/show_bug.cgi?id=58002
45871
45872        * platform/graphics/mac/SimpleFontDataMac.mm:
45873        (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
45874        does not require the vertical metrics tweaks that were needed in Leopard. That the
45875        tweaks were being applied went mostly unnoticed until r73993, because until then it
45876        only affected cases where Geeza Pro was specified, not when it occurred as a fallback
45877        font.
45878
458792011-04-06  Roland Steiner  <rolandsteiner@chromium.org>
45880
45881        Reviewed by Dimitri Glazkov.
45882
45883        Bug 57994 - Move guardRef functionality back to Document
45884        https://bugs.webkit.org/show_bug.cgi?id=57994
45885
45886        Move the relevant code parts from TreeScope back into Document.
45887
45888        No new tests. (no new functionality)
45889
45890        * dom/Document.cpp:
45891        (WebCore::Document::removedLastRef):
45892        * dom/Document.h:
45893        * dom/TreeScope.cpp:
45894        (WebCore::TreeScope::destroyTreeScopeData):
45895        * dom/TreeScope.h:
45896
458972011-04-06  Ian Henderson  <ianh@apple.com>
45898
45899        Reviewed by Simon Fraser, Antti Koivisto.
45900
45901        Fast path for parsing simple CSS values
45902        https://bugs.webkit.org/show_bug.cgi?id=57964
45903
45904        Add functions to parse simple color or dimension values, skipping the
45905        overhead of full CSS parsing.
45906
45907        Change parseValue to a static method to avoid unnecessary allocation
45908        of a CSSParser in the fast case.
45909
45910        * css/CSSMutableStyleDeclaration.cpp:
45911        (WebCore::CSSMutableStyleDeclaration::setProperty):
45912        Changed to use the new, static parseValue method.
45913        * css/CSSParser.cpp:
45914        (WebCore::isColorPropertyID):
45915        (WebCore::parseColorValue):
45916        Parses any color accepted by the existing parseColor() static method.
45917        We must handle color identifiers separately, since parseColor() will
45918        change 'red' into 'rgb(255, 0, 0)'.
45919        (WebCore::isSimpleLengthPropertyID):
45920        (WebCore::parseSimpleLengthValue):
45921        Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
45922        false, or 'NN' is '0').  Returns false to fall back to the slow path.
45923        (WebCore::CSSParser::parseValue):
45924        * css/CSSParser.h:
45925        * css/WebKitCSSMatrix.cpp:
45926        (WebCore::WebKitCSSMatrix::setMatrixValue):
45927        Changed to use the new, static parseValue method.
45928
459292011-04-06  Kevin Ollivier  <kevino@theolliviers.com>
45930
45931        Reviewed by Darin Adler.
45932
45933        Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.
45934
45935        https://bugs.webkit.org/show_bug.cgi?id=27551
45936
45937        * config.h:
45938
459392011-04-06  Simon Fraser  <simon.fraser@apple.com>
45940
45941        Reviewed by Antti Koivisto.
45942
45943        Some minor style resolution optimizations
45944        https://bugs.webkit.org/show_bug.cgi?id=57996
45945
45946        A couple of minor optimizations to style-related code.
45947
45948        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
45949        (WebCore::isCSSPropertyName):
45950        (WebCore::JSCSSStyleDeclaration::putDelegate):
45951        Avoid calling cssPropertyName() twice when setting style on an element.
45952        
45953        * css/CSSStyleSelector.cpp:
45954        (WebCore::useSVGZoomRules):
45955        (WebCore::CSSStyleSelector::applyProperty):
45956        Avoid calling isSVGElement() for every property, since only a two properties
45957        care about it.
45958
459592011-04-06  Ian Henderson  <ianh@apple.com>
45960
45961        Reviewed by Antti Koivisto.
45962
45963        Unnecessary string allocation in CSSStyleDeclaration::setProperty
45964        https://bugs.webkit.org/show_bug.cgi?id=57995
45965
45966        Pass the bool representing the property's importance directly instead
45967        of constructing a string.
45968
45969        * css/CSSStyleDeclaration.cpp:
45970        (WebCore::CSSStyleDeclaration::setProperty):
45971
459722011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
45973
45974        Reviewed by Steve Block.
45975
45976        Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
45977        https://bugs.webkit.org/show_bug.cgi?id=57963
45978
45979        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
45980
45981        * bindings/v8/V8Utilities.h:
45982        (WebCore::createFunctionOnlyCallback):
45983        * bindings/v8/custom/V8GeolocationCustom.cpp:
45984        (WebCore::V8Geolocation::getCurrentPositionCallback):
45985        (WebCore::V8Geolocation::watchPositionCallback):
45986
459872011-04-06  Brian Weinstein  <bweinstein@apple.com>
45988
45989        Reviewed by Adam Roben.
45990
45991        WebKit2: Support Windows 7 Gestures
45992        https://bugs.webkit.org/show_bug.cgi?id=49824
45993        <rdar://problem/8689728>
45994        
45995        Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
45996
45997        * WebCore.vcproj/WebCore.vcproj:
45998        * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
45999
460002011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
46001
46002        Reviewed by Andreas Kling.
46003
46004        [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
46005        https://bugs.webkit.org/show_bug.cgi?id=57974
46006
46007        We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
46008
46009        No new tests needed, just a config flag rename.
46010
46011        * features.pri:
46012
460132011-04-06  Tyler Close  <tjclose@chromium.org>
46014
46015        Reviewed by Nate Chapin.
46016
46017        run-bindings-tests reference files out of sync with CodeGenerator*.pm
46018        https://bugs.webkit.org/show_bug.cgi?id=57967
46019
46020        * bindings/scripts/test/V8/V8TestCallback.cpp:
46021
460222011-04-06  Asanka Herath  <asanka@chromium.org>
46023
46024        Reviewed by Darin Fisher.
46025
46026        Add new TargetType: TargetIsFavicon
46027
46028        https://bugs.webkit.org/show_bug.cgi?id=57659
46029
46030        No new functionality added, so no additional tests.
46031
46032        * platform/network/ResourceRequestBase.h:
46033
460342011-04-06  David Hyatt  <hyatt@apple.com>
46035
46036        Reviewed by Simon Fraser.
46037
46038        https://bugs.webkit.org/show_bug.cgi?id=57981
46039        
46040        Update the column count and width computation algorithm for CSS3 multi-column layout 
46041        to match the revised pseudo-algorithm in the latest draft of the spec.
46042
46043        * rendering/RenderBlock.cpp:
46044        (WebCore::RenderBlock::calcColumnWidth):
46045
460462011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46047
46048        Reviewed by Eric Seidel.
46049
46050        borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
46051        https://bugs.webkit.org/show_bug.cgi?id=57965
46052
46053        Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
46054        from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
46055        instead of marginStartForChild and marginEndForChild respectively.
46056
46057        Calling these two functions on RenderInline is okay because writing-mode cannot differ
46058        from that of the containing block.
46059
46060        * rendering/RenderBlockLineLayout.cpp:
46061        (WebCore::borderPaddingMarginStart):
46062        (WebCore::borderPaddingMarginEnd):
46063        (WebCore::inlineLogicalWidth):
46064
460652011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
46066
46067        Unreviewed, rolling out r83039.
46068        http://trac.webkit.org/changeset/83039
46069        https://bugs.webkit.org/show_bug.cgi?id=57978
46070
46071        introduced a new regression in conjunction to
46072        ReplaceSelectionCommand (Requested by rniwa on #webkit).
46073
46074        * editing/EditingStyle.cpp:
46075        (WebCore::EditingStyle::init):
46076        * editing/InsertParagraphSeparatorCommand.cpp:
46077        (WebCore::InsertParagraphSeparatorCommand::doApply):
46078
460792011-04-06  Naoki Takano  <takano.naoki@gmail.com>
46080
46081        Reviewed by David Levin.
46082
46083        Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
46084        https://bugs.webkit.org/show_bug.cgi?id=27658
46085
46086        Test: fast/events/select-element.html
46087
46088        * dom/SelectElement.cpp:
46089        (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
46090        (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
46091        (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
46092        And converted to a normal static function from a private function of SelectElement.
46093        (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
46094        And converted to a normal static function from a private function of SelectElement.
46095        (WebCore::firstSelectableListIndex): Returns the first selectable index.
46096        (WebCore::lastSelectableListIndex): Returns the last selectable index.
46097        (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
46098        (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
46099
46100        * dom/SelectElement.h:
46101        (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
46102
46103        * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
46104        They can differ due to the minimum size imposed by RenderListBox.
46105
461062011-04-06  David Hyatt  <hyatt@apple.com>
46107
46108        Reviewed by Dan Bernstein.
46109
46110        https://bugs.webkit.org/show_bug.cgi?id=57975
46111
46112        The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
46113        to just look at the style, so that it can find the InlineTextBox and not care that it's a child
46114        of the link element and not the line box for the link element itself (since that line box got
46115        culled).
46116
46117        * rendering/RenderFlexibleBox.cpp:
46118        (WebCore::RenderFlexibleBox::applyLineClamp):
46119
461202011-04-06  Brady Eidson  <beidson@apple.com>
46121
46122        Reviewed by Anders Carlsson.
46123
46124        https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
46125        WK2 icon database should be able to get a CGImage of a specific size
46126
46127        * platform/graphics/BitmapImage.h:
46128        * platform/graphics/Image.h:
46129        (WebCore::Image::getFirstCGImageRefOfSize):
46130        
46131        * platform/graphics/cg/ImageCG.cpp:
46132        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
46133          first frame of the requested size.
46134
461352011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
46136
46137        Reviewed by Kevin Ollivier.
46138
46139        [wx] Fix cursor handling so that we always call the chrome to set it.
46140        
46141        https://bugs.webkit.org/show_bug.cgi?id=57972
46142
46143        * platform/wx/WidgetWx.cpp:
46144        (WebCore::Widget::setCursor):
46145
461462011-04-06  David Hyatt  <hyatt@apple.com>
46147
46148        Reviewed by Dan Bernstein.
46149
46150        https://bugs.webkit.org/show_bug.cgi?id=41445
46151        
46152        Visited links painting with black background. Make sure that if the visited style has
46153        the initial background color (transparent) set that we just use the unvisited color.
46154
46155        Added fast/history/visited-link-background-color.html
46156
46157        * rendering/style/RenderStyle.cpp:
46158        (WebCore::RenderStyle::visitedDependentColor):
46159
461602011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
46161
46162        Unreviewed Qt buildfix after r83079.
46163
46164        * WebCore.pro:
46165
461662011-04-06  Dean Jackson  <dino@apple.com>
46167
46168        Reviewed by Chris Marrin.
46169
46170        https://bugs.webkit.org/show_bug.cgi?id=56936
46171        Crash in ImplicitAnimation::~ImplicitAnimation
46172
46173        Make sure the style and start time waiting lists
46174        are cleared in the CompositeAnimation destructor. This
46175        way, no running transitions can be left in a state
46176        where they are destroyed as the AnimationControllerPrivate
46177        cleans up.
46178
46179        * page/animation/CompositeAnimation.cpp:
46180        (WebCore::CompositeAnimation::~CompositeAnimation):
46181
461822011-04-06  Robert Sesek  <rsesek@chromium.org>
46183
46184        Reviewed by Alexey Proskuryakov.
46185
46186        Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
46187        https://bugs.webkit.org/show_bug.cgi?id=54969
46188
46189        No change in behavior; no new tests.
46190
46191        * editing/TextIterator.cpp:
46192        (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
46193        * editing/TextIterator.h:
46194        * page/Frame.cpp:
46195        (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
46196
461972011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
46198
46199        Reviewed by Steve Block.
46200
46201        Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
46202        https://bugs.webkit.org/show_bug.cgi?id=57770
46203
46204        Create a template from an existing functionality in JSGeolocationCustom.cpp
46205        to be used by the custom bindings of both Geolocation and the Media Stream API.
46206        V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
46207
46208        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
46209
46210        * Android.jscbindings.mk:
46211        * CMakeLists.txt:
46212        * GNUmakefile.am:
46213        * WebCore.gypi:
46214        * WebCore.pro:
46215        * WebCore.vcproj/WebCore.vcproj:
46216        * WebCore.xcodeproj/project.pbxproj:
46217        * bindings/js/CallbackFunction.cpp: Added.
46218        (WebCore::checkFunctionOnlyCallback):
46219        * bindings/js/CallbackFunction.h: Added.
46220        (WebCore::createFunctionOnlyCallback):
46221        * bindings/js/JSBindingsAllInOne.cpp:
46222        * bindings/js/JSGeolocationCustom.cpp:
46223        (WebCore::JSGeolocation::getCurrentPosition):
46224        (WebCore::JSGeolocation::watchPosition):
46225
462262011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
46227
46228        Reviewed by Andreas Kling.
46229
46230        [Qt] Implement fullscreen playback for the GStreamer backend.
46231        https://bugs.webkit.org/show_bug.cgi?id=56826
46232
46233        Implement support for fullscreen playback when building the
46234        Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
46235        The implementation is done in FullScreenVideoQt alongside with
46236        the Qt Multimedia support.
46237
46238        No new tests because layout tests cover it. They are not yet activated
46239        but will be any time soon.
46240
46241        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
46242        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
46243        (FullScreenVideoWindow::FullScreenVideoWindow):
46244        (FullScreenVideoWindow::setVideoElement):
46245        (FullScreenVideoWindow::closeEvent):
46246        (FullScreenVideoWindow::keyPressEvent):
46247        (FullScreenVideoWindow::event):
46248        (FullScreenVideoWindow::showFullScreen):
46249        (FullScreenVideoWindow::hideCursor):
46250        (FullScreenVideoWindow::showCursor):
46251
462522011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46253
46254        Reviewed by Dimitri Glazkov.
46255
46256        Bundle lineLeftOffset and lineRightOffset as a class
46257        https://bugs.webkit.org/show_bug.cgi?id=57851
46258
46259        Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
46260        The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
46261        and only the difference is used to compute the width.
46262
46263        * rendering/RenderBlock.h:
46264        * rendering/RenderBlockLineLayout.cpp:
46265        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
46266        (WebCore::LineOffsets::LineOffsets): Added.
46267        (WebCore::LineOffsets::width): Added.
46268        (WebCore::LineOffsets::setLeft): Added.
46269        (WebCore::LineOffsets::setRight): Added.
46270        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
46271        (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
46272
462732011-04-06  David Hyatt  <hyatt@apple.com>
46274
46275        Reviewed by Dan Bernstein.
46276
46277        https://bugs.webkit.org/show_bug.cgi?id=57916
46278        
46279        Implement an optimization to the line box tree to cull out most of the intermediate
46280        line boxes that can occur between the root line box and the leaves of the tree (images
46281        and text).
46282
46283        RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
46284        that starts off as false. Only if it gets flipped to true will there be any line boxes
46285        created for that RenderInline.
46286        
46287        * page/FocusController.cpp:
46288        (WebCore::FocusController::advanceFocusDirectionally):
46289        Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
46290        is up to date.
46291
46292        * page/SpatialNavigation.cpp:
46293        (WebCore::hasOffscreenRect):
46294        (WebCore::nodeRectInAbsoluteCoordinates):
46295        Add asserts in spatial navigation code to catch any future bad queries that might be made
46296        for rectangles without layout being up to date.
46297
46298        * platform/graphics/FloatRect.cpp:
46299        (WebCore::FloatRect::uniteIfNonZero):
46300        * platform/graphics/FloatRect.h:
46301        * platform/graphics/IntRect.cpp:
46302        (WebCore::IntRect::uniteIfNonZero):
46303        * platform/graphics/IntRect.h:
46304        Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
46305        version allows rect unites to happen if either width or height is nonzero.
46306
46307        * rendering/HitTestResult.cpp:
46308        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
46309        Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
46310        if content inside those inlines is hit.
46311
46312        * rendering/InlineBox.h:
46313        (WebCore::InlineBox::logicalFrameRect):
46314        Fix a bug in this function for obtaining the logical frame rect of an inline box.
46315
46316        * rendering/InlineFlowBox.cpp:
46317        (WebCore::InlineFlowBox::addToLine):
46318        addToLine now also checks line gap in the line box tree optimization checks.
46319    
46320        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
46321        (WebCore::InlineFlowBox::computeOverflow):
46322        * rendering/InlineFlowBox.h:
46323        Rewritten to add the text box overflow to the text box itself.
46324
46325         * rendering/InlineTextBox.cpp:
46326        (WebCore::InlineTextBox::destroy):
46327        Destroy has been changed to call a helper function to remove and destroy the line boxes that
46328        is now called from one additional spot.
46329
46330        (WebCore::InlineTextBox::logicalOverflowRect):
46331        (WebCore::InlineTextBox::setLogicalOverflowRect):
46332        Text boxes now cache their own overflow in a global hash table.
46333
46334        (WebCore::InlineTextBox::baselinePosition):
46335        (WebCore::InlineTextBox::lineHeight):
46336        Changed to not assume that the parent line box's renderer is the RenderText's immediate
46337        parent, since intermediate line boxes may have been culled.
46338
46339        (WebCore::InlineTextBox::paint):
46340        Paint now properly checks only the text box overflow instead of the parent line box's overflow.
46341
46342        * rendering/InlineTextBox.h:
46343        (WebCore::InlineTextBox::logicalTopVisualOverflow):
46344        (WebCore::InlineTextBox::logicalBottomVisualOverflow):
46345        (WebCore::InlineTextBox::logicalLeftVisualOverflow):
46346        (WebCore::InlineTextBox::logicalRightVisualOverflow):
46347        New accessors to obtain overflow for inline text boxes.
46348
46349        * rendering/RenderBlock.cpp:
46350        (WebCore::RenderBlock::updateFirstLetter):
46351        updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
46352        text boxes may not have anything in between them and the block that contains the inline first letter
46353        container.
46354
46355        * rendering/RenderBlockLineLayout.cpp:
46356        (WebCore::RenderBlock::createLineBoxes):
46357        The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
46358        be created.
46359
46360        (WebCore::RenderBlock::layoutInlineChildren):
46361        The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
46362        This is done before any lines are built.
46363
46364        * rendering/RenderInline.cpp:
46365        (WebCore::RenderInline::RenderInline):
46366        The new m_alwaysCreateLineBoxes flag has been added to the constructor.
46367
46368        (WebCore::RenderInline::styleDidChange):
46369        An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
46370        (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
46371        the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
46372
46373        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
46374        The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
46375        vertical alignment, line height, etc.).
46376
46377        (WebCore::RenderInline::absoluteRects):
46378        (WebCore::RenderInline::culledInlineAbsoluteRects):
46379        absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
46380
46381        (WebCore::RenderInline::absoluteQuads):
46382        (WebCore::RenderInline::culledInlineAbsoluteQuads):
46383        absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
46384
46385        (WebCore::RenderInline::offsetLeft):
46386        (WebCore::RenderInline::offsetTop):
46387        offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
46388
46389        (WebCore::RenderInline::linesBoundingBox):
46390        (WebCore::RenderInline::culledInlineBoundingBox):
46391        lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
46392
46393        (WebCore::RenderInline::culledInlineFirstLineBox):
46394        (WebCore::RenderInline::culledInlineLastLineBox):
46395        Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
46396        lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
46397
46398        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
46399        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
46400        linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
46401
46402        (WebCore::RenderInline::clippedOverflowRectForRepaint):
46403        The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
46404
46405        (WebCore::RenderInline::dirtyLineBoxes):
46406        dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
46407        m_alwaysCreateLineBoxes is false.
46408
46409        (WebCore::RenderInline::createAndAppendInlineFlowBox):
46410        Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
46411        when line-box-contain is set to an unusual value.
46412
46413        (WebCore::RenderInline::addFocusRingRects):
46414        Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
46415
46416        * rendering/RenderInline.h:
46417        (WebCore::RenderInline::firstLineBoxIncludingCulling):
46418        (WebCore::RenderInline::lastLineBoxIncludingCulling):
46419        Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
46420        is all that needs checking.
46421
46422        (WebCore::RenderInline::alwaysCreateLineBoxes):
46423        (WebCore::RenderInline::setAlwaysCreateLineBoxes):
46424        Functions for getting and setting the m_alwaysCreateLineBoxes flag.
46425
46426        * rendering/RenderLineBoxList.cpp:
46427        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
46428        Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
46429        lines get dirtied.
46430
46431        * rendering/RenderText.cpp:
46432        (WebCore::RenderText::removeAndDestroyTextBoxes):
46433        New helper invoked by destroy and also from updateFirstLetter.
46434
46435        (WebCore::RenderText::destroy):
46436        Changed to call removeAndDestroyTextBoxes.
46437
46438        (WebCore::RenderText::absoluteRects):
46439        Fixed to be properly physical instead of logical.
46440
46441        (WebCore::RenderText::linesVisualOverflowBoundingBox):
46442        New implementation for RenderText that gives the bounding box of the text boxes including overflow from
46443        shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
46444
46445        * rendering/RenderText.h:
46446        * rendering/svg/RenderSVGInline.cpp:
46447        (WebCore::RenderSVGInline::RenderSVGInline):
46448        RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
46449
46450        * rendering/svg/SVGRootInlineBox.cpp:
46451        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
46452        (WebCore::SVGRootInlineBox::layoutChildBoxes):
46453        Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
46454        now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
46455
464562011-04-05  Enrica Casucci  <enrica@apple.com>
46457
46458        Reviewed by Darin Adler.
46459
46460        REGRESSION: Drag & Drop Gmail Attachments doesn't work.
46461        https://bugs.webkit.org/show_bug.cgi?id=57909
46462        <rdar://problem/9103220>
46463
46464        In WebKit2 we cannot rely on the value returned by platformData() that
46465        on Mac returns an NSDraggingInfo object. This is available only in the UI
46466        process. Therefore we should use m_pasteboard instead.
46467        We cannot change what platformData() returns on Mac, since there are
46468        delegate methods that receive a NSDraggingInfo object (only in WebKit).
46469        
46470        * platform/DragData.h:
46471        (WebCore::DragData::pasteboard): Added.
46472        * platform/mac/ClipboardMac.mm:
46473        (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
46474        * platform/mac/DragDataMac.mm:
46475        (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
46476        (WebCore::DragData::asURL): Same as above.
46477
464782011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>
46479
46480        Reviewed by Darin Adler.
46481
46482        ClipboardWin has unused variables "ExceptionCode ec"
46483        https://bugs.webkit.org/show_bug.cgi?id=57952
46484
46485        Remove the unused variable.
46486
46487        * platform/win/ClipboardWin.cpp:
46488        (WebCore::ClipboardWin::declareAndWriteDragImage):
46489        (WebCore::ClipboardWin::writePlainText):
46490
464912011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46492
46493        Reviewed by Dimitri Glazkov.
46494
46495        Split getBorderPaddingMargin into two functions
46496        https://bugs.webkit.org/show_bug.cgi?id=57947
46497
46498        * rendering/RenderBlockLineLayout.cpp:
46499        (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
46500        (WebCore::borderPaddingMarginEnd): Ditto.
46501        (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
46502        (WebCore::RenderBlock::findNextLineBreak): Ditto.
46503
465042011-04-06  MORITA Hajime  <morrita@google.com>
46505
46506        Reviewed by Dimitri Glazkov.
46507
46508        [Refactoring] <progress> should not have manual layout code.
46509        https://bugs.webkit.org/show_bug.cgi?id=57801
46510
46511        - Simplified RenderProgress, removing its custom layout code
46512        - Introducing ProgressValueElement and ProgressBarElement, replacing
46513          ProgressBarValueElement. 
46514        
46515        Now the structure is almost identical to <meter>, 
46516        other than:
46517        - RenderProgress has animated painting, thus manages its own timer.
46518        - Both ProgressValueElement and ProgressBarElement has pseudo classes
46519          which don't changes during its lifetime.
46520       
46521        * Android.mk:
46522        * CMakeLists.txt:
46523        * GNUmakefile.am:
46524        * WebCore.gypi:
46525        * WebCore.pro:
46526        * WebCore.vcproj/WebCore.vcproj:
46527        * WebCore.xcodeproj/project.pbxproj:
46528        * css/html.css:
46529        (progress):
46530        (progress::-webkit-progress-bar):
46531        (progress::-webkit-progress-value):
46532        * html/HTMLProgressElement.cpp:
46533        (WebCore::HTMLProgressElement::~HTMLProgressElement):
46534        (WebCore::HTMLProgressElement::create):
46535        (WebCore::HTMLProgressElement::attach):
46536        (WebCore::HTMLProgressElement::didElementStateChange):
46537        (WebCore::HTMLProgressElement::createShadowSubtree):
46538        * html/HTMLProgressElement.h:
46539        * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
46540        (WebCore::ProgressShadowElement::ProgressShadowElement):
46541        (WebCore::ProgressShadowElement::progressElement):
46542        (WebCore::ProgressShadowElement::rendererIsNeeded):
46543        (WebCore::ProgressBarElement::shadowPseudoId):
46544        (WebCore::ProgressValueElement::shadowPseudoId):
46545        (WebCore::ProgressValueElement::setWidthPercentage):
46546        * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
46547        (WebCore::ProgressBarElement::ProgressBarElement):
46548        (WebCore::ProgressBarElement::create):
46549        (WebCore::ProgressValueElement::ProgressValueElement):
46550        (WebCore::ProgressValueElement::create):
46551        * rendering/RenderProgress.cpp:
46552        (WebCore::RenderProgress::RenderProgress):
46553        (WebCore::RenderProgress::updateFromElement):
46554        (WebCore::RenderProgress::animationTimerFired):
46555        * rendering/RenderProgress.h:
46556        (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
46557        (WebCore::RenderProgress::canHaveChildren):
46558
465592011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>
46560
46561        Reviewed by Chris Fleizach.
46562
46563        [GTK] Do not reference AccessibilityRenderObject from platform dependent code
46564        https://bugs.webkit.org/show_bug.cgi?id=57955
46565
46566        Do not reference AccessibilityRenderObject from platform specific code
46567
46568        Added new virtual functions to AccessibilityObject.h and removed
46569        explicit references to AccessibilityRenderObject from GTK code.
46570
46571        * accessibility/AccessibilityObject.h:
46572        (WebCore::AccessibilityObject::renderer): New virtual method,
46573        returning 0 by default. Overriden by AccessibilityRenderObject.
46574        (WebCore::AccessibilityObject::correspondingLabelForControlElement):
46575        New virtual method, returning 0 by default. It complements the
46576        already present method correspondingControlForLabelElement().
46577
46578        * accessibility/AccessibilityRenderObject.h:
46579        (WebCore::AccessibilityRenderObject::renderer): Made virtual.
46580
46581        * accessibility/gtk/AXObjectCacheAtk.cpp:
46582        (WebCore::emitTextChanged): Reference  AccessibilityObject,
46583        instead of AccessibilityRenderObject.
46584        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
46585        Ditto.
46586
46587        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
46588        (webkit_accessible_get_name): Do not reference
46589        AccessibilityRenderObject.
46590        (webkit_accessible_get_description): Ditto.
46591        (setAtkRelationSetFromCoreObject): Ditto.
46592        (optionFromList): Ditto.
46593        (optionFromSelection): Ditto.
46594        (webkit_accessible_selection_clear_selection): Ditto.
46595        (webkit_accessible_selection_get_selection_count): Ditto.
46596        (webkit_accessible_selection_select_all_selection): Ditto.
46597        (textForObject): Ditto.
46598        (webkit_accessible_text_get_text): Ditto.
46599        (getPangoLayoutForAtk): Ditto.
46600        (webkit_accessible_text_get_caret_offset): Ditto.
46601        (baselinePositionForRenderObject): Ditto.
46602        (getAttributeSetForAccessibilityObject): Ditto.
46603        (accessibilityObjectLength): Ditto.
46604        (getSelectionOffsetsForObject): Ditto.
46605        (webkit_accessible_text_set_selection): Ditto.
46606        (webkit_accessible_text_set_caret_offset): Ditto.
46607        (webkit_accessible_table_get_caption): Ditto.
46608        (getInterfaceMaskFromObject): Ditto.
46609
46610        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
46611        (getRangeLengthForObject): Ditto.
46612
46613        Removed unused renderer() method from AccessibilityMenuList.
46614
46615        * accessibility/AccessibilityMenuList.h: Removed unused method.
46616        * accessibility/AccessibilityMenuList.cpp: Removed unused method.
46617
466182011-04-06  Alexander Pavlov  <apavlov@chromium.org>
46619
46620        Reviewed by Pavel Feldman.
46621
46622        Web Inspector: Javascipt warning link expand and overlap with icons in js console
46623        https://bugs.webkit.org/show_bug.cgi?id=57939
46624
46625        * inspector/front-end/inspector.js:
46626        (WebInspector.linkifyURLAsNode):
46627
466282011-04-06  Alexander Pavlov  <apavlov@chromium.org>
46629
46630        Reviewed by Pavel Feldman.
46631
46632        Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
46633        https://bugs.webkit.org/show_bug.cgi?id=57931
46634
46635        * inspector/Inspector.json:
46636
466372011-04-06  Jia Pu  <jpu@apple.com>
46638
46639        Reviewed by Darin Adler.
46640
46641        [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
46642        https://bugs.webkit.org/show_bug.cgi?id=57665
46643        <rdar://problem/7350477>
46644
46645        We need to track how user modified an autocorrected word. If he changed it back to original
46646        text, we want to record AutocorrectionReverted response. And if he changed it to something
46647        else, we want to record AutocorrectionEdited response.
46648
46649        To achieve this, we need to distringuish between text replacement caused by autocorrection
46650        from that due to other causes, such as reversion, text substitution, etc. So we added a new
46651        marker type "Autocorrected". We also need to be able to check for correction, even when we
46652        don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
46653        value, "CheckForCorrection".
46654
46655        We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
46656        specified range, and of specified type.
46657
46658        * dom/DocumentMarker.h:
46659        * dom/DocumentMarkerController.cpp:
46660        (WebCore::DocumentMarkerController::markersInRange):
46661        (WebCore::DocumentMarkerController::hasMarkers):
46662        * dom/DocumentMarkerController.h:
46663        * editing/Editor.cpp:
46664        (WebCore::markerTypesForAutocorrection):
46665        (WebCore::markersHaveIdenticalDescription):
46666        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
46667        (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
46668        (WebCore::Editor::changeBackToReplacedString):
46669        (WebCore::Editor::markMisspellingsAndBadGrammar):
46670        (WebCore::Editor::applyCorrectionPanelInfo):
46671        (WebCore::Editor::unappliedSpellCorrection):
46672        (WebCore::Editor::textCheckingTypeMaskFor):
46673        * editing/Editor.h:
46674        * editing/SpellingCorrectionCommand.cpp:
46675        (WebCore::SpellingCorrectionCommand::doApply):
46676
466772011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
46678
46679        Unreviewed, rolling out r83045.
46680        http://trac.webkit.org/changeset/83045
46681        https://bugs.webkit.org/show_bug.cgi?id=57953
46682
46683        Broke win layout tests (Requested by podivilov on #webkit).
46684
46685        * GNUmakefile.am:
46686        * inspector/front-end/DebuggerPresentationModel.js:
46687        (WebInspector.DebuggerPresentationModel.prototype._addScript):
46688        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
46689
466902011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46691
46692        Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
46693
46694        * rendering/RenderBlock.h:
46695
466962011-03-27  Diego Gonzalez  <diegohcg@webkit.org>
46697
46698        Reviewed by Kenneth Rohde Christiansen.
46699
46700        [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
46701        https://bugs.webkit.org/show_bug.cgi?id=57007
46702
46703        * CodeGenerators.pri:
46704        * css/themeQtMobile.css: Removed.
46705        * platform/qt/QtMobileWebStyle.cpp:
46706        (drawRectangularControlBackground):
46707        (QtMobileWebStyle::drawPrimitive):
46708        (QtMobileWebStyle::drawComplexControl):
46709        * platform/qt/QtMobileWebStyle.h:
46710        * platform/qt/RenderThemeQt.cpp:
46711        (WebCore::RenderThemeQt::isControlStyled):
46712        (WebCore::RenderThemeQt::paintTextField):
46713
467142011-04-06  Jia Pu  <jpu@apple.com>
46715
46716        Reviewed by Darin Adler.
46717
46718        [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
46719        https://bugs.webkit.org/show_bug.cgi?id=57800
46720        <rdar://problem/9218223>
46721
46722        Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
46723        now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
46724
46725        * accessibility/AXObjectCache.h:
46726        * accessibility/chromium/AXObjectCacheChromium.cpp:
46727        (WebCore::AXObjectCache::postPlatformNotification):
46728        * accessibility/mac/AXObjectCacheMac.mm:
46729        (WebCore::AXObjectCache::postPlatformNotification):
46730        * editing/Editor.cpp:
46731        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
46732
467332011-04-06  Martin Robinson  <mrobinson@igalia.com>
46734
46735        Build fix for debug Cairo builds.
46736
46737        * platform/graphics/cairo/PlatformContextCairo.cpp:
46738        (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
46739
467402011-04-06  Diego Gonzalez  <diegohcg@webkit.org>
46741
46742        Reviewed by Antonio Gomes.
46743
46744        [Qt] Style fix for QtMobileWebStyle.h
46745        https://bugs.webkit.org/show_bug.cgi?id=57708
46746
46747        * platform/qt/QtMobileWebStyle.h:
46748
467492011-04-06  Andras Becsi  <abecsi@webkit.org>
46750
46751        Reviewed by Darin Adler.
46752
46753        Invalid color #{predefined colorName} is accepted by the CSS parser.
46754        https://bugs.webkit.org/show_bug.cgi?id=15360
46755
46756        Test: fast/css/invalid-predefined-color.html
46757
46758        * css/CSSGrammar.y: Remove superfluous hexcolor production.
46759        * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
46760
467612011-03-30  Pavel Podivilov  <podivilov@chromium.org>
46762
46763        Reviewed by Pavel Feldman.
46764
46765        Web Inspector: add test for script formatter worker.
46766        https://bugs.webkit.org/show_bug.cgi?id=57447
46767
46768        Test: inspector/debugger/script-formatter.html
46769
46770        * GNUmakefile.am:
46771        * inspector/front-end/DebuggerPresentationModel.js:
46772        (WebInspector.DebuggerPresentationModel):
46773        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
46774
467752011-04-06  Martin Robinson  <mrobinson@igalia.com>
46776
46777        Reviewed by Xan Lopez.
46778
46779        [Cairo] Hide the details of image masking in PlatformContextCairo
46780        https://bugs.webkit.org/show_bug.cgi?id=57878
46781
46782        No new tests. This is just a refactor.
46783
46784        * platform/graphics/GraphicsContext.h:
46785        * platform/graphics/cairo/GraphicsContextCairo.cpp:
46786        (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
46787        do the actual cairo_save. Remove information about image masking.
46788        (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
46789        do the actual cairo_restore. Remove information about image masking.
46790        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
46791        * platform/graphics/cairo/ImageBufferCairo.cpp:
46792        (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
46793        * platform/graphics/cairo/PlatformContextCairo.cpp:
46794        (WebCore::PlatformContextCairo::restore): Added.
46795        (WebCore::PlatformContextCairo::save): Added.
46796        (WebCore::PlatformContextCairo::pushImageMask): Added.
46797        * platform/graphics/cairo/PlatformContextCairo.h:
46798        (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
46799        (WebCore::ImageMaskInformation::isValid): Ditto.
46800        (WebCore::ImageMaskInformation::maskSurface): Ditto.
46801        (WebCore::ImageMaskInformation::maskRect): Ditto.
46802
468032011-04-02  Diego Gonzalez  <diegohcg@webkit.org>
46804
46805        Reviewed by Csaba Osztrogonác.
46806
46807        [Qt] Radio buttons are showing wrong with mobile theme
46808        https://bugs.webkit.org/show_bug.cgi?id=57706
46809
46810        * platform/qt/QtMobileWebStyle.cpp:
46811        (QtMobileWebStyle::drawRadio):
46812
468132011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46814
46815        Reviewed by Eric Seidel.
46816
46817        Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
46818        https://bugs.webkit.org/show_bug.cgi?id=57943
46819
46820        * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
46821        * rendering/RenderBlockLineLayout.cpp:
46822        (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
46823
468242011-04-05  Diego Gonzalez  <diegohcg@webkit.org>
46825
46826        Buildfix after r82125.
46827
46828        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
46829        https://bugs.webkit.org/show_bug.cgi?id=57087
46830
46831        * platform/qt/QtMobileWebStyle.cpp:
46832        (QtMobileWebStyle::findChecker):
46833        (QtMobileWebStyle::findRadio):
46834        (QtMobileWebStyle::findComboButton):
46835
468362011-04-06  Pavel Podivilov  <podivilov@chromium.org>
46837
46838        Reviewed by Yury Semikhatsky.
46839
46840        Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
46841        https://bugs.webkit.org/show_bug.cgi?id=57641
46842
46843        * WebCore.xcodeproj/project.pbxproj:
46844        * gyp/streamline-inspector-source.sh:
46845        * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
46846        * inspector/inline-javascript-imports.py: Added.
46847
468482011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
46849
46850        Reviewed by Eric Seidel.
46851
46852        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
46853        https://bugs.webkit.org/show_bug.cgi?id=57872
46854
46855        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
46856        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
46857
46858        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
46859        avoiding the tab span.
46860
46861        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
46862
46863        Test: editing/inserting/insert-paragraph-separator-tab-span.html
46864
46865        * editing/EditingStyle.cpp:
46866        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
46867        * editing/InsertParagraphSeparatorCommand.cpp:
46868        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
46869        separator into a paragraph separator.
46870
468712011-04-06  Levi Weintraub  <leviw@chromium.org>
46872
46873        Reviewed by Ryosuke Niwa.
46874
46875        Add member functions for determining line/paragraph separation to InlineIterator
46876        https://bugs.webkit.org/show_bug.cgi?id=57938
46877
46878        Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
46879        InlineIterator, where it makes far more sense for them to be. Also moving
46880        shouldPreserveNewline to RenderObject and renaming it preservesNewline.
46881
46882        No new tests as this provides no new functionality.
46883
46884        * rendering/InlineIterator.h:
46885        (WebCore::InlineIterator::atTextParagraphSeparator):
46886        (WebCore::InlineIterator::atParagraphSeparator):
46887        * rendering/RenderBlockLineLayout.cpp:
46888        (WebCore::RenderBlock::requiresLineBox):
46889        (WebCore::RenderBlock::findNextLineBreak):
46890        * rendering/RenderObject.h:
46891        (WebCore::RenderObject::preservesNewline):
46892
468932011-04-05  Alexander Pavlov  <apavlov@chromium.org>
46894
46895        Reviewed by Pavel Feldman.
46896
46897        Web Inspector: Range insertNode function does not update content in the inspector
46898        https://bugs.webkit.org/show_bug.cgi?id=57829
46899
46900        * inspector/InspectorDOMAgent.cpp:
46901        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
46902        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
46903
469042011-04-06  Alejandro G. Castro  <alex@igalia.com>
46905
46906        Fix GTK3 compilation after r82962.
46907
46908        * platform/gtk/RenderThemeGtk3.cpp:
46909        (WebCore::paintToggle):
46910        (WebCore::renderButton):
46911        (WebCore::RenderThemeGtk::paintMenuList):
46912        (WebCore::RenderThemeGtk::paintTextField):
46913        (WebCore::RenderThemeGtk::paintSliderTrack):
46914        (WebCore::RenderThemeGtk::paintSliderThumb):
46915        (WebCore::RenderThemeGtk::paintProgressBar):
46916        (WebCore::paintSpinArrowButton):
46917        * platform/gtk/ScrollbarThemeGtk3.cpp:
46918        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
46919        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
46920        (WebCore::ScrollbarThemeGtk::paintThumb):
46921        (WebCore::ScrollbarThemeGtk::paintButton):
46922
469232011-04-06  Andrey Kosyakov  <caseq@chromium.org>
46924
46925        Reviewed by Yury Semikhatsky.
46926
46927        Web Inspector: [Extensions API] remove inspectedPage.* events
46928        https://bugs.webkit.org/show_bug.cgi?id=57763
46929
46930        - Removed webInspector.inspectedPage.* events
46931        - moved onNavigated to webInspector.resources
46932
46933        * inspector/front-end/ExtensionAPI.js:
46934        (WebInspector.injectedExtensionAPI):
46935        (WebInspector.injectedExtensionAPI.InspectedWindow):
46936        * inspector/front-end/ExtensionAPISchema.json:
46937        * inspector/front-end/ExtensionServer.js:
46938        (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
46939        * inspector/front-end/inspector.js:
46940        (WebInspector.domContentEventFired):
46941        (WebInspector.loadEventFired):
46942        (WebInspector.inspectedURLChanged):
46943
469442011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
46945
46946        Reviewed by Antti Koivisto.
46947
46948        Add <head> to the simpleUserAgentStyleSheet
46949        https://bugs.webkit.org/show_bug.cgi?id=57915
46950
46951        * css/CSSStyleSelector.cpp:
46952        (WebCore::elementCanUseSimpleDefaultStyle): add head to the
46953        simple stylesheet, display:none.
46954
469552011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
46956
46957        Reviewed by Pavel Feldman.
46958
46959        Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
46960        https://bugs.webkit.org/show_bug.cgi?id=57856
46961
46962        Test: inspector/profiler/detailed-heapshots-summary.html
46963
46964        * inspector/front-end/DataGrid.js:
46965        (WebInspector.DataGrid):
46966        * inspector/front-end/DetailedHeapshotGridNodes.js:
46967        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
46968        (WebInspector.HeapSnapshotGridNode.prototype._populate):
46969        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
46970        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
46971        (WebInspector.HeapSnapshotGridNode.prototype.sort):
46972        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
46973        * inspector/front-end/DetailedHeapshotView.js:
46974        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
46975        * inspector/front-end/ProfilesPanel.js:
46976        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
46977        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
46978
469792011-04-06  Anders Bakken  <agbakken@gmail.com>
46980
46981        Reviewed by David Levin.
46982
46983        [Qt] SmartReplaceQt.cpp has coding-style errors
46984        https://bugs.webkit.org/show_bug.cgi?id=40261
46985
46986        This patch does not require new test cases.
46987
46988        * editing/qt/SmartReplaceQt.cpp:
46989        (WebCore::isCharacterSmartReplaceExempt):
46990
469912011-04-06  Naoki Takano  <takano.naoki@gmail.com>
46992
46993        Reviewed by Ryosuke Niwa.
46994
46995        REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
46996        https://bugs.webkit.org/show_bug.cgi?id=57755
46997
46998        Test: editing/execCommand/insert-line-break-onload.html
46999
47000        * editing/TypingCommand.cpp:
47001        (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
47002
470032011-04-05  Antti Koivisto  <antti@apple.com>
47004
47005        Reviewed by Cameron Zwarich.
47006
47007        Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
47008        https://bugs.webkit.org/show_bug.cgi?id=57914
47009
47010        Don't call adjustedDeferredRepaintDelay unnecessarily.
47011
47012        * page/FrameView.cpp:
47013        (WebCore::FrameView::repaintContentRectangle):
47014        (WebCore::FrameView::adjustedDeferredRepaintDelay):
47015
470162011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
47017
47018        Reviewed by David Levin.
47019
47020        Update call to SkAdvancedTypefaceMetrics to new API.
47021        https://bugs.webkit.org/show_bug.cgi?id=57887
47022
47023        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
47024        (WebCore::FontPlatformData::emSizeInFontUnits):
47025
470262011-04-05  Alexey Proskuryakov  <ap@apple.com>
47027
47028        Reviewed by Darin Adler.
47029
47030        Rename event dispatching functions after form event removal
47031        https://bugs.webkit.org/show_bug.cgi?id=57908
47032
47033        * dom/InputElement.cpp:
47034        (WebCore::InputElement::setValueFromRenderer):
47035        * dom/Node.cpp:
47036        (WebCore::Node::dispatchChangeEvent):
47037        (WebCore::Node::dispatchInputEvent):
47038        (WebCore::Node::defaultEventHandler):
47039        * dom/Node.h:
47040        * html/HTMLFormControlElement.cpp:
47041        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
47042        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
47043        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
47044        Renamed "events" to "event", since there is only one event to dispatch now.
47045
470462011-04-05  Anders Bakken  <agbakken@gmail.com>
47047
47048        Reviewed by David Levin.
47049
47050        [Qt] DragControllerQt.cpp has coding-style errors
47051        https://bugs.webkit.org/show_bug.cgi?id=40258
47052
47053        This patch does not require new test cases.
47054
47055        * page/qt/DragControllerQt.cpp:
47056        (WebCore::DragController::dragOperation):
47057
470582011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
47059
47060        Reviewed by David Levin.
47061
47062        Update deprecated include: platform_canvas_win.h to platform_canvas.h.
47063        https://bugs.webkit.org/show_bug.cgi?id=57896
47064
47065        * platform/graphics/chromium/FontChromiumWin.cpp:
47066
470672011-04-05  Darin Adler  <darin@apple.com>
47068
47069        Try to fix Leopard bots.
47070
47071        * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems
47072        to have intended it.
47073
470742011-04-05  Darin Adler  <darin@apple.com>
47075
47076        Try to fix Leopard bots.
47077
47078        * platform/mac/HTMLConverter.mm: Move declarations of new functions
47079        inside the appropriate #if.
47080
470812011-04-05  Adrienne Walker  <enne@google.com>
47082
47083        Reviewed by Tony Chang.
47084
47085        Correctly set color when using skia's fillRoundedRect.
47086        https://bugs.webkit.org/show_bug.cgi?id=57907
47087
47088        * platform/graphics/skia/GraphicsContextSkia.cpp:
47089        (WebCore::GraphicsContext::fillRoundedRect):
47090
470912011-04-05  Alexey Proskuryakov  <ap@apple.com>
47092
47093        Reviewed by Darin Adler.
47094
47095        Move attributedStringFromRange down to WebCore
47096        https://bugs.webkit.org/show_bug.cgi?id=57905
47097
47098        No change in behavior, so no new tests.
47099
47100        Also tweaked HTMLConverter to not use methods defined in WebKit.
47101
47102        * WebCore.exp.in:
47103        * WebCore.xcodeproj/project.pbxproj:
47104        * platform/mac/HTMLConverter.h:
47105        * platform/mac/HTMLConverter.mm:
47106        (-[WebHTMLConverter _newTabForElement:]):
47107        (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
47108        (+[WebHTMLConverter editingAttributedStringFromRange:]):
47109        (fileWrapperForURL):
47110        (fileWrapperForElement):
47111        * platform/mac/PasteboardMac.mm:
47112        (WebCore::Pasteboard::writeSelection):
47113        * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h.
47114        * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm.
47115        (WebCore::attributedStringByStrippingAttachmentCharacters):
47116
471172011-04-05  Simon Fraser  <simon.fraser@apple.com>
47118
47119        Reviewed by Darin Adler.
47120
47121        Rename variables in border drawing code for readability
47122        https://bugs.webkit.org/show_bug.cgi?id=57894
47123
47124        * rendering/RenderObject.cpp:
47125        (WebCore::RenderObject::drawLineForBoxSide):
47126        (WebCore::RenderObject::drawBoxSideFromPath):
47127        (WebCore::RenderObject::drawArcForBoxSide):
47128
471292011-04-05  Antti Koivisto  <antti@apple.com>
47130
47131        Reviewed by Darin Adler.
47132
47133        Defer repaints during style recalc
47134        https://bugs.webkit.org/show_bug.cgi?id=57886
47135
47136        This reduces the need to do (often expensive) platform surface invalidation.
47137        We already do this during layout but style recalculation may trigger
47138        invalidation as well.
47139    
47140        * dom/Document.cpp:
47141        (WebCore::Document::recalcStyle):
47142
471432011-04-05  Jer Noble  <jer.noble@apple.com>
47144
47145        Reviewed by Darin Adler.
47146
47147        HTML5 Player Has no Fullscreen Mode
47148        https://bugs.webkit.org/show_bug.cgi?id=57795
47149
47150        * html/HTMLVideoElement.cpp:
47151        (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API
47152            supportsFullScreenForElement() before the old supportsFullScreenForNode() API.
47153
471542011-04-05  Vsevolod Vlasov  <vsevik@chromium.org>
47155
47156        Reviewed by Pavel Feldman.
47157
47158        Web Inspector: fix data url's status and timing the network panel.
47159        https://bugs.webkit.org/show_bug.cgi?id=53066
47160
47161        Added data url support for status of network resources.
47162
47163        * English.lproj/localizedStrings.js:
47164        * inspector/front-end/NetworkPanel.js:
47165        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
47166        * inspector/front-end/Resource.js:
47167        (WebInspector.Resource.prototype.isDataURL):
47168
471692011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
47170
47171        Reviewed by Adam Barth.
47172
47173        [V8] Keep dirty primitive CSS values alive.
47174        https://bugs.webkit.org/show_bug.cgi?id=57810
47175
47176        * bindings/v8/V8GCController.cpp:
47177        (WebCore::GrouperVisitor::visitDOMWrapper):
47178
471792011-04-05  Simon Fraser  <simon.fraser@apple.com>
47180
47181        Reviewed by Adele Peterson.
47182
47183        Add a fast path for simple color backgrounds
47184        https://bugs.webkit.org/show_bug.cgi?id=57773
47185
47186        Add a fast path for drawing simple color backgrounds. It's
47187        faster to fill a path or rect than it is to set up a clip,
47188        and then paint the rect.
47189        
47190        No visible behavior change so no new tests.
47191
47192        * rendering/RenderBoxModelObject.cpp:
47193        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
47194
471952011-04-05  Patrick Gansterer  <paroga@webkit.org>
47196
47197        Unreviewed EFL build fix for r82962.
47198
47199        * CMakeListsEfl.txt:
47200
472012011-04-05  Chris Rogers  <crogers@google.com>
47202
47203        Reviewed by Kenneth Russell.
47204
47205        Add support for offline audio rendering to AudioContext API
47206        https://bugs.webkit.org/show_bug.cgi?id=57676
47207
47208        No new tests since audio API is not yet implemented.
47209
47210        * DerivedSources.make:
47211        * WebCore.gypi:
47212        * WebCore.xcodeproj/project.pbxproj:
47213        * bindings/js/JSAudioContextCustom.cpp:
47214        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
47215        * bindings/js/JSEventCustom.cpp:
47216        (WebCore::toJS):
47217        * bindings/js/JSEventTarget.cpp:
47218        (WebCore::toJS):
47219        * bindings/v8/V8DOMWrapper.cpp:
47220        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
47221        * bindings/v8/custom/V8AudioContextCustom.cpp:
47222        (WebCore::V8AudioContext::constructorCallback):
47223        * bindings/v8/custom/V8EventCustom.cpp:
47224        (WebCore::toV8):
47225        * dom/Event.cpp:
47226        (WebCore::Event::isOfflineAudioCompletionEvent):
47227        * dom/Event.h:
47228        * dom/EventTarget.cpp:
47229        (WebCore::EventTarget::toAudioContext):
47230        * dom/EventTarget.h:
47231        * platform/audio/HRTFDatabaseLoader.cpp:
47232        (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
47233        * platform/audio/HRTFDatabaseLoader.h:
47234        (WebCore::HRTFDatabaseLoader::loader):
47235        * webaudio/AudioContext.cpp:
47236        (WebCore::AudioContext::createOfflineContext):
47237        (WebCore::AudioContext::AudioContext):
47238        (WebCore::AudioContext::constructCommon):
47239        (WebCore::AudioContext::document):
47240        (WebCore::AudioContext::scriptExecutionContext):
47241        (WebCore::AudioContext::toAudioContext):
47242        (WebCore::AudioContext::startRendering):
47243        (WebCore::AudioContext::fireCompletionEvent):
47244        * webaudio/AudioContext.h:
47245        (WebCore::AudioContext::isOfflineContext):
47246        (WebCore::AudioContext::eventTargetData):
47247        (WebCore::AudioContext::ensureEventTargetData):
47248        (WebCore::AudioContext::refEventTarget):
47249        (WebCore::AudioContext::derefEventTarget):
47250        * webaudio/AudioContext.idl:
47251        * webaudio/AudioDestinationNode.cpp:
47252        (WebCore::AudioDestinationNode::AudioDestinationNode):
47253        * webaudio/AudioDestinationNode.h:
47254        (WebCore::AudioDestinationNode::reset):
47255        (WebCore::AudioDestinationNode::numberOfChannels):
47256        * webaudio/ConvolverNode.cpp:
47257        (WebCore::ConvolverNode::setBuffer):
47258        * webaudio/DefaultAudioDestinationNode.cpp: Added.
47259        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
47260        (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
47261        (WebCore::DefaultAudioDestinationNode::initialize):
47262        (WebCore::DefaultAudioDestinationNode::uninitialize):
47263        (WebCore::DefaultAudioDestinationNode::startRendering):
47264        * webaudio/DefaultAudioDestinationNode.h: Added.
47265        (WebCore::DefaultAudioDestinationNode::create):
47266        (WebCore::DefaultAudioDestinationNode::sampleRate):
47267        * webaudio/OfflineAudioCompletionEvent.cpp: Added.
47268        (WebCore::OfflineAudioCompletionEvent::create):
47269        (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
47270        (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent):
47271        (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent):
47272        * webaudio/OfflineAudioCompletionEvent.h: Added.
47273        (WebCore::OfflineAudioCompletionEvent::renderedBuffer):
47274        * webaudio/OfflineAudioCompletionEvent.idl: Added.
47275        * webaudio/OfflineAudioDestinationNode.cpp: Added.
47276        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
47277        (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
47278        (WebCore::OfflineAudioDestinationNode::initialize):
47279        (WebCore::OfflineAudioDestinationNode::uninitialize):
47280        (WebCore::OfflineAudioDestinationNode::startRendering):
47281        (WebCore::OfflineAudioDestinationNode::renderEntry):
47282        (WebCore::OfflineAudioDestinationNode::render):
47283        (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
47284        (WebCore::OfflineAudioDestinationNode::notifyComplete):
47285        * webaudio/OfflineAudioDestinationNode.h: Added.
47286        (WebCore::OfflineAudioDestinationNode::create):
47287        (WebCore::OfflineAudioDestinationNode::sampleRate):
47288
472892011-04-05  Martin Robinson  <mrobinson@igalia.com>
47290
47291        Reviewed by Eric Seidel.
47292
47293        [Cairo] Better separate the concerns of GraphicsContextCairo
47294        https://bugs.webkit.org/show_bug.cgi?id=55150
47295
47296        Add a PlatformContextCairo which right now stores the cairo_t* for a
47297        GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
47298        and image masking layers into this PlatformContextCairo class.
47299
47300        No new tests. This patch is only a code cleanup.
47301
47302        * GNUmakefile.am:
47303        * platform/graphics/GraphicsContext.h: The platform context is no longer a
47304        cairo_t, but our new class the PlatformContextCairo.
47305        * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
47306        * platform/graphics/cairo/FontCairo.cpp: Ditto.
47307        * platform/graphics/cairo/GradientCairo.cpp: Ditto.
47308        * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
47309        changes which now reference platformContext()->cr() to get the cairo_t.
47310        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
47311        PlatformContextCairo instead of the cairo_t.
47312        * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
47313        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
47314        * platform/graphics/cairo/PathCairo.cpp: Ditto.
47315        * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
47316        * platform/graphics/cairo/PlatformContextCairo.h: Added.
47317        * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
47318        * platform/graphics/gtk/IconGtk.cpp: Ditto.
47319        * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
47320        m_data with a private section containing the platform context instead of
47321        just a cairo_t.
47322        * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
47323        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
47324        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
47325        * plugins/gtk/PluginViewGtk.cpp: Ditto.
47326
473272011-04-05  David Dorwin  <ddorwin@chromium.org>
47328
47329        Reviewed by David Levin.
47330
47331        Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
47332        https://bugs.webkit.org/show_bug.cgi?id=57400
47333
47334        Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid. 
47335        Accelerated compositing may be compiled in but disabled at runtime or for some elements.
47336
47337        Tests: Fullscreen layout tests on Chromium.
47338
47339        * dom/Document.cpp:
47340        (WebCore::Document::webkitWillEnterFullScreenForElement):
47341        (WebCore::Document::webkitDidEnterFullScreenForElement):
47342        (WebCore::Document::webkitWillExitFullScreenForElement):
47343
473442011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
47345
47346        Reviewed by Dirk Schulze.
47347
47348        Regression: Invalid write in SVGTextLayoutEngine
47349        https://bugs.webkit.org/show_bug.cgi?id=57721
47350
47351        Properly stop layout if all metrics object refer to zero-width/height characters,
47352        which can happen for instance when using <text font-size="0">.
47353
47354        Test: svg/text/font-size-null-assertion.svg
47355
47356        * rendering/svg/SVGTextLayoutEngine.cpp:
47357        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
47358        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
47359
473602011-04-04 MORITA Hajime  <morrita@google.com>
47361
47362        Reviewed by Ryosuke Niwa.
47363
47364        [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
47365        https://bugs.webkit.org/show_bug.cgi?id=56085
47366        
47367        Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult.
47368        This change also added TextCheckerClient::requestCheckingOfString() should have
47369        TextCheckingTypeMask as a parameter to control text checking type.
47370
47371        * WebCore.exp.in:
47372        * editing/Editor.cpp:
47373        (WebCore::Editor::replaceSelectionWithFragment):
47374        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
47375        (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges()
47376        * editing/SpellChecker.cpp:
47377        (WebCore::SpellChecker::requestCheckingFor): Added a parameter.
47378        (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object.
47379        (WebCore::SpellChecker::didCheck):
47380        * editing/SpellChecker.h:
47381        * loader/EmptyClients.h:
47382        (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
47383        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
47384        * platform/text/TextCheckerClient.h:
47385
473862011-04-04  Antti Koivisto  <antti@apple.com>
47387
47388        Reviewed by Sam Weinig.
47389
47390        Print stylesheet on nytimes.com loads too early
47391        https://bugs.webkit.org/show_bug.cgi?id=57814
47392
47393        Don't load resources with Very Low priority until there are no other resources to 
47394        load for the host (or until document is complete enough that we stop limiting requests).
47395
47396        No tests, this is  difficult to observe reliably with our current testing infrastructure.
47397        Verified working with Wireshark.
47398
47399        * loader/ResourceLoadScheduler.cpp:
47400        (WebCore::ResourceLoadScheduler::servePendingRequests):
47401        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
47402        * loader/ResourceLoadScheduler.h:
47403
474042011-04-04  Steve Block  <steveblock@google.com>
47405
47406        Reviewed by Dimitri Glazkov.
47407
47408        JavaInstance should be a pure interface
47409        https://bugs.webkit.org/show_bug.cgi?id=55383
47410
47411        This patch fixes JavaInstance for V8 only.
47412
47413        It factors out a JavaInstance interface which does not use JNI
47414        types. This will allow the Java bridge to be used with objects
47415        that don't use JNI directly. The existing jobject-backed
47416        implementation is moved to a new JavaInstanceJobject class which
47417        implements the interface.
47418
47419        No new tests, refactoring only.
47420
47421        * Android.v8bindings.mk:
47422        * WebCore.gypi:
47423        * bridge/jni/JobjectWrapper.h:
47424        * bridge/jni/v8/JNIUtilityPrivate.cpp:
47425        (JSC::Bindings::jvalueToJavaValue):
47426        (JSC::Bindings::javaValueToJvalue):
47427        * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
47428        (JavaInstanceJobject::JavaInstanceJobject):
47429        (JavaInstanceJobject::~JavaInstanceJobject):
47430        (JavaInstanceJobject::begin):
47431        (JavaInstanceJobject::end):
47432        (JavaInstanceJobject::getClass):
47433        (JavaInstanceJobject::invokeMethod):
47434        (JavaInstanceJobject::getField):
47435        * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h.
47436        (JSC::Bindings::JavaInstanceJobject::javaInstance):
47437        * bridge/jni/v8/JavaInstanceV8.h:
47438        (JSC::Bindings::JavaInstance::~JavaInstance):
47439
474402011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
47441
47442       Reviewed by Darin Adler.
47443
47444        Move MouseEvent-dispatching logic into MouseEventDispatchMediator.
47445        https://bugs.webkit.org/show_bug.cgi?id=57639
47446
47447        Refactoring, covered by existing tests.
47448
47449        * dom/EventDispatcher.cpp:
47450        (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here
47451            from dispatchMouseEvent.
47452        (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method.
47453        * dom/EventDispatcher.h: Adjusted decls.
47454        (WebCore::EventDispatcher::node): Added.
47455        * dom/MouseEvent.cpp:
47456        (WebCore::MouseEvent::create): Moved useful assertion here from
47457            dispatchMouseEvent.
47458        (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added.
47459        (WebCore::MouseEventDispatchMediator::event): Added.
47460        (WebCore::MouseEventDispatchMediator::dispatchEvent): Added.
47461        * dom/MouseEvent.h:
47462        (WebCore::MouseEvent::setRelatedTarget): Added.
47463        * dom/Node.cpp:
47464        (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator.
47465
474662011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
47467
47468        Reviewed by Adam Roben & Dirk Schulze.
47469
47470        text-tspan-02-b.svg from SVG 1.1 2nd edition fails
47471        https://bugs.webkit.org/show_bug.cgi?id=57831
47472
47473        We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering.
47474        While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and
47475        should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler
47476        to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the
47477        required memory.
47478
47479        Example:
47480        <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text>
47481    
47482        text:   A  B  C  D  E  F  G  H
47483        rotate="10 20 30 30 30 50 50 50"
47484
47485        Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg
47486               svg/text/text-midpoint-split-bug.svg
47487
47488        * 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
47489        (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase.
47490        * rendering/svg/SVGTextLayoutAttributes.cpp:
47491        (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization).
47492        (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder.
47493        (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto.
47494        (WebCore::safeValueAtPosition): Ditto. (Inline helper)
47495        (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto.
47496        * rendering/svg/SVGTextLayoutAttributes.h: Ditto.
47497        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above.
47498        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
47499        (WebCore::processRenderSVGInlineText):
47500        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
47501        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters):
47502        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
47503        (WebCore::fillListAtPosition):
47504        (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition):
47505        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
47506        (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition):
47507
475082011-04-05  Levi Weintraub  <leviw@chromium.org>
47509
47510        Reviewed by Ryosuke Niwa.
47511
47512        DeleteButtonController is given invalid style
47513        https://bugs.webkit.org/show_bug.cgi?id=57853
47514
47515        DeleteButtonController was assigned an invalid style that can lead to assertions
47516        in debug builds. This matches up the code with its intent.
47517
47518        No new tests as this changes nothing on release builds.
47519
47520        * editing/DeleteButtonController.cpp:
47521        (WebCore::DeleteButtonController::createDeletionUI):
47522
475232011-04-05  Anders Bakken  <agbakken@gmail.com>
47524
47525        Reviewed by Laszlo Gombos.
47526
47527        [Qt] EditorQt.cpp has coding-style errors
47528        https://bugs.webkit.org/show_bug.cgi?id=40260
47529        
47530        This patch does not require new test cases.
47531
47532        * editing/qt/EditorQt.cpp:
47533
475342011-04-05  Pavel Podivilov  <podivilov@chromium.org>
47535
47536        Reviewed by Pavel Feldman.
47537
47538        Web Inspector: go to line dialog highlights wrong line.
47539        https://bugs.webkit.org/show_bug.cgi?id=57845
47540
47541        * inspector/front-end/GoToLineDialog.js:
47542        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
47543
475442011-04-05  Luke Macpherson   <macpherson@chromium.org>
47545
47546        Reviewed by Dimitri Glazkov.
47547
47548        Implement CSSPropertyDirection in CSSStyleApplyProperty
47549        https://bugs.webkit.org/show_bug.cgi?id=57608
47550
47551        No new tests required as no new functionality introduced.
47552
47553        * css/CSSStyleApplyProperty.cpp:
47554        Add implementation class for CSSPropertyDirection
47555        * css/CSSStyleSelector.cpp:
47556        Remove existing implementation for CSSPropertyDirection
47557        * css/CSSStyleSelector.h:
47558        Add getter for element
47559
475602011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
47561
47562        Reviewed by Steve Block.
47563
47564        Factoring the creation of 'FunctionOnly' callbacks in V8.
47565        https://bugs.webkit.org/show_bug.cgi?id=57760
47566
47567        This method creates a template from an existing functionality in V8GeolocationCustom.cpp
47568        to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
47569
47570        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
47571
47572        * bindings/v8/V8Utilities.cpp:
47573        (WebCore::throwTypeMismatchException):
47574        * bindings/v8/V8Utilities.h:
47575        (WebCore::createFunctionOnlyCallback):
47576        * bindings/v8/custom/V8GeolocationCustom.cpp:
47577        (WebCore::V8Geolocation::getCurrentPositionCallback):
47578        (WebCore::V8Geolocation::watchPositionCallback):
47579
475802011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
47581
47582        Reviewed by Andreas Kling.
47583
47584        Switch from Vector<UChar> to StringBuilder in bindings/
47585        https://bugs.webkit.org/show_bug.cgi?id=57838
47586
47587        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
47588        (WebCore::cssPropertyName):
47589        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
47590        (WebCore::cssPropertyInfo):
47591
475922011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
47593
47594        Reviewed by Andreas Kling.
47595
47596        Switch from Vector<UChar> to StringBuilder in accessibility/
47597        https://bugs.webkit.org/show_bug.cgi?id=57837
47598
47599        * accessibility/AccessibilityObject.cpp:
47600        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
47601        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
47602        * accessibility/AccessibilityRenderObject.cpp:
47603        (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
47604
476052011-04-05  Andrey Adaikin  <aandrey@google.com>
47606
47607        Reviewed by Pavel Feldman.
47608
47609        Web Inspector: Scripts with syntax errors are cropped in the UI
47610        https://bugs.webkit.org/show_bug.cgi?id=57828
47611
47612        * inspector/front-end/SourceFrame.js:
47613        (WebInspector.SourceFrame.prototype.addMessageToSource):
47614
476152011-04-05  Alexey Proskuryakov  <ap@apple.com>
47616
47617        Reviewed by Darin Adler.
47618
47619        Remove onformchange and onforminput events/event handlers
47620        https://bugs.webkit.org/show_bug.cgi?id=55755
47621        <rdar://problem/9087969>
47622
47623        Covered by existing tests.
47624
47625        * dom/Document.h:
47626        * dom/Document.idl:
47627        * dom/Element.h:
47628        * dom/Element.idl:
47629        * dom/Event.cpp:
47630        (WebCore::Event::fromUserGesture):
47631        * dom/EventNames.h:
47632        * html/FormAssociatedElement.h:
47633        * html/HTMLAttributeNames.in:
47634        * html/HTMLElement.cpp:
47635        (WebCore::HTMLElement::parseMappedAttribute):
47636        * html/HTMLElement.h:
47637        * html/HTMLFormControlElement.h:
47638        (WebCore::HTMLFormControlElement::isEnumeratable):
47639        * html/HTMLFormElement.cpp:
47640        * html/HTMLFormElement.h:
47641        * html/HTMLFormElement.idl:
47642        * html/HTMLInputElement.h:
47643        * html/HTMLKeygenElement.h:
47644        * html/HTMLObjectElement.h:
47645        (WebCore::HTMLObjectElement::isEnumeratable):
47646        * html/HTMLOutputElement.h:
47647        (WebCore::HTMLOutputElement::isEnumeratable):
47648        * html/HTMLSelectElement.h:
47649        (WebCore::HTMLSelectElement::isEnumeratable):
47650        * html/HTMLTextAreaElement.h:
47651        (WebCore::HTMLTextAreaElement::isEnumeratable):
47652        * page/DOMWindow.h:
47653        * page/DOMWindow.idl:
47654
476552011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
47656
47657        Unreviewed, rolling out r82915.
47658        http://trac.webkit.org/changeset/82915
47659        https://bugs.webkit.org/show_bug.cgi?id=57825
47660
47661        Broke 270 chromium tests on win and linux (Requested by
47662        podivilov on #webkit).
47663
47664        * rendering/RenderThemeChromiumSkia.cpp:
47665        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
47666
476672011-04-05  James Simonsen  <simonjam@chromium.org>
47668
47669        Reviewed by Adam Barth.
47670
47671        Stop preload scanning CSS when it&apos;s impossible to have another @import.
47672        https://bugs.webkit.org/show_bug.cgi?id=57664
47673
47674        @import statements are only allowed at the beginning of a CSS file.
47675        Only comments or @charset can precede them. After seeing anything else,
47676        abort early so that we:
47677        - don't have to parse the rest of the CSS.
47678        - don't preload something that the regular parser won't load.
47679
47680        * html/parser/CSSPreloadScanner.cpp:
47681        (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
47682        (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
47683        (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
47684        * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
47685
476862011-04-05  Takayoshi Kochi <kochi@chromium.org>
47687
47688        Reviewed by Tony Chang.
47689
47690        [chromium] Specify 'sans-serif' as a fallback to the default UI font
47691        'Arial' for non-latin UI scripts (e.g. CJK).
47692        https://bugs.webkit.org/show_bug.cgi?id=55035
47693
47694        No new tests, because it may still fail if the system is not configured
47695        properly to resolve 'sans-serif' to existing real font file, thus even
47696        manual test is hard to systematically tell it is working properly.
47697
47698        * rendering/RenderThemeChromiumSkia.cpp
47699
477002011-04-05  Kent Tamura  <tkent@chromium.org>
47701
47702        Reviewed by Dimitri Glazkov.
47703
47704        Setting defaultValue on a textarea with a modified value still clobbers the value
47705        https://bugs.webkit.org/show_bug.cgi?id=57636
47706
47707        If the dirty flag is true, we shouldn't update the value when the
47708        defaultValue is updated
47709
47710        Test: fast/forms/textarea-set-defaultvalue-after-value.html
47711
47712        * html/HTMLTextAreaElement.cpp:
47713        (WebCore::HTMLTextAreaElement::childrenChanged):
47714        (WebCore::HTMLTextAreaElement::setDefaultValue):
47715
477162011-04-04  Kent Tamura  <tkent@chromium.org>
47717
47718        Add a case label which was unexpectedly removed in r82899.
47719        https://bugs.webkit.org/show_bug.cgi?id=50661
47720
47721        * css/CSSSelector.cpp:
47722        (WebCore::CSSSelector::extractPseudoType):
47723
477242011-04-04  Dan Bernstein  <mitz@apple.com>
47725
47726        Reviewed by Simon Fraser.
47727
47728        <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
47729        https://bugs.webkit.org/show_bug.cgi?id=49334
47730
47731        Tests: fast/ruby/overhang-horizontal.html
47732               fast/ruby/overhang-vertical.html
47733
47734        This is a first cut at ruby overhang. It allows ruby text to hang over other
47735        text of equal or smaller size. Two notable omissions are that max preferred
47736        width computation was not patched, so it will overshoot, and that overhang
47737        ignores the width of the adjoining text runs.
47738
47739        * rendering/RenderBlock.h:
47740        * rendering/RenderBlockLineLayout.cpp:
47741        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
47742        of ruby runs for overhang.
47743        (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
47744        compensate for overhang.
47745        (WebCore::RenderBlock::findNextLineBreak): When encountering
47746        a ruby run, increase the line width to account for the fact that overhang will be
47747        collapsed.
47748        * rendering/RenderRubyRun.cpp:
47749        (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
47750        the adjoining renderer is text with equal or smaller font size.
47751        * rendering/RenderRubyRun.h:
47752        (WebCore::toRenderRubyRun):
47753
477542011-04-04  David Kilzer  <ddkilzer@apple.com>
47755
47756        <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
47757
47758        Reviewed by Alexey Proskuryakov.
47759
47760        * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
47761        * platform/mac/WebCoreSystemInterface.h:
47762        (wkSetHTTPPipeliningMaximumPriority): Added function pointer
47763        declaration.
47764        * platform/mac/WebCoreSystemInterface.mm:
47765        (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
47766        * platform/network/cf/ResourceRequestCFNet.cpp:
47767        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
47768        wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
47769        pipelining priority.
47770        * platform/network/cf/ResourceRequestCFNet.h:
47771        (WebCore::toResourceLoadPriority): Renamed from
47772        mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
47773        to handle Unresolved case.
47774        (WebCore::toHTTPPipeliningPriority): Renamed from
47775        mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
47776        handle Unresolved case.
47777        * platform/network/mac/ResourceRequestMac.mm:
47778        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
47779        use toResourceLoadPriority().
47780        (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
47781        use toHTTPPipeliningPriority().  Moved
47782        shouldForceHTTPPipeliningPriorityHigh() check into the argument
47783        of toHTTPPipeliningPriority() instead of hard-coding a
47784        now-incorrect value.
47785
477862011-04-04  MORITA Hajime  <morrita@google.com>
47787
47788        Reviewed by Kent Tamura.
47789
47790        Convert <meter> shadow DOM to a DOM-based shadow.
47791        https://bugs.webkit.org/show_bug.cgi?id=50661
47792        
47793        Eliminated a large part of <meter> custom layout code,
47794        which is replaced by a shadow tree.
47795        Note that the shadow tree is created on construction time and
47796        will remain during the host HTMLMeterElement lifecycle.
47797        
47798        * Android.mk:
47799        * CMakeLists.txt:
47800        * GNUmakefile.am:
47801        * WebCore.gypi:
47802        * WebCore.pro:
47803        * WebCore.vcproj/WebCore.vcproj:
47804        * WebCore.xcodeproj/project.pbxproj:
47805        * css/CSSMutableStyleDeclaration.cpp:
47806        (WebCore::CSSMutableStyleDeclaration::setProperty):
47807        * css/CSSMutableStyleDeclaration.h:
47808        * css/CSSSelector.cpp:
47809        (WebCore::CSSSelector::pseudoId):
47810        (WebCore::nameToPseudoTypeMap):
47811        (WebCore::CSSSelector::extractPseudoType):
47812        * css/CSSSelector.h:
47813        * css/html.css:
47814        (meter):
47815        (meter::-webkit-meter-bar):
47816        (meter::-webkit-meter-optimum-value):
47817        (meter::-webkit-meter-suboptimum-value):
47818        (meter::-webkit-meter-even-less-good-value):
47819        * html/HTMLMeterElement.cpp:
47820        (WebCore::HTMLMeterElement::~HTMLMeterElement):
47821        (WebCore::HTMLMeterElement::parseMappedAttribute):
47822        (WebCore::HTMLMeterElement::attach):
47823        (WebCore::HTMLMeterElement::valueRatio):
47824        (WebCore::HTMLMeterElement::didElementStateChange):
47825        (WebCore::HTMLMeterElement::createShadowSubtree):
47826        * html/HTMLMeterElement.h:
47827        * html/shadow/MeterShadowElement.cpp: Added.
47828        (WebCore::MeterShadowElement::MeterShadowElement):        
47829        (WebCore::MeterShadowElement::meterElement):
47830        (WebCore::MeterShadowElement::rendererIsNeeded):
47831        (WebCore::MeterBarElement::shadowPseudoId):
47832        (WebCore::MeterValueElement::shadowPseudoId):
47833        (WebCore::MeterValueElement::setWidthPercentage):
47834        * html/shadow/MeterShadowElement.h: Added.
47835        (WebCore::MeterBarElement::MeterBarElement):
47836        (WebCore::MeterBarElement::create):
47837        (WebCore::MeterValueElement::MeterValueElement):
47838        (WebCore::MeterValueElement::create):
47839        * rendering/RenderMeter.cpp:
47840        (WebCore::RenderMeter::RenderMeter):
47841        (WebCore::RenderMeter::~RenderMeter):
47842        (WebCore::RenderMeter::valueRatio):
47843        * rendering/RenderMeter.h:
47844        (WebCore::RenderMeter::renderName):
47845        (WebCore::RenderMeter::isMeter):
47846        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
47847        (WebCore::RenderMeter::canHaveChildren):
47848
478492011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
47850
47851        Reviewed by Adam Barth.
47852
47853        Introduce EventDispatchMediator abstraction, which encapsulate all
47854        non-trivial logic around firing a specific type of an event.
47855        https://bugs.webkit.org/show_bug.cgi?id=57562
47856
47857        Refactoring, covered by existing tests.
47858
47859        * dom/Event.cpp:
47860        (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
47861        (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
47862        (WebCore::EventDispatchMediator::dispatchEvent): Added.
47863        (WebCore::EventDispatchMediator::event): Added.
47864        * dom/Event.h: Added decl.
47865        * dom/EventDispatcher.cpp:
47866        (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
47867        * dom/EventDispatcher.h: Updated decls.
47868        * dom/KeyboardEvent.cpp:
47869        (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
47870        (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
47871        * dom/KeyboardEvent.h: Updated decls
47872        * dom/Node.cpp:
47873        (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
47874        (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
47875
478762011-04-04  Martin Robinson  <mrobinson@igalia.com>
47877
47878        Reviewed by Xan Lopez.
47879
47880        [Cairo] Memory leak in RefPtrCairo
47881        https://bugs.webkit.org/show_bug.cgi?id=57758
47882
47883        No new tests. This just fixes a memory leak.
47884
47885        * platform/graphics/cairo/RefPtrCairo.cpp:
47886        (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
47887
478882011-04-04  Adrienne Walker  <enne@google.com>
47889
47890        Unreviewed, rolling out r82880.
47891        http://trac.webkit.org/changeset/82880
47892        https://bugs.webkit.org/show_bug.cgi?id=50661
47893
47894        Meter elements not rendered in Chromium Linux layout tests
47895
47896        * Android.mk:
47897        * CMakeLists.txt:
47898        * GNUmakefile.am:
47899        * WebCore.gypi:
47900        * WebCore.pro:
47901        * WebCore.vcproj/WebCore.vcproj:
47902        * WebCore.xcodeproj/project.pbxproj:
47903        * css/CSSMutableStyleDeclaration.cpp:
47904        * css/CSSMutableStyleDeclaration.h:
47905        * css/CSSSelector.cpp:
47906        (WebCore::CSSSelector::pseudoId):
47907        (WebCore::nameToPseudoTypeMap):
47908        (WebCore::CSSSelector::extractPseudoType):
47909        * css/CSSSelector.h:
47910        * css/html.css:
47911        (meter):
47912        (meter::-webkit-meter):
47913        (meter::-webkit-meter-bar):
47914        (meter::-webkit-meter-optimum-value):
47915        (meter::-webkit-meter-suboptimal-value):
47916        (meter::-webkit-meter-even-less-good-value):
47917        * html/HTMLMeterElement.cpp:
47918        (WebCore::HTMLMeterElement::create):
47919        (WebCore::HTMLMeterElement::parseMappedAttribute):
47920        (WebCore::HTMLMeterElement::attach):
47921        * html/HTMLMeterElement.h:
47922        * html/shadow/MeterShadowElement.cpp: Removed.
47923        * html/shadow/MeterShadowElement.h: Removed.
47924        * rendering/RenderMeter.cpp:
47925        (WebCore::RenderMeter::RenderMeter):
47926        (WebCore::RenderMeter::~RenderMeter):
47927        (WebCore::RenderMeter::createPart):
47928        (WebCore::RenderMeter::updateFromElement):
47929        (WebCore::RenderMeter::layoutParts):
47930        (WebCore::RenderMeter::styleDidChange):
47931        (WebCore::RenderMeter::shouldHaveParts):
47932        (WebCore::RenderMeter::valueRatio):
47933        (WebCore::RenderMeter::barPartRect):
47934        (WebCore::RenderMeter::valuePartRect):
47935        (WebCore::RenderMeter::valuePseudoId):
47936        (WebCore::RenderMeter::barPseudoId):
47937        (WebCore::RenderMeter::detachShadows):
47938        (WebCore::RenderMeter::updateShadows):
47939        * rendering/RenderMeter.h:
47940        (WebCore::RenderMeter::renderName):
47941        (WebCore::RenderMeter::isMeter):
47942        (WebCore::RenderMeter::shadowAttached):
47943
479442011-04-04  Chang Shu  <cshu@webkit.org>
47945
47946        Reviewed by Ryosuke Niwa.
47947
47948        setContentEditable with true/false/inherit string is not working properly
47949        https://bugs.webkit.org/show_bug.cgi?id=52058
47950
47951        Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
47952        checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
47953        which does NOT trigger layout and only checks the render style of usermodify. The latter
47954        updates the layout first to make sure the render style syncs with DOM contenteditable 
47955        attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
47956        are also updated in the patch. But a complete fix will follow up in bug 57244.
47957
47958        This patch fixes all the failed layout tests related to set contenteditable.
47959
47960        * accessibility/AccessibilityRenderObject.cpp:
47961        (WebCore::AccessibilityRenderObject::isReadOnly):
47962        * dom/Node.cpp:
47963        (WebCore::Node::isContentEditable):
47964        (WebCore::Node::shouldUseInputMethod):
47965        * dom/Node.h:
47966        * html/HTMLElement.cpp:
47967        * html/HTMLElement.h:
47968
479692011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
47970
47971        Reviewed by Dimitri Glazkov.
47972
47973        Bug 57689 - Extract scoping functionality from Document
47974        https://bugs.webkit.org/show_bug.cgi?id=57689
47975
47976        Moved selfOnlyRef (renamed to guardRef), element ID, image map
47977        and accesss key functionalities from Document to a new base
47978        class TreeScope.
47979
47980        TreeShared: made removedLastRef protected
47981
47982        No new tests. (refactoring)
47983
47984        * Android.mk:
47985        * CMakeLists.txt:
47986        * GNUmakefile.am:
47987        * WebCore.gypi:
47988        * WebCore.pro:
47989        * WebCore.vcproj/WebCore.vcproj:
47990        * WebCore.xcodeproj/project.pbxproj:
47991        * dom/Document.cpp:
47992        (WebCore::Document::Document):
47993        (WebCore::Document::destroyScope):
47994        (WebCore::Document::getElementById):
47995        (WebCore::Document::childrenChanged):
47996        (WebCore::Document::scheduleStyleRecalc):
47997        (WebCore::Document::attach):
47998        (WebCore::Document::detach):
47999        * dom/Document.h:
48000        (WebCore::Node::Node):
48001        * dom/DocumentOrderedMap.cpp:
48002        (WebCore::DocumentOrderedMap::get):
48003        (WebCore::DocumentOrderedMap::getElementById):
48004        (WebCore::DocumentOrderedMap::getElementByMapName):
48005        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
48006        * dom/DocumentOrderedMap.h:
48007        * dom/DOMAllInOne.cpp:
48008        * dom/Node.cpp:
48009        (WebCore::Node::~Node):
48010        (WebCore::Node::setDocument):
48011        * dom/Node.h:
48012        * dom/TreeScope.cpp: Added.
48013        * dom/TreeScope.h: Added.
48014        * platform/TreeShared.h:
48015        (WebCore::TreeShared::removedLastRef): made protected
48016
480172011-04-04  MORITA Hajime  <morrita@google.com>
48018
48019        Reviewed by Dimitri Glazkov.
48020
48021        Convert <meter> shadow DOM to a DOM-based shadow.
48022        https://bugs.webkit.org/show_bug.cgi?id=50661
48023        
48024        Eliminated a large part of <meter> custom layout code,
48025        which is replaced by a shadow tree.
48026        Note that the shadow tree is created on construction time and
48027        will remain during the host HTMLMeterElement lifecycle.
48028        
48029        * Android.mk:
48030        * CMakeLists.txt:
48031        * GNUmakefile.am:
48032        * WebCore.gypi:
48033        * WebCore.pro:
48034        * WebCore.vcproj/WebCore.vcproj:
48035        * WebCore.xcodeproj/project.pbxproj:
48036        * css/CSSMutableStyleDeclaration.cpp:
48037        (WebCore::CSSMutableStyleDeclaration::setProperty):
48038        * css/CSSMutableStyleDeclaration.h:
48039        * css/CSSSelector.cpp:
48040        (WebCore::CSSSelector::pseudoId):
48041        (WebCore::nameToPseudoTypeMap):
48042        (WebCore::CSSSelector::extractPseudoType):
48043        * css/CSSSelector.h:
48044        * css/html.css:
48045        (meter):
48046        (meter::-webkit-meter-bar):
48047        (meter::-webkit-meter-optimum-value):
48048        (meter::-webkit-meter-suboptimum-value):
48049        (meter::-webkit-meter-even-less-good-value):
48050        * html/HTMLMeterElement.cpp:
48051        (WebCore::HTMLMeterElement::~HTMLMeterElement):
48052        (WebCore::HTMLMeterElement::parseMappedAttribute):
48053        (WebCore::HTMLMeterElement::attach):
48054        (WebCore::HTMLMeterElement::valueRatio):
48055        (WebCore::HTMLMeterElement::didElementStateChange):
48056        (WebCore::HTMLMeterElement::createShadowSubtree):
48057        * html/HTMLMeterElement.h:
48058        * html/shadow/MeterShadowElement.cpp: Added.
48059        (WebCore::MeterShadowElement::MeterShadowElement):        
48060        (WebCore::MeterShadowElement::meterElement):
48061        (WebCore::MeterShadowElement::rendererIsNeeded):
48062        (WebCore::MeterBarElement::shadowPseudoId):
48063        (WebCore::MeterValueElement::shadowPseudoId):
48064        (WebCore::MeterValueElement::setWidthPercentage):
48065        * html/shadow/MeterShadowElement.h: Added.
48066        (WebCore::MeterBarElement::MeterBarElement):
48067        (WebCore::MeterBarElement::create):
48068        (WebCore::MeterValueElement::MeterValueElement):
48069        (WebCore::MeterValueElement::create):
48070        * rendering/RenderMeter.cpp:
48071        (WebCore::RenderMeter::RenderMeter):
48072        (WebCore::RenderMeter::~RenderMeter):
48073        (WebCore::RenderMeter::valueRatio):
48074        * rendering/RenderMeter.h:
48075        (WebCore::RenderMeter::renderName):
48076        (WebCore::RenderMeter::isMeter):
48077        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
48078        (WebCore::RenderMeter::canHaveChildren):
48079
480802011-04-04  Martin Robinson  <mrobinson@igalia.com>
48081
48082        Reviewed by Gustavo Noronha Silva.
48083
48084        [GTK] WebGL support
48085        https://bugs.webkit.org/show_bug.cgi?id=31517
48086
48087        Add WebGL support for the GTK+ bits of WebCore.
48088
48089        No new tests. This will be covered by the existing WebGL tests once
48090        the bots are capable of running WebGL tests.
48091
48092        * GNUmakefile.am: Added new files required for WebGL support.
48093        * html/HTMLCanvasElement.cpp:
48094        (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
48095        yet support accelerated compositing.
48096        * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
48097        a framework for GTK+.
48098        * platform/graphics/GraphicsContext3D.h:
48099        (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
48100        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
48101        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
48102        (WebCore::GraphicsContext3D::getImageData): Added.
48103        (WebCore::GraphicsContext3D::paintToCanvas): Added.
48104        * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
48105        functions dynamically. They have different names across the different vendors' GL implementations.
48106        (WebCore::lookupOpenGLFunctionAddress): Added
48107        (WebCore::openGLFunctionTable): Added
48108        (WebCore::initializeOpenGLShims): Added
48109        * platform/graphics/cairo/OpenGLShims.h: Added.
48110        * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
48111        (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
48112        (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
48113        (WebCore::DrawingBuffer::didReset): Ditto.
48114        (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
48115        * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
48116        (WebCore::GraphicsContext3D::create): Initial implementation.
48117        (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
48118        (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
48119        (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
48120        (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
48121        (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
48122        * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
48123        (sharedDisplay): Added this shared display which is required by some
48124        display drivers.
48125        (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
48126        contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
48127        (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
48128        (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
48129        (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
48130        (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
48131        context given the current environment.
48132        (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
48133        (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
48134        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
48135        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
48136        (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
48137        * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
48138        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
48139        (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
48140        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
48141        (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
48142        the private bits that are specific to the Apple port.
48143
481442011-04-04  Alexey Proskuryakov  <ap@apple.com>
48145
48146        Reviewed by Dan Bernstein.
48147
48148        REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
48149        https://bugs.webkit.org/show_bug.cgi?id=51230
48150        <rdar://problem/8780989>
48151
48152        <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
48153
48154        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
48155        WebKits to WebCore, because WebKit shouldn't be smart.
48156
481572011-04-04  Steve Falkenburg  <sfalken@apple.com>
48158
48159        Fix Windows build warning.
48160
48161        * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
48162
481632011-04-04  Adam Roben  <aroben@apple.com>
48164
48165        Attempted Mac build fix, part III
48166
48167        * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
48168
481692011-04-04  Andy Estes  <aestes@apple.com>
48170
48171        Fix the Mac build.
48172
48173        * WebCore.exp.in:
48174
481752011-04-04  David Dorwin  <ddorwin@chromium.org>
48176
48177        Reviewed by David Levin.
48178
48179        Chromium Mac crashes when entering fullscreen
48180        https://bugs.webkit.org/show_bug.cgi?id=57483
48181
48182        Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
48183
48184        * WebCore.gyp/WebCore.gyp:
48185        * rendering/RenderThemeChromiumMac.h:
48186        * rendering/RenderThemeChromiumMac.mm:
48187        (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
48188
481892011-04-04  Adam Roben  <aroben@apple.com>
48190
48191        Attempted Mac build fix, part II
48192
48193        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
48194        PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
48195
481962011-04-04  Steve Falkenburg  <sfalken@apple.com>
48197
48198        Reviewed by Adam Roben.
48199
48200        Remove unused AnalyzeWithLargeStack code from Windows build files
48201        https://bugs.webkit.org/show_bug.cgi?id=57771
48202        
48203        This was used for us to build with prefast automatically,
48204        but it is out-of-date and hasn't been used for some time.
48205        Removing completely for now.
48206
48207        * WebCore.vcproj/WebCore.vcproj:
48208        * WebCore.vcproj/WebCorePreBuild.cmd:
48209
482102011-04-01  Matthew Delaney  <mdelaney@apple.com>
48211
48212        Reviewed by Simon Fraser.
48213
48214        [CG] Do not accelerate small canvases
48215        https://bugs.webkit.org/show_bug.cgi?id=57596
48216
48217        No new tests. No outward behavior changes.
48218
48219        * platform/graphics/cg/ImageBufferCG.cpp:
48220
482212011-04-04  Adam Roben  <aroben@apple.com>
48222
48223        Attempted Mac build fix
48224
48225        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
48226        so that WebKit can #include them.
48227
482282011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
48229
48230        Reviewed by Kevin Ollivier.
48231
48232        [wx] Implement support for temporary files.
48233        
48234        https://bugs.webkit.org/show_bug.cgi?id=57772
48235
48236        * platform/FileSystem.h:
48237        * platform/wx/FileSystemWx.cpp:
48238        (WebCore::getFileModificationTime):
48239        (WebCore::openTemporaryFile):
48240        (WebCore::closeFile):
48241        (WebCore::writeToFile):
48242
482432011-04-01  Oliver Hunt  <oliver@apple.com>
48244
48245        Reviewed by Geoffrey Garen.
48246
48247        Make StructureChain GC allocated
48248        https://bugs.webkit.org/show_bug.cgi?id=56695
48249
48250        Update for new Structure marking function
48251
48252        * bindings/js/JSDOMGlobalObject.cpp:
48253        (WebCore::JSDOMGlobalObject::markChildren):
48254
482552011-04-04  Pavel Feldman  <pfeldman@google.com>
48256
48257        Reviewed by Yury Semikhatsky.
48258
48259        Web Inspector: add support for the enumerated types in the protocol.
48260        https://bugs.webkit.org/show_bug.cgi?id=57761
48261
48262        * inspector/Inspector.json:
48263        * inspector/InspectorDebuggerAgent.cpp:
48264        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
48265        * inspector/InspectorDebuggerAgent.h:
48266        * inspector/InspectorInstrumentation.cpp:
48267        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
48268        (WebCore::InspectorInstrumentation::scriptImportedImpl):
48269        * inspector/InspectorResourceAgent.cpp:
48270        (WebCore::cachedResourceTypeString):
48271        (WebCore::InspectorResourceAgent::didReceiveResponse):
48272        (WebCore::InspectorResourceAgent::setInitialScriptContent):
48273        (WebCore::InspectorResourceAgent::setInitialXHRContent):
48274        * inspector/InspectorResourceAgent.h:
48275        * inspector/front-end/ScriptsPanel.js:
48276        * inspector/generate-inspector-idl:
48277
482782011-04-04  Yury Semikhatsky  <yurys@chromium.org>
48279
48280        Reviewed by Pavel Feldman.
48281
48282        Web Inspector: InspectorRuntimeAgent should not depend on Page
48283        https://bugs.webkit.org/show_bug.cgi?id=57759
48284
48285        Descendants of InspectorRuntimeAgent should implement a method providing access to the default
48286        inspected state used for console evaluations.
48287
48288        * inspector/InspectorAgent.cpp:
48289        (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
48290        (WebCore::InspectorAgent::setFrontend):
48291        * inspector/InspectorAgent.h:
48292        * inspector/InspectorRuntimeAgent.cpp:
48293        (WebCore::InspectorRuntimeAgent::create):
48294        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48295        (WebCore::InspectorRuntimeAgent::evaluate):
48296        * inspector/InspectorRuntimeAgent.h:
48297        (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
48298
482992011-04-04  Yong Li  <yoli@rim.com>
48300
48301        Reviewed by Antonio Gomes.
48302
48303        https://bugs.webkit.org/show_bug.cgi?id=55969
48304        Fix the issue that document state is not saved when
48305        going backward and ending up with error page.
48306
48307        Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
48308
48309        (For manual test, load a non-existent html first, then load
48310        fast/history/resources/check-scroll-position.html, then go
48311        back and go forward. If it doesn't show "SUCCESS" at the bottom
48312        of the page, your browser has failed the test)
48313
48314        * loader/FrameLoader.cpp:
48315        (WebCore::FrameLoader::load):
48316
483172011-04-04  Sergio Villar Senin  <svillar@igalia.com>
48318
48319        Reviewed by Martin Robinson.
48320
48321        [GTK] Fix make distcheck for 1.4.0
48322        https://bugs.webkit.org/show_bug.cgi?id=57750
48323
48324        Added a missing header file to the Makefile
48325
48326        * GNUmakefile.am:
48327
483282011-04-04  Martin Robinson  <mrobinson@igalia.com>
48329
48330        Reviewed by Xan Lopez.
48331
48332        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
48333        https://bugs.webkit.org/show_bug.cgi?id=55826
48334
48335        Correct the implementation of handlePostReadFile which uses GIO APIs and
48336        actually resizes the buffer to fit the entire size of the file data. This
48337        was likely leading to memory corruption until now.
48338
48339        * plugins/gtk/PluginViewGtk.cpp:
48340        (WebCore::PluginView::handlePostReadFile): Fix this method.
48341
483422011-04-04  Andrey Kosyakov  <caseq@chromium.org>
48343
48344        Reviewed by Yury Semikhatsky.
48345
48346        Web Inspector: [Extensions API] add notifications on panels shown/hidden
48347        https://bugs.webkit.org/show_bug.cgi?id=57752
48348
48349        * inspector/front-end/ExtensionAPI.js:
48350        (WebInspector.injectedExtensionAPI.PanelImpl):
48351        * inspector/front-end/ExtensionServer.js:
48352        (WebInspector.ExtensionServer.prototype.notifyPanelShown):
48353        (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
48354        * inspector/front-end/Panel.js:
48355        (WebInspector.Panel.prototype.show):
48356        (WebInspector.Panel.prototype.hide):
48357
483582011-04-04  Pavel Podivilov  <podivilov@chromium.org>
48359
48360        Reviewed by Yury Semikhatsky.
48361
48362        Web Inspector: search in resources panel is broken.
48363        https://bugs.webkit.org/show_bug.cgi?id=57631
48364
48365        Search in resources panel should trigger source frame content load.
48366
48367        * inspector/front-end/Panel.js:
48368        (WebInspector.Panel.prototype.jumpToNextSearchResult):
48369        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
48370        * inspector/front-end/ResourcesPanel.js:
48371        * inspector/front-end/SearchController.js:
48372        (WebInspector.SearchController.prototype.handleShortcut):
48373        (WebInspector.SearchController.prototype.focusSearchField):
48374        * inspector/front-end/SourceFrame.js:
48375        (WebInspector.SourceFrame.prototype.show):
48376        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
48377        (WebInspector.SourceFrame.prototype.performSearch):
48378
483792011-04-03  Eric Seidel  <eric@webkit.org>
48380
48381        Reviewed by Ryosuke Niwa.
48382
48383        Split out UnicodeBidi enum into its own header (to allow use in platform)
48384        https://bugs.webkit.org/show_bug.cgi?id=57722
48385
48386        unicode-bidi is a CSS concept.  However the same concept is really needed throughout
48387        the bidi code in platform as well.  So I'm moving the enum to platform.
48388        The only part of the enum which doesn't make much sense to platform/ is "normal".
48389
48390        * WebCore.xcodeproj/project.pbxproj:
48391        * css/CSSPrimitiveValueMappings.h:
48392        * platform/text/UnicodeBidi.h: Added.
48393        * rendering/style/RenderStyle.h:
48394        * rendering/style/RenderStyleConstants.h:
48395
483962011-04-04  Andrey Adaikin  <aandrey@google.com>
48397
48398        Reviewed by Yury Semikhatsky.
48399
48400        Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
48401        https://bugs.webkit.org/show_bug.cgi?id=57749
48402
48403        * inspector/front-end/TextViewer.js:
48404        (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
48405        (WebInspector.TextEditorMainPanel.prototype._paintLine):
48406
484072011-04-04  Alexander Pavlov  <apavlov@chromium.org>
48408
48409        Reviewed by Yury Semikhatsky.
48410
48411        Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
48412        https://bugs.webkit.org/show_bug.cgi?id=48525
48413
48414        * inspector/front-end/Resource.js:
48415        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
48416
484172011-04-01  Alexander Pavlov  <apavlov@chromium.org>
48418
48419        Reviewed by Yury Semikhatsky.
48420
48421        Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
48422        https://bugs.webkit.org/show_bug.cgi?id=57632
48423
48424        Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
48425
48426        * inspector/front-end/DOMAgent.js:
48427        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
48428        * inspector/front-end/EventListenersSidebarPane.js:
48429        ():
48430        * inspector/front-end/StylesSidebarPane.js:
48431        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
48432        * inspector/front-end/utilities.js:
48433
484342011-04-04  Andrey Kosyakov  <caseq@chromium.org>
48435
48436        Unreviewed. Followup to an incomplete commit in r82806.
48437
48438        * inspector/front-end/ExtensionAPI.js:
48439        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
48440        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
48441        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
48442        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
48443        (WebInspector.injectedExtensionAPI):
48444        * inspector/front-end/ExtensionPanel.js:
48445        (WebInspector.ExtensionSidebarPane):
48446        (WebInspector.ExtensionSidebarPane.prototype.setPage):
48447        (WebInspector.ExtensionSidebarPane.prototype._setObject):
48448        * inspector/front-end/ExtensionServer.js:
48449        (WebInspector.ExtensionServer):
48450        (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
48451        (WebInspector.ExtensionServer.prototype._onCreatePanel):
48452        (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
48453        (WebInspector.ExtensionServer.prototype.createClientIframe):
48454        (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
48455
484562011-04-04  Yury Semikhatsky  <yurys@chromium.org>
48457
48458        Unreviewed. Fix Qt minimal build.
48459
48460        * inspector/InspectorFrontendChannel.h:
48461
484622011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
48463
48464        Reviewed by Yury Semikhatsky.
48465
48466        Web Inspector: Separate sendMessageToFrontend function
48467        from InspectorClient to individual interface.
48468        https://bugs.webkit.org/show_bug.cgi?id=57548
48469
48470        Refactoring - covered with existing inspector tests.
48471
48472        * GNUmakefile.am:
48473        * WebCore.gypi:
48474        * WebCore.vcproj/WebCore.vcproj:
48475        * WebCore.xcodeproj/project.pbxproj:
48476        * inspector/CodeGeneratorInspector.pm:
48477        * inspector/InspectorClient.h:
48478        * inspector/InspectorFrontendChannel.h: Added.
48479        (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
48480
484812011-04-04  Nico Weber  <thakis@chromium.org>
48482
48483        Reviewed by Eric Seidel.
48484
48485        Prefer a using directive over qualified names in LocalizedNumberICU.cpp
48486        https://bugs.webkit.org/show_bug.cgi?id=57742
48487
48488        Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
48489
48490        * platform/text/LocalizedNumberICU.cpp:
48491        (WebCore::createFormatterForCurrentLocale):
48492        (WebCore::numberFormatter):
48493        (WebCore::parseLocalizedNumber):
48494        (WebCore::formatLocalizedNumber):
48495
484962011-04-04  Andrey Adaikin  <aandrey@google.com>
48497
48498        Reviewed by Yury Semikhatsky.
48499
48500        Web Inspector: Breakpoints in the gutter stay static while editing the text
48501        https://bugs.webkit.org/show_bug.cgi?id=57616
48502
48503        * inspector/front-end/SourceFrame.js:
48504        (WebInspector.SourceFrame):
48505        (WebInspector.SourceFrame.prototype._saveViewerState):
48506        (WebInspector.SourceFrame.prototype._restoreViewerState):
48507        (WebInspector.SourceFrame.prototype._endEditing):
48508        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
48509        (WebInspector.SourceFrame.prototype.addBreakpoint):
48510        (WebInspector.SourceFrame.prototype.removeBreakpoint):
48511        * inspector/front-end/TextViewer.js:
48512        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
48513        (WebInspector):
48514        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
48515        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
48516        (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
48517        (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
48518
485192011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
48520
48521        Reviewed by Yury Semikhatsky.
48522
48523        Web Inspector: remove obsolete doc generating code from CodeGenerator.
48524        https://bugs.webkit.org/show_bug.cgi?id=57748
48525
48526        * inspector/CodeGeneratorInspector.pm:
48527
485282011-04-04  Andrey Kosyakov  <caseq@chromium.org>
48529
48530        Reviewed by Yury Semikhatsky.
48531
48532        Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
48533        https://bugs.webkit.org/show_bug.cgi?id=57622
48534
48535        Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
48536        Fixed wrong getter in schema (scripts -> elements)
48537
48538        * inspector/front-end/ExtensionAPI.js:
48539        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
48540        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
48541        * inspector/front-end/ExtensionAPISchema.json:
48542        * inspector/front-end/ExtensionServer.js:
48543        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
48544
485452011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
48546
48547        Reviewed by Pavel Feldman.
48548
48549        Web Inspector: introduce support of 'optional' flag for command arguments.
48550        https://bugs.webkit.org/show_bug.cgi?id=57698
48551
48552        * inspector/CodeGeneratorInspector.pm:
48553        * inspector/Inspector.json:
48554        * inspector/InspectorDebuggerAgent.cpp:
48555        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
48556        (WebCore::InspectorDebuggerAgent::setBreakpoint):
48557        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
48558        * inspector/InspectorDebuggerAgent.h:
48559        * inspector/InspectorPageAgent.cpp:
48560        (WebCore::InspectorPageAgent::reloadPage):
48561        * inspector/InspectorPageAgent.h:
48562        * inspector/InspectorResourceAgent.cpp:
48563        (WebCore::InspectorResourceAgent::getResourceContent):
48564        * inspector/InspectorResourceAgent.h:
48565        * inspector/InspectorRuntimeAgent.cpp:
48566        (WebCore::InspectorRuntimeAgent::evaluate):
48567        * inspector/InspectorRuntimeAgent.h:
48568        * inspector/generate-inspector-idl:
48569
485702011-04-04  Yury Semikhatsky  <yurys@chromium.org>
48571
48572        Reviewed by Pavel Feldman.
48573
48574        Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
48575        https://bugs.webkit.org/show_bug.cgi?id=57637
48576
48577        * bindings/js/JSInjectedScriptManager.cpp:
48578        (WebCore::InjectedScriptManager::injectedScriptFor):
48579        * bindings/v8/custom/V8InjectedScriptManager.cpp:
48580        (WebCore::InjectedScriptManager::injectedScriptFor):
48581        * inspector/InjectedScript.cpp:
48582        (WebCore::InjectedScript::InjectedScript):
48583        (WebCore::InjectedScript::canAccessInspectedWindow):
48584        * inspector/InjectedScript.h:
48585        * inspector/InjectedScriptManager.cpp:
48586        (WebCore::InjectedScriptManager::createForPage):
48587        (WebCore::InjectedScriptManager::createForWorker):
48588        (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
48589        and it depends on which type of context we're inspecting(worker or page).
48590        (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
48591        * inspector/InjectedScriptManager.h:
48592        * inspector/InspectorController.cpp:
48593        (WebCore::InspectorController::InspectorController):
48594
485952011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
48596
48597        Reviewed by Eric Seidel.
48598
48599        V8StringCallback.cpp requires V8Binding.h
48600        https://bugs.webkit.org/show_bug.cgi?id=57699
48601
48602        No new tests required because of just adding header file.
48603
48604        * bindings/scripts/CodeGeneratorV8.pm:
48605
486062011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
48607
48608        Reviewed by Eric Seidel.
48609
48610        [CMAKE] Clean duplicated files in WebCore_Sources
48611        https://bugs.webkit.org/show_bug.cgi?id=57741
48612
48613        No new tests, Only duplicated files were removed.
48614
48615        * CMakeLists.txt:
48616
486172011-04-03  Luke Macpherson   <macpherson@chromium.org>
48618
48619        Reviewed by Darin Adler.
48620
48621        Fix 2-space indentation introduced in bug 54706.
48622        https://bugs.webkit.org/show_bug.cgi?id=57740
48623
48624        No new tests - whitespace changes only.
48625
48626        * css/CSSStyleSelector.cpp:
48627        (WebCore::CSSStyleSelector::applyProperty):
48628        Convert 2-space indentation to 4-space indentation.
48629
486302011-04-03  Luke Macpherson   <macpherson@chromium.org>
48631
48632        Reviewed by Dimitri Glazkov.
48633
48634        Make CSSStyleApplyProperty non-copyable
48635        https://bugs.webkit.org/show_bug.cgi?id=57738
48636
48637        No new functionality added so no new tests required.
48638
48639        * css/CSSStyleApplyProperty.h:
48640        Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
48641
486422011-04-03  Dan Bernstein  <mitz@apple.com>
48643
48644        Reviewed by Maciej Stachowiak.
48645
48646        fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
48647        https://bugs.webkit.org/show_bug.cgi?id=57733
48648
48649        The crash happens because resetting the page scale as part of preparing the WebView for the
48650        next test triggered layout, which in turn caused a plug-in to make a resource request, and
48651        DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
48652        tests, and it references the layout test controller, which is null.
48653
48654        * page/Frame.cpp:
48655        (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
48656        is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
48657        DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
48658        I think there are currently no such tests, so I am not fixing DumpRenderTree.
48659
486602011-04-03  Eric Seidel  <eric@webkit.org>
48661
48662        Reviewed by Ryosuke Niwa.
48663
48664        Teach InlineIterator how to work from any root, not just a RenderBlock
48665        https://bugs.webkit.org/show_bug.cgi?id=57726
48666
48667        For implementing bidi-unicode: isolate, we need to be able to run the
48668        bidi algorithm over a subtree of inlines, not just from a block root.
48669        This is the first step in making this possible.
48670
48671        * rendering/InlineIterator.h:
48672        (WebCore::InlineIterator::InlineIterator):
48673        (WebCore::InlineIterator::root):
48674        (WebCore::bidiNext):
48675        (WebCore::bidiFirst):
48676        (WebCore::InlineIterator::increment):
48677        (WebCore::InlineBidiResolver::appendRun):
48678        * rendering/RenderBlockLineLayout.cpp:
48679        (WebCore::RenderBlock::findNextLineBreak):
48680
486812011-04-03  Eric Seidel  <eric@webkit.org>
48682
48683        Reviewed by Dan Bernstein.
48684
48685        Split out handling of trailing spaces from layoutInlineChildren
48686        https://bugs.webkit.org/show_bug.cgi?id=57432
48687
48688        There is much more we could split out from this function, but this is a start.
48689
48690        I suspect this is very hot code.  Hopefully the compiler will do the right thing.
48691        If it doesn't the Chromium PLT bots will tell us.
48692
48693        * rendering/RenderBlock.h:
48694        * rendering/RenderBlockLineLayout.cpp:
48695        (WebCore::RenderBlock::handleTrailingSpaces):
48696        (WebCore::RenderBlock::layoutInlineChildren):
48697
486982011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
48699
48700        Reviewed by Eric Seidel.
48701
48702        editing commands shouldn't run when there's no body
48703        https://bugs.webkit.org/show_bug.cgi?id=56771
48704
48705        The bug was caused by WebKit's not checking the existence of root editable element
48706        in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
48707        we should not run editing commands in a document without a body element editable because
48708        doing so results in appending a non-body element to the document node.
48709
48710        Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
48711        New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
48712        when there are no body element. Since StyleWithCSS is a document's state or property, we allow
48713        execCommand('StyleWithCSS') even in a document without a body element.
48714
48715        WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
48716        Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
48717        the selection when document.write("x") is ran and successfully inserts image.
48718
48719        Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
48720        while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
48721
48722        Since Internet Explorer does not allow execCommand to run under design mode properly, we could
48723        not test its behavior.
48724
48725        Tests: editing/editability/empty-document-delete.html
48726               editing/editability/empty-document-justify-right.html
48727               editing/editability/empty-document-stylewithcss.html
48728               editing/execCommand/insert-image-with-selecting-document.html
48729
48730        * editing/Editor.cpp:
48731        (WebCore::Editor::canEdit): Verify that the root editable element exists
48732        instead of just checking that selection endpoints are editable because
48733        selection endpoints could be document node without a body element in design mode
48734        and we don't want to consider such a document editable.
48735        (WebCore::Editor::canDelete): Ditto.
48736        * editing/EditorCommand.cpp:
48737        (WebCore::enabledInEditableText): Ditto.
48738        (WebCore::enabledInRichlyEditableText): Ditto.
48739        (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
48740        of duplicating the code in order to fix the same bug.
48741
487422011-04-02  Dan Bernstein  <mitz@apple.com>
48743
48744        Reviewed by Maciej Stachowiak.
48745
48746        REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
48747        https://bugs.webkit.org/show_bug.cgi?id=57719
48748
48749        r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
48750        that the timeline container is the parent of the time display. This is not true
48751        with the GTK media style, where the current time display is an inline box, and
48752        thus wrapped in an anonymous flexible box. The code was incorrectly considering
48753        the width of the anonymous box and deciding to hide the time display. Prior to
48754        r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
48755
48756        * rendering/MediaControlElements.cpp:
48757        (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
48758
487592011-04-02  Nico Weber  <thakis@chromium.org>
48760
48761        Reviewed by Adam Barth.
48762
48763        Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
48764
48765        By default, ICU includes |using namespace icu;| in its header files
48766        for backwards compatibility. Clients can define
48767        U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
48768        classes with |icu::| makes this file compile no matter what
48769        U_USING_ICU_NAMESPACE is set to.
48770
48771        https://bugs.webkit.org/show_bug.cgi?id=57715
48772
48773        * platform/text/LocalizedNumberICU.cpp:
48774        (WebCore::createFormatterForCurrentLocale):
48775        (WebCore::numberFormatter):
48776        (WebCore::parseLocalizedNumber):
48777        (WebCore::formatLocalizedNumber):
48778
487792011-04-02  Dan Bernstein  <mitz@apple.com>
48780
48781        Reviewed by Dave Hyatt.
48782
48783        Remove an unnecessary extra computeLogicalWidth() from line layout
48784        https://bugs.webkit.org/show_bug.cgi?id=57711
48785
48786        Changes in behavior (MathML progression) covered by existing layout tests.
48787
48788        * rendering/RenderBlockLineLayout.cpp:
48789        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
48790        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
48791        actually prevents MathML rows from reverting to an incorrect width.
48792
487932011-04-02  Dan Bernstein  <mitz@apple.com>
48794
48795        Reviewed by Beth Dakin.
48796
48797        <details> marker loses its margin
48798        https://bugs.webkit.org/show_bug.cgi?id=57713
48799
48800        * rendering/RenderDetails.cpp:
48801        (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
48802        the marker location.
48803        * rendering/RenderDetails.h:
48804        (WebCore::RenderDetails::renderName): Made private.
48805        (WebCore::RenderDetails::isDetails): Ditto.
48806        * rendering/RenderDetailsMarker.cpp:
48807        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
48808        in the style, like RenderListMarker does.
48809        (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
48810
488112011-04-02  Andy Estes  <aestes@apple.com>
48812
48813        Reviewed by Oliver Hunt.
48814
48815        REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
48816        https://bugs.webkit.org/show_bug.cgi?id=52518
48817
48818        Test: fast/images/imagemap-focus-ring-zero-outline-width.html
48819
48820        * rendering/RenderImage.cpp:
48821        (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
48822
488232011-04-02  Beth Dakin  <bdakin@apple.com>
48824
48825        Reviewed by Sam Weinig.
48826
48827        https://bugs.webkit.org/show_bug.cgi?id=57605
48828        Frame::pageScaleFactor() should not affect getBoundingClientRect() or 
48829        getClientRects()
48830        -and corresponding-
48831        <rdar://problem/9194541>
48832
48833        New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
48834        * dom/Element.cpp:
48835        (WebCore::Element::getClientRects):
48836        (WebCore::Element::getBoundingClientRect):
48837        * dom/Range.cpp:
48838        (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
48839        (WebCore::Range::getBorderAndTextQuads):
48840        * rendering/RenderObject.h:
48841        (WebCore::adjustFloatPointForPageScale):
48842        (WebCore::adjustFloatQuadForPageScale):
48843        (WebCore::adjustFloatRectForPageScale):
48844
488452011-04-02  Dan Bernstein  <mitz@apple.com>
48846
48847        Reverted r82775 due to changes in <details> test results, which are
48848        likely progressions.
48849
48850        * rendering/RenderBlockLineLayout.cpp:
48851        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
48852
488532011-04-02  Dan Bernstein  <mitz@apple.com>
48854
48855        Reviewed by Dave Hyatt.
48856
48857        Remove an unnecessary extra computeLogicalWidth() from line layout
48858        https://bugs.webkit.org/show_bug.cgi?id=57711
48859
48860        Changes in behavior (MathML progression) covered by existing layout tests.
48861
48862        * rendering/RenderBlockLineLayout.cpp:
48863        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
48864        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
48865        actually prevents MathML rows from reverting to an incorrect width.
48866
488672011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
48868
48869        Reviewed by Martin Robinson.
48870
48871        [GTK] Fix leaked pointer in FontGtk.cpp
48872        https://bugs.webkit.org/show_bug.cgi?id=57307
48873
48874        Fix a memory leak.
48875
48876        No new functionality, so no new tests.
48877
48878        * platform/graphics/gtk/FontGtk.cpp:
48879        (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
48880        (WebCore::convertUniCharToUTF8):
48881
488822011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
48883
48884        Reviewed by Pavel Feldman.
48885
48886        Web Inspector: we should be able to have in and out arguments of a command with same name.
48887        https://bugs.webkit.org/show_bug.cgi?id=57701
48888
48889        * inspector/CodeGeneratorInspector.pm:
48890        * inspector/Inspector.json:
48891
488922011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
48893
48894        Not reviewed trivial change.
48895
48896        Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
48897        Followup change for r82281.
48898        https://bugs.webkit.org/show_bug.cgi?id=57327
48899
48900        * inspector/InspectorPageAgent.cpp:
48901        * inspector/InspectorPageAgent.h:
48902
489032011-04-01  Michael Saboff  <msaboff@apple.com>
48904
48905        Reviewed by Darin Adler.
48906
48907        Cached Resource Overhead Space Usage and Accounting Inaccurate
48908        https://bugs.webkit.org/show_bug.cgi?id=57488
48909
48910        Fixed windows test failures.
48911        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
48912        Modified ResourceResponse::platformLazyInit() to handle "base" level
48913        attributes or all attributes.  The base attributes, like URL, status
48914        code, mime type and a few header fields (mostly cache related) are
48915        suitable for most resources.  This reduces the per resource memory
48916        needs by over 1K bytes per resource thus saving memory in the cache.
48917        Collectively, these two changes bring the overhead memory calculation
48918        in line with reality.
48919
48920        No new tests added due to existing tests cover areas of change and
48921        there is no functional change.  The change is limited to reducing 
48922        memory usage along existing paths.
48923
48924        * loader/cache/CachedResource.cpp:
48925        (WebCore::CachedResource::canUseCacheValidator):
48926        * platform/network/ResourceResponseBase.cpp:
48927        (WebCore::ResourceResponseBase::adopt):
48928        (WebCore::ResourceResponseBase::isHTTP):
48929        (WebCore::ResourceResponseBase::url):
48930        (WebCore::ResourceResponseBase::setURL):
48931        (WebCore::ResourceResponseBase::mimeType):
48932        (WebCore::ResourceResponseBase::setMimeType):
48933        (WebCore::ResourceResponseBase::expectedContentLength):
48934        (WebCore::ResourceResponseBase::setExpectedContentLength):
48935        (WebCore::ResourceResponseBase::textEncodingName):
48936        (WebCore::ResourceResponseBase::setTextEncodingName):
48937        (WebCore::ResourceResponseBase::suggestedFilename):
48938        (WebCore::ResourceResponseBase::setSuggestedFilename):
48939        (WebCore::ResourceResponseBase::httpStatusCode):
48940        (WebCore::ResourceResponseBase::setHTTPStatusCode):
48941        (WebCore::ResourceResponseBase::httpStatusText):
48942        (WebCore::ResourceResponseBase::setHTTPStatusText):
48943        (WebCore::ResourceResponseBase::httpHeaderField):
48944        (WebCore::ResourceResponseBase::setHTTPHeaderField):
48945        (WebCore::ResourceResponseBase::httpHeaderFields):
48946        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
48947        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
48948        (WebCore::ResourceResponseBase::date):
48949        (WebCore::ResourceResponseBase::age):
48950        (WebCore::ResourceResponseBase::expires):
48951        (WebCore::ResourceResponseBase::lastModified):
48952        (WebCore::ResourceResponseBase::isAttachment):
48953        (WebCore::ResourceResponseBase::setLastModifiedDate):
48954        (WebCore::ResourceResponseBase::lastModifiedDate):
48955        (WebCore::ResourceResponseBase::wasCached):
48956        (WebCore::ResourceResponseBase::connectionReused):
48957        (WebCore::ResourceResponseBase::setConnectionReused):
48958        (WebCore::ResourceResponseBase::connectionID):
48959        (WebCore::ResourceResponseBase::setConnectionID):
48960        (WebCore::ResourceResponseBase::resourceLoadTiming):
48961        (WebCore::ResourceResponseBase::setResourceLoadTiming):
48962        (WebCore::ResourceResponseBase::resourceLoadInfo):
48963        (WebCore::ResourceResponseBase::setResourceLoadInfo):
48964        (WebCore::ResourceResponseBase::lazyInit):
48965        * platform/network/ResourceResponseBase.h:
48966        (WebCore::ResourceResponseBase::platformLazyInit):
48967        * platform/network/cf/ResourceResponse.h:
48968        (WebCore::ResourceResponse::ResourceResponse):
48969        (WebCore::ResourceResponse::memoryUsage):
48970        * platform/network/cf/ResourceResponseCFNet.cpp:
48971        (WebCore::ResourceResponse::platformLazyInit):
48972        * platform/network/mac/ResourceResponseMac.mm:
48973        (WebCore::ResourceResponse::platformLazyInit):
48974
489752011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
48976
48977        Reviewed by Adam Barth.
48978
48979        https://bugs.webkit.org/show_bug.cgi?id=45855
48980        Windowless plugins added dynamically to the DOM should receive paint events.
48981        This is done by ensuring that the plugin widget is marked for painting when
48982        it is added.
48983
48984        Test: plugins/windowless_plugin_paint_test.html
48985
48986        * rendering/RenderWidget.cpp:
48987        (WebCore::RenderWidget::setWidget):
48988
489892011-04-01  Mike Reed  <reed@google.com>
48990
48991        Reviewed by James Robinson.
48992
48993        always use native font rendering on skia_gpu
48994        fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
48995        https://bugs.webkit.org/show_bug.cgi?id=57663
48996
48997        No new tests. existing rendering tests will exercise this
48998
48999        * platform/graphics/skia/PlatformContextSkia.cpp:
49000        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
49001
490022011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
49003
49004        Unreviewed, rolling out r82712, r82729, and r82746.
49005        http://trac.webkit.org/changeset/82712
49006        http://trac.webkit.org/changeset/82729
49007        http://trac.webkit.org/changeset/82746
49008        https://bugs.webkit.org/show_bug.cgi?id=57682
49009
49010        fast/frames/frame-programmatic-noresize.html is failing on
49011        Windows bots. Will look into this offline. (Requested by dydx
49012        on #webkit).
49013
49014        * html/HTMLFrameElement.cpp:
49015        (WebCore::HTMLFrameElement::HTMLFrameElement):
49016        (WebCore::HTMLFrameElement::attach):
49017        (WebCore::HTMLFrameElement::parseMappedAttribute):
49018        * html/HTMLFrameElement.h:
49019        (WebCore::HTMLFrameElement::noResize):
49020        * rendering/RenderFrame.cpp:
49021        * rendering/RenderFrame.h:
49022        * rendering/RenderFrameSet.cpp:
49023        * rendering/RenderFrameSet.h:
49024
490252011-04-01  Adam Barth  <abarth@webkit.org>
49026
49027        Reviewed by Tony Chang.
49028
49029        Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
49030        https://bugs.webkit.org/show_bug.cgi?id=57656
49031
49032        We should initialize memory when constructing objects.
49033
49034        * platform/text/StringWithDirection.h:
49035        (WebCore::StringWithDirection::StringWithDirection):
49036
490372011-04-01  Jer Noble  <jer.noble@apple.com>
49038
49039        Reviewed by Darin Adler.
49040
49041        WebKit2: Link from PDF opens in a new tab instead of in the same tab
49042        https://bugs.webkit.org/show_bug.cgi?id=57528
49043
49044        * WebCore.exp.in: Export MouseEvent::create().
49045
490462011-04-01  John Bauman  <jbauman@chromium.org>
49047
49048        Reviewed by Kenneth Russell.
49049
49050        Avoid decoding images twice in texImage2D
49051        https://bugs.webkit.org/show_bug.cgi?id=51498
49052
49053        Make sure to redecode the image only if it's not opaque and texImage2D
49054        wouldn't premultiply it anyway.
49055
49056        * platform/graphics/BitmapImage.h:
49057        * platform/graphics/cg/GraphicsContext3DCG.cpp:
49058        (WebCore::GraphicsContext3D::getImageData):
49059        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
49060        (WebCore::GraphicsContext3D::getImageData):
49061
490622011-04-01  Alexey Proskuryakov  <ap@apple.com>
49063
49064        32-bit Mac build fix.
49065
49066        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
49067        to avoid ambiguity.
49068
490692011-04-01  Alexey Proskuryakov  <ap@apple.com>
49070
49071        Reviewed by Darin Adler.
49072
49073        Make WebKit2 text input handling more like WebKit1
49074        https://bugs.webkit.org/show_bug.cgi?id=57649
49075
49076        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
49077        we used to have. It is dangerous to confuse editor commands and selector names - besides the
49078        presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
49079
490802011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
49081
49082        Unreviewed, rolling out r82711.
49083        http://trac.webkit.org/changeset/82711
49084        https://bugs.webkit.org/show_bug.cgi?id=57657
49085
49086        Made every test crash on XP and Win7 (Requested by
49087        abarth|gardening on #webkit).
49088
49089        * loader/cache/CachedResource.cpp:
49090        (WebCore::CachedResource::canUseCacheValidator):
49091        * platform/network/ResourceResponseBase.cpp:
49092        (WebCore::ResourceResponseBase::adopt):
49093        (WebCore::ResourceResponseBase::isHTTP):
49094        (WebCore::ResourceResponseBase::url):
49095        (WebCore::ResourceResponseBase::setURL):
49096        (WebCore::ResourceResponseBase::mimeType):
49097        (WebCore::ResourceResponseBase::setMimeType):
49098        (WebCore::ResourceResponseBase::expectedContentLength):
49099        (WebCore::ResourceResponseBase::setExpectedContentLength):
49100        (WebCore::ResourceResponseBase::textEncodingName):
49101        (WebCore::ResourceResponseBase::setTextEncodingName):
49102        (WebCore::ResourceResponseBase::suggestedFilename):
49103        (WebCore::ResourceResponseBase::setSuggestedFilename):
49104        (WebCore::ResourceResponseBase::httpStatusCode):
49105        (WebCore::ResourceResponseBase::setHTTPStatusCode):
49106        (WebCore::ResourceResponseBase::httpStatusText):
49107        (WebCore::ResourceResponseBase::setHTTPStatusText):
49108        (WebCore::ResourceResponseBase::httpHeaderField):
49109        (WebCore::ResourceResponseBase::setHTTPHeaderField):
49110        (WebCore::ResourceResponseBase::httpHeaderFields):
49111        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
49112        (WebCore::ResourceResponseBase::date):
49113        (WebCore::ResourceResponseBase::age):
49114        (WebCore::ResourceResponseBase::expires):
49115        (WebCore::ResourceResponseBase::lastModified):
49116        (WebCore::ResourceResponseBase::isAttachment):
49117        (WebCore::ResourceResponseBase::setLastModifiedDate):
49118        (WebCore::ResourceResponseBase::lastModifiedDate):
49119        (WebCore::ResourceResponseBase::wasCached):
49120        (WebCore::ResourceResponseBase::connectionReused):
49121        (WebCore::ResourceResponseBase::setConnectionReused):
49122        (WebCore::ResourceResponseBase::connectionID):
49123        (WebCore::ResourceResponseBase::setConnectionID):
49124        (WebCore::ResourceResponseBase::resourceLoadTiming):
49125        (WebCore::ResourceResponseBase::setResourceLoadTiming):
49126        (WebCore::ResourceResponseBase::resourceLoadInfo):
49127        (WebCore::ResourceResponseBase::setResourceLoadInfo):
49128        (WebCore::ResourceResponseBase::lazyInit):
49129        * platform/network/ResourceResponseBase.h:
49130        (WebCore::ResourceResponseBase::platformLazyInit):
49131        * platform/network/cf/ResourceResponse.h:
49132        (WebCore::ResourceResponse::ResourceResponse):
49133        (WebCore::ResourceResponse::memoryUsage):
49134        * platform/network/cf/ResourceResponseCFNet.cpp:
49135        (WebCore::ResourceResponse::platformLazyInit):
49136        * platform/network/mac/ResourceResponseMac.mm:
49137        (WebCore::ResourceResponse::platformLazyInit):
49138
491392011-04-01  Matthew Delaney  <mdelaney@apple.com>
49140
49141        Reviewed by Simon Fraser.
49142
49143        Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
49144        https://bugs.webkit.org/show_bug.cgi?id=57651
49145
49146        No new tests. This patch does not affect outward behavior.
49147
49148        * html/canvas/CanvasRenderingContext2D.cpp:
49149        (WebCore::CanvasRenderingContext2D::isAccelerated):
49150        * platform/graphics/ImageBuffer.h:
49151        (WebCore::ImageBuffer::isAccelerated):
49152
491532011-04-01  Daniel Bates  <dbates@rim.com>
49154
49155        Reviewed by Darin Adler.
49156
49157        Frame's noResize attribute can not be set by JavaScript
49158        https://bugs.webkit.org/show_bug.cgi?id=14845
49159
49160        Tests: fast/frames/frame-inherit-noresize-from-frameset.html
49161               fast/frames/frame-programmatic-noresize.html
49162               fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
49163               fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
49164
49165        Implements support to programmatically allow and disallow frame resizing.
49166
49167        Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
49168        m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
49169        point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
49170        frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
49171        attribute.
49172
49173        * html/HTMLFrameElement.cpp:
49174        (WebCore::HTMLFrameElement::HTMLFrameElement):
49175        (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
49176        code path isn't performance critical.
49177        (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
49178        parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
49179        (WebCore::HTMLFrameElement::parseMappedAttribute):
49180        * html/HTMLFrameElement.h:
49181        * rendering/RenderFrame.cpp:
49182        (WebCore::RenderFrame::updateFromElement): Added.
49183        * rendering/RenderFrame.h:
49184        * rendering/RenderFrameSet.cpp:
49185        (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
49186        * rendering/RenderFrameSet.h:
49187
491882011-04-01  Michael Saboff  <msaboff@apple.com>
49189
49190        Reviewed by Darin Adler.
49191
49192        Cached Resource Overhead Space Usage and Accounting Inaccurate
49193        https://bugs.webkit.org/show_bug.cgi?id=57488
49194
49195        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
49196        Modified ResourceResponse::platformLazyInit() to handle "base" level
49197        attributes or all attributes.  The base attributes, like URL, status
49198        code, mime type and a few header fields (mostly cache related) are
49199        suitable for most resources.  This reduces the per resource memory
49200        needs by over 1K bytes per resource thus saving memory in the cache.
49201        Collectively, these two changes bring the overhead memory calculation
49202        in line with reality.
49203
49204        No new tests added due to existing tests cover areas of change and
49205        there is no functional change.  The change is limited to reducing 
49206        memory usage along existing paths.
49207
49208        * loader/cache/CachedResource.cpp:
49209        (WebCore::CachedResource::canUseCacheValidator):
49210        * platform/network/ResourceResponseBase.cpp:
49211        (WebCore::ResourceResponseBase::isHTTP):
49212        (WebCore::ResourceResponseBase::url):
49213        (WebCore::ResourceResponseBase::setURL):
49214        (WebCore::ResourceResponseBase::mimeType):
49215        (WebCore::ResourceResponseBase::setMimeType):
49216        (WebCore::ResourceResponseBase::expectedContentLength):
49217        (WebCore::ResourceResponseBase::setExpectedContentLength):
49218        (WebCore::ResourceResponseBase::textEncodingName):
49219        (WebCore::ResourceResponseBase::setTextEncodingName):
49220        (WebCore::ResourceResponseBase::suggestedFilename):
49221        (WebCore::ResourceResponseBase::setSuggestedFilename):
49222        (WebCore::ResourceResponseBase::httpStatusCode):
49223        (WebCore::ResourceResponseBase::setHTTPStatusCode):
49224        (WebCore::ResourceResponseBase::httpHeaderField):
49225        (WebCore::ResourceResponseBase::setHTTPHeaderField):
49226        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
49227        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
49228        (WebCore::ResourceResponseBase::date):
49229        (WebCore::ResourceResponseBase::age):
49230        (WebCore::ResourceResponseBase::expires):
49231        (WebCore::ResourceResponseBase::lastModified):
49232        (WebCore::ResourceResponseBase::lazyInit):
49233        * platform/network/ResourceResponseBase.h:
49234        (WebCore::ResourceResponseBase::platformLazyInit):
49235        * platform/network/cf/ResourceResponse.h:
49236        (WebCore::ResourceResponse::ResourceResponse):
49237        (WebCore::ResourceResponse::memoryUsage):
49238        * platform/network/cf/ResourceResponseCFNet.cpp:
49239        * platform/network/mac/ResourceResponseMac.mm:
49240        (WebCore::ResourceResponse::platformLazyInit):
49241
492422011-04-01  Timothy Hatcher  <timothy@apple.com>
49243
49244        Make momentum scroll event latching work in WebKit2 on Mac.
49245
49246        <rdar://problem/8751861>
49247
49248        Reviewed by Darin Adler.
49249
49250        * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
49251        * page/EventHandler.cpp:
49252        (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
49253        event's momentumPhase.
49254        * page/mac/EventHandlerMac.mm:
49255        (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
49256        It is now done in EventHandler::handleWheelEvent.
49257        * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
49258        * platform/mac/WebCoreSystemInterface.mm: Ditto.
49259        * platform/mac/WheelEventMac.mm:
49260        (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
49261
492622011-04-01  Steve Block  <steveblock@google.com>
49263
49264        Reviewed by Jeremy Orlow.
49265
49266        JavaClass should be an interface and free of JNI types
49267        https://bugs.webkit.org/show_bug.cgi?id=57533
49268
49269        This patch fixes JavaClass for V8 only.
49270
49271        It factors out a JavaClass interface which does not use JNI types.
49272        This will allow the Java bridge to be used with objects that
49273        don't use JNI directly. The existing jobject-backed
49274        implementation is moved to a new JavaClassJobject class which
49275        implements the interface.
49276
49277        No new tests, refactoring only.
49278
49279        * Android.v8bindings.mk:
49280        * WebCore.gypi:
49281        * bridge/jni/v8/JavaClassJobjectV8.cpp:
49282        (JavaClassJobject::JavaClassJobject):
49283        (JavaClassJobject::~JavaClassJobject):
49284        (JavaClassJobject::methodsNamed):
49285        (JavaClassJobject::fieldNamed):
49286        * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
49287        * bridge/jni/v8/JavaClassV8.h:
49288        (JSC::Bindings::JavaClass::~JavaClass):
49289        * bridge/jni/v8/JavaInstanceV8.cpp:
49290        (JavaInstance::getClass):
49291
492922011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
49293
49294        Unreviewed build fix.
49295
49296        Fix build break when font backend is Pango.
49297        Pango is missed in changeset 80589.
49298
49299        https://bugs.webkit.org/show_bug.cgi?id=57609
49300
49301        * platform/graphics/pango/FontPlatformData.h:
49302        (WebCore::FontPlatformData::setOrientation):
49303
493042011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
49305
49306        Unreviewed, rolling out r82687.
49307        http://trac.webkit.org/changeset/82687
49308        https://bugs.webkit.org/show_bug.cgi?id=57643
49309
49310        This patch broke accessibility aria-treegrid test in Mac
49311        (Requested by msanchez on #webkit).
49312
49313        * accessibility/AccessibilityARIAGrid.cpp:
49314        * accessibility/AccessibilityARIAGrid.h:
49315        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
49316        (atkRole):
49317        * accessibility/mac/AccessibilityObjectWrapper.mm:
49318
493192011-03-31  Abhishek Arya  <inferno@chromium.org>
49320
49321        Reviewed by Andreas Kling.
49322
49323        Whenever a relayout is trigger for SVGPath, make sure
49324        to clear its previous marker layout info. This helps
49325        to prevent removed markers from being used.
49326        https://bugs.webkit.org/show_bug.cgi?id=57492
49327
49328        Test: svg/dom/path-marker-removed-crash.svg
49329
49330        * rendering/svg/RenderSVGPath.cpp:
49331        (WebCore::RenderSVGPath::layout):
49332        * rendering/svg/SVGMarkerLayoutInfo.cpp:
49333        (WebCore::SVGMarkerLayoutInfo::clear):
49334        * rendering/svg/SVGMarkerLayoutInfo.h:
49335
493362011-04-01  Rob Buis  <rwlbuis@gmail.com>
49337
49338        Reviewed by Nikolas Zimmermann.
49339
49340        https://bugs.webkit.org/show_bug.cgi?id=55750
49341        SVG <image> referenced by <use> is displayed incorrectly
49342
49343        Reintroduce old behaviour for valid base URI, for invalid
49344        keep using document base URI.
49345        Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
49346
49347        Test: svg/custom/image-base-uri.svg
49348
49349        * svg/SVGImageLoader.cpp:
49350        (WebCore::SVGImageLoader::sourceURI):
49351
493522011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
49353
49354        Reviewed by Chris Fleizach.
49355
49356        ARIA Grid tables should return GridRole in roleValue() method
49357        https://bugs.webkit.org/show_bug.cgi?id=57614
49358
49359        This change does not need any test since it doesn't change anything
49360        from the point of view of the consumers (Assistive Technoglogies).
49361        It's just an internal change to simplify identifying HTML and ARIA
49362        tables by calling to the AccessibilityObject::roleValue method.
49363
49364        * accessibility/AccessibilityARIAGrid.h:
49365        * accessibility/AccessibilityARIAGrid.cpp:
49366        (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
49367
49368        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
49369        (atkRole): Removed unneeded comment.
49370
49371        * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
49372        NSAccessibilityTableRole, to keep the same behaviour.
49373
493742011-04-01  MORITA Hajime  <morrita@google.com>
49375
49376        Reviewed by Dimitri Glazkov.
49377
49378        <meter> can only support horizontal indicator
49379        https://bugs.webkit.org/show_bug.cgi?id=56001
49380
49381        - Removed code which deals with the direction and
49382          left the horizontal path.
49383        - Removed "horizontal" from related names which is now
49384          redundant.
49385        
49386        * css/CSSSelector.cpp:
49387        (WebCore::CSSSelector::pseudoId):
49388        (WebCore::nameToPseudoTypeMap):
49389        (WebCore::CSSSelector::extractPseudoType):
49390        * css/CSSSelector.h:
49391        * css/html.css:
49392        (meter::-webkit-meter-bar):
49393        (meter::-webkit-meter-optimum-value):
49394        (meter::-webkit-meter-suboptimal-value):
49395        (meter::-webkit-meter-even-less-good-value):
49396        * rendering/RenderMeter.cpp:
49397        (WebCore::RenderMeter::~RenderMeter):
49398        (WebCore::RenderMeter::createPart):
49399        (WebCore::RenderMeter::updateFromElement):
49400        (WebCore::RenderMeter::layoutParts):
49401        (WebCore::RenderMeter::styleDidChange):
49402        (WebCore::RenderMeter::shouldHaveParts):
49403        (WebCore::RenderMeter::valuePartRect):
49404        (WebCore::RenderMeter::valuePseudoId):
49405        (WebCore::RenderMeter::barPseudoId):
49406        (WebCore::RenderMeter::detachShadows):
49407        (WebCore::RenderMeter::updateShadows):
49408        * rendering/RenderMeter.h:
49409        (WebCore::RenderMeter::shadowAttached):
49410        * rendering/RenderTheme.cpp:
49411        (WebCore::RenderTheme::supportsMeter):
49412        * rendering/RenderTheme.h:
49413        * rendering/RenderThemeMac.h:
49414        * rendering/RenderThemeMac.mm:
49415        (WebCore::RenderThemeMac::paintMeter):
49416        (WebCore::RenderThemeMac::supportsMeter):
49417        * rendering/style/RenderStyleConstants.h:
49418
494192011-03-23  Pavel Podivilov  <podivilov@chromium.org>
49420
49421        Reviewed by Pavel Feldman.
49422
49423        Web Inspector: fix reveal line in formatted script.
49424        https://bugs.webkit.org/show_bug.cgi?id=56941
49425
49426        * inspector/front-end/BreakpointsSidebarPane.js:
49427        (WebInspector.JavaScriptBreakpointsSidebarPane):
49428        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
49429        * inspector/front-end/DebuggerPresentationModel.js:
49430        (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
49431        * inspector/front-end/NetworkPanel.js:
49432        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
49433        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
49434        * inspector/front-end/Panel.js:
49435        (WebInspector.Panel.prototype.canShowAnchorLocation):
49436        (WebInspector.Panel.prototype.showAnchorLocation):
49437        * inspector/front-end/ResourcesPanel.js:
49438        (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
49439        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
49440        (WebInspector.ResourcesPanel.prototype.showResource):
49441        * inspector/front-end/ScriptsPanel.js:
49442        (WebInspector.ScriptsPanel):
49443        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
49444        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
49445        (WebInspector.ScriptsPanel.prototype._showSourceLine):
49446        * inspector/front-end/SourceFrame.js:
49447        (WebInspector.SourceFrame.prototype.highlightLine):
49448        (WebInspector.SourceFrame.prototype._createTextViewer):
49449        * inspector/front-end/inspector.js:
49450        (WebInspector.documentClick.followLink):
49451        (WebInspector.documentClick):
49452        (WebInspector._showAnchorLocation):
49453
494542011-04-01  Pavel Podivilov  <podivilov@chromium.org>
49455
49456        Reviewed by Yury Semikhatsky.
49457
49458        Web Inspector: make editScriptSource a Script's method.
49459        https://bugs.webkit.org/show_bug.cgi?id=57615
49460
49461        * inspector/front-end/DebuggerModel.js:
49462        (WebInspector.DebuggerModel.prototype.editScriptSource):
49463        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
49464        * inspector/front-end/Script.js:
49465        (WebInspector.Script.prototype.requestSource):
49466        (WebInspector.Script.prototype.editSource):
49467
494682011-04-01  Pavel Feldman  <pfeldman@google.com>
49469
49470        Reviewed by Yury Semikhatsky.
49471
49472        Web Inspector: event should have "data" attribute, not "body"
49473        https://bugs.webkit.org/show_bug.cgi?id=57628
49474
49475        * inspector/CodeGeneratorInspector.pm:
49476
494772011-04-01  Pavel Podivilov  <podivilov@chromium.org>
49478
49479        Reviewed by Yury Semikhatsky.
49480
49481        Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
49482        https://bugs.webkit.org/show_bug.cgi?id=57610
49483
49484        * inspector/front-end/BreakpointsSidebarPane.js:
49485        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
49486
494872011-04-01  Alexander Pavlov  <apavlov@chromium.org>
49488
49489        Reviewed by Yury Semikhatsky.
49490
49491        Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
49492        https://bugs.webkit.org/show_bug.cgi?id=40522
49493
49494        Drive-by: fix inc/dec for numbers like ".5"
49495
49496        Test: inspector/styles/up-down-numerics-and-colors.html
49497
49498        * inspector/front-end/StylesSidebarPane.js:
49499        (WebInspector.StylePropertyTreeElement.prototype):
49500
495012011-03-30  Pavel Podivilov  <podivilov@chromium.org>
49502
49503        Reviewed by Pavel Feldman.
49504
49505        Web Inspector: remove dead code from Script.js.
49506        https://bugs.webkit.org/show_bug.cgi?id=57454
49507
49508        * inspector/front-end/DebuggerModel.js:
49509        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
49510        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
49511        * inspector/front-end/Script.js:
49512        (WebInspector.Script):
49513        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
49514        (WebInspector.Script.prototype.requestSource):
49515
495162011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
49517
49518        Unreviewed, rolling out r82667.
49519        http://trac.webkit.org/changeset/82667
49520        https://bugs.webkit.org/show_bug.cgi?id=57612
49521
49522        Breaks Leopard layout tests (Requested by podivilov on
49523        #webkit).
49524
49525        * GNUmakefile.am:
49526        * inspector/front-end/DebuggerPresentationModel.js:
49527        (WebInspector.DebuggerPresentationModel):
49528        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
49529
495302011-03-30  Pavel Podivilov  <podivilov@chromium.org>
49531
49532        Reviewed by Pavel Feldman.
49533
49534        Web Inspector: remove unused SourceFrameContent class.
49535        https://bugs.webkit.org/show_bug.cgi?id=57453
49536
49537        * WebCore.gypi:
49538        * WebCore.vcproj/WebCore.vcproj:
49539        * inspector/front-end/ResourceView.js:
49540        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
49541        * inspector/front-end/ScriptsPanel.js:
49542        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
49543        * inspector/front-end/SourceFrame.js:
49544        (WebInspector.SourceFrame.prototype._createTextViewer):
49545        * inspector/front-end/SourceFrameContent.js: Removed.
49546        * inspector/front-end/WebKit.qrc:
49547        * inspector/front-end/inspector.html:
49548
495492011-03-30  Pavel Podivilov  <podivilov@chromium.org>
49550
49551        Reviewed by Pavel Feldman.
49552
49553        Web Inspector: add test for script formatter worker.
49554        https://bugs.webkit.org/show_bug.cgi?id=57447
49555
49556        Test: inspector/debugger/script-formatter.html
49557
49558        * GNUmakefile.am:
49559        * inspector/front-end/DebuggerPresentationModel.js:
49560        (WebInspector.DebuggerPresentationModel):
49561        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
49562
495632011-03-30  Pavel Podivilov  <podivilov@chromium.org>
49564
49565        Reviewed by Pavel Feldman.
49566
49567        Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
49568        https://bugs.webkit.org/show_bug.cgi?id=57446
49569
49570        * inspector/front-end/ScriptFormatterWorker.js:
49571
495722011-04-01  Pavel Podivilov  <podivilov@chromium.org>
49573
49574        Reviewed by Pavel Feldman.
49575
49576        Web Inspector: allow file access from inspector page so inspector can use workers.
49577        https://bugs.webkit.org/show_bug.cgi?id=57339
49578
49579        * inspector/InspectorFrontendClientLocal.cpp:
49580        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
49581
495822011-03-31  Yury Semikhatsky  <yurys@chromium.org>
49583
49584        Reviewed by Pavel Feldman.
49585
49586        Web Inspector: inspected page crashes on attempt to log object with broken .toString
49587        https://bugs.webkit.org/show_bug.cgi?id=57557
49588
49589        If ScriptValue.toString causes a JavaScript exception, the exception is cleared
49590        before returning from the toString method.
49591
49592        Test: inspector/console/console-log-toString-object.html
49593
49594        * bindings/js/ScriptValue.cpp:
49595        (WebCore::ScriptValue::toString):
49596        * bindings/js/ScriptValue.h:
49597        * bindings/v8/ScriptValue.cpp:
49598        (WebCore::ScriptValue::toString):
49599
496002011-03-31  Andrey Kosyakov  <caseq@chromium.org>
49601
49602        Reviewed by Pavel Feldman.
49603
49604        - removed documentWide parameter to querySelector[All]() (user document node id instead)
49605        - factor out document request logic within DOMAgent into separate method
49606        - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
49607        - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
49608        - minor style fixes in Inspector.json
49609        - more error logging
49610
49611        Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
49612        https://bugs.webkit.org/show_bug.cgi?id=57466
49613
49614        * inspector/Inspector.json:
49615        * inspector/InspectorDOMAgent.cpp:
49616        (WebCore::InspectorDOMAgent::querySelector):
49617        (WebCore::InspectorDOMAgent::querySelectorAll):
49618        * inspector/InspectorDOMAgent.h:
49619        * inspector/front-end/AuditRules.js:
49620        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
49621        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
49622        * inspector/front-end/CSSStyleModel.js:
49623        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
49624        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
49625        (WebInspector.CSSStyleModel.prototype.addRule.callback):
49626        (WebInspector.CSSStyleModel.prototype.addRule):
49627        * inspector/front-end/DOMAgent.js:
49628        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
49629        (WebInspector.DOMAgent.prototype.requestDocument):
49630        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
49631        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
49632        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
49633        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
49634        (WebInspector.DOMAgent.prototype.cancelSearch):
49635        (WebInspector.DOMAgent.prototype.querySelector):
49636        (WebInspector.DOMAgent.prototype.querySelectorAll):
49637
496382011-04-01  Kent Tamura  <tkent@chromium.org>
49639
49640        Apply sort-Xcode-project-file.
49641
49642        * WebCore.xcodeproj/project.pbxproj:
49643
496442011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
49645
49646        Unreviewed, rolling out r82652.
49647        http://trac.webkit.org/changeset/82652
49648        https://bugs.webkit.org/show_bug.cgi?id=57603
49649
49650        Test still fails (Requested by abarth|gardener on #webkit).
49651
49652        * rendering/RenderWidget.cpp:
49653        (WebCore::RenderWidget::setWidget):
49654
496552011-03-31  Naoki Takano  <takano.naoki@gmail.com>
49656
49657        Reviewed by Kent Tamura.
49658
49659        REGRESSION (r64712): Safari removes the first blank line in a textarea
49660        https://bugs.webkit.org/show_bug.cgi?id=56434
49661
49662        Test: fast/forms/textarea-newline.html
49663
49664        A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
49665        But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
49666        And devalutValue() removal is not needed anymore.
49667
49668        * html/HTMLTextAreaElement.cpp:
49669        (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
49670        (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
49671
496722011-03-31  Luke Macpherson   <macpherson@chromium.org>
49673
49674        Reviewed by Dimitri Glazkov.
49675
49676        Remove refcounting of CSSStyleApplyProperty singleton
49677        https://bugs.webkit.org/show_bug.cgi?id=57592
49678
49679        No new tests required as no functionality changes.
49680
49681        * css/CSSStyleApplyProperty.h:
49682
496832011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
49684
49685        Reviewed by Adam Barth.
49686
49687        https://bugs.webkit.org/show_bug.cgi?id=45855
49688        Windowless plugins added dynamically to the DOM should receive paint events.
49689        This is done by ensuring that the plugin widget is marked for painting when
49690        it is added.
49691
49692        Test: plugins/windowless_plugin_paint_test.html
49693
49694        * rendering/RenderWidget.cpp:
49695        (WebCore::RenderWidget::setWidget):
49696
496972011-03-31  Adam Roben  <aroben@apple.com>
49698
49699        Add a new AbstractCACFLayerTreeHost base class
49700
49701        This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
49702        CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
49703        LayerTreeHostCA will also derive from it (on Windows).
49704
49705        This should cause no change in behavior.
49706
49707        Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
49708        code is too high
49709
49710        Reviewed by Anders Carlsson.
49711
49712        * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
49713
49714        * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
49715
49716        * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
49717        AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
49718        AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
49719        PlatformCALayer.
49720
49721        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
49722        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
49723        (WebCore::LayerChangesFlusher::cancelPendingFlush):
49724        (WebCore::LayerChangesFlusher::hookFired):
49725        * platform/graphics/ca/win/LayerChangesFlusher.h:
49726        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
49727        (layerTreeHostForLayer):
49728        (PlatformCALayer::rootLayer):
49729        (PlatformCALayer::setNeedsCommit):
49730        (PlatformCALayer::addAnimationForKey):
49731        (PlatformCALayer::removeAnimationForKey):
49732        Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
49733
497342011-03-31  Andy Estes  <aestes@apple.com>
49735
49736        Reviewed by Alexey Proskuryakov.
49737
49738        REGRESSION: Java applet fails to load when <object> has a classid attribute.
49739        https://bugs.webkit.org/show_bug.cgi?id=52703
49740        
49741        Java applets embedded with the object element sometimes use classid to
49742        specify their main resource. When this is done, the classid is prefixed
49743        with "java:". Treat these as supported classids in WebKit.
49744
49745        Test: java/embedding-java-with-object.html
49746
49747        * html/HTMLObjectElement.cpp:
49748        (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
49749        Java Applet type and the classid starts with "java:", the classid
49750        should be considered valid.
49751
497522011-03-31  Brent Fulgham  <bfulgham@webkit.org>
49753
49754        Reviewed Adam Roben.
49755
49756        [WinCairo] Implement Missing drawWindowsBitmap method.
49757        https://bugs.webkit.org/show_bug.cgi?id=57409
49758
49759        * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
49760        * platform/graphics/GraphicsContext.h:
49761        (WebCore::GraphicsContext::WindowsBitmap::buffer):
49762        (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
49763        (WebCore::GraphicsContext::WindowsBitmap::size):
49764        (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
49765        (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
49766        (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
49767        * platform/graphics/win/GraphicsContextCGWin.cpp:
49768        (WebCore::CGContextWithHDC):
49769        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
49770        new common routines.
49771        * platform/graphics/win/GraphicsContextCairoWin.cpp:
49772        (WebCore::drawBitmapToContext): New common drawing implementation.
49773        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
49774        new common routines.
49775        (WebCore::GraphicsContext::drawWindowsBitmap):
49776        * platform/graphics/win/GraphicsContextWin.cpp:
49777        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
49778        to use new DIBPixelData data type.
49779        * platform/graphics/win/DIBPixelData.cpp: Added.
49780        (WebCore::DIBPixelData::DIBPixelData):
49781        (WebCore::DIBPixelData::initialize):
49782        * platform/graphics/win/DIBPixelData.h: Added.
49783        (WebCore::DIBPixelData::DIBPixelData):
49784        (WebCore::DIBPixelData::buffer):
49785        (WebCore::DIBPixelData::bufferLength):
49786        (WebCore::DIBPixelData::size):
49787        (WebCore::DIBPixelData::bytesPerRow):
49788        (WebCore::DIBPixelData::bitsPerPixel):
49789
497902011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
49791
49792        Unreviewed, rolling out r81849.
49793        http://trac.webkit.org/changeset/81849
49794        https://bugs.webkit.org/show_bug.cgi?id=57588
49795
49796        CSS Parsing broke with -webkit-calc and introduced crashes
49797        (Requested by inferno-sec on #webkit).
49798
49799        * css/CSSGrammar.y:
49800        * css/CSSParserValues.cpp:
49801        * css/CSSParserValues.h:
49802        * css/tokenizer.flex:
49803
498042011-03-31  Adam Roben  <aroben@apple.com>
49805
49806        Don't ref CACFLayerTreeHosts when telling them to flush layer changes
49807
49808        LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
49809        have protected us if calling out to one CACFLayerTreeHost could cause a different
49810        CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
49811        associated with its own page, and flushing layer changes doesn't touch any other page. So it
49812        isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
49813        changes.
49814
49815        One benefit of this change is that it will make it easier to make LayerChangesFlusher
49816        interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
49817
49818        This should cause no change in behavior.
49819
49820        Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
49821        before calling out to it
49822
49823        Reviewed by Darin Adler.
49824
49825        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
49826        (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
49827        CACFLayerTreeHosts.
49828
498292011-03-31  Antti Koivisto  <antti@apple.com>
49830
49831        Reviewed by Oliver Hunt.
49832
49833        https://bugs.webkit.org/show_bug.cgi?id=57574
49834        Preload scanner fails to pick up resources from document.write() output
49835
49836        - Scan script inserted source using a separate preload scanner.
49837        - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
49838
49839        Tests: fast/preloader/document-write-2.html
49840               fast/preloader/document-write.html
49841
49842        * html/parser/HTMLDocumentParser.cpp:
49843        (WebCore::HTMLDocumentParser::insert):
49844        (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
49845        * html/parser/HTMLDocumentParser.h:
49846        (WebCore::HTMLDocumentParser::hasPreloadScanner):
49847        * html/parser/HTMLScriptRunner.cpp:
49848        (WebCore::HTMLScriptRunner::execute):
49849        * html/parser/HTMLScriptRunnerHost.h:
49850
498512011-03-31  Tony Gentilcore  <tonyg@chromium.org>
49852
49853        Build fix: Add missing include
49854        https://bugs.webkit.org/show_bug.cgi?id=57587
49855
49856        * loader/cache/CachedResourceLoader.cpp:
49857
498582011-03-31  Tony Gentilcore  <tonyg@chromium.org>
49859
49860        Reviewed by Antti Koivisto.
49861
49862        PreloadScanner doesn&apos;t find image while executing script in head
49863        https://bugs.webkit.org/show_bug.cgi?id=45072
49864
49865        Previously, while parsing the head, no resources in the body would be
49866        preloaded. After this patch, we will preload scripts and styles in the
49867        body, although we continue to hold off on all images until the page is 
49868        first rendered.
49869
49870        To evaluate this change, I've recorded a sampling of 45 of alexa's top
49871        sites and replayed them under simulated bandwidth conditions, loading
49872        each 5-15 times until stddev is small enough.
49873
49874        Time to the load event improved at the overall average by 3%.
49875        Most sites are unchanged, but sites with certain blocking patterns had
49876        big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
49877        nytimes 7% (182ms).
49878
49879        Time to DOM content loaded event improved by 6% with some even bigger
49880        individual wins.
49881
49882        First paint time held steady.
49883
49884        Note that I originally wanted to allow preloading of images while in the
49885        head, but that regressed first paint time (even though it was better for
49886        overall load time).
49887
49888        Test: fast/preloader/scan-body-from-head.html
49889
49890        * loader/cache/CachedResourceLoader.cpp:
49891        (WebCore::CachedResourceLoader::preload):
49892
498932011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
49894
49895        Unreviewed, rolling out r82616.
49896        http://trac.webkit.org/changeset/82616
49897        https://bugs.webkit.org/show_bug.cgi?id=57585
49898
49899        New test does not pass on Gtk, chromium-mac, chromium-linux
49900        and possibly elsewhere (Requested by abarth|gardener on
49901        #webkit).
49902
49903        * rendering/RenderWidget.cpp:
49904        (WebCore::RenderWidget::setWidget):
49905
499062011-03-31  Adrienne Walker  <enne@google.com>
49907
49908        Reviewed by James Robinson.
49909
49910        [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
49911        https://bugs.webkit.org/show_bug.cgi?id=57577
49912
49913        LayerRendererChromium now uses a RefPtr to preserve ownership of all
49914        of the CCLayerImpl layers that it is using during the update/draw
49915        pass.  Addtionally, when a LayerChromium is destroyed, the weak
49916        owner pointer from its CCLayerImpl is correctly unset.
49917
49918        * platform/graphics/chromium/LayerRendererChromium.cpp:
49919        (WebCore::LayerRendererChromium::compareLayerZ):
49920        (WebCore::LayerRendererChromium::updateAndDrawLayers):
49921        (WebCore::LayerRendererChromium::updateLayers):
49922        (WebCore::LayerRendererChromium::drawLayers):
49923        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
49924        (WebCore::LayerRendererChromium::drawLayer):
49925        * platform/graphics/chromium/LayerRendererChromium.h:
49926        * platform/graphics/chromium/RenderSurfaceChromium.h:
49927        * platform/graphics/chromium/VideoLayerChromium.cpp:
49928        (WebCore::VideoLayerChromium::updateCompositorResources):
49929        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
49930        (WebCore::CCLayerImpl::drawsContent):
49931        (WebCore::CCLayerImpl::cleanupResources):
49932
499332011-03-31  Sam Weinig  <sam@webkit.org>
49934
49935        Reviewed by Anders Carlsson.
49936
49937        Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
49938        https://bugs.webkit.org/show_bug.cgi?id=57582
49939
49940        * platform/DefaultLocalizationStrategy.cpp:
49941        * platform/LocalizedStrings.h:
49942
499432011-03-31  Eric Seidel  <eric@webkit.org>
49944
49945        Reviewed by Ryosuke Niwa.
49946
49947        Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
49948        https://bugs.webkit.org/show_bug.cgi?id=57550
49949
49950        * platform/text/BidiResolver.h:
49951        (WebCore::::createBidiRunsForLine):
49952
499532011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
49954
49955        Reviewed by James Robinson.
49956
49957        https://bugs.webkit.org/show_bug.cgi?id=45855
49958        Windowless plugins added dynamically to the DOM should receive paint events.
49959        This is done by ensuring that the plugin widget is marked for painting when
49960        it is added.
49961
49962        Test: plugins/windowless_plugin_paint_test.html
49963
49964        * rendering/RenderWidget.cpp:
49965        (WebCore::RenderWidget::setWidget):
49966
499672011-03-31  Stephen White  <senorblanco@chromium.org>
49968
49969        Reviewed by Kenneth Russell.
49970
49971        Speed up accelerated path drawing.
49972        https://bugs.webkit.org/show_bug.cgi?id=57371
49973        This CL does three things:  re-uses the same vertex and index buffer
49974        for all path draws, converts all vertex layouts from vec3 to vec2, and
49975        does a convexity check for polygons before passing them to the
49976        tesselator.
49977
49978        Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
49979
49980        * platform/graphics/chromium/GLES2Canvas.cpp:
49981        Replace the Vector<double> for interpolated curves with a
49982        Vector<FloatPoint>.
49983        (WebCore::Cubic::evaluate):
49984        Inline the evaluation function (as Quadratic does).
49985        (WebCore::GLES2Canvas::GLES2Canvas):
49986        Initialize the m_pathIndexBuffer.
49987        (WebCore::GLES2Canvas::~GLES2Canvas):
49988        Delete the path vertex and index buffers on destruction.
49989        (WebCore::interpolateQuadratic):
49990        (WebCore::interpolateCubic):
49991        Interpolate directly to a Vector<FloatPoint>, rather than
49992        Vector<double>.
49993        (WebCore::PolygonData::PolygonData):
49994        (WebCore::combineData):
49995        Replace the DoubleVector with a FloatPointVector.
49996        (WebCore::GLES2Canvas::tesselateAndFillPath):
49997        Move curve drawing into this function, and rename it to reflect the
49998        new behaviour.  Re-use the common vertex and index buffers.  If the
49999        curve consists of a single convex polygon, draw the curve as a single
50000        triangle fan.  Otherwise, convert it to doubles and pass it to the
50001        tesselator.
50002        (WebCore::GLES2Canvas::fillPathInternal):
50003        * platform/graphics/chromium/GLES2Canvas.h:
50004        Rename createVertexBufferFromPath() -> tesselateAndFillPath().
50005        Add a persistent index buffer for all path draws.
50006        * platform/graphics/gpu/BicubicShader.cpp:
50007        (WebCore::BicubicShader::create):
50008        (WebCore::BicubicShader::use):
50009        * platform/graphics/gpu/ConvolutionShader.cpp:
50010        (WebCore::ConvolutionShader::create):
50011        (WebCore::ConvolutionShader::use):
50012        Use vec2s instead of vec3s for all vertex data.
50013        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
50014        (WebCore::LoopBlinnMathUtils::convexCompare):
50015        (WebCore::LoopBlinnMathUtils::convexCross):
50016        (WebCore::LoopBlinnMathUtils::convexCheckTriple):
50017        (WebCore::LoopBlinnMathUtils::isConvex):
50018        * platform/graphics/gpu/LoopBlinnMathUtils.h:
50019        Implement a convexity check, based on the code in Graphics Gems IV.
50020        * platform/graphics/gpu/Shader.cpp:
50021        (WebCore::Shader::generateVertex):
50022        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
50023        (WebCore::SharedGraphicsContext3D::useQuadVertices):
50024        * platform/graphics/gpu/SolidFillShader.cpp:
50025        (WebCore::SolidFillShader::use):
50026        * platform/graphics/gpu/TexShader.cpp:
50027        (WebCore::TexShader::use):
50028        Use vec2s instead of vec3s for all vertex data.
50029
500302011-03-31  David Hyatt  <hyatt@apple.com>
50031
50032        Reviewed by Simon Fraser.
50033
50034        https://bugs.webkit.org/show_bug.cgi?id=57565
50035
50036        Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
50037        to check the line for overflow in the first place.
50038        
50039        For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
50040        all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
50041        replaced objects to be inside spans without triggering overflow allocation.
50042        
50043        The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
50044        dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
50045        lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
50046        back up to the root box to fetch them.
50047        
50048        Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
50049        possibly be present.  When the bit is set, computeOverflow will just immediately return.
50050 
50051        This change speeds up line layout by ~10%.
50052
50053        * rendering/EllipsisBox.cpp:
50054        (WebCore::EllipsisBox::paint):
50055        (WebCore::EllipsisBox::nodeAtPoint):
50056        * rendering/EllipsisBox.h:
50057        * rendering/InlineBox.cpp:
50058        (WebCore::InlineBox::paint):
50059        (WebCore::InlineBox::nodeAtPoint):
50060        (WebCore::InlineBox::clearKnownToHaveNoOverflow):
50061        * rendering/InlineBox.h:
50062        (WebCore::InlineBox::InlineBox):
50063        (WebCore::InlineBox::logicalFrameRect):
50064        (WebCore::InlineBox::knownToHaveNoOverflow):
50065        * rendering/InlineFlowBox.cpp:
50066        (WebCore::InlineFlowBox::addToLine):
50067        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
50068        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
50069        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
50070        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
50071        (WebCore::InlineFlowBox::addReplacedChildOverflow):
50072        (WebCore::InlineFlowBox::computeOverflow):
50073        (WebCore::InlineFlowBox::setLayoutOverflow):
50074        (WebCore::InlineFlowBox::setVisualOverflow):
50075        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
50076        (WebCore::InlineFlowBox::nodeAtPoint):
50077        (WebCore::InlineFlowBox::paint):
50078        * rendering/InlineFlowBox.h:
50079        (WebCore::InlineFlowBox::layoutOverflowRect):
50080        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
50081        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
50082        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
50083        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
50084        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
50085        (WebCore::InlineFlowBox::visualOverflowRect):
50086        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
50087        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
50088        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
50089        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
50090        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
50091        (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
50092        (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
50093        * rendering/InlineTextBox.cpp:
50094        (WebCore::InlineTextBox::nodeAtPoint):
50095        (WebCore::InlineTextBox::paint):
50096        * rendering/InlineTextBox.h:
50097        * rendering/RenderBlock.cpp:
50098        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
50099        (WebCore::RenderBlock::paintEllipsisBoxes):
50100        (WebCore::RenderBlock::adjustLinePositionForPagination):
50101        * rendering/RenderBlock.h:
50102        * rendering/RenderBlockLineLayout.cpp:
50103        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
50104        (WebCore::RenderBlock::layoutInlineChildren):
50105        (WebCore::RenderBlock::determineStartPosition):
50106        (WebCore::RenderBlock::matchedEndLine):
50107        (WebCore::RenderBlock::addOverflowFromInlineChildren):
50108        * rendering/RenderBox.h:
50109        (WebCore::RenderBox::hasRenderOverflow):
50110        * rendering/RenderBoxModelObject.cpp:
50111        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
50112        * rendering/RenderInline.cpp:
50113        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
50114        * rendering/RenderLineBoxList.cpp:
50115        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
50116        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
50117        (WebCore::RenderLineBoxList::paint):
50118        (WebCore::RenderLineBoxList::hitTest):
50119        * rendering/RenderListItem.cpp:
50120        (WebCore::RenderListItem::positionListMarker):
50121        * rendering/RootInlineBox.cpp:
50122        (WebCore::RootInlineBox::paintEllipsisBox):
50123        (WebCore::RootInlineBox::addHighlightOverflow):
50124        (WebCore::RootInlineBox::paint):
50125        (WebCore::RootInlineBox::nodeAtPoint):
50126        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
50127        * rendering/RootInlineBox.h:
50128        (WebCore::RootInlineBox::logicalTopVisualOverflow):
50129        (WebCore::RootInlineBox::logicalBottomVisualOverflow):
50130        (WebCore::RootInlineBox::logicalTopLayoutOverflow):
50131        (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
50132        * rendering/svg/SVGInlineFlowBox.cpp:
50133        (WebCore::SVGInlineFlowBox::paint):
50134        * rendering/svg/SVGInlineFlowBox.h:
50135        * rendering/svg/SVGInlineTextBox.cpp:
50136        (WebCore::SVGInlineTextBox::paint):
50137        * rendering/svg/SVGInlineTextBox.h:
50138        * rendering/svg/SVGRootInlineBox.cpp:
50139        (WebCore::SVGRootInlineBox::paint):
50140        * rendering/svg/SVGRootInlineBox.h:
50141
501422011-03-31  Pavel Feldman  <pfeldman@chromium.org>
50143
50144        Reviewed by Yury Semikhatsky.
50145
50146        Web Inspector: disable properties abbreviation.
50147        https://bugs.webkit.org/show_bug.cgi?id=57525
50148
50149        * inspector/InjectedScript.cpp:
50150        (WebCore::InjectedScript::getProperties):
50151        * inspector/InjectedScript.h:
50152        * inspector/InjectedScriptSource.js:
50153        (.):
50154        ():
50155        * inspector/Inspector.json:
50156        * inspector/InspectorRuntimeAgent.cpp:
50157        (WebCore::InspectorRuntimeAgent::getProperties):
50158        * inspector/InspectorRuntimeAgent.h:
50159        * inspector/front-end/ConsoleView.js:
50160        (WebInspector.ConsoleView.prototype.completions.evaluated):
50161        (WebInspector.ConsoleView.prototype._formatarray):
50162        * inspector/front-end/ObjectPropertiesSection.js:
50163        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
50164        (WebInspector.ObjectPropertiesSection.prototype.update):
50165        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
50166        (WebInspector.ObjectPropertyTreeElement.prototype.update):
50167        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
50168        * inspector/front-end/PropertiesSidebarPane.js:
50169        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
50170        * inspector/front-end/RemoteObject.js:
50171        (WebInspector.RemoteObject.prototype.getOwnProperties):
50172        (WebInspector.RemoteObject.prototype.getAllProperties):
50173        (WebInspector.RemoteObject.prototype._getProperties):
50174        (WebInspector.LocalJSONObject.prototype.getOwnProperties):
50175        (WebInspector.LocalJSONObject.prototype.getAllProperties):
50176        * inspector/front-end/inspector.css:
50177        (.console-formatted-string, .console-formatted-regexp):
50178
501792011-03-31  Adam Roben  <aroben@apple.com>
50180
50181        Update WKCACFViewLayerTreeHost for changes to WKCACFView API
50182
50183        This should not result in any change in behavior.
50184
50185        Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
50186        render
50187
50188        Reviewed by Darin Adler.
50189
50190        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
50191        (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
50192        render into the window we give it.
50193
501942011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
50195
50196        Reviewed by Kenneth Rohde Christiansen.
50197
50198        [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
50199        https://bugs.webkit.org/show_bug.cgi?id=57017
50200
50201        Build fix. No new tests.
50202
50203        * WebCore.pri:
50204
502052011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
50206
50207        Reviewed by Pavel Feldman.
50208
50209        XML viewer is not shown when frame has non-null opener
50210        https://bugs.webkit.org/show_bug.cgi?id=56384
50211
50212        Removed opener check in XML viewer
50213
50214        Test: http/tests/xmlviewer/extensions-api.html
50215
50216        * xml/XMLTreeViewer.cpp:
50217        (WebCore::XMLTreeViewer::hasNoStyleInformation):
50218        * xml/XMLViewer.js:
50219
502202011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
50221
50222        Unreviewed, rolling out r82589.
50223        http://trac.webkit.org/changeset/82589
50224        https://bugs.webkit.org/show_bug.cgi?id=57564
50225
50226        This patch requires many more updated results than it contains
50227        (Requested by abarth|gardener on #webkit).
50228
50229        * css/CSSSelector.cpp:
50230        (WebCore::CSSSelector::pseudoId):
50231        (WebCore::nameToPseudoTypeMap):
50232        (WebCore::CSSSelector::extractPseudoType):
50233        * css/CSSSelector.h:
50234        * css/html.css:
50235        (meter::-webkit-meter-horizontal-bar):
50236        (meter::-webkit-meter-vertical-bar):
50237        (meter::-webkit-meter-horizontal-optimum-value):
50238        (meter::-webkit-meter-horizontal-suboptimal-value):
50239        (meter::-webkit-meter-horizontal-even-less-good-value):
50240        (meter::-webkit-meter-vertical-optimum-value):
50241        (meter::-webkit-meter-vertical-suboptimal-value):
50242        (meter::-webkit-meter-vertical-even-less-good-value):
50243        * rendering/RenderMeter.cpp:
50244        (WebCore::MeterPartElement::MeterPartElement):
50245        (WebCore::MeterPartElement::createForPart):
50246        (WebCore::MeterPartElement::hide):
50247        (WebCore::MeterPartElement::restoreVisibility):
50248        (WebCore::MeterPartElement::updateStyleForPart):
50249        (WebCore::MeterPartElement::saveVisibility):
50250        (WebCore::RenderMeter::~RenderMeter):
50251        (WebCore::RenderMeter::createPart):
50252        (WebCore::RenderMeter::updateFromElement):
50253        (WebCore::RenderMeter::layoutParts):
50254        (WebCore::RenderMeter::shouldHaveParts):
50255        (WebCore::RenderMeter::valuePartRect):
50256        (WebCore::RenderMeter::orientation):
50257        (WebCore::RenderMeter::valuePseudoId):
50258        (WebCore::RenderMeter::barPseudoId):
50259        * rendering/RenderMeter.h:
50260        (WebCore::RenderMeter::shadowAttached):
50261        * rendering/RenderTheme.cpp:
50262        (WebCore::RenderTheme::supportsMeter):
50263        * rendering/RenderTheme.h:
50264        * rendering/RenderThemeMac.h:
50265        * rendering/RenderThemeMac.mm:
50266        (WebCore::RenderThemeMac::paintMeter):
50267        (WebCore::RenderThemeMac::supportsMeter):
50268        * rendering/style/RenderStyleConstants.h:
50269
502702011-03-31  Xan Lopez  <xlopez@igalia.com>
50271
50272        Reviewed by Martin Robinson.
50273
50274        [GTK] Link explicitly with XRender on Linux/Unix
50275        https://bugs.webkit.org/show_bug.cgi?id=57558
50276
50277        * GNUmakefile.am: add XRender CFLAGS.
50278
502792011-03-31  Eric Seidel  <eric@webkit.org>
50280
50281        Reviewed by Ryosuke Niwa.
50282
50283        Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
50284        https://bugs.webkit.org/show_bug.cgi?id=57549
50285
50286        * platform/text/BidiResolver.h:
50287        (WebCore::BidiResolver::BidiResolver):
50288        (WebCore::::appendRun):
50289        (WebCore::::lowerExplicitEmbeddingLevel):
50290        (WebCore::::raiseExplicitEmbeddingLevel):
50291        (WebCore::::deleteRuns):
50292        (WebCore::::createBidiRunsForLine):
50293        * rendering/InlineIterator.h:
50294        (WebCore::InlineBidiResolver::appendRun):
50295
502962011-03-31  Tom Sepez  <tsepez@chromium.org>
50297
50298        Reviewed by Eric Seidel.
50299
50300        Make ContainerNode::insertIntoDocument() collect all nodes before
50301        operating on any of them.  Add small helper function and use it
50302        througout the file where this action is already taking place.
50303        https://bugs.webkit.org/show_bug.cgi?id=57265
50304        
50305        Test: svg/dom/range-delete.html
50306
50307        * dom/ContainerNode.cpp:
50308        (WebCore::collectNodes):
50309        (WebCore::collectTargetNodes):
50310        (WebCore::ContainerNode::takeAllChildrenFrom):
50311        (WebCore::willRemoveChildren):
50312        (WebCore::ContainerNode::insertedIntoDocument):
50313
503142011-03-31  Satish Sampath  <satish@chromium.org>
50315
50316        Reviewed by Steve Block.
50317
50318        While drawing a speech input button, validate that the node is really a speech input button.
50319        https://bugs.webkit.org/show_bug.cgi?id=57469
50320
50321        Test: fast/speech/speech-style-on-non-speech-elements.html
50322
50323        * dom/Element.h:
50324        (WebCore::Element::isInputFieldSpeechButtonElement):
50325        * html/shadow/TextControlInnerElements.h:
50326        (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
50327        (WebCore::toInputFieldSpeechButtonElement):
50328        * rendering/RenderInputSpeech.cpp:
50329        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
50330
503312011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
50332
50333        Build fix after r82588. Reverted unintentional change.
50334
50335        * editing/SelectionController.cpp:
50336        (WebCore::SelectionController::modifyMovingLeft):
50337
503382011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
50339
50340        Reviewed by Xan Lopez.
50341
50342        [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
50343        https://bugs.webkit.org/show_bug.cgi?id=57534
50344
50345        Fix compilation warnings.
50346
50347        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
50348        (getAttributeSetForAccessibilityObject): Add unhandled cases.
50349
503502011-03-30  Pavel Podivilov  <podivilov@chromium.org>
50351
50352        Reviewed by Pavel Feldman.
50353
50354        Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
50355        https://bugs.webkit.org/show_bug.cgi?id=57444
50356
50357        * bindings/js/ScriptDebugServer.cpp:
50358        (WebCore::ScriptDebugServer::editScriptSource):
50359        * bindings/js/ScriptDebugServer.h:
50360        * bindings/v8/ScriptDebugServer.cpp:
50361        (WebCore::ScriptDebugServer::editScriptSource):
50362        * bindings/v8/ScriptDebugServer.h:
50363        * inspector/Inspector.json:
50364        * inspector/InspectorDebuggerAgent.cpp:
50365        (WebCore::InspectorDebuggerAgent::editScriptSource):
50366        * inspector/InspectorDebuggerAgent.h:
50367        * inspector/front-end/DebuggerModel.js:
50368        (WebInspector.DebuggerModel.prototype.editScriptSource):
50369        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
50370        * inspector/front-end/DebuggerPresentationModel.js:
50371        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
50372        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
50373        * inspector/front-end/SourceFrame.js:
50374        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
50375        (WebInspector.SourceFrame.prototype._handleSave):
50376
503772011-03-30  MORITA Hajime <morrita@google.com>
50378
50379        Reviewed by Dimitri Glazkov.
50380
50381        <meter> can only support horizontal indicator
50382        https://bugs.webkit.org/show_bug.cgi?id=56001
50383
50384        - Removed code which deals with the direction and
50385          left the horizontal path.
50386        - Removed "horizontal" from related names which is now
50387          redundant.
50388        
50389        * css/CSSSelector.cpp:
50390        (WebCore::CSSSelector::pseudoId):
50391        (WebCore::nameToPseudoTypeMap):
50392        (WebCore::CSSSelector::extractPseudoType):
50393        * css/CSSSelector.h:
50394        * css/html.css:
50395        (meter::-webkit-meter-bar):
50396        (meter::-webkit-meter-optimum-value):
50397        (meter::-webkit-meter-suboptimal-value):
50398        (meter::-webkit-meter-even-less-good-value):
50399        * rendering/RenderMeter.cpp:
50400        (WebCore::RenderMeter::~RenderMeter):
50401        (WebCore::RenderMeter::createPart):
50402        (WebCore::RenderMeter::updateFromElement):
50403        (WebCore::RenderMeter::layoutParts):
50404        (WebCore::RenderMeter::styleDidChange):
50405        (WebCore::RenderMeter::shouldHaveParts):
50406        (WebCore::RenderMeter::valuePartRect):
50407        (WebCore::RenderMeter::valuePseudoId):
50408        (WebCore::RenderMeter::barPseudoId):
50409        (WebCore::RenderMeter::detachShadows):
50410        (WebCore::RenderMeter::updateShadows):
50411        * rendering/RenderMeter.h:
50412        (WebCore::RenderMeter::shadowAttached):
50413        * rendering/RenderTheme.cpp:
50414        (WebCore::RenderTheme::supportsMeter):
50415        * rendering/RenderTheme.h:
50416        * rendering/RenderThemeMac.h:
50417        * rendering/RenderThemeMac.mm:
50418        (WebCore::RenderThemeMac::paintMeter):
50419        (WebCore::RenderThemeMac::supportsMeter):
50420        * rendering/style/RenderStyleConstants.h:
50421
504222011-03-30  Xiaomei Ji  <xji@chromium.org>
50423
50424        Reviewed by Ryosuke Niwa.
50425
50426        Experiment with moving caret by word in visual order.
50427        https://bugs.webkit.org/show_bug.cgi?id=57336
50428
50429        Follow Firefox's convention in Windows, 
50430        In LTR block, word break visually moves cursor to the left boundary of words,
50431        In RTL block, word break visually moves cursor to the right boundary of words.
50432
50433        This is the 1st version of implementing "move caret by word in visual order".
50434        It only works in the following situation:
50435        1. For a LTR box in a LTR block or a RTL box in RTL block, 
50436        when caret is at the left boundary of the box and we are looking for 
50437        the word boundary in right.
50438        2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
50439        of the box and we are looking for the word boundary in left and 
50440        previous box is a LTR box.
50441        3. For a LTR or RTL box in a RTL block, when the caret is at the right 
50442        boundary of the box and we are looking for the word boundary in right and next box is RTL box.
50443
50444        An experimental granularity is introduced, as a side effect, functions having switch statements
50445        to handle those granularities have to add more one case to handle this new granularity.
50446        The experimental granularity is exposed though JS by '-webkit-visual-word".
50447
50448        The overall algorithm is looping through inline boxes visually and looking
50449        for the visually nearest word break position. 
50450
50451        Test: editing/selection/move-by-word-visually.html
50452
50453        * editing/SelectionController.cpp:
50454        (WebCore::SelectionController::modifyExtendingRight):
50455        (WebCore::SelectionController::modifyExtendingForward):
50456        (WebCore::SelectionController::modifyMovingRight):
50457        (WebCore::SelectionController::modifyMovingForward):
50458        (WebCore::SelectionController::modifyExtendingLeft):
50459        (WebCore::SelectionController::modifyExtendingBackward):
50460        (WebCore::SelectionController::modifyMovingLeft):
50461        (WebCore::SelectionController::modifyMovingBackward):
50462        * editing/TextGranularity.h:
50463        * editing/VisibleSelection.cpp:
50464        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
50465        * editing/visible_units.cpp:
50466        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
50467        (WebCore::wordBoundaryInBox):
50468        (WebCore::wordBoundaryInAdjacentBoxes):
50469        (WebCore::leftWordBoundary):
50470        (WebCore::rightWordBoundary):
50471        (WebCore::leftWordPosition):
50472        (WebCore::rightWordPosition):
50473        * editing/visible_units.h:
50474        * page/DOMSelection.cpp:
50475        (WebCore::DOMSelection::modify):
50476
504772011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
50478
50479        Reviewed by Darin Adler.
50480
50481        Move coordinate-computing logic into MouseRelatedEvent.
50482        https://bugs.webkit.org/show_bug.cgi?id=57521
50483
50484        Refactoring, covered by existing tests.
50485
50486        * dom/EventDispatcher.cpp:
50487        (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
50488            coordinates out.
50489        (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
50490        * dom/MouseEvent.cpp:
50491        (WebCore::MouseEvent::create): Add coordinate-computing logic.
50492        * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
50493        * dom/MouseRelatedEvent.cpp:
50494        (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
50495        * page/EventHandler.cpp:
50496        (WebCore::EventHandler::dispatchDragEvent): Ditto.
50497
504982011-03-30  Alexander Pavlov  <apavlov@chromium.org>
50499
50500        Reviewed by Pavel Feldman.
50501
50502        Web Inspector: document CSS agent.
50503        https://bugs.webkit.org/show_bug.cgi?id=57435
50504
50505        * inspector/Inspector.json:
50506
505072011-03-31  Andrey Kosyakov  <caseq@chromium.org>
50508
50509        Reviewed by Yury Semikhatsky.
50510
50511        Web Inspector: remove periods at the end of error messages
50512        https://bugs.webkit.org/show_bug.cgi?id=57544
50513
50514        * inspector/InjectedScript.cpp:
50515        (WebCore::InjectedScript::getProperties):
50516        (WebCore::InjectedScript::makeObjectCall):
50517        * inspector/InspectorCSSAgent.cpp:
50518        (WebCore::InspectorCSSAgent::elementForId):
50519        (WebCore::InspectorCSSAgent::styleSheetForId):
50520        * inspector/InspectorDOMAgent.cpp:
50521        (WebCore::InspectorDOMAgent::assertNode):
50522        (WebCore::InspectorDOMAgent::assertElement):
50523        (WebCore::InspectorDOMAgent::assertHTMLElement):
50524        (WebCore::InspectorDOMAgent::querySelector):
50525        (WebCore::InspectorDOMAgent::querySelectorAll):
50526        (WebCore::InspectorDOMAgent::setAttribute):
50527        (WebCore::InspectorDOMAgent::removeAttribute):
50528        (WebCore::InspectorDOMAgent::removeNode):
50529        (WebCore::InspectorDOMAgent::setNodeValue):
50530        * inspector/InspectorDebuggerAgent.cpp:
50531        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
50532        * inspector/InspectorResourceAgent.cpp:
50533        (WebCore::InspectorResourceAgent::resourceContent):
50534        (WebCore::InspectorResourceAgent::resourceContentBase64):
50535        (WebCore::InspectorResourceAgent::getResourceContent):
50536        * inspector/InspectorRuntimeAgent.cpp:
50537        (WebCore::InspectorRuntimeAgent::setPropertyValue):
50538
505392011-03-31  Evan Martin  <evan@chromium.org>
50540
50541        Reviewed by Eric Seidel.
50542
50543        <title> should support dir attribute
50544        https://bugs.webkit.org/show_bug.cgi?id=50961
50545
50546        Introduce a new StringWithDirection object that carries a String along
50547        with the TextDirection associated with the String.  Use this object for
50548        document titles used within WebCore, because in HTML the direction of
50549        a title can be set with the 'dir' attribute.
50550
50551        Put FIXMEs at the WebKit level to expose the new direction information
50552        to clients.
50553
50554        No behavioral change intended, so no new tests.  A follow-up will expose
50555        the title direction and hopefully can be accompanied by tests that
50556        verify it is correct.
50557
50558        * dom/Document.cpp:
50559        (WebCore::Document::Document):
50560        (WebCore::Document::updateTitle):
50561        (WebCore::Document::setTitle):
50562        (WebCore::Document::removeTitle):
50563        * dom/Document.h:
50564        (WebCore::Document::title):
50565        * html/HTMLTitleElement.cpp:
50566        (WebCore::HTMLTitleElement::HTMLTitleElement):
50567        (WebCore::HTMLTitleElement::childrenChanged):
50568        (WebCore::HTMLTitleElement::text):
50569        (WebCore::HTMLTitleElement::textWithDirection):
50570        * html/HTMLTitleElement.h:
50571        * loader/DocumentLoader.cpp:
50572        (WebCore::DocumentLoader::setTitle):
50573        * loader/DocumentLoader.h:
50574        (WebCore::DocumentLoader::title):
50575        * loader/EmptyClients.h:
50576        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
50577        (WebCore::EmptyFrameLoaderClient::setTitle):
50578        * loader/FrameLoader.cpp:
50579        (WebCore::FrameLoader::receivedFirstData):
50580        (WebCore::FrameLoader::commitProvisionalLoad):
50581        (WebCore::FrameLoader::setTitle):
50582        * loader/FrameLoader.h:
50583        * loader/FrameLoaderClient.h:
50584        * loader/HistoryController.cpp:
50585        (WebCore::HistoryController::updateForBackForwardNavigation):
50586        (WebCore::HistoryController::updateForReload):
50587        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
50588        (WebCore::HistoryController::updateForClientRedirect):
50589        (WebCore::HistoryController::updateForCommit):
50590        (WebCore::HistoryController::setCurrentItemTitle):
50591        (WebCore::HistoryController::initializeItem):
50592        * loader/HistoryController.h:
50593        * platform/text/StringWithDirection.h: Added.
50594        (WebCore::StringWithDirection::StringWithDirection):
50595        (WebCore::StringWithDirection::operator==):
50596        (WebCore::StringWithDirection::operator!=):
50597        * svg/SVGTitleElement.cpp:
50598        (WebCore::SVGTitleElement::insertedIntoDocument):
50599        (WebCore::SVGTitleElement::childrenChanged):
50600
506012011-03-31  Alexander Pavlov  <apavlov@chromium.org>
50602
50603        Reviewed by Yury Semikhatsky.
50604
50605        Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
50606        https://bugs.webkit.org/show_bug.cgi?id=57538
50607
50608        * inspector/InspectorStyleSheet.cpp:
50609        (WebCore::buildSourceRangeObject):
50610        (WebCore::InspectorStyle::buildObjectForStyle):
50611        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
50612        * inspector/front-end/AuditRules.js:
50613        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
50614        * inspector/front-end/CSSStyleModel.js:
50615        (WebInspector.CSSStyleDeclaration):
50616
506172011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
50618
50619        Unreviewed, rolling out r82565.
50620        http://trac.webkit.org/changeset/82565
50621        https://bugs.webkit.org/show_bug.cgi?id=57541
50622
50623        Caused assertion failures. (Requested by bbandix on #webkit).
50624
50625        * platform/graphics/filters/FEFlood.cpp:
50626        (WebCore::FEFlood::setFloodColor):
50627        (WebCore::FEFlood::setFloodOpacity):
50628        * platform/graphics/filters/FEFlood.h:
50629        * platform/graphics/filters/FESpecularLighting.cpp:
50630        (WebCore::FESpecularLighting::setLightingColor):
50631        * platform/graphics/filters/FESpecularLighting.h:
50632        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
50633        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
50634        * rendering/svg/SVGResourcesCache.cpp:
50635        (WebCore::SVGResourcesCache::clientStyleChanged):
50636        * svg/SVGFEDiffuseLightingElement.cpp:
50637        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
50638        * svg/SVGFEFloodElement.cpp:
50639        * svg/SVGFEFloodElement.h:
50640        * svg/SVGFESpecularLightingElement.cpp:
50641        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
50642
506432011-03-31  Renata Hodovan  <reni@webkit.org>
50644
50645        Reviewed by Dirk Schulze.
50646
50647        CSS related SVG*Element changes doesn't require relayout
50648        https://bugs.webkit.org/show_bug.cgi?id=56906
50649
50650        The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
50651        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
50652        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
50653        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
50654
50655        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
50656               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
50657               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
50658               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
50659
50660        * platform/graphics/filters/FEFlood.cpp:
50661        (WebCore::FEFlood::setFloodColor):
50662        (WebCore::FEFlood::setFloodOpacity):
50663        * platform/graphics/filters/FEFlood.h:
50664        * platform/graphics/filters/FESpecularLighting.cpp:
50665        (WebCore::FESpecularLighting::setLightingColor):
50666        * platform/graphics/filters/FESpecularLighting.h:
50667        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
50668        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
50669        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
50670        * rendering/svg/SVGResourcesCache.cpp:
50671        (WebCore::SVGResourcesCache::clientStyleChanged):
50672        * svg/SVGFEDiffuseLightingElement.cpp:
50673        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
50674        * svg/SVGFEFloodElement.cpp:
50675        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
50676        * svg/SVGFEFloodElement.h:
50677        * svg/SVGFESpecularLightingElement.cpp:
50678        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
50679
506802011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
50681
50682        Reviewed by Pavel Feldman.
50683
50684        XML Viewer: declared namespaces are not rendered.
50685        https://bugs.webkit.org/show_bug.cgi?id=56262
50686
50687        XML viewer rewritten on javascript.
50688
50689        * CMakeLists.txt:
50690        * DerivedSources.make:
50691        * GNUmakefile.am:
50692        * WebCore.gyp/WebCore.gyp:
50693        * WebCore.gypi:
50694        * WebCore.vcproj/WebCore.vcproj:
50695        * WebCore.xcodeproj/project.pbxproj:
50696        * dom/XMLDocumentParserLibxml2.cpp:
50697        (WebCore::XMLDocumentParser::doEnd):
50698        * xml/XMLTreeViewer.cpp:
50699        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
50700        * xml/XMLViewer.css: Added.
50701        * xml/XMLViewer.js: Added.
50702        * xml/XMLViewer.xsl: Removed.
50703        * xml/XSLStyleSheet.h:
50704
507052011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
50706
50707        Unreviewed build fix.
50708
50709        Fix build break after rolling out r82496
50710        https://bugs.webkit.org/show_bug.cgi?id=57536
50711
50712        * platform/efl/RenderThemeEfl.cpp:
50713
507142011-03-31  Andrey Adaikin  <aandrey@google.com>
50715
50716        Reviewed by Pavel Feldman.
50717
50718        Web Inspector: execution line is displayed incorrectly after source editing.
50719        https://bugs.webkit.org/show_bug.cgi?id=57229
50720
50721        * inspector/front-end/SourceFrame.js:
50722        (WebInspector.SourceFrame.prototype._saveViewerState):
50723        (WebInspector.SourceFrame.prototype._restoreViewerState):
50724        (WebInspector.SourceFrame.prototype._startEditing):
50725        (WebInspector.SourceFrame.prototype._endEditing):
50726        (WebInspector.SourceFrame.prototype._createTextViewer):
50727        (WebInspector.SourceFrame.prototype.setExecutionLine):
50728        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
50729        (WebInspector.SourceFrame.prototype._handleSave):
50730        (WebInspector.SourceFrame.prototype._handleRevertEditing):
50731        * inspector/front-end/TextViewer.js:
50732        (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
50733        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
50734        (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
50735        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
50736
507372011-03-30  Alexander Pavlov  <apavlov@chromium.org>
50738
50739        Reviewed by Pavel Feldman.
50740
50741        Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
50742        https://bugs.webkit.org/show_bug.cgi?id=57452
50743
50744        No new tests, as this is a refactoring.
50745
50746        * inspector/InspectorCSSAgent.cpp:
50747        * inspector/InspectorStyleSheet.cpp:
50748        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
50749        * inspector/front-end/CSSStyleModel.js:
50750        (WebInspector.CSSStyleDeclaration):
50751        (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
50752
507532011-03-30  Steve Block  <steveblock@google.com>
50754
50755        Reviewed by Jeremy Orlow.
50756
50757        JavaField should not expose JavaString in its API
50758        https://bugs.webkit.org/show_bug.cgi?id=55766
50759
50760        This patch fixes JavaField for V8 only.
50761        - Factors out a JavaField interface which does not use JNI types.
50762          This will allow the Java bridge to be used with objects that
50763          don't use JNI directly. The existing jobject-backed
50764          implementation is moved to a new JavaFieldJobject class which
50765          implements the interface.
50766        - Use WTF::String in place of JavaString in the API, as JavaString
50767          exposes JNI types in its interface.
50768
50769        No new tests, refactoring only.
50770
50771        * Android.v8bindings.mk:
50772        * WebCore.gypi:
50773        * bridge/jni/JavaMethod.h:
50774        (JSC::Bindings::JavaMethod::~JavaMethod):
50775        * bridge/jni/JobjectWrapper.h:
50776        * bridge/jni/v8/JavaClassV8.cpp:
50777        (JavaClass::JavaClass):
50778        * bridge/jni/v8/JavaFieldJobjectV8.cpp:
50779        (JavaFieldJobject::JavaFieldJobject):
50780        * bridge/jni/v8/JavaFieldJobjectV8.h:
50781        (JSC::Bindings::JavaFieldJobject::name):
50782        (JSC::Bindings::JavaFieldJobject::typeClassName):
50783        (JSC::Bindings::JavaFieldJobject::type):
50784        * bridge/jni/v8/JavaFieldV8.h:
50785        (JSC::Bindings::JavaField::~JavaField):
50786        * bridge/jni/v8/JavaInstanceV8.cpp:
50787        (JavaInstance::getField):
50788
507892011-03-31  Levi Weintraub  <leviw@chromium.org>
50790
50791        Reviewed by Ryosuke Niwa.
50792
50793        Clean up from r82447.
50794        https://bugs.webkit.org/attachment.cgi?bugid=57532
50795
50796        No new tests since this doesn't change behavior.
50797
50798        * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
50799        * rendering/RootInlineBox.cpp:
50800        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
50801        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
50802        * rendering/RootInlineBox.h:
50803
508042011-03-31  Benjamin Kalman  <kalman@chromium.org>
50805
50806        Reviewed by Ojan Vafai.
50807
50808        DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
50809        https://bugs.webkit.org/show_bug.cgi?id=57079
50810
50811        Test: editing/execCommand/delete-table-with-empty-contents.html
50812
50813        This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
50814        of WebKit.
50815
50816        * editing/DeleteSelectionCommand.cpp:
50817        (WebCore::firstEditablePositionInNode):
50818        (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
50819        to find anchor node for the placeholder's position, if any.
50820
508212011-03-30  Ojan Vafai  <ojan@chromium.org>
50822
50823        Reviewed by Adam Roben.
50824
50825        REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
50826        https://bugs.webkit.org/show_bug.cgi?id=57478
50827
50828        * css/CSSGrammar.y:
50829        * css/CSSParser.cpp:
50830        (WebCore::CSSParser::sinkFloatingSelectorVector):
50831        * css/CSSParser.h:
50832
508332011-03-30  Dominic Cooney  <dominicc@google.com>
50834
50835        Reviewed by Dimitri Glazkov.
50836
50837        Adds layoutTestController.shadowRoot accessor to Mac DRT.
50838        https://bugs.webkit.org/show_bug.cgi?id=57415
50839
50840        * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
50841
508422011-03-30  Kent Tamura  <tkent@chromium.org>
50843
50844        Reviewed by Dimitri Glazkov.
50845
50846        Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
50847        https://bugs.webkit.org/show_bug.cgi?id=57424
50848
50849        r75555 made 'scroll' event asynchronous. So we don't need to worry about
50850        deleting or moving a target node in scrollIntoViewIfNeeded().
50851
50852        * html/HTMLFormElement.cpp:
50853        (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
50854
508552011-03-30  Kent Tamura  <tkent@chromium.org>
50856
50857        Reviewed by Darin Adler.
50858
50859        REGRESSION (r74895): Crash if input.type = 'file' twice
50860        https://bugs.webkit.org/show_bug.cgi?id=57343
50861
50862        * html/HTMLInputElement.cpp:
50863        (WebCore::HTMLInputElement::updateType):
50864          Don't call setAttribute() if the type is not changed.
50865
508662011-03-30  Jia Pu  <jpu@apple.com>
50867
50868        Reviewed by Darin Adler.
50869
50870        Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
50871        https://bugs.webkit.org/show_bug.cgi?id=57353
50872        <rdar://problem/9163983>
50873
50874        We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
50875        panel. The latter function compensates for zooming, which we don't need in this case. We also
50876        dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
50877
50878        * WebCore.exp.in:
50879        * dom/Range.cpp:
50880        (WebCore::Range::textQuads):
50881        * dom/Range.h:
50882        * editing/Editor.cpp:
50883        (WebCore::Editor::windowRectForRange):
50884        * editing/Editor.h:
50885        * page/Frame.cpp:
50886        (WebCore::Frame::setPageAndTextZoomFactors):
50887
508882011-03-30  Chris Guillory  <chris.guillory@google.com>
50889
50890        Reviewed by Dimitri Glazkov.
50891
50892        Render fonts using skia when requested by platform context.
50893        https://bugs.webkit.org/show_bug.cgi?id=56441
50894
50895        * platform/graphics/skia/PlatformContextSkia.cpp:
50896        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
50897        * platform/graphics/skia/PlatformContextSkia.h:
50898        * platform/graphics/skia/SkiaFontWin.cpp:
50899        (WebCore::windowsCanHandleTextDrawing):
50900        (WebCore::skiaDrawText):
50901        (WebCore::setupPaintForFont):
50902        (WebCore::paintSkiaText):
50903
509042011-03-30  Dan Bernstein  <mitz@apple.com>
50905
50906        Reviewed by Darin Adler.
50907
50908        <rdar://problem/9199518> Crash when focusing a styled editable element
50909
50910        Test: editing/deleting/delete-button-background-image-none.html
50911
50912        * editing/DeleteButtonController.cpp:
50913        (WebCore::isDeletableElement): Check all background layers for background images.
50914        * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
50915        in the above function.
50916
509172011-03-30  Martin Robinson  <mrobinson@igalia.com>
50918
50919        Try once more to fix the EFL build.
50920
50921        * platform/efl/RenderThemeEfl.cpp:
50922
509232011-03-30  Chris Fleizach  <cfleizach@apple.com>
50924
50925        Reviewed by Darin Adler.
50926
50927        Regression: VO cursor doesn't follow KB focus back into HTML view
50928        https://bugs.webkit.org/show_bug.cgi?id=57509
50929
50930        In WK2, because the web area never believes focus leave the area, sending the initial
50931        focus change when moving back into the web area, does not trigger a notification.
50932
50933        That behavior needs to be overridden by explicitly posting a focused UI element change
50934        at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
50935
50936        * page/FocusController.cpp:
50937        (WebCore::FocusController::setInitialFocus):
50938
509392011-03-30  MORITA Hajime  <morrita@google.com>
50940
50941        Reviewed by Simon Fraser.
50942
50943        box-shadow radii stays the same regardless of any spread set
50944        https://bugs.webkit.org/show_bug.cgi?id=49726
50945
50946        - Removed special shadowSpread handling path
50947        - Fixed broken multple inset shadow border computation.
50948
50949        Test: fast/box-shadow/spread-multiple-inset.html
50950
50951        * rendering/RenderBoxModelObject.cpp:
50952        (WebCore::RenderBoxModelObject::paintBoxShadow):
50953
509542011-03-29  Matthew Delaney  <mdelaney@apple.com>
50955
50956        Reviewed by Simon Fraser.
50957
50958        Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
50959
50960        https://bugs.webkit.org/show_bug.cgi?id=53134
50961
50962        Test: fast/canvas/getPutImageDataPairTest.html
50963
50964        * platform/graphics/cg/ImageBufferCG.cpp:
50965
509662011-03-30  Steve Falkenburg  <sfalken@apple.com>
50967
50968        Reviewed by Adam Roben.
50969
50970        Share most vsprops between Release and Production builds in releaseproduction.vsprops
50971        https://bugs.webkit.org/show_bug.cgi?id=57508
50972
50973        * WebCore.vcproj/QTMovieWinProduction.vsprops:
50974        * WebCore.vcproj/QTMovieWinRelease.vsprops:
50975        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
50976        * WebCore.vcproj/WebCoreProduction.vsprops:
50977        * WebCore.vcproj/WebCoreRelease.vsprops:
50978        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
50979
509802011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
50981
50982        Reviewed by Alexey Proskuryakov.
50983
50984        Add some dynamic annotations to JavaScriptCore/wtf
50985        https://bugs.webkit.org/show_bug.cgi?id=53747
50986
50987        By using these annotations we can improve the precision of finding
50988        WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
50989        These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
50990
50991        These files don't add new functionality, so don't need extra tests.
50992
50993        * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
50994
509952011-03-30  Abhishek Arya  <inferno@chromium.org>
50996
50997        Reviewed by Simon Fraser.
50998
50999        Fix wrong type assumptions in editing code. Move code
51000        from ASSERTs to hard checks.
51001        https://bugs.webkit.org/show_bug.cgi?id=57348
51002
51003        Test: editing/execCommand/remove-format-non-html-element-crash.html
51004
51005        * css/CSSStyleSelector.cpp:
51006        (WebCore::CSSStyleSelector::applyProperty):
51007        * editing/ApplyStyleCommand.cpp:
51008        (WebCore::getRGBAFontColor):
51009        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
51010        * editing/DeleteButtonController.cpp:
51011        (WebCore::enclosingDeletableElement):
51012        * editing/EditingStyle.cpp:
51013        (WebCore::EditingStyle::textDirection):
51014        (WebCore::EditingStyle::prepareToApplyAt):
51015        * editing/Editor.cpp:
51016        (WebCore::Editor::textDirectionForSelection):
51017        * editing/FormatBlockCommand.cpp:
51018        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
51019
510202011-03-30  Stephen White  <senorblanco@chromium.org>
51021
51022        Reviewed by Kenneth Russell.
51023
51024        Speed up clipping in accelerated 2D canvas.
51025        https://bugs.webkit.org/show_bug.cgi?id=57464
51026
51027        Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
51028        Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
51029
51030        * platform/graphics/chromium/GLES2Canvas.cpp:
51031        (WebCore::PathAndTransform::PathAndTransform):
51032        New structure to keep track of the CTM at the time the clipping path was added.
51033        (WebCore::GLES2Canvas::State::State):
51034        Replace m_clippingEnabled with a count of total clipping paths.
51035        (WebCore::GLES2Canvas::clearRect):
51036        Check the total clipping path count, instead of m_clippingEnabled.
51037        (WebCore::GLES2Canvas::fillPath):
51038        (WebCore::GLES2Canvas::fillRect):
51039        Perform state application after doing shadows.  This is necessary
51040        since restore() may now leave clipping enabled.
51041        (WebCore::GLES2Canvas::clipPath):
51042        Explicitly specify the stencil operation as INCR.  Store the current
51043        transformation when saving clipping paths.
51044        (WebCore::GLES2Canvas::restore):
51045        Don't clear the stencil buffer and re-draw active paths on each restore.
51046        Erase the old paths with DECR.
51047        (WebCore::GLES2Canvas::drawTexturedRect):
51048        Check m_numClippingPaths instead of m_clippingEnabled.
51049        (WebCore::GLES2Canvas::beginShadowDraw):
51050        Perform state application when drawing hard shadows.
51051        (WebCore::GLES2Canvas::endShadowDraw):
51052        Check m_numClippingPaths instead of m_clippingEnabled.
51053        (WebCore::GLES2Canvas::beginStencilDraw):
51054        Make the stencil op a parameter to beginShadowDraw().
51055        (WebCore::GLES2Canvas::applyClipping):
51056        Compare against the total number of stencil paths, not just the ones in
51057        the current state.
51058        * platform/graphics/chromium/GLES2Canvas.h:
51059        Make the stencil op a parameter to beginShadowDraw().
51060
510612011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
51062
51063        Reviewed by Darin Adler.
51064
51065        Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
51066        https://bugs.webkit.org/show_bug.cgi?id=57419
51067
51068        Refactoring, covered by existing tests.
51069
51070        * dom/EventDispatcher.cpp:
51071        (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
51072        * dom/MouseEvent.cpp:
51073        (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
51074        * dom/MouseEvent.h: Added decl.
51075
510762011-03-30  Erik Arvidsson  <arv@chromium.org>
51077
51078        Reviewed by Alexey Proskuryakov.
51079
51080        Missing DOM bindings for a ping
51081        https://bugs.webkit.org/show_bug.cgi?id=51955
51082
51083        Test: fast/dom/ping-attribute-dom-binding.html
51084
51085        * html/HTMLAnchorElement.idl:
51086        * html/HTMLAreaElement.idl:
51087
510882011-03-30  Patrick Gansterer  <paroga@webkit.org>
51089
51090        Unreviewed WinCE build fix for r82465.
51091
51092        * CMakeListsWinCE.txt:
51093
510942011-03-30  Steve Falkenburg  <sfalken@apple.com>
51095
51096        Reviewed by Adam Roben.
51097
51098        Update Windows production build logic for new production configurations
51099        https://bugs.webkit.org/show_bug.cgi?id=57494
51100
51101        * WebCore.vcproj/QTMovieWinProduction.vsprops:
51102        * WebCore.vcproj/WebCore.make:
51103        * WebCore.vcproj/WebCoreProduction.vsprops:
51104
511052011-03-30  Sam Weinig  <sam@webkit.org>
51106
51107        Reviewed by Brady Eidson.
51108
51109        WebKit2: Attempting to view css file from url causes it to download
51110        <rdar://problem/9102611>
51111        https://bugs.webkit.org/show_bug.cgi?id=57501
51112
51113        * WebCore.exp.in:
51114        * platform/MIMETypeRegistry.cpp:
51115        (WebCore::initializeUnsupportedTextMIMETypes):
51116        (WebCore::initializeMIMETypeRegistry):
51117        (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
51118        (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
51119        * platform/MIMETypeRegistry.h:
51120        Add set of unsupported text MIME types, taken from WebKit/mac.
51121
511222011-03-30  Brian Weinstein  <bweinstein@apple.com>
51123
51124        Reviewed by Darin Adler.
51125        
51126        Crash when closing "Add Bookmark" dialog using the Enter Key
51127        https://bugs.webkit.org/show_bug.cgi?id=57294
51128        <rdar://problem/9044756>
51129
51130        Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
51131        functions that could destroy the frame.
51132
51133        * page/EventHandler.cpp:
51134        (WebCore::EventHandler::keyEvent):
51135
511362011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
51137
51138        Unreviewed, rolling out r82463.
51139        http://trac.webkit.org/changeset/82463
51140        https://bugs.webkit.org/show_bug.cgi?id=57482
51141
51142        Assertion failure in Node::rendererIsEditable on multiple
51143        editing tests (Requested by aroben|meeting on #webkit).
51144
51145        * css/CSSParser.cpp:
51146        (WebCore::CSSParser::parseValue):
51147        * css/CSSPrimitiveValueMappings.h:
51148        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51149        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
51150        * css/CSSValueKeywords.in:
51151        * rendering/style/RenderStyle.h:
51152        * rendering/style/RenderStyleConstants.h:
51153
511542011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
51155
51156        Reviewed by Kenneth Rohde Christiansen.
51157
51158        [Qt] QNetworkReplyHandler refactoring: signal sequence.
51159        https://bugs.webkit.org/show_bug.cgi?id=57049
51160
51161        This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
51162
51163            1 - that the signals metadatachanged, readyRead and finished will come in this order.
51164            2 - that signals metadatachanged and finished will be called exactly once.
51165
51166        Having these invariants further simplifications will be possible and will come in future patches.
51167
51168        Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
51169        instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
51170        QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
51171        metadatachanged signal.
51172
51173        * platform/network/qt/QNetworkReplyHandler.cpp:
51174        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
51175        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
51176        (WebCore::QNetworkReplyWrapper::release):
51177        (WebCore::QNetworkReplyWrapper::resetConnections):
51178        (WebCore::QNetworkReplyWrapper::receiveMetaData):
51179        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
51180        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
51181        (WebCore::QNetworkReplyHandler::resetState):
51182        (WebCore::QNetworkReplyHandler::release):
51183        (WebCore::QNetworkReplyHandler::finish):
51184        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51185        (WebCore::QNetworkReplyHandler::redirect):
51186        (WebCore::QNetworkReplyHandler::forwardData):
51187        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
51188        (WebCore::QNetworkReplyHandler::start):
51189        * platform/network/qt/QNetworkReplyHandler.h:
51190        (WebCore::QNetworkReplyWrapper::reply):
51191        (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
51192        (WebCore::QNetworkReplyWrapper::encoding):
51193        (WebCore::QNetworkReplyWrapper::advertisedMimeType):
51194        (WebCore::QNetworkReplyHandler::reply):
51195
511962011-03-30  Steve Falkenburg  <sfalken@apple.com>
51197
51198        Reviewed by Adam Roben.
51199
51200        Rename Windows configuration Release_LTCG to Production for clarity
51201        https://bugs.webkit.org/show_bug.cgi?id=57465
51202
51203        * WebCore.vcproj/QTMovieWin.vcproj:
51204        * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
51205        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
51206        * WebCore.vcproj/WebCore.sln:
51207        * WebCore.vcproj/WebCore.submit.sln:
51208        * WebCore.vcproj/WebCore.vcproj:
51209        * WebCore.vcproj/WebCoreGenerated.vcproj:
51210        * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
51211        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
51212
512132011-03-30  Brian Weinstein  <bweinstein@apple.com>
51214
51215        Reviewed by Anders Carlsson.
51216        
51217        ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
51218        https://bugs.webkit.org/show_bug.cgi?id=57477
51219        <rdar://problem/9178751>
51220        
51221        If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
51222        will call stopObservingCookieChanges when cookieStorageAdapter is nil.
51223        
51224        The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
51225        so remove the assert.
51226        
51227        * platform/network/mac/CookieStorageMac.mm:
51228        (WebCore::stopObservingCookieChanges):
51229
512302011-03-30  Sam Weinig  <sam@webkit.org>
51231
51232        Fix Leopard build.
51233
51234        * platform/DefaultLocalizationStrategy.cpp:
51235        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
51236
512372011-03-30  Sam Weinig  <sam@webkit.org>
51238
51239        Reviewed by Anders Carlsson.
51240
51241        Add default localization strategy that can be shared by WebKit1 and WebKit2
51242        https://bugs.webkit.org/show_bug.cgi?id=57406
51243
51244        Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
51245        to adopt it soon.
51246
51247        * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
51248        (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
51249        * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
51250        Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
51251
51252        * platform/LocalizedStrings.cpp:
51253        (WebCore::localizedString):
51254        Add default implementation of localization bottleneck function.
51255
51256        * platform/LocalizedStrings.h:
51257        Add localization macros here, instead of defining them in the above layer.
51258
51259        * platform/PlatformStrategies.cpp:
51260        (WebCore::PlatformStrategies::createLocalizationStrategy):
51261        * platform/PlatformStrategies.h:
51262        Add default implementation of strategy creation function which creates the default strategy.
51263
51264        * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
51265        (WebCore::localizedString):
51266        Add stub for windows, this will be update to pull from the bundle in a follow up patch.
51267
51268        * Android.mk:
51269        * CMakeLists.txt:
51270        * GNUmakefile.am:
51271        * WebCore.exp.in:
51272        * WebCore.gypi:
51273        * WebCore.pro:
51274        * WebCore.vcproj/WebCore.vcproj:
51275        * WebCore.xcodeproj/project.pbxproj:
51276        Add new files.
51277
512782011-03-30  Andras Becsi  <abecsi@webkit.org>
51279
51280        Reviewed by Darin Adler.
51281
51282        CSS: Slow parsing of rgb() with percent values
51283        https://bugs.webkit.org/show_bug.cgi?id=16708
51284
51285        Implement fast-path parsing for percentage color values.
51286
51287        Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
51288
51289        Relanding with rounding fix after it was rolled out in r82315.
51290
51291        * css/CSSParser.cpp:
51292        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
51293        (WebCore::parseDouble): Function for parsing double values if they are valid.
51294        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
51295        (WebCore::parseAlphaValue): Use the new functions.
51296        (WebCore::CSSParser::parseColor): Ditto.
51297
512982011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
51299
51300        Reviewed by Eric Seidel.
51301
51302        Add support for parsing unicode-bidi: -webkit-plaintext.
51303        https://bugs.webkit.org/show_bug.cgi?id=57457
51304
51305        Test: css3/unicode-bidi-plaintext-parse.html
51306
51307        * css/CSSParser.cpp:
51308        (WebCore::CSSParser::parseValue):
51309        * css/CSSPrimitiveValueMappings.h:
51310        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51311        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
51312        * css/CSSValueKeywords.in:
51313        * rendering/style/RenderStyle.h:
51314        * rendering/style/RenderStyleConstants.h:
51315
513162011-03-30  Andreas Kling  <kling@webkit.org>
51317
51318        Reviewed by Benjamin Poulain.
51319
51320        [Qt] Remove unused variables in GraphicsContext::fillRect()
51321
51322        * platform/graphics/qt/GraphicsContextQt.cpp:
51323        (WebCore::GraphicsContext::fillRect):
51324
513252011-03-30  Yael Aharon  <yael.aharon@nokia.com>
51326
51327        Reviewed by Eric Seidel.
51328
51329        REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
51330        https://bugs.webkit.org/show_bug.cgi?id=57442
51331
51332        When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
51333
51334        No new tests as existing test covers this case.
51335
51336        * rendering/RenderBlockLineLayout.cpp:
51337        (WebCore::reachedEndOfTextRenderer):
51338
513392011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
51340
51341        Reviewed by Chris Fleizach.
51342
51343        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
51344        https://bugs.webkit.org/show_bug.cgi?id=47636
51345
51346        Define new roles in WebCore and map them to ATK accordingly.
51347
51348        Test: platform/gtk/accessibility/aria-roles-unignored.html
51349
51350        * accessibility/AccessibilityObject.h: Added new roles to
51351        represent paragraphs, labels, forms and div sections.
51352        * accessibility/AccessibilityRenderObject.cpp:
51353        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
51354        Return ParagraphRole, LabelRole, FormRole and DivRole when needed
51355        for the GTK platform only.
51356        * accessibility/gtk/AccessibilityObjectAtk.cpp:
51357        (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
51358        roles now that those kind of nodes won't return true to isGroup().
51359        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
51360        (atkRole): Map new WebCore roles to ATK Roles.
51361        (webkit_accessible_get_role): Remove code to define roles for
51362        paragraphs, labels, forms and divs based on node's tag name.
51363
51364        Update mappings for the Mac platform.
51365
51366        * accessibility/mac/AccessibilityObjectWrapper.mm:
51367        (createAccessibilityRoleMap): Add explicit mappings from the new
51368        roles introduced to NSAccessibilityGroupRole.
51369
513702011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51371
51372        Unreviewed. Build fix for Efl and Qt Win.
51373
51374        * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
51375
513762011-03-30  Andrey Kosyakov  <caseq@chromium.org>
51377
51378        Reviewed by Pavel Feldman.
51379
51380        Web Inspector: audit run never completes, fails in DOMAgent.js
51381        https://bugs.webkit.org/show_bug.cgi?id=57349
51382
51383        - assure document is present before calling DOMAgent.querySelectAll()
51384
51385        * inspector/front-end/AuditRules.js:
51386        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
51387
513882011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51389
51390        Unreviewed. Build fix.
51391
51392        * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
51393
513942011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51395
51396        Reviewed by Pavel Feldman.
51397
51398        Web Inspector: split debugger agent into Page and Worker-specific ones
51399        https://bugs.webkit.org/show_bug.cgi?id=57345
51400
51401        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
51402        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
51403        and Page/WorkerDebuggerAgent.
51404
51405        * CMakeLists.txt:
51406        * GNUmakefile.am:
51407        * UseJSC.cmake:
51408        * WebCore.gypi:
51409        * WebCore.pro:
51410        * WebCore.vcproj/WebCore.vcproj:
51411        * WebCore.xcodeproj/project.pbxproj:
51412        * bindings/js/JSBindingsAllInOne.cpp:
51413        * bindings/js/JSInjectedScriptHostCustom.cpp:
51414        (WebCore::JSInjectedScriptHost::currentCallFrame):
51415        * bindings/js/PageScriptDebugServer.cpp: Added.
51416        (WebCore::toPage):
51417        (WebCore::PageScriptDebugServer::shared):
51418        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
51419        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
51420        (WebCore::PageScriptDebugServer::addListener):
51421        (WebCore::PageScriptDebugServer::removeListener):
51422        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
51423        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
51424        (WebCore::PageScriptDebugServer::didPause):
51425        (WebCore::PageScriptDebugServer::didContinue):
51426        (WebCore::PageScriptDebugServer::didRemoveLastListener):
51427        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
51428        * bindings/js/PageScriptDebugServer.h: Added.
51429        * bindings/js/ScriptDebugServer.cpp:
51430        (WebCore::ScriptDebugServer::ScriptDebugServer):
51431        (WebCore::ScriptDebugServer::sourceParsed):
51432        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
51433        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
51434        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
51435        (WebCore::ScriptDebugServer::pauseIfNeeded):
51436        * bindings/js/ScriptDebugServer.h:
51437        * bindings/js/WorkerScriptDebugServer.cpp: Added.
51438        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
51439        (WebCore::WorkerScriptDebugServer::addListener):
51440        (WebCore::WorkerScriptDebugServer::removeListener):
51441        * bindings/js/WorkerScriptDebugServer.h: Added.
51442        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
51443        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
51444        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
51445        (WebCore::WorkerScriptDebugServer::didPause):
51446        (WebCore::WorkerScriptDebugServer::didContinue):
51447        * bindings/v8/PageScriptDebugServer.cpp: Added.
51448        (WebCore::retrieveFrame):
51449        (WebCore::PageScriptDebugServer::shared):
51450        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
51451        (WebCore::PageScriptDebugServer::addListener):
51452        (WebCore::PageScriptDebugServer::removeListener):
51453        (WebCore::PageScriptDebugServer::setClientMessageLoop):
51454        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
51455        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
51456        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
51457        * bindings/v8/PageScriptDebugServer.h: Added.
51458        (WebCore::PageScriptDebugServer::setEnabled):
51459        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
51460        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
51461        * bindings/v8/ScriptDebugServer.cpp:
51462        (WebCore::ScriptDebugServer::ScriptDebugServer):
51463        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
51464        (WebCore::ScriptDebugServer::breakProgram):
51465        (WebCore::ScriptDebugServer::continueProgram):
51466        (WebCore::ScriptDebugServer::stepIntoStatement):
51467        (WebCore::ScriptDebugServer::stepOverStatement):
51468        (WebCore::ScriptDebugServer::stepOutOfFunction):
51469        (WebCore::ScriptDebugServer::editScriptSource):
51470        (WebCore::toScriptDebugServer):
51471        (WebCore::ScriptDebugServer::breakProgramCallback):
51472        (WebCore::ScriptDebugServer::v8DebugEventCallback):
51473        (WebCore::ScriptDebugServer::handleV8DebugEvent):
51474        (WebCore::ScriptDebugServer::isPaused):
51475        * bindings/v8/ScriptDebugServer.h:
51476        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
51477        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
51478        (WebCore::WorkerScriptDebugServer::addListener):
51479        (WebCore::WorkerScriptDebugServer::removeListener):
51480        * bindings/v8/WorkerScriptDebugServer.h: Added.
51481        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
51482        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
51483        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
51484        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
51485        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51486        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
51487        * inspector/InjectedScriptHost.h:
51488        (WebCore::InjectedScriptHost::init):
51489        (WebCore::InjectedScriptHost::debuggerAgent):
51490        * inspector/InspectorAgent.cpp:
51491        (WebCore::InspectorAgent::InspectorAgent):
51492        * inspector/InspectorDebuggerAgent.cpp:
51493        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
51494        (WebCore::InspectorDebuggerAgent::enable):
51495        (WebCore::InspectorDebuggerAgent::disable):
51496        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
51497        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
51498        (WebCore::InspectorDebuggerAgent::continueToLocation):
51499        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
51500        (WebCore::InspectorDebuggerAgent::editScriptSource):
51501        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
51502        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
51503        (WebCore::InspectorDebuggerAgent::resume):
51504        (WebCore::InspectorDebuggerAgent::stepOver):
51505        (WebCore::InspectorDebuggerAgent::stepInto):
51506        (WebCore::InspectorDebuggerAgent::stepOut):
51507        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
51508        (WebCore::InspectorDebuggerAgent::didPause):
51509        (WebCore::InspectorDebuggerAgent::breakProgram):
51510        * inspector/InspectorDebuggerAgent.h:
51511        * inspector/InspectorProfilerAgent.cpp:
51512        (WebCore::InspectorProfilerAgent::disable):
51513        (WebCore::InspectorProfilerAgent::enable):
51514        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
51515        * inspector/PageDebuggerAgent.cpp: Added.
51516        (WebCore::PageDebuggerAgent::create):
51517        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
51518        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
51519        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
51520        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
51521        (WebCore::PageDebuggerAgent::scriptDebugServer):
51522        * inspector/PageDebuggerAgent.h: Added.
51523        * inspector/WorkerDebuggerAgent.cpp: Added.
51524        (WebCore::WorkerDebuggerAgent::create):
51525        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
51526        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
51527        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
51528        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
51529        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
51530        * inspector/WorkerDebuggerAgent.h: Added.
51531
515322011-03-30  Levi Weintraub  <leviw@chromium.org>
51533
51534        Reviewed by Ryosuke Niwa.
51535
51536        Clicking below last line of right-to-left editable text that puts caret in the wrong place
51537        https://bugs.webkit.org/show_bug.cgi?id=38087
51538
51539        Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
51540        instead of lastLeafChild, which wasn't correct in the RTL case.
51541
51542        Test: editing/selection/click-below-rtl-text.html
51543
51544        * editing/visible_units.cpp:
51545        (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
51546        (WebCore::logicalEndPositionForLine): Ditto.
51547        * editing/visible_units.h:
51548        * rendering/RenderBlock.cpp:
51549        (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
51550        of lastLeafChild.
51551        * rendering/RootInlineBox.cpp:
51552        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
51553        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
51554        * rendering/RootInlineBox.h:
51555
515562011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51557
51558        Unreviewed. Rollout r82438 and r82436.
51559
51560        * CMakeLists.txt:
51561        * GNUmakefile.am:
51562        * UseJSC.cmake:
51563        * WebCore.gypi:
51564        * WebCore.pro:
51565        * WebCore.vcproj/WebCore.vcproj:
51566        * WebCore.xcodeproj/project.pbxproj:
51567        * bindings/js/JSBindingsAllInOne.cpp:
51568        * bindings/js/JSInjectedScriptHostCustom.cpp:
51569        (WebCore::JSInjectedScriptHost::currentCallFrame):
51570        * bindings/js/PageScriptDebugServer.cpp: Removed.
51571        * bindings/js/PageScriptDebugServer.h: Removed.
51572        * bindings/js/ScriptDebugServer.cpp:
51573        (WebCore::ScriptDebugServer::shared):
51574        (WebCore::ScriptDebugServer::ScriptDebugServer):
51575        (WebCore::ScriptDebugServer::addListener):
51576        (WebCore::ScriptDebugServer::removeListener):
51577        (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
51578        (WebCore::toPage):
51579        (WebCore::ScriptDebugServer::sourceParsed):
51580        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
51581        (WebCore::ScriptDebugServer::setJavaScriptPaused):
51582        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
51583        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
51584        (WebCore::ScriptDebugServer::pauseIfNeeded):
51585        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
51586        (WebCore::ScriptDebugServer::didAddListener):
51587        (WebCore::ScriptDebugServer::didRemoveListener):
51588        * bindings/js/ScriptDebugServer.h:
51589        * bindings/js/WorkerScriptDebugServer.cpp: Removed.
51590        * bindings/js/WorkerScriptDebugServer.h: Removed.
51591        * bindings/v8/PageScriptDebugServer.cpp: Removed.
51592        * bindings/v8/PageScriptDebugServer.h: Removed.
51593        * bindings/v8/ScriptDebugServer.cpp:
51594        (WebCore::retrieveFrame):
51595        (WebCore::ScriptDebugServer::shared):
51596        (WebCore::ScriptDebugServer::ScriptDebugServer):
51597        (WebCore::ScriptDebugServer::addListener):
51598        (WebCore::ScriptDebugServer::removeListener):
51599        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
51600        (WebCore::ScriptDebugServer::breakProgram):
51601        (WebCore::ScriptDebugServer::continueProgram):
51602        (WebCore::ScriptDebugServer::stepIntoStatement):
51603        (WebCore::ScriptDebugServer::stepOverStatement):
51604        (WebCore::ScriptDebugServer::stepOutOfFunction):
51605        (WebCore::ScriptDebugServer::editScriptSource):
51606        (WebCore::ScriptDebugServer::setEnabled):
51607        (WebCore::ScriptDebugServer::breakProgramCallback):
51608        (WebCore::ScriptDebugServer::v8DebugEventCallback):
51609        (WebCore::ScriptDebugServer::handleV8DebugEvent):
51610        (WebCore::ScriptDebugServer::didResume):
51611        * bindings/v8/ScriptDebugServer.h:
51612        (WebCore::ScriptDebugServer::pageCreated):
51613        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
51614        (WebCore::ScriptDebugServer::setClientMessageLoop):
51615        * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
51616        * bindings/v8/WorkerScriptDebugServer.h: Removed.
51617        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51618        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
51619        * inspector/InjectedScriptHost.h:
51620        (WebCore::InjectedScriptHost::init):
51621        * inspector/InspectorAgent.cpp:
51622        (WebCore::InspectorAgent::InspectorAgent):
51623        * inspector/InspectorDebuggerAgent.cpp:
51624        (WebCore::InspectorDebuggerAgent::create):
51625        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
51626        (WebCore::InspectorDebuggerAgent::enable):
51627        (WebCore::InspectorDebuggerAgent::disable):
51628        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
51629        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
51630        (WebCore::InspectorDebuggerAgent::continueToLocation):
51631        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
51632        (WebCore::InspectorDebuggerAgent::editScriptSource):
51633        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
51634        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
51635        (WebCore::InspectorDebuggerAgent::resume):
51636        (WebCore::InspectorDebuggerAgent::stepOver):
51637        (WebCore::InspectorDebuggerAgent::stepInto):
51638        (WebCore::InspectorDebuggerAgent::stepOut):
51639        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
51640        (WebCore::InspectorDebuggerAgent::didPause):
51641        (WebCore::InspectorDebuggerAgent::breakProgram):
51642        * inspector/InspectorDebuggerAgent.h:
51643        * inspector/InspectorProfilerAgent.cpp:
51644        (WebCore::InspectorProfilerAgent::disable):
51645        (WebCore::InspectorProfilerAgent::enable):
51646        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
51647        * inspector/PageDebuggerAgent.cpp: Removed.
51648        * inspector/PageDebuggerAgent.h: Removed.
51649        * inspector/WorkerDebuggerAgent.cpp: Removed.
51650        * inspector/WorkerDebuggerAgent.h: Removed.
51651
516522011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51653
51654        Unreviewed. Fix compilation on Windows and EFL.
51655
51656        * CMakeLists.txt:
51657        * bindings/js/JSBindingsAllInOne.cpp:
51658
516592011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51660
51661        Reviewed by Pavel Feldman.
51662
51663        Web Inspector: split debugger agent into Page and Worker-specific ones
51664        https://bugs.webkit.org/show_bug.cgi?id=57345
51665
51666        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
51667        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
51668        and Page/WorkerDebuggerAgent.
51669
51670        * GNUmakefile.am:
51671        * UseJSC.cmake:
51672        * WebCore.gypi:
51673        * WebCore.pro:
51674        * WebCore.vcproj/WebCore.vcproj:
51675        * WebCore.xcodeproj/project.pbxproj:
51676        * bindings/js/JSInjectedScriptHostCustom.cpp:
51677        (WebCore::JSInjectedScriptHost::currentCallFrame):
51678        * bindings/js/PageScriptDebugServer.cpp: Added.
51679        (WebCore::toPage):
51680        (WebCore::PageScriptDebugServer::shared):
51681        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
51682        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
51683        (WebCore::PageScriptDebugServer::addListener):
51684        (WebCore::PageScriptDebugServer::removeListener):
51685        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
51686        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
51687        (WebCore::PageScriptDebugServer::didPause):
51688        (WebCore::PageScriptDebugServer::didContinue):
51689        (WebCore::PageScriptDebugServer::didRemoveLastListener):
51690        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
51691        * bindings/js/PageScriptDebugServer.h: Added.
51692        * bindings/js/ScriptDebugServer.cpp:
51693        (WebCore::ScriptDebugServer::ScriptDebugServer):
51694        (WebCore::ScriptDebugServer::sourceParsed):
51695        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
51696        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
51697        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
51698        (WebCore::ScriptDebugServer::pauseIfNeeded):
51699        * bindings/js/ScriptDebugServer.h:
51700        * bindings/js/WorkerScriptDebugServer.cpp: Added.
51701        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
51702        (WebCore::WorkerScriptDebugServer::addListener):
51703        (WebCore::WorkerScriptDebugServer::removeListener):
51704        * bindings/js/WorkerScriptDebugServer.h: Added.
51705        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
51706        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
51707        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
51708        (WebCore::WorkerScriptDebugServer::didPause):
51709        (WebCore::WorkerScriptDebugServer::didContinue):
51710        * bindings/v8/PageScriptDebugServer.cpp: Added.
51711        (WebCore::retrieveFrame):
51712        (WebCore::PageScriptDebugServer::shared):
51713        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
51714        (WebCore::PageScriptDebugServer::addListener):
51715        (WebCore::PageScriptDebugServer::removeListener):
51716        (WebCore::PageScriptDebugServer::setClientMessageLoop):
51717        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
51718        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
51719        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
51720        * bindings/v8/PageScriptDebugServer.h: Added.
51721        (WebCore::PageScriptDebugServer::setEnabled):
51722        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
51723        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
51724        * bindings/v8/ScriptDebugServer.cpp:
51725        (WebCore::ScriptDebugServer::ScriptDebugServer):
51726        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
51727        (WebCore::ScriptDebugServer::breakProgram):
51728        (WebCore::ScriptDebugServer::continueProgram):
51729        (WebCore::ScriptDebugServer::stepIntoStatement):
51730        (WebCore::ScriptDebugServer::stepOverStatement):
51731        (WebCore::ScriptDebugServer::stepOutOfFunction):
51732        (WebCore::ScriptDebugServer::editScriptSource):
51733        (WebCore::toScriptDebugServer):
51734        (WebCore::ScriptDebugServer::breakProgramCallback):
51735        (WebCore::ScriptDebugServer::v8DebugEventCallback):
51736        (WebCore::ScriptDebugServer::handleV8DebugEvent):
51737        (WebCore::ScriptDebugServer::isPaused):
51738        * bindings/v8/ScriptDebugServer.h:
51739        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
51740        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
51741        (WebCore::WorkerScriptDebugServer::addListener):
51742        (WebCore::WorkerScriptDebugServer::removeListener):
51743        * bindings/v8/WorkerScriptDebugServer.h: Added.
51744        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
51745        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
51746        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
51747        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
51748        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51749        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
51750        * inspector/InjectedScriptHost.h:
51751        (WebCore::InjectedScriptHost::init):
51752        (WebCore::InjectedScriptHost::debuggerAgent):
51753        * inspector/InspectorAgent.cpp:
51754        (WebCore::InspectorAgent::InspectorAgent):
51755        * inspector/InspectorDebuggerAgent.cpp:
51756        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
51757        (WebCore::InspectorDebuggerAgent::enable):
51758        (WebCore::InspectorDebuggerAgent::disable):
51759        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
51760        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
51761        (WebCore::InspectorDebuggerAgent::continueToLocation):
51762        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
51763        (WebCore::InspectorDebuggerAgent::editScriptSource):
51764        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
51765        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
51766        (WebCore::InspectorDebuggerAgent::resume):
51767        (WebCore::InspectorDebuggerAgent::stepOver):
51768        (WebCore::InspectorDebuggerAgent::stepInto):
51769        (WebCore::InspectorDebuggerAgent::stepOut):
51770        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
51771        (WebCore::InspectorDebuggerAgent::didPause):
51772        (WebCore::InspectorDebuggerAgent::breakProgram):
51773        * inspector/InspectorDebuggerAgent.h:
51774        * inspector/InspectorProfilerAgent.cpp:
51775        (WebCore::InspectorProfilerAgent::disable):
51776        (WebCore::InspectorProfilerAgent::enable):
51777        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
51778        * inspector/PageDebuggerAgent.cpp: Added.
51779        (WebCore::PageDebuggerAgent::create):
51780        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
51781        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
51782        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
51783        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
51784        (WebCore::PageDebuggerAgent::scriptDebugServer):
51785        * inspector/PageDebuggerAgent.h: Added.
51786        * inspector/WorkerDebuggerAgent.cpp: Added.
51787        (WebCore::WorkerDebuggerAgent::create):
51788        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
51789        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
51790        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
51791        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
51792        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
51793        * inspector/WorkerDebuggerAgent.h: Added.
51794
517952011-03-30  Alexander Pavlov  <apavlov@chromium.org>
51796
51797        Reviewed by Pavel Feldman.
51798
51799        Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
51800        https://bugs.webkit.org/show_bug.cgi?id=57440
51801
51802        * inspector/InspectorCSSAgent.cpp:
51803        (WebCore::InspectorCSSAgent::getStylesForNode):
51804        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
51805        * inspector/InspectorCSSAgent.h:
51806        * inspector/front-end/CSSStyleModel.js:
51807        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
51808
518092011-03-30  Evan Martin  <evan@chromium.org>
51810
51811        Reviewed by Ryosuke Niwa.
51812
51813        Fix a last-second ASSERT in previous change that was wrong.
51814
51815        * dom/Document.cpp:
51816        (WebCore::Document::setTitle):
51817
518182011-03-30  Levi Weintraub  <leviw@chromium.org>
51819
51820        Reviewed by Eric Seidel.
51821
51822        RTL:  Directionality always reset on hard line break
51823        https://bugs.webkit.org/show_bug.cgi?id=23124
51824
51825        No longer clearing all BidiContexts when we hit a hard line break.
51826        Instead, directionality applied by DOM elements is preserved by
51827        reconstructing the context stack ignoring those that didn't come
51828        from the DOM.
51829
51830        Test: fast/text/international/bidi-br-as-paragraph-separator.html
51831
51832        * platform/text/BidiContext.cpp:
51833        (WebCore::BidiContext::createUncached):
51834        (WebCore::BidiContext::create):
51835        (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
51836        and recalculate its bidi level.
51837        (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
51838        a BidiContext stack that's equivalent but without contexts from Unicode directional
51839        characters.
51840        (WebCore::operator==): Now takes into account embedding source.
51841        * platform/text/BidiContext.h:
51842        (WebCore::BidiContext::source): Enum to specify whether an embedded
51843        bidirectional control came from the DOM/Style or Unicode characters
51844        (WebCore::BidiContext::BidiContext):
51845        * platform/text/BidiResolver.h:
51846        (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
51847        and a hint about where it came from so we can differentiate DOM directions
51848        from unicode direction control characters.
51849        (WebCore::BidiEmbedding::direction):
51850        (WebCore::BidiEmbedding::source):
51851        (WebCore::::embed): Now takes a source as well as a direction.
51852        (WebCore::::commitExplicitEmbedding):
51853        (WebCore::::createBidiRunsForLine):
51854        * rendering/InlineIterator.h:
51855        (WebCore::bidiNext):
51856        (WebCore::bidiFirst):
51857        * rendering/RenderBlockLineLayout.cpp:
51858        (WebCore::RenderBlock::determineStartPosition):
51859
518602011-03-30  Steve Block  <steveblock@google.com>
51861
51862        Reviewed by Jeremy Orlow.
51863
51864        JavaMethod should not expose JavaString in its API
51865        https://bugs.webkit.org/show_bug.cgi?id=55765
51866
51867        - Factors out a JavaMethod interface which does not use JNI types.
51868          This will allow the Java bridge to be used with objects that
51869          don't use JNI directly. The existing jobject-backed
51870          implementation is moved to a new JavaMethodJobject class which
51871          implements the interface.
51872        - Use WTF::String in place of JavaString in the API, as JavaString
51873          exposes JNI types in its interface.
51874        - Remove the method ID as it uses JNI types.
51875
51876        No new tests, refactoring only.
51877
51878        * Android.jscbindings.mk:
51879        * Android.v8bindings.mk:
51880        * GNUmakefile.am:
51881        * WebCore.gypi:
51882        * WebCore.xcodeproj/project.pbxproj:
51883        * bridge/jni/JavaMethod.h:
51884        * bridge/jni/JavaMethodJobject.cpp:
51885        (JavaMethodJobject::JavaMethodJobject):
51886        (JavaMethodJobject::~JavaMethodJobject):
51887        (appendClassName):
51888        (JavaMethodJobject::signature):
51889        * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
51890        (JSC::Bindings::JavaMethodJobject::name):
51891        (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
51892        (JSC::Bindings::JavaMethodJobject::parameterAt):
51893        (JSC::Bindings::JavaMethodJobject::returnType):
51894        (JSC::Bindings::JavaMethodJobject::isStatic):
51895        (JSC::Bindings::JavaMethodJobject::numParameters):
51896        * bridge/jni/jsc/JavaClassJSC.cpp:
51897        (JavaClass::JavaClass):
51898        * bridge/jni/jsc/JavaInstanceJSC.cpp:
51899        (JavaInstance::invokeMethod):
51900        * bridge/jni/v8/JavaClassV8.cpp:
51901        (JavaClass::JavaClass):
51902        * bridge/jni/v8/JavaInstanceV8.cpp:
51903        (JavaInstance::invokeMethod):
51904
519052011-03-30  Evan Martin  <evan@chromium.org>
51906
51907        Reviewed by Ryosuke Niwa.
51908
51909        clean up Document's handling of title changes
51910        https://bugs.webkit.org/show_bug.cgi?id=57433
51911
51912        Document::setTitle has two entry points:
51913        1) from DOM bindings, like document.title="foo"
51914        2) from title tags, like <title>foo</title> in HTML
51915
51916        Split these two code paths to make the code easier to follow.
51917        Also, replace the repeated pattern of
51918            m_rawTitle = "foo"; updateTitle();
51919        with
51920            updateTitle("foo");
51921
51922        * dom/Document.cpp:
51923        (WebCore::Document::updateTitle):
51924        (WebCore::Document::setTitle):
51925        (WebCore::Document::setTitleElement):
51926        (WebCore::Document::removeTitle):
51927        * dom/Document.h:
51928        * html/HTMLTitleElement.cpp:
51929        (WebCore::HTMLTitleElement::insertedIntoDocument):
51930        (WebCore::HTMLTitleElement::childrenChanged):
51931        * svg/SVGTitleElement.cpp:
51932        (WebCore::SVGTitleElement::insertedIntoDocument):
51933        (WebCore::SVGTitleElement::childrenChanged):
51934
519352011-03-30  Levi Weintraub  <leviw@chromium.org>
51936
51937        Reviewed by Ryosuke Niwa.
51938
51939        BreakBlockQuoteCommand assumes all li tags have list item renderers
51940        https://bugs.webkit.org/show_bug.cgi?id=57253
51941
51942        Checking that the renderers of li nodes are actually RenderListItems
51943        before treating them as such.
51944
51945        Test: editing/execCommand/crash-breaking-blockquote-with-list.html
51946
51947        * editing/BreakBlockquoteCommand.cpp:
51948        (WebCore::BreakBlockQuoteCommand::doApply):
51949
519502011-03-30  Pavel Feldman  <pfeldman@chromium.org>
51951
51952        Not reviewed: fixing typo in the inspector front-end.
51953
51954        Web Inspector: REGRESSION: Broken live edit errors handling
51955        https://bugs.webkit.org/show_bug.cgi?id=57436
51956
51957        * inspector/front-end/DebuggerModel.js:
51958        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
51959
519602011-03-30  Yael Aharon  <yael.aharon@nokia.com>
51961
51962        Reviewed by Eric Seidel.
51963
51964        Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
51965        https://bugs.webkit.org/show_bug.cgi?id=9272
51966
51967
51968        Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
51969
51970        Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
51971        to decide if there is more text in the next line.
51972
51973        Tests: fast/borders/rtl-border-01.html
51974               fast/borders/rtl-border-02.html
51975               fast/borders/rtl-border-03.html
51976               fast/borders/rtl-border-04.html
51977               fast/borders/rtl-border-05.html
51978
51979        * rendering/InlineFlowBox.cpp:
51980        (WebCore::isAnsectorAndWithinBlock):
51981        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
51982        * rendering/InlineFlowBox.h:
51983        * rendering/RenderBlock.h:
51984        * rendering/RenderBlockLineLayout.cpp:
51985        (WebCore::RenderBlock::constructLine):
51986        (WebCore::reachedEndOfTextRenderer):
51987        (WebCore::RenderBlock::layoutInlineChildren):
51988
519892011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
51990
51991        Reviewed by Eric Seidel.
51992
51993        REGRESSION (r68976): Incorrect bidi rendering in SVG text
51994        https://bugs.webkit.org/show_bug.cgi?id=53980
51995
51996        Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
51997        in visual and logical order. Added several helper methods to make the code more readable.
51998
51999        Fix Unicode directional formatting characters support, now works as expected.
52000
52001        Test: svg/text/bidi-embedded-direction.svg
52002
52003        * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
52004        (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
52005        (WebCore::getLogicalEndBoxAndNode): Ditto.
52006        * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
52007        (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
52008        * rendering/InlineFlowBox.h:
52009        * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
52010        (WebCore::RenderSVGText::RenderSVGText):
52011        (WebCore::RenderSVGText::layout):
52012        * rendering/svg/RenderSVGText.h: Ditto.
52013        (WebCore::RenderSVGText::layoutAttributes):
52014        (WebCore::RenderSVGText::needsReordering):
52015        * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
52016                                              which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
52017        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
52018        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
52019        (WebCore::swapItems):
52020        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
52021        (WebCore::SVGRootInlineBox::reorderValueLists):
52022        * rendering/svg/SVGRootInlineBox.h:
52023        * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
52024        (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
52025        (WebCore::SVGTextLayoutAttributes::dump):
52026        * rendering/svg/SVGTextLayoutAttributes.h:
52027        (WebCore::SVGTextLayoutAttributes::context):
52028        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
52029        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
52030        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
52031        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
52032        * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
52033        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
52034        (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
52035        (WebCore::SVGTextLayoutEngine::recordTextFragment):
52036        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
52037        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
52038        (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
52039        (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
52040        (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
52041        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
52042        * rendering/svg/SVGTextLayoutEngine.h:
52043
520442011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
52045
52046        Not reviewed trivial change.
52047
52048        Web Inspector: Remove unnecessary function arguments after r82281.
52049        https://bugs.webkit.org/show_bug.cgi?id=57327
52050
52051        * inspector/InspectorAgent.cpp:
52052        (WebCore::InspectorAgent::didCommitLoad):
52053        (WebCore::InspectorAgent::domContentLoadedEventFired):
52054        * inspector/InspectorAgent.h:
52055        * inspector/InspectorInstrumentation.cpp:
52056        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
52057        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
52058
520592011-03-30  Kent Tamura  <tkent@chromium.org>
52060
52061        Reviewed by Ojan Vafai.
52062
52063        H1 element should have different default style if it is in HTML5 sectioning elements.
52064        https://bugs.webkit.org/show_bug.cgi?id=52693
52065
52066        Test: fast/css/h1-in-section-elements.html
52067
52068        * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
52069        (:-webkit-any(article,aside,nav,section) h1):
52070        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
52071        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
52072        (:-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):
52073        (:-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):
52074
520752011-03-29  Beth Dakin  <bdakin@apple.com>
52076
52077        Reviewed by Maciej Stachowiak.
52078
52079        Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
52080        webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 
52081        -and corresponding-
52082        <rdar://problem/8665411>
52083
52084        * platform/mac/PlatformScreenMac.mm:
52085        (WebCore::windowScaleFactor):
52086        (WebCore::toUserSpace):
52087        (WebCore::toDeviceSpace):
52088
520892011-03-29  Eric Seidel  <eric@webkit.org>
52090
52091        Reviewed by Dimitri Glazkov.
52092
52093        Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
52094        https://bugs.webkit.org/show_bug.cgi?id=57369
52095
52096        I considered renaming these to m_endOfRun and m_startOfRun but decided
52097        that was too verbose for now (given how often they're used).  I suspect
52098        with a bit more refactoring we'll find they're not used very often and can be renamed
52099        if so desired.
52100
52101        * platform/text/BidiResolver.h:
52102        (WebCore::::appendRun):
52103        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
52104        (WebCore::::lowerExplicitEmbeddingLevel):
52105        (WebCore::::raiseExplicitEmbeddingLevel):
52106        (WebCore::::createBidiRunsForLine):
52107        * rendering/InlineIterator.h:
52108        (WebCore::InlineBidiResolver::appendRun):
52109
521102011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
52111
52112        Reviewed by Pavel Feldman.
52113
52114        Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
52115        https://bugs.webkit.org/show_bug.cgi?id=57351
52116
52117        * bindings/js/ScriptHeapSnapshot.h:
52118        * bindings/v8/ScriptHeapSnapshot.cpp:
52119        * bindings/v8/ScriptHeapSnapshot.h:
52120        * inspector/Inspector.json:
52121        * inspector/InspectorProfilerAgent.cpp:
52122        * inspector/InspectorProfilerAgent.h:
52123        * inspector/front-end/DetailedHeapshotGridNodes.js:
52124        (WebInspector.HeapSnapshotGenericObjectNode):
52125        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
52126        * inspector/front-end/DetailedHeapshotView.js:
52127        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
52128
521292011-03-29  Eric Seidel  <eric@webkit.org>
52130
52131        Reviewed by Ryosuke Niwa.
52132
52133        Split more logic out from createBidiRunsForLine for readability
52134        https://bugs.webkit.org/show_bug.cgi?id=57341
52135
52136        I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
52137        This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
52138
52139        * platform/text/BidiResolver.h:
52140        (WebCore::::reorderRunsFromLevels):
52141        (WebCore::::createBidiRunsForLine):
52142
521432011-03-29  Kent Tamura  <tkent@chromium.org>
52144
52145        Reviewed by Dimitri Glazkov.
52146
52147        Make validation message bubble testable
52148        https://bugs.webkit.org/show_bug.cgi?id=57290
52149
52150        Introduce a setting for validation message timer so that we can configure
52151        how long we show a validation message bubble.
52152
52153        Test: fast/forms/validation-message-appearance.html
52154
52155        * html/ValidationMessage.cpp:
52156        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
52157          Don't set a timer if the timer magnification value is 0 or negative.
52158          Otherwise, hides the bubble length * magnification / 1000 seconds.
52159        * page/Settings.cpp:
52160        (WebCore::Settings::Settings): Initialize the timer magnification value.
52161        * page/Settings.h:
52162        (WebCore::Settings::setValidationMessageTimerMagnification): Added.
52163        (WebCore::Settings::validationMessageTimerMaginification): Added.
52164
521652011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
52166
52167        Remove the extraneous declaration I accidentally added in r82376.
52168
52169        * dom/MouseEvent.h: Removed createSimulated decl.
52170
521712011-03-29  James Robinson  <jamesr@chromium.org>
52172
52173        Reviewed by Kenneth Russell.
52174
52175        [chromium] Compositor crash with show-layer-borders flag
52176        https://bugs.webkit.org/show_bug.cgi?id=57292
52177
52178        Synchronize the debug border color/width with other properties to ensure the appropriate
52179        CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
52180        test.
52181
52182        * platform/graphics/chromium/LayerChromium.cpp:
52183        (WebCore::LayerChromium::pushPropertiesTo):
52184        (WebCore::LayerChromium::setBorderColor):
52185        (WebCore::LayerChromium::setBorderWidth):
52186        * platform/graphics/chromium/LayerChromium.h:
52187
521882011-03-29  Tony Gentilcore  <tonyg@chromium.org>
52189
52190        Reviewed by Adam Barth.
52191
52192        Teach the preload scanner about &lt;input type=image&gt;
52193        https://bugs.webkit.org/show_bug.cgi?id=57404
52194
52195        I did a very rough sample of the top 50 web pages to see how many of each
52196        HTML resource type they include:
52197        img src: 1,359
52198        script src: 276
52199        link href: 256
52200        iframe src: 104
52201        input src: 50
52202        embed src: 37
52203        @import: 13
52204        object data: 11
52205
52206        Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
52207        This patch only does inputs.
52208
52209        Test: fast/preloader/input.html
52210
52211        * html/parser/HTMLPreloadScanner.cpp:
52212        (WebCore::HTMLNames::PreloadTask::PreloadTask):
52213        (WebCore::HTMLNames::PreloadTask::processAttributes):
52214        (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
52215        (WebCore::HTMLNames::PreloadTask::preload):
52216
522172011-03-29  Luke Macpherson   <macpherson@chromium.org>
52218
52219        Reviewed by David Levin.
52220
52221        Improve the massive switch statement in CSSStyleSelector::applyProperty.
52222        https://bugs.webkit.org/show_bug.cgi?id=56288
52223
52224        No new tests are needed because no new functionality exposed.
52225
52226        * css/CSSStyleSelector.cpp:
52227        (WebCore::CSSStyleSelector::applyProperty):
52228        Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
52229        Updated comment.
52230
522312011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
52232
52233        Reviewed by Darin Adler.
52234
52235        Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
52236        https://bugs.webkit.org/show_bug.cgi?id=57402
52237
52238        No functional changes, covered by existing tests.
52239
52240        * dom/EventDispatcher.cpp:
52241        (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
52242        (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
52243            into one, now that simulated-click events don't need one.
52244        * dom/EventDispatcher.h: Updated decls.
52245        * dom/MouseEvent.cpp:
52246        (WebCore::SimulatedMouseEvent::create): Added.
52247        (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
52248        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
52249        * dom/MouseEvent.h: Made constructor protected.
52250
522512011-03-29  Anders Carlsson  <andersca@apple.com>
52252
52253        Fix build.
52254
52255        * WebCore.exp.in:
52256
522572011-03-29  Steve Block  <steveblock@google.com>
52258
52259        Reviewed by Jeremy Orlow.
52260
52261        JavaInstance should not use jvalue in its API
52262        https://bugs.webkit.org/show_bug.cgi?id=57019
52263
52264        This change updates JavaInstance for V8 to use JavaValue, rather than
52265        jvalue, in its API. This will allow us to create an API for
52266        JavaInstance that is independent of JNI, to allow it to be
52267        implemented on platforms that do not use JNI directly.
52268
52269        Refactoring only, no new tests.
52270
52271        * bridge/jni/v8/JavaInstanceV8.cpp:
52272        (JavaInstance::invokeMethod):
52273        (JavaInstance::getField):
52274        * bridge/jni/v8/JavaInstanceV8.h:
52275        * bridge/jni/v8/JavaNPObjectV8.cpp:
52276        (JSC::Bindings::JavaNPObjectInvoke):
52277        (JSC::Bindings::JavaNPObjectGetProperty):
52278        * bridge/jni/v8/JavaValueV8.h:
52279
522802011-03-29  Eric Seidel  <eric@webkit.org>
52281
52282        Reviewed by Dimitri Glazkov.
52283
52284        Rename BidiResolver::last to m_last to match modern style
52285        https://bugs.webkit.org/show_bug.cgi?id=57367
52286
52287        * platform/text/BidiResolver.h:
52288        (WebCore::::lowerExplicitEmbeddingLevel):
52289        (WebCore::::raiseExplicitEmbeddingLevel):
52290        (WebCore::::createBidiRunsForLine):
52291
522922011-03-29  Justin Schuh  <jschuh@chromium.org>
52293
52294        Reviewed by Maciej Stachowiak.
52295
52296        SVGComponentTransferFunctionElement should validate type
52297        https://bugs.webkit.org/show_bug.cgi?id=56960
52298
52299        Test: svg/filters/feComponentTransfer-style-crash.xhtml
52300
52301        * svg/SVGComponentTransferFunctionElement.cpp:
52302        (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
52303        * svg/SVGComponentTransferFunctionElement.h:
52304
523052011-03-29  Thomas Klausner  <tk@giga.or.at>
52306
52307        Reviewed by David Levin.
52308
52309        png-1.5 fixes
52310        https://bugs.webkit.org/show_bug.cgi?id=54406
52311
52312        Fix compilation with png-1.5: struct members were hidden, and
52313        a new API to terminate data processing was added (especially for
52314        WebKit).
52315
52316        Compilation fixes, so no new tests.
52317
52318        * platform/image-decoders/png/PNGImageDecoder.cpp:
52319        (WebCore::PNGImageDecoder::headerAvailable):
52320        (WebCore::PNGImageDecoder::rowAvailable):
52321
523222011-03-29  Gavin Peters  <gavinp@chromium.org>
52323
52324        Reviewed by Tony Gentilcore.
52325
52326        Add beforeload to icon and prefetch link rel types
52327        https://bugs.webkit.org/show_bug.cgi?id=56424
52328
52329        Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
52330        thread, I've discussed my hopes for the link element, and adding the link header.  This
52331        change helps improve the link header by making it participate in the beforeload event in
52332        two more important cases.
52333
52334        Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
52335               http/tests/misc/link-rel-icon-beforeload.html
52336               webarchive/test-link-rel-icon-beforeload.html
52337
52338        * html/HTMLLinkElement.cpp:
52339        (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
52340        (WebCore::HTMLLinkElement::process):
52341        * html/HTMLLinkElement.h:
52342
523432011-03-29  Eric Seidel  <eric@webkit.org>
52344
52345        Reviewed by Dimitri Glazkov.
52346
52347        Rename BidiResolver::current to BidiResolver::m_current to match modern style
52348        https://bugs.webkit.org/show_bug.cgi?id=57363
52349
52350        I was very confused by current until I realized it was a member variable.
52351        I also did m_reachedEndOfLine since that was small.
52352
52353        * platform/text/BidiResolver.h:
52354        (WebCore::BidiResolver::position):
52355        (WebCore::BidiResolver::setPosition):
52356        (WebCore::BidiResolver::increment):
52357        (WebCore::::createBidiRunsForLine):
52358
523592011-03-29  Geoff Pike  <gpike@chromium.org>
52360
52361        Reviewed by Dimitri Glazkov.
52362
52363        In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
52364        lazily.  In my informal testing it seems to be used hardly at all, so
52365        it's wasteful to create it eagerly.  Initializing a ListHashSet
52366        is expensive because a ListHashSet initially has space for 256
52367        elements, and that space is memset to 0.
52368
52369        This change should improve performance but have no impact on
52370        correctness.  On x86-64, for example, the change cuts the
52371        cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
52372        from ~1700 cycles to ~300 cycles.
52373
52374        * rendering/HitTestResult.cpp:
52375        (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
52376        (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
52377        (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
52378        (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
52379        * rendering/HitTestResult.h:
52380        (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().
52381
523822011-03-29  Timothy Hatcher  <timothy@apple.com>
52383
52384        Update the order of the context menu to better match AppKit on Mac.
52385
52386        <rdar://problem/9054893>
52387
52388        Reviewed by John Sullivan.
52389
52390        * English.lproj/Localizable.strings: Updated.
52391        * page/ContextMenuController.cpp:
52392        (WebCore::ContextMenuController::populate): Update the order of items on Mac.
52393        * platform/LocalizationStrategy.h:
52394        * platform/LocalizedStrings.cpp:
52395        (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
52396        * platform/LocalizedStrings.h:
52397        * platform/android/LocalizedStringsAndroid.cpp:
52398        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52399        * platform/brew/LocalizedStringsBrew.cpp:
52400        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52401        * platform/efl/LocalizedStringsEfl.cpp:
52402        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52403        * platform/gtk/LocalizedStringsGtk.cpp:
52404        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52405        * platform/haiku/LocalizedStringsHaiku.cpp:
52406        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52407        * platform/wx/LocalizedStringsWx.cpp:
52408        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
52409
524102011-03-29  Dean Jackson  <dino@apple.com>
52411
52412        Reviewed by Chris Marrin and Ken Russell.
52413
52414        https://bugs.webkit.org/show_bug.cgi?id=57248
52415        Occlusion issues with WebGL in Safari
52416
52417        The depth buffer on Safari ports was being set up with a
52418        maximum of 16 bits. Now we use a combined 24/8 depth/stencil
52419        buffer on Mac ports.
52420
52421        No new tests as this is the setting for a particular port. Other
52422        ports may use different defaults.
52423
52424        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
52425        (WebCore::GraphicsContext3D::validateAttributes):
52426        - use Extensions3D to test for depth and multisample extensions
52427          rather than querying OpenGL directly.
52428        (WebCore::GraphicsContext3D::reshape):
52429        - use a 24bit depth buffer when the extension is enabled.
52430
524312011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
52432
52433        Sorted XCode project. It's gotten quite out of sorts.
52434
52435        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
52436
524372011-03-29  Emil A Eklund  <eae@chromium.org>
52438
52439        Reviewed by Dimitri Glazkov.
52440
52441        DatasetDOMStringMap::item and ::contains copies attribute name string
52442        https://bugs.webkit.org/show_bug.cgi?id=55645
52443
52444        Change propertyNameMatchesAttributeName to match without creating a copy
52445        of the string.
52446
52447        * dom/DatasetDOMStringMap.cpp:
52448        (WebCore::propertyNameMatchesAttributeName):
52449
524502011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
52451
52452        Unreviewed rollout r82282, part of r82288, r82298.
52453
52454        * css/CSSParser.cpp:
52455        (WebCore::parseColorInt):
52456        (WebCore::isValidDouble):
52457        (WebCore::parseAlphaValue):
52458        (WebCore::CSSParser::parseColor):
52459
524602011-03-25  Brent Fulgham  <bfulgham@webkit.org>
52461
52462        Reviewed by Dave Hyatt.
52463
52464        https://bugs.webkit.org/show_bug.cgi?id=55981
52465        Second round of clean-ups, aimed at supporting GTK with the
52466        same unified FontPlatformData header.  This version removes
52467        some unneeded WinCairo code, and aligns the WinCairo and
52468        GTK ports to reduce code duplication.
52469
52470        * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
52471          to an old WinCairo file.
52472        * platform/graphics/FontPlatformData.h: Remove unneeded member
52473          for m_fontFace, which is a member of m_scaledFont.  Switch to
52474          standard Cairo hashing.
52475        (WebCore::FontPlatformData::FontPlatformData):
52476        (WebCore::FontPlatformData::font):
52477        (WebCore::FontPlatformData::scaledFont):
52478        (WebCore::FontPlatformData::hash):
52479        (WebCore::FontPlatformData::isHashTableDeletedValue):
52480        (WebCore::FontPlatformData::hashTableDeletedFontValue):
52481        * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
52482          the unnecessary fontFace() accessor.
52483        (WebCore::FontCache::createFontPlatformData):
52484        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
52485        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
52486        (WebCore::FontPlatformData::platformDataInit):
52487        (WebCore::FontPlatformData::FontPlatformData):
52488        (WebCore::FontPlatformData::~FontPlatformData):
52489        (WebCore::FontPlatformData::platformDataAssign):
52490        (WebCore::FontPlatformData::platformIsEqual):
52491        * platform/graphics/win/FontPlatformDataWin.cpp:
52492        (WebCore::FontPlatformData::FontPlatformData):
52493
524942011-03-29  Jian Li  <jianli@chromium.org>
52495
52496        Reviewed by Adam Barth.
52497
52498        Inline worker powered by blob URL does not work with files URL even if
52499        allowFileAccessFromFileURLs is enabled
52500        https://bugs.webkit.org/show_bug.cgi?id=56063
52501
52502        Test: fast/files/workers/inline-worker-via-blob-url.html
52503
52504        * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
52505        * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
52506        * page/SecurityOrigin.cpp:
52507        (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
52508        filesystem URL also to blob URL. Also fixed the problem that m_isUnique
52509        is incorrectly set for blob and filesystem URLs.
52510        (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
52511        since we use the same logic in SecurityOrigin constructor as filesystem
52512        URL.
52513        (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
52514        URL since it is not needed with the fix in SecurityOrigin constructor.
52515
525162011-03-29  Timothy Hatcher  <timothy@apple.com>
52517
52518        Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
52519
52520        https://webkit.org/b/57354
52521
52522        Reviewed by Sam Weinig.
52523
52524        * English.lproj/Localizable.strings: Updated.
52525        * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
52526        * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
52527        extract-localizable-strings does not complain about unbalanced single quotes.
52528
525292011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
52530
52531        Unreviewed, rolling out r82295 and r82300.
52532        http://trac.webkit.org/changeset/82295
52533        http://trac.webkit.org/changeset/82300
52534        https://bugs.webkit.org/show_bug.cgi?id=57380
52535
52536        This patch breaks compile on Chromium (Requested by
52537        abarth|gardener on #webkit).
52538
52539        * accessibility/AccessibilityObject.h:
52540        * accessibility/AccessibilityRenderObject.cpp:
52541        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
52542        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52543        (atkRole):
52544        (webkit_accessible_get_role):
52545        * accessibility/mac/AccessibilityObjectWrapper.mm:
52546
525472011-03-29  Anders Carlsson  <andersca@apple.com>
52548
52549        Fix clang build.
52550
52551        * platform/text/BidiResolver.h:
52552        (WebCore::::createBidiRunsForLine):
52553
525542011-03-29  Steve Falkenburg  <sfalken@apple.com>
52555
52556        Reviewed by Adam Roben.
52557
52558        Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
52559        https://bugs.webkit.org/show_bug.cgi?id=57378
52560
52561        Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
52562        InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
52563        the IDE. To avoid this, add a separate vsprops file for each project configuration that
52564        contains the required inherited property sheets.
52565
52566        * WebCore.vcproj/QTMovieWin.vcproj:
52567        * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
52568        * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
52569        * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
52570        * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
52571        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
52572        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
52573        * WebCore.vcproj/WebCore.vcproj:
52574        * WebCore.vcproj/WebCoreDebug.vsprops: Added.
52575        * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
52576        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
52577        * WebCore.vcproj/WebCoreRelease.vsprops: Added.
52578        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
52579        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
52580
525812011-03-29  David Hyatt  <hyatt@apple.com>
52582
52583        Reviewed by Simon Fraser.
52584
52585        <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
52586        
52587        Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
52588        and can't be done without more work.
52589
52590        Added fast/block/float/float-forced-below-other-floats.html
52591
52592        * rendering/RenderBlock.cpp:
52593        (WebCore::RenderBlock::logicalLeftOffsetForLine):
52594        (WebCore::RenderBlock::logicalRightOffsetForLine):
52595
525962011-03-29  Eric Seidel  <eric@webkit.org>
52597
52598        Reviewed by Ryosuke Niwa.
52599
52600        Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
52601        https://bugs.webkit.org/show_bug.cgi?id=57338
52602
52603        I'm attempting to break createBidiRunsForLine into understandable pieces
52604        so that we can tell what it's actually doing.  Our implementation of the
52605        unicode bidi algorithm is slightly different from the spec in that we
52606        run it per-line (instead of over the entire paragraph at once).  This is
52607        great for performance (our implementation is resumable), but it makes
52608        things a bit tricky to understand.  Splitting createBidiRunsForLine into
52609        pieces should help make our UBA implementation more readable.
52610
52611        * platform/text/BidiResolver.h:
52612        (WebCore::::updateStatusLastFromCurrentDirection):
52613        (WebCore::::createBidiRunsForLine):
52614
526152011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
52616
52617        Reviewed by Martin Robinson.
52618
52619        [Gtk] Consistent crash from Google/ARIA combobox click
52620        https://bugs.webkit.org/show_bug.cgi?id=55883
52621
52622        Do not call to firstChild() to avoid entering into infinite loops.
52623
52624        This would happen when current item is a WebCore Group and some of
52625        its children have either role 'option' or 'menuitem'. Other than
52626        that the logic behind that call to firstChild() seems to be no
52627        longer needed so it's safe to remove it.
52628
52629        Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
52630
52631        * accessibility/gtk/AccessibilityObjectAtk.cpp:
52632        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
52633        Remove call to firsChild, which was leading to crashes sometimes.
52634
526352011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
52636
52637        Reviewed by Chris Fleizach.
52638
52639        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
52640        https://bugs.webkit.org/show_bug.cgi?id=47636
52641
52642        Define new roles in WebCore and map them to ATK accordingly.
52643
52644        Test: platform/gtk/accessibility/aria-roles-unignored.html
52645
52646        * accessibility/AccessibilityObject.h: Added new roles to
52647        represent paragraphs, labels, forms and div sections.
52648        * accessibility/AccessibilityRenderObject.cpp:
52649        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
52650        Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
52651        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52652        (atkRole): Map new WebCore roles to ATK Roles.
52653        (webkit_accessible_get_role): Remove code to define roles for
52654        paragraphs, labels, forms and divs based on node's tag name.
52655
52656        Update mappings for the Mac platform.
52657
52658        * accessibility/mac/AccessibilityObjectWrapper.mm:
52659        (createAccessibilityRoleMap): Add explicit mappings from the new
52660        roles introduced to NSAccessibilityGroupRole.
52661
526622011-03-29  Philippe Normand  <pnormand@igalia.com>
52663
52664        Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
52665
52666        * rendering/InlineIterator.h:
52667        (WebCore::InlineIterator::moveToStartOf):
52668
526692011-03-29  Darin Adler  <darin@apple.com>
52670
52671        Fix some just-introduced build failures.
52672
52673        * WebCore.pro: Correct spelling of filename.
52674
52675        * css/CSSParser.cpp:
52676        (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
52677        on Leopard. Also renamed one local variabel.
52678
52679        * inspector/InspectorAgent.cpp:
52680        (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
52681        (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
52682
526832011-03-29  Andras Becsi  <abecsi@webkit.org>
52684
52685        Reviewed by Darin Adler.
52686
52687        CSS: Slow parsing of rgb() with percent values
52688        https://bugs.webkit.org/show_bug.cgi?id=16708
52689
52690        Implement fast-path parsing for percentage color values.
52691
52692        Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
52693
52694        * css/CSSParser.cpp:
52695        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
52696        (WebCore::parseDouble): Function for parsing double values if they are valid.
52697        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
52698        (WebCore::parseAlphaValue): Use the new functions.
52699        (WebCore::CSSParser::parseColor): Ditto.
52700
527012011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
52702
52703        Reviewed by Pavel Feldman.
52704
52705        Web Inspector: extract InspectorPageAgent from InspectorAgent.
52706        https://bugs.webkit.org/show_bug.cgi?id=57327
52707
52708        There are page related methods and inspector related methods in InspectorAgent.
52709        It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
52710
52711        * GNUmakefile.am:
52712        * WebCore.gypi:
52713        * inspector/CodeGeneratorInspector.pm:
52714        * inspector/Inspector.json:
52715        * inspector/InspectorAgent.cpp:
52716        (WebCore::InspectorAgent::InspectorAgent):
52717        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
52718        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
52719        (WebCore::InspectorAgent::setFrontend):
52720        (WebCore::InspectorAgent::disconnectFrontend):
52721        (WebCore::InspectorAgent::didCommitLoad):
52722        (WebCore::InspectorAgent::domContentLoadedEventFired):
52723        * inspector/InspectorAgent.h:
52724        (WebCore::InspectorAgent::pageAgent):
52725        * inspector/InspectorPageAgent.cpp: Added.
52726        (WebCore::InspectorPageAgent::create):
52727        (WebCore::InspectorPageAgent::InspectorPageAgent):
52728        (WebCore::InspectorPageAgent::setFrontend):
52729        (WebCore::InspectorPageAgent::clearFrontend):
52730        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
52731        (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
52732        (WebCore::InspectorPageAgent::reloadPage):
52733        (WebCore::InspectorPageAgent::openInInspectedWindow):
52734        (WebCore::InspectorPageAgent::setUserAgentOverride):
52735        (WebCore::buildObjectForCookie):
52736        (WebCore::buildArrayForCookies):
52737        (WebCore::InspectorPageAgent::getCookies):
52738        (WebCore::InspectorPageAgent::deleteCookie):
52739        (WebCore::InspectorPageAgent::inspectedURLChanged):
52740        (WebCore::InspectorPageAgent::restore):
52741        (WebCore::InspectorPageAgent::didCommitLoad):
52742        (WebCore::InspectorPageAgent::domContentEventFired):
52743        (WebCore::InspectorPageAgent::loadEventFired):
52744        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
52745        (WebCore::InspectorPageAgent::applyUserAgentOverride):
52746        * inspector/InspectorPageAgent.h: Added.
52747        * inspector/InspectorController.cpp:
52748        (WebCore::InspectorController::connectFrontend):
52749        * inspector/InspectorInstrumentation.cpp:
52750        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
52751        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
52752        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
52753        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
52754        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
52755        (WebCore::InspectorInstrumentation::retrievePageAgent):
52756        * inspector/InspectorInstrumentation.h:
52757        * inspector/InstrumentingAgents.h:
52758        (WebCore::InstrumentingAgents::InstrumentingAgents):
52759        (WebCore::InstrumentingAgents::inspectorPageAgent):
52760        (WebCore::InstrumentingAgents::setInspectorPageAgent):
52761        * inspector/front-end/AuditsPanel.js:
52762        (WebInspector.AuditsPanel.prototype._reloadResources):
52763        * inspector/front-end/CookieItemsView.js:
52764        (WebInspector.CookieItemsView.prototype._deleteCookie):
52765        (WebInspector.Cookies.getCookiesAsync):
52766        * inspector/front-end/ExtensionServer.js:
52767        (WebInspector.ExtensionServer.prototype._onReload):
52768        * inspector/front-end/NetworkPanel.js:
52769        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
52770        * inspector/front-end/ResourcesPanel.js:
52771        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
52772        * inspector/front-end/WorkersSidebarPane.js:
52773        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
52774        * inspector/front-end/inspector.js:
52775        (WebInspector.openResource):
52776        (WebInspector.documentKeyDown):
52777
527782011-03-29  David Hyatt  <hyatt@apple.com>
52779
52780        Reviewed by Darin Adler.
52781
52782        https://bugs.webkit.org/show_bug.cgi?id=57276
52783        
52784        Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
52785        to a line, compare it with the parent box. If we can determine that the child box has the exact
52786        same height and baseline position as the parent box, then we keep a boolean flag set called
52787        descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
52788        flag up the line box parent chain.
52789
52790        When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
52791        a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
52792        can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
52793        without doing anything else.
52794        
52795        Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
52796        to track whether a box has text descendants now as well.  When we avoid doing the recursion
52797        this flag tells us whether the collection of boxes should have an effect on the ascent and descent
52798        of the line in quirks mode.
52799 
52800        * rendering/InlineFlowBox.cpp:
52801        (WebCore::InlineFlowBox::addToLine):
52802        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
52803        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
52804        (WebCore::InlineFlowBox::nodeAtPoint):
52805        (WebCore::InlineFlowBox::paintBoxDecorations):
52806        (WebCore::InlineFlowBox::paintMask):
52807        * rendering/InlineFlowBox.h:
52808        (WebCore::InlineFlowBox::InlineFlowBox):
52809        (WebCore::InlineFlowBox::hasTextDescendants):
52810        (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
52811        (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
52812        * rendering/RenderBlock.h:
52813        * rendering/RenderBlockLineLayout.cpp:
52814        (WebCore::RenderBlock::createLineBoxes):
52815        (WebCore::RenderBlock::constructLine):
52816        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
52817
528182011-03-29  Eric Seidel  <eric@webkit.org>
52819
52820        Reviewed by Ryosuke Niwa.
52821
52822        Remove a bunch of duplicate code by adding some InlineIterator helper methods
52823        https://bugs.webkit.org/show_bug.cgi?id=57326
52824
52825        Once I started adding these it became clear how much crazy duplicated code
52826        we had due to treating InlineIterator as a struct and accessing its
52827        members directly.  We can't quite make the members private yet since
52828        findNextLineBreak still splits out the members.  But this change
52829        makes the code much cleaner.
52830
52831        * rendering/InlineIterator.h:
52832        (WebCore::InlineIterator::clear):
52833        (WebCore::InlineIterator::moveToStartOf):i
52834        (WebCore::InlineIterator::moveTo):
52835        (WebCore::InlineIterator::increment):
52836        * rendering/RenderBlockLineLayout.cpp:
52837        (WebCore::tryHyphenating):
52838        (WebCore::RenderBlock::findNextLineBreak):
52839
528402011-03-29  Eric Seidel  <eric@webkit.org>
52841
52842        Reviewed by Ryosuke Niwa.
52843
52844        Clean up bidiNext by abstracting repeated code
52845        https://bugs.webkit.org/show_bug.cgi?id=57335
52846
52847        I also added a comment to explain what bidiNext is actually doing.
52848        This whole area of code is confusing but need not be.
52849
52850        * rendering/InlineIterator.h:
52851        (WebCore::embedCharFromDirection):
52852        (WebCore::notifyResolverEnteredObject):
52853        (WebCore::notifyResolverWillExitObject):
52854        (WebCore::bidiNext):
52855        (WebCore::bidiFirst):
52856
528572011-03-29  Alexander Pavlov  <apavlov@chromium.org>
52858
52859        Reviewed by Yury Semikhatsky.
52860
52861        Web Inspector: Support external CSS stylesheet freeflow text editing
52862        https://bugs.webkit.org/show_bug.cgi?id=54397
52863
52864        In this implementation, Ctrl/Cmd-S commits the current changes into the model.
52865
52866        * inspector/front-end/ResourceView.js:
52867        (WebInspector.ResourceView.createResourceView):
52868        (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
52869        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
52870        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
52871        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
52872        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
52873        * inspector/front-end/ResourcesPanel.js:
52874        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
52875        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
52876        * inspector/front-end/SourceFrame.js:
52877        (WebInspector.SourceFrame.prototype._createTextViewer):
52878
528792011-03-29  Eric Carlson  <eric.carlson@apple.com>
52880
52881        Reviewed by Dan Bernstein.
52882
52883        playbackRate should not be set to defaultPlaybackRate in play()
52884        https://bugs.webkit.org/show_bug.cgi?id=55943
52885
52886        Test: media/video-playbackrate.html
52887
52888        * html/HTMLMediaElement.cpp:
52889        (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
52890            rate, we already have the current value cached.
52891        (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to 
52892            the default rate.
52893        (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to 
52894            the default rate before triggering playback.
52895        * manual-tests/media-default-playback-rate.html: Added.
52896
528972011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
52898
52899        Reviewed by Eric Seidel.
52900
52901        Remove specialization of EventDispatcher with inversion of control.
52902        https://bugs.webkit.org/show_bug.cgi?id=57285
52903
52904        Since some events have extra logic around their dispatch, allow them
52905        to dispatch themselves and specialize the logic. This change only
52906        converts KeyboardEvent to this model.
52907
52908        No functional change, covered by existing tests.
52909
52910        * dom/Event.cpp:
52911        (WebCore::Event::dispatch): Added.
52912        * dom/Event.h: Updated decls.
52913        * dom/EventDispatcher.cpp:
52914        (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
52915            itself.
52916        * dom/EventDispatcher.h: Updated decls.
52917        * dom/KeyboardEvent.cpp:
52918        (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
52919        * dom/KeyboardEvent.h: Updated decls.
52920        * dom/Node.cpp:
52921        (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
52922
529232011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
52924
52925        Reviewed by Yury Semikhatsky.
52926
52927        Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
52928        https://bugs.webkit.org/show_bug.cgi?id=57329
52929
52930        * inspector/InspectorAgent.cpp:
52931        (WebCore::InspectorAgent::InspectorAgent):
52932        (WebCore::InspectorAgent::setFrontend):
52933        * inspector/InspectorAgent.h:
52934        * inspector/InspectorController.cpp:
52935        (WebCore::InspectorController::inspect):
52936        * inspector/InspectorDOMAgent.cpp:
52937        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
52938        (WebCore::InspectorDOMAgent::setFrontend):
52939        (WebCore::InspectorDOMAgent::handleMousePress):
52940        (WebCore::InspectorDOMAgent::inspect):
52941        (WebCore::InspectorDOMAgent::focusNode):
52942        (WebCore::InspectorDOMAgent::highlight):
52943        (WebCore::InspectorDOMAgent::hideHighlight):
52944        * inspector/InspectorDOMAgent.h:
52945        (WebCore::InspectorDOMAgent::create):
52946
529472011-03-29  Eric Seidel  <eric@webkit.org>
52948
52949        Reviewed by Nikolas Zimmermann.
52950
52951        Rename InlineIterator::pos to m_pos to match modern style
52952        https://bugs.webkit.org/show_bug.cgi?id=57342
52953
52954        Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
52955
52956        * rendering/InlineIterator.h:
52957        (WebCore::InlineIterator::InlineIterator):
52958        (WebCore::operator==):
52959        (WebCore::operator!=):
52960        (WebCore::InlineIterator::increment):
52961        (WebCore::InlineIterator::current):
52962        (WebCore::InlineBidiResolver::appendRun):
52963        * rendering/RenderBlockLineLayout.cpp:
52964        (WebCore::checkMidpoints):
52965        (WebCore::RenderBlock::appendRunsForObject):
52966        (WebCore::RenderBlock::layoutInlineChildren):
52967        (WebCore::RenderBlock::matchedEndLine):
52968        (WebCore::tryHyphenating):
52969        (WebCore::RenderBlock::findNextLineBreak):
52970
529712011-03-29  Pavel Feldman  <pfeldman@chromium.org>
52972
52973        Reviewed by Yury Semikhatsky.
52974
52975        Web Inspector: document BrowserDebugger agent.
52976        https://bugs.webkit.org/show_bug.cgi?id=57331
52977
52978        * inspector/Inspector.json:
52979
529802011-03-29  Alexander Pavlov  <apavlov@chromium.org>
52981
52982        Reviewed by Pavel Feldman.
52983
52984        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
52985        https://bugs.webkit.org/show_bug.cgi?id=56310
52986
52987        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
52988        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
52989        by CSSAgent.getStyleSheet() anymore.
52990
52991        Test: inspector/styles/get-set-stylesheet-text.html
52992
52993        * inspector/Inspector.json:
52994        * inspector/InspectorCSSAgent.cpp:
52995        (WebCore::InspectorCSSAgent::getAllStyleSheets):
52996        * inspector/InspectorCSSAgent.h:
52997        * inspector/InspectorStyleSheet.cpp:
52998        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
52999        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
53000        * inspector/InspectorStyleSheet.h:
53001        * inspector/front-end/AuditRules.js:
53002        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
53003        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
53004        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
53005        * inspector/front-end/CSSStyleModel.js:
53006        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
53007        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
53008        (WebInspector.CSSStyleModel.prototype._onRevert):
53009        (WebInspector.CSSStyleSheet):
53010        (WebInspector.CSSStyleSheet.prototype.setText):
53011
530122011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
53013
53014        Reviewed by Eric Seidel.
53015
53016        Implement text-align:match-parent as -webkit-match-parent.
53017        https://bugs.webkit.org/show_bug.cgi?id=50951
53018
53019        Add support to the CSS parser.
53020
53021        Tests: fast/css/text-align-webkit-match-parent-parse.html
53022               fast/css/text-align-webkit-match-parent.html
53023
53024        * css/CSSParser.cpp:
53025        (WebCore::CSSParser::parseValue):
53026        * css/CSSStyleSelector.cpp:
53027        (WebCore::CSSStyleSelector::applyProperty):
53028        * css/CSSValueKeywords.in:
53029
530302011-03-29  Eric Seidel  <eric@webkit.org>
53031
53032        Reviewed by Ryosuke Niwa.
53033
53034        Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
53035        https://bugs.webkit.org/show_bug.cgi?id=57323
53036
53037        All of these m_nextBreakablePosition = -1 could probably be replaced with
53038        some new methods.  But I'll do that in a separate change.  Clearly
53039        m_nextBreakablePosition is just a cached value which should be cleared
53040        at the right times.  I suspect we may even fail to clear it sometimes when
53041        we should due to the current used of direct access instead of smarter functions.
53042
53043        * rendering/InlineIterator.h:
53044        (WebCore::InlineIterator::InlineIterator):
53045        (WebCore::InlineIterator::increment):
53046        * rendering/RenderBlockLineLayout.cpp:
53047        (WebCore::tryHyphenating):
53048        (WebCore::RenderBlock::findNextLineBreak):
53049
530502011-03-29  Jeff Miller  <jeffm@apple.com>
53051
53052        Reviewed by Jon Honeycutt.
53053
53054        Add WebCore::copyCertificateToData() on Windows
53055        https://bugs.webkit.org/show_bug.cgi?id=57296
53056
53057        Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
53058
53059        * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
53060        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
53061        * platform/cf/win: Added.
53062        * platform/cf/win/CertificateCFWin.cpp: Added.
53063        (WebCore::deallocCertContext): Added.
53064        (WebCore::createCertContextDeallocator): Added.
53065        (WebCore::copyCertificateToData): Added.
53066        * platform/cf/win/CertificateCFWin.h: Added.
53067
530682011-03-29  Eric Seidel  <eric@webkit.org>
53069
53070        Reviewed by Ryosuke Niwa.
53071
53072        Rename InlineIterator::block to m_block to match modern style
53073        https://bugs.webkit.org/show_bug.cgi?id=57321
53074
53075        I could have made m_block private, since it's only accessed in
53076        one place outside of InlineIterator (for an ASSERT).  But I chose
53077        not to do so in this change.
53078
53079        * rendering/InlineIterator.h:
53080        (WebCore::InlineIterator::InlineIterator):
53081        (WebCore::InlineIterator::increment):
53082        (WebCore::InlineBidiResolver::appendRun):
53083        * rendering/RenderBlockLineLayout.cpp:
53084        (WebCore::RenderBlock::findNextLineBreak):
53085
530862011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
53087
53088        Reviewed by Nikolas Zimmermann.
53089
53090        Incorrect offset of svg <use> element which is in <symbol> element
53091        https://bugs.webkit.org/show_bug.cgi?id=57318
53092
53093        When webkit expanded a svg <symbol> element in the shadow tree it
53094        would clone the children of the <symbol>. The children may contain
53095        SVGShadowTreeContainerElement which was expanded from svg <use>
53096        element. But the clone operation would clone a
53097        SVGShadowTreeContainerElement as a svg <g> element. This resulted
53098        that updateContainerOffset wouldn't update offset for those elements
53099        which were expand from <use> elements.
53100
53101        This patch implements cloneElementWithoutAttributesAndChildren for
53102        SVGShadowTreeContainerElement to make the container clone itself
53103        correctly.
53104
53105        Test: svg/custom/use-in-symbol-with-offset.svg
53106
53107        * rendering/svg/SVGShadowTreeElements.cpp:
53108        (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
53109        * rendering/svg/SVGShadowTreeElements.h:
53110
531112011-03-29  Eric Seidel  <eric@webkit.org>
53112
53113        Reviewed by Ryosuke Niwa.
53114
53115        Rename InlineIterator::obj to m_obj to match modern style
53116        https://bugs.webkit.org/show_bug.cgi?id=57319
53117
53118        I started this rename after confusion in InlineBidiResolver::appendRun.
53119        (Which uses an "obj" local in InlineIterator.h.  It's not actually
53120        masking m_obj because it's a separate class, but I didn't realize
53121        that at the time because it's in InlineIterator.h which is itself confusing!)
53122
53123        * rendering/InlineIterator.h:
53124        (WebCore::InlineIterator::InlineIterator):
53125        (WebCore::operator==):
53126        (WebCore::operator!=):
53127        (WebCore::InlineIterator::increment):
53128        (WebCore::InlineIterator::atEnd):
53129        (WebCore::InlineIterator::current):
53130        (WebCore::InlineIterator::direction):
53131        (WebCore::InlineBidiResolver::appendRun):
53132        * rendering/RenderBlockLineLayout.cpp:
53133        (WebCore::checkMidpoints):
53134        (WebCore::RenderBlock::appendRunsForObject):
53135        (WebCore::RenderBlock::layoutInlineChildren):
53136        (WebCore::RenderBlock::matchedEndLine):
53137        (WebCore::skipNonBreakingSpace):
53138        (WebCore::RenderBlock::requiresLineBox):
53139        (WebCore::RenderBlock::skipTrailingWhitespace):
53140        (WebCore::RenderBlock::skipLeadingWhitespace):
53141        (WebCore::tryHyphenating):
53142        (WebCore::RenderBlock::findNextLineBreak):
53143
531442011-03-29  Pavel Feldman  <pfeldman@chromium.org>
53145
53146        Reviewed by Yury Semikhatsky.
53147
53148        Web Inspector: document Timeline domain, make timeline event types of type string.
53149        https://bugs.webkit.org/show_bug.cgi?id=57299
53150
53151        * inspector/Inspector.json:
53152        * inspector/InspectorTimelineAgent.cpp:
53153        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
53154        (WebCore::InspectorTimelineAgent::start):
53155        (WebCore::InspectorTimelineAgent::stop):
53156        (WebCore::InspectorTimelineAgent::willCallFunction):
53157        (WebCore::InspectorTimelineAgent::didCallFunction):
53158        (WebCore::InspectorTimelineAgent::willDispatchEvent):
53159        (WebCore::InspectorTimelineAgent::didDispatchEvent):
53160        (WebCore::InspectorTimelineAgent::willLayout):
53161        (WebCore::InspectorTimelineAgent::didLayout):
53162        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
53163        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
53164        (WebCore::InspectorTimelineAgent::willPaint):
53165        (WebCore::InspectorTimelineAgent::didPaint):
53166        (WebCore::InspectorTimelineAgent::willWriteHTML):
53167        (WebCore::InspectorTimelineAgent::didWriteHTML):
53168        (WebCore::InspectorTimelineAgent::didInstallTimer):
53169        (WebCore::InspectorTimelineAgent::didRemoveTimer):
53170        (WebCore::InspectorTimelineAgent::willFireTimer):
53171        (WebCore::InspectorTimelineAgent::didFireTimer):
53172        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
53173        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
53174        (WebCore::InspectorTimelineAgent::willLoadXHR):
53175        (WebCore::InspectorTimelineAgent::didLoadXHR):
53176        (WebCore::InspectorTimelineAgent::willEvaluateScript):
53177        (WebCore::InspectorTimelineAgent::didEvaluateScript):
53178        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
53179        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
53180        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
53181        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
53182        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
53183        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
53184        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
53185        (WebCore::InspectorTimelineAgent::didMarkTimeline):
53186        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
53187        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
53188        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
53189        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
53190        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
53191        * inspector/InspectorTimelineAgent.h:
53192        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
53193        * inspector/front-end/TimelineAgent.js:
53194        * inspector/front-end/TimelinePanel.js:
53195        (WebInspector.TimelinePanel.prototype.get _recordStyles):
53196        (WebInspector.TimelinePanel.prototype._createEventDivider):
53197        (WebInspector.TimelinePanel.prototype._findParentRecord):
53198        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
53199        (WebInspector.TimelineDispatcher.prototype.started):
53200        (WebInspector.TimelineDispatcher.prototype.stopped):
53201        (WebInspector.TimelineDispatcher.prototype.eventRecorded):
53202        (WebInspector.TimelinePanel.FormattedRecord):
53203        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
53204        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
53205
532062011-03-29  Andrey Adaikin  <aandrey@google.com>
53207
53208        Reviewed by Pavel Feldman.
53209
53210        Web Inspector: Fixing live edits tests on chromium.
53211        https://bugs.webkit.org/show_bug.cgi?id=57316
53212
53213        * inspector/front-end/ScriptsPanel.js:
53214        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
53215        * inspector/front-end/SourceFrame.js:
53216        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
53217        (WebInspector.SourceFrame.prototype._handleSave):
53218        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
53219
532202011-03-29  Pavel Podivilov  <podivilov@chromium.org>
53221
53222        Reviewed by Yury Semikhatsky.
53223
53224        Web Inspector: fix call frames positions in formatted scripts.
53225        https://bugs.webkit.org/show_bug.cgi?id=57036
53226
53227        Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
53228
53229        * inspector/front-end/CallStackSidebarPane.js:
53230        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
53231        (WebInspector.CallStackSidebarPane.prototype.update):
53232        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
53233        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
53234        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
53235        (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
53236        * inspector/front-end/DebuggerModel.js:
53237        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
53238        (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
53239        (WebInspector.DebuggerModel.prototype._pausedScript):
53240        * inspector/front-end/DebuggerPresentationModel.js:
53241        (WebInspector.DebuggerPresentationModel):
53242        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
53243        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
53244        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
53245        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
53246        (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
53247        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
53248        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
53249        (WebInspector.DebuggerPresentationModel.prototype._reset):
53250        (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
53251        * inspector/front-end/ScriptsPanel.js:
53252        (WebInspector.ScriptsPanel):
53253        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
53254        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
53255        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
53256        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
53257        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
53258        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
53259        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
53260        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
53261        * inspector/front-end/SourceFile.js:
53262        (WebInspector.SourceFile.prototype.get content):
53263        * inspector/front-end/SourceFrame.js:
53264        (WebInspector.SourceFrame.prototype._createTextViewer):
53265        (WebInspector.SourceFrame.prototype.setExecutionLine):
53266        (WebInspector.SourceFrame.prototype.clearExecutionLine):
53267        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
53268        (WebInspector.SourceFrame.prototype._showPopup):
53269
532702011-03-29  Emil A Eklund  <eae@chromium.org>
53271
53272        Reviewed by Darin Adler.
53273
53274        Fix for execCommand("Delete") with an empty selection.
53275        https://bugs.webkit.org/show_bug.cgi?id=56652
53276
53277        Test: editing/execCommand/delete-empty-container.html
53278
53279        * editing/TypingCommand.cpp:
53280        (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
53281
532822011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
53283
53284        Reviewed by Pavel Feldman.
53285
53286        Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
53287        make sure we don't return big amounts of data to forms.
53288        https://bugs.webkit.org/show_bug.cgi?id=57227
53289
53290        * inspector/front-end/DetailedHeapshotGridNodes.js:
53291        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
53292        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
53293        (WebInspector.HeapSnapshotObjectNode):
53294        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
53295        (WebInspector.HeapSnapshotInstanceNode):
53296        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
53297        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
53298        (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
53299        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
53300        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
53301        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
53302        * inspector/front-end/DetailedHeapshotView.js:
53303        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
53304        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
53305        * inspector/front-end/HeapSnapshot.js:
53306        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
53307        (WebInspector.HeapSnapshotNode.prototype.get retainers):
53308        (WebInspector.HeapSnapshot):
53309        (WebInspector.HeapSnapshot.prototype.get _allNodes):
53310        (WebInspector.HeapSnapshot.prototype.get nodeCount):
53311        (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
53312        (WebInspector.HeapSnapshot.prototype.hasId):
53313        (WebInspector.HeapSnapshot.prototype.get nodeIds):
53314        (WebInspector.HeapSnapshot.prototype._retainersForNode):
53315        (WebInspector.HeapSnapshot.prototype._buildRetainers):
53316        (WebInspector.HeapSnapshot.prototype._buildAggregates):
53317        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
53318        (WebInspector.HeapSnapshot.prototype._buildIdsList):
53319        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
53320        (WebInspector.HeapSnapshotFilteredOrderedIterator):
53321        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
53322        (WebInspector.HeapSnapshotEdgesProvider):
53323        (WebInspector.HeapSnapshotNodesProvider):
53324
533252011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
53326
53327        Reviewed by Pavel Feldman.
53328
53329        Web Inspector: [Chromium] Fix detailed heap snapshots UI.
53330        https://bugs.webkit.org/show_bug.cgi?id=57235
53331
53332        Fix two problems:
53333          1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
53334          2. Long strings need to be truncated in grid, their contents can be shown on hover.
53335
53336        * inspector/front-end/DetailedHeapshotView.js:
53337        (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
53338        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
53339        * inspector/front-end/heapProfiler.css:
53340        (.detailed-heapshot-view .console-formatted-string):
53341        (.detailed-heapshot-view .data-grid tr.selected *):
53342        (.detailed-heapshot-view .data-grid:focus tr.selected *):
53343
533442011-03-29  Andrey Adaikin  <aandrey@google.com>
53345
53346        Reviewed by Yury Semikhatsky.
53347
53348        Web Inspector: Highlight visible lines first
53349        https://bugs.webkit.org/show_bug.cgi?id=57013
53350
53351        * inspector/front-end/TextViewer.js:
53352        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
53353        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
53354        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
53355        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
53356        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
53357        (WebInspector.TextEditorMainPanel.prototype._paintLines):
53358        (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
53359        (WebInspector.TextEditorMainPanel.prototype._paintLine):
53360        (WebInspector.TextEditorMainChunk.prototype.set expanded):
53361
533622011-03-29  Emil A Eklund  <eae@chromium.org>
53363
53364        Reviewed by Dimitri Glazkov.
53365
53366        Relative mouse coordinates recalculated for each target
53367        https://bugs.webkit.org/show_bug.cgi?id=57130
53368
53369        Calculate relative coordinates lazily for mouse events instead of doing
53370        it for each target. Speeds up dispatching of mouse events in deep dom
53371        structures significantly, O(n^2) to O(n).
53372
53373        Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
53374
53375        Tests: fast/events/mouse-relative-position.html
53376               perf/mouse-event.html
53377
53378        * dom/Event.cpp:
53379        (WebCore::Event::setTarget):
53380        * dom/MouseRelatedEvent.cpp:
53381        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
53382        (WebCore::MouseRelatedEvent::initCoordinates):
53383        (WebCore::pageZoomFactor):
53384        (WebCore::MouseRelatedEvent::receivedTarget):
53385        (WebCore::MouseRelatedEvent::computeRelativePosition):
53386        (WebCore::MouseRelatedEvent::layerX):
53387        (WebCore::MouseRelatedEvent::layerY):
53388        (WebCore::MouseRelatedEvent::offsetX):
53389        (WebCore::MouseRelatedEvent::offsetY):
53390        * dom/MouseRelatedEvent.h:
53391        * dom/UIEvent.cpp:
53392        (WebCore::UIEvent::layerX):
53393        (WebCore::UIEvent::layerY):
53394        * dom/UIEvent.h:
53395
533962011-03-29  Emil A Eklund  <eae@chromium.org>
53397
53398        Reviewed by Darin Adler.
53399
53400        getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
53401        https://bugs.webkit.org/show_bug.cgi?id=57266
53402
53403        Add null check to counterToCSSValue.
53404
53405        Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
53406
53407        * css/CSSComputedStyleDeclaration.cpp:
53408        (WebCore::counterToCSSValue):
53409
534102011-03-29  Gavin Peters  <gavinp@chromium.org>
53411
53412        Reviewed by Tony Gentilcore.
53413
53414        Implement onerror events for <link rel=prefetch>
53415        https://bugs.webkit.org/show_bug.cgi?id=57182
53416
53417        These events are equired on link elements, see
53418        http://dev.w3.org/html5/spec/Overview.html#the-link-element
53419
53420        After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
53421        to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
53422        more uniformly supported.  See the thread at
53423        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
53424
53425        It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
53426        abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
53427        implementation, and this CL continues that by adding a default checkNotify method to it.  As it
53428        happens there were already two subclasses using what amounted to the generic checkNotify, so I
53429        also removed those, buying us some code cleanup with the change.
53430
53431        Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
53432
53433        * html/HTMLLinkElement.cpp:
53434        (WebCore::HTMLLinkElement::parseMappedAttribute):
53435        (WebCore::HTMLLinkElement::onloadTimerFired):
53436        (WebCore::HTMLLinkElement::notifyFinished):
53437        * loader/cache/CachedImage.cpp:
53438        * loader/cache/CachedImage.h:
53439        * loader/cache/CachedResource.cpp:
53440        (WebCore::CachedResource::checkNotify):
53441        (WebCore::CachedResource::data):
53442        (WebCore::CachedResource::error):
53443        * loader/cache/CachedResource.h:
53444        * loader/cache/CachedScript.cpp:
53445        * loader/cache/CachedScript.h:
53446
534472011-03-29  Eric Seidel  <eric@webkit.org>
53448
53449        Reviewed by Ryosuke Niwa.
53450
53451        Add support for parsing unicode-bidi: -webkit-isolate
53452        https://bugs.webkit.org/show_bug.cgi?id=57181
53453
53454        Test: css3/unicode-bidi-insolate-parse.html
53455
53456        * WebCore.xcodeproj/project.pbxproj:
53457        * css/CSSParser.cpp:
53458        (WebCore::CSSParser::parseValue):
53459        * css/CSSPrimitiveValueMappings.h:
53460        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
53461        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
53462        * css/CSSValueKeywords.in:
53463        * rendering/style/RenderStyleConstants.h:
53464
534652011-03-29  Patrick Gansterer  <paroga@webkit.org>
53466
53467        Unreviewed WinCE build fix for r82193.
53468
53469        * platform/wince/FileSystemWinCE.cpp:
53470        (WebCore::openTemporaryFile):
53471
534722011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
53473
53474        Unreviewed, rolling out r82198.
53475        http://trac.webkit.org/changeset/82198
53476        https://bugs.webkit.org/show_bug.cgi?id=57304
53477
53478        Broke Chromium Win build. (Requested by dave_levin on
53479        #webkit).
53480
53481        * platform/image-decoders/png/PNGImageDecoder.cpp:
53482        (WebCore::PNGImageDecoder::headerAvailable):
53483        (WebCore::PNGImageDecoder::rowAvailable):
53484
534852011-03-28  Ofri Wolfus  <ofri@google.com>
53486
53487        Reviewed by Eric Seidel.
53488
53489        RTL: Select elements with a size attribute are always left aligned.
53490        https://bugs.webkit.org/show_bug.cgi?id=50928
53491
53492        Added support for alignment in RenderListBox.
53493
53494        Test: fast/forms/listbox-bidi-align.html
53495
53496        * rendering/RenderListBox.cpp:
53497        (WebCore::itemOffsetForAlignment):
53498        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
53499
535002011-03-28  Kwang Yul Seo  <skyul@company100.net>
53501
53502        Reviewed by Benjamin Poulain.
53503
53504        [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
53505        https://bugs.webkit.org/show_bug.cgi?id=57142
53506
53507        TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
53508        Remove ENABLE(VIDEO) guard.
53509
53510        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
53511        * platform/graphics/qt/MediaPlayerPrivateQt.h:
53512        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
53513        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
53514        * platform/graphics/texmap/TextureMapperNode.h:
53515        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
53516        (WebCore::TextureMapperMediaLayer::layerType):
53517
535182011-03-28  Thomas Klausner  <tk@giga.or.at>
53519
53520        Reviewed by David Levin.
53521
53522        png-1.5 fixes
53523        https://bugs.webkit.org/show_bug.cgi?id=54406
53524
53525        Fix compilation with png-1.5: struct members were hidden, and
53526        a new API to terminate data processing was added (especially for
53527        WebKit).
53528
53529        Compilation fixes, so no new tests.
53530
53531        * platform/image-decoders/png/PNGImageDecoder.cpp:
53532        (WebCore::PNGImageDecoder::headerAvailable):
53533        (WebCore::PNGImageDecoder::rowAvailable):
53534
535352011-03-28  Kwang Yul Seo  <skyul@company100.net>
53536
53537        Reviewed by Adam Barth.
53538
53539        Replace fprintf(stderr, ...) with LOG_ERROR
53540        https://bugs.webkit.org/show_bug.cgi?id=57216
53541
53542        LOG_ERROR is a better choice here.
53543
53544        * bridge/jni/v8/JavaClassV8.cpp:
53545        (JavaClass::JavaClass):
53546
535472011-03-28  Steve Block  <steveblock@google.com>
53548
53549        Reviewed by Jeremy Orlow.
53550
53551        Add a new JavaValue to type to represent a Java value in the Java bridge
53552        https://bugs.webkit.org/show_bug.cgi?id=57022
53553
53554        This change introduces a new JavaValue type and uses it in place of jvalue
53555        in the conversions to and from JavaNPObject used in the V8 Java bridge.
53556
53557        Refactoring only, no new tests.
53558
53559        * WebCore.gypi:
53560        * bridge/jni/JNIUtility.cpp:
53561        (JSC::Bindings::javaTypeFromClassName):
53562        (JSC::Bindings::signatureFromJavaType):
53563        (JSC::Bindings::getJNIField):
53564        (JSC::Bindings::callJNIMethod):
53565        * bridge/jni/JavaType.h:
53566        * bridge/jni/v8/JNIUtilityPrivate.cpp:
53567        (JSC::Bindings::convertNPVariantToJavaValue):
53568        (JSC::Bindings::convertJavaValueToNPVariant):
53569        (JSC::Bindings::jvalueToJavaValue):
53570        (JSC::Bindings::javaValueToJvalue):
53571        * bridge/jni/v8/JNIUtilityPrivate.h:
53572        * bridge/jni/v8/JavaNPObjectV8.cpp:
53573        (JSC::Bindings::JavaNPObjectInvoke):
53574        (JSC::Bindings::JavaNPObjectGetProperty):
53575        * bridge/jni/v8/JavaValueV8.h: Added.
53576        (JSC::Bindings::JavaValue::JavaValue):
53577
535782011-03-28  Patrick Gansterer  <paroga@webkit.org>
53579
53580        Reviewed by Darin Adler.
53581
53582        Use String instead of CString as return value of openTemporaryFile
53583        https://bugs.webkit.org/show_bug.cgi?id=55332
53584
53585        We usually store all paths as UTF-16. Do this for temporary files too.
53586
53587        * WebCore.exp.in
53588        * platform/FileSystem.h:
53589        * platform/android/FileSystemAndroid.cpp:
53590        * platform/brew/FileSystemBrew.cpp:
53591        * platform/efl/FileSystemEfl.cpp:
53592        * platform/gtk/FileSystemGtk.cpp:
53593        * platform/haiku/FileSystemHaiku.cpp:
53594        * platform/mac/FileSystemMac.mm:
53595        * platform/qt/FileSystemQt.cpp:
53596        * platform/win/FileSystemWin.cpp:
53597        * platform/wince/FileSystemWinCE.cpp:
53598        * platform/wx/FileSystemWx.cpp:
53599        * plugins/PluginStream.cpp:
53600        (WebCore::PluginStream::destroyStream):
53601        * plugins/PluginStream.h:
53602
536032011-03-28  Jeff Johnson  <opendarwin@lapcatsoftware.com>
53604
53605        Reviewed by Pavel Feldman.
53606
53607        Web Inspector: empty, non-functional window
53608        https://bugs.webkit.org/show_bug.cgi?id=56354
53609
53610        Check whether DOM local storage is enabled
53611        before attempting to access window.localStorage.
53612
53613        No new tests.
53614
53615        * inspector/front-end/Settings.js:
53616        (WebInspector.Settings.prototype.findSettingForAllProjects):
53617        (WebInspector.Settings.prototype._get):
53618        (WebInspector.Settings.prototype._set):
53619
536202011-03-28  Beth Dakin  <bdakin@apple.com>
53621
53622        Reviewed by Darin Adler.
53623
53624        Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for: 
53625        Horizontal scroller stops appearing after going Forward
53626        -and corresponding-
53627        <rdar://problem/9026946>
53628
53629        This patch rolls out revision 79053 and fixes the same bug in a  better way.
53630
53631        New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then 
53632        sets the contents size to 0. This is called when a document is going into the page 
53633        cache.
53634        * dom/Document.cpp:
53635        (WebCore::Document::setInPageCache):
53636        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
53637
53638        Roll-out of 79053.
53639        * history/CachedFrame.cpp:
53640        (WebCore::CachedFrameBase::restore):
53641        * page/FrameView.cpp:
53642        (WebCore::FrameView::FrameView):
53643        (WebCore::FrameView::reset):
53644        (WebCore::FrameView::layout):
53645        * page/FrameView.h:
53646
536472011-03-28  Ojan Vafai  <ojan@chromium.org>
53648
53649        Reviewed by Antti Koivisto.
53650
53651        fix style sharing with :any and sibling selectors
53652        https://bugs.webkit.org/show_bug.cgi?id=57211
53653
53654        Test: fast/css/sibling-selectors.html
53655
53656        * css/CSSStyleSelector.cpp:
53657        (WebCore::collectFeaturesFromList):
53658
536592011-03-27  Ojan Vafai  <ojan@chromium.org>
53660
53661        Reviewed by Antti Koivisto.
53662
53663        fix :-webkit-any(:last-child)
53664        https://bugs.webkit.org/show_bug.cgi?id=57207
53665
53666        We were passing the wrong arguments to checkSelector. Also, we were not
53667        passing through the encounteredLink bool.
53668
53669        * css/CSSStyleSelector.cpp:
53670        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
53671        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
53672        * css/CSSStyleSelector.h:
53673
536742011-03-27  Ojan Vafai  <ojan@chromium.org>
53675
53676        Reviewed by Antti Koivisto.
53677
53678        fix :-webkit-any(:last-child)
53679        https://bugs.webkit.org/show_bug.cgi?id=57207
53680
53681        We were passing the wrong arguments to checkSelector. Also, we were not
53682        passing through the encounteredLink bool.
53683
53684        * css/CSSStyleSelector.cpp:
53685        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
53686        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
53687        * css/CSSStyleSelector.h:
53688
536892011-03-28  Maciej Stachowiak  <mjs@apple.com>
53690
53691        Reviewed by Darin Adler.
53692
53693        REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
53694        https://bugs.webkit.org/show_bug.cgi?id=57291
53695
53696        * platform/KURL.cpp:
53697        (WebCore::KURL::parse): Instead of considering URLs with
53698        credentials but no host invalid, consider them to have a host
53699        ending in @ (which fails down the line)/
53700
537012011-03-28  Kent Tamura  <tkent@chromium.org>
53702
53703        Reviewed by Dimitri Glazkov.
53704
53705        Fix some problems of the appearance of form validation message bubble.
53706        https://bugs.webkit.org/show_bug.cgi?id=57208
53707
53708        No new tests. Validation message bubble appearance is not testable
53709        because it depends on a timer.
53710
53711        * css/html.css:
53712        (::-webkit-validation-bubble):
53713        (::-webkit-validation-bubble-message):
53714        (::-webkit-validation-bubble-arrow):
53715        (::-webkit-validation-bubble-arrow-clipper):
53716          - Explicitly set margin, padding, and color.
53717          - Make the shadow darker.
53718          - Make the background color darker.
53719          - Make opacity larger.
53720          - Make the border color lighter.
53721          - Add inset shadows
53722          - Change the implementation of an arrow.
53723            Stop making a right triangle by the border trick.
53724            Use -webkit-transform instead.
53725          - Make min-width workable by changing display property of
53726            -webkit-validation-bubble to "inline-block".
53727        * html/ValidationMessage.cpp:
53728        (WebCore::ValidationMessage::buildBubbleTree):
53729          Change the node structure. Before this change, -webkit-validation-bubble
53730          had three DIVs inside. After this change, it has two DIVs;
53731          -webkit-validation-bubble-arrow-clipper and
53732          -webkit-validation-bubble-message, and
53733          -webkit-validation-bubble-arrow-clipper contains
53734          -webkit-validation-bubble-arrow.
53735
537362011-03-28  Enrica Casucci  <enrica@apple.com>
53737
53738        Reviewed by Sam Weinig.
53739
53740        REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser.
53741        https://bugs.webkit.org/show_bug.cgi?id=57275
53742        <rdar://problem/8246691>
53743
53744        We need to classify cut and paste actions as user typing actions even when
53745        the action is triggered by a context menu selection to
53746        allow the propagation of the textDidChangeInTextField event.
53747
53748        * editing/EditorCommand.cpp:
53749        The following methods have been modified to properly set up
53750        the UserTypingGestureAction when the command source is the
53751        menu or a key binding sequence.
53752        (WebCore::executeCut):
53753        (WebCore::executePaste):
53754        (WebCore::executePasteAndMatchStyle):
53755        (WebCore::executePasteAsPlainText):
53756        (WebCore::executeDelete):
53757        * page/ContextMenuController.cpp:
53758        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
53759        call execute command instead of referring to the specific method in
53760        the editor class.
53761
537622011-03-28  Oliver Hunt  <oliver@apple.com>
53763
53764        Reviewed by Geoffrey Garen.
53765
53766        instanceof Array test fails when using iframes
53767        https://bugs.webkit.org/show_bug.cgi?id=17250
53768
53769        Update for new function and date apis
53770
53771        Test: fast/js/js-constructors-use-correct-global.html
53772
53773        * WebCore.xcodeproj/project.pbxproj:
53774        * bindings/js/JSDOMBinding.cpp:
53775        (WebCore::jsDateOrNull):
53776        * bindings/js/JSLazyEventListener.cpp:
53777        (WebCore::JSLazyEventListener::initializeJSFunction):
53778
537792011-03-28  Beth Dakin  <bdakin@apple.com>
53780
53781        Reviewed by Darin Adler.
53782
53783        Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is 
53784        changed via delegate method, the page needs a full relayout and repaint
53785        -and corresponding-
53786        <rdar://problem/9059129>
53787
53788        Call into WebKitSystemInterface to associate the new painter with the existing 
53789        painter controller. Reset the scrollbar frame rects to the new thickness -- normally 
53790        this only happens when a scrollbar is created, so we have to reset the thickness 
53791        here to pick up the new theme thickness. Finally, force a full relayout and style 
53792        recall with setNeedsRecalcStyleInAllFrames()
53793        * platform/mac/ScrollAnimatorMac.mm:
53794        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
53795
53796        setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This 
53797        patch moves it to be a member function on Page so that it can be called from 
53798        FrameView when the scrollbar style changes.
53799        * page/FrameView.cpp:
53800        (WebCore::FrameView::setNeedsRecalcStyleInAllFrames):
53801        * page/FrameView.h:
53802        * page/Page.cpp:
53803        (WebCore::Page::setNeedsRecalcStyleInAllFrames):
53804        * page/Page.h:
53805        * page/Settings.cpp:
53806        (WebCore::Settings::setStandardFontFamily):
53807        (WebCore::Settings::setFixedFontFamily):
53808        (WebCore::Settings::setSerifFontFamily):
53809        (WebCore::Settings::setSansSerifFontFamily):
53810        (WebCore::Settings::setCursiveFontFamily):
53811        (WebCore::Settings::setFantasyFontFamily):
53812        (WebCore::Settings::setMinimumFontSize):
53813        (WebCore::Settings::setMinimumLogicalFontSize):
53814        (WebCore::Settings::setDefaultFontSize):
53815        (WebCore::Settings::setDefaultFixedFontSize):
53816        (WebCore::Settings::setTextAreasAreResizable):
53817        (WebCore::Settings::setAuthorAndUserStylesEnabled):
53818        (WebCore::Settings::setFontRenderingMode):
53819        (WebCore::Settings::setAcceleratedCompositingEnabled):
53820        (WebCore::Settings::setShowDebugBorders):
53821        (WebCore::Settings::setShowRepaintCounter):
53822        * platform/ScrollableArea.h:
53823        (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames):
53824
538252011-03-28  Dirk Pranke  <dpranke@chromium.org>
53826
53827        RS=Tony Chang.
53828
53829        r81977 moved FontPlatformData.h from
53830        WebCore/platform/graphics/cocoa to platform/graphics. This
53831        change updates the chromium build accordingly.
53832
53833        https://bugs.webkit.org/show_bug.cgi?id=57281
53834
53835        * platform/graphics/chromium/CrossProcessFontLoading.mm:
53836
538372011-03-28  Jer Noble  <jer.noble@apple.com>
53838
53839        Reviewed by Darin Adler.
53840
53841        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
53842        https://bugs.webkit.org/show_bug.cgi?id=57249
53843
53844        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
53845        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
53846        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
53847
538482011-03-28  Jer Noble  <jer.noble@apple.com>
53849
53850        Reviewed by Darin Adler.
53851
53852        AVFoundation can indeed support full screen.
53853
53854        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
53855        https://bugs.webkit.org/show_bug.cgi?id=57249
53856
53857        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
53858        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using
53859            the new full screen APIs.
53860        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
53861
538622011-03-28  Eric Carlson  <eric.carlson@apple.com>
53863
53864        Reviewed by Darin Adler.
53865
53866        http streams don't always display video with AVFoundation backend
53867        https://bugs.webkit.org/show_bug.cgi?id=57203
53868
53869        No new tests, we don't currently have tests for http live streams. Changes verified manually.
53870
53871        * platform/graphics/MediaPlayer.cpp:
53872        (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender.
53873        (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine
53874            if m_shouldPrepareToRender is set.
53875        (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender.
53876        * platform/graphics/MediaPlayer.h:
53877
53878        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
53879        (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until
53880            m_isAllowedToRender has been set.
53881        (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering,
53882            it has logic to figure out when setup is required.
53883        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't
53884            using the preferred rendering mode because if we get a file's metadata between the
53885            time supportsAcceleratedRendering() and paint() are called, we will allocate a software
53886            renderer even when we prefer a layer backed renderer.
53887        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata.
53888
53889        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
53890        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
53891        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of
53892            an explicit list of key path names.
53893        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto.
53894        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed
53895            to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the
53896            callers need.
53897        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the 
53898            player item, not the asset, because AVAsset.duration always returns an indefinite time
53899            for all streaming files.
53900        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed
53901            to assetMetadataKeyNames.
53902        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until
53903            metadata is available.
53904        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
53905        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off
53906            into sizeChanged().
53907        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize
53908            until tracks is non-NULL so we have a size as early as possible.
53909        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames.
53910        (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of
53911            KVO observable properties.
53912        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to 
53913            presentationSize change.
53914
539152011-03-28  Anders Carlsson  <andersca@apple.com>
53916
53917        Reviewed by Sam Weinig.
53918
53919        Search field focus ring is missing
53920        https://bugs.webkit.org/show_bug.cgi?id=57270
53921        <rdar://problem/8765555>
53922
53923        Add an _automaticFocusRingDisabled method which returns YES.
53924
53925        * platform/mac/ThemeMac.mm:
53926        (-[WebCoreFlippedView _automaticFocusRingDisabled]):
53927
539282011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
53929
53930        Reviewed by Darin Adler.
53931
53932        Move more events to EventDispatcher.
53933        https://bugs.webkit.org/show_bug.cgi?id=57247
53934
53935        No functional changes, covered by existing tests.
53936
53937        * dom/EventDispatcher.cpp:
53938        (WebCore::eventTargetRespectingSVGTargetRules): Made a static function,
53939            since it's not used anywhere outside of the EventDispatcher.
53940        (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp.
53941        (WebCore::EventDispatcher::dispatchKeyEvent): Ditto.
53942        (WebCore::EventDispatcher::dispatchWheelEvent): Ditto.
53943        (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules
53944            as a static function.
53945        * dom/EventDispatcher.h: Updated decls.
53946        * dom/Node.cpp:
53947        (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher.
53948        (WebCore::Node::dispatchKeyEvent): Ditto.
53949        (WebCore::Node::dispatchWheelEvent): Ditto.
53950
539512011-03-28  Adele Peterson  <adele@apple.com>
53952
53953        Reviewed by Eric Seidel.
53954
53955        Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
53956        https://bugs.webkit.org/show_bug.cgi?id=57173
53957
53958        Test: editing/spelling/grammar.html
53959
53960        * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method.
53961        * editing/Editor.cpp:
53962        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar, 
53963         so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph.  In the case of this bug, 
53964         when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used 
53965         in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph 
53966         is the only one operated on when this information is used.
53967         (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling.
53968        * editing/Editor.h:
53969
539702011-03-28  Dan Bernstein  <mitz@apple.com>
53971
53972        Reviewed by Darin Adler.
53973
53974        <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements
53975        https://bugs.webkit.org/show_bug.cgi?id=48983
53976
53977        Test: fast/multicol/paginated-layer-crash.html
53978
53979        * rendering/RenderLayer.cpp:
53980        (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers
53981        into sync with updatePagination() after r68069.
53982        (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto.
53983
539842011-03-28  Maciej Stachowiak  <mjs@apple.com>
53985
53986        Reviewed by Darin Adler' .
53987
53988        URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS
53989        https://bugs.webkit.org/show_bug.cgi?id=57220
53990
53991        Test: http/tests/uri/username-with-no-hostname.html
53992
53993        * platform/KURL.cpp:
53994        (WebCore::hostPortIsEmptyButUserPassIsNot):
53995        (WebCore::KURL::parse):
53996
539972011-03-28  Adam Barth  <abarth@webkit.org>
53998
53999        Reviewed by Eric Seidel.
54000
54001        script-src should block inline event handlers
54002        https://bugs.webkit.org/show_bug.cgi?id=57212
54003
54004        I considered wrapping this into the canExecute check, but that approach
54005        would require passing that function a bunch of context information to
54006        behave correctly once we add support for the "options" directive that
54007        re-enables these features.
54008
54009        Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html
54010
54011        * bindings/js/JSLazyEventListener.cpp:
54012        (WebCore::JSLazyEventListener::initializeJSFunction):
54013            - This function was a mess.  I couldn't resist cleaning it up a
54014              bunch.  Notice that we ASSERT at the beginning of the function
54015              that scriptExecutionContext is a document and that both ways of
54016              getting the global object are the same when document->frame() is
54017              non-zero because the document must be active and there is a
54018              one-to-one relation between Frames and active Documents.
54019        * bindings/v8/V8LazyEventListener.cpp:
54020        (WebCore::V8LazyEventListener::prepareListenerObject):
54021        * page/ContentSecurityPolicy.cpp:
54022        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
54023        * page/ContentSecurityPolicy.h:
54024
540252011-03-28  Jeff Miller  <jeffm@apple.com>
54026
54027        Reviewed by Adam Roben.
54028
54029        ResourceError::certificate() should return a PCCERT_CONTEXT
54030        https://bugs.webkit.org/show_bug.cgi?id=57262
54031
54032        * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT.
54033        * platform/network/cf/ResourceErrorCF.cpp:
54034        (WebCore::ResourceError::certificate): Added.
54035
540362011-03-28  David Hyatt  <hyatt@apple.com>
54037
54038        Reviewed by Simon Fraser and Darin Adler.
54039
54040        https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects
54041        occur at the end of a line.
54042        
54043        The old code and new code for dealing with a trailing space object midpoint manipulated a raw
54044        array instead of the Vector. Otherwise this corruption would have been caught prior to check-in.
54045        
54046        I have patched the code to only go through the Vector and to make it handle the case that led to
54047        the corruption. Trailing positioned objects can occur both prior to and following the trailing space
54048        object's midpoint, so we have to be prepared to deal with both cases.
54049        
54050        This is already tested by fast/block/positioning/052.html, and that test now properly progresses
54051        like the other positioning tests did.
54052
54053        * rendering/RenderBlockLineLayout.cpp:
54054        (WebCore::RenderBlock::findNextLineBreak):
54055
540562011-03-28  Andrei Popescu  <andreip@google.com>
54057
54058        Reviewed by Steve Block.
54059
54060        V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled
54061        https://bugs.webkit.org/show_bug.cgi?id=57100
54062
54063        Close the ENABLE guard and the namespace in the right order.
54064
54065        No new tests, just cleanup.
54066
54067        * bindings/v8/custom/V8IDBAnyCustom.cpp:
54068        * bindings/v8/custom/V8IDBKeyCustom.cpp:
54069
540702011-03-28  Jeff Miller  <jeffm@apple.com>
54071
54072        Reviewed by Adam Roben.
54073
54074        Include certificate when sending a WebCore::ResourceError to UI process on Windows
54075        https://bugs.webkit.org/show_bug.cgi?id=57195
54076
54077        Add support for tracking the certificate in WebCore::ResourceError.
54078
54079        * platform/network/ResourceErrorBase.cpp:
54080        (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields.
54081        * platform/network/ResourceErrorBase.h:
54082        (WebCore::ResourceErrorBase::platformCopy): Added.
54083        * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate.
54084        (WebCore::ResourceError::certificate): Added.
54085        * platform/network/cf/ResourceErrorCF.cpp:
54086        (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data.
54087        (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary.
54088        (WebCore::ResourceError::platformCopy): Copy m_certificate.
54089        (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef.
54090
540912011-03-28  Jessie Berlin  <jberlin@apple.com>
54092
54093        Rubber-stamped by Adam Roben.
54094
54095        Add an extra newline to the end of the generated Inspector.idl file so that it does not
54096        trigger the Windows "no newline at at end of file" warning.
54097
54098        * inspector/generate-inspector-idl:
54099
541002011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
54101
54102        Buildfix after r82125.
54103
54104        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
54105        https://bugs.webkit.org/show_bug.cgi?id=57087
54106
54107        * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly.
54108        (WebCore::MediaPlayerPrivateQt::getSupportedTypes):
54109        (WebCore::MediaPlayerPrivateQt::commitLoad):
54110
541112011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
54112
54113        Unreviewed, rolling out r82099.
54114        http://trac.webkit.org/changeset/82099
54115        https://bugs.webkit.org/show_bug.cgi?id=57245
54116
54117        Breaks live edits tests on chromium. (Requested by pfeldman on
54118        #webkit).
54119
54120        * inspector/front-end/ScriptsPanel.js:
54121        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
54122        * inspector/front-end/SourceFrame.js:
54123        (WebInspector.SourceFrame.prototype._handleSave):
54124        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
54125
541262011-03-28  Pavel Feldman  <pfeldman@chromium.org>
54127
54128        Reviewed by Yury Semikhatsky.
54129
54130        Web Inspector: brush up and rename debugger domain functions.
54131        https://bugs.webkit.org/show_bug.cgi?id=57240
54132
54133        * inspector/Inspector.json:
54134        * inspector/InspectorAgent.cpp:
54135        (WebCore::InspectorAgent::setFrontend):
54136        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
54137        * inspector/InspectorDebuggerAgent.cpp:
54138        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
54139        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
54140        (WebCore::InspectorDebuggerAgent::setBreakpoint):
54141        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
54142        (WebCore::InspectorDebuggerAgent::editScriptSource):
54143        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
54144        (WebCore::InspectorDebuggerAgent::didParseSource):
54145        (WebCore::InspectorDebuggerAgent::failedToParseSource):
54146        (WebCore::InspectorDebuggerAgent::didPause):
54147        (WebCore::InspectorDebuggerAgent::didContinue):
54148        * inspector/InspectorDebuggerAgent.h:
54149        * inspector/front-end/DebuggerModel.js:
54150        (WebInspector.DebuggerModel.prototype.setBreakpoint):
54151        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
54152        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
54153        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
54154        (WebInspector.DebuggerDispatcher.prototype.paused):
54155        (WebInspector.DebuggerDispatcher.prototype.resumed):
54156        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
54157        (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse):
54158        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
54159        * inspector/front-end/ScriptsPanel.js:
54160        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
54161        * inspector/front-end/inspector.js:
54162        (WebInspector.didCreateWorker):
54163        (WebInspector.didDestroyWorker):
54164
541652011-03-28  David Kilzer  <ddkilzer@apple.com>
54166
54167        <http://webkit.org/b/57239> Use forward class declaration instead of including header
54168
54169        Reviewed by Dan Bernstein.
54170
54171        Adding a "using namespace WebCore;" statement in a header may
54172        cause issues when <WebCore/Length.h> is included before
54173        <CoreText/CoreText.h>.
54174
54175        Length.h defines the LengthType enum with a 'Fixed' value.
54176        CoreText.h includes MacTypes.h, which has a
54177        "typedef SInt32 Fixed;" statement, and then CoreText.h includes
54178        other headers that also use 'Fixed', but expect the typedef to
54179        be defined, not the enum.  If another header includes
54180        "using namespace WebCore;" before CoreText.h, the
54181        following compiler errors result (paths abbreviated):
54182
54183            CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous
54184            MacTypes.h:184: error: candidates are: typedef SInt32 Fixed
54185            Length.h:37: error:                 WebCore::LengthType WebCore::Fixed
54186            SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type
54187
54188        * platform/mac/HTMLConverter.h: Use forward declaration of
54189        DocumentLoader class instead of including header.  Remove the
54190        unused "using namespace WebCore;" statement.
54191
541922011-03-26  Dimitri Glazkov  <dglazkov@chromium.org>
54193
54194        Reviewed by Eric Seidel.
54195
54196        Introduce EventDispatcher, the new common way to fire events.
54197        https://bugs.webkit.org/show_bug.cgi?id=57168
54198
54199        The goal here is two-fold:
54200        1) reduce the need to randomly sprinkle guards around the dispatch code
54201        by creating a well-scoped abstraction for dispatching events.
54202        2) create a place where fiddly event-related things like creating event
54203        contexts for ancestors can be done lazily.
54204
54205        Additionally, with all the free-standing static functions, this code was
54206        just begging to come out of Node.cpp.
54207
54208        The first step is a near-mechanical extraction of mouse-related events
54209        from Node.cpp to EventDispatcher. For now, the call sites are just
54210        replaced with invoking EventDispatcher. Later, we can remove these methods
54211        from Node.
54212
54213        Refactoring, no functional changes.
54214
54215        * Android.mk: Added EventDispatcher to build system.
54216        * CMakeLists.txt: Ditto.
54217        * GNUmakefile.am: Ditto.
54218        * WebCore.gypi: Ditto.
54219        * WebCore.pro: Ditto.
54220        * WebCore.vcproj/WebCore.vcproj: Ditto.
54221        * WebCore.xcodeproj/project.pbxproj: Ditto.
54222        * dom/DOMAllInOne.cpp: Ditto.
54223        * dom/EventDispatcher.cpp: Added.
54224        * dom/EventDispatcher.h: Added.
54225        * dom/Node.cpp:
54226        (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher.
54227        (WebCore::Node::dispatchEvent): Ditto.
54228        (WebCore::Node::dispatchMouseEvent): Ditto.
54229        (WebCore::Node::dispatchSimulatedClick): Ditto.
54230        * dom/Node.h: Updated decls.
54231
542322011-03-28  Dan Bernstein  <mitz@apple.com>
54233
54234        Reviewed by Maciej Stachowiak.
54235
54236        <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes
54237        https://bugs.webkit.org/show_bug.cgi?id=57197
54238
54239        Tests: fast/repaint/overflow-flipped-writing-mode-block.html
54240               fast/repaint/overflow-flipped-writing-mode-table.html
54241
54242        * rendering/RenderBlock.cpp:
54243        (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection
54244        with the damage rect.
54245        * rendering/RenderTable.cpp:
54246        (WebCore::RenderTable::paint): Made the intersection check more like the one in
54247        RenderBlock::paint().
54248
542492011-03-28  Xiaomei Ji  <xji@chromium.org>
54250
54251        Reviewed by Ryosuke Niwa.
54252
54253        move directionOfEnclosingBlock() to be global so that it could be reused.
54254        https://bugs.webkit.org/show_bug.cgi?id=57233.
54255
54256        Provide global function directionOfEnclosingBlock(Node*) so that it could be
54257        reused in SelectionController and other functionalities that need enclosing
54258        block's direcionality, such as moving caret by word in visual order.
54259      
54260        No new functionality, so no new tests.
54261
54262        * editing/SelectionController.cpp:
54263        (WebCore::SelectionController::directionOfEnclosingBlock):
54264        * editing/htmlediting.cpp:
54265        (WebCore::directionOfEnclosingBlock):
54266        * editing/htmlediting.h:
54267
542682011-03-28  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
54269
54270        Reviewed by Benjamin Poulain.
54271
54272        [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails
54273        https://bugs.webkit.org/show_bug.cgi?id=56825
54274
54275        Fixes for context attribute handling:
54276        - Initialize depth and stencil buffer depending on whether they
54277        are enabled in context attributes.
54278        - Always enable depth buffer when stencil buffer is enabled.
54279        - Disable stencil buffer on OpenGL ES 2.0
54280        - Cleaned up clutter code from initialization. Made code paths 
54281        more sane.
54282        - Clear mask is now set correctly in reshape().
54283
54284        Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
54285
54286        * platform/graphics/qt/GraphicsContext3DQt.cpp:
54287        (WebCore::GraphicsContext3DInternal::isValid):
54288        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
54289        (WebCore::GraphicsContext3DInternal::reshape):
54290        (WebCore::GraphicsContext3DInternal::paint):
54291        (WebCore::GraphicsContext3DInternal::getProcAddress):
54292        (WebCore::GraphicsContext3D::GraphicsContext3D):
54293        (WebCore::GraphicsContext3D::reshape):
54294        (WebCore::GraphicsContext3D::bindFramebuffer):
54295
542962011-03-28  Pavel Feldman  <pfeldman@chromium.org>
54297
54298        Reviewed by Yury Semikhatsky.
54299
54300        Web Inspector: rename network domain events from didHappenSomething to somethingHappened.
54301        https://bugs.webkit.org/show_bug.cgi?id=57226
54302
54303        * inspector/Inspector.json:
54304        * inspector/InspectorResourceAgent.cpp:
54305        (WebCore::InspectorResourceAgent::willSendRequest):
54306        (WebCore::InspectorResourceAgent::markResourceAsCached):
54307        (WebCore::InspectorResourceAgent::didReceiveResponse):
54308        (WebCore::InspectorResourceAgent::didReceiveContentLength):
54309        (WebCore::InspectorResourceAgent::didFinishLoading):
54310        (WebCore::InspectorResourceAgent::didFailLoading):
54311        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
54312        (WebCore::InspectorResourceAgent::setInitialContent):
54313        (WebCore::InspectorResourceAgent::didCommitLoad):
54314        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
54315        (WebCore::InspectorResourceAgent::didCreateWebSocket):
54316        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
54317        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
54318        (WebCore::InspectorResourceAgent::didCloseWebSocket):
54319        * inspector/front-end/NetworkManager.js:
54320        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
54321        (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
54322        (WebInspector.NetworkDispatcher.prototype.responseReceived):
54323        (WebInspector.NetworkDispatcher.prototype.dataReceived):
54324        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
54325        (WebInspector.NetworkDispatcher.prototype.loadingFailed):
54326        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
54327        (WebInspector.NetworkDispatcher.prototype.frameDetached):
54328        (WebInspector.NetworkDispatcher.prototype.initialContentSet):
54329        (WebInspector.NetworkDispatcher.prototype.frameNavigated):
54330        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
54331        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
54332        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
54333        (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
54334
543352011-03-28  Mikhail Naganov  <mnaganov@chromium.org>
54336
54337        Reviewed by Pavel Feldman.
54338
54339        WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal.
54340        https://bugs.webkit.org/show_bug.cgi?id=57099
54341
54342        * bindings/v8/ScriptHeapSnapshot.cpp:
54343        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
54344        * bindings/v8/ScriptHeapSnapshot.h:
54345        * bindings/v8/ScriptProfile.cpp:
54346        (WebCore::ScriptProfile::~ScriptProfile):
54347        * bindings/v8/ScriptProfile.h:
54348        * inspector/InspectorProfilerAgent.cpp:
54349        (WebCore::InspectorProfilerAgent::resetState):
54350
543512011-03-24  Pavel Podivilov  <podivilov@chromium.org>
54352
54353        Reviewed by Yury Semikhatsky.
54354
54355        Web Inspector: fix console messages positions in formatted scripts.
54356        https://bugs.webkit.org/show_bug.cgi?id=57010
54357
54358        * inspector/front-end/DebuggerPresentationModel.js:
54359        (WebInspector.DebuggerPresentationModel):
54360        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
54361        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping):
54362        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
54363        (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages):
54364        (WebInspector.DebuggerPresentationModel.prototype._reset):
54365        * inspector/front-end/ResourceTreeModel.js:
54366        (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
54367        * inspector/front-end/ScriptsPanel.js:
54368        (WebInspector.ScriptsPanel):
54369        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
54370        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
54371        (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
54372        (WebInspector.ScriptsPanel.prototype.reset):
54373        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
54374        * inspector/front-end/SourceFile.js:
54375        (WebInspector.SourceFile):
54376        * inspector/front-end/SourceFrame.js:
54377        (WebInspector.SourceFrame.prototype.addMessage):
54378        (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
54379        (WebInspector.SourceFrame.prototype.addMessageToSource):
54380
543812011-03-27  Pavel Feldman  <pfeldman@chromium.org>
54382
54383        Reviewed by Yury Semikhatsky.
54384
54385        Web Inspector: refactor ResourceTreeModel to remove poor dependencies.
54386        https://bugs.webkit.org/show_bug.cgi?id=57186
54387
54388        - ResourceTreeModel is now event target (Object)
54389        - There is no ResourceTreeModel -> UI dependencies
54390        - NetworkManager -> ResourceTreeModel dependencies has been removed
54391        - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events
54392        - ResourceTreeModel requests tree structure from the backend separately
54393        - Cached resources tree payload is now limited to url and type (no headers involved)
54394        - Resources tree is being rendered lazily upon request from the panel.
54395
54396        * inspector/Inspector.json:
54397        * inspector/InspectorResourceAgent.cpp:
54398        (WebCore::InspectorResourceAgent::resourceContent):
54399        (WebCore::InspectorResourceAgent::resourceContentBase64):
54400        (WebCore::buildObjectForFrameTree):
54401        (WebCore::InspectorResourceAgent::enable):
54402        (WebCore::InspectorResourceAgent::getCachedResources):
54403        (WebCore::InspectorResourceAgent::getResourceContent):
54404        * inspector/InspectorResourceAgent.h:
54405        * inspector/InspectorStyleSheet.cpp:
54406        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
54407        * inspector/front-end/InspectorFrontendHostStub.js:
54408        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
54409        (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
54410        * inspector/front-end/NetworkManager.js:
54411        (WebInspector.NetworkManager):
54412        (WebInspector.NetworkManager.prototype.frontendReused):
54413        (WebInspector.NetworkManager.prototype.requestContent):
54414        (WebInspector.NetworkDispatcher):
54415        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
54416        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
54417        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
54418        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
54419        * inspector/front-end/NetworkPanel.js:
54420        (WebInspector.NetworkPanel):
54421        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
54422        (WebInspector.NetworkPanel.prototype._onFrameCommitLoad):
54423        * inspector/front-end/ResourceTreeModel.js:
54424        (WebInspector.ResourceTreeModel):
54425        (WebInspector.ResourceTreeModel.prototype.frontendReused):
54426        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
54427        (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame):
54428        (WebInspector.ResourceTreeModel.prototype.frames):
54429        (WebInspector.ResourceTreeModel.prototype.subframes):
54430        (WebInspector.ResourceTreeModel.prototype.resources):
54431        (WebInspector.ResourceTreeModel.prototype._onCommitLoad):
54432        (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent):
54433        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
54434        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
54435        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
54436        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
54437        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
54438        (WebInspector.ResourceTreeModel.prototype._clearResources):
54439        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
54440        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
54441        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
54442        (WebInspector.ResourceTreeModel.prototype._createResource):
54443        * inspector/front-end/ResourcesPanel.js:
54444        (WebInspector.ResourcesPanel):
54445        (WebInspector.ResourcesPanel.prototype.show):
54446        (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
54447        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
54448        (WebInspector.ResourcesPanel.prototype._frameAdded):
54449        (WebInspector.ResourcesPanel.prototype._frameDetached):
54450        (WebInspector.ResourcesPanel.prototype._resourceAdded):
54451        (WebInspector.ResourcesPanel.prototype._frameNavigated):
54452        (WebInspector.FrameTreeElement.prototype.setTitles):
54453        * inspector/front-end/inspector.js:
54454        (WebInspector.frontendReused):
54455
544562011-03-27  Ryosuke Niwa  <rniwa@webkit.org>
54457
54458        Reviewed by Eric Seidel.
54459
54460        WebKit's behavior for text-align inherit differs from other browsers
54461        https://bugs.webkit.org/show_bug.cgi?id=56377
54462
54463        The bug was caused by WebKit's resolving text-align: start and text-align: end too early.
54464        As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes,
54465        the alignment of the text in those nodes should be determined based on the directionality of the text,
54466        not by the directionality of the ancestor node from which text-align property is inherited.
54467
54468        Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will
54469        align text to the left in a LTR context and to the right in a RTL context respectively.
54470
54471        * css/CSSPrimitiveValueMappings.h:
54472        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND.
54473        (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto.
54474        * css/CSSStyleSelector.cpp:
54475        (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd.
54476        * rendering/RenderBlock.cpp:
54477        (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND.
54478        * rendering/RenderBlockLineLayout.cpp:
54479        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND.
54480        * rendering/RenderText.cpp:
54481        (WebCore::RenderText::localCaretRect): Ditto.
54482        * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits.
54483        * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign.
54484
544852011-03-28  Pavel Podivilov  <podivilov@chromium.org>
54486
54487        Reviewed by Yury Semikhatsky.
54488
54489        Web Inspector: fix breakpoints positions in formatted scripts.
54490        https://bugs.webkit.org/show_bug.cgi?id=56931
54491
54492        Add async requestMapping method to SourceFile interface as required for populating
54493        breakpoints sidebar pane when in "format all scripts" mode.
54494
54495        * inspector/front-end/DebuggerPresentationModel.js:
54496        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
54497        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping):
54498        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
54499        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
54500        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
54501        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping):
54502        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
54503        (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI.
54504        (WebInspector.PresentationBreakpoint.prototype.get sourceFileId):
54505        (WebInspector.PresentationBreakpoint.prototype.get lineNumber):
54506        (WebInspector.PresentationBreakpoint.prototype.get condition):
54507        (WebInspector.PresentationBreakpoint.prototype.get enabled):
54508        (WebInspector.PresentationBreakpoint.prototype.get url):
54509        (WebInspector.PresentationBreakpoint.prototype.get resolved):
54510        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
54511        * inspector/front-end/ScriptFormatter.js:
54512        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
54513        (WebInspector.ScriptFormatter.prototype.formatContent):
54514        * inspector/front-end/SourceFile.js:
54515        (WebInspector.SourceFile.prototype.requestSourceMapping):
54516        (WebInspector.FormattedSourceFile.prototype.requestSourceMapping):
54517        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
54518        (WebInspector.SourceMapping):
54519        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation):
54520        (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation):
54521        (WebInspector.FormattedSourceMapping):
54522        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation):
54523        (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation):
54524        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
54525
545262011-03-28  Nancy Piedra  <nancy.piedra@nokia.com>
54527
54528        Reviewed by Csaba Osztrogonác.
54529
54530        This patch fixes linking errors on Qt Webkit Windows MinGW builds.
54531        This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that
54532        QWEBKIT_EXPORT is defined as follows:
54533        #define QWEBKIT_EXPORT Q_DECL_EXPORT
54534
54535        No new tests needed since only changing .pro file.
54536
54537        * WebCore.pro:
54538
545392011-03-28  Andrey Adaikin  <aandrey@google.com>
54540
54541        Reviewed by Yury Semikhatsky.
54542
54543        Web Inspector: source frame should show the error to user when live edit is failed
54544        https://bugs.webkit.org/show_bug.cgi?id=57002
54545
54546        * inspector/front-end/ScriptsPanel.js:
54547        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
54548        * inspector/front-end/SourceFrame.js:
54549        (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource):
54550        (WebInspector.SourceFrame.prototype._handleSave):
54551        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
54552
545532011-03-26  Mario Sanchez Prada  <msanchez@igalia.com>
54554
54555        Reviewed by Martin Robinson.
54556
54557        [GTK] Expose the AtkValue interface for WAI-ARIA sliders
54558        https://bugs.webkit.org/show_bug.cgi?id=56655
54559
54560        Implement AtkValue interface for WAI-ARIA sliders.
54561
54562        Test: platform/gtk/accessibility/aria-slider-required-attributes.html
54563
54564        * accessibility/gtk/AXObjectCacheAtk.cpp:
54565        (WebCore::AXObjectCache::postPlatformNotification): Emit the
54566        'property-change::accessible-value' signal when needed.
54567
54568        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
54569        (core): New, returns a core object from an AtkValue.
54570        (webkitAccessibleValueGetCurrentValue): New, implements AtkValue.
54571        (webkitAccessibleValueGetMaximumValue): Ditto.
54572        (webkitAccessibleValueGetMinimumValue): Ditto.
54573        (webkitAccessibleValueSetCurrentValue): Ditto.
54574        (webkitAccessibleValueGetMinimumIncrement): Ditto.
54575        (atkValueInterfaceInit): Ditto.
54576        (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE.
54577        (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders.
54578
545792011-03-28  Maciej Stachowiak  <mjs@apple.com>
54580
54581        Reviewed by Dan Bernstein.
54582
54583        Assigning location.path to something that doesn't start with / mangles the authority
54584        https://bugs.webkit.org/show_bug.cgi?id=57209
54585        <rdar://problem/9195132>
54586        
54587        Tests: http/tests/uri/assign-path-with-leading-slash.html
54588               http/tests/uri/assign-path-without-leading-slash.html
54589
54590        * platform/KURL.cpp:
54591        (WebCore::KURL::setPath): If the new path does not have a leading slash, add one.
54592
545932011-03-28  Ryosuke Niwa  <rniwa@webkit.org>
54594
54595        Reviewed by Eric Seidel.
54596
54597        Extract functions to update logical width from computeInlineDirectionPositionsForLine
54598        https://bugs.webkit.org/show_bug.cgi?id=57213
54599
54600        Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock,
54601        and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine.
54602
54603        They are used to update logical widths, logical left, and total logical width for left,
54604        right, and center aligned blocks.
54605
54606        * rendering/RenderBlockLineLayout.cpp:
54607        (WebCore::updateLogicalWidthForLeftAlignedBlock):
54608        (WebCore::updateLogicalWidthForRightAlignedBlock):
54609        (WebCore::updateLogicalWidthForCenterAlignedBlock):
54610        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
54611
546122011-03-28  Evan Martin  <evan@chromium.org>
54613
54614        Reviewed by Ryosuke Niwa.
54615
54616        Refactor duplicate code in HTMLTextElement
54617        https://bugs.webkit.org/show_bug.cgi?id=57215
54618
54619        * html/HTMLTitleElement.cpp:
54620        (WebCore::HTMLTitleElement::childrenChanged):
54621        This method did an equivalent loop to the text() method on
54622        the same object.
54623
546242011-03-27  Fumitoshi Ukai  <ukai@chromium.org>
54625
54626        Reviewed by Alexey Proskuryakov.
54627
54628        Don't call WebSocket::didClose() more than once.
54629        https://bugs.webkit.org/show_bug.cgi?id=57081
54630
54631        If WebSocket close() is called, and connection is established, then
54632        it will call didClose() that resets m_channel to 0.
54633        After that, when connection is closed, WebSocketChannel will call
54634        didClose for the WebSocket instance.
54635
54636        Call WebSocketChannel::disconnect() before m_channel = 0 to make sure
54637        WebSocketChannel suppress the second didClose().
54638
54639        Test: http/tests/websocket/tests/close-unref-websocket.html
54640
54641        * websockets/WebSocket.cpp:
54642        (WebCore::WebSocket::didClose):
54643
546442011-03-27  Adam Barth  <abarth@webkit.org>
54645
54646        Reviewed by Eric Seidel.
54647
54648        Fix script-src redirect handling
54649        https://bugs.webkit.org/show_bug.cgi?id=57196
54650
54651        Resource-loading requirements in CSP apply to each hop in the redirect
54652        chain.  To make that work properly, we need to move enforcement into
54653        the loader.  Fortunately, we already have a choke-point in the loader
54654        for enforcing this kind of policy.
54655
54656        * dom/ScriptElement.cpp:
54657        (WebCore::ScriptElement::requestScript):
54658        * html/parser/HTMLDocumentParser.cpp:
54659        * html/parser/HTMLDocumentParser.h:
54660        * html/parser/HTMLScriptRunnerHost.h:
54661        * loader/cache/CachedResourceLoader.cpp:
54662        (WebCore::CachedResourceLoader::canRequest):
54663        * page/ContentSecurityPolicy.cpp:
54664        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
54665        * page/ContentSecurityPolicy.h:
54666
546672011-03-27  Jer Noble  <jer.noble@apple.com>
54668
54669        Reviewed by Maciej Stachowiak.
54670
54671        Full Screen: disable keyboard access by default
54672        https://bugs.webkit.org/show_bug.cgi?id=56684
54673
54674        Pass whether keyboard access was requested up to ChromeClient when asking
54675        if fullscreen mode is supported.
54676
54677        * dom/Document.cpp:
54678        (WebCore::Document::webkitRequestFullScreenForElement):
54679        * page/ChromeClient.h:
54680        (WebCore::ChromeClient::supportsFullscreenForElement):
54681
546822011-03-27  Patrick Gansterer  <paroga@webkit.org>
54683
54684        Reviewed by Andreas Kling.
54685
54686        [CMake] Generate WebKitVersion.h
54687        https://bugs.webkit.org/show_bug.cgi?id=57128
54688
54689        This file will be used for the user agent string by the CMake based ports.
54690
54691        * CMakeLists.txt:
54692
546932011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
54694
54695        Reviewed by Alexey Proskuryakov.
54696
54697        https://bugs.webkit.org/show_bug.cgi?id=57170  Fix last elements
54698        in an enum to remove a trailing comma. Sun Studio 12 CC errors out.
54699
54700        Compile fix only, no actual code change.
54701
54702        * dom/ExceptionCode.h:
54703        * editing/EditorInsertAction.h:
54704        * loader/FrameLoaderTypes.h:
54705        * platform/PlatformKeyboardEvent.h:
54706        * platform/ScrollTypes.h:
54707        * platform/graphics/BitmapImage.h:
54708        * platform/image-decoders/ImageDecoder.h:
54709        * platform/network/ProtectionSpace.h:
54710        * platform/network/ResourceHandleClient.h:
54711        * platform/network/ResourceRequestBase.h:
54712        * platform/text/TextCodec.h:
54713
547142011-03-27  Rob Buis  <rwlbuis@gmail.com>
54715
54716        Reviewed by Nikolas Zimmermann.
54717
54718        Text on path positioning at zero startOffset
54719        https://bugs.webkit.org/show_bug.cgi?id=56245
54720
54721        Since for length 0 no previous point is set, choose epsilon
54722        length to get normal at starting point of the path.
54723
54724        Test: svg/text/text-path-middle-align.svg
54725
54726        * platform/graphics/Path.cpp:
54727        (WebCore::Path::normalAngleAtLength):
54728
547292011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
54730
54731        Reviewed by Oliver Hunt.
54732
54733        https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set
54734        created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932
54735
54736        Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions
54737
54738        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
54739        (WebCore::JSJavaScriptCallFrame::thisObject):
54740
547412011-03-26  Jer Noble  <jer.noble@apple.com>
54742
54743        Unreviewed build fix.
54744
54745        Fix a bug which was causing the "skip back" button to be missing, causing 
54746        the media layout tests to fail.
54747
54748        * rendering/RenderThemeMac.mm:
54749        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
54750
547512011-03-26  Dan Bernstein  <mitz@apple.com>
54752
54753        Reviewed by Maciej Stachowiak.
54754
54755        <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode
54756        https://bugs.webkit.org/show_bug.cgi?id=57169
54757
54758        Test: fast/blockflow/fallback-orientation.html
54759
54760        * platform/graphics/FontFastPath.cpp:
54761        (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather
54762        than continuing down the fallback list.
54763
547642011-03-26  Maciej Stachowiak  <mjs@apple.com>
54765
54766        Reviewed by Darin Adler.
54767
54768        Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test
54769        https://bugs.webkit.org/show_bug.cgi?id=56150
54770
54771        Test: fast/css/giant-stylesheet-crash.html
54772
54773        * dom/StyleElement.cpp:
54774        (WebCore::StyleElement::process):
54775
547762011-03-22  Jer Noble  <jer.noble@apple.com>
54777
54778        Reviewed by Eric Carlson.
54779
54780        Media controls must use full screen style when in new full screen mode.
54781        https://bugs.webkit.org/show_bug.cgi?id=56851
54782
54783        Add new full screen styles for the full screen media elements.
54784
54785        * DerivedSources.make: Add fullScreenQuickTime.css.
54786        * WebCore.xcodeproj/project.pbxproj: Ditto.
54787        * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded().
54788        (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto.
54789        (WebCore::CSSStyleSelector::styleForElement): Load full screen rules 
54790            if needed.
54791        * css/fullscreenQuickTime.css: Added.
54792        * css/mediaControls.css:
54793        * html/shadow/MediaControls.cpp:
54794        (WebCore::isFullScreen): Added.
54795        (WebCore::MediaControls::create): Add new full screen volume controls.
54796        (WebCore::MediaControls::updateStyle): Ditto.
54797        (WebCore::MediaControls::update): Ditto.
54798        (WebCore::MediaControls::updateVolumeSliderContainer): Ditto.
54799        (WebCore::MediaControls::forwardEvent): Ditto.
54800        * rendering/MediaControlElements.cpp:
54801        (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added.
54802        (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added.
54803        (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added.
54804        (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet
54805        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added.
54806        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added.
54807        (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added.
54808        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added.
54809        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added.
54810        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added.
54811        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added.
54812        * rendering/MediaControlElements.h:
54813            Added m_overridePosition.
54814        (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added.
54815        * rendering/MediaControlElements.h:
54816        (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added.
54817        * rendering/RenderTheme.h:
54818        (WebCore::RenderTheme::extraFullScreenStyleSheet): Added.
54819        * rendering/RenderThemeMac.h:
54820        * rendering/RenderThemeMac.mm:
54821        (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added.
54822        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward 
54823            buttons.
54824
548252011-03-26  Jer Noble  <jer.noble@apple.com>
54826
54827        Reviewed by Dan Bernstein.
54828
54829        RenderMedia should obey the view's flattening bit.
54830        https://bugs.webkit.org/show_bug.cgi?id=57156
54831
54832        Paint the current frame in software when the associated FrameView
54833        has its flattening bit set.
54834
54835        * rendering/RenderVideo.cpp:
54836        (WebCore::RenderVideo::paintReplaced):
54837
548382011-03-26  Patrick Gansterer  <paroga@webkit.org>
54839
54840        Unreviewed build fix for !ENABLE(DOM_STORAGE).
54841
54842        * storage/StorageTracker.cpp:
54843            Added #if ENABLE(DOM_STORAGE) like in the other storage files.
54844
548452011-03-26  Kwang Yul Seo  <skyul@company100.net>
54846
54847        Reviewed by Benjamin Poulain.
54848
54849        [Qt] Remove GraphicsLayerTextureMapper::nativeLayer
54850        https://bugs.webkit.org/show_bug.cgi?id=57141
54851
54852        GraphicsLayer::nativeLayer was removed in r73380.
54853
54854        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
54855        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
54856
548572011-03-26  Adam Barth  <abarth@webkit.org>
54858
54859        Reviewed by Eric Seidel.
54860
54861        Teach Content Security Policy how to parse source-list
54862        https://bugs.webkit.org/show_bug.cgi?id=54799
54863
54864        This patch is larger than I would like, but I wasn't sure how to make
54865        it any smaller while still being reasonably testable.  I've left out
54866        some features (such as host wildcarding and 'self') so I can add them
54867        in later patches with tests.
54868
54869        Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html
54870
54871        * bindings/ScriptControllerBase.cpp:
54872        * dom/ScriptElement.cpp:
54873        * html/parser/HTMLDocumentParser.cpp:
54874        * loader/FrameLoader.cpp:
54875            - Add include explicitly now that we're not spamming the include
54876              everywhere.
54877        * dom/Document.cpp:
54878        (WebCore::Document::initSecurityContext):
54879            - We need to pass the SecurityOrigin object to
54880              ContentSecurityPolicy so that it can resolve implicit parts of
54881              source patterns, such as the scheme.
54882        * dom/Document.h:
54883            - Forward declare ContentSecurityPolicy rather than including the
54884              header.  Technically this could be a separate change, but I was
54885              getting annoyed at the world re-builds.
54886        * page/ContentSecurityPolicy.cpp:
54887        (WebCore::skipExactly):
54888        (WebCore::skipUtil):
54889        (WebCore::skipWhile):
54890            - Clean up these parser helper functions.  We might consider moving
54891              them to a more general location.  They're very helpful for
54892              writing secure HTTP header parsers.
54893        (WebCore::CSPSource::CSPSource):
54894            - New class to represent one source in a source-list.
54895        (WebCore::CSPSource::matches):
54896        (WebCore::CSPSource::schemeMatches):
54897        (WebCore::CSPSource::hostMatches):
54898        (WebCore::CSPSource::portMatches):
54899        (WebCore::CSPSource::isSchemeOnly):
54900            - Currently we represent scheme-only sources using with an empty
54901              m_host.  Another approach I considered was using another bool,
54902              but that seemed slighly messier.
54903        (WebCore::CSPSourceList::CSPSourceList):
54904            - CSPSourceList doesn't need to ref SecurityOrigin because
54905              CSPSourceList is owned by ContentSecurityPolicy, which holds a
54906              ref.
54907        (WebCore::CSPSourceList::parse):
54908        (WebCore::CSPSourceList::matches):
54909        (WebCore::CSPSourceList::parseSource):
54910        (WebCore::CSPSourceList::parseScheme):
54911        (WebCore::CSPSourceList::parseHost):
54912        (WebCore::CSPSourceList::parsePort):
54913            - A basic "segment and recurse" parser.  This parser causes us to
54914              take more branches than we need, but I don't think we need to
54915              squeeze every last ouch of performance out of this parser.  This
54916              approach is more simple than some of the other approaches I
54917              tried.
54918        (WebCore::CSPSourceList::addSourceSelf):
54919        (WebCore::CSPDirective::CSPDirective):
54920        (WebCore::CSPDirective::allows):
54921        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
54922        (WebCore::ContentSecurityPolicy::parse):
54923        (WebCore::ContentSecurityPolicy::parseDirective):
54924        (WebCore::ContentSecurityPolicy::addDirective):
54925            - I couldn't resist re-writing this parser to use the helper
54926              functions and to match the style of the source-list parser.
54927        * page/ContentSecurityPolicy.h:
54928        (WebCore::ContentSecurityPolicy::create):
54929            - Accept a SecurityOrigin context object.
54930
549312011-03-26  Patrick Gansterer  <paroga@webkit.org>
54932
54933        Unreviewed EFL and WinCE build fix for r81977.
54934
54935        * platform/graphics/FontPlatformData.h:
54936
549372011-03-26  Patrick Gansterer  <paroga@webkit.org>
54938
54939        Unreviewed WinCE build fix for r82000.
54940
54941        * platform/wince/FileSystemWinCE.cpp:
54942        (WebCore::openFile): Added missing function.
54943
549442011-03-25  Kevin Ollivier  <kevino@theolliviers.com>
54945
54946        [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it.
54947
54948        * platform/graphics/FontPlatformData.h:
54949
549502011-03-25  Jer Noble  <jer.noble@apple.com>
54951
54952        Reviewed by Eric Carlson.
54953
54954        MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load.
54955        https://bugs.webkit.org/show_bug.cgi?id=57047
54956
54957        No new tests.
54958        
54959        When loading a URL, checkk osee if the Appplication Cache has a version of that URL
54960        stored; if so, use the local path to that cached media instead of the remote URL.
54961
54962        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
54963        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal):
54964        * platform/graphics/win/QTMovie.cpp:
54965        (QTMovie::loadPath):
54966        * platform/graphics/win/QTMovie.h:
54967
549682011-03-25  Dan Bernstein  <mitz@apple.com>
54969
54970        Reviewed by Darin Adler.
54971
54972        <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run
54973        https://bugs.webkit.org/show_bug.cgi?id=57106
54974
54975        Test: fast/text/justify-ideograph-leading-expansion.html
54976
54977        * platform/graphics/TextRun.h:
54978        Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags.
54979        (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter.
54980        (WebCore::TextRun::allowsLeadingExpansion): Added this accessor.
54981        (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member.
54982        * platform/graphics/WidthIterator.cpp:
54983        (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing
54984        leading expansion when appropriate.
54985        (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion
54986        after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code
54987        to handle expansion before the first glyph.
54988        * platform/graphics/mac/ComplexTextController.cpp:
54989        (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the
54990        TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion.
54991        (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion.
54992        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance()
54993        * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable.
54994        * rendering/InlineBox.h:
54995        (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion
54996        to reflect the use of this bit by InlineTextBox.
54997        * rendering/InlineTextBox.cpp:
54998        (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior().
54999        (WebCore::InlineTextBox::paint): Ditto.
55000        (WebCore::InlineTextBox::paintSelection): Ditto.
55001        (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
55002        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
55003        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
55004        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
55005        (WebCore::InlineTextBox::offsetForPosition): Ditto.
55006        (WebCore::InlineTextBox::positionForOffset): Ditto.
55007        * rendering/InlineTextBox.h:
55008        (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor.
55009        (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto.
55010        (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function,
55011        which also considers canHaveLeadingExpansion().
55012        * rendering/RenderBlockLineLayout.cpp:
55013        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on
55014        text boxes that can have leading expansion. Avoid negative expansion.
55015        * rendering/RootInlineBox.cpp:
55016        * rendering/RootInlineBox.h:
55017        (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag.
55018        (WebCore::RootInlineBox::setHasSelectedChildren): Ditto.
55019
550202011-03-23  Jer Noble  <jer.noble@apple.com>
55021
55022        Reviewed by Maciej Stachowiak.
55023
55024        MediaPlayerPrivateAVFoundation should use the Application Cache during load.
55025        https://bugs.webkit.org/show_bug.cgi?id=56997
55026
55027        No new tests.
55028
55029        When loading a URL, check to see if the Application Cache has a version of that URL
55030        stored; if so, use the local path to that cached media instead of the remote URL.
55031
55032        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
55033        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded
55034            from the application cache.
55035        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
55036        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
55037        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
55038        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
55039        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added.
55040        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL.
55041
550422011-03-25  Ben Taylor  <bentaylor.solx86@gmail.com>
55043
55044        Reviewed by Darin Adler.
55045
55046        https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect
55047        both sides of a ?: operation to have the same types.  Extracted from original
55048        https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally
55049        created by Thiago Macieira.
55050
55051        fixes a compile issue on Solaris 10/SunStudio 12
55052
55053        * loader/DocumentLoader.h:
55054        (WebCore::DocumentLoader::serverRedirectSourceForHistory):
55055        * loader/FrameLoader.cpp:
55056        (WebCore::FrameLoader::load):
55057        (WebCore::FrameLoader::loadWithNavigationAction):
55058
550592011-02-03  Jer Noble  <jer.noble@apple.com>
55060
55061        Reviewed by Maciej Stachowiak.
55062
55063        MediaPlayerPrivateQTKit should use the Application Cache during load.        
55064        https://bugs.webkit.org/show_bug.cgi?id=53818
55065
55066        No new tests.
55067
55068        When loading a URL, check to see if the Application Cache has a version of that URL
55069        stored; if so, use that data instead of the remote URL.
55070
55071        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
55072        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
55073        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
55074        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
55075        (WebCore::MediaPlayerPrivateQTKit::loadInternal):
55076
550772011-03-25  James Robinson  <jamesr@chromium.org>
55078
55079        Reviewed by Kenneth Russell.
55080
55081        [chromium] Move draw implementations to CCLayerImpl for everything except content layers
55082        https://bugs.webkit.org/show_bug.cgi?id=56793
55083
55084        Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for
55085        all layer types except content layers.  This gets us closer to decoupling the composite step itself from updating the layers.
55086
55087        The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines
55088        and moving the code from each XXXLayerChromium to CCXXXLayerImpl.  In order to render from the CCLayerImpl side all state
55089        needed at draw time also has to be synchronized, which is performed in pushPropertiesTo().
55090
55091        On the LayerRendererChromium side there are a few changes.  I've split the updateContents calls on LayerChromiums into two operations
55092        tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'.  paintContents() is used for any code that calls into WebKit in order to generate
55093        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
55094        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
55095        commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents().
55096
55097        The updateAndDrawLayers cycle now looks like this:
55098        1.) update the root content layer
55099        2.) update the root layer scrollbars
55100        3.) for each LayerChromium in tree order:
55101          a.) ensure a CCLayerImpl of the correct type exists for this layer
55102          b.) push all draw time properties from the LayerChromium to the CCLayerImpl
55103          c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists
55104        4.) for each LayerChromium in tree order, paint the layer's contents
55105        5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc)
55106        6.) draw the root layer and its scrollbars
55107        7.) for each CCLayerImpl in render surface order, draw it
55108
55109        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
55110        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
55111        up any texture updates.  This will also get fixed when the paint dependency on render surfaces is resolved.
55112
55113        I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area.
55114
55115        Tests: compositing/
55116
55117        * WebCore.gypi:
55118        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
55119        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
55120        * platform/graphics/chromium/Canvas2DLayerChromium.h:
55121        * platform/graphics/chromium/CanvasLayerChromium.cpp:
55122        (WebCore::CanvasLayerChromium::createCCLayerImpl):
55123        (WebCore::CanvasLayerChromium::pushPropertiesTo):
55124        * platform/graphics/chromium/CanvasLayerChromium.h:
55125        * platform/graphics/chromium/ContentLayerChromium.cpp:
55126        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
55127        (WebCore::ContentLayerChromium::paintContentsIfDirty):
55128        (WebCore::ContentLayerChromium::updateCompositorResources):
55129        (WebCore::ContentLayerChromium::bindContentsTexture):
55130        * platform/graphics/chromium/ContentLayerChromium.h:
55131        * platform/graphics/chromium/ImageLayerChromium.cpp:
55132        (WebCore::ImageLayerChromium::paintContentsIfDirty):
55133        * platform/graphics/chromium/ImageLayerChromium.h:
55134        * platform/graphics/chromium/LayerChromium.cpp:
55135        (WebCore::LayerChromium::LayerChromium):
55136        (WebCore::LayerChromium::cleanupResources):
55137        (WebCore::LayerChromium::setLayerRenderer):
55138        (WebCore::LayerChromium::setName):
55139        (WebCore::LayerChromium::pushPropertiesTo):
55140        (WebCore::LayerChromium::dumpLayer):
55141        (WebCore::LayerChromium::createCCLayerImpl):
55142        (WebCore::LayerChromium::createCCLayerImplIfNeeded):
55143        (WebCore::LayerChromium::ccLayerImpl):
55144        (WebCore::LayerChromium::layerRenderer):
55145        * platform/graphics/chromium/LayerChromium.h:
55146        (WebCore::LayerChromium::paintContentsIfDirty):
55147        (WebCore::LayerChromium::updateCompositorResources):
55148        * platform/graphics/chromium/LayerRendererChromium.cpp:
55149        (WebCore::LayerRendererChromium::updateLayers):
55150        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
55151        (WebCore::LayerRendererChromium::paintContentsRecursive):
55152        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
55153        (WebCore::LayerRendererChromium::drawLayer):
55154        (WebCore::LayerRendererChromium::initializeSharedObjects):
55155        * platform/graphics/chromium/LayerRendererChromium.h:
55156        (WebCore::LayerRendererChromium::canvasLayerProgram):
55157        (WebCore::LayerRendererChromium::pluginLayerProgram):
55158        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
55159        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
55160        * platform/graphics/chromium/PluginLayerChromium.cpp:
55161        (WebCore::PluginLayerChromium::createCCLayerImpl):
55162        (WebCore::PluginLayerChromium::setTextureId):
55163        (WebCore::PluginLayerChromium::pushPropertiesTo):
55164        * platform/graphics/chromium/PluginLayerChromium.h:
55165        (WebCore::PluginLayerChromium::textureId):
55166        * platform/graphics/chromium/VideoLayerChromium.cpp:
55167        (WebCore::VideoLayerChromium::createCCLayerImpl):
55168        (WebCore::VideoLayerChromium::updateCompositorResources):
55169        (WebCore::VideoLayerChromium::pushPropertiesTo):
55170        * platform/graphics/chromium/VideoLayerChromium.h:
55171        * platform/graphics/chromium/WebGLLayerChromium.cpp:
55172        (WebCore::WebGLLayerChromium::updateCompositorResources):
55173        * platform/graphics/chromium/WebGLLayerChromium.h:
55174        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
55175        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
55176        (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl):
55177        (WebCore::CCCanvasLayerImpl::draw):
55178        (WebCore::CCCanvasLayerImpl::dumpLayerProperties):
55179        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
55180        (WebCore::CCCanvasLayerImpl::create):
55181        (WebCore::CCCanvasLayerImpl::setTextureId):
55182        (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha):
55183        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
55184        (WebCore::CCLayerImpl::descendantsDrawsContent):
55185        (WebCore::CCLayerImpl::updateCompositorResources):
55186        (WebCore::CCLayerImpl::writeIndent):
55187        * platform/graphics/chromium/cc/CCLayerImpl.h:
55188        (WebCore::CCLayerImpl::setAnchorPoint):
55189        (WebCore::CCLayerImpl::setAnchorPointZ):
55190        (WebCore::CCLayerImpl::setMasksToBounds):
55191        (WebCore::CCLayerImpl::setOpacity):
55192        (WebCore::CCLayerImpl::setPosition):
55193        (WebCore::CCLayerImpl::setPreserves3D):
55194        (WebCore::CCLayerImpl::setSublayerTransform):
55195        (WebCore::CCLayerImpl::setTransform):
55196        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
55197        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
55198        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
55199        (WebCore::CCPluginLayerImpl::draw):
55200        (WebCore::CCPluginLayerImpl::dumpLayerProperties):
55201        * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
55202        (WebCore::CCPluginLayerImpl::create):
55203        (WebCore::CCPluginLayerImpl::setTextureId):
55204        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added.
55205        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
55206        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
55207        (WebCore::CCVideoLayerImpl::setTexture):
55208        (WebCore::CCVideoLayerImpl::draw):
55209        (WebCore::CCVideoLayerImpl::drawYUV):
55210        (WebCore::CCVideoLayerImpl::drawRGBA):
55211        (WebCore::CCVideoLayerImpl::dumpLayerProperties):
55212        * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
55213        (WebCore::CCVideoLayerImpl::create):
55214        (WebCore::CCVideoLayerImpl::setSkipsDraw):
55215        (WebCore::CCVideoLayerImpl::setFrameFormat):
55216
552172011-03-25  Oliver Hunt  <oliver@apple.com>
55218
55219        Reviewed by Darin Adler.
55220
55221        Allow defineOwnProperty to work on DOMObjects
55222        https://bugs.webkit.org/show_bug.cgi?id=57129
55223
55224        As other engines are allowing defineOwnProperty to be applied
55225        to host objects there's no reason for us to retain this
55226        restriction.
55227
55228        * bindings/js/JSDOMWrapper.cpp:
55229        * bindings/js/JSDOMWrapper.h:
55230
552312011-03-25  Andy Estes  <aestes@apple.com>
55232
55233        Reviewed by Adele Peterson.
55234
55235        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
55236        https://bugs.webkit.org/show_bug.cgi?id=49016
55237
55238        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the 
55239        QuickTime plug-in in web pages. r70748 removed our mapping of classids 
55240        to MIME types, which causes WebKit to fall back from the object to the 
55241        embed tag when QuickTime is embedded by this script. The script emits 
55242        the following embed tag to embed a QuickTime movie with a poster frame: 
55243
55244        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> 
55245
55246        The expectation is that a QuickTime plug-in is instantiated to display the 
55247        poster frame, since QuickTime registers for many common image MIME 
55248        types. This is how Gecko behaves for embed. However, WebKit prefers to 
55249        use its native image rendering for image embeds, in which case no movie 
55250        is played when the poster frame is clicked. 
55251
55252        Fix this by changing embed to check for a plug-in that can handle the 
55253        image type before rendering the image natively. This matches Gecko. 
55254
55255        Test: plugins/embed-prefers-plugins-for-images.html
55256
55257        * html/HTMLEmbedElement.cpp:
55258        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
55259        * html/HTMLObjectElement.cpp:
55260        (WebCore::HTMLObjectElement::HTMLObjectElement):
55261        (WebCore::HTMLObjectElement::parametersForPlugin):
55262        * html/HTMLPlugInImageElement.cpp:
55263        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
55264        (WebCore::HTMLPlugInImageElement::isImageType):
55265        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
55266        * html/HTMLPlugInImageElement.h:
55267        (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages):
55268        * loader/EmptyClients.h:
55269        (WebCore::EmptyFrameLoaderClient::objectContentType):
55270        * loader/FrameLoader.cpp:
55271        (WebCore::FrameLoader::defaultObjectContentType):
55272        * loader/FrameLoader.h:
55273        * loader/FrameLoaderClient.h:
55274        * loader/SubframeLoader.cpp:
55275        (WebCore::SubframeLoader::resourceWillUsePlugin):
55276        (WebCore::SubframeLoader::requestPlugin):
55277        (WebCore::SubframeLoader::requestObject):
55278        (WebCore::SubframeLoader::shouldUsePlugin):
55279        * loader/SubframeLoader.h:
55280
552812011-03-23  Jer Noble  <jer.noble@apple.com>
55282
55283        Reviewed by Eric Carlson.
55284
55285        Application Cache should save audio/ and video/ mime types as flat files
55286        https://bugs.webkit.org/show_bug.cgi?id=53784
55287        <rdar://problem/8932473>
55288
55289        No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines.
55290
55291        Store certain mime types as flat files alongside the Application Cache database.
55292        This requires plumbing the saved file path from ApplicationCacheStorage through
55293        to ApplicationCacheResource.
55294
55295        (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and
55296            add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger.
55297        (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in 
55298            CacheResourceData, and store media resources as flat files.
55299        (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData
55300            when loading cache items.
55301        (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources.
55302        (WebCore::ApplicationCacheStorage::empty): Ditto.
55303        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
55304        (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
55305        (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData
55306            looking for entries with non-empty "path" columns; if found, delete.
55307        (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows
55308            and sum the file size of those rows with flat file storage.
55309        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of 
55310            clearAllTables() directly.
55311        (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables,
55312            so that flat files get deleted.
55313        (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added.
55314        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added.
55315        * loader/appcache/ApplicationCacheStorage.h:
55316        * platform/win/FileSystemWin.cpp:
55317        (WebCore::openFile): Implement openFile on Windows.
55318
553192011-03-24  David Hyatt  <hyatt@apple.com>
55320
55321        Reviewed by Dan Bernstein.
55322
55323        https://bugs.webkit.org/show_bug.cgi?id=56909
55324        
55325        Add a simplified normal flow layout path optimization for overflow recomputation
55326        and for positioned objects inside relative positioned containers.
55327
55328        Currently there is an optimized code path for positioned objects, but as soon as
55329        we encounter a normal flow object in the containing block chain, we lose the
55330        optimization.
55331
55332        This patch adds a new type of style difference called SimplifiedLayout that is
55333        returned when only overflow needs to be recomputed. Whenever a transform changes,
55334        this is the hint returned now instead of a full layout.
55335        
55336        In addition, when positioned objects need layout and start marking up the
55337        containing block chain, we now propagate the fact that the layout is simplified
55338        all the way up to the root, even when we encounter normal flow containing
55339        blocks.
55340        
55341        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
55342        and is now used for all of these cases (in addition to what it handled before).
55343        
55344        The simplified layout optimization (even in ToT) did not work correctly when
55345        static distances needed to be recomputed. In order to make static distance
55346        computations work with simplified layout, positioned objects now always compute
55347        their static offsets, even if they explicitly specify left/top.  That way normal
55348        flow layout never has to re-run when the positioned object moves.  This makes
55349        movement of a positioned object along a single non-auto axis much faster when the
55350        other axis is auto. Because this code kicked in more often for absolutely positioned
55351        objects whose original display was inline, I went ahead and fixed the trailing space
55352        issue with those objects.  This causes a bunch of layout tests to progress.
55353
55354        Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html.
55355
55356        * rendering/RenderBlock.cpp:
55357        (WebCore::RenderBlock::layoutBlock):
55358        (WebCore::RenderBlock::adjustPositionedBlock):
55359        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
55360        (WebCore::RenderBlock::simplifiedLayout):
55361        * rendering/RenderBlock.h:
55362        * rendering/RenderBlockLineLayout.cpp:
55363        (WebCore::setStaticPositions):
55364        (WebCore::RenderBlock::findNextLineBreak):
55365        * rendering/RenderBox.cpp:
55366        (WebCore::RenderBox::styleDidChange):
55367        (WebCore::RenderBox::positionLineBox):
55368        * rendering/RenderBoxModelObject.cpp:
55369        (WebCore::RenderBoxModelObject::styleWillChange):
55370        * rendering/RenderFlexibleBox.cpp:
55371        (WebCore::RenderFlexibleBox::layoutBlock):
55372        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
55373        (WebCore::RenderFlexibleBox::layoutVerticalBox):
55374        * rendering/RenderObject.cpp:
55375        (WebCore::RenderObject::RenderObject):
55376        (WebCore::RenderObject::adjustStyleDifference):
55377        (WebCore::RenderObject::setStyle):
55378        (WebCore::RenderObject::styleDidChange):
55379        * rendering/RenderObject.h:
55380        (WebCore::RenderObject::needsLayout):
55381        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
55382        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
55383        (WebCore::RenderObject::setNeedsLayout):
55384        (WebCore::RenderObject::setChildNeedsLayout):
55385        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
55386        (WebCore::RenderObject::markContainingBlocksForLayout):
55387        * rendering/RenderTable.cpp:
55388        (WebCore::RenderTable::layout):
55389        * rendering/style/RenderStyle.cpp:
55390        (WebCore::RenderStyle::diff):
55391        * rendering/style/RenderStyleConstants.h:
55392        * rendering/svg/RenderSVGText.cpp:
55393        (WebCore::RenderSVGText::layout):
55394
553952011-03-25  Martin Robinson  <mrobinson@igalia.com>
55396
55397        Fix the GTK+ build until we can implement the new cross-platform
55398        FontPlatformData.h bits.
55399
55400        * platform/graphics/FontPlatformData.h: Include the proper old font headers.
55401        (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file
55402        which reference our obsolete font implementation.
55403        (WebCore::FontPlatformData::hash): Ditto.
55404
554052011-03-25  Steve Falkenburg  <sfalken@apple.com>
55406
55407        Reviewed by Brian Weinstein.
55408
55409        Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
55410        https://bugs.webkit.org/show_bug.cgi?id=57119
55411        <rdar://problem/9054148>
55412        
55413        This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
55414        not available in WebKit. The plug-in is fairly widespread, since it was included in
55415        a Windows Update push at one point.
55416
55417        * plugins/win/PluginPackageWin.cpp:
55418        (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll.
55419
554202011-03-25  Tony Chang  <tony@chromium.org>
55421
55422        Try to fix the chromium mac build.
55423        We used the mac FontPlatformData on chromium mac.
55424
55425        * WebCore.gyp/WebCore.gyp:
55426        * WebCore.gypi:
55427        * platform/graphics/FontPlatformData.h:
55428
554292011-03-25  Tony Chang  <tony@chromium.org>
55430
55431        Build fix:
55432        have chromium and qt use the correct FontPlatformData.h
55433        https://bugs.webkit.org/show_bug.cgi?id=57115
55434
55435        * platform/graphics/FontPlatformData.h:
55436
554372011-03-25  Beth Dakin  <bdakin@apple.com>
55438
55439        Reviewed by Dave Hyatt.
55440
55441        Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow 
55442        areas paint behind positive z-index content
55443        -and corresponding-
55444        <rdar://problem/9070500>
55445
55446        Since overlay scrollbars don't clip the scrollable content like other scrollbars do, 
55447        the only way to get them to paint on top of all possible scrollable content is to 
55448        make them paint on top of everything. To do this, this patch adds a second trip 
55449        through the layer tree if it contains overlay scrollbars that need painting.
55450
55451        After calling paint() on the rootLayer, call paintOverlayScrollers() if 
55452        containsDirtyOverlayScrollbars() is true. 
55453        * page/FrameView.cpp:
55454        (WebCore::FrameView::paintContents):
55455
55456        RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool 
55457        that is set on the root layer when it has child layers that need overlay scrollbars 
55458        to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty 
55459        of the overlay scrollbars on the first (normal) pass through the layer tree. This 
55460        prevents us from having to re-enter the render tree during the second (overlay-only) 
55461        pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars.
55462        * rendering/RenderLayer.h:
55463        (WebCore::RenderLayer::containsDirtyOverlayScrollbars):
55464        (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars):
55465        * rendering/RenderLayer.cpp:
55466        (WebCore::RenderLayer::RenderLayer):
55467        (WebCore::RenderLayer::paintOverflowControls):
55468        (WebCore::RenderLayer::paintOverlayScrollbars):
55469        (WebCore::RenderLayer::paintLayer):
55470
554712011-03-25  Jessie Berlin  <jberlin@apple.com>
55472
55473        Reviewed by Sam Weinig.
55474
55475        WebKit2: Need to be able to set and get the Cookie Storage Policy.
55476        https://bugs.webkit.org/show_bug.cgi?id=50780
55477
55478        * platform/network/cf/CookieStorageCFNet.cpp:
55479        (WebCore::privateCookieStorage):
55480        Rename privateBrowsingCookieStorage to privateCookieStorage.
55481        (WebCore::currentCookieStorage):
55482        Ditto.
55483        (WebCore::setCurrentCookieStorage):
55484        Ditto.
55485        (WebCore::setCookieStoragePrivateBrowsingEnabled):
55486        Ditto.
55487        (WebCore::defaultCookieStorage):
55488        Return the default cookie storage.
55489        (WebCore::privateBrowsingCookieStorage):
55490        Return privateCookieStorage().get()
55491        * platform/network/cf/CookieStorageCFNet.h:
55492
554932011-03-25  Emil A Eklund  <eae@chromium.org>
55494
55495        Reviewed by Dimitri Glazkov.
55496
55497        Text field "onchange" event is triggered if actual value unchanged
55498        https://bugs.webkit.org/show_bug.cgi?id=36314
55499
55500        Change RenderTextControl::subtreeHasChanged to only return true if the
55501        subtree has changed since the last event was triggered.
55502
55503        * html/HTMLFormControlElement.cpp:
55504        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
55505        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
55506        * html/HTMLFormControlElement.h:
55507        (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent):
55508        * html/HTMLInputElement.cpp:
55509        (WebCore::HTMLInputElement::setChecked):
55510        (WebCore::HTMLInputElement::setValue):
55511        * html/HTMLTextAreaElement.cpp:
55512        (WebCore::HTMLTextAreaElement::setValue):
55513        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
55514
555152011-03-25  Brent Fulgham  <bfulgham@webkit.org>
55516
55517        Reviewed by David Hyatt.
55518
55519        Clean up FontPlatformData structure so that a single implementation
55520        is used across all ports.  This first patch works for the Windows
55521        build (both CG and WinCairo), and Cocoa.
55522
55523        * WebCore.vcproj/WebCore.vcproj:
55524        * platform/graphics/FontPlatformData.cpp: Added.
55525        (WebCore::FontPlatformData::FontPlatformData):
55526        (WebCore::FontPlatformData::operator=):
55527        * platform/graphics/FontPlatformData.h: Added.
55528        (WebCore::toCTFontRef):
55529        (WebCore::FontPlatformData::FontPlatformData):
55530        (WebCore::FontPlatformData::hfont):
55531        (WebCore::FontPlatformData::useGDI):
55532        (WebCore::FontPlatformData::font):
55533        (WebCore::FontPlatformData::cgFont):
55534        (WebCore::FontPlatformData::size):
55535        (WebCore::FontPlatformData::setSize):
55536        (WebCore::FontPlatformData::syntheticBold):
55537        (WebCore::FontPlatformData::syntheticOblique):
55538        (WebCore::FontPlatformData::isColorBitmapFont):
55539        (WebCore::FontPlatformData::orientation):
55540        (WebCore::FontPlatformData::textOrientation):
55541        (WebCore::FontPlatformData::widthVariant):
55542        (WebCore::FontPlatformData::setOrientation):
55543        (WebCore::FontPlatformData::scaledFont):
55544        (WebCore::FontPlatformData::fontFace):
55545        (WebCore::FontPlatformData::hash):
55546        (WebCore::FontPlatformData::operator==):
55547        (WebCore::FontPlatformData::isHashTableDeletedValue):
55548        (WebCore::FontPlatformData::hashTableDeletedFontValue):
55549        * platform/graphics/cg/FontPlatformData.h: Removed.
55550        * platform/graphics/cocoa/FontPlatformData.h: Removed.
55551        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
55552        (WebCore::~FontPlatformData):
55553        (WebCore::FontPlatformData::platformDataInit):
55554        (WebCore::FontPlatformData::platformDataAssign):
55555        * platform/graphics/win/FontPlatformDataCGWin.cpp:
55556        (WebCore::FontPlatformData::FontPlatformData):
55557        (WebCore::FontPlatformData::~FontPlatformData):
55558        (WebCore::FontPlatformData::platformDataInit):
55559        (WebCore::FontPlatformData::platformDataAssign):
55560        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
55561        (WebCore::FontPlatformData::FontPlatformData):
55562        (WebCore::FontPlatformData::~FontPlatformData):
55563        (WebCore::FontPlatformData::platformDataInit):
55564        (WebCore::FontPlatformData::platformDataAssign):
55565        * platform/graphics/win/FontPlatformDataWin.cpp:
55566        (WebCore::FontPlatformData::FontPlatformData):
55567        * platform/graphics/win/cairo/FontPlatformData.h: Removed.
55568
555692011-03-25  Enrica Casucci  <enrica@apple.com>
55570
55571        Reviewed by Oliver Hunt.
55572
55573        Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName.
55574        https://bugs.webkit.org/show_bug.cgi?id=57107
55575        <rdar://problem/9084267>
55576
55577        If the selection is at the beginning of content inside an anchor tag
55578        we move the selection start to include the anchor.
55579        
55580        * platform/mac/PasteboardMac.mm:
55581        (WebCore::Pasteboard::writeSelection): Modified to change the selection
55582        start according to the new rule.
55583
555842011-03-25  Pavel Feldman  <pfeldman@chromium.org>
55585
55586        Reviewed by Yury Semikhatsky.
55587
55588        Web Inspector: refactor Network domain's frame tree API
55589        https://bugs.webkit.org/show_bug.cgi?id=57103
55590
55591        * inspector/Inspector.json:
55592        * inspector/InspectorResourceAgent.cpp:
55593        (WebCore::buildObjectForFrameResource):
55594        (WebCore::buildObjectForCachedResource):
55595        (WebCore::InspectorResourceAgent::willSendRequest):
55596        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
55597        (WebCore::buildObjectForFrame):
55598        (WebCore::buildObjectForFrameTree):
55599        (WebCore::InspectorResourceAgent::didCommitLoad):
55600        (WebCore::InspectorResourceAgent::enable):
55601        * inspector/front-end/NetworkManager.js:
55602        (WebInspector.NetworkManager.prototype.requestContent):
55603        (WebInspector.NetworkDispatcher):
55604        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
55605        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
55606        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
55607        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
55608        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
55609        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
55610        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
55611        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
55612        (WebInspector.NetworkDispatcher.prototype._createResource):
55613        * inspector/front-end/ResourceTreeModel.js:
55614        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
55615        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
55616        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
55617        (WebInspector.ResourceTreeModel.prototype._clearResources):
55618        * inspector/front-end/ResourcesPanel.js:
55619        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
55620        (WebInspector.ResourcesPanel.prototype.addResourceToFrame):
55621
556222011-03-25  Dave Hyatt  <hyatt@apple.com>
55623
55624        Reviewed by Adele Peterson.
55625
55626        REGRESSION(r77257): Only first page of a document is printed
55627        https://bugs.webkit.org/show_bug.cgi?id=56958
55628
55629        Test: printing/page-count-layout-overflow.html
55630
55631        * page/FrameView.cpp:
55632        (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow
55633            to the right place.
55634
556352011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
55636
55637        Reviewed by Andreas Kling.
55638
55639        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
55640        https://bugs.webkit.org/show_bug.cgi?id=57087
55641
55642        Use explicit conversion for string to avoid depending on the default codec
55643        installed by the user code.
55644
55645        * bridge/qt/qt_pixmapruntime.cpp:
55646        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
55647        (JSC::Bindings::QtPixmapInstance::valueOf):
55648        * platform/qt/LanguageQt.cpp:
55649        (WebCore::platformDefaultLanguage):
55650        * platform/qt/PasteboardQt.cpp:
55651        (WebCore::Pasteboard::writeSelection):
55652        * plugins/qt/PluginPackageQt.cpp:
55653        (WebCore::initializeGtk):
55654        * plugins/qt/PluginViewQt.cpp:
55655        (WebCore::getPluginDisplay):
55656
556572011-03-25  Chang Shu  <cshu@webkit.org>
55658
55659        Reviewed by Ryosuke Niwa.
55660
55661        rename Node::isContentEditable and all call sites to rendererIsEditable
55662        https://bugs.webkit.org/show_bug.cgi?id=54290
55663
55664        This is part of the effort to separate JS API HTMLElement isContentEditable from
55665        internal Node::rendererIsEditable.
55666
55667        Code refactoring. No new tests.
55668
55669        * accessibility/AccessibilityRenderObject.cpp:
55670        (WebCore::AccessibilityRenderObject::isReadOnly):
55671        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
55672        * dom/Document.cpp:
55673        (WebCore::acceptsEditingFocus):
55674        * dom/Node.cpp:
55675        (WebCore::Node::rendererIsEditable):
55676        (WebCore::Node::shouldUseInputMethod):
55677        (WebCore::Node::canStartSelection):
55678        (WebCore::Node::rootEditableElement):
55679        * dom/Node.h:
55680        (WebCore::Node::isContentEditable):
55681        (WebCore::Node::rendererIsEditable):
55682        (WebCore::Node::rendererIsRichlyEditable):
55683        * dom/Position.cpp:
55684        (WebCore::nextRenderedEditable):
55685        (WebCore::previousRenderedEditable):
55686        (WebCore::Position::atEditingBoundary):
55687        (WebCore::Position::parentEditingBoundary):
55688        (WebCore::Position::upstream):
55689        (WebCore::Position::downstream):
55690        (WebCore::Position::isCandidate):
55691        * dom/PositionIterator.cpp:
55692        (WebCore::PositionIterator::isCandidate):
55693        * editing/AppendNodeCommand.cpp:
55694        (WebCore::AppendNodeCommand::AppendNodeCommand):
55695        (WebCore::AppendNodeCommand::doApply):
55696        (WebCore::AppendNodeCommand::doUnapply):
55697        * editing/ApplyStyleCommand.cpp:
55698        (WebCore::containsNonEditableRegion):
55699        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
55700        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
55701        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
55702        * editing/CompositeEditCommand.cpp:
55703        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
55704        * editing/DeleteButtonController.cpp:
55705        (WebCore::isDeletableElement):
55706        (WebCore::enclosingDeletableElement):
55707        * editing/DeleteFromTextNodeCommand.cpp:
55708        (WebCore::DeleteFromTextNodeCommand::doApply):
55709        (WebCore::DeleteFromTextNodeCommand::doUnapply):
55710        * editing/DeleteSelectionCommand.cpp:
55711        (WebCore::DeleteSelectionCommand::removeNode):
55712        * editing/Editor.cpp:
55713        (WebCore::Editor::canDeleteRange):
55714        (WebCore::Editor::markMisspellingsOrBadGrammar):
55715        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
55716        * editing/EditorCommand.cpp:
55717        (WebCore::verticalScrollDistance):
55718        * editing/FormatBlockCommand.cpp:
55719        (WebCore::enclosingBlockToSplitTreeTo):
55720        * editing/IndentOutdentCommand.cpp:
55721        (WebCore::IndentOutdentCommand::outdentParagraph):
55722        * editing/InsertIntoTextNodeCommand.cpp:
55723        (WebCore::InsertIntoTextNodeCommand::doApply):
55724        (WebCore::InsertIntoTextNodeCommand::doUnapply):
55725        * editing/InsertNodeBeforeCommand.cpp:
55726        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
55727        (WebCore::InsertNodeBeforeCommand::doApply):
55728        (WebCore::InsertNodeBeforeCommand::doUnapply):
55729        * editing/JoinTextNodesCommand.cpp:
55730        (WebCore::JoinTextNodesCommand::doApply):
55731        (WebCore::JoinTextNodesCommand::doUnapply):
55732        * editing/MergeIdenticalElementsCommand.cpp:
55733        (WebCore::MergeIdenticalElementsCommand::doApply):
55734        (WebCore::MergeIdenticalElementsCommand::doUnapply):
55735        * editing/RemoveNodeCommand.cpp:
55736        (WebCore::RemoveNodeCommand::doApply):
55737        (WebCore::RemoveNodeCommand::doUnapply):
55738        * editing/ReplaceSelectionCommand.cpp:
55739        (WebCore::ReplacementFragment::ReplacementFragment):
55740        * editing/SelectionController.cpp:
55741        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
55742        (WebCore::SelectionController::setSelectionFromNone):
55743        * editing/SplitElementCommand.cpp:
55744        (WebCore::SplitElementCommand::executeApply):
55745        (WebCore::SplitElementCommand::doUnapply):
55746        * editing/SplitTextNodeCommand.cpp:
55747        (WebCore::SplitTextNodeCommand::doApply):
55748        (WebCore::SplitTextNodeCommand::doUnapply):
55749        (WebCore::SplitTextNodeCommand::doReapply):
55750        * editing/SplitTextNodeContainingElementCommand.cpp:
55751        (WebCore::SplitTextNodeContainingElementCommand::doApply):
55752        * editing/VisiblePosition.cpp:
55753        (WebCore::VisiblePosition::canonicalPosition):
55754        * editing/WrapContentsInDummySpanCommand.cpp:
55755        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
55756        (WebCore::WrapContentsInDummySpanCommand::doReapply):
55757        * editing/htmlediting.cpp:
55758        (WebCore::highestEditableRoot):
55759        (WebCore::lowestEditableAncestor):
55760        (WebCore::isEditablePosition):
55761        (WebCore::isRichlyEditablePosition):
55762        (WebCore::firstEditablePositionAfterPositionInRoot):
55763        (WebCore::extendRangeToWrappingNodes):
55764        (WebCore::enclosingNodeWithTag):
55765        (WebCore::enclosingNodeOfType):
55766        (WebCore::highestEnclosingNodeOfType):
55767        (WebCore::canMergeLists):
55768        * editing/visible_units.cpp:
55769        (WebCore::previousLeafWithSameEditability):
55770        (WebCore::previousLinePosition):
55771        (WebCore::nextLeafWithSameEditability):
55772        (WebCore::nextLinePosition):
55773        (WebCore::startOfParagraph):
55774        (WebCore::endOfParagraph):
55775        * html/HTMLAnchorElement.cpp:
55776        (WebCore::HTMLAnchorElement::supportsFocus):
55777        (WebCore::HTMLAnchorElement::defaultEventHandler):
55778        (WebCore::HTMLAnchorElement::setActive):
55779        (WebCore::HTMLAnchorElement::canStartSelection):
55780        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
55781        * html/HTMLBodyElement.cpp:
55782        (WebCore::HTMLBodyElement::supportsFocus):
55783        * html/HTMLElement.cpp:
55784        (WebCore::HTMLElement::supportsFocus):
55785        (WebCore::HTMLElement::isContentEditable):
55786        (WebCore::HTMLElement::contentEditable):
55787        * html/HTMLElement.h:
55788        * page/DragController.cpp:
55789        (WebCore::DragController::operationForLoad):
55790        (WebCore::DragController::canProcessDrag):
55791        * page/EventHandler.cpp:
55792        (WebCore::EventHandler::handleMouseReleaseEvent):
55793        (WebCore::EventHandler::selectCursor):
55794        * page/FocusController.cpp:
55795        (WebCore::relinquishesEditingFocus):
55796        * rendering/HitTestResult.cpp:
55797        (WebCore::HitTestResult::isContentEditable):
55798        * rendering/RenderBlock.cpp:
55799        (WebCore::positionForPointRespectingEditingBoundaries):
55800        (WebCore::RenderBlock::hasLineIfEmpty):
55801        * rendering/RenderBlockLineLayout.cpp:
55802        (WebCore::RenderBlock::addOverflowFromInlineChildren):
55803        * rendering/RenderBox.cpp:
55804        (WebCore::RenderBox::canBeProgramaticallyScrolled):
55805        * rendering/RenderObject.cpp:
55806        (WebCore::RenderObject::createVisiblePosition):
55807        * rendering/RootInlineBox.cpp:
55808        (WebCore::isEditableLeaf):
55809        * svg/SVGAElement.cpp:
55810        (WebCore::SVGAElement::supportsFocus):
55811
558122011-03-25  Maciej Stachowiak  <mjs@apple.com>
55813
55814        Reviewed by Antti Koivisto.
55815
55816        Crash when a wbr element is inserted inside mroot
55817        https://bugs.webkit.org/show_bug.cgi?id=56352
55818
55819        Test: mathml/wbr-in-mroot-crash.html
55820
55821        * rendering/mathml/RenderMathMLRoot.cpp:
55822        (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first
55823        child, instead of just assuming.
55824
558252011-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
55826
55827        Reviewed by Pavel Feldman.
55828
55829        XML Viewer: extensions can't render original XML
55830        https://bugs.webkit.org/show_bug.cgi?id=56263
55831
55832        Added source xml to transformed document, renamed onload function.
55833
55834        * xml/XMLTreeViewer.cpp:
55835        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
55836        * xml/XMLViewer.xsl:
55837
558382011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
55839
55840        Reviewed by Andreas Kling.
55841
55842        [Qt] Get rid of the invalid string conversion with ::fromAscii()
55843        https://bugs.webkit.org/show_bug.cgi?id=57102
55844
55845        Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code.
55846
55847        * platform/network/qt/QNetworkReplyHandler.cpp:
55848        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
55849        * platform/qt/CookieJarQt.cpp:
55850        (WebCore::cookies):
55851        (WebCore::cookieRequestHeaderFieldValue):
55852
558532011-03-25  Sheriff Bot  <webkit.review.bot@gmail.com>
55854
55855        Unreviewed, rolling out r81953.
55856        http://trac.webkit.org/changeset/81953
55857        https://bugs.webkit.org/show_bug.cgi?id=57096
55858
55859        "inspector test breakage: part 2/2" (Requested by apavlov on
55860        #webkit).
55861
55862        * inspector/Inspector.json:
55863        * inspector/InspectorCSSAgent.cpp:
55864        (WebCore::InspectorCSSAgent::getAllStyles):
55865        * inspector/InspectorCSSAgent.h:
55866        * inspector/InspectorStyleSheet.cpp:
55867        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
55868        * inspector/InspectorStyleSheet.h:
55869        * inspector/front-end/AuditRules.js:
55870        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
55871        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
55872        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
55873        * inspector/front-end/CSSStyleModel.js:
55874        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
55875        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
55876        (WebInspector.CSSStyleModel.prototype._onRevert):
55877        (WebInspector.CSSStyleSheet):
55878        (WebInspector.CSSStyleSheet.prototype.setText):
55879
558802011-03-15  Alexander Pavlov  <apavlov@chromium.org>
55881
55882        Reviewed by Pavel Feldman.
55883
55884        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
55885        https://bugs.webkit.org/show_bug.cgi?id=56310
55886
55887        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
55888        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
55889        by CSSAgent.getStyleSheet() anymore.
55890
55891        Test: inspector/styles/get-set-stylesheet-text.html
55892
55893        * inspector/Inspector.json:
55894        * inspector/InspectorCSSAgent.cpp:
55895        (WebCore::InspectorCSSAgent::getAllStyleSheets):
55896        * inspector/InspectorCSSAgent.h:
55897        * inspector/InspectorStyleSheet.cpp:
55898        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
55899        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
55900        * inspector/InspectorStyleSheet.h:
55901        * inspector/front-end/AuditRules.js:
55902        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
55903        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
55904        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
55905        * inspector/front-end/CSSStyleModel.js:
55906        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
55907        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
55908        (WebInspector.CSSStyleModel.prototype._onRevert):
55909        (WebInspector.CSSStyleSheet):
55910        (WebInspector.CSSStyleSheet.prototype.setText):
55911
559122011-03-25  Pavel Feldman  <pfeldman@chromium.org>
55913
55914        Reviewed by Yury Semikhatsky.
55915
55916        Web Inspector: extension server should not convert all resources to HAR when there are no extensions.
55917        https://bugs.webkit.org/show_bug.cgi?id=57044
55918
55919        * inspector/front-end/ExtensionServer.js:
55920        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
55921        (WebInspector.ExtensionServer.prototype._hasSubscribers):
55922
559232011-03-25  Leo Yang  <leo.yang@torchmobile.com.cn>
55924
55925        Reviewed by Nikolas Zimmermann.
55926
55927        SVG <use> element performance improvement
55928        https://bugs.webkit.org/show_bug.cgi?id=57077
55929
55930        SVG <use> element was expanding nesting <use> and <symbol> elements
55931        in an inefficient way. After it expanded an <use> or a <symbol>
55932        element it would restart expanding from the shadow tree root.
55933        This behavior was leading about 160 millions of calls to
55934        expandUseElementInShadowTree or expandSymbolElementInShadowTree for
55935        a single shadow tree which is illustrated by
55936        http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg.
55937        But the effective calls, which really expand <use> or <symbol>
55938        elements, were about 5200; others were passing-by calls, which are
55939        recursively down to the children.
55940
55941        This patch is altering the expanding path to reduce the passing-by
55942        calls. It will expand elements in sibling chain where there is an
55943        effective call, because the effective call replaces element which is
55944        expanded and the replacement results lose of the sibling chain of
55945        the replaced on the upper recursion stack. With this patch the
55946        passing-by calls are reduced from about 160 millions to about 30
55947        thousands.
55948
55949        No functionality change, no new tests.
55950
55951        * svg/SVGUseElement.cpp:
55952        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
55953        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
55954        * svg/SVGUseElement.h:
55955
559562011-03-25  Dominic Cooney  <dominicc@google.com>
55957
55958        Reviewed by Kent Tamura.
55959
55960        Makes keygen support autofocus attribute.
55961        https://bugs.webkit.org/show_bug.cgi?id=57091
55962
55963        Test: fast/forms/autofocus-keygen.html
55964
55965        * html/HTMLFormControlElement.cpp:
55966        (WebCore::HTMLFormControlElement::attach):
55967
559682011-03-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
55969
55970        Reviewed by Antonio Gomes.
55971
55972        [EFL] Add sound / mute button to MediaControl UI
55973        https://bugs.webkit.org/show_bug.cgi?id=56726
55974
55975        Add sound / mute button to MediaControl UI.
55976
55977        * platform/efl/RenderThemeEfl.cpp:
55978        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
55979        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
55980        (WebCore::RenderThemeEfl::paintMediaMuteButton):
55981        * platform/efl/RenderThemeEfl.h:
55982
559832011-03-24  Nikolas Zimmermann  <nzimmermann@rim.com>
55984
55985        Reviewed by Darin Adler.
55986
55987        Introduce WTF HexNumber.h
55988        https://bugs.webkit.org/show_bug.cgi?id=56099
55989
55990        Introduce a set of functions that ease converting from a bye or a number to a hex string,
55991        replacing several of these conversions and String::format("%x") usages all over WebCore.
55992
55993        * ForwardingHeaders/wtf/HexNumber.h: Added.
55994        * css/CSSOMUtils.cpp:
55995        (WebCore::serializeCharacterAsCodePoint):
55996        * css/CSSParser.cpp:
55997        (WebCore::quoteCSSString):
55998        * inspector/InspectorResourceAgent.cpp:
55999        (WebCore::createReadableStringFromBinary):
56000        * platform/FileSystem.cpp:
56001        (WebCore::encodeForFileName):
56002        * platform/KURL.cpp:
56003        (WebCore::appendEscapedChar):
56004        * platform/UUID.cpp:
56005        (WebCore::createCanonicalUUIDString):
56006        * platform/graphics/Color.cpp:
56007        (WebCore::Color::serialized):
56008        * platform/network/FormDataBuilder.cpp:
56009        (WebCore::FormDataBuilder::encodeStringAsFormData):
56010        * rendering/RenderTreeAsText.cpp:
56011        (WebCore::quoteAndEscapeNonPrintables):
56012
560132011-03-24  Stephanie Lewis  <slewis@apple.com>
56014
56015        Reviewed by Geoff Garen.
56016
56017        <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts
56018        Add back a call to destroy decoded data after access.  Keep the SourceProviderCache 
56019        around as long as their are still clients to use it.
56020
56021        No new tests because there is no change in behavior.  Current tests pass.
56022
56023        * loader/cache/CachedScript.cpp:
56024        (WebCore::CachedScript::script):
56025        (WebCore::CachedScript::destroyDecodedData):
56026
560272011-03-24  Stephanie Lewis  <slewis@apple.com>
56028
56029        Reviewed by Geoff Garen.
56030
56031        https://bugs.webkit.org/show_bug.cgi?id=57073
56032        Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list.
56033        Saves 1.5 MB on Membuster.
56034
56035        No new tests because there was no change in behavior.  Current tests pass.
56036
56037        * html/parser/HTMLToken.h:
56038        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
56039        (WebCore::AtomicHTMLToken::initializeAttributes):
56040
560412011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
56042
56043        Unreviewed, rolling out r81916 and r81917.
56044        http://trac.webkit.org/changeset/81916
56045        http://trac.webkit.org/changeset/81917
56046        https://bugs.webkit.org/show_bug.cgi?id=57071
56047
56048        broke a test on platforms that do not have QuickTime installed
56049        (Requested by estes on #webkit).
56050
56051        * html/HTMLEmbedElement.cpp:
56052        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
56053        * html/HTMLObjectElement.cpp:
56054        (WebCore::HTMLObjectElement::HTMLObjectElement):
56055        (WebCore::HTMLObjectElement::parametersForPlugin):
56056        * html/HTMLPlugInImageElement.cpp:
56057        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
56058        (WebCore::HTMLPlugInImageElement::isImageType):
56059        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
56060        * html/HTMLPlugInImageElement.h:
56061        * loader/EmptyClients.h:
56062        (WebCore::EmptyFrameLoaderClient::objectContentType):
56063        * loader/FrameLoader.cpp:
56064        (WebCore::FrameLoader::defaultObjectContentType):
56065        * loader/FrameLoader.h:
56066        * loader/FrameLoaderClient.h:
56067        * loader/SubframeLoader.cpp:
56068        (WebCore::SubframeLoader::resourceWillUsePlugin):
56069        (WebCore::SubframeLoader::requestObject):
56070        (WebCore::SubframeLoader::shouldUsePlugin):
56071        * loader/SubframeLoader.h:
56072
560732011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
56074
56075        Reviewed by Darin Adler.
56076
56077        Eliminate Node::dispatchGenericEvent.
56078        https://bugs.webkit.org/show_bug.cgi?id=57045
56079
56080        No functional change, covered by existing tests.
56081
56082        * dom/Node.cpp:
56083        (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent,
56084            removed unnecessary extra refs and a stale comment.
56085        * dom/Node.h:
56086        * page/DOMWindow.cpp:
56087        (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent.
56088        * svg/SVGElement.cpp:
56089        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
56090        * svg/SVGElementInstance.cpp:
56091        (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still
56092            works thanks to SVG-aware retargeting in Node.
56093
560942011-03-24  Chris Rogers  <crogers@google.com>
56095
56096        Reviewed by Kenneth Russell.
56097
56098        web audio: Properly sample-rate convert audio assets in chromium port
56099        https://bugs.webkit.org/show_bug.cgi?id=56980
56100
56101        No new tests since audio API is not yet implemented.
56102
56103        * WebCore.gypi:
56104        * platform/audio/AudioBus.cpp:
56105        (WebCore::AudioBus::createBySampleRateConverting):
56106        (WebCore::AudioBus::createByMixingToMono):
56107        * platform/audio/AudioBus.h:
56108        * platform/audio/HRTFKernel.cpp:
56109        (WebCore::extractAverageGroupDelay):
56110        (WebCore::HRTFKernel::HRTFKernel):
56111        * platform/audio/SincResampler.cpp:
56112        * platform/audio/chromium/AudioBusChromium.cpp:
56113        (WebCore::AudioBus::loadPlatformResource):
56114        (WebCore::createBusFromInMemoryAudioFile):
56115
561162011-03-24  Rik Cabanier  <cabanier@adobe.com>
56117
56118        Reviewed by David Hyatt.
56119
56120        REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows
56121        https://bugs.webkit.org/show_bug.cgi?id=56829
56122
56123        Test: fast/css/percentage-non-integer.html
56124
56125        * platform/Length.h:
56126        (WebCore::Length::calcValue):
56127        (WebCore::Length::calcMinValue):
56128        (WebCore::Length::calcFloatValue):
56129
561302011-03-24  Mihai Parparita  <mihaip@chromium.org>
56131
56132        Reviewed by James Robinson.
56133
56134        [Chromium] Vertical Japanese text is not displayed on Snow Leopard
56135        https://bugs.webkit.org/show_bug.cgi?id=56962
56136
56137        Make Snow Leopard check added by r80740 into a runtime check for
56138        Chromium, since it uses the same binary on both Leopard and Snow Leopard.
56139
56140        * platform/graphics/mac/FontMac.mm:
56141        (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
56142        (WebCore::showGlyphsWithAdvances):
56143
561442011-03-24  Brady Eidson  <beidson@apple.com>
56145
56146        Reviewed by Sam Weinig.
56147
56148        https://bugs.webkit.org/show_bug.cgi?id=57058
56149        Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
56150
56151        * loader/icon/IconDatabase.cpp:
56152        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero.
56153        (WebCore::IconDatabase::IconDatabase): Add more logging.
56154        (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods.
56155        (WebCore::FinishedURLImport::FinishedURLImport):
56156        (WebCore::FinishedURLImport::performWork):
56157        (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
56158
56159        * loader/icon/IconDatabase.h:
56160        (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator.
56161
56162        * WebCore.exp.in:
56163
561642011-03-23  Jer Noble  <jer.noble@apple.com>
56165
56166        Reviewed by Maciej Stachowiak.
56167
56168        Application Cache should save audio/ and video/ mime types as flat files
56169        https://bugs.webkit.org/show_bug.cgi?id=53784
56170        <rdar://problem/8932473>
56171
56172        No new tests.
56173
56174        ApplicationCacheResource::create() now takes an additional "path" parameter.  To facilitate 
56175        extracting this path information, two functions in ApplicationCacheHost have been made public.
56176
56177        * loader/appcache/ApplicationCacheGroup.cpp:
56178        (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter.
56179        (WebCore::ApplicationCacheGroup::didFail): Ditto.
56180        * loader/appcache/ApplicationCacheHost.h:
56181        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public.
56182        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public.
56183        * loader/appcache/ApplicationCacheResource.cpp:
56184        (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter.
56185        * loader/appcache/ApplicationCacheResource.h:
56186        (WebCore::ApplicationCacheResource::create): Ditto.
56187        (WebCore::ApplicationCacheResource::path): New accessor.
56188
561892011-03-24  Andy Estes  <aestes@apple.com>
56190
56191        Reviewed by Darin Adler.
56192
56193        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
56194        https://bugs.webkit.org/show_bug.cgi?id=49016
56195
56196        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
56197        QuickTime plug-in in web pages. r70748 removed our mapping of classids
56198        to MIME types, which causes WebKit to fall back from the object to the
56199        embed tag when QuickTime is embedded by this script. The script emits
56200        the following embed tag to embed a QuickTime movie with a poster frame:
56201
56202        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
56203
56204        The expectation is that a QuickTime plug-in is instantiated to display the
56205        poster frame, since QuickTime registers for many common image MIME
56206        types. This is how Gecko behaves for embed. However, WebKit prefers to
56207        use its native image rendering for image embeds, in which case no movie
56208        is played when the poster frame is clicked.
56209
56210        Fix this by changing embed to check for a plug-in that can handle the
56211        image type before rendering the image natively. This matches Gecko.
56212
56213        Test: fast/images/embed-image-plugins-disabled.html
56214
56215        * html/HTMLObjectElement.cpp:
56216        (WebCore::HTMLObjectElement::parametersForPlugin):
56217        * html/HTMLPlugInImageElement.cpp:
56218        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
56219        (WebCore::HTMLPlugInImageElement::isImageType):
56220        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
56221        * html/HTMLPlugInImageElement.h:
56222        (WebCore::HTMLPlugInImageElement::preferPluginsForImages):
56223        * loader/EmptyClients.h:
56224        (WebCore::EmptyFrameLoaderClient::objectContentType):
56225        * loader/FrameLoader.cpp:
56226        (WebCore::FrameLoader::defaultObjectContentType):
56227        * loader/FrameLoader.h:
56228        * loader/FrameLoaderClient.h:
56229        * loader/SubframeLoader.cpp:
56230        (WebCore::SubframeLoader::resourceWillUsePlugin):
56231        (WebCore::SubframeLoader::requestPlugin):
56232        (WebCore::SubframeLoader::requestObject):
56233        (WebCore::SubframeLoader::shouldUsePlugin):
56234        * loader/SubframeLoader.h:
56235
562362011-03-24  Mike Reed  <reed@google.com>
56237
56238        Reviewed by James Robinson.
56239
56240        Move lifetime management of grContext from a global to being
56241        per-SharedGraphicsContext3D, which correctly is 1:1 with the
56242        underlying opengl context.
56243        https://bugs.webkit.org/show_bug.cgi?id=54330
56244
56245        No new tests. Existing <canvas> tests exercise this:
56246
56247        * platform/graphics/chromium/DrawingBufferChromium.cpp:
56248        (WebCore::DrawingBuffer::DrawingBuffer):
56249        (WebCore::DrawingBuffer::~DrawingBuffer):
56250        (WebCore::DrawingBuffer::publishToPlatformLayer):
56251        (WebCore::DrawingBuffer::setGrContext):
56252        * platform/graphics/gpu/DrawingBuffer.h:
56253        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
56254        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
56255        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
56256        (WebCore::SharedGraphicsContext3D::getGrContext):
56257        * platform/graphics/gpu/SharedGraphicsContext3D.h:
56258        * platform/graphics/skia/PlatformContextSkia.cpp:
56259        (WebCore::PlatformContextSkia::~PlatformContextSkia):
56260        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
56261
562622011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
56263
56264        Reviewed by Darin Adler.
56265
56266        Untangle dependency between event ancestor chain computation and InspectorDOMAgent.
56267        https://bugs.webkit.org/show_bug.cgi?id=57050
56268
56269        Inspector's list of event listeners does not need to invoke Node::getEventListeners,
56270        because it simply wants to collect all ancestors and never uses EventContext bits.
56271
56272        No functional change, covered by existing tests.
56273
56274        * dom/Node.cpp:
56275        (WebCore::getEventAncestors): Converted into a static function.
56276        (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors.
56277        * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside.
56278        * inspector/InspectorDOMAgent.cpp:
56279        (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call
56280            to getEventAncestors with a simple ancestor traversal loop.
56281
562822011-03-24  Adam Klein  <adamk@chromium.org>
56283
56284        Reviewed by David Levin.
56285
56286        [fileapi] Make FileError and FileException accessible from WorkerContext
56287        https://bugs.webkit.org/show_bug.cgi?id=57041
56288
56289        * workers/WorkerContext.idl:
56290
562912011-03-24  Sam Weinig  <sam@webkit.org>
56292
56293        Reviewed by Anders Carlsson.
56294
56295        Remove legacy version of findPlainText.
56296        https://bugs.webkit.org/show_bug.cgi?id=57056
56297
56298        * editing/TextIterator.cpp:
56299        * editing/TextIterator.h:
56300        Remove legacy overload of findPlainText that doesn't
56301        take an options parameter.
56302
563032011-03-24  Geoffrey Garen  <ggaren@apple.com>
56304
56305        Reviewed by Oliver Hunt.
56306
56307        Ensure that all compilation takes place within a dynamic global object scope
56308        https://bugs.webkit.org/show_bug.cgi?id=57054
56309
56310        * bindings/js/JSErrorHandler.cpp:
56311        (WebCore::JSErrorHandler::handleEvent):
56312        * bindings/js/JSEventListener.cpp:
56313        (WebCore::JSEventListener::handleEvent): Updated for signature change.
56314
563152011-03-24  John Bauman  <jbauman@chromium.org>
56316
56317        Reviewed by Kenneth Russell.
56318
56319        preserveDrawingBuffer=true is ignored
56320        https://bugs.webkit.org/show_bug.cgi?id=56987
56321
56322        Add code to the V8 and JSC bindings to support grabbing the value of
56323        preserveDrawingBuffer from the input context attributes. Also, in
56324        WebGLRenderingContext use the WebGLContextAttributes that were input
56325        directly, not those from the GraphicsContext3D which could have been
56326        changed.
56327
56328        No new tests, as this can't be tested with DRT. However, this works
56329        when tested manually.
56330
56331        * bindings/js/JSHTMLCanvasElementCustom.cpp:
56332        (WebCore::JSHTMLCanvasElement::getContext):
56333        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
56334        (WebCore::V8HTMLCanvasElement::getContextCallback):
56335        * html/canvas/WebGLRenderingContext.cpp:
56336        (WebCore::WebGLRenderingContext::clearIfComposited):
56337        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
56338
563392011-03-24  Enrica Casucci  <enrica@apple.com>
56340
56341        Reviewed by Alexey Proskuryakov.
56342
56343        WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
56344        https://bugs.webkit.org/show_bug.cgi?id=56975
56345        <rdar://problem/8915066>
56346        
56347        Adding support in WebCore to implement readSelectionFromPasteboard
56348        to support Mac OS X services from WebKit2.
56349
56350        * WebCore.exp.in:
56351        * editing/Editor.h:
56352        * editing/mac/EditorMac.mm:
56353        (WebCore::Editor::readSelectionFromPasteboard): Added entry point
56354        to call the paste functions with the specified pasteboard.
56355
563562011-03-24  Vsevolod Vlasov  <vsevik@chromium.org>
56357
56358        Reviewed by Pavel Feldman.
56359
56360        Web Inspector: Inspector does not show correct transfer size for synchronous requests
56361        https://bugs.webkit.org/show_bug.cgi?id=56951
56362
56363        Fixed transfer size for synchronous load.
56364
56365        Test: http/tests/inspector/network/network-size-sync.html
56366
56367        * loader/FrameLoader.cpp:
56368        (WebCore::FrameLoader::willLoadMediaElementURL):
56369        (WebCore::FrameLoader::commitProvisionalLoad):
56370        (WebCore::FrameLoader::loadResourceSynchronously):
56371        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
56372        * loader/ResourceLoadNotifier.cpp:
56373        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
56374        * loader/ResourceLoadNotifier.h:
56375
563762011-03-24  Brady Eidson  <beidson@apple.com>
56377
56378        Reviewed by Adam Roben.
56379
56380        https://bugs.webkit.org/show_bug.cgi?id=57030
56381        REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's 
56382        web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message
56383
56384        The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on
56385        a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's
56386        perfectly valid to attempt to performCallback() after the callback function pointer has been cleared.
56387
56388        * loader/icon/IconDatabaseBase.h:
56389        (WebCore::EnumCallback::performCallback):
56390        (WebCore::EnumCallback::invalidate):
56391        (WebCore::EnumCallback::EnumCallback):
56392        (WebCore::ObjectCallback::performCallback):
56393        (WebCore::ObjectCallback::invalidate):
56394        (WebCore::ObjectCallback::ObjectCallback):
56395
563962011-03-24  Sam Weinig  <sam@webkit.org>
56397
56398        Reviewed by Darin Adler.
56399
56400        Dictionary text extraction is not correctly detecting word boundaries on bing.com
56401        <rdar://problem/9078569>
56402        https://bugs.webkit.org/show_bug.cgi?id=56995
56403
56404        * WebCore.exp.in:
56405        Add some editing related exports needed by WebKit2.
56406
564072011-03-24  Andy Estes  <aestes@apple.com>
56408
56409        Reviewed by Eric Seidel.
56410
56411        REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags
56412        https://bugs.webkit.org/show_bug.cgi?id=56836
56413
56414        During fragment parsing, HTMLConstructionSite holds a reference to the
56415        fragment context's closest form ancestor. If a misnested form end tag is
56416        then encountered as the first node of the fragment, we will check to see
56417        if a corresponding form start tag is in scope even though no such tag
56418        exists. This led to isScope() walking the HTMLElementStack all the way
56419        to the root DocumentFragment and attempting to cast it to Element*.
56420
56421        Fix this by ensuring that the inScope() family of functions operate in
56422        terms of ContainerNodes to account for the fragment case.
56423
56424        Test: fast/parser/fragment-closest-form-ancestor.html
56425
56426        * html/parser/HTMLElementStack.cpp:
56427        (WebCore::HTMLNames::isRootNode):
56428        (WebCore::HTMLNames::isScopeMarker):
56429        (WebCore::HTMLNames::isTableScopeMarker):
56430        (WebCore::HTMLNames::isTableBodyScopeMarker):
56431        (WebCore::HTMLNames::isTableRowScopeMarker):
56432        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
56433        (WebCore::HTMLElementStack::inScope):
56434
564352011-03-24  Enrica Casucci  <enrica@apple.com>
56436
56437        Reviewed by Darin Adler.
56438
56439        Repeated copy and paste-in-place operation results in increasingly verbose HTML.
56440        <rdar://problem/8690506>
56441        https://bugs.webkit.org/show_bug.cgi?id=56874
56442        
56443        When we calculate the style to apply at the insertion point we compare the initial
56444        style at the insertion point against the style calculated at the span we wrap the
56445        copied markup fragment with. We could end up with a series of unnecessary spans
56446        to remove the initial style that simply grow our markup.
56447        The consists in moving the insertion point outside any inline element that could
56448        affect the fragment being inserted when we are not pasting and matching the style.
56449
56450        Test: editing/pasteboard/paste-text-with-style.html
56451
56452        * editing/ReplaceSelectionCommand.cpp:
56453        (WebCore::isInlineNodeWithStyle): Added.
56454        (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion
56455        point according to the new rules.
56456
564572011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
56458
56459        Reviewed by Kenneth Rohde Christiansen.
56460
56461        [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles
56462        https://bugs.webkit.org/show_bug.cgi?id=40884
56463
56464        The software fallback is now only needed for corner cases like a manual rendering
56465        of the page to QImage.
56466
56467        Keeping the image with the last pixel values is no longer needed. Removing it reduce the
56468        performance for real-time rendering on software surface, but this case should no longer be
56469        supported.
56470
56471        The conversion from OpenGL color space and coordinates is done manually for performance. This
56472        also fix the bug of the inverted X axis due to the transformation.
56473
56474        The tests and benchmarks are done through Qt API tests.
56475
56476        * platform/graphics/qt/GraphicsContext3DQt.cpp:
56477        (WebCore::swapBgrToRgb):
56478        (WebCore::GraphicsContext3DInternal::paint):
56479        (WebCore::GraphicsContext3D::reshape):
56480
564812011-03-24  Nat Duca  <nduca@chromium.org>
56482
56483        Reviewed by James Robinson.
56484
56485        [chromium] Remove bool that forces compositor HUD to always be enabled
56486        https://bugs.webkit.org/show_bug.cgi?id=57034
56487
56488        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
56489        (WebCore::CCHeadsUpDisplay::enabled):
56490
564912011-03-24  Nat Duca  <nduca@chromium.org>
56492
56493        Reviewed by Kenneth Russell.
56494
56495        [chromium] Add traceEvents to compositor
56496        https://bugs.webkit.org/show_bug.cgi?id=56965
56497
56498        * WebCore.gypi:
56499        * platform/chromium/TraceEvent.h: Added.
56500        (WebCore::internal::ScopeTracer::ScopeTracer):
56501        (WebCore::internal::ScopeTracer::~ScopeTracer):
56502        * platform/graphics/chromium/LayerRendererChromium.cpp:
56503        (WebCore::LayerRendererChromium::updateRootLayerContents):
56504        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
56505        (WebCore::LayerRendererChromium::updateLayers):
56506        (WebCore::LayerRendererChromium::drawLayers):
56507        (WebCore::LayerRendererChromium::finish):
56508        (WebCore::LayerRendererChromium::present):
56509        * platform/graphics/chromium/LayerTilerChromium.cpp:
56510        (WebCore::LayerTilerChromium::update):
56511
565122011-03-24  Pavel Feldman  <pfeldman@chromium.org>
56513
56514        Reviewed by Yury Semikhatsky.
56515
56516        Web Inspector: render XHRs matching JSON regex as JSON.
56517        https://bugs.webkit.org/show_bug.cgi?id=57035
56518
56519        * English.lproj/localizedStrings.js:
56520        * WebCore.gypi:
56521        * WebCore.vcproj/WebCore.vcproj:
56522        * inspector/front-end/NetworkItemView.js:
56523        (WebInspector.NetworkItemView):
56524        * inspector/front-end/RemoteObject.js:
56525        (WebInspector.LocalJSONObject.prototype.get description.switch.case):
56526        (WebInspector.LocalJSONObject.prototype.get description):
56527        (WebInspector.LocalJSONObject.prototype._concatenate):
56528        (WebInspector.LocalJSONObject.prototype.getProperties):
56529        (WebInspector.LocalJSONObject.prototype._children):
56530        * inspector/front-end/ResourceJSONView.js: Added.
56531        (WebInspector.ResourceJSONView):
56532        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent):
56533        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show):
56534        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
56535        * inspector/front-end/WebKit.qrc:
56536        * inspector/front-end/inspector.css:
56537        (.resource-view.json):
56538        * inspector/front-end/inspector.html:
56539
565402011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
56541
56542        Reviewed by Darin Adler.
56543
56544        Move media controls subtree creation into one method.
56545        https://bugs.webkit.org/show_bug.cgi?id=56969
56546
56547        Mechanical move, no changes in functionality.
56548
56549        The purpose of this patch is to align existing code closer with its
56550        future version, when MediaControls is an element whose tree is created
56551        at the instantiation.
56552
56553        * html/shadow/MediaControls.cpp:
56554        (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place.
56555        (WebCore::MediaControls::update): Replaced methods with one call.
56556        * html/shadow/MediaControls.h: Updated decls.
56557        * rendering/MediaControlElements.cpp:
56558        (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here.
56559        (WebCore::MediaControlVolumeSliderElement::create): Ditto.
56560
565612011-03-24  Steve Falkenburg  <sfalken@apple.com>
56562
56563        Reviewed by Darin Adler.
56564
56565        Use proper string method to generate webloc string.
56566        https://bugs.webkit.org/show_bug.cgi?id=57028
56567        <rdar://problem/9181955>
56568
56569        * platform/win/ClipboardUtilitiesWin.cpp:
56570        (WebCore::getWebLocData):
56571
565722011-03-24  Ben Taylor  <bentaylor.solx86@gmail.com>
56573
56574        Reviewed by Alexey Proskuryakov.
56575
56576        https://bugs.webkit.org/show_bug.cgi?id=32821
56577        Fix conditionals which had an int for one case and a pointer for another.
56578        Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198
56579
56580        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
56581
56582        * css/CSSComputedStyleDeclaration.cpp:
56583        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
56584
565852011-03-24  Pavel Podivilov  <podivilov@chromium.org>
56586
56587        Reviewed by Yury Semikhatsky.
56588
56589        Web Inspector: provide live edit callback to source frame delegate.
56590        https://bugs.webkit.org/show_bug.cgi?id=57003
56591
56592        * inspector/front-end/DebuggerModel.js:
56593        (WebInspector.DebuggerModel.prototype.editScriptSource):
56594        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
56595        * inspector/front-end/DebuggerPresentationModel.js:
56596        (WebInspector.DebuggerPresentationModel):
56597        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
56598        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
56599        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
56600        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
56601        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
56602        * inspector/front-end/ScriptsPanel.js:
56603        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
56604        (WebInspector.SourceFrameDelegateForScriptsPanel):
56605        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
56606        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
56607
566082011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
56609
56610        Reviewed by Andreas Kling.
56611
56612        Regression: WebKit does not build with Python 3 following 56807
56613        https://bugs.webkit.org/show_bug.cgi?id=56923
56614
56615        The module string does not have the function replace in Python 3. The str.replace function
56616        can do the same operation in this case and works with the versions 2 and 3.
56617
56618        * inspector/generate-inspector-idl:
56619
566202011-03-24  Pavel Feldman  <pfeldman@chromium.org>
56621
56622        Reviewed by Yury Semikhatsky.
56623
56624        Web Inspector: brush up Network agent API.
56625        https://bugs.webkit.org/show_bug.cgi?id=57001
56626
56627        * inspector/Inspector.json:
56628        * inspector/InspectorInstrumentation.cpp:
56629        (WebCore::InspectorInstrumentation::willSendRequestImpl):
56630        * inspector/InspectorInstrumentation.h:
56631        (WebCore::InspectorInstrumentation::willSendRequest):
56632        * inspector/InspectorResourceAgent.cpp:
56633        (WebCore::buildObjectForResourceRequest):
56634        (WebCore::buildObjectForResourceResponse):
56635        (WebCore::buildObjectForCachedResource):
56636        (WebCore::InspectorResourceAgent::willSendRequest):
56637        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
56638        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
56639        (WebCore::InspectorResourceAgent::setExtraHeaders):
56640        * inspector/InspectorResourceAgent.h:
56641        * inspector/TimelineRecordFactory.cpp:
56642        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
56643        * inspector/front-end/NetworkManager.js:
56644        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
56645        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
56646        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
56647        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
56648        (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
56649        (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
56650        * inspector/front-end/Resource.js:
56651        * inspector/front-end/TimelinePanel.js:
56652        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
56653        * loader/ResourceLoadNotifier.cpp:
56654        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
56655        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
56656        * loader/appcache/ApplicationCacheGroup.cpp:
56657        (WebCore::ApplicationCacheGroup::createResourceHandle):
56658
566592011-03-11  Steve Block  <steveblock@google.com>
56660
56661        Reviewed by Jeremy Orlow.
56662
56663        JNIType is not specific to JNI so should be renamed
56664        https://bugs.webkit.org/show_bug.cgi?id=56197
56665
56666        This patch renames JNIType to JavaType, renames the values of
56667        the enum, and moves it out of JNIUtility.h to its own file.
56668        Also renames the corresponding JavaField and JavaMethod getters.
56669
56670        No new tests, refactoring only.
56671
56672        * GNUmakefile.am:
56673        * WebCore.gypi:
56674        * WebCore.xcodeproj/project.pbxproj:
56675        * bridge/jni/JNIUtility.cpp:
56676        (JSC::Bindings::javaTypeFromClassName):
56677        (JSC::Bindings::signatureFromJavaType):
56678        (JSC::Bindings::javaTypeFromPrimitiveType):
56679        (JSC::Bindings::getJNIField):
56680        (JSC::Bindings::callJNIMethod):
56681        * bridge/jni/JNIUtility.h:
56682        * bridge/jni/JavaMethod.cpp:
56683        (JavaMethod::JavaMethod):
56684        (JavaMethod::signature):
56685        * bridge/jni/JavaMethod.h:
56686        (JSC::Bindings::JavaMethod::returnTypeClassName):
56687        (JSC::Bindings::JavaMethod::returnType):
56688        * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
56689        * bridge/jni/jni_jsobject.mm:
56690        (JavaJSObject::toString):
56691        * bridge/jni/jni_objc.mm:
56692        (JSC::Bindings::dispatchJNICall):
56693        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
56694        (JSC::Bindings::convertArrayInstanceToJavaArray):
56695        (JSC::Bindings::convertValueToJValue):
56696        * bridge/jni/jsc/JNIUtilityPrivate.h:
56697        * bridge/jni/jsc/JavaArrayJSC.cpp:
56698        (JavaArray::setValueAt):
56699        (JavaArray::valueAt):
56700        * bridge/jni/jsc/JavaClassJSC.cpp:
56701        * bridge/jni/jsc/JavaFieldJSC.cpp:
56702        (JavaField::JavaField):
56703        (JavaField::dispatchValueFromInstance):
56704        (JavaField::valueFromInstance):
56705        (JavaField::dispatchSetValueToInstance):
56706        (JavaField::setValueToInstance):
56707        * bridge/jni/jsc/JavaFieldJSC.h:
56708        (JSC::Bindings::JavaField::typeClassName):
56709        (JSC::Bindings::JavaField::type):
56710        * bridge/jni/jsc/JavaInstanceJSC.cpp:
56711        (JavaInstance::invokeMethod):
56712        * bridge/jni/v8/JNIUtilityPrivate.cpp:
56713        (JSC::Bindings::convertNPVariantToJValue):
56714        (JSC::Bindings::convertJValueToNPVariant):
56715        * bridge/jni/v8/JNIUtilityPrivate.h:
56716        * bridge/jni/v8/JavaFieldV8.cpp:
56717        (JavaField::JavaField):
56718        * bridge/jni/v8/JavaFieldV8.h:
56719        (JSC::Bindings::JavaField::typeClassName):
56720        (JSC::Bindings::JavaField::type):
56721        * bridge/jni/v8/JavaInstanceV8.cpp:
56722        (JavaInstance::invokeMethod):
56723        (JavaInstance::getField):
56724        * bridge/jni/v8/JavaNPObjectV8.cpp:
56725        (JSC::Bindings::JavaNPObjectInvoke):
56726        (JSC::Bindings::JavaNPObjectGetProperty):
56727
567282011-03-24  Ojan Vafai  <ojan@chromium.org>
56729
56730        Was being a little braindead when I committed this.
56731        Only simple selectors are allowed, but sibling selectors
56732        are sibling selectors.
56733
56734        * css/CSSStyleSelector.cpp:
56735        (WebCore::collectFeaturesFromList):
56736
567372011-03-23  MORITA Hajime  <morrita@google.com>
56738
56739        Reviewed by Kent Tamura.
56740
56741        Spellcheck feature specific symbols should be defined.
56742        https://bugs.webkit.org/show_bug.cgi?id=56818
56743        
56744        * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT)
56745        * Replaced a part of of BUILDING_ON_* conditionals with them.
56746
56747        Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING)
56748        because these code path is already built under non-Mac ports and
56749        Keeping them buildable for such platforms reduces the build breakage risk.
56750        These path is guarded by Settings thus should never get reached.
56751
56752        No new tests. No behavioral change.
56753
56754        * WebCore.gypi:
56755        * WebCore.pro:
56756        * WebCore.vcproj/WebCore.vcproj:
56757        * WebCore.xcodeproj/project.pbxproj:
56758        * editing/Editor.cpp:
56759        (WebCore::Editor::advanceToNextMisspelling):
56760        (WebCore::Editor::isSelectionUngrammatical):
56761        (WebCore::Editor::guessesForUngrammaticalSelection):
56762        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
56763        (WebCore::Editor::markMisspellingsAfterTypingToWord):
56764        (WebCore::Editor::markMisspellingsOrBadGrammar):
56765        (WebCore::Editor::markBadGrammar):
56766        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
56767        (WebCore::Editor::changeBackToReplacedString):
56768        (WebCore::Editor::markMisspellingsAndBadGrammar):
56769        * editing/Editor.h:
56770        * editing/TextCheckingHelper.cpp:
56771        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
56772        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
56773        (WebCore::TextCheckingHelper::findFirstBadGrammar):
56774        (WebCore::TextCheckingHelper::isUngrammatical):
56775        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
56776        (WebCore::TextCheckingHelper::markAllBadGrammar):
56777        * loader/EmptyClients.h:
56778        * platform/text/TextCheckerClient.h:
56779        * platform/text/TextChecking.h: Added.
56780
567812011-03-23  Kent Tamura  <tkent@chromium.org>
56782
56783        Reviewed by Dimitri Glazkov.
56784
56785        [Chromium] Force to make validation bubble DIV position:absolute
56786        https://bugs.webkit.org/show_bug.cgi?id=56901
56787
56788        Test: fast/forms/interactive-validation-crash-by-style-override.html
56789
56790        * html/ValidationMessage.cpp:
56791        (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute
56792          because we need to move the validation message to a good position.
56793        * rendering/RenderMenuList.cpp:
56794        (WebCore::RenderMenuList::addChild):
56795
567962011-03-23  Mike Lawther  <mikelawther@chromium.org>
56797
56798        Reviewed by Ojan Vafai.
56799
56800        flex/bison tokens and grammar for CSS calc
56801        https://bugs.webkit.org/show_bug.cgi?id=54412
56802
56803        Tests: css3/calc/calc-errors.html
56804               css3/calc/minmax-errors.html
56805               css3/calc/simple-calcs.html
56806               css3/calc/simple-minmax.html
56807
56808        * css/CSSGrammar.y:
56809        * css/CSSParserValues.cpp:
56810        (WebCore::CSSParserValueList::insertValueAt):
56811        (WebCore::CSSParserValueList::extend):
56812        * css/CSSParserValues.h:
56813        * css/tokenizer.flex:
56814
568152011-03-23  Adam Klein  <adamk@chromium.org>
56816
56817        Reviewed by David Levin.
56818
56819        Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec
56820        https://bugs.webkit.org/show_bug.cgi?id=56961
56821
56822        See error code listing in the Files & Directories spec:
56823        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL
56824
56825        Note that the spec currently only specifies errors for the sync
56826        version; I've used the same codes for the async version.
56827
56828        * page/DOMWindow.cpp:
56829        (WebCore::DOMWindow::resolveLocalFileSystemURL):
56830        * workers/WorkerContext.cpp:
56831        (WebCore::WorkerContext::resolveLocalFileSystemURL):
56832        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
56833
568342011-03-23  Jia Pu  <jpu@apple.com>
56835
56836        Reviewed by Darin Adler.
56837
56838        Hook up new AppKit autocorrection UI with WK2.
56839        https://bugs.webkit.org/show_bug.cgi?id=56055
56840        <rdar://problem/8947463>
56841
56842        This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following
56843        major changes:
56844
56845        1. All but one autocorrection related message is synchronous. Since dismissing autocorrection
56846        panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function
56847        is introduced to ensure all editing commands occur in correct order.
56848
56849        2. Additional condition variable is needed to implement dismissCorrectionPanelSoon().
56850        To improve maintainability, CorrectionPanel class is introduced to manage the
56851        internal state related to correction panel. This change is applied to both WK1 and WK2.
56852
56853        3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow
56854        editor to know when to handle ESC key event. Now this is handled internally in AppKit, so
56855        EditorClient::isShowingCorrectionPanel() isn't necessary anymore.
56856
56857        4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can
56858        access object via WebView or WKView.
56859
56860        * editing/Editor.cpp:
56861        (WebCore::Editor::markMisspellingsAfterTypingToWord):
56862        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
56863        (WebCore::Editor::correctionPanelTimerFired):
56864        (WebCore::Editor::dismissCorrectionPanel):
56865        (WebCore::Editor::dismissCorrectionPanelSoon):
56866        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
56867        * editing/Editor.h:
56868        * editing/EditorCommand.cpp:
56869        (WebCore::createCommandMap):
56870        * loader/EmptyClients.h:
56871        (WebCore::EmptyEditorClient::showCorrectionPanel):
56872        (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
56873        * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added.
56874        * page/EditorClient.h:
56875
568762011-03-22  Ojan Vafai  <ojan@chromium.org>
56877
56878        Reviewed by Antti Koivisto.
56879
56880        move :not over to using selectorList instead of simpleSelector
56881        https://bugs.webkit.org/show_bug.cgi?id=56894
56882
56883        Saves memory and simplifies code.
56884
56885        No new tests since existing tests cover this code.
56886
56887        * css/CSSGrammar.y:
56888        Also removed extranenous calls to updateLastSelectorLineAndPosition in
56889        simple_selector_list. These happened to work, but are only actually
56890        needed in selector_list.
56891        * css/CSSParserValues.h:
56892        * css/CSSSelector.cpp:
56893        (WebCore::CSSSelector::specificityForOneSelector):
56894        Removed null-check. The parser null-checks, I don't see why we need to here.
56895        (WebCore::CSSSelector::selectorText):
56896        Ditto.
56897        (WebCore::CSSSelector::setArgument):
56898        (WebCore::CSSSelector::isSimple):
56899        * css/CSSSelector.h:
56900        * css/CSSSelectorList.cpp:
56901        (WebCore::forEachTagSelector):
56902        * css/CSSStyleSelector.cpp:
56903        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
56904        (WebCore::collectFeaturesFromSelector):
56905        (WebCore::collectFeaturesFromList):
56906
569072011-03-23  Carol Szabo  <carol.szabo@nokia.com>
56908
56909        Reviewed by David Hyatt.
56910
56911        Made sure that renderers displaying counters are invalidated upon
56912        counter destruction.
56913
56914        Assertion and incorrect rendering of counters.
56915        https://bugs.webkit.org/show_bug.cgi?id=56896
56916
56917        Test: fast/css/counters/2displays.html
56918
56919        * rendering/CounterNode.cpp:
56920        (WebCore::CounterNode::~CounterNode):
56921        Added to make sure that its display renderers are always reset when
56922        the node is deleted.
56923        (WebCore::CounterNode::resetRenderers):
56924        Fixed bug that would prevent reset of second and subsequent
56925        display renderers.
56926        * rendering/CounterNode.h:
56927        * rendering/RenderCounter.cpp:
56928        (WebCore::destroyCounterNodeWithoutMapRemoval):
56929        removed unnecessary calls to resetRenderers() as the CounterNode
56930        destructor takes care of that now.
56931
569322011-03-23  Brian Weinstein  <bweinstein@apple.com>
56933
56934        Reviewed by Maciej Stachowiak.
56935
56936        WebKit2: Need API to manage the Media Cache
56937        https://bugs.webkit.org/show_bug.cgi?id=56878
56938        <rdar://problem/9082503>
56939
56940        Add functions that need to be exported.
56941
56942        * WebCore.exp.in:
56943
569442011-03-23  Robert Kroeger  <rjkroege@chromium.org>
56945
56946        Reviewed by James Robinson.
56947
56948        Correct use of ENABLE() Macro
56949
56950        In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE()
56951        macro. This patch corrects.
56952
56953        https://bugs.webkit.org/show_bug.cgi?id=56964
56954
56955        * page/EventHandler.cpp:
56956        (WebCore::EventHandler::EventHandler):
56957        (WebCore::EventHandler::handleTouchEvent):
56958        * page/EventHandler.h:
56959
569602011-03-23  Jer Noble  <jer.noble@apple.com>
56961
56962        Reviewed by Simon Fraser.
56963
56964        Scrubbing <video> with HTTP Live Stream resizes element to 0x0
56965        https://bugs.webkit.org/show_bug.cgi?id=55702
56966
56967        QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing
56968        an HTTP Live Stream.  So we will cache the last valid value returned by QTKit
56969        and use that as our naturalSize until a new valid value is returned.
56970
56971        Unfortunately, QTKit will also fail to generate a notification when the natural size
56972        changes, so we are forced to cache the natural size from within naturalSize(), which
56973        is a const function, necessitating a const_cast to set m_cachedNaturalSize.
56974
56975        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize.
56976        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
56977        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize.
56978        (WebCore::MediaPlayerPrivateQTKit::naturalSize): 
56979
569802011-03-23  Alexey Proskuryakov  <ap@apple.com>
56981
56982        Build fix.
56983
56984        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
56985        Removed a stray parenthesis.
56986
569872011-03-23  Alexey Proskuryakov  <ap@apple.com>
56988
56989        Reviewed by Maciej Stachowiak.
56990
56991        REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading()
56992        https://bugs.webkit.org/show_bug.cgi?id=56978
56993        <rdar://problem/9041670>
56994
56995        No new tests, because there is no known way to reproduce.
56996
56997        Removed strange code that was trying to stop a non-loading provisional document loader and
56998        even its subframes (?!). Added assertions to catch it if we can actually be loading here in
56999        some sense.
57000        Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a
57001        recursion guard (but that didn't cause immediate problems then).
57002
57003        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
57004
570052011-03-23  Brady Eidson  <beidson@apple.com>
57006
57007        Attempt to fix the build for platforms that have the icon database 
57008        disabled but still provide settings API for it...?
57009
57010        * loader/icon/IconDatabase.h:
57011        (WebCore::IconDatabase::defaultDatabaseFilename):
57012
570132011-03-23  Mark Rowe  <mrowe@apple.com>
57014
57015        Fix the build.
57016
57017        * WebCore.exp.in: Export the new version of IconDatabase::open.
57018
570192011-03-23  Brady Eidson  <beidson@apple.com>
57020
57021        Reviewed by Sam Weinig.
57022
57023        Change IconDatabase opening to allow for arbitrary filenames
57024        https://bugs.webkit.org/show_bug.cgi?id=56977
57025
57026        * WebCore.exp.in:
57027        * loader/icon/IconDatabase.cpp:
57028        (WebCore::IconDatabase::open):
57029        * loader/icon/IconDatabase.h:
57030        * loader/icon/IconDatabaseBase.cpp:
57031        (WebCore::IconDatabaseBase::open):
57032        * loader/icon/IconDatabaseBase.h:
57033        * loader/icon/IconDatabaseClient.h:
57034
570352011-03-23  Kenneth Russell  <kbr@google.com>
57036
57037        Reviewed by James Robinson.
57038
57039        [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled
57040        https://bugs.webkit.org/show_bug.cgi?id=56947
57041
57042        Removed the RuntimeEnabledFeatures setting for WebGL and the
57043        EnabledAtRuntime extended attribute from the WebGL-related
57044        properties on the DOMWindow. WebGL support is now controlled
57045        exclusively through the page's Settings.
57046
57047        No new tests; tested manually in Chromium with --disable-webgl
57048        command line argument and blacklist.
57049
57050        * bindings/generic/RuntimeEnabledFeatures.cpp:
57051        * bindings/generic/RuntimeEnabledFeatures.h:
57052        * page/DOMWindow.idl:
57053
570542011-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
57055
57056        Unreviewed, rolling out r81802.
57057        http://trac.webkit.org/changeset/81802
57058        https://bugs.webkit.org/show_bug.cgi?id=56963
57059
57060        Broke a layout test, and this fix is not trivial. (Requested
57061        by dhyatt on #webkit).
57062
57063        * rendering/RenderBlock.cpp:
57064        (WebCore::RenderBlock::layoutBlock):
57065        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
57066        * rendering/RenderBlock.h:
57067        * rendering/RenderBox.cpp:
57068        (WebCore::RenderBox::styleDidChange):
57069        * rendering/RenderBoxModelObject.cpp:
57070        (WebCore::RenderBoxModelObject::styleWillChange):
57071        * rendering/RenderFlexibleBox.cpp:
57072        (WebCore::RenderFlexibleBox::layoutBlock):
57073        * rendering/RenderObject.cpp:
57074        (WebCore::RenderObject::RenderObject):
57075        (WebCore::RenderObject::adjustStyleDifference):
57076        (WebCore::RenderObject::setStyle):
57077        (WebCore::RenderObject::styleDidChange):
57078        * rendering/RenderObject.h:
57079        (WebCore::RenderObject::needsLayout):
57080        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
57081        (WebCore::RenderObject::setNeedsLayout):
57082        (WebCore::RenderObject::setChildNeedsLayout):
57083        (WebCore::RenderObject::markContainingBlocksForLayout):
57084        * rendering/RenderTable.cpp:
57085        (WebCore::RenderTable::layout):
57086        * rendering/style/RenderStyle.cpp:
57087        (WebCore::RenderStyle::diff):
57088        * rendering/style/RenderStyleConstants.h:
57089        * rendering/svg/RenderSVGText.cpp:
57090        (WebCore::RenderSVGText::layout):
57091
570922011-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
57093
57094        Reviewed by David Hyatt.
57095
57096        REGRESSION(81035): crash in RenderDetails::removeChild
57097        https://bugs.webkit.org/show_bug.cgi?id=56773
57098
57099        Test: fast/html/details-children-merge-crash.html
57100
57101        Preventing merging of RenderDetails's anonymous children.
57102
57103        * rendering/RenderBlock.cpp:
57104        (WebCore::canMergeContiguousAnonymousBlocks):
57105
57106        Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy.
57107
57108        * rendering/RenderDetails.cpp:
57109        (WebCore::RenderDetails::destroy):
57110        (WebCore::RenderDetails::removeChild):
57111
571122011-03-23  Xiaomei Ji  <xji@chromium.org>
57113
57114        Reviewed by David Hyatt.
57115
57116        Preserve unicode-bidi:bidi-override in anonymous block.
57117        https://bugs.webkit.org/show_bug.cgi?id=21440
57118
57119        unicode-bidi:bidi-override should be preserved in anonymous block
57120        according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi.
57121
57122        Introduce a helper function RenderStyle()::createAnonymousStyle() which
57123        creates a default RenderStyle, inherits the inherited style from parent,
57124        and inherit unicode-bidi:bidi-override from parent.
57125        And replace the style creation when anonymous block is created.
57126
57127        Note: the TABLE releated anonymous blocks are untouched, including:
57128        TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in
57129        RenderObject, RenderTable, RenderTableRow, and RenderTableSection,
57130        due to the expected behavior is not clear.
57131        Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594.
57132        
57133        Test: fast/css/bidi-override-in-anonymous-block.html
57134
57135        * rendering/RenderBlock.cpp:
57136        (WebCore::RenderBlock::styleDidChange):
57137        (WebCore::RenderBlock::removeChild):
57138        (WebCore::RenderBlock::createAnonymousBlock):
57139        (WebCore::RenderBlock::createAnonymousColumnsBlock):
57140        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
57141        * rendering/RenderInline.cpp:
57142        (WebCore::RenderInline::addChildIgnoringContinuation):
57143        * rendering/RenderRubyRun.cpp:
57144        (WebCore::RenderRubyRun::createRubyBase):
57145        (WebCore::RenderRubyRun::staticCreateRubyRun):
57146        * rendering/style/RenderStyle.cpp:
57147        (WebCore::RenderStyle::createAnonymousStyle):
57148        * rendering/style/RenderStyle.h:
57149
571502011-03-23  David Hyatt  <hyatt@apple.com>
57151
57152        Reviewed by Dan Bernstein.
57153
57154        https://bugs.webkit.org/show_bug.cgi?id=56909
57155        
57156        Add a simplified normal flow layout path optimization for overflow recomputation
57157        and for positioned objects inside relative positioned containers.
57158
57159        Currently there is an optimized code path for positioned objects, but as soon as
57160        we encounter a normal flow object in the containing block chain, we lose the
57161        optimization.
57162
57163        This patch adds a new type of style difference called SimplifiedLayout that is
57164        returned when only overflow needs to be recomputed. Whenever opacity changes or
57165        a transform changes, this is the hint returned now instead of a full layout.
57166        
57167        In addition, when positioned objects need layout and start marking up the
57168        containing block chain, we now propagate the fact that the layout is simplified
57169        all the way up to the root, even when we encounter normal flow containing
57170        blocks.
57171        
57172        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
57173        and is now used for all of these cases (in addition to what it handled before).
57174        
57175        No new tests, since existing tests covered this very well (especially the opacity
57176        and transforms repaint tests in fast/repaint).
57177
57178        * rendering/RenderBlock.cpp:
57179        (WebCore::RenderBlock::layoutBlock):
57180        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
57181        (WebCore::RenderBlock::simplifiedLayout):
57182        * rendering/RenderBlock.h:
57183        * rendering/RenderBox.cpp:
57184        (WebCore::RenderBox::styleDidChange):
57185        * rendering/RenderBoxModelObject.cpp:
57186        (WebCore::RenderBoxModelObject::styleWillChange):
57187        * rendering/RenderFlexibleBox.cpp:
57188        (WebCore::RenderFlexibleBox::layoutBlock):
57189        * rendering/RenderObject.cpp:
57190        (WebCore::RenderObject::RenderObject):
57191        (WebCore::RenderObject::adjustStyleDifference):
57192        (WebCore::RenderObject::setStyle):
57193        (WebCore::RenderObject::styleDidChange):
57194        * rendering/RenderObject.h:
57195        (WebCore::RenderObject::needsLayout):
57196        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
57197        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
57198        (WebCore::RenderObject::setNeedsLayout):
57199        (WebCore::RenderObject::setChildNeedsLayout):
57200        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
57201        (WebCore::RenderObject::markContainingBlocksForLayout):
57202        * rendering/RenderTable.cpp:
57203        (WebCore::RenderTable::layout):
57204        * rendering/style/RenderStyle.cpp:
57205        (WebCore::RenderStyle::diff):
57206        * rendering/style/RenderStyleConstants.h:
57207        * rendering/svg/RenderSVGText.cpp:
57208        (WebCore::RenderSVGText::layout):
57209
572102011-03-23  Tyler Close  <tjclose@chromium.org>
57211
57212        Reviewed by Jeremy Orlow.
57213
57214        Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter
57215        https://bugs.webkit.org/show_bug.cgi?id=56950
57216
57217        * bindings/scripts/CodeGeneratorV8.pm:
57218        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
57219        (WebDOMTestCallback::callbackWithStringList):
57220        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
57221        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
57222        (webkit_dom_test_callback_callback_with_string_list):
57223        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
57224        * bindings/scripts/test/JS/JSTestCallback.cpp:
57225        (WebCore::JSTestCallback::callbackWithStringList):
57226        * bindings/scripts/test/JS/JSTestCallback.h:
57227        * bindings/scripts/test/ObjC/DOMTestCallback.h:
57228        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
57229        (-[DOMTestCallback callbackWithStringList:]):
57230        * bindings/scripts/test/TestCallback.idl:
57231        * bindings/scripts/test/V8/V8TestCallback.cpp:
57232        (WebCore::V8TestCallback::callbackWithStringList):
57233        * bindings/scripts/test/V8/V8TestCallback.h:
57234
572352011-03-23  Cris Neckar  <cdn@chromium.org>
57236
57237        Reviewed by Eric Seidel.
57238
57239        Add refptr for widget. Mutations can happen within the event handler.
57240        https://bugs.webkit.org/show_bug.cgi?id=56774
57241
57242        Test: plugins/change-widget-and-click-crash.html
57243
57244        * html/HTMLPlugInElement.cpp:
57245        (WebCore::HTMLPlugInElement::defaultEventHandler):
57246
572472011-03-23  Abhishek Arya  <inferno@chromium.org>
57248
57249        Reviewed by Dave Hyatt.
57250
57251        Add combine text cast checks since style property is insufficient
57252        in telling object types.
57253        https://bugs.webkit.org/show_bug.cgi?id=56358
57254
57255        Test: fast/text/input-box-text-fragment-combine-text-crash.html
57256
57257        * rendering/InlineTextBox.cpp:
57258        (WebCore::InlineTextBox::paint):
57259        * rendering/RenderBlock.cpp:
57260        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
57261        * rendering/RenderBlockLineLayout.cpp:
57262        (WebCore::RenderBlock::findNextLineBreak):
57263        * rendering/RenderText.cpp:
57264        (WebCore::RenderText::widthFromCache):
57265
572662011-03-23  Andreas Kling  <kling@webkit.org>
57267
57268        Reviewed by Kenneth Rohde Christiansen.
57269
57270        [Qt] "Unwavering" HTML5 game freezes the web page.
57271        https://bugs.webkit.org/show_bug.cgi?id=56944
57272
57273        For canvas's getImageData() API, we don't want to make a deep-copy of
57274        the pixels, which is the case on Qt's "raster" graphics system.
57275
57276        To work around this, we trick QPixmap::toImage() into giving us the
57277        QPixmap's backing QImage by temporarily pointing the paint engine to
57278        a null paint device.
57279
57280        * platform/graphics/qt/ImageBufferData.h:
57281        * platform/graphics/qt/ImageBufferQt.cpp:
57282        (WebCore::ImageBufferData::toQImage): Added, returns the
57283        ImageBufferData as a QImage, avoiding a backend deep-copy if possible.
57284        (WebCore::ImageBuffer::platformTransformColorSpace):
57285        (WebCore::getImageData):
57286
572872011-03-23  Viet-Trung Luu  <viettrungluu@chromium.org>
57288
57289        Reviewed by Tony Chang.
57290
57291        [chromium] Add FormatPlainText to WebClipboard::Format enumeration.
57292        https://bugs.webkit.org/show_bug.cgi?id=56868
57293
57294        Chromium's WebClipboard::isFormatAvailable() will be correspondingly
57295        extended.
57296
57297        * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry.
57298            This part of the change is inert and should have no effect.
57299
573002011-03-23  Tyler Close  <tjclose@chromium.org>
57301
57302        Reviewed by Jeremy Orlow.
57303
57304        run-bindings-tests reference files are out of sync with CodeGenerator*.pm
57305        https://bugs.webkit.org/show_bug.cgi?id=56934
57306
57307        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
57308        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
57309        * bindings/scripts/test/JS/JSTestInterface.cpp:
57310        (WebCore::JSTestInterfaceConstructor::createStructure):
57311        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
57312        (WebCore::JSTestInterface::createPrototype):
57313        * bindings/scripts/test/JS/JSTestInterface.h:
57314        (WebCore::JSTestInterface::createStructure):
57315        (WebCore::JSTestInterfacePrototype::createStructure):
57316        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
57317        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
57318        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
57319        (WebCore::JSTestMediaQueryListListener::createPrototype):
57320        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
57321        (WebCore::JSTestMediaQueryListListener::createStructure):
57322        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
57323        * bindings/scripts/test/JS/JSTestObj.cpp:
57324        (WebCore::JSTestObjConstructor::createStructure):
57325        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
57326        (WebCore::JSTestObj::createPrototype):
57327        * bindings/scripts/test/JS/JSTestObj.h:
57328        (WebCore::JSTestObj::createStructure):
57329        (WebCore::JSTestObjPrototype::createStructure):
57330        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
57331        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
57332        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
57333        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
57334        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
57335        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
57336        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
57337        * bindings/scripts/test/V8/V8TestCallback.cpp:
57338        * bindings/scripts/test/V8/V8TestInterface.cpp:
57339        (WebCore::V8TestInterface::wrapSlow):
57340        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
57341        (WebCore::V8TestMediaQueryListListener::wrapSlow):
57342        * bindings/scripts/test/V8/V8TestObj.cpp:
57343        (WebCore::V8TestObj::wrapSlow):
57344        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
57345        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
57346
573472011-03-23  Daniel Bates  <dbates@rim.com>
57348
57349        Reviewed by Antonio Gomes.
57350
57351        Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet}
57352        to conform to the WebKit Code style guidelines
57353        https://bugs.webkit.org/show_bug.cgi?id=56871
57354
57355        No functionality changed. So, no new tests.
57356
57357        * html/HTMLFrameSetElement.cpp:
57358        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
57359        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
57360        (WebCore::HTMLFrameSetElement::attach):
57361        (WebCore::HTMLFrameSetElement::defaultEventHandler):
57362        * html/HTMLFrameSetElement.h:
57363        (WebCore::HTMLFrameSetElement::hasFrameBorder):
57364        (WebCore::HTMLFrameSetElement::noResize):
57365
573662011-03-23  Abhishek Arya  <inferno@chromium.org>
57367
57368        Reviewed by Dan Bernstein.
57369
57370        Replace height with logicalHeight when removing items from
57371        gPercentHeightDescendantMap so that it is writing mode aware.
57372        https://bugs.webkit.org/show_bug.cgi?id=56902
57373
57374        Test: fast/block/percent-height-descendant-not-removed-crash.html
57375
57376        * rendering/RenderBox.cpp:
57377        (WebCore::RenderBox::destroy):
57378        (WebCore::RenderBox::styleDidChange):
57379        * rendering/RenderWidget.cpp:
57380        (WebCore::RenderWidget::destroy):
57381
573822011-03-23  Anders Carlsson  <andersca@apple.com>
57383
57384        Fix clang build.
57385
57386        * inspector/DOMNodeHighlighter.cpp:
57387        Remove an unused function.
57388
573892011-03-22  Brady Eidson  <beidson@apple.com>
57390
57391        Reviewed by Sam Weinig.
57392
57393        Add asynchronous load decision call to WebKit2 IconDatabase
57394        https://bugs.webkit.org/show_bug.cgi?id=56887
57395
57396        Clear the callback when it's made:
57397        * loader/DocumentLoader.cpp:
57398        (WebCore::DocumentLoader::continueIconLoadWithDecision):
57399
57400        Don't load icons when using new-style icon database if in private browsing:
57401        * loader/FrameLoader.cpp:
57402        (WebCore::FrameLoader::continueIconLoadWithDecision):
57403        
57404        Enhance the IconDatabase callbacks to have an ID and inherit from a common base:
57405        * loader/icon/IconDatabaseBase.h:
57406        (WebCore::CallbackBase::~CallbackBase):
57407        (WebCore::CallbackBase::callbackID):
57408        (WebCore::CallbackBase::CallbackBase):
57409        (WebCore::CallbackBase::context):
57410        (WebCore::CallbackBase::generateCallbackID):
57411        (WebCore::EnumCallback::performCallback):
57412        (WebCore::EnumCallback::EnumCallback):
57413        (WebCore::ObjectCallback::performCallback):
57414        (WebCore::ObjectCallback::ObjectCallback):
57415
574162011-03-21  Pavel Podivilov  <podivilov@chromium.org>
57417
57418        Reviewed by Yury Semikhatsky.
57419
57420        Web Inspector: move scripts concatenation logic to SourceFile.
57421        https://bugs.webkit.org/show_bug.cgi?id=56756
57422
57423        * inspector/front-end/ScriptsPanel.js:
57424        * inspector/front-end/SourceFile.js:
57425        (WebInspector.SourceFile.prototype._requestContent):
57426        (WebInspector.SourceFile.prototype._loadResourceContent):
57427        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
57428        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
57429
574302011-03-23  Leandro Gracia Gil  <leandrogracia@chromium.org>
57431
57432        Reviewed by Steve Block.
57433
57434        Media Stream API: add a flag to RuntimeEnabledFeatures.
57435        https://bugs.webkit.org/show_bug.cgi?id=56921
57436
57437        Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime.
57438
57439        Tests for the Media Stream API will be provided by the bug 56587.
57440
57441        * bindings/generic/RuntimeEnabledFeatures.cpp:
57442        * bindings/generic/RuntimeEnabledFeatures.h:
57443        (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
57444        (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
57445        (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
57446
574472011-03-23  Carol Szabo  <carol.szabo@nokia.com>
57448
57449        Reviewed by David Hyatt.
57450
57451        Modified RenderCounter::originalText() to correctly attach
57452        the created counter to the before/after container even when
57453        that is not the RenderCounter's direct parent.
57454
57455        CSS 2.1 failure: various before-after-* tests fail
57456        https://bugs.webkit.org/show_bug.cgi?id=47207
57457
57458        Test: fast/css/counters/complex-before.html
57459
57460        * rendering/RenderCounter.cpp:
57461        (WebCore::RenderCounter::originalText):
57462
574632011-03-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
57464
57465        Reviewed by Antonio Gomes.
57466
57467        [EFL] Add play / pause button to media control
57468        https://bugs.webkit.org/show_bug.cgi?id=55463
57469
57470        Add play|pause button to media control.
57471
57472        * platform/efl/RenderThemeEfl.cpp:
57473        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
57474        (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added.
57475        (WebCore::RenderThemeEfl::paintMediaPlayButton):
57476        * platform/efl/RenderThemeEfl.h:
57477
574782011-03-23  Aparna Nandyal  <aparna.nand@wipro.com>
57479
57480        Reviewed by Andreas Kling.
57481
57482        [Qt] QtWebKit rendering problem when maximizing and doing a back
57483        https://bugs.webkit.org/show_bug.cgi?id=56669
57484
57485        Contents of the page are not re-sized on going back after
57486        maximizing. ContentsResized() is not getting called. Hence old
57487        document width and height are used. Corrected this behaviour by 
57488        calling setBoundsSize() which calls contentsSize(). 
57489
57490        * loader/FrameLoader.cpp:
57491        (WebCore::FrameLoader::open):
57492
574932011-03-21  Pavel Podivilov  <podivilov@chromium.org>
57494
57495        Reviewed by Yury Semikhatsky.
57496
57497        Web Inspector: add support for formating source files in debugger presentation model.
57498        https://bugs.webkit.org/show_bug.cgi?id=56558
57499
57500        * inspector/front-end/DebuggerModel.js:
57501        (WebInspector.DebuggerModel.prototype.reset):
57502        (WebInspector.DebuggerModel.prototype.get scripts):
57503        * inspector/front-end/DebuggerPresentationModel.js:
57504        (WebInspector.DebuggerPresentationModel):
57505        (WebInspector.DebuggerPresentationModel.prototype._addScript):
57506        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
57507        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
57508        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
57509        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
57510        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
57511        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
57512        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
57513        (WebInspector.DebuggerPresentationModel.prototype._reset):
57514        * inspector/front-end/ScriptFormatter.js:
57515        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
57516        (WebInspector.ScriptFormatter.prototype.formatContent):
57517        * inspector/front-end/ScriptsPanel.js:
57518        (WebInspector.ScriptsPanel):
57519        (WebInspector.ScriptsPanel.prototype.reset):
57520        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
57521        * inspector/front-end/Settings.js:
57522        * inspector/front-end/SourceFile.js:
57523        (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation):
57524        (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation):
57525        (WebInspector.FormattedSourceFile):
57526        (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation):
57527        (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation):
57528        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
57529
575302011-03-23  Yury Semikhatsky  <yurys@chromium.org>
57531
57532        Reviewed by Pavel Feldman.
57533
57534        Web Inspector: use unsigned char instead of char when storing script source
57535        https://bugs.webkit.org/show_bug.cgi?id=56920
57536
57537        * bindings/v8/DebuggerScript.js:
57538        * bindings/v8/ScriptDebugServer.cpp:
57539        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
57540        * inspector/InjectedScriptManager.cpp:
57541        (WebCore::InjectedScriptManager::injectedScriptSource):
57542        * inspector/InjectedScriptSource.js: whitespace change to trigger compilation
57543        * inspector/xxd.pl:
57544        * xml/XMLViewer.xsl:
57545
575462011-03-23  Ilya Tikhonovsky  <loislo@chromium.org>
57547
57548        Reviewed by Yury Semikhatsky.
57549
57550        Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent.
57551        https://bugs.webkit.org/show_bug.cgi?id=56912
57552
57553        The next functions were moved:
57554            setSearchingForNode
57555            highlightDOMNode
57556            hideDOMNodeHighlight
57557            highlightFrame
57558            hideFrameHighlight
57559            mouseDidMoveOverElement
57560            handleMousePress
57561
57562        The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.*
57563
57564        * CMakeLists.txt:
57565        * GNUmakefile.am:
57566        * WebCore.gypi:
57567        * WebCore.pro:
57568        * WebCore.vcproj/WebCore.vcproj:
57569        * WebCore.xcodeproj/project.pbxproj:
57570        * inspector/DOMNodeHighlighter.cpp: Added.
57571        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
57572        * inspector/DOMNodeHighlighter.h: Added.
57573        * inspector/Inspector.json:
57574        * inspector/InspectorAgent.cpp:
57575        (WebCore::InspectorAgent::InspectorAgent):
57576        (WebCore::InspectorAgent::~InspectorAgent):
57577        (WebCore::InspectorAgent::inspectedPageDestroyed):
57578        (WebCore::InspectorAgent::disconnectFrontend):
57579        * inspector/InspectorAgent.h:
57580        * inspector/InspectorController.cpp:
57581        (WebCore::InspectorController::drawNodeHighlight):
57582        (WebCore::InspectorController::hideHighlight):
57583        * inspector/InspectorDOMAgent.cpp:
57584        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
57585        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
57586        (WebCore::InspectorDOMAgent::clearFrontend):
57587        (WebCore::InspectorDOMAgent::handleMousePress):
57588        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
57589        (WebCore::InspectorDOMAgent::searchingForNodeInPage):
57590        (WebCore::InspectorDOMAgent::setSearchingForNode):
57591        (WebCore::InspectorDOMAgent::highlight):
57592        (WebCore::InspectorDOMAgent::highlightDOMNode):
57593        (WebCore::InspectorDOMAgent::highlightFrame):
57594        (WebCore::InspectorDOMAgent::hideHighlight):
57595        (WebCore::InspectorDOMAgent::drawNodeHighlight):
57596        * inspector/InspectorDOMAgent.h:
57597        (WebCore::InspectorDOMAgent::hideDOMNodeHighlight):
57598        (WebCore::InspectorDOMAgent::hideFrameHighlight):
57599        * inspector/InspectorInstrumentation.cpp:
57600        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
57601        (WebCore::InspectorInstrumentation::handleMousePressImpl):
57602        * inspector/InstrumentingAgents.h:
57603        (WebCore::InstrumentingAgents::InstrumentingAgents):
57604        (WebCore::InstrumentingAgents::inspectorAgent):
57605        (WebCore::InstrumentingAgents::setInspectorAgent):
57606        * inspector/front-end/ElementsPanel.js:
57607        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
57608        * inspector/front-end/ResourcesPanel.js:
57609        (WebInspector.FrameTreeElement.prototype.onselect):
57610        (WebInspector.FrameTreeElement.prototype.set hovered):
57611        * inspector/front-end/inspector.js:
57612        (WebInspector.highlightDOMNode):
57613
576142011-03-23  Yury Semikhatsky  <yurys@chromium.org>
57615
57616        Unreviewed. Rollout r81768 which broke compilation on Win.
57617
57618        * xml/XMLTreeViewer.cpp:
57619        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
57620        * xml/XMLViewer.xsl:
57621
576222011-03-23  Yury Semikhatsky  <yurys@chromium.org>
57623
57624        Reviewed by Pavel Feldman.
57625
57626        Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer
57627        https://bugs.webkit.org/show_bug.cgi?id=56919
57628
57629        * xml/XMLTreeViewer.cpp:
57630        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
57631        * xml/XMLViewer.xsl: whitespace change to trigger compilation.
57632
576332011-03-21  Pavel Podivilov  <podivilov@chromium.org>
57634
57635        Reviewed by Yury Semikhatsky.
57636
57637        Web Inspector: move content loading logic to a new SourceFile class.
57638        https://bugs.webkit.org/show_bug.cgi?id=56748
57639
57640        * WebCore.gypi:
57641        * WebCore.vcproj/WebCore.vcproj:
57642        * inspector/front-end/DebuggerPresentationModel.js:
57643        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
57644        (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
57645        (WebInspector.DebuggerPresentationModel.prototype._addScript):
57646        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
57647        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
57648        * inspector/front-end/SourceFile.js: Added.
57649        (WebInspector.SourceFile):
57650        (WebInspector.SourceFile.prototype.addScript):
57651        (WebInspector.SourceFile.prototype.requestContent):
57652        (WebInspector.SourceFile.prototype.forceLoadContent):
57653        (WebInspector.SourceFile.prototype.reload):
57654        (WebInspector.SourceFile.prototype._requestContent):
57655        (WebInspector.SourceFile.prototype._loadResourceContent):
57656        (WebInspector.SourceFile.prototype._loadScriptContent):
57657        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
57658        (WebInspector.SourceFile.prototype._didRequestContent):
57659        (WebInspector.SourceFile.prototype._hasPendingResource):
57660        * inspector/front-end/WebKit.qrc:
57661        * inspector/front-end/inspector.html:
57662
576632011-03-23  Pavel Podivilov  <podivilov@chromium.org>
57664
57665        Unreviewed, fix compilation broken by r81758.
57666
57667        * xml/XMLTreeViewer.cpp:
57668        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
57669
576702011-03-23  Pavel Feldman  <pfeldman@chromium.org>
57671
57672        Reviewed by Yury Semikhatsky.
57673
57674        Web Inspector: define array types properly in the Inspector.json
57675        https://bugs.webkit.org/show_bug.cgi?id=56915
57676
57677        * inspector/Inspector.json:
57678        * inspector/generate-inspector-idl:
57679
576802011-03-23  Yury Semikhatsky  <yurys@chromium.org>
57681
57682        Reviewed by Pavel Feldman.
57683
57684        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
57685        https://bugs.webkit.org/show_bug.cgi?id=56843
57686
57687        * inspector/front-end/WebKit.qrc:
57688
576892011-03-23  Andrey Adaikin  <aandrey@google.com>
57690
57691        Reviewed by Yury Semikhatsky.
57692
57693        Web Inspector: Add a star while editing a source code
57694        https://bugs.webkit.org/show_bug.cgi?id=56743
57695
57696        * inspector/front-end/ScriptsPanel.js:
57697        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
57698        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
57699        * inspector/front-end/SourceFrame.js:
57700        (WebInspector.SourceFrame.prototype._startEditing):
57701        (WebInspector.SourceFrame.prototype._registerShortcuts):
57702        (WebInspector.SourceFrame.prototype._handleSave):
57703        (WebInspector.SourceFrame.prototype._handleRevertEditing):
57704        (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
57705
577062011-03-23  Andrey Adaikin  <aandrey@google.com>
57707
57708        Reviewed by Yury Semikhatsky.
57709
57710        Web Inspector: Scrolling and navigation is not smooth on a script with many long lines
57711        https://bugs.webkit.org/show_bug.cgi?id=56559
57712
57713        * inspector/front-end/TextViewer.js:
57714        (WebInspector.TextEditorChunkedPanel.prototype._expandChunks):
57715        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
57716        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
57717        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
57718        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
57719        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
57720        (WebInspector.TextEditorMainPanel.prototype._paintLines):
57721        (WebInspector.TextEditorMainPanel.prototype._paintLine):
57722        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
57723
577242011-03-22  Yury Semikhatsky  <yurys@chromium.org>
57725
57726        Reviewed by Pavel Feldman.
57727
57728        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
57729        https://bugs.webkit.org/show_bug.cgi?id=56843
57730
57731        DebuggerScript.js is now translated into a char[] array before inspector compilation.
57732
57733        * WebCore.gyp/WebCore.gyp:
57734        * WebCore.gypi:
57735        * bindings/v8/ScriptDebugServer.cpp:
57736        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
57737        * bindings/v8/ScriptDebugServer.h:
57738        * inspector/InjectedScriptManager.cpp:
57739        (WebCore::InjectedScriptManager::injectedScriptSource):
57740        * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation.
57741        * inspector/xxd.pl:
57742
577432011-03-23  Mark Rowe  <mrowe@apple.com>
57744
57745        Fix the 32-bit build.
57746
57747        * html/canvas/WebGLRenderingContext.cpp:
57748        (WebCore::WebGLRenderingContext::initializeNewContext):
57749
577502011-03-22  Noel Gordon  <noel.gordon@gmail.com>
57751
57752        Reviewed by Ojan Vafai.
57753
57754        [chromium] skia image encoders should use <wtf/Vector.h>
57755        https://bugs.webkit.org/show_bug.cgi?id=56893
57756
57757        No new tests. Covered by existing canvas.toDataURL tests.
57758
57759        * platform/image-encoders/skia/JPEGImageEncoder.h:
57760        * platform/image-encoders/skia/PNGImageEncoder.h:
57761
577622011-03-22  David Hyatt  <hyatt@apple.com>
57763
57764        Reviewed by Beth Dakin.
57765
57766        Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to
57767        free up a bit for another performance optimization I have planned.
57768
57769        * rendering/RenderObject.cpp:
57770        (WebCore::RenderObject::RenderObject):
57771        * rendering/RenderObject.h:
57772        (WebCore::RenderObject::setHasColumns):
57773        * rendering/RenderTableCell.cpp:
57774        (WebCore::RenderTableCell::RenderTableCell):
57775        * rendering/RenderTableCell.h:
57776        (WebCore::RenderTableCell::cellWidthChanged):
57777        (WebCore::RenderTableCell::setCellWidthChanged):
57778
577792011-03-22  David Hyatt  <hyatt@apple.com>
57780
57781        Reviewed by Dan Bernstein.
57782
57783        https://bugs.webkit.org/show_bug.cgi?id=56892
57784        
57785        Adding floats to an empty block is O(n^2). 
57786
57787        If you just add floats back to back to an empty block, the addition is essentially O(n^2)
57788        once the floats move below your current line position.  This is because we repeatedly ask for the
57789        available width for the line from scratch every time we add a float, regardless of whether the
57790        float even vertically intersected our current line position.
57791        
57792        Change positionNewFloatOnLine to update left and right line offsets intelligently and to only
57793        do it based off the single new float that just got added.
57794        
57795        This fix cuts the IE MazeSolver time in half.
57796
57797        * rendering/RenderBlock.cpp:
57798        (WebCore::RenderBlock::positionNewFloatOnLine):
57799        * rendering/RenderBlock.h:
57800        * rendering/RenderBlockLineLayout.cpp:
57801        (WebCore::RenderBlock::skipLeadingWhitespace):
57802        (WebCore::RenderBlock::findNextLineBreak):
57803
578042011-03-22  Beth Dakin  <bdakin@apple.com>
57805
57806        Reviewed by Sam Weinig.
57807
57808        Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a 
57809        NaN value for "value" in ScrollbarThemeMac::paint()
57810        -and corresponding-
57811        <rdar://problem/9160621>
57812
57813        * platform/mac/ScrollbarThemeMac.mm:
57814        (WebCore::ScrollbarThemeMac::paint):
57815
578162011-03-17  Ojan Vafai  <ojan@chromium.org>
57817
57818        Reviewed by Antti Koivisto.
57819
57820        webkit should implement -moz-any selector (as -webkit-any obviously)
57821        https://bugs.webkit.org/show_bug.cgi?id=38095
57822
57823        For now, match the Mozilla implementation with respect to specificity
57824        and only allowing simple selectors. Both of these are likely to change
57825        pending discussion on www-style@. 
57826
57827        Tests: fast/css/pseudo-any.html
57828               fast/dom/SelectorAPI/unknown-pseudo.html
57829
57830        * css/CSSGrammar.y:
57831        Create simple_selector_list. This is exactly like selector_list
57832        except it only allows simple selectors and creates a new vector
57833        instead of a reusable one since there can be multiple in one rule.
57834        * css/CSSParser.cpp:
57835        (WebCore::CSSParser::~CSSParser):
57836        (WebCore::CSSParser::lex):
57837        (WebCore::CSSParser::createFloatingSelectorVector):
57838        (WebCore::CSSParser::sinkFloatingSelectorVector):
57839        * css/CSSParser.h:
57840        * css/CSSParserValues.cpp:
57841        (WebCore::CSSParserSelector::adoptSelectorVector):
57842        * css/CSSParserValues.h:
57843        * css/CSSSelector.cpp:
57844        (WebCore::CSSSelector::specificityForOneSelector):
57845        (WebCore::CSSSelector::pseudoId):
57846        (WebCore::nameToPseudoTypeMap):
57847        (WebCore::CSSSelector::extractPseudoType):
57848        (WebCore::CSSSelector::selectorText):
57849        (WebCore::CSSSelector::setSelectorList):
57850        (WebCore::CSSSelector::RareData::RareData):
57851        (WebCore::CSSSelector::RareData::~RareData):
57852        These need to be moved into the cpp file so that we can
57853        have an OwnPtr<CSSSelectorList> in CSSSelector::RareData.
57854        * css/CSSSelector.h:
57855        (WebCore::CSSSelector::selectorList):
57856        * css/CSSSelectorList.cpp:
57857        (WebCore::forEachTagSelector):
57858        * css/CSSStyleSelector.cpp:
57859        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
57860        (WebCore::collectFeaturesFromSelector):
57861        * css/tokenizer.flex:
57862
578632011-03-22  John Bauman  <jbauman@chromium.org>
57864
57865        Reviewed by Kenneth Russell.
57866
57867        Add support for preserveDrawingBuffer context creation attribute
57868        https://bugs.webkit.org/show_bug.cgi?id=56431
57869
57870        For the accelerated compositing case, only prepare the texture if it
57871        has been updated since the last composite. For the non-accelerated case, make sure to
57872        grab a copy of the image buffer and paint from that if the backbuffer
57873        would be cleared.
57874
57875        In both cases, make sure to clear the context's backbuffer before the
57876        first operation that uses it.
57877
57878        No new tests. It seems to be difficult/impossible to trigger an early
57879        compositing operation in DumpRenderTree, making this hard to
57880        test automatically. However, Chromium and Safari (Mac) have been
57881        tested manually on the webgl conformance test for this.
57882
57883        * html/HTMLCanvasElement.cpp:
57884        (WebCore::HTMLCanvasElement::paint):
57885        (WebCore::HTMLCanvasElement::makePresentationCopy):
57886        (WebCore::HTMLCanvasElement::clearPresentationCopy):
57887        * html/HTMLCanvasElement.h:
57888        * html/canvas/WebGLContextAttributes.cpp:
57889        (WebCore::WebGLContextAttributes::preserveDrawingBuffer):
57890        (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer):
57891        * html/canvas/WebGLContextAttributes.h:
57892        * html/canvas/WebGLContextAttributes.idl:
57893        * html/canvas/WebGLRenderingContext.cpp:
57894        (WebCore::WebGLRenderingContext::initializeNewContext):
57895        (WebCore::WebGLRenderingContext::markContextChanged):
57896        (WebCore::WebGLRenderingContext::clearIfComposited):
57897        (WebCore::WebGLRenderingContext::markLayerComposited):
57898        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
57899        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
57900        (WebCore::WebGLRenderingContext::clear):
57901        (WebCore::WebGLRenderingContext::clearColor):
57902        (WebCore::WebGLRenderingContext::clearDepth):
57903        (WebCore::WebGLRenderingContext::clearStencil):
57904        (WebCore::WebGLRenderingContext::colorMask):
57905        (WebCore::WebGLRenderingContext::disable):
57906        (WebCore::WebGLRenderingContext::drawArrays):
57907        (WebCore::WebGLRenderingContext::drawElements):
57908        (WebCore::WebGLRenderingContext::enable):
57909        (WebCore::WebGLRenderingContext::readPixels):
57910        * html/canvas/WebGLRenderingContext.h:
57911        * platform/graphics/GraphicsContext3D.h:
57912        (WebCore::GraphicsContext3D::Attributes::Attributes):
57913        * platform/graphics/chromium/WebGLLayerChromium.cpp:
57914        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
57915        (WebCore::WebGLLayerChromium::textureUpdated):
57916        (WebCore::WebGLLayerChromium::setContext):
57917        * platform/graphics/chromium/WebGLLayerChromium.h:
57918        * platform/graphics/mac/GraphicsContext3DMac.mm
57919        (WebCore::GraphicsContext3D::GraphicsContext3D):
57920        (WebCore::GraphicsContext3D::~GraphicsContext3D):
57921        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
57922        (WebCore::GraphicsContext3D::reshape):
57923        (WebCore::GraphicsContext3D::prepareTexture):
57924        (WebCore::GraphicsContext3D::activeTexture):
57925        (WebCore::GraphicsContext3D::bindTexture):
57926        (WebCore::GraphicsContext3D::markContextChanged):
57927        (WebCore::GraphicsContext3D::markLayerComposited):
57928        (WebCore::GraphicsContext3D::layerComposited):
57929        * platform/graphics/qt/GraphicsContext3DQt.cpp:
57930        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
57931        (WebCore::GraphicsContext3D::markLayerComposited):
57932        (WebCore::GraphicsContext3D::markContextChanged):
57933        (WebCore::GraphicsContext3D::layerComposited):
57934
579352011-03-22  Sam Weinig  <sam@webkit.org>
57936
57937        Reviewed by Mark Rowe.
57938
57939        Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER.
57940        <rdar://problem/8944718> 
57941
57942        * DerivedSources.make:
57943        Remove generation of HeaderDetection.h.
57944
57945        * WebCore.xcodeproj/project.pbxproj:
57946        Remove HeaderDetection.h.
57947
57948        * platform/mac/ScrollAnimatorMac.h:
57949        * platform/mac/ScrollAnimatorMac.mm:
57950        * platform/mac/ScrollbarThemeMac.h:
57951        * platform/mac/ScrollbarThemeMac.mm:
57952        Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER).
57953
579542011-03-22  Victoria Kirst  <vrk@google.com>
57955
57956        Reviewed by Kenneth Russell.
57957
57958        [chromium] Properly reset VideoLayerChromium textures after lost renderer context
57959        https://bugs.webkit.org/show_bug.cgi?id=56514
57960
57961        The VideoLayerChromium textures were still mapped to the old
57962        renderer's context when LayerRendererChromium was being recreated
57963        i.e. when GPU process is killed. This patch allows VideoLayerChromium
57964        it recreate textures in the new context when the old renderer is lost.
57965        Patch also does a bit of refactoring and code clean-up.
57966
57967        * platform/graphics/chromium/VideoLayerChromium.cpp:
57968        (WebCore::VideoLayerChromium::~VideoLayerChromium):
57969        (WebCore::VideoLayerChromium::cleanupResources):
57970        (WebCore::VideoLayerChromium::updateContentsIfDirty):
57971        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
57972        (WebCore::VideoLayerChromium::computeVisibleSize):
57973        (WebCore::VideoLayerChromium::drawYUV):
57974        (WebCore::VideoLayerChromium::drawRGBA):
57975        (WebCore::VideoLayerChromium::resetFrameParameters):
57976        (WebCore::VideoLayerChromium::saveCurrentFrame):
57977        * platform/graphics/chromium/VideoLayerChromium.h:
57978
579792011-03-22  Adam Barth  <abarth@webkit.org>
57980
57981        Reviewed by Eric Seidel.
57982
57983        WebCore GYP build should export the headers needed by WebKit
57984        https://bugs.webkit.org/show_bug.cgi?id=56883
57985
57986        * WebCore.gypi:
57987        * gyp/WebCore.gyp:
57988            - Export a couple more headers.
57989            - Remove FIXME comments for things we've already fixed.
57990
579912011-03-22  Anton D'Auria  <adauria@apple.com>
57992
57993        Reviewed by Alexey Proskuryakov.
57994
57995        Add +[WebApplicationCache getOriginsWithCache]
57996        https://bugs.webkit.org/show_bug.cgi?id=56722
57997
57998        Added test that exercises WebCore API to get origins with application cache.
57999
58000        Test: http/tests/appcache/origins-with-appcache.html
58001
58002        * loader/appcache/ApplicationCacheStorage.cpp: 
58003        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
58004        * loader/appcache/ApplicationCacheStorage.h:
58005
580062011-03-22  Carol Szabo  <carol.szabo@nokia.com>
58007
58008        Reviewed by David Hyatt.
58009
58010        Introduced double linkage between a CounterNode and its display renderer.
58011
58012        use of freed pointer in WebCore::RenderCounter::originalText()
58013        https://bugs.webkit.org/show_bug.cgi?id=56065
58014
58015        No new tests. This bug could only be reproduced manually by
58016        refreshing the page during load at a critical point.
58017        See bug attachment for testing.
58018
58019        * rendering/CounterNode.cpp:
58020        Introduced new member "m_owner" to store the renderer that has the
58021        style directives that produce the CounterNode.
58022        Repurposed m_renderer to reffer to the RenderCounter that shows the
58023        CounterNode.
58024        (WebCore::CounterNode::CounterNode):
58025        Updated member initialization.
58026        (WebCore::CounterNode::create):
58027        (WebCore::CounterNode::addRenderer):
58028        (WebCore::CounterNode::removeRenderer):
58029        Introduced to manage the renderer list associated wit this CounterNode.
58030        (WebCore::CounterNode::resetRenderers):
58031        This is the old resetRenderer. Renamed to take into account that there may be
58032        more than one renderer to a CounterNode.
58033        (WebCore::CounterNode::resetThisAndDescendantsRenderers):
58034        This is the old resetRenderers renamed for clarity.
58035        (WebCore::CounterNode::recount):
58036        (WebCore::CounterNode::insertAfter):
58037        (WebCore::CounterNode::removeChild):
58038        No functional changes.
58039        (WebCore::showTreeAndMark):
58040        Added flushing to ensure that the output is complete.
58041        * rendering/CounterNode.h:
58042        (WebCore::CounterNode::owner):
58043        Renamed from renderer()
58044        * rendering/RenderCounter.cpp:
58045        (WebCore::findPlaceForCounter):
58046        Fixed comments. No functional changes.
58047        (WebCore::RenderCounter::~RenderCounter):
58048        Made sure that the CounterNode that this renderers displays is
58049        detached from this.
58050        (WebCore::RenderCounter::originalText):
58051        (WebCore::RenderCounter::invalidate):
58052        Changed to maintain the bidirectional relationship with the displayed CounterNode.
58053        Also made "invalidate" private as it should be used only by CounterNode.
58054        (WebCore::destroyCounterNodeWithoutMapRemoval):
58055        (WebCore::RenderCounter::destroyCounterNodes):
58056        (WebCore::RenderCounter::destroyCounterNode):
58057        (WebCore::updateCounters):
58058        No change, just kept code in line with the changes above.
58059        (showCounterRendererTree):
58060        Added fflush to ensure complete display.
58061        * rendering/RenderCounter.h:
58062        * rendering/RenderObjectChildList.cpp:
58063        * rendering/RenderObjectChildList.h:
58064        Removed unneeded invalidateCounters related functions.
58065
580662011-03-22  Dean Jackson  <dino@apple.com>
58067
58068        Reviewed by Simon Fraser.
58069
58070        https://bugs.webkit.org/show_bug.cgi?id=56242
58071        Interrupted accelerated animations/transitions were causing
58072        subsequent animations to not start (because they were stuck
58073        waiting for a response from the compositing layer). I renamed
58074        the instance variable that indicates whether or not to
58075        notify animations of start time, from m_waitingForStartTimeResponse
58076        to m_waitingForAsyncStartNotification, so that it makes more sense.
58077        The actual bug fix was changing the logic so that the flag is reset
58078        when the list of waiting animations becomes empty. I mistakenly committed
58079        the bad logic in r81613.
58080
58081        * page/animation/AnimationBase.cpp:
58082        (WebCore::AnimationBase::updateStateMachine):
58083        - Always set paused time as we enter the paused state
58084        * page/animation/AnimationController.cpp:
58085        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
58086        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
58087        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
58088        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
58089        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
58090        - reset the waiting flag when the list is empty (rather than not empty)
58091        (WebCore::AnimationControllerPrivate::startTimeResponse):
58092        * page/animation/AnimationControllerPrivate.h:
58093        - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification
58094
580952011-03-22  Brady Eidson  <beidson@apple.com>
58096
58097        Reviewed by Sam Weinig.
58098
58099        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
58100        WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
58101
58102        * loader/icon/IconDatabase.cpp:
58103        Add a dummy client implementation for non-Mac, non-Win ports:
58104        (WebCore::DefaultIconDatabaseClient::performImport):
58105        (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL):
58106        (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL):
58107        (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL):
58108        (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons):
58109        (WebCore::DefaultIconDatabaseClient::didFinishURLImport):
58110        (WebCore::defaultClient):
58111
58112        Either call the client directly when on the main thread, or use the dispatch functions below
58113        if on the background thread:
58114        (WebCore::IconDatabase::setIconDataForIconURL):
58115        (WebCore::IconDatabase::setIconURLForPageURL):
58116        (WebCore::IconDatabase::performURLImport):
58117        (WebCore::IconDatabase::readFromDatabase):
58118        (WebCore::IconDatabase::removeAllIconsOnThread):
58119
58120        Add a very targeted WorkItem interface for dispatching client calls on the main thread:
58121        (WebCore::ClientWorkItem::ClientWorkItem):
58122        (WebCore::ClientWorkItem::~ClientWorkItem):
58123        (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
58124        (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem):
58125        (WebCore::ImportedIconURLForPageURLWorkItem::performWork):
58126        (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
58127        (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem):
58128        (WebCore::ImportedIconDataForPageURLWorkItem::performWork):
58129        (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem):
58130        (WebCore::RemovedAllIconsWorkItem::performWork):
58131        (WebCore::performWorkItem):
58132
58133        Use the client WorkItem interface to perform these callbacks on the main thread:
58134        (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
58135        (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
58136        (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
58137        * loader/icon/IconDatabase.h:
58138        * loader/icon/IconDatabaseClient.h:
58139
581402011-03-22  David Hyatt  <hyatt@apple.com>
58141
58142        Reviewed by Simon Fraser.
58143
58144        https://bugs.webkit.org/show_bug.cgi?id=56869
58145        
58146        Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be
58147        a little faster than having to access the information from the RenderStyle's sub-structure.
58148
58149        * rendering/RenderBlock.cpp:
58150        (WebCore::RenderBlock::layoutBlock):
58151        (WebCore::RenderBlock::addOverflowFromChildren):
58152        (WebCore::RenderBlock::computeOverflow):
58153        (WebCore::RenderBlock::adjustPositionedBlock):
58154        (WebCore::RenderBlock::setLogicalLeftForChild):
58155        (WebCore::RenderBlock::setLogicalTopForChild):
58156        (WebCore::RenderBlock::layoutPositionedObjects):
58157        (WebCore::RenderBlock::paintColumnRules):
58158        (WebCore::RenderBlock::paintColumnContents):
58159        (WebCore::RenderBlock::flipFloatForWritingMode):
58160        (WebCore::blockDirectionOffset):
58161        (WebCore::inlineDirectionOffset):
58162        (WebCore::RenderBlock::logicalRectToPhysicalRect):
58163        (WebCore::RenderBlock::inlineSelectionGaps):
58164        (WebCore::RenderBlock::addOverhangingFloats):
58165        (WebCore::RenderBlock::addIntrudingFloats):
58166        (WebCore::RenderBlock::hitTestColumns):
58167        (WebCore::positionForPointRespectingEditingBoundaries):
58168        (WebCore::RenderBlock::positionForPointWithInlineChildren):
58169        (WebCore::RenderBlock::positionForPoint):
58170        (WebCore::RenderBlock::columnRectAt):
58171        (WebCore::RenderBlock::adjustPointToColumnContents):
58172        (WebCore::RenderBlock::adjustRectForColumns):
58173        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
58174        (WebCore::RenderBlock::adjustForColumns):
58175        (WebCore::RenderBlock::lastLineBoxBaseline):
58176        (WebCore::RenderBlock::nextPageLogicalTop):
58177        (WebCore::RenderBlock::adjustForUnsplittableChild):
58178        (WebCore::RenderBlock::adjustLinePositionForPagination):
58179        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
58180        (WebCore::RenderBlock::collapsedMarginAfterForChild):
58181        (WebCore::RenderBlock::marginStartForChild):
58182        (WebCore::RenderBlock::marginEndForChild):
58183        (WebCore::RenderBlock::setMarginStartForChild):
58184        (WebCore::RenderBlock::setMarginEndForChild):
58185        (WebCore::RenderBlock::marginValuesForChild):
58186        * rendering/RenderBlock.h:
58187        (WebCore::RenderBlock::logicalWidthForChild):
58188        (WebCore::RenderBlock::logicalHeightForChild):
58189        (WebCore::RenderBlock::logicalTopForChild):
58190        (WebCore::RenderBlock::logicalRightOffsetForContent):
58191        (WebCore::RenderBlock::logicalLeftOffsetForContent):
58192        (WebCore::RenderBlock::logicalTopForFloat):
58193        (WebCore::RenderBlock::logicalBottomForFloat):
58194        (WebCore::RenderBlock::logicalLeftForFloat):
58195        (WebCore::RenderBlock::logicalRightForFloat):
58196        (WebCore::RenderBlock::logicalWidthForFloat):
58197        (WebCore::RenderBlock::setLogicalTopForFloat):
58198        (WebCore::RenderBlock::setLogicalLeftForFloat):
58199        (WebCore::RenderBlock::setLogicalHeightForFloat):
58200        (WebCore::RenderBlock::setLogicalWidthForFloat):
58201        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
58202        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
58203        * rendering/RenderBlockLineLayout.cpp:
58204        (WebCore::RenderBlock::createLineBoxes):
58205        (WebCore::RenderBlock::layoutInlineChildren):
58206        (WebCore::RenderBlock::checkFloatsInCleanLine):
58207        (WebCore::setStaticPositions):
58208        (WebCore::RenderBlock::findNextLineBreak):
58209        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
58210        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
58211        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
58212        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
58213        * rendering/RenderBox.cpp:
58214        (WebCore::RenderBox::marginStart):
58215        (WebCore::RenderBox::marginEnd):
58216        (WebCore::RenderBox::setMarginStart):
58217        (WebCore::RenderBox::setMarginEnd):
58218        (WebCore::RenderBox::styleDidChange):
58219        (WebCore::RenderBox::logicalScroll):
58220        (WebCore::RenderBox::computeLogicalWidth):
58221        (WebCore::RenderBox::computeLogicalHeight):
58222        (WebCore::RenderBox::availableLogicalHeightUsing):
58223        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
58224        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
58225        (WebCore::RenderBox::computePositionedLogicalWidth):
58226        (WebCore::computeLogicalLeftPositionedOffset):
58227        (WebCore::RenderBox::computePositionedLogicalHeight):
58228        (WebCore::computeLogicalTopPositionedOffset):
58229        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
58230        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
58231        (WebCore::RenderBox::addLayoutOverflow):
58232        (WebCore::RenderBox::flipForWritingMode):
58233        * rendering/RenderBoxModelObject.cpp:
58234        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
58235        * rendering/RenderObject.cpp:
58236        (WebCore::RenderObject::RenderObject):
58237        (WebCore::RenderObject::styleWillChange):
58238        * rendering/RenderObject.h:
58239        (WebCore::RenderObject::isHorizontalWritingMode):
58240        (WebCore::RenderObject::setHorizontalWritingMode):
58241        * rendering/RenderTableCell.cpp:
58242        (WebCore::RenderTableCell::paddingTop):
58243        (WebCore::RenderTableCell::paddingBottom):
58244        (WebCore::RenderTableCell::paddingLeft):
58245        (WebCore::RenderTableCell::paddingRight):
58246        (WebCore::RenderTableCell::scrollbarsChanged):
58247        * rendering/RootInlineBox.cpp:
58248        (WebCore::RootInlineBox::RootInlineBox):
58249        (WebCore::RootInlineBox::lineSelectionGap):
58250        (WebCore::RootInlineBox::verticalPositionForBox):
58251
582522011-03-22  Simon Fraser  <simon.fraser@apple.com>
58253
58254        Reviewed by Beth Dakin.
58255
58256        Incorrect rendering of composited element with negative z-index child
58257        https://bugs.webkit.org/show_bug.cgi?id=56846
58258        
58259        When a composited element has a child with negative z-index, we make
58260        a separate layer for that element's foreground content. This layer
58261        was positioned incorrectly (but the content happened to paint at
58262        the right location), resulting in right/bottom clipping.
58263        
58264        Fix this, remove the little-used graphicsLayerToContentsCoordinates()
58265        contentsToGraphicsLayerCoordinates() methods, and optimize incremental
58266        repaints in the foreground and mask layers.
58267
58268        Tests: compositing/geometry/foreground-layer.html
58269               compositing/geometry/repaint-foreground-layer.html
58270
58271        * platform/graphics/ca/GraphicsLayerCA.cpp:
58272        (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints
58273        which fall outside the layer bounds, so callers don't have to,
58274        and to avoid unnecessary layer commits.
58275
58276        * rendering/RenderLayerBacking.cpp:
58277        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If
58278        we have a foreground layer inside a clipping layer, the foreground
58279        layer's offset is zero, since the clipping layer is its parent.
58280        
58281        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use
58282        offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates().
58283        Also do incremental repaints of the foreground and mask layers.
58284        
58285        (WebCore::RenderLayerBacking::paintContents): It was incorrect to always
58286        use compositedBounds() to compute the painting offset, since that's
58287        per-RenderLayerBacking, but a single RenderLayerBacking can have different
58288        GraphicsLayers with different offsets (e.g. the foreground layer).
58289        Instead, use offsetFromRenderer(), which gives has the correct offset.
58290
58291        * rendering/RenderLayerBacking.h: Remove unused methods.
58292
582932011-03-22  Chris Rogers  <crogers@google.com>
58294
58295        Reviewed by Kenneth Russell.
58296
58297        Use default-output instead of default-input to get hardware sample-rate
58298        https://bugs.webkit.org/show_bug.cgi?id=56858
58299
58300        No new tests since audio API is not yet implemented.
58301
58302        * platform/audio/mac/AudioDestinationMac.cpp:
58303        (WebCore::AudioDestination::hardwareSampleRate):
58304
583052011-03-22  Pratik Solanki  <psolanki@apple.com>
58306
58307        Reviewed by David Kilzer.
58308
58309        Implement -connection:didReceiveDataArray: NSURLConnection delegate method
58310        https://bugs.webkit.org/show_bug.cgi?id=56838
58311
58312        Add experimental support for the didReceiveDataArray callback on
58313        NSURLConnection. A RessourceHandleClient indicates its ability to
58314        handle this callback by returning true from supportsDataArray() method.
58315        Currently only SubresourceLoader uses this so we get the benefit for
58316        CSS, JS and image loads. For other clients we call didReceiveData with
58317        the CFData contents as before.
58318
58319        * WebCore.xcodeproj/project.pbxproj:
58320        * loader/ResourceLoader.h:
58321        * loader/SubresourceLoader.h:
58322        (WebCore::SubresourceLoader::supportsDataArray):
58323        * loader/cf/SubresourceLoaderCF.cpp: Added.
58324        (WebCore::SubresourceLoader::didReceiveDataArray):
58325        * loader/mac/ResourceLoaderMac.mm:
58326        (WebCore::ResourceLoader::didReceiveDataArray):
58327        * platform/SharedBuffer.cpp:
58328        (WebCore::SharedBuffer::clear):
58329        (WebCore::SharedBuffer::buffer):
58330        * platform/SharedBuffer.h:
58331        * platform/cf/SharedBufferCF.cpp:
58332        (WebCore::SharedBuffer::append):
58333        (WebCore::SharedBuffer::copyDataArrayAndClear):
58334        * platform/network/ResourceHandleClient.h:
58335        (WebCore::ResourceHandleClient::supportsDataArray):
58336        (WebCore::ResourceHandleClient::didReceiveDataArray):
58337        * platform/network/mac/ResourceHandleMac.mm:
58338        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
58339
583402011-03-22  Eric Seidel  <eric@webkit.org>
58341
58342        Reviewed by Adam Barth.
58343
58344        Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
58345        https://bugs.webkit.org/show_bug.cgi?id=56867
58346
58347        This should make it possible to build the gyp-generated WebCore.xcodeproj
58348        from a WebCore directory outside of Source.
58349
58350        * gyp/WebCore.gyp:
58351        * gyp/run-if-exists.sh: Added.
58352        * gyp/update-info-plist.sh: Added.
58353
583542011-03-22  Anders Carlsson  <andersca@apple.com>
58355
58356        Fix WebKit2 build.
58357
58358        * WebCore.exp.in:
58359        Export a symbol needed by WebKit2.
58360
583612011-03-22  Adam Barth  <abarth@webkit.org>
58362
58363        Reviewed by Eric Seidel.
58364
58365        Add the remaining steps to WebCore GYP build
58366        https://bugs.webkit.org/show_bug.cgi?id=56864
58367
58368        These steps match the normal build.  After this patch, I believe the
58369        WebCore GYP build is complete.
58370
58371        * WebCore.gypi:
58372        * gyp/WebCore.gyp:
58373        * gyp/copy-inspector-resources.sh: Added.
58374
583752011-03-22  Beth Dakin  <bdakin@apple.com>
58376
58377        Reviewed by Simon Fraser.
58378
58379        Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be 
58380        added to Page::scrollableAreaSet()
58381
58382        * rendering/RenderListBox.cpp:
58383        (WebCore::RenderListBox::RenderListBox):
58384        (WebCore::RenderListBox::~RenderListBox):
58385        * rendering/RenderListBox.h:
58386        (WebCore::RenderListBox::disconnectFromPage):
58387
583882011-03-22  Chris Rogers  <crogers@google.com>
58389
58390        Reviewed by Kenneth Russell.
58391
58392        Add high-quality band-limited audio resampling algorithm
58393        https://bugs.webkit.org/show_bug.cgi?id=56692
58394
58395        No new tests since audio API is not yet implemented.
58396
58397        * platform/audio/SincResampler.cpp: Added.
58398        (WebCore::SincResampler::SincResampler):
58399        (WebCore::SincResampler::initializeKernel):
58400        (WebCore::SincResampler::consumeSource):
58401        (WebCore::SincResampler::process):
58402        * platform/audio/SincResampler.h: Added.
58403
584042011-03-22  Adam Barth  <abarth@webkit.org>
58405
58406        Reviewed by Eric Seidel.
58407
58408        WebCore GYP build should build without help from normal WebCore build
58409        https://bugs.webkit.org/show_bug.cgi?id=56860
58410
58411        Before this patch, the WebCore GYP build wasn't generating the derived
58412        sources quite right because the ENABLE macros were not being
58413        communicated to the "Derived Sources" target.
58414
58415        This patch also adds the "Copy Forwarding and ICU Headers" as well as
58416        the "Streamline Inspector Source" steps, which are present in the
58417        normal build.  Unlike the normal build, these steps occur in a new
58418        target, called "WebCore Support", which is less than aesthetically
58419        beautiful.  Hopefully we'll be able to move them into the WebCore
58420        target proper in the future, but that will likely require some GYP
58421        changes.
58422
58423        This patch probably could have been broken down into a couple smaller
58424        patches, but that doesn't seem necessary.
58425
58426        * WebCore.gypi:
58427            - This file appears to no longer exist.
58428        * gyp/WebCore.gyp:
58429        * gyp/copy-forwarding-and-icu-headers.sh: Added.
58430        * gyp/streamline-inspector-source.sh: Added.
58431
584322011-03-22  David Hyatt  <hyatt@apple.com>
58433
58434        Reviewed by Simon Fraser.
58435
58436        https://bugs.webkit.org/show_bug.cgi?id=56859
58437        
58438        Floats in the floating object list occur in the order that they are positioned. This means
58439        that for a given vertical offset, the last left object in the list that intersects that offset
58440        will be the rightmost float. There is no need to check any previous floats, since they have to be
58441        further left than that rightmost float. The same rules hold true for right-aligned floats.
58442        
58443        Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment
58444        they encounter a float that intersects the vertical range.
58445        
58446        This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half.
58447
58448        * rendering/RenderBlock.cpp:
58449        (WebCore::RenderBlock::logicalLeftOffsetForLine):
58450        (WebCore::RenderBlock::logicalRightOffsetForLine):
58451
584522011-03-22  Justin Schuh  <jschuh@chromium.org>
58453
58454        Reviewed by Dirk Schulze.
58455
58456        SVG displacement map should validate channel selections
58457        https://bugs.webkit.org/show_bug.cgi?id=56794
58458
58459        Test: svg/filters/feDisplacementMap-crash-test.xhtml
58460
58461        * svg/SVGFEDisplacementMapElement.cpp:
58462        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
58463
584642011-03-22  Huahui Wu  <mediadependent@gmail.com>
58465
58466        Reviewed by Steve Block.
58467
58468        [Android] Update PlatformTouchEvent for android so it can pass IDs and states around.
58469        https://bugs.webkit.org/show_bug.cgi?id=56763
58470
58471        No new tests as no new functionality is exposed.
58472
58473        * platform/PlatformTouchEvent.h:
58474        * platform/android/PlatformTouchEventAndroid.cpp:
58475        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
58476
584772011-03-22  David Hyatt  <hyatt@apple.com>
58478
58479        Reviewed by Simon Fraser.
58480
58481        Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example,
58482        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
58483        fit to the font size. You can ignore replaced elements, etc.
58484
58485        Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox
58486        so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box
58487        height based off the block's line-box-contain value.
58488        
58489        GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct.
58490        
58491        RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box.
58492        
58493        Added new tests in fast/block/lineboxcontain
58494
58495        * GNUmakefile.am:
58496        * WebCore.gypi:
58497        * WebCore.pro:
58498        * WebCore.vcproj/WebCore.vcproj:
58499        * WebCore.xcodeproj/project.pbxproj:
58500        * css/CSSComputedStyleDeclaration.cpp:
58501        (WebCore::createLineBoxContainValue):
58502        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58503        * css/CSSLineBoxContainValue.cpp: Added.
58504        (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
58505        (WebCore::CSSLineBoxContainValue::cssText):
58506        * css/CSSLineBoxContainValue.h: Added.
58507        (WebCore::CSSLineBoxContainValue::create):
58508        (WebCore::CSSLineBoxContainValue::value):
58509        (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue):
58510        * css/CSSParser.cpp:
58511        (WebCore::CSSParser::parseValue):
58512        (WebCore::CSSParser::parseLineBoxContain):
58513        * css/CSSParser.h:
58514        * css/CSSPropertyNames.in:
58515        * css/CSSStyleSelector.cpp:
58516        (WebCore::CSSStyleSelector::applyProperty):
58517        * css/CSSValue.h:
58518        (WebCore::CSSValue::isCSSLineBoxContainValue):
58519        * css/CSSValueKeywords.in:
58520        * platform/graphics/Font.cpp:
58521        (WebCore::Font::width):
58522        * platform/graphics/Font.h:
58523        (WebCore::GlyphOverflow::GlyphOverflow):
58524        * platform/graphics/FontFastPath.cpp:
58525        (WebCore::Font::floatWidthForSimpleText):
58526        * platform/graphics/mac/FontComplexTextMac.cpp:
58527        (WebCore::Font::floatWidthForComplexText):
58528        * platform/graphics/win/FontWin.cpp:
58529        (WebCore::Font::floatWidthForComplexText):
58530        * rendering/InlineFlowBox.cpp:
58531        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
58532        * rendering/InlineFlowBox.h:
58533        * rendering/RenderBlock.h:
58534        * rendering/RenderBlockLineLayout.cpp:
58535        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
58536        (WebCore::RenderBlock::layoutInlineChildren):
58537        * rendering/RenderInline.cpp:
58538        (WebCore::RenderInline::marginLeft):
58539        (WebCore::RenderInline::marginRight):
58540        (WebCore::RenderInline::marginTop):
58541        (WebCore::RenderInline::marginBottom):
58542        (WebCore::RenderInline::marginBefore):
58543        (WebCore::RenderInline::marginAfter):
58544        * rendering/RenderInline.h:
58545        * rendering/RenderText.cpp:
58546        (WebCore::RenderText::widthFromCache):
58547        (WebCore::RenderText::width):
58548        * rendering/RootInlineBox.cpp:
58549        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
58550        (WebCore::setAscentAndDescent):
58551        (WebCore::RootInlineBox::ascentAndDescentForBox):
58552        (WebCore::RootInlineBox::verticalPositionForBox):
58553        (WebCore::RootInlineBox::includeLeadingForBox):
58554        (WebCore::RootInlineBox::includeFontForBox):
58555        (WebCore::RootInlineBox::includeGlyphsForBox):
58556        (WebCore::RootInlineBox::includeMarginForBox):
58557        (WebCore::RootInlineBox::fitsToGlyphs):
58558        (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading):
58559        * rendering/RootInlineBox.h:
58560        * rendering/style/RenderStyle.cpp:
58561        (WebCore::RenderStyle::diff):
58562        * rendering/style/RenderStyle.h:
58563        (WebCore::InheritedFlags::lineBoxContain):
58564        (WebCore::InheritedFlags::setLineBoxContain):
58565        (WebCore::InheritedFlags::initialLineBoxContain):
58566        * rendering/style/StyleRareInheritedData.cpp:
58567        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
58568        (WebCore::StyleRareInheritedData::operator==):
58569        * rendering/style/StyleRareInheritedData.h:
58570
585712011-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
58572
58573        Unreviewed, rolling out r81653.
58574        http://trac.webkit.org/changeset/81653
58575        https://bugs.webkit.org/show_bug.cgi?id=56839
58576
58577        Breaks fast/text/drawBidiText.html on Chromium. (Requested by
58578        pfeldman on #webkit).
58579
58580        * rendering/RenderListBox.cpp:
58581        (WebCore::RenderListBox::paintItemForeground):
58582
585832011-03-22  Pavel Feldman  <pfeldman@chromium.org>
58584
58585        Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium.
58586
58587        * inspector/Inspector.json:
58588        * inspector/InspectorDatabaseResource.cpp:
58589        (WebCore::InspectorDatabaseResource::bind):
58590        * inspector/front-end/Database.js:
58591        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
58592
585932011-03-21  Pavel Podivilov  <podivilov@chromium.org>
58594
58595        Reviewed by Yury Semikhatsky.
58596
58597        Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened.
58598        https://bugs.webkit.org/show_bug.cgi?id=56747
58599
58600        Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts).
58601
58602        * inspector/Inspector.json:
58603        * inspector/InspectorAgent.cpp:
58604        (WebCore::InspectorAgent::showProfilesPanel):
58605        * inspector/InspectorAgent.h:
58606        * inspector/InspectorController.cpp:
58607        (WebCore::InspectorController::InspectorController):
58608        (WebCore::InspectorController::connectFrontend):
58609        (WebCore::InspectorController::showAndEnableDebugger):
58610        * inspector/InspectorController.h:
58611        * inspector/InspectorDebuggerAgent.cpp:
58612        (WebCore::InspectorDebuggerAgent::setFrontend):
58613        (WebCore::InspectorDebuggerAgent::clearFrontend):
58614        * inspector/InspectorDebuggerAgent.h:
58615
586162011-03-22  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
58617
58618        Reviewed by Benjamin Poulain.
58619
58620        [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4
58621        https://bugs.webkit.org/show_bug.cgi?id=56824
58622
58623        On desktop OpenGL substitute in renderbufferStorage:
58624        - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL
58625        - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16
58626        - GL_RGBA for GL_RGBA4 and GL_RGBA565
58627        - GL_RGB for RGB5_A1.
58628
58629        Tests: fast/canvas/webgl/uninitialized-test.html
58630
58631        * platform/graphics/qt/GraphicsContext3DQt.cpp:
58632        (WebCore::GraphicsContext3D::renderbufferStorage):
58633
586342011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
58635
58636        Reviewed by Eric Seidel.
58637
58638        Move volume slider positioning logic to a custom renderer.
58639        https://bugs.webkit.org/show_bug.cgi?id=56498
58640
58641        No functional change, covered by existing tests.
58642
58643        * html/shadow/MediaControls.cpp:
58644        (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic.
58645        * rendering/MediaControlElements.cpp:
58646        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added.
58647        (WebCore::RenderMediaVolumeSliderContainer::layout): Added.
58648        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates.
58649        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added.
58650        (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates.
58651        * rendering/MediaControlElements.h: Changed corresponding decls.
58652
586532011-03-22  Andrew Wason  <rectalogic@rectalogic.com>
58654
58655        Reviewed by Benjamin Poulain.
58656
58657        [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent
58658        https://bugs.webkit.org/show_bug.cgi?id=54138
58659
58660        * platform/graphics/qt/GraphicsContext3DQt.cpp:
58661        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
58662         Check if we actually have a QWebPageClient before dereferencing it.
58663
586642011-03-22  Pavel Feldman  <pfeldman@chromium.org>
58665
58666        Reviewed by Yury Semikhatsky.
58667
58668        Web Inspector: document DOM domain types and protocol methods.
58669        https://bugs.webkit.org/show_bug.cgi?id=56807
58670
58671        * inspector/InjectedScript.cpp:
58672        (WebCore::InjectedScript::wrapNode):
58673        * inspector/InjectedScript.h:
58674        * inspector/Inspector.json:
58675        * inspector/InspectorBrowserDebuggerAgent.cpp:
58676        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
58677        * inspector/InspectorDOMAgent.cpp:
58678        (WebCore::InspectorDOMAgent::removeNode):
58679        (WebCore::InspectorDOMAgent::setNodeValue):
58680        * inspector/InspectorDOMAgent.h:
58681        * inspector/front-end/ElementsTreeOutline.js:
58682        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
58683        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
58684        * inspector/front-end/EventListenersSidebarPane.js:
58685        * inspector/front-end/PropertiesSidebarPane.js:
58686        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
58687        * inspector/front-end/RemoteObject.js:
58688        (WebInspector.RemoteObject.resolveNode):
58689
586902011-03-22  Adam Barth  <abarth@webkit.org>
58691
58692        Reviewed by Eric Seidel.
58693
58694        Production configuration in GYP isn&apos;t set up correctly
58695        https://bugs.webkit.org/show_bug.cgi?id=56786
58696
58697        Update WebCore.gyp with information mined from WebCore.xcodeproj.
58698
58699        * WebCore.gypi:
58700        * gyp/WebCore.gyp:
58701
587022011-03-22  Ofri Wolfus  <ofri@google.com>
58703
58704        Reviewed by Eric Seidel.
58705
58706        RTL: Select elements with a size attribute are always left aligned.
58707        https://bugs.webkit.org/show_bug.cgi?id=50928
58708
58709        Added support for alignment in RenderListBox.
58710
58711        Test: fast/forms/listbox-bidi-align.html
58712
58713        * rendering/RenderListBox.cpp:
58714        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
58715
587162011-03-22  Ilya Sherman  <isherman@chromium.org>
58717
58718        Reviewed by Kent Tamura.
58719
58720        Clear autofilled flag when reseting a form
58721        In service of https://code.google.com/p/chromium/issues/detail?id=70037
58722        https://bugs.webkit.org/show_bug.cgi?id=56802
58723
58724        Test: fast/forms/reset-autofilled.html
58725
58726        * html/HTMLInputElement.cpp:
58727        (WebCore::HTMLInputElement::reset): Clear the autofilled flag.
58728
587292011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
58730
58731        Reviewed by Yury Semikhatsky.
58732
58733        Web Inspector: protocol cleanup. DatabaseAgent.
58734        https://bugs.webkit.org/show_bug.cgi?id=56815
58735
58736        see protocol metabug:
58737        - All events should use notification wording, not command wording:
58738
58739        addDatabase was renamed to DatabaseOpened.
58740
58741        Test: inspector/protocol/database-agent.html
58742
58743        * inspector/Inspector.json:
58744        * inspector/InspectorDatabaseResource.cpp:
58745        (WebCore::InspectorDatabaseResource::bind):
58746        * inspector/front-end/Database.js:
58747        (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened):
58748
587492011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
58750
58751        Reviewed by Yury Semikhatsky.
58752
58753        Web Inspector: protocol cleanup. ConsoleAgent.
58754        https://bugs.webkit.org/show_bug.cgi?id=56806
58755
58756        renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount);
58757        new method: disable()
58758        deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command.
58759
58760        * inspector/ConsoleMessage.cpp:
58761        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
58762        * inspector/Inspector.json:
58763        * inspector/InspectorConsoleAgent.cpp:
58764        (WebCore::InspectorConsoleAgent::enable):
58765        (WebCore::InspectorConsoleAgent::disable):
58766        * inspector/InspectorConsoleAgent.h:
58767        * inspector/front-end/ConsoleView.js:
58768        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated):
58769        (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount):
58770        * inspector/front-end/inspector.js:
58771
587722011-03-22  Kent Tamura  <tkent@chromium.org>
58773
58774        Reviewed by Eric Seidel.
58775
58776        REGRESSION(r80096): Number type input unexpectedly rounds fractional values
58777        https://bugs.webkit.org/show_bug.cgi?id=56367
58778
58779        Because the default value of the maximum fractional digits of NSNumberFormatter
58780        and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a
58781        localized representation. This bug affects only in Mac and Chromium.
58782
58783        To fix this bug,
58784         - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and
58785         - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces()
58786          instead of parseToDoubleForNumberType().
58787
58788        No automated tests because the behavior is locale-dependent. This change
58789        updates a manual test.
58790
58791        * html/NumberInputType.cpp:
58792        (WebCore::NumberInputType::visibleValue):
58793          Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional
58794          part length to formatLocalizedNumber().
58795        * manual-tests/input-number-localization.html:
58796          Update the test to cover this change.
58797        * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber().
58798        * platform/text/LocalizedNumberICU.cpp:
58799        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
58800        * platform/text/LocalizedNumberNone.cpp:
58801        (WebCore::formatLocalizedNumber):
58802        * platform/text/mac/LocalizedNumberMac.mm:
58803        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
58804
588052011-03-21  Abhishek Arya  <inferno@chromium.org>
58806
58807        Reviewed by Eric Seidel.
58808
58809        Anonymous blocks need isRenderBlock cast check. Also, need
58810        to allow display BOX for flexible boxes.
58811        https://bugs.webkit.org/show_bug.cgi?id=56709
58812
58813        Test: accessibility/anchor-linked-anonymous-block-crash.html
58814
58815        * rendering/RenderBlock.cpp:
58816        (WebCore::canMergeContiguousAnonymousBlocks): remove specific
58817        fix in r81088 which is no longer needed.
58818        * rendering/RenderObject.h:
58819        (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast
58820        check.
58821
588222011-03-21  Abhishek Arya  <inferno@chromium.org>
58823
58824        Reviewed by Eric Seidel.
58825
58826        Revert small change made in r78846 of replacing move with positionLineBox
58827        in the adjusting position function for inline box.
58828        https://bugs.webkit.org/show_bug.cgi?id=56300
58829
58830        The change in r78846 caused positioning line boxes during the step of adjusting
58831        position for inline box, thereby causing line boxes to be nuked. This happens as
58832        part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine.
58833        Later on, we do the positioning of line boxes again later in that function. This
58834        causes use of removed inline box leading to crash. Also, it is unnecessary to do
58835        this twice.
58836
58837        Tests: fast/inline/inline-box-adjust-position-crash.html
58838               fast/inline/inline-box-adjust-position-crash2.html
58839
58840        * rendering/InlineBox.cpp:
58841        (WebCore::InlineBox::adjustPosition):
58842
588432011-03-21  Adam Klein  <adamk@chromium.org>
58844
58845        Reviewed by David Levin.
58846
58847        [fileapi] Add URI resolution support to WorkerContext
58848        https://bugs.webkit.org/show_bug.cgi?id=55644
58849
58850        Tests: http/tests/filesystem/workers/resolve-url-sync.html
58851               http/tests/filesystem/workers/resolve-url.html
58852
58853        * fileapi/LocalFileSystem.cpp:
58854        (WebCore::LocalFileSystem::readFileSystem):
58855        Add support for workers.
58856        * fileapi/LocalFileSystem.h:
58857        * workers/WorkerContext.cpp:
58858        (WebCore::WorkerContext::resolveLocalFileSystemURL):
58859        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
58860        * workers/WorkerContext.h:
58861        * workers/WorkerContext.idl:
58862
588632011-03-21  David Levin  <levin@chromium.org>
58864
58865        Reviewed by Adam Barth.
58866
58867        XHR in Workers doesn't set the referrer correctly.
58868        https://bugs.webkit.org/show_bug.cgi?id=24683
58869
58870        Tests: http/tests/xmlhttprequest/workers/referer.html
58871               http/tests/xmlhttprequest/workers/shared-worker-referer.html
58872
58873        * loader/DocumentThreadableLoader.cpp:
58874        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer.
58875        (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer.
58876        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
58877        (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
58878        * loader/DocumentThreadableLoader.h: Ditto.
58879        * loader/ResourceLoadScheduler.cpp:
58880        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto.
58881        * loader/ResourceLoadScheduler.h: Ditto.
58882        * loader/SubresourceLoader.cpp:
58883        (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in.
58884        * loader/WorkerThreadableLoader.cpp:
58885        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer.
58886        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer.
58887        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer.
58888        * loader/WorkerThreadableLoader.h:
58889
588902011-03-21  Nate Chapin  <japhet@chromium.org>
58891
58892        Reviewed by Brady Eidson.
58893
58894        Do not check the DocumentLoader's request cache policy
58895        in determining whether we should force revalidation of a cached
58896        subresource. If the main resource received headers telling it not
58897        to cache, that policy will be propagated to subresources.
58898
58899        The previous behavior is left in behind a flag in Settings, since
58900        QuickLook depends on it.
58901
58902        https://bugs.webkit.org/show_bug.cgi?id=38690
58903
58904        Tests: http/tests/cache/post-redirect-get.php
58905               http/tests/cache/post-with-cached-subresources.php
58906
58907        * loader/FrameLoader.cpp:
58908        (WebCore::FrameLoader::subresourceCachePolicy):
58909        (WebCore::FrameLoader::loadPostRequest):
58910        * page/Settings.cpp:
58911        (WebCore::Settings::Settings):
58912        * page/Settings.h:
58913        (WebCore::Settings::setUseQuickLookResourceCachingQuirks):
58914        (WebCore::Settings::useQuickLookResourceCachingQuirks):
58915
589162011-03-21  Rik Cabanier  <cabanier@adobe.com>
58917
58918        Reviewed by James Robinson.
58919
58920        bug 56052: percentages are incorrectly rounded in WebKit
58921        https://bugs.webkit.org/show_bug.cgi?id=56052
58922
58923        test: fast/css/percentage-non-integer.html
58924
58925        * css/CSSStyleSelector.cpp:
58926        (WebCore::CSSStyleSelector::applyProperty):
58927        * page/PrintContext.cpp:
58928        (WebCore::PrintContext::pageProperty):
58929        * platform/Length.h:
58930        (WebCore::Length::Length):
58931        (WebCore::Length::operator*=):
58932        (WebCore::Length::value):
58933        (WebCore::Length::percent):
58934        (WebCore::Length::setValue):
58935        (WebCore::Length::calcValue):
58936        (WebCore::Length::calcMinValue):
58937        (WebCore::Length::isUndefined):
58938        (WebCore::Length::isZero):
58939        (WebCore::Length::isPositive):
58940        (WebCore::Length::isNegative):
58941        * rendering/AutoTableLayout.cpp:
58942        (WebCore::AutoTableLayout::recalcColumn):
58943        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
58944        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
58945        (WebCore::AutoTableLayout::layout):
58946        * rendering/FixedTableLayout.cpp:
58947        (WebCore::FixedTableLayout::calcWidthArray):
58948        (WebCore::FixedTableLayout::layout):
58949        * rendering/RenderTableSection.cpp:
58950        (WebCore::RenderTableSection::addCell):
58951        (WebCore::RenderTableSection::layoutRows):
58952        * rendering/style/BorderData.h:
58953        (WebCore::BorderData::hasBorderRadius):
58954
589552011-03-21  Adam Barth  <abarth@webkit.org>
58956
58957        Reviewed by Eric Seidel.
58958
58959        Add WebCoreExportFileGenerator to WebCore GYP build
58960        https://bugs.webkit.org/show_bug.cgi?id=56778
58961
58962        This target mirrors the eponymous target from WebCore.xcodeproj.
58963
58964        * WebCore.gypi:
58965        * gyp/WebCore.gyp:
58966        * generate-webcore-export-file-generator.sh: Added.
58967
589682011-03-21  Adam Barth  <abarth@webkit.org>
58969
58970        Reviewed by Dimitri Glazkov.
58971
58972        WebCore GYP build shouldn&apos;t crash on startup
58973        https://bugs.webkit.org/show_bug.cgi?id=56776
58974
58975        Debug builds shouldn't define NDEBUG.  This same logic exists in the
58976        project.pbxproj file.
58977
58978        * gyp/WebCore.gyp:
58979
589802011-03-21  Daniel Cheng  <dcheng@chromium.org>
58981
58982        Reviewed by Tony Chang.
58983
58984        [chromium] Implement glue between DataTransferItems and the pasteboard.
58985        https://bugs.webkit.org/show_bug.cgi?id=56330
58986
58987        Support retrieving clipboard data in a paste through DataTransferItems.
58988
58989        Test: editing/pasteboard/data-transfer-items.html
58990
58991        * platform/chromium/ClipboardChromium.cpp:
58992        (WebCore::ClipboardChromium::items):
58993        * platform/chromium/DataTransferItemChromium.cpp:
58994        (WebCore::DataTransferItemChromium::createFromPasteboard):
58995        (WebCore::DataTransferItemChromium::create):
58996        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
58997        (WebCore::DataTransferItemChromium::getAsString):
58998        * platform/chromium/DataTransferItemChromium.h:
58999        * platform/chromium/DataTransferItemsChromium.cpp:
59000        (WebCore::DataTransferItemsChromium::addPasteboardItem):
59001        * platform/chromium/DataTransferItemsChromium.h:
59002
590032011-03-21  Chris Fleizach  <cfleizach@apple.com>
59004
59005        Reviewed by Darin Adler.
59006
59007        AX: showContextMenu not working in WK2
59008        https://bugs.webkit.org/show_bug.cgi?id=56734
59009
59010        WebKit2 is not able to directly open a context menu because the UI is in the other process.
59011        Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1
59012        code.
59013        
59014        * accessibility/mac/AccessibilityObjectWrapper.mm:
59015        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
59016
590172011-03-21  Robert Kroeger  <rjkroege@chromium.org>
59018
59019        Reviewed by Antonio Gomes.
59020
59021        Add Support to WebCore to optionally call a platform-specific gesture recognizer
59022        https://bugs.webkit.org/show_bug.cgi?id=49345
59023
59024        Added an ability for the EventHandler to invoke an optional platform
59025        specific gesture recognizer.
59026
59027        No tests added because the change should be functionally invisible.
59028
59029        * WebCore.gypi:
59030        * page/EventHandler.cpp:
59031        (WebCore::EventHandler::EventHandler):
59032        (WebCore::EventHandler::handleTouchEvent):
59033        * page/EventHandler.h:
59034        * platform/PlatformGestureRecognizer.cpp: Added.
59035        (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
59036        (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
59037        (WebCore::PlatformGestureRecognizer::create):
59038        * platform/PlatformGestureRecognizer.h: Added.
59039
590402011-03-21  Dean Jackson  <dino@apple.com>
59041
59042        Reviewed by Chris Marrin and Simon Fraser.
59043
59044        https://bugs.webkit.org/show_bug.cgi?id=56325
59045        ASSERTION FAILED: paused() in AnimationBase::updateStateMachine()
59046
59047        AnimationBase had a custom linked-list/self-pointer for keeping
59048        track of animations that needed to be notified of style updates
59049        and start progress. This caused problems when AnimationBase was
59050        destroyed, since the pointer wasn't managed in any way. I replaced
59051        these pointers with HashSets and moved the code that removes animations
59052        from the sets into AnimationControllerPrivate, where it belongs.
59053        CompositeAnimation is also more careful to tell AnimationControllerPrivate
59054        when it no longer needs to keep track of waiting animations.
59055
59056        This should stop the style updates being called on non-active animations
59057        (which was the cause of the state machine error here) and should also
59058        stop a few of the related flakey test failures and occasional crashes.
59059
59060        Test: animations/body-removal-crash.html
59061
59062        * page/animation/AnimationBase.cpp:
59063        (WebCore::AnimationBase::AnimationBase):
59064        (WebCore::AnimationBase::updateStateMachine):
59065        * page/animation/AnimationBase.h:
59066        (WebCore::AnimationBase::~AnimationBase):
59067        - Remove the linked-list
59068        * page/animation/AnimationController.cpp:
59069        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
59070        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle):
59071        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle):
59072        (WebCore::AnimationControllerPrivate::styleAvailable):
59073        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
59074        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
59075        (WebCore::AnimationControllerPrivate::startTimeResponse):
59076        (WebCore::AnimationControllerPrivate::animationWillBeRemoved):
59077        - New method to remove animations from the waiting lists
59078        * page/animation/AnimationControllerPrivate.h:
59079        - use a HashSet rather than an AnimationBase* pointer.
59080        * page/animation/CompositeAnimation.cpp:
59081        (WebCore::CompositeAnimation::~CompositeAnimation):
59082        (WebCore::CompositeAnimation::clearRenderer):
59083        (WebCore::CompositeAnimation::updateTransitions):
59084        (WebCore::CompositeAnimation::updateKeyframeAnimations):
59085        - remove the animations and transitions from the lists when we know
59086          they are no longer active (rather than waiting for the AnimationBase
59087          to do it when destructing)
59088
590892011-03-21  Justin Schuh  <jschuh@chromium.org>
59090
59091        Reviewed by James Robinson.
59092
59093        Stop inserting when the parent is removed
59094        https://bugs.webkit.org/show_bug.cgi?id=56690
59095
59096        Tests: fast/dom/insertedIntoDocument-child.html
59097               fast/dom/insertedIntoDocument-iframe.html
59098               fast/dom/insertedIntoDocument-sibling.html
59099
59100        * dom/ContainerNode.cpp:
59101        (WebCore::ContainerNode::insertedIntoDocument):
59102        * html/HTMLEmbedElement.cpp:
59103        (WebCore::HTMLEmbedElement::insertedIntoDocument):
59104        * html/HTMLObjectElement.cpp:
59105        (WebCore::HTMLObjectElement::insertedIntoDocument):
59106
591072011-03-07  David Levin  <levin@chromium.org>
59108
59109        Reviewed by Adam Barth.
59110
59111        SubresourceLoader should expose a way to set the outgoing referer/origin
59112        https://bugs.webkit.org/show_bug.cgi?id=55903
59113
59114        No new tests as no new functionality is exposed.
59115
59116        * loader/SubresourceLoader.cpp:
59117        (WebCore::SubresourceLoader::create):
59118        * loader/SubresourceLoader.h:
59119
591202011-03-21  Daniel Sievers  <sievers@google.com>
59121
59122        Reviewed by Simon Fraser.
59123
59124        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
59125        https://bugs.webkit.org/show_bug.cgi?id=56139
59126
59127        * WebCore.exp.in:
59128        * WebCore.order:
59129        * page/Frame.cpp:
59130        (WebCore::Frame::layerTreeAsText):
59131        * page/Frame.h:
59132        * rendering/RenderLayerCompositor.cpp:
59133        (WebCore::RenderLayerCompositor::layerTreeAsText):
59134        * rendering/RenderLayerCompositor.h:
59135
591362011-03-21  Chang Shu  <cshu@webkit.org>
59137
59138        Reviewed by Alexey Proskuryakov.
59139
59140        REGRESSION (r79953): Can't type in MS Outlook 2011
59141        https://bugs.webkit.org/show_bug.cgi?id=56665
59142
59143        r79953 removed the WebView level editablity which is persistent no matter whether
59144        underlying document itself is changed and editability gets lost. The resolution is to
59145        set this WebView editable value to WebCore. This avoids the callback from WebCore to
59146        WebKit which was the main goal in r79953 to improve performance.
59147
59148        * WebCore.exp.in:
59149        * accessibility/AccessibilityRenderObject.cpp:
59150        (WebCore::AccessibilityRenderObject::isReadOnly):
59151        * dom/Node.cpp:
59152        (WebCore::Node::isContentEditable):
59153        * editing/SelectionController.cpp:
59154        (WebCore::SelectionController::setSelectionFromNone):
59155        * page/DragController.cpp:
59156        (WebCore::DragController::operationForLoad):
59157        * page/Page.cpp:
59158        (WebCore::Page::Page):
59159        * page/Page.h:
59160        (WebCore::Page::setEditable):
59161        (WebCore::Page::isEditable):
59162
591632011-03-21  Eric Uhrhane <ericu@chromium.org>
59164
59165        Reviewed by David Levin.
59166
59167        [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry*
59168        https://bugs.webkit.org/show_bug.cgi?id=56704
59169
59170        * fileapi/DOMFileSystemSync.cpp
59171        (DOMFileSystemSync::createFile)
59172        (class GetPathHelper): Added, to look up path before creating File.
59173        * fileapi/DOMFileSystem.cpp
59174        (DOMFileSystem::createFile)
59175        (GetPathCallback): Added, to look up path before creating File.
59176        * platform/FileMetadata.h
59177        (struct FileMetadata): Added new field platformPath.
59178
591792011-03-21  Dominic Cooney  <dominicc@google.com>
59180
59181        Reviewed by Jeremy Orlow.
59182
59183        Establishes a V8 context before executing MediaQueryList callbacks.
59184        https://bugs.webkit.org/show_bug.cgi?id=56166
59185
59186        MediaQueryList listener callbacks didn't establish a V8 context
59187        before running script, causing crashes on C++-only
59188        callstacks (such as user resizing, printing, etc.) I believe this
59189        could also be contrived to execute media query list listener
59190        callbacks across domain.
59191
59192        Test: fast/media/media-query-list-callback.html
59193
59194        * css/MediaQueryListListener.cpp:
59195        (WebCore::MediaQueryListListener::queryChanged):
59196
591972011-03-21  Andreas Kling  <kling@webkit.org>
59198
59199        Reviewed by Tor Arne Vestbø.
59200
59201        [Qt] Add QNetworkReplyHandler::wasAborted()
59202
59203        Instead of checking if the ResourceHandle is null everywhere,
59204        use a wasAborted() method to make the code readable.
59205
59206        * platform/network/qt/QNetworkReplyHandler.h:
59207        (WebCore::QNetworkReplyHandler::wasAborted):
59208        * platform/network/qt/QNetworkReplyHandler.cpp:
59209        (WebCore::QNetworkReplyHandler::finish):
59210        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59211        (WebCore::QNetworkReplyHandler::redirect):
59212        (WebCore::QNetworkReplyHandler::forwardData):
59213        (WebCore::QNetworkReplyHandler::uploadProgress):
59214
592152011-03-21  Christian Dywan  <christian@lanedo.com>
59216
59217        Reviewed by Martin Robinson.
59218
59219        WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf
59220        https://bugs.webkit.org/show_bug.cgi?id=56201
59221
59222        * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf
59223            if there is no image.
59224
592252011-03-21  Mario Sanchez Prada  <msanchez@igalia.com>
59226
59227        Reviewed by Martin Robinson.
59228
59229        [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes
59230        https://bugs.webkit.org/show_bug.cgi?id=56737
59231
59232        Only consider parent objects not ignoring accessibility.
59233
59234        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
59235        (webkitAccessibleHyperlinkGetStartIndex): Look for the parent
59236        object not ignoring accessibility for the current hyperlink.
59237        (webkitAccessibleHyperlinkGetEndIndex): Ditto.
59238
592392011-03-21  Andreas Kling  <kling@webkit.org>
59240
59241        Reviewed by Benjamin Poulain.
59242
59243        [Qt] Remove handling of QNetworkAccessManager::UnknownOperation
59244
59245        Now that Qt 4.7 is required we never have to fall back to UnknownOperation.
59246        Custom verb requests are using CustomOperation already, so this was dead code.
59247
59248        * platform/network/qt/QNetworkReplyHandler.cpp:
59249        (WebCore::QNetworkReplyHandler::start):
59250
592512011-03-21  Adam Roben  <aroben@apple.com>
59252
59253        Fix multiple-definition linker warnings on Windows
59254
59255        * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is
59256        already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the
59257        file.
59258
592592011-03-21  Andreas Kling  <kling@webkit.org>
59260
59261        Reviewed by Benjamin Poulain.
59262
59263        [Qt] Clean up QNetworkReplyHandler::release()
59264
59265        Since QNetworkReplyHandler no longer uses queued connections to
59266        the QNetworkReply, it's not necessary to mess with the event
59267        queue when releasing a reply.
59268
59269        * platform/network/qt/QNetworkReplyHandler.cpp:
59270        (WebCore::QNetworkReplyHandler::abort):
59271        (WebCore::QNetworkReplyHandler::release):
59272
592732011-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
59274
59275        Reviewed by Pavel Feldman.
59276
59277        Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data)
59278        https://bugs.webkit.org/show_bug.cgi?id=56691
59279
59280        Added transfer size support in inspector for compressed data.
59281
59282        Test: http/tests/inspector/network/network-size-chunked.html
59283
59284        * inspector/Inspector.idl:
59285        * inspector/InspectorInstrumentation.cpp:
59286        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
59287        * inspector/InspectorInstrumentation.h:
59288        (WebCore::InspectorInstrumentation::didReceiveContentLength):
59289        * inspector/InspectorResourceAgent.cpp:
59290        (WebCore::InspectorResourceAgent::didReceiveResponse):
59291        (WebCore::InspectorResourceAgent::didReceiveContentLength):
59292        * inspector/InspectorResourceAgent.h:
59293        * inspector/front-end/NetworkManager.js:
59294        (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
59295        * inspector/front-end/Resource.js:
59296        (WebInspector.Resource.prototype.get transferSize):
59297        (WebInspector.Resource.prototype.increaseTransferSize):
59298        * loader/ResourceLoadNotifier.cpp:
59299        (WebCore::ResourceLoadNotifier::didReceiveData):
59300        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
59301        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
59302        * loader/ResourceLoadNotifier.h:
59303        * loader/appcache/ApplicationCacheGroup.cpp:
59304        (WebCore::ApplicationCacheGroup::didReceiveData):
59305        * platform/network/mac/ResourceHandleMac.mm:
59306        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
59307        * platform/network/qt/QNetworkReplyHandler.cpp:
59308        (WebCore::QNetworkReplyHandler::forwardData):
59309        * platform/network/soup/ResourceHandleSoup.cpp:
59310        (WebCore::gotChunkCallback):
59311        * platform/network/win/ResourceHandleWin.cpp:
59312        (WebCore::ResourceHandle::onRequestComplete):
59313        (WebCore::ResourceHandle::fileLoadTimer):
59314
593152011-03-21  Leo Yang  <leo.yang@torchmobile.com.cn>
59316
59317        Reviewed by Dirk Schulze.
59318
59319        symbol display <use> at wrong scale
59320        https://bugs.webkit.org/show_bug.cgi?id=54538
59321
59322        SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement
59323        Quotation for referenced <symbol>: "If attributes 'width'
59324        and/or 'height' are provided on the 'use' element, then
59325        these attributes will be transferred to the generated 'svg'."
59326        Quotation for referenced <svg>: "If attributes 'width'
59327        and/or 'height' are provided on the 'use' element, then
59328        these values will override the corresponding attributes
59329        on the 'svg' in the generated tree."
59330        For above quotations, we should treat 'use' element as referencing
59331        'use' element, just like Firefox 3.6 and Opera 11, instead of
59332        corrensponding 'use' element.
59333
59334        Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg
59335               svg/custom/use-transfer-width-height-properties-to-svg1.svg
59336               svg/custom/use-transfer-width-height-properties-to-svg2.svg
59337               svg/custom/use-transfer-width-height-properties-to-symbol.svg
59338               svg/custom/use-transfer-width-height-properties-to-symbol1.svg
59339               svg/custom/use-transfer-width-height-properties-to-symbol2.svg
59340
59341        * svg/SVGElementInstance.cpp:
59342        (WebCore::SVGElementInstance::SVGElementInstance):
59343        * svg/SVGElementInstance.h:
59344        (WebCore::SVGElementInstance::create):
59345        (WebCore::SVGElementInstance::correspondingUseElement):
59346        (WebCore::SVGElementInstance::directUseElement):
59347        (WebCore::SVGElementInstance::clearUseElements):
59348        * svg/SVGUseElement.cpp:
59349        (WebCore::updateContainerSize):
59350        (WebCore::SVGUseElement::updateContainerSizes):
59351        (WebCore::dumpInstanceTree):
59352        (WebCore::SVGUseElement::detachInstance):
59353        (WebCore::SVGUseElement::buildInstanceTree):
59354
593552011-03-21  Jaehun Lim  <ljaehun.lim@samsung.com>
59356
59357        Reviewed by Pavel Feldman.
59358
59359        Fix build break when inspector is enabled.
59360        https://bugs.webkit.org/show_bug.cgi?id=56735
59361
59362        * loader/FrameLoader.cpp:
59363        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR).
59364
593652011-03-21  Philippe Normand  <pnormand@igalia.com>
59366
59367        Unreviewed, GTK distcheck build fix.
59368
59369        * GNUmakefile.am:
59370
593712011-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
59372
59373        Reviewed by Eric Seidel.
59374
59375        Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform
59376        ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4)
59377
59378        Test: fast/css/webkit-empty-transform-preserve3d-crash.html
59379
59380        * rendering/RenderBox.cpp:
59381        (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the
59382        rest of the code and check that the RenderBox has a layer to avoid
59383        crashing on the layer() call.
59384
593852011-03-21  Pavel Feldman  <pfeldman@chromium.org>
59386
59387        Reviewed by Yury Semikhatsky.
59388
59389        Web Inspector: move cookie processing and appcache from DOMAgent.js
59390        https://bugs.webkit.org/show_bug.cgi?id=56713
59391
59392        * inspector/front-end/ApplicationCacheItemsView.js:
59393        (WebInspector.ApplicationCacheDispatcher):
59394        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
59395        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
59396        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
59397        * inspector/front-end/CookieItemsView.js:
59398        (WebInspector.Cookies.getCookiesAsync):
59399        (WebInspector.Cookies.buildCookiesFromString):
59400        (WebInspector.Cookies.cookieMatchesResourceURL):
59401        (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
59402        * inspector/front-end/DOMAgent.js:
59403        (WebInspector.DOMNode.prototype.eventListeners):
59404        * inspector/front-end/EventListenersSidebarPane.js:
59405        (WebInspector.EventListenersSidebarPane.prototype.update):
59406
594072011-03-21  Pavel Feldman  <pfeldman@chromium.org>
59408
59409        Reviewed by Yury Semikhatsky.
59410
59411        Web Inspector: migrate Inspector.json to valid JSON types.
59412        https://bugs.webkit.org/show_bug.cgi?id=56651
59413
59414        This change migrates inspector from long to int as
59415        dom, storage, database and other id types.
59416
59417        * inspector/InjectedScriptHost.cpp:
59418        (WebCore::InjectedScriptHost::inspectedNode):
59419        (WebCore::InjectedScriptHost::databaseIdImpl):
59420        (WebCore::InjectedScriptHost::storageIdImpl):
59421        (WebCore::InjectedScriptHost::didCreateWorker):
59422        (WebCore::InjectedScriptHost::didDestroyWorker):
59423        * inspector/InjectedScriptHost.h:
59424        * inspector/InjectedScriptHost.idl:
59425        * inspector/Inspector.json:
59426        * inspector/InspectorAgent.cpp:
59427        (WebCore::InspectorAgent::highlightDOMNode):
59428        * inspector/InspectorAgent.h:
59429        * inspector/InspectorBrowserDebuggerAgent.cpp:
59430        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
59431        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
59432        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
59433        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
59434        * inspector/InspectorBrowserDebuggerAgent.h:
59435        * inspector/InspectorCSSAgent.cpp:
59436        (WebCore::InspectorCSSAgent::getStylesForNode):
59437        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
59438        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
59439        (WebCore::InspectorCSSAgent::setPropertyText):
59440        (WebCore::InspectorCSSAgent::toggleProperty):
59441        (WebCore::InspectorCSSAgent::addRule):
59442        (WebCore::InspectorCSSAgent::elementForId):
59443        * inspector/InspectorCSSAgent.h:
59444        * inspector/InspectorConsoleAgent.cpp:
59445        (WebCore::InspectorConsoleAgent::count):
59446        (WebCore::InspectorConsoleAgent::addInspectedNode):
59447        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
59448        * inspector/InspectorConsoleAgent.h:
59449        * inspector/InspectorDOMAgent.cpp:
59450        (WebCore::InspectorDOMAgent::bind):
59451        (WebCore::InspectorDOMAgent::unbind):
59452        (WebCore::InspectorDOMAgent::assertNode):
59453        (WebCore::InspectorDOMAgent::assertElement):
59454        (WebCore::InspectorDOMAgent::assertHTMLElement):
59455        (WebCore::InspectorDOMAgent::nodeToSelectOn):
59456        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
59457        (WebCore::InspectorDOMAgent::nodeForId):
59458        (WebCore::InspectorDOMAgent::getChildNodes):
59459        (WebCore::InspectorDOMAgent::querySelector):
59460        (WebCore::InspectorDOMAgent::querySelectorAll):
59461        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
59462        (WebCore::InspectorDOMAgent::boundNodeId):
59463        (WebCore::InspectorDOMAgent::setAttribute):
59464        (WebCore::InspectorDOMAgent::removeAttribute):
59465        (WebCore::InspectorDOMAgent::removeNode):
59466        (WebCore::InspectorDOMAgent::setNodeName):
59467        (WebCore::InspectorDOMAgent::getOuterHTML):
59468        (WebCore::InspectorDOMAgent::setOuterHTML):
59469        (WebCore::InspectorDOMAgent::setNodeValue):
59470        (WebCore::InspectorDOMAgent::getEventListenersForNode):
59471        (WebCore::InspectorDOMAgent::resolveNode):
59472        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
59473        (WebCore::InspectorDOMAgent::buildObjectForNode):
59474        (WebCore::InspectorDOMAgent::loadEventFired):
59475        (WebCore::InspectorDOMAgent::didInsertDOMNode):
59476        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
59477        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
59478        (WebCore::InspectorDOMAgent::characterDataModified):
59479        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
59480        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
59481        (WebCore::InspectorDOMAgent::copyNode):
59482        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
59483        * inspector/InspectorDOMAgent.h:
59484        * inspector/InspectorDOMStorageAgent.cpp:
59485        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
59486        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
59487        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
59488        (WebCore::InspectorDOMStorageAgent::storageId):
59489        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
59490        * inspector/InspectorDOMStorageAgent.h:
59491        * inspector/InspectorDOMStorageResource.cpp:
59492        * inspector/InspectorDOMStorageResource.h:
59493        (WebCore::InspectorDOMStorageResource::id):
59494        * inspector/InspectorDatabaseAgent.cpp:
59495        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
59496        (WebCore::InspectorDatabaseAgent::executeSQL):
59497        (WebCore::InspectorDatabaseAgent::databaseId):
59498        (WebCore::InspectorDatabaseAgent::databaseForId):
59499        * inspector/InspectorDatabaseAgent.h:
59500        * inspector/InspectorDatabaseResource.cpp:
59501        * inspector/InspectorDatabaseResource.h:
59502        (WebCore::InspectorDatabaseResource::id):
59503        * inspector/InspectorDebuggerAgent.cpp:
59504        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
59505        * inspector/InspectorDebuggerAgent.h:
59506        * inspector/InspectorProfilerAgent.cpp:
59507        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
59508        * inspector/InspectorProfilerAgent.h:
59509        * inspector/InspectorResourceAgent.cpp:
59510        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
59511        (WebCore::InspectorResourceAgent::willSendRequest):
59512        (WebCore::InspectorResourceAgent::markResourceAsCached):
59513        (WebCore::InspectorResourceAgent::didReceiveResponse):
59514        (WebCore::InspectorResourceAgent::didReceiveContentLength):
59515        (WebCore::InspectorResourceAgent::didFinishLoading):
59516        (WebCore::InspectorResourceAgent::didFailLoading):
59517        (WebCore::InspectorResourceAgent::setInitialContent):
59518        (WebCore::InspectorResourceAgent::didCreateWebSocket):
59519        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
59520        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
59521        (WebCore::InspectorResourceAgent::didCloseWebSocket):
59522        * inspector/generate-inspector-idl:
59523
595242011-03-21  Pavel Feldman  <pfeldman@chromium.org>
59525
59526        Reviewed by Yury Semikhatsky.
59527
59528        Web Inspector: make frameId in network agent of type string, not unsigned long.
59529        https://bugs.webkit.org/show_bug.cgi?id=56708
59530
59531        * inspector/Inspector.json:
59532        * inspector/InspectorAgent.cpp:
59533        (WebCore::InspectorAgent::highlightFrame):
59534        * inspector/InspectorAgent.h:
59535        * inspector/InspectorResourceAgent.cpp:
59536        (WebCore::pointerAsId):
59537        (WebCore::buildObjectForDocumentLoader):
59538        (WebCore::buildObjectForFrame):
59539        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
59540        (WebCore::InspectorResourceAgent::frameForId):
59541        (WebCore::InspectorResourceAgent::resourceContent):
59542        * inspector/InspectorResourceAgent.h:
59543        * inspector/front-end/ResourcesPanel.js:
59544        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
59545
595462011-03-21  Pavel Feldman  <pfeldman@chromium.org>
59547
59548        Reviewed by Yury Semikhatsky.
59549
59550        Web Inspector: expose object id as string, not JSON struct in the protocol.
59551        https://bugs.webkit.org/show_bug.cgi?id=56681
59552
59553        * bindings/js/JSInjectedScriptHostCustom.cpp:
59554        (WebCore::JSInjectedScriptHost::inspect):
59555        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
59556        (WebCore::V8InjectedScriptHost::inspectCallback):
59557        * inspector/InjectedScript.cpp:
59558        (WebCore::InjectedScript::evaluateOn):
59559        (WebCore::InjectedScript::evaluateOnCallFrame):
59560        (WebCore::InjectedScript::getProperties):
59561        (WebCore::InjectedScript::nodeForObjectId):
59562        (WebCore::InjectedScript::setPropertyValue):
59563        (WebCore::InjectedScript::releaseObject):
59564        * inspector/InjectedScript.h:
59565        * inspector/InjectedScriptHost.cpp:
59566        (WebCore::InjectedScriptHost::inspectImpl):
59567        * inspector/InjectedScriptHost.h:
59568        * inspector/InjectedScriptManager.cpp:
59569        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
59570        (WebCore::InjectedScriptManager::releaseObjectGroup):
59571        * inspector/InjectedScriptManager.h:
59572        * inspector/InjectedScriptSource.js:
59573        * inspector/Inspector.json:
59574        * inspector/InspectorConsoleAgent.cpp:
59575        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
59576        * inspector/InspectorDOMAgent.cpp:
59577        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
59578        * inspector/InspectorDOMAgent.h:
59579        * inspector/InspectorDebuggerAgent.cpp:
59580        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
59581        * inspector/InspectorDebuggerAgent.h:
59582        * inspector/InspectorRuntimeAgent.cpp:
59583        (WebCore::InspectorRuntimeAgent::evaluateOn):
59584        (WebCore::InspectorRuntimeAgent::getProperties):
59585        (WebCore::InspectorRuntimeAgent::setPropertyValue):
59586        (WebCore::InspectorRuntimeAgent::releaseObject):
59587        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
59588        * inspector/InspectorRuntimeAgent.h:
59589        * inspector/front-end/ConsoleView.js:
59590        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
59591        (WebInspector.ConsoleView.prototype.completions):
59592        * inspector/front-end/PropertiesSidebarPane.js:
59593        * inspector/front-end/ScriptsPanel.js:
59594        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
59595        * inspector/front-end/WatchExpressionsSidebarPane.js:
59596        (WebInspector.WatchExpressionsSection.prototype.update):
59597        * inspector/front-end/inspector.js:
59598        (WebInspector.inspect):
59599
596002011-03-20  Bill Budge  <bbudge@chromium.org>
59601
59602        Reviewed by Adam Barth.
59603
59604        Rename ThreadSafeShared to ThreadSafeRefCounted
59605        https://bugs.webkit.org/show_bug.cgi?id=56714
59606
59607        No new tests. Exposes no new functionality.
59608
59609        * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
59610        * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
59611        * bindings/v8/SerializedScriptValue.h:
59612        * dom/Document.cpp:
59613        * dom/default/PlatformMessagePortChannel.h:
59614        * fileapi/FileThread.h:
59615        * loader/ThreadableLoaderClientWrapper.h:
59616        (WebCore::ThreadableLoaderClientWrapper::create):
59617        (WebCore::ThreadableLoaderClientWrapper::clearClient):
59618        (WebCore::ThreadableLoaderClientWrapper::done):
59619        (WebCore::ThreadableLoaderClientWrapper::didSendData):
59620        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
59621        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
59622        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
59623        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
59624        (WebCore::ThreadableLoaderClientWrapper::didFail):
59625        (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
59626        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
59627        (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
59628        * page/SecurityOrigin.h:
59629        * platform/CrossThreadCopier.h:
59630        * platform/network/BlobData.h:
59631        * platform/network/cf/SocketStreamHandle.h:
59632        * storage/AbstractDatabase.h:
59633        * storage/DatabaseAuthorizer.h:
59634        * storage/DatabaseCallback.h:
59635        * storage/DatabaseThread.h:
59636        * storage/IDBCallbacks.h:
59637        * storage/IDBCursorBackendInterface.h:
59638        * storage/IDBDatabaseBackendInterface.h:
59639        * storage/IDBFactoryBackendInterface.h:
59640        * storage/IDBIndexBackendInterface.h:
59641        * storage/IDBKey.h:
59642        * storage/IDBKeyRange.h:
59643        * storage/IDBObjectStoreBackendInterface.h:
59644        * storage/IDBRequest.h:
59645        * storage/IDBTransactionBackendInterface.h:
59646        * storage/SQLError.h:
59647        * storage/SQLResultSet.h:
59648        * storage/SQLStatement.h:
59649        * storage/SQLStatementCallback.h:
59650        * storage/SQLStatementErrorCallback.h:
59651        * storage/SQLTransaction.h:
59652        * storage/SQLTransactionCallback.h:
59653        * storage/SQLTransactionErrorCallback.h:
59654        * websockets/ThreadableWebSocketChannelClientWrapper.h:
59655        * workers/DefaultSharedWorkerRepository.cpp:
59656
596572011-03-20  Andreas Kling  <kling@webkit.org>
59658
59659        Reviewed by Kenneth Rohde Christiansen.
59660
59661        [Qt] Clean up redirection logic in QNetworkReplyHandler
59662        https://bugs.webkit.org/show_bug.cgi?id=56717
59663
59664        * platform/network/qt/QNetworkReplyHandler.cpp:
59665        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59666        Use resetState() when constructing QNRH as well.
59667
59668        (WebCore::QNetworkReplyHandler::resetState):
59669        Delete (deferred) the m_reply if one exists (only when redirecting.)
59670
59671        (WebCore::QNetworkReplyHandler::finish):
59672        Return early when redirecting.
59673
59674        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59675        (WebCore::QNetworkReplyHandler::redirect):
59676        Move the redirection logic from sendResponseIfNeeded() into a
59677        separate redirect() method.
59678
596792011-03-19  Andreas Kling  <kling@webkit.org>
59680
59681        Reviewed by Benjamin Poulain.
59682
59683        [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError()
59684
59685        The function doesn't ignore anything, thus it shouldn't have an imperative name.
59686
59687        * platform/network/qt/QNetworkReplyHandler.cpp:
59688        (WebCore::shouldIgnoreHttpError):
59689        (WebCore::QNetworkReplyHandler::finish):
59690        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59691
596922011-03-19  Andreas Kling  <kling@webkit.org>
59693
59694        Reviewed by Benjamin Poulain.
59695
59696        [Qt] Kill layer violation FIXME in ResourceHandleQt.
59697
59698        We were including qwebframe_p.h from WebKit/qt for no reason.
59699
59700        * platform/network/qt/ResourceHandleQt.cpp:
59701
597022011-03-19  Andreas Kling  <kling@webkit.org>
59703
59704        Reviewed by Benjamin Poulain.
59705
59706        [Qt] Refactor handling of deferred loads
59707        https://bugs.webkit.org/show_bug.cgi?id=56715
59708
59709        Split QNetworkReplyHandler's "load mode" into two parameters
59710        instead of trying to fit the deferral mechanism into it.
59711
59712        Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.)
59713
59714        * platform/network/qt/QNetworkReplyHandler.cpp:
59715        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59716        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
59717        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
59718        (WebCore::QNetworkReplyHandler::finish):
59719        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59720        (WebCore::QNetworkReplyHandler::forwardData):
59721        (WebCore::QNetworkReplyHandler::start):
59722        (WebCore::QNetworkReplyHandler::resetState):
59723        * platform/network/qt/QNetworkReplyHandler.h:
59724        * platform/network/qt/ResourceHandleQt.cpp:
59725        (WebCore::ResourceHandle::start):
59726        (WebCore::ResourceHandle::loadResourceSynchronously):
59727        (WebCore::ResourceHandle::platformSetDefersLoading):
59728
597292011-03-19  Anton D'Auria  <adauria@apple.com>
59730
59731        Reviewed by Alexey Proskuryakov.
59732
59733        ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
59734        https://bugs.webkit.org/show_bug.cgi?id=56415
59735
59736        To delete all Application Cache for an origin, we must obsolete all
59737        in-memory cache groups for that origin. If a cache group isn't in memory,
59738        then it must be deleted from disk. The previous implementation correctly
59739        removed on-disk cache groups, but did not mark in-memory cache groups as obsolete.
59740        This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed()
59741        when the DocumentLoader was destroyed.
59742
59743        Test: http/tests/appcache/origin-delete.html
59744
59745        * WebCore.exp.in:
59746        * WebCore.xcodeproj/project.pbxproj:
59747        * loader/appcache/ApplicationCache.cpp:
59748        (WebCore::ApplicationCache::clearStorageID):
59749        (WebCore::ApplicationCache::deleteCacheForOrigin):
59750        * loader/appcache/ApplicationCache.h:
59751        * loader/appcache/ApplicationCacheStorage.cpp:
59752        (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup):
59753        * loader/appcache/ApplicationCacheStorage.h:
59754
597552011-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59756
59757        Reviewed by Antonio Gomes.
59758
59759        [EFL] Add dummy GeolocationServiceEfl. cpp | h
59760        https://bugs.webkit.org/show_bug.cgi?id=56710
59761
59762        Add dummy GeolocationServiceEfl.cpp | h to platform/efl.
59763
59764        * CMakeListsEfl.txt:
59765        * platform/efl/GeolocationServiceEfl.cpp: Added.
59766        (WebCore::GeolocationServiceEfl::create):
59767        (WebCore::GeolocationServiceEfl::GeolocationServiceEfl):
59768        (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl):
59769        (WebCore::GeolocationServiceEfl::startUpdating):
59770        (WebCore::GeolocationServiceEfl::stopUpdating):
59771        (WebCore::GeolocationServiceEfl::suspend):
59772        (WebCore::GeolocationServiceEfl::resume):
59773        (WebCore::GeolocationServiceEfl::lastPosition):
59774        (WebCore::GeolocationServiceEfl::lastError):
59775        * platform/efl/GeolocationServiceEfl.h: Added.
59776
597772011-03-19  Patrick Gansterer  <paroga@webkit.org>
59778
59779        Unreviewed, rolling out r81551.
59780        http://trac.webkit.org/changeset/81551
59781        https://bugs.webkit.org/show_bug.cgi?id=55336
59782
59783        Broke some storage tests on Win32.
59784
59785        * platform/win/FileSystemWin.cpp:
59786        (WebCore::statFile):
59787        (WebCore::getFileSize):
59788        (WebCore::getFileModificationTime):
59789        (WebCore::fileExists):
59790
597912011-03-19  Andreas Kling  <kling@webkit.org>
59792
59793        Reviewed by Benjamin Poulain.
59794
59795        [Qt] Remove support for Qt 4.6
59796        https://bugs.webkit.org/show_bug.cgi?id=56712
59797
59798        * platform/graphics/qt/FontPlatformDataQt.cpp:
59799        (WebCore::FontPlatformData::FontPlatformData):
59800        * platform/graphics/qt/FontQt.cpp:
59801        (WebCore::drawTextCommon):
59802        (WebCore::Font::drawSimpleText):
59803        (WebCore::Font::floatWidthForSimpleText):
59804        (WebCore::Font::offsetForPositionForSimpleText):
59805        (WebCore::Font::selectionRectForSimpleText):
59806        * platform/graphics/qt/GraphicsContext3DQt.cpp:
59807        (WebCore::GraphicsContext3DInternal::paint):
59808        * platform/graphics/qt/ImageBufferQt.cpp:
59809        (WebCore::getImageData):
59810        * platform/graphics/qt/ImageDecoderQt.cpp:
59811        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
59812        * platform/graphics/qt/PathQt.cpp:
59813        (WebCore::Path::transform):
59814        * platform/network/qt/DnsPrefetchHelper.h:
59815        (WebCore::DnsPrefetchHelper::DnsPrefetchHelper):
59816        (WebCore::DnsPrefetchHelper::lookup):
59817        * platform/network/qt/NetworkStateNotifierPrivate.h:
59818        * platform/network/qt/NetworkStateNotifierQt.cpp:
59819        * platform/network/qt/QNetworkReplyHandler.cpp:
59820        (WebCore::QNetworkReplyHandler::httpMethod):
59821        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59822        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59823        (WebCore::QNetworkReplyHandler::start):
59824        * platform/network/qt/ResourceRequestQt.cpp:
59825        (WebCore::ResourceRequest::toNetworkRequest):
59826        * platform/qt/RenderThemeQt.cpp:
59827        (WebCore::RenderThemeQt::paintMediaSliderTrack):
59828
598292011-03-19  Patrick Gansterer  <paroga@webkit.org>
59830
59831        Reviewed by Adam Roben.
59832
59833        Use Win32 API to get file information
59834        https://bugs.webkit.org/show_bug.cgi?id=55336
59835
59836        Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx()
59837        and GetFileAttributesEx() so we can share the code with WinCE.
59838
59839        * platform/win/FileSystemWin.cpp:
59840        (WebCore::createFileHandle):
59841        (WebCore::getFileInformation):
59842        (WebCore::getFileSize):
59843        (WebCore::getFileModificationTime):
59844        (WebCore::fileExists):
59845
598462011-03-19  Xan Lopez  <xlopez@igalia.com>
59847
59848        Reviewed by Martin Robinson.
59849
59850        [GTK] Simplify GObjectEventListener
59851        https://bugs.webkit.org/show_bug.cgi?id=56698
59852
59853        Get rid of special case for DOMWindow, since it's also an
59854        EventTarget.
59855
59856        * bindings/gobject/GObjectEventListener.cpp:
59857        (WebCore::GObjectEventListener::GObjectEventListener): remove
59858        DOMWindow special casing.
59859        (WebCore::GObjectEventListener::~GObjectEventListener): ditto.
59860        (WebCore::GObjectEventListener::gobjectDestroyed):
59861        * bindings/gobject/GObjectEventListener.h:
59862        (WebCore::GObjectEventListener::addEventListener): ditto.
59863        (WebCore::GObjectEventListener::removeEventListener): ditto.
59864
598652011-03-19  Ben Taylor  <bentaylor.solx86@gmail.com>
59866
59867        Reviewed by Nikolas Zimmermann.
59868
59869        https://bugs.webkit.org/show_bug.cgi?id=56195
59870        Fix conditional which had an int for one case and a pointer for another.
59871        Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198
59872
59873        No new tests. Fix compilation on Solaris 10 with Sun Studio C++
59874
59875        * svg/SVGElement.cpp:
59876        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
59877
598782011-03-19  Patrick Gansterer  <paroga@webkit.org>
59879
59880        Reviewed by Darin Adler.
59881
59882        Rename WTF::StringHasher methods
59883        https://bugs.webkit.org/show_bug.cgi?id=53532
59884
59885        Rename createHash to computeHash and createBlobHash to hashMemory.
59886        Also add a using WTF::StringHasher in the header file.
59887
59888        * dom/Document.cpp:
59889        (WebCore::FormElementKeyHash::hash):
59890        * dom/QualifiedName.h:
59891        (WebCore::hashComponents):
59892        * dom/StyledElement.cpp:
59893        (WebCore::MappedAttributeHash::hash):
59894        * loader/appcache/ApplicationCacheStorage.cpp:
59895        (WebCore::urlHostHash):
59896        * page/SecurityOriginHash.h:
59897        (WebCore::SecurityOriginHash::hash):
59898        * platform/LinkHash.cpp:
59899        (WebCore::visitedLinkHashInline):
59900        * platform/cf/BinaryPropertyList.cpp:
59901        (WebCore::IntegerArrayHash::hash):
59902        * platform/cf/SchedulePair.h:
59903        (WebCore::SchedulePairHash::hash):
59904        * platform/graphics/FontCache.cpp:
59905        (WebCore::computeHash):
59906        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
59907        (WebCore::FontPlatformData::RefCountedHFONT::hash):
59908        * platform/graphics/cocoa/FontPlatformData.h:
59909        (WebCore::FontPlatformData::hash):
59910        * platform/graphics/pango/FontPlatformData.h:
59911        (WebCore::FontPlatformData::hash):
59912        * platform/graphics/wince/FontPlatformData.cpp:
59913        (WebCore::FixedSizeFontDataKeyHash::hash):
59914        * platform/graphics/wx/FontPlatformDataWx.cpp:
59915        (WebCore::FontPlatformData::computeHash):
59916        * platform/network/ProtectionSpaceHash.h:
59917        (WebCore::ProtectionSpaceHash::hash):
59918        * plugins/PluginPackage.cpp:
59919        (WebCore::PluginPackage::hash):
59920        * plugins/win/PluginPackageWin.cpp:
59921        (WebCore::PluginPackage::hash):
59922        * svg/properties/SVGAnimatedPropertyDescription.h:
59923        (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
59924
599252011-03-18  David Kilzer  <ddkilzer@apple.com>
59926
59927        <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m
59928
59929        Reviewed by Anders Carlsson.
59930
59931        Fixes the following static analyzer warning:
59932
59933            Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]'
59934                 return self;
59935                 ^
59936
59937        * page/mac/WebCoreViewFactory.m:
59938        (-[WebCoreViewFactory init]): Assign the result of [super init]
59939        to self.
59940
599412011-03-18  Adam Barth  <abarth@webkit.org>
59942
59943        Reviewed by Dimitri Glazkov.
59944
59945        WebCore GYP build should build
59946        https://bugs.webkit.org/show_bug.cgi?id=56696
59947
59948        After this patch, the WebCore GYP build successfully compiles and
59949        links.  I haven't trying executing it yet.
59950
59951        * WebCore.gypi:
59952            - DOMMouseEvent should be included as part of the Objective-C bindings.
59953        * WebCore.xcodeproj/project.pbxproj:
59954            - RenderSVGPath.cpp was mistakenly included directly in the project
59955              instead of being built by RenderSVGAllInOne.
59956        * gyp/WebCore.gyp:
59957            - Exclude some more files from the build.  These files are absent
59958              in the normal build.  I didn't see them earlier because the dead
59959              code stripping was hiding them.  (They're probably unreferenced.)
59960            - Switch to using RenderSVGAllInOne.  I'm not entirely sure if this
59961              part of the patch is necessary, but it matches the normal build
59962              more closely.
59963        * platform/mac/WebCoreObjCExtras.mm:
59964            - The normal build passes the -Wdeprecated-declarations flag when
59965              compiling this file.  The GYP folks explicitly do not want to add
59966              that feature to GYP, and there does not appear to be a way to
59967              remove the deprecated call from this file.
59968        * rendering/svg/RenderSVGAllInOne.cpp:
59969            - Add RenderSVGPath.cpp, which was missing previously.
59970
599712011-03-18  Adam Barth  <abarth@webkit.org>
59972
59973        Reviewed by Dimitri Glazkov.
59974
59975        WebCore GYP build should (almost!) link
59976        https://bugs.webkit.org/show_bug.cgi?id=56689
59977
59978        This patch is a grab-bag of small changes to bring the WebCore GYP
59979        build down to two link errors or one compile error (take your pick).
59980        We might need a GYP change to get this last file to compile, however.
59981
59982        * WebCore.gypi:
59983        * gyp/WebCore.gyp:
59984
599852011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
59986
59987        Reviewed by Ojan Vafai.
59988
59989        Add a test for r81266 and fix HTML Editing for fallback contents in object element
59990        https://bugs.webkit.org/show_bug.cgi?id=56505
59991
59992        The bug was caused by canHaveChildrenForEditing's always returning false even when
59993        object element used fallback content. Fixed the bug by adding a check.
59994
59995        Test: editing/editability/ignored-content.html
59996
59997        * editing/htmlediting.cpp:
59998        (WebCore::canHaveChildrenForEditing):
59999
600002011-03-18  Andy Estes  <aestes@apple.com>
60001
60002        Reviewed by Eric Seidel.
60003
60004        REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag
60005        https://bugs.webkit.org/show_bug.cgi?id=56380
60006        
60007        Fix two issues with parsing a fragment that has a foreign content
60008        element as its context element. The first issue is that the parser will
60009        initially be in the InForeignContentMode insertion mode when processing
60010        the first tag in the fragment in this case so one call site needs to
60011        change from currentElement() to currentNode(). The second issue is that
60012        when we changed fragments from using a fake HTML root element to a
60013        DocumentFragment we broke checks that assumed the root element was in
60014        the HTML namespace. Fix this by claiming that the DocumentFragment is
60015        also in the HTML namespace.
60016
60017        Test: fast/parser/fragment-foreign-content-context.html
60018
60019        * html/parser/HTMLElementStack.cpp:
60020        (WebCore::HTMLNames::isForeignContentScopeMarker):
60021        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
60022        * html/parser/HTMLElementStack.h:
60023        (WebCore::isInHTMLNamespace):
60024        * html/parser/HTMLTreeBuilder.cpp:
60025        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
60026        (WebCore::HTMLTreeBuilder::processStartTag):
60027        (WebCore::HTMLTreeBuilder::processEndTag):
60028
600292011-03-18  James Robinson  <jamesr@chromium.org>
60030
60031        Reviewed by Dimitri Glazkov.
60032
60033        REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows
60034        https://bugs.webkit.org/show_bug.cgi?id=56629
60035
60036        Preserves offsets as absolute floating point offsets and rounds to
60037        advances at the last possible second.  I can't prove to myself that
60038        this is sound but it seems to work on the test cases I've constructed.
60039
60040        Will probably change the pixel tests on chromium windows given that we
60041        were horribly broken before this patch.
60042
60043        * platform/graphics/chromium/FontChromiumWin.cpp:
60044        (WebCore::Font::drawGlyphs):
60045        (WebCore::Font::drawComplexText):
60046
600472011-03-18  Ryosuke Niwa  <rniwa@webkit.org>
60048
60049        Reviewed by Eric Seidel.
60050
60051        REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms
60052        https://bugs.webkit.org/show_bug.cgi?id=56599
60053
60054        Debug build fix.
60055
60056        * dom/Position.cpp:
60057        (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node,
60058        then we can't necessarily instantiate a position inside the node.
60059        * editing/VisibleSelection.cpp:
60060        (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e
60061        could be null. Exit early in those cases as well.
60062
600632011-03-18  Adam Barth  <abarth@webkit.org>
60064
60065        Reviewed by Eric Seidel.
60066
60067        Add ObjC bindings to the WebCore GYP build
60068        https://bugs.webkit.org/show_bug.cgi?id=56671
60069
60070        It turns out we generate a bunch of ObjC bindings files that we don't
60071        actually build.  I've manually synced the list of ObjC derived source
60072        files to match the existing list.  This brings us down to 19 link
60073        errors.
60074
60075        * WebCore.gypi:
60076        * gyp/WebCore.gyp:
60077
600782011-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
60079
60080        Reviewed by Eric Seidel.
60081
60082        [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt
60083        https://bugs.webkit.org/show_bug.cgi?id=56624
60084
60085        No new tests, just splitting jsc related configuration.
60086
60087        * CMakeLists.txt:
60088        * UseJSC.cmake: Added.
60089
600902011-03-16  Stephen White  <senorblanco@chromium.org>
60091
60092        Reviewed by Kenneth Russell.
60093
60094        Implement GPU-accelerated shadows.
60095        https://bugs.webkit.org/show_bug.cgi?id=56476
60096
60097        For hard shadows, we simply offset the CTM and draw in the shadow
60098        color.  For soft shadows, we use a separable Gaussian convolution,
60099        with a bilinear downsample and Mitchell-Netravali upsample in order to
60100        preserve quality.
60101
60102        * WebCore.gypi:
60103        Add BicubicShader and ConvolutionShader to the build.
60104        * platform/graphics/chromium/GLES2Canvas.cpp:
60105        (WebCore::GLES2Canvas::State::State):
60106        Add shadow-related members to the GLES2Canvas::State
60107        (WebCore::GLES2Canvas::State::shadowActive):
60108        Add a helper function to know if shadows are active.
60109        (WebCore::GLES2Canvas::clearRect):
60110        (WebCore::GLES2Canvas::scissorClear):
60111        Refactor the scissor clearing function out of clearRect().
60112        (WebCore::GLES2Canvas::fillPath):
60113        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
60114        (WebCore::GLES2Canvas::fillRect):
60115        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
60116        (WebCore::GLES2Canvas::fillRectInternal):
60117        Rename fillRect() -> fillRectInternal(), which does bind its vertex 
60118        buffer, but does not bind the framebuffer.
60119        (WebCore::GLES2Canvas::setShadowColor):
60120        (WebCore::GLES2Canvas::setShadowOffset):
60121        (WebCore::GLES2Canvas::setShadowBlur):
60122        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
60123        Implement graphicsContext-style setters for shadow parameters.
60124        (WebCore::GLES2Canvas::clipPath):
60125        Call fillPathInternal(), not fillPath().
60126        (WebCore::GLES2Canvas::restore):
60127        (WebCore::GLES2Canvas::drawTexturedRect):
60128        Bind the framebuffer at this level.  Do not bind vertices here (will
60129        be done in drawTexturedQuad).
60130        (WebCore::GLES2Canvas::drawTexturedRectTile):
60131        drawQuad() -> drawTexturedQuad().
60132        (WebCore::GLES2Canvas::convolveRect):
60133        Implement one pass of a convolution filter (X or Y).
60134        (WebCore::gauss):
60135        (WebCore::buildKernel):
60136        Some helper functions to build a Gaussian convolution kernel.
60137        (WebCore::GLES2Canvas::drawTexturedQuad):
60138        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
60139        bind the framebuffer at this level (it will be done higher).
60140        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
60141        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
60142        (WebCore::GLES2Canvas::fillPathInternal):
60143        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
60144        but does not bind the framebuffer or set the compositing mode.
60145        (WebCore::GLES2Canvas::flipRect):
60146        Implement a helper function to flip a rectangle in Y within the canvas.
60147        (WebCore::GLES2Canvas::clearBorders):
60148        Implement a helper function to clear an n-pixel border around a rect.
60149        (WebCore::GLES2Canvas::beginShadowDraw):
60150        Setup before drawing a primitive's shadow:  for hard shadows, just
60151        offset the CTM by the shadow offset.  For soft shadows, bind to an
60152        offscreen DrawingBuffer.
60153        (WebCore::GLES2Canvas::endShadowDraw):
60154        Tear-down after drawing a primitive's shadow:  for hard shadows, just
60155        restore the CTM.  For soft shadows, downsample (if necessary), then
60156        blur in X, blur in Y, upsample if necessary).
60157        * platform/graphics/chromium/GLES2Canvas.h:
60158        * platform/graphics/gpu/BicubicShader.cpp: Added.
60159        (WebCore::BicubicShader::BicubicShader):
60160        (WebCore::BicubicShader::create):
60161        (WebCore::BicubicShader::use):
60162        * platform/graphics/gpu/BicubicShader.h: Added.
60163        Implement a bicubic image filtering shader.
60164        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
60165        (WebCore::ConvolutionShader::ConvolutionShader):
60166        (WebCore::ConvolutionShader::create):
60167        (WebCore::ConvolutionShader::use):
60168        * platform/graphics/gpu/ConvolutionShader.h: Added.
60169        Implement a 1-dimensional convolution shader.  In order to minimize
60170        texture samples, this shader is parameterized at compile time by the
60171        width of the convolution kernel.
60172        * platform/graphics/gpu/DrawingBuffer.h:
60173        (WebCore::DrawingBuffer::colorBuffer):
60174        Add an accessor to retrieve a DrawingBuffer's texture ID.
60175        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
60176        (WebCore::SharedGraphicsContext3D::create):
60177        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
60178        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
60179        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
60180        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
60181        each possible kernel width).
60182        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
60183        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
60184        This is done to minimize the VRAM usage:  only 2 buffers are used for
60185        all canvases.
60186        * platform/graphics/gpu/SharedGraphicsContext3D.h:
60187        Add bicubic and convolution shader members, and useXXX() functions.
60188        * platform/graphics/skia/GraphicsContextSkia.cpp:
60189        (WebCore::GraphicsContext::setPlatformShadow):
60190        Hook into GraphicsContextSkia's platform shadow setters to set
60191        parameters on GLES2Canvas.
60192        * platform/graphics/skia/PlatformContextSkia.cpp:
60193        (WebCore::PlatformContextSkia::canAccelerate):
60194        Remove shadows (loopers) from the list of things we can't accelerate.
60195
601962011-03-18  Andreas Kling  <kling@webkit.org>
60197
60198        Reviewed by Darin Adler.
60199
60200        Remove unused method FontFallbackList::fontDataForCharacters()
60201        https://bugs.webkit.org/show_bug.cgi?id=56657
60202
60203        * platform/graphics/Font.h:
60204        * platform/graphics/FontFallbackList.cpp:
60205        * platform/graphics/FontFallbackList.h:
60206
602072011-03-18  Andreas Kling  <kling@webkit.org>
60208
60209        Reverting accidental changes in r81498.
60210
602112011-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
60212
60213        Reviewed by Yury Semikhatsky.
60214
60215        Web Inspector: rename console agent events.
60216        https://bugs.webkit.org/show_bug.cgi?id=56646
60217
60218        addConsoleMessage -> consoleMessage
60219        updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate
60220        updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate
60221
60222        * inspector/ConsoleMessage.cpp:
60223        (WebCore::ConsoleMessage::addToFrontend):
60224        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
60225        * inspector/Inspector.json:
60226        * inspector/InspectorConsoleAgent.cpp:
60227        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
60228        * inspector/front-end/ConsoleView.js:
60229        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage):
60230        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate):
60231        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate):
60232
602332011-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
60234
60235        Unreviewed, rolling out r81487.
60236        http://trac.webkit.org/changeset/81487
60237        https://bugs.webkit.org/show_bug.cgi?id=56662
60238
60239        "Breaks inspector/styles/styles-add-blank-property.html"
60240        (Requested by apavlov on #webkit).
60241
60242        * inspector/Inspector.json:
60243        * inspector/InspectorCSSAgent.cpp:
60244        (WebCore::InspectorCSSAgent::getAllStyles):
60245        * inspector/InspectorCSSAgent.h:
60246        * inspector/InspectorStyleSheet.cpp:
60247        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
60248        * inspector/InspectorStyleSheet.h:
60249        * inspector/front-end/AuditRules.js:
60250        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
60251        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
60252        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
60253        * inspector/front-end/CSSStyleModel.js:
60254        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
60255        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
60256        (WebInspector.CSSStyleModel.prototype._onRevert):
60257        (WebInspector.CSSStyleSheet):
60258        (WebInspector.CSSStyleSheet.prototype.setText):
60259
602602011-03-18  Justin Novosad  <junov@chromium.org>
60261
60262        Reviewed by Kenneth Russell.
60263
60264        [Chromium] Canvas shadow is not working with drawImage
60265        https://bugs.webkit.org/show_bug.cgi?id=55506
60266
60267        Patch also fixes shadow blur quality and color. 
60268        Affects Chromium win/linux. Also fixes the following bugs:
60269        https://bugs.webkit.org/show_bug.cgi?id=50112
60270        https://bugs.webkit.org/show_bug.cgi?id=51989
60271        https://bugs.webkit.org/show_bug.cgi?id=55410
60272        No tests were added, impact is already covered by multiple layout tests.
60273
60274        * platform/graphics/skia/GraphicsContextSkia.cpp:
60275        (WebCore::GraphicsContext::setPlatformShadow):
60276        * platform/graphics/skia/ImageSkia.cpp:
60277        (WebCore::paintSkBitmap):
60278
602792011-03-15  Alexander Pavlov  <apavlov@chromium.org>
60280
60281        Reviewed by Pavel Feldman.
60282
60283        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
60284        https://bugs.webkit.org/show_bug.cgi?id=56310
60285
60286        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
60287        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
60288        by CSSAgent.getStyleSheet() anymore.
60289
60290        Test: inspector/styles/get-set-stylesheet-text.html
60291
60292        * inspector/Inspector.json:
60293        * inspector/InspectorCSSAgent.cpp:
60294        (WebCore::InspectorCSSAgent::getAllStyleSheets):
60295        * inspector/InspectorCSSAgent.h:
60296        * inspector/InspectorStyleSheet.cpp:
60297        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
60298        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
60299        * inspector/InspectorStyleSheet.h:
60300        * inspector/front-end/AuditRules.js:
60301        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
60302        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
60303        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
60304        * inspector/front-end/CSSStyleModel.js:
60305        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
60306        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
60307        (WebInspector.CSSStyleModel.prototype._onRevert):
60308        (WebInspector.CSSStyleSheet):
60309        (WebInspector.CSSStyleSheet.prototype.setText):
60310
603112011-03-18  David Keijser  <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com>
60312
60313        Reviewed by Martin Robinson.
60314
60315        [GTK] On-demand event-listeners for DOM event signals
60316        https://bugs.webkit.org/show_bug.cgi?id=49649
60317
60318        Add explicit EventTarget API to add/remove event listeners instead
60319        of using GSignal, which due to internal limitations in glib makes
60320        us preemptively add listeners for all event types.
60321
60322        * bindings/gobject/GObjectEventListener.cpp: add new
60323        addEventListener/removeEventListener methods, and small
60324        refactoring to store an EventTarget internally instead of a DOM
60325        node, which is more generic and can be reused in more cases.
60326        * bindings/gobject/GObjectEventListener.h: ditto.
60327        * bindings/gobject/WebKitDOMEventTarget.cpp:
60328        (webkit_dom_event_target_add_event_listener): new iface method to
60329        add an event listener.
60330        (webkit_dom_event_target_remove_event_listener): new iface method
60331        to remove an event listener.
60332        * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods.
60333        * bindings/scripts/CodeGeneratorGObject.pm: change code generation
60334        accordingly.
60335
603362011-03-18  Brady Eidson  <beidson@apple.com>
60337
60338        Reviewed by Sam Weinig.
60339
60340        https://bugs.webkit.org/show_bug.cgi?id=56425
60341        More groundwork for WebKit2 IconDatabase
60342
60343        -Update the synchronous method names to be prefixed with "synchronous."
60344        -Call asynchronous versions of the appropriate methods if the IconDatabase supports them.
60345
60346        Update icon database calls to be prefixed with "synchronous":
60347        * loader/archive/cf/LegacyWebArchive.cpp:
60348        (WebCore::LegacyWebArchive::create):
60349        * loader/icon/IconDatabaseBase.h:
60350        (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL):
60351        (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL):
60352        (WebCore::IconDatabaseBase::synchronousIconForPageURL):
60353        * loader/icon/IconDatabase.cpp:
60354        (WebCore::IconDatabase::synchronousIconForPageURL):
60355        (WebCore::IconDatabase::readIconForPageURLFromDisk):
60356        (WebCore::IconDatabase::synchronousIconURLForPageURL):
60357        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
60358        (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
60359        * loader/icon/IconDatabase.h:
60360        * loader/icon/IconDatabaseBase.cpp:
60361        (WebCore::IconDatabaseBase::synchronousIconURLForPageURL):
60362
60363        Add nascent support for an asynchronous icon database mode:
60364        * loader/icon/IconDatabaseBase.h:
60365        (WebCore::EnumCallback::create):
60366        (WebCore::EnumCallback::~EnumCallback):
60367        (WebCore::EnumCallback::performCallback):
60368        (WebCore::EnumCallback::invalidate):
60369        (WebCore::EnumCallback::EnumCallback):
60370        (WebCore::ObjectCallback::create):
60371        (WebCore::ObjectCallback::~ObjectCallback):
60372        (WebCore::ObjectCallback::performCallback):
60373        (WebCore::ObjectCallback::invalidate):
60374        (WebCore::ObjectCallback::ObjectCallback):
60375        (WebCore::IconDatabaseBase::supportsAsynchronousMode):
60376        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
60377        (WebCore::IconDatabaseBase::iconDataForIconURL):
60378
60379        Add interfaces to use the asynchronous versions of certain IconDatabase calls:
60380        * loader/DocumentLoader.cpp:
60381        (WebCore::DocumentLoader::~DocumentLoader):
60382        (WebCore::DocumentLoader::iconLoadDecisionAvailable):
60383        (WebCore::iconLoadDecisionCallback):
60384        (WebCore::DocumentLoader::getIconLoadDecisionForIconURL):
60385        (WebCore::DocumentLoader::continueIconLoadWithDecision):
60386        (WebCore::iconDataCallback):
60387        (WebCore::DocumentLoader::getIconDataForIconURL):
60388        * loader/DocumentLoader.h:
60389
60390        Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous 
60391        icon database modes:
60392        * loader/FrameLoader.cpp:
60393        (WebCore::FrameLoader::iconLoadDecisionReceived):
60394        (WebCore::FrameLoader::startIconLoader):
60395        (WebCore::FrameLoader::continueIconLoadWithDecision):
60396        * loader/FrameLoader.h:
60397
60398        * WebCore.exp.in:
60399
604002011-03-18  Pavel Feldman  <pfeldman@chromium.org>
60401
60402        Not reviewed: add missing brace to the generated Inspector.idl.
60403
60404        * inspector/generate-inspector-idl:
60405
604062011-03-18  Pavel Feldman  <pfeldman@chromium.org>
60407
60408        Reviewed by Yury Semikhatsky.
60409
60410        Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug.
60411        https://bugs.webkit.org/show_bug.cgi?id=56294
60412
60413        * CMakeLists.txt:
60414        * CodeGenerators.pri:
60415        * DerivedSources.make:
60416        * GNUmakefile.am:
60417        * WebCore.gyp/WebCore.gyp:
60418        * inspector/Inspector.idl: Removed.
60419        * inspector/Inspector.json: Added.
60420        * inspector/generate-inspector-idl: Added.
60421
604222011-03-18  Pavel Podivilov  <podivilov@chromium.org>
60423
60424        Reviewed by Yury Semikhatsky.
60425
60426        Web Inspector: implement inspector session storage.
60427        https://bugs.webkit.org/show_bug.cgi?id=56643
60428
60429        We would like to enable debugger/profiler from frontend side only.
60430        However, when user clicks "Start Debugging JavaScript" in Safari, we
60431        need to enable debugger when frontend is opened or re-opened for the
60432        same page. The idea is to store debugger-enabled setting in session
60433        storage and check it on frontend load.
60434
60435        * inspector/InspectorFrontendClient.h:
60436        (WebCore::InspectorFrontendClient::saveSessionSetting):
60437        (WebCore::InspectorFrontendClient::loadSessionSetting):
60438        * inspector/InspectorFrontendHost.cpp:
60439        (WebCore::InspectorFrontendHost::saveSessionSetting):
60440        (WebCore::InspectorFrontendHost::loadSessionSetting):
60441        * inspector/InspectorFrontendHost.h:
60442        * inspector/InspectorFrontendHost.idl:
60443
604442011-03-18  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
60445
60446        Reviewed by Kenneth Rohde Christiansen.
60447
60448        [Qt] Enable GraphicsContext3D only when the window surface support OpenGL
60449        https://bugs.webkit.org/show_bug.cgi?id=56555
60450
60451        Allow creation of WebGLRenderingContext in the HTMLCanvasElement
60452        only if accelerated compositing is enabled. In GraphicsContext3D,
60453        while blitting the surface check that viewport hasn't changed from
60454        creation and painter is associated to the viewport.
60455
60456        * html/HTMLCanvasElement.cpp:
60457        (WebCore::HTMLCanvasElement::getContext):
60458        * platform/graphics/qt/GraphicsContext3DQt.cpp:
60459        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
60460        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
60461        (WebCore::GraphicsContext3DInternal::paint):
60462
604632011-03-17  Pavel Podivilov  <podivilov@chromium.org>
60464
60465        Reviewed by Pavel Feldman.
60466
60467        Web Inspector: extract content loading logic from scripts panel.
60468        https://bugs.webkit.org/show_bug.cgi?id=55237
60469
60470        Encapsulate source files creation logic in debugger presentation model
60471        to support source mappings in a pluggable way.
60472
60473        * inspector/front-end/DebuggerPresentationModel.js:
60474        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
60475        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
60476        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
60477        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
60478        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
60479        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
60480        (WebInspector.DebuggerPresentationModel.prototype._addScript):
60481        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
60482        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
60483        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
60484        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
60485        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
60486        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
60487        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
60488        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
60489        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
60490        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
60491        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
60492        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
60493        (WebInspector.DebuggerPresentationModel.prototype.reset):
60494        * inspector/front-end/ScriptsPanel.js:
60495        (WebInspector.ScriptsPanel):
60496        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
60497        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
60498        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
60499        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
60500        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
60501
605022011-03-18  Yury Semikhatsky  <yurys@chromium.org>
60503
60504        Reviewed by Pavel Feldman.
60505
60506        Web Inspector: console doesn&apos;t scroll when multiline expression is being evaluated
60507        https://bugs.webkit.org/show_bug.cgi?id=56639
60508
60509        Always scoll in the console when command result is received.
60510
60511        * inspector/front-end/ConsoleView.js:
60512        (WebInspector.ConsoleView.prototype.addMessage):
60513
605142011-03-18  Adam Roben  <aroben@apple.com>
60515
60516        Fix a CFNumber leak seen on the leaks bot
60517
60518        Reviewed by Gavin Barraclough.
60519
60520        * platform/network/mac/FormDataStreamMac.mm:
60521        (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be
60522        released.
60523
605242011-03-17  Adam Barth  <abarth@webkit.org>
60525
60526        Reviewed by Eric Seidel.
60527
60528        Add some of the remaining platform/mac files to WebCore GYP build
60529        https://bugs.webkit.org/show_bug.cgi?id=56616
60530
60531        These files used to be hard, but are now magically easy.  76 link errors.
60532
60533        * gyp/WebCore.gyp:
60534
605352011-03-17  Adam Klein  <adamk@chromium.org>
60536
60537        Reviewed by Adam Barth.
60538
60539        [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL
60540        https://bugs.webkit.org/show_bug.cgi?id=56502
60541
60542        * fileapi/Entry.idl:
60543        * fileapi/EntryBase.cpp:
60544        (WebCore::EntryBase::toURL):
60545        * fileapi/EntryBase.h:
60546        * fileapi/EntrySync.idl:
60547        * page/DOMWindow.cpp:
60548        (WebCore::DOMWindow::resolveLocalFileSystemURL):
60549        * page/DOMWindow.h:
60550        * page/DOMWindow.idl:
60551
605522011-03-17  Adam Barth  <abarth@webkit.org>
60553
60554        Reviewed by Eric Seidel.
60555
60556        Update CSP directive parser to match spec
60557        https://bugs.webkit.org/show_bug.cgi?id=56582
60558
60559        Brandon updated the CSP spec.  I've updated our implementation to
60560        match.  In the process, I found a couple bugs in the spec, which I've
60561        sent to the working group.  This patch assumes that the bugs will be
60562        fixed in the way I suggested.  If they get fixed a different way, we
60563        might need to update the parser again.
60564
60565        Test: http/tests/security/contentSecurityPolicy/directive-parsing.html
60566
60567        * page/ContentSecurityPolicy.cpp:
60568        (WebCore::isDirectiveNameCharacter):
60569        (WebCore::isDirectiveValueCharacter):
60570        (WebCore::advanceUntil):
60571        (WebCore::ContentSecurityPolicy::parse):
60572        (WebCore::ContentSecurityPolicy::parseDirective):
60573        * page/ContentSecurityPolicy.h:
60574
605752011-03-17  Adam Barth  <abarth@webkit.org>
60576
60577        Reviewed by Eric Seidel.
60578
60579        WebCore GYP build should have PrivateHeaders
60580        https://bugs.webkit.org/show_bug.cgi?id=56604
60581
60582        I've manually verified that this produces the correct set of
60583        PrivateHeaders (modulo the ForwardingHeaders and icu issue).
60584        Unforunately, this patch breakes compile slightly, but I'll fix that
60585        in a followup patch.
60586
60587        * WebCore.gyp/WebCore.gyp:
60588        * WebCore.gypi:
60589        * gyp/WebCore.gyp:
60590
605912011-03-17  Victoria Kirst  <vrk@google.com>
60592
60593        Reviewed by Kenneth Russell.
60594
60595        [chromium] Video colors have wrong brightness/contrast
60596        https://bugs.webkit.org/show_bug.cgi?id=56598
60597
60598        This patch changes the YUV to RGB color conversion matrix
60599        to have brighter whites and darker blacks in accordance to
60600        the BT.601 standard.
60601
60602        * platform/graphics/chromium/ShaderChromium.cpp:
60603        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
60604        (WebCore::FragmentShaderYUVVideo::init):
60605        (WebCore::FragmentShaderYUVVideo::getShaderString):
60606        * platform/graphics/chromium/ShaderChromium.h:
60607        (WebCore::FragmentShaderYUVVideo::yuvAdjLocation):
60608        * platform/graphics/chromium/VideoLayerChromium.cpp:
60609        (WebCore::VideoLayerChromium::drawYUV):
60610        * platform/graphics/chromium/VideoLayerChromium.h:
60611
606122011-03-17  Zhenyao Mo  <zmo@google.com>
60613
60614        Reviewed by Adam Barth.
60615
60616        RequestAnimationFrame callbacks prevent Document from being released on detach
60617        https://bugs.webkit.org/show_bug.cgi?id=56607
60618
60619        * dom/Document.cpp:
60620        (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks.
60621        (WebCore::Document::detach): Ditto.
60622
606232011-03-17  Beth Dakin  <bdakin@apple.com>
60624
60625        Reviewed by Darin Adler.
60626
60627        Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes 
60628        fail to appear
60629        -and corresponding-
60630        <rdar://problem/8953779>
60631
60632        * platform/mac/ScrollAnimatorMac.mm:
60633        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
60634
606352011-03-17  Dan Bernstein  <mitz@apple.com>
60636
60637        Reviewed by Beth Dakin.
60638
60639        <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it
60640        https://bugs.webkit.org/show_bug.cgi?id=56480
60641
60642        Test: fast/text/emphasis-combined-text.html
60643
60644        * rendering/InlineTextBox.cpp:
60645        (WebCore::rotation): Added this helper.
60646        (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text,
60647        centered vertically.
60648
606492011-03-17  Jian Li  <jianli@chromium.org>
60650
60651        Reviewed by Adam Barth.
60652
60653        Blob URL should not be allow to get created from the code running from data URI
60654        https://bugs.webkit.org/show_bug.cgi?id=56600
60655
60656        Test: http/tests/fileapi/create-blob-url-from-data-url.html
60657
60658        * dom/ScriptExecutionContext.cpp:
60659        (WebCore::ScriptExecutionContext::createPublicBlobURL):
60660        * fileapi/BlobURL.cpp:
60661        (WebCore::BlobURL::createBlobURL):
60662        * fileapi/EntryBase.cpp:
60663        (WebCore::EntryBase::toURI):
60664        * fileapi/FileReaderLoader.cpp:
60665        (WebCore::FileReaderLoader::start):
60666
606672011-03-17  Jeff Miller  <jeffm@apple.com>
60668
60669        Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
60670        
60671        *.mode*
60672        *.pbxuser
60673        *.perspective*
60674        project.xcworkspace
60675        xcuserdata
60676
60677        * WebCore.xcodeproj: Modified property svn:ignore.
60678        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
60679
606802011-03-17  Sam Weinig  <sam@webkit.org>
60681
60682        Fix Mac build.
60683
60684        * WebCore.exp.in:
60685        Add missing symbol.
60686
606872011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
60688
60689        Reviewed by Adele Peterson and Enrica Casucci.
60690
60691        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
60692        https://bugs.webkit.org/show_bug.cgi?id=56027
60693
60694        Debug build fix.
60695
60696        * dom/Element.cpp:
60697        (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate
60698        a position inside the node. Call firstPositionInOrBeforeNode instead.
60699        * editing/ReplaceSelectionCommand.cpp:
60700        (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead
60701        of just when the node is br.
60702        * editing/htmlediting.cpp:
60703        (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element
60704        so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead.
60705
607062011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
60707
60708        Unreviewed, rolling out r81369.
60709        http://trac.webkit.org/changeset/81369
60710        https://bugs.webkit.org/show_bug.cgi?id=56579
60711
60712        breaks debugger test (Requested by podivilov on #webkit).
60713
60714        * inspector/front-end/DebuggerPresentationModel.js:
60715        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
60716        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
60717        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
60718        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
60719        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
60720        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
60721        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
60722        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
60723        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
60724        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
60725        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
60726        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
60727        (WebInspector.DebuggerPresentationModel.prototype.reset):
60728        * inspector/front-end/ScriptsPanel.js:
60729        (WebInspector.ScriptsPanel):
60730        (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
60731        (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource):
60732        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
60733        (WebInspector.ScriptsPanel.prototype._addScript):
60734        (WebInspector.ScriptsPanel.prototype._resourceForURL):
60735        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
60736        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
60737        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
60738        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
60739        (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript):
60740        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
60741        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
60742
607432011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
60744
60745        Reviewed by Justin Garcia.
60746
60747        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
60748        https://bugs.webkit.org/show_bug.cgi?id=56027
60749
60750        Added the assertion in Position::Position and Position::moveToPosition. This assertion catches
60751        places where we instantiate positions inside a node on which editingIgnoresContent returns true.
60752
60753        Test: editing/execCommand/button.html
60754
60755        * dom/Position.cpp:
60756        (WebCore::Position::Position): Added an assertion.
60757        (WebCore::Position::moveToPosition): Ditto.
60758        * dom/PositionIterator.cpp:
60759        (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below
60760        a node whose content is ignored by editing. While this does not avoid creation of positions
60761        inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve
60762        the underlying problem. Without this change, the assertion hits in existing layout tests.
60763        cannot be tested directly.
60764        * editing/ApplyStyleCommand.cpp:
60765        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode
60766        instead of firstPositionInNode because startNode may as well be a br element. Without this change,
60767        the assertion hits in existing layout tests.
60768        * editing/htmlediting.cpp:
60769        (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test
60770        for this.
60771        * editing/visible_units.cpp:
60772        (WebCore::previousBoundary): Added a FIXME.
60773        (WebCore::startPositionForLine): Because br can also have an inline text box, checking that
60774        startBox is an inline text box isn't an adequate to instantiate a position inside startNode.
60775        Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout
60776        tests.
60777
607782011-03-17  Pavel Podivilov  <podivilov@chromium.org>
60779
60780        Reviewed by Pavel Feldman.
60781
60782        Web Inspector: extract content loading logic from scripts panel.
60783        https://bugs.webkit.org/show_bug.cgi?id=55237
60784
60785        Encapsulate source files creation logic in debugger presentation model
60786        to support source mappings in a pluggable way.
60787
60788        * inspector/front-end/DebuggerPresentationModel.js:
60789        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
60790        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
60791        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
60792        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
60793        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
60794        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
60795        (WebInspector.DebuggerPresentationModel.prototype._addScript):
60796        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
60797        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
60798        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
60799        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
60800        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
60801        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
60802        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
60803        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
60804        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
60805        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
60806        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
60807        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
60808        (WebInspector.DebuggerPresentationModel.prototype.reset):
60809        * inspector/front-end/ScriptsPanel.js:
60810        (WebInspector.ScriptsPanel):
60811        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
60812        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
60813        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
60814        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
60815        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
60816
608172011-03-17  Pavel Feldman  <pfeldman@chromium.org>
60818
60819        Reviewed by Yury Semikhatsky.
60820
60821        Web Inspector: add types markup to the IDL, remove Value types from the protocol.
60822        https://bugs.webkit.org/show_bug.cgi?id=56562
60823
60824        * inspector/ConsoleMessage.cpp:
60825        (WebCore::ConsoleMessage::addToFrontend):
60826        * inspector/InjectedScript.cpp:
60827        (WebCore::InjectedScript::evaluate):
60828        (WebCore::InjectedScript::evaluateOn):
60829        (WebCore::InjectedScript::evaluateOnCallFrame):
60830        (WebCore::InjectedScript::getProperties):
60831        (WebCore::InjectedScript::setPropertyValue):
60832        (WebCore::InjectedScript::callFrames):
60833        (WebCore::InjectedScript::makeCall):
60834        (WebCore::InjectedScript::makeObjectCall):
60835        * inspector/InjectedScript.h:
60836        * inspector/InjectedScriptSource.js:
60837        (.):
60838        * inspector/Inspector.idl:
60839        * inspector/InspectorApplicationCacheAgent.cpp:
60840        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
60841        * inspector/InspectorApplicationCacheAgent.h:
60842        * inspector/InspectorCSSAgent.cpp:
60843        (WebCore::InspectorCSSAgent::getStylesForNode):
60844        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
60845        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
60846        (WebCore::InspectorCSSAgent::getStyleSheet):
60847        (WebCore::InspectorCSSAgent::setPropertyText):
60848        (WebCore::InspectorCSSAgent::toggleProperty):
60849        (WebCore::InspectorCSSAgent::setRuleSelector):
60850        (WebCore::InspectorCSSAgent::addRule):
60851        * inspector/InspectorCSSAgent.h:
60852        * inspector/InspectorDOMAgent.cpp:
60853        (WebCore::InspectorDOMAgent::resolveNode):
60854        * inspector/InspectorDOMAgent.h:
60855        * inspector/InspectorDebuggerAgent.cpp:
60856        (WebCore::InspectorDebuggerAgent::editScriptSource):
60857        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
60858        (WebCore::InspectorDebuggerAgent::currentCallFrames):
60859        * inspector/InspectorDebuggerAgent.h:
60860        * inspector/InspectorResourceAgent.cpp:
60861        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
60862        * inspector/InspectorRuntimeAgent.cpp:
60863        (WebCore::InspectorRuntimeAgent::evaluate):
60864        (WebCore::InspectorRuntimeAgent::evaluateOn):
60865        (WebCore::InspectorRuntimeAgent::getProperties):
60866        (WebCore::InspectorRuntimeAgent::setPropertyValue):
60867        * inspector/InspectorRuntimeAgent.h:
60868        * inspector/ScriptCallStack.cpp:
60869        (WebCore::ScriptCallStack::buildInspectorArray):
60870        * inspector/ScriptCallStack.h:
60871        * inspector/TimelineRecordFactory.cpp:
60872        (WebCore::TimelineRecordFactory::createGenericRecord):
60873        * inspector/front-end/NetworkManager.js:
60874        (WebInspector.NetworkDispatcher.prototype._createResource):
60875
608762011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
60877
60878        Unreviewed, rolling out r81350.
60879        http://trac.webkit.org/changeset/81350
60880        https://bugs.webkit.org/show_bug.cgi?id=56560
60881
60882        "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests"
60883        (Requested by apavlov on #webkit).
60884
60885        * WebCore.gypi:
60886        * platform/graphics/chromium/GLES2Canvas.cpp:
60887        (WebCore::GLES2Canvas::State::State):
60888        (WebCore::GLES2Canvas::clearRect):
60889        (WebCore::GLES2Canvas::fillPath):
60890        (WebCore::GLES2Canvas::fillRect):
60891        (WebCore::GLES2Canvas::clipPath):
60892        (WebCore::GLES2Canvas::restore):
60893        (WebCore::GLES2Canvas::drawTexturedRect):
60894        (WebCore::GLES2Canvas::drawTexturedRectTile):
60895        (WebCore::GLES2Canvas::drawQuad):
60896        * platform/graphics/chromium/GLES2Canvas.h:
60897        * platform/graphics/gpu/BicubicShader.cpp: Removed.
60898        * platform/graphics/gpu/BicubicShader.h: Removed.
60899        * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
60900        * platform/graphics/gpu/ConvolutionShader.h: Removed.
60901        * platform/graphics/gpu/DrawingBuffer.h:
60902        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
60903        (WebCore::SharedGraphicsContext3D::create):
60904        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
60905        * platform/graphics/gpu/SharedGraphicsContext3D.h:
60906        * platform/graphics/skia/GraphicsContextSkia.cpp:
60907        (WebCore::GraphicsContext::setPlatformShadow):
60908        * platform/graphics/skia/PlatformContextSkia.cpp:
60909        (WebCore::PlatformContextSkia::canAccelerate):
60910
609112011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
60912
60913        Reviewed by Yury Semikhatsky.
60914
60915        Web Inspector: Clean up Inspector strings.
60916        https://bugs.webkit.org/show_bug.cgi?id=56557
60917
60918        * English.lproj/localizedStrings.js:
60919
609202011-03-14  Pavel Podivilov  <podivilov@chromium.org>
60921
60922        Reviewed by Yury Semikhatsky.
60923
60924        Web Inspector: refactor event listener breakpoints.
60925        https://bugs.webkit.org/show_bug.cgi?id=56305
60926
60927        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
60928        - store event listener breakpoints in a separate separate setting
60929        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
60930
60931        Test: inspector/debugger/event-listener-breakpoints.html
60932
60933        * inspector/Inspector.idl:
60934        * inspector/InspectorAgent.cpp:
60935        (WebCore::InspectorAgent::setFrontend):
60936        * inspector/InspectorBrowserDebuggerAgent.cpp:
60937        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
60938        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
60939        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
60940        (WebCore::InspectorBrowserDebuggerAgent::clear):
60941        * inspector/InspectorBrowserDebuggerAgent.h:
60942        * inspector/InspectorInstrumentation.cpp:
60943        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
60944        * inspector/front-end/BreakpointManager.js:
60945        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
60946        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
60947        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
60948        (WebInspector.BreakpointManager.prototype._projectChanged):
60949        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
60950        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
60951        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
60952        * inspector/front-end/BreakpointsSidebarPane.js:
60953        (WebInspector.EventListenerBreakpointsSidebarPane):
60954        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
60955        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
60956        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
60957        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
60958        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
60959        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
60960        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
60961        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
60962        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
60963        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
60964        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
60965        * inspector/front-end/CallStackSidebarPane.js:
60966        (WebInspector.CallStackSidebarPane.prototype.update):
60967        (WebInspector.CallStackSidebarPane.prototype.setStatus):
60968        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
60969        * inspector/front-end/ScriptsPanel.js:
60970        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
60971        (WebInspector.ScriptsPanel.prototype._clearInterface):
60972        * inspector/front-end/Settings.js:
60973        (WebInspector.Settings):
60974
609752011-03-16  Stephen White  <senorblanco@chromium.org>
60976
60977        Reviewed by Kenneth Russell.
60978
60979        Implement GPU-accelerated shadows.
60980        https://bugs.webkit.org/show_bug.cgi?id=56476
60981
60982        For hard shadows, we simply offset the CTM and draw in the shadow
60983        color.  For soft shadows, we use a separable Gaussian convolution,
60984        with a bilinear downsample and Mitchell-Netravali upsample in order to
60985        preserve quality.
60986
60987        * WebCore.gypi:
60988        Add BicubicShader and ConvolutionShader to the build.
60989        * platform/graphics/chromium/GLES2Canvas.cpp:
60990        (WebCore::GLES2Canvas::State::State):
60991        Add shadow-related members to the GLES2Canvas::State
60992        (WebCore::GLES2Canvas::State::shadowActive):
60993        Add a helper function to know if shadows are active.
60994        (WebCore::GLES2Canvas::clearRect):
60995        (WebCore::GLES2Canvas::scissorClear):
60996        Refactor the scissor clearing function out of clearRect().
60997        (WebCore::GLES2Canvas::fillPath):
60998        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
60999        (WebCore::GLES2Canvas::fillRect):
61000        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
61001        (WebCore::GLES2Canvas::fillRectInternal):
61002        Rename fillRect() -> fillRectInternal(), which does bind its vertex 
61003        buffer, but does not bind the framebuffer.
61004        (WebCore::GLES2Canvas::setShadowColor):
61005        (WebCore::GLES2Canvas::setShadowOffset):
61006        (WebCore::GLES2Canvas::setShadowBlur):
61007        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
61008        Implement graphicsContext-style setters for shadow parameters.
61009        (WebCore::GLES2Canvas::clipPath):
61010        Call fillPathInternal(), not fillPath().
61011        (WebCore::GLES2Canvas::restore):
61012        (WebCore::GLES2Canvas::drawTexturedRect):
61013        Bind the framebuffer at this level.  Do not bind vertices here (will
61014        be done in drawTexturedQuad).
61015        (WebCore::GLES2Canvas::drawTexturedRectTile):
61016        drawQuad() -> drawTexturedQuad().
61017        (WebCore::GLES2Canvas::convolveRect):
61018        Implement one pass of a convolution filter (X or Y).
61019        (WebCore::gauss):
61020        (WebCore::buildKernel):
61021        Some helper functions to build a Gaussian convolution kernel.
61022        (WebCore::GLES2Canvas::drawTexturedQuad):
61023        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
61024        bind the framebuffer at this level (it will be done higher).
61025        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
61026        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
61027        (WebCore::GLES2Canvas::fillPathInternal):
61028        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
61029        but does not bind the framebuffer or set the compositing mode.
61030        (WebCore::GLES2Canvas::flipRect):
61031        Implement a helper function to flip a rectangle in Y within the canvas.
61032        (WebCore::GLES2Canvas::clearBorders):
61033        Implement a helper function to clear an n-pixel border around a rect.
61034        (WebCore::GLES2Canvas::beginShadowDraw):
61035        Setup before drawing a primitive's shadow:  for hard shadows, just
61036        offset the CTM by the shadow offset.  For soft shadows, bind to an
61037        offscreen DrawingBuffer.
61038        (WebCore::GLES2Canvas::endShadowDraw):
61039        Tear-down after drawing a primitive's shadow:  for hard shadows, just
61040        restore the CTM.  For soft shadows, downsample (if necessary), then
61041        blur in X, blur in Y, upsample if necessary).
61042        * platform/graphics/chromium/GLES2Canvas.h:
61043        * platform/graphics/gpu/BicubicShader.cpp: Added.
61044        (WebCore::BicubicShader::BicubicShader):
61045        (WebCore::BicubicShader::create):
61046        (WebCore::BicubicShader::use):
61047        * platform/graphics/gpu/BicubicShader.h: Added.
61048        Implement a bicubic image filtering shader.
61049        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
61050        (WebCore::ConvolutionShader::ConvolutionShader):
61051        (WebCore::ConvolutionShader::create):
61052        (WebCore::ConvolutionShader::use):
61053        * platform/graphics/gpu/ConvolutionShader.h: Added.
61054        Implement a 1-dimensional convolution shader.  In order to minimize
61055        texture samples, this shader is parameterized at compile time by the
61056        width of the convolution kernel.
61057        * platform/graphics/gpu/DrawingBuffer.h:
61058        (WebCore::DrawingBuffer::colorBuffer):
61059        Add an accessor to retrieve a DrawingBuffer's texture ID.
61060        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
61061        (WebCore::SharedGraphicsContext3D::create):
61062        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
61063        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
61064        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
61065        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
61066        each possible kernel width).
61067        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
61068        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
61069        This is done to minimize the VRAM usage:  only 2 buffers are used for
61070        all canvases.
61071        * platform/graphics/gpu/SharedGraphicsContext3D.h:
61072        Add bicubic and convolution shader members, and useXXX() functions.
61073        * platform/graphics/skia/GraphicsContextSkia.cpp:
61074        (WebCore::GraphicsContext::setPlatformShadow):
61075        Hook into GraphicsContextSkia's platform shadow setters to set
61076        parameters on GLES2Canvas.
61077        * platform/graphics/skia/PlatformContextSkia.cpp:
61078        (WebCore::PlatformContextSkia::canAccelerate):
61079        Remove shadows (loopers) from the list of things we can't accelerate.
61080
610812011-03-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
61082
61083        Reviewed by Andreas Kling.
61084
61085        Tiled backing store should only request repaint for updated areas
61086        https://bugs.webkit.org/show_bug.cgi?id=56464
61087
61088        Reuse updateBackBuffer's dirty rectangle calculations to only
61089        invalidate the necessary parts of the window.
61090
61091        * platform/graphics/Tile.h:
61092        * platform/graphics/TiledBackingStore.cpp:
61093        (WebCore::TiledBackingStore::updateTileBuffers):
61094        * platform/graphics/qt/TileQt.cpp:
61095        (WebCore::Tile::updateBackBuffer):
61096
610972011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
61098
61099        Reviewed by Pavel Feldman.
61100
61101        Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes.
61102        https://bugs.webkit.org/show_bug.cgi?id=56395
61103
61104        * inspector/front-end/DetailedHeapshotGridNodes.js:
61105        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
61106        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
61107        * inspector/front-end/HeapSnapshot.js:
61108        (WebInspector.HeapSnapshotRetainerEdge): Added
61109        (WebInspector.HeapSnapshotRetainerEdgeIterator): Added
61110        (WebInspector.HeapSnapshotNode.prototype.get retainers):
61111        (WebInspector.HeapSnapshot.prototype.dispose):
61112        (WebInspector.HeapSnapshot.prototype.hasId):
61113        (WebInspector.HeapSnapshot.prototype.retainers):
61114        (WebInspector.HeapSnapshot.prototype._buildRetainers):
61115        (WebInspector.HeapSnapshot.prototype._buildIdsList):
61116        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
61117        (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex):
61118        (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
61119        (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
61120        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
61121        (WebInspector.HeapSnapshot.prototype._numbersComparator):
61122        (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge):
61123        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
61124        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
61125        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
61126
611272011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
61128
61129        Unreviewed, rolling out r81243.
61130        http://trac.webkit.org/changeset/81243
61131        https://bugs.webkit.org/show_bug.cgi?id=56471
61132
61133        Breaks GTK 64-bit Debug tests (Requested by podivilov on
61134        #webkit).
61135
61136        * inspector/Inspector.idl:
61137        * inspector/InspectorAgent.cpp:
61138        (WebCore::InspectorAgent::setFrontend):
61139        * inspector/InspectorBrowserDebuggerAgent.cpp:
61140        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
61141        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
61142        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
61143        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
61144        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
61145        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
61146        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
61147        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
61148        (WebCore::InspectorBrowserDebuggerAgent::clear):
61149        * inspector/InspectorBrowserDebuggerAgent.h:
61150        * inspector/InspectorInstrumentation.cpp:
61151        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
61152        * inspector/front-end/BreakpointManager.js:
61153        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
61154        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
61155        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
61156        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
61157        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
61158        (WebInspector.BreakpointManager.prototype._projectChanged):
61159        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
61160        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
61161        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
61162        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
61163        (WebInspector.EventListenerBreakpoint):
61164        (WebInspector.EventListenerBreakpoint.prototype._enable):
61165        (WebInspector.EventListenerBreakpoint.prototype._disable):
61166        (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
61167        (WebInspector.EventListenerBreakpointView):
61168        (WebInspector.EventListenerBreakpointView.eventNameForUI):
61169        (WebInspector.EventListenerBreakpointView.prototype.get eventName):
61170        (WebInspector.EventListenerBreakpointView.prototype.compareTo):
61171        (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement):
61172        (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement):
61173        (WebInspector.EventListenerBreakpointView.prototype._uiEventName):
61174        * inspector/front-end/BreakpointsSidebarPane.js:
61175        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
61176        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
61177        (WebInspector.EventListenerBreakpointsSidebarPane):
61178        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
61179        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
61180        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
61181        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
61182        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged):
61183        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved):
61184        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
61185        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
61186        * inspector/front-end/CallStackSidebarPane.js:
61187        (WebInspector.CallStackSidebarPane.prototype.update):
61188        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
61189        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
61190        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
61191        * inspector/front-end/ScriptsPanel.js:
61192        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
61193        (WebInspector.ScriptsPanel.prototype._clearInterface):
61194        * inspector/front-end/Settings.js:
61195        (WebInspector.Settings):
61196
611972011-03-17  Adam Barth  <abarth@webkit.org>
61198
61199        Reviewed by Eric Seidel.
61200
61201        Add more ObjC++ files to the build
61202        https://bugs.webkit.org/show_bug.cgi?id=56548
61203
61204        96 link errors.
61205
61206        * WebCore.gypi:
61207        * gyp/WebCore.gyp:
61208
612092011-03-17  Adam Barth  <abarth@webkit.org>
61210
61211        Reviewed by Eric Seidel.
61212
61213        Add a few Objective-C++ files to the WebCore GYP build
61214        https://bugs.webkit.org/show_bug.cgi?id=56547
61215
61216        464 link errors.
61217
61218        * gyp/WebCore.gyp:
61219
612202011-03-17  Yuta Kitamura  <yutak@chromium.org>
61221
61222        Unreviewed build fix.
61223
61224        Non-ASCII characters in XMLTreeViewer.{cpp,h}
61225        https://bugs.webkit.org/show_bug.cgi?id=56549
61226
61227        * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents.
61228        * xml/XMLTreeViewer.h: Ditto.
61229
612302011-03-17  Adam Barth  <abarth@webkit.org>
61231
61232        Reviewed by Eric Seidel.
61233
61234        Add plugins and bridge to the WebCore GYP build
61235        https://bugs.webkit.org/show_bug.cgi?id=56546
61236
61237        506 link errors.
61238
61239        * gyp/WebCore.gyp:
61240
612412011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
61242
61243        Reviewed by Alexey Proskuryakov.
61244
61245        Logic error in -[WebHTMLView close]
61246        https://bugs.webkit.org/show_bug.cgi?id=56445
61247
61248        The function setDraggingImageURL() is no longer called and can be deleted.
61249
61250        No new tests. Deleting dead code.
61251
61252        * page/DragController.h:
61253
612542011-03-16  Naoki Takano  <takano.naoki@gmail.com>
61255
61256        Reviewed by Ryosuke Niwa.
61257
61258        Textarea maxlength doesn't account for newlines
61259        https://bugs.webkit.org/show_bug.cgi?id=54443
61260
61261        When a user presses a return key, TypingCommand::insertLineBreak() is called.
61262        So before append a new line, check if we can add the new line.
61263
61264        * editing/TypingCommand.cpp:
61265        (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line.
61266        (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line.
61267        (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line.
61268
612692011-03-16  Adam Barth  <abarth@webkit.org>
61270
61271        Reviewed by Eric Seidel.
61272
61273        WebCore GYP build should build more derived sources
61274        https://bugs.webkit.org/show_bug.cgi?id=56529
61275
61276        This patch brings us down to 597 link errors.
61277
61278        * gyp/WebCore.gyp:
61279
612802011-03-16  Adam Barth  <abarth@webkit.org>
61281
61282        Reviewed by Eric Seidel.
61283
61284        WebCore GYP should build (most) remaining source files
61285        https://bugs.webkit.org/show_bug.cgi?id=56515
61286
61287        We're still not building all the files and we have 1305 link errors,
61288        but this patch is progress.
61289
61290        * WebCore.gypi:
61291        * gyp/WebCore.gyp:
61292        * plugins/PluginStream.cpp:
61293
612942011-03-16  Dan Bernstein  <mitz@apple.com>
61295
61296        Reviewed by Alexey Proskuryakov.
61297
61298        Update the default navigator.vendor value
61299        https://bugs.webkit.org/show_bug.cgi?id=56449
61300
61301        * page/NavigatorBase.cpp: Updated the default value of
61302        WEBCORE_NAVIGATOR_VENDOR.
61303
613042011-03-16  John Bauman  <jbauman@chromium.org>
61305
61306        Reviewed by James Robinson.
61307
61308        texImage2D gets old contents of canvas
61309        https://bugs.webkit.org/show_bug.cgi?id=56414
61310
61311        Always update the canvas contents in copiedImage, as there's no reason
61312        to ask for an out-of-date image.
61313
61314        * html/HTMLCanvasElement.cpp:
61315        (WebCore::HTMLCanvasElement::copiedImage):
61316
613172011-03-16  Adam Barth  <abarth@webkit.org>
61318
61319        Reviewed by James Robinson.
61320
61321        Remove USE(BUILTIN_UTF8_CODEC)
61322        https://bugs.webkit.org/show_bug.cgi?id=56508
61323
61324        * platform/text/TextCodecICU.cpp:
61325        (WebCore::TextCodecICU::registerEncodingNames):
61326        * platform/text/TextEncodingRegistry.cpp:
61327        (WebCore::buildBaseTextCodecMaps):
61328
613292011-03-16  Joseph Pecoraro  <joepeck@webkit.org>
61330
61331        Reviewed by Kenneth Rohde Christiansen.
61332
61333        Viewport no longer allows an auto value for "user-scalable"
61334        https://bugs.webkit.org/show_bug.cgi?id=55416
61335
61336        This restores our behavior before r67376 the default "user-scalable"
61337        behavior can be defined by a WebKit client if a value was not
61338        explicitly provided in web content (via the viewport <meta> tag).
61339        Here, all WebKit ports default to "yes" after computing
61340        viewport arguments. However, in the future they may consider
61341        changing the default user-scalable value based on the type
61342        of the document being viewed, a user preference, or other reasons.
61343
61344        Covered by existing tests. Should be no changes.
61345
61346        * dom/ViewportArguments.cpp:
61347        (WebCore::computeViewportAttributes): be explicit about 0.
61348        (WebCore::findUserScalableValue): convert to return a float, the instance variable type.
61349        * dom/ViewportArguments.h:
61350        (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to
61351        allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the
61352        WebKit client.
61353
613542011-03-16  David Levin  <levin@chromium.org>
61355
61356        Reviewed by Dmitry Titov.
61357
61358        REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test".
61359
61360        Conditional jump or move depends on uninitialised value(s)
61361            WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117)
61362
61363        * page/Settings.cpp:
61364        (WebCore::Settings::Settings):
61365
613662011-03-16  Beth Dakin  <bdakin@apple.com>
61367
61368        Reviewed by Darin Adler.
61369
61370        Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay 
61371        scrollbars thumb in overflow regions does not work
61372        -and corresponding-
61373        <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow 
61374        regions does not work
61375
61376        Up until now, overlay scrollbars have always been treated in the Render Tree as if 
61377        they have a thickness of 0 because they should not affect layout. However, it is 
61378        important to consider their size when hit-testing because otherwise, we have this 
61379        bug! This patch adds a boolean parameter to overflowClipRect(), 
61380        RenderLayer::verticalScrollbarWidth(), and 
61381        RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include 
61382        the actual overlay scrollbar thickness. It defaults to false and is only sent is 
61383        as true from RenderBloc::nodeAtPoint().
61384
61385        * rendering/RenderBlock.cpp:
61386        (WebCore::RenderBlock::nodeAtPoint):
61387        * rendering/RenderBox.cpp:
61388        (WebCore::RenderBox::overflowClipRect):
61389        * rendering/RenderBox.h:
61390        * rendering/RenderLayer.cpp:
61391        (WebCore::RenderLayer::verticalScrollbarWidth):
61392        (WebCore::RenderLayer::horizontalScrollbarHeight):
61393        * rendering/RenderLayer.h:
61394        * rendering/RenderTable.cpp:
61395        (WebCore::RenderTable::overflowClipRect):
61396        * rendering/RenderTable.h:
61397
613982011-03-16  Keith Kyzivat  <keith.kyzivat@nokia.com>
61399
61400        Reviewed by Andreas Kling.
61401
61402        [Qt] Fix std::swap not found issue on mobile Qt devices.
61403        https://bugs.webkit.org/show_bug.cgi?id=56463
61404
61405        Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found
61406        on some Qt mobile devices.
61407
61408        No new tests: No tests needed - compilation verified manually.
61409
61410        * platform/text/qt/TextBreakIteratorQt.cpp:
61411        (WebCore::acquireLineBreakIterator):
61412
614132011-03-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
61414
61415        Reviewed by Kenneth Rohde Christiansen.
61416
61417        [Qt] WebGL content not shown when accelerated compositing is enabled
61418        https://bugs.webkit.org/show_bug.cgi?id=56339
61419
61420        Removed all previously implemented WebGL code from GraphicsLayerQt
61421        because API has changed. GraphicsContext3D provides PlatformLayer
61422        that is added as a child of GraphicsLayer and is therefore painted
61423        through QGraphicsView pipeline.
61424
61425        * platform/graphics/GraphicsContext3D.h:
61426        * platform/graphics/qt/GraphicsContext3DQt.cpp:
61427        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
61428        (WebCore::GraphicsContext3DInternal::paint):
61429        (WebCore::GraphicsContext3DInternal::boundingRect):
61430        (WebCore::GraphicsContext3D::platformLayer):
61431        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
61432        (WebCore::GraphicsContext3D::reshape):
61433        * platform/graphics/qt/GraphicsLayerQt.cpp:
61434        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
61435        (WebCore::GraphicsLayerQtImpl::paint):
61436        (WebCore::GraphicsLayerQtImpl::flushChanges):
61437        (WebCore::GraphicsLayerQt::setContentsToCanvas):
61438        * platform/graphics/qt/GraphicsLayerQt.h:
61439
614402011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
61441
61442        Reviewed by Tony Chang.
61443
61444        Get rid of nearestMailBlockquote
61445        https://bugs.webkit.org/show_bug.cgi?id=56439
61446
61447        Removed nearestMailBlockquote and replaced the calls to the function by calls
61448        to enclosingNodeOfType and highestEnclosingNodeOfType.
61449        
61450        Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to
61451        respect editing boundaries.  Added a test for the former command.
61452
61453        Test: editing/execCommand/break-non-editable-blockquote.html
61454
61455        * editing/BreakBlockquoteCommand.cpp:
61456        (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary
61457        when looking for a Mail blockquote.
61458        * editing/DeleteSelectionCommand.cpp:
61459        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
61460        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
61461        * editing/ReplaceSelectionCommand.cpp:
61462        (WebCore::hasMatchingQuoteLevel):
61463        (WebCore::handleStyleSpansBeforeInsertion):
61464        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
61465        (WebCore::ReplaceSelectionCommand::doApply):
61466        * editing/htmlediting.cpp:
61467        (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance.
61468        (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check.
61469        * editing/htmlediting.h:
61470        (WebCore::firstPositionInOrBeforeNode): Added a null pointer check.
61471        (WebCore::lastPositionInOrAfterNode): Ditto.
61472        * editing/markup.cpp:
61473        (WebCore::highestAncestorToWrapMarkup):
61474        (WebCore::createMarkup):
61475
614762011-03-16  Jer Noble  <jer.noble@apple.com>
61477
61478        Reviewed by Beth Dakin.
61479
61480        RenderFullScreen::createFullScreenStyle() leaks
61481        https://bugs.webkit.org/show_bug.cgi?id=53384
61482
61483        Two problems: a) not calling release() on the style returned in setFullScreenRenderer
61484        causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed,
61485        not just detached, when it is no longer needed.
61486
61487        * dom/Document.cpp:
61488        (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set.
61489        * rendering/RenderFullScreen.cpp:
61490        (RenderFullScreen::createFullScreenStyle): release() the return value.
61491
614922011-03-16  Mike Reed  <reed@google.com>
61493
61494        Reviewed by James Robinson.
61495
61496        Reestablish typeface/size/encoding when drawing stroked text
61497        https://bugs.webkit.org/show_bug.cgi?id=56481
61498
61499        No new tests. LayoutTests/svg/css/composite-shadow-text.svg
61500
61501        * platform/graphics/skia/SkiaFontWin.cpp:
61502        (WebCore::paintSkiaText):
61503
615042011-03-16  Daniel Sievers  <sievers@google.com>
61505
61506        Reviewed by James Robinson.
61507
61508        Add setting to always force compositing mode
61509        https://bugs.webkit.org/show_bug.cgi?id=56156
61510
61511        No new tests needed as this defaults to disabled (and is unfeasible
61512        to be tested through property overriding at runtime).
61513
61514        * page/Settings.h:
61515        (WebCore::Settings::setForceCompositingMode):
61516        (WebCore::Settings::forceCompositingMode):
61517        * rendering/RenderLayerCompositor.cpp:
61518        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
61519        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
61520        * rendering/RenderLayerCompositor.h:
61521
615222011-03-16  Vangelis Kokkevis  <vangelis@chromium.org>
61523
61524        Reviewed by Kenneth Russell.
61525
61526        [chromium] Fixing backface visibility for transformed layers.
61527        https://bugs.webkit.org/show_bug.cgi?id=56237
61528
61529        Test: platform/chromium/compositing/backface-visibility-transformed.html
61530
61531        * platform/graphics/chromium/LayerRendererChromium.cpp:
61532        (WebCore::LayerRendererChromium::drawLayer):
61533
615342011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
61535
61536        Reviewed by Darin Adler.
61537
61538        REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts.
61539        https://bugs.webkit.org/show_bug.cgi?id=56469
61540
61541        Technically, this is not a regression, but rather uncovering of an old
61542        problem. When the RenderSlider::layout was written, the layout state was
61543        pushed with a wrong offset. However, since the whole slider track was
61544        always repainted, the problem didn't manifest itself until we actually
61545        started being more precise in our repaints.
61546
61547        Test: fast/repaint/slider-thumb-float.html
61548
61549        * rendering/RenderSlider.cpp:
61550        (WebCore::RenderSlider::layout): Changed to pass actual thumb offset
61551        to the LayoutStateMaintainer, rather than thumb size.
61552
615532011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
61554
61555        Reviewed by Eric Carlson.
61556
61557        Add play state callbacks to MediaControls, kill timeUpdate timer.
61558        https://bugs.webkit.org/show_bug.cgi?id=56473
61559
61560        No change in behavior, covered by existing tests.
61561
61562        * html/HTMLMediaElement.cpp:
61563        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to
61564            media controls.
61565        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
61566        * html/shadow/MediaControls.cpp:
61567        (WebCore::MediaControls::MediaControls): Removed initialization of the timer.
61568        (WebCore::MediaControls::playbackProgressed): Added.
61569        (WebCore::MediaControls::playbackStarted): Added, for now routing to just
61570            call playbackProgressed.
61571        (WebCore::MediaControls::playbackStopped): Ditto.
61572        (WebCore::MediaControls::update): Removed the code to start/stop the
61573            timer that's now gone.
61574        * html/shadow/MediaControls.h: Removed timer decls.
61575
615762011-03-16  Bill Budge  <bbudge@chromium.org>
61577
61578        Reviewed by David Levin.
61579
61580        DocumentThreadableLoaderClient needs a protected default Constructor
61581        https://bugs.webkit.org/show_bug.cgi?id=56479
61582
61583        No new tests. Exposes no new functionality.
61584
61585        * loader/DocumentThreadableLoaderClient.h:
61586        (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient):
61587
615882011-03-16  David Levin  <levin@chromium.org>
61589
61590        Chromium Leopard build fix attempt #2.
61591
61592        Same error as before.
61593        * bindings/v8/V8GCController.cpp:
61594
615952011-03-16  David Levin  <levin@chromium.org>
61596
61597        Chromium Leopard build fix attempt.
61598
61599        The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace.
61600
61601        * bindings/v8/V8GCController.cpp:
61602
616032011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
61604
61605        Reviewed by Dimitri Glazkov and Darin Adler.
61606
61607        Node::isContentEditable should always call parentNode() instead of parentOrHostNode()
61608        https://bugs.webkit.org/show_bug.cgi?id=56472
61609
61610        Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode().
61611        Node::isContentEditable now calls parentNode() on all nodes.
61612
61613        No tests are added since this behavior change is not visible to scripts at the moment.
61614
61615        * dom/Node.cpp:
61616        (WebCore::Node::isContentEditable):
61617
616182011-03-16  Chris Fleizach  <cfleizach@apple.com>
61619
61620        Reviewed by Darin Adler.
61621
61622        WK2: Need to propagate enhanced accessibility flag from UI -> web process
61623        https://bugs.webkit.org/show_bug.cgi?id=56379
61624
61625        Allow the enhanced accessibility flag to be toggleable. 
61626
61627        * accessibility/AXObjectCache.h:
61628        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
61629
616302011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
61631
61632        [Qt] Buildfix after r81230.
61633
61634        * WebCore.pri: Missing include path added.
61635
616362011-03-15  Oliver Hunt  <oliver@apple.com>
61637
61638        Reviewed by Geoffrey Garen.
61639
61640        Make Structure creation require a JSGlobalData
61641        https://bugs.webkit.org/show_bug.cgi?id=56438
61642
61643        Mechanical change to make all structure creation use GlobalData
61644
61645        * bindings/js/JSAudioConstructor.cpp:
61646        (WebCore::JSAudioConstructor::JSAudioConstructor):
61647        * bindings/js/JSAudioConstructor.h:
61648        (WebCore::JSAudioConstructor::createStructure):
61649        * bindings/js/JSDOMBinding.h:
61650        (WebCore::DOMObjectWithGlobalPointer::createStructure):
61651        (WebCore::DOMConstructorObject::createStructure):
61652        (WebCore::getDOMStructure):
61653        * bindings/js/JSDOMGlobalObject.h:
61654        (WebCore::JSDOMGlobalObject::createStructure):
61655        * bindings/js/JSDOMWindowBase.h:
61656        (WebCore::JSDOMWindowBase::createStructure):
61657        * bindings/js/JSDOMWindowShell.cpp:
61658        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
61659        (WebCore::JSDOMWindowShell::setWindow):
61660        * bindings/js/JSDOMWindowShell.h:
61661        (WebCore::JSDOMWindowShell::createStructure):
61662        * bindings/js/JSImageConstructor.cpp:
61663        (WebCore::JSImageConstructor::JSImageConstructor):
61664        * bindings/js/JSImageConstructor.h:
61665        (WebCore::JSImageConstructor::createStructure):
61666        * bindings/js/JSImageDataCustom.cpp:
61667        (WebCore::toJS):
61668        * bindings/js/JSOptionConstructor.cpp:
61669        (WebCore::JSOptionConstructor::JSOptionConstructor):
61670        * bindings/js/JSOptionConstructor.h:
61671        (WebCore::JSOptionConstructor::createStructure):
61672        * bindings/js/JSWorkerContextBase.h:
61673        (WebCore::JSWorkerContextBase::createStructure):
61674        * bindings/js/WorkerScriptController.cpp:
61675        (WebCore::WorkerScriptController::initScript):
61676        * bindings/scripts/CodeGeneratorJS.pm:
61677        * bridge/c/CRuntimeObject.h:
61678        (JSC::Bindings::CRuntimeObject::createStructure):
61679        * bridge/c/c_instance.cpp:
61680        (JSC::Bindings::CRuntimeMethod::createStructure):
61681        * bridge/jni/jsc/JavaInstanceJSC.cpp:
61682        (JavaRuntimeMethod::createStructure):
61683        * bridge/jni/jsc/JavaRuntimeObject.h:
61684        (JSC::Bindings::JavaRuntimeObject::createStructure):
61685        * bridge/objc/ObjCRuntimeObject.h:
61686        (JSC::Bindings::ObjCRuntimeObject::createStructure):
61687        * bridge/objc/objc_instance.mm:
61688        (ObjCRuntimeMethod::createStructure):
61689        * bridge/objc/objc_runtime.h:
61690        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
61691        * bridge/runtime_array.h:
61692        (JSC::RuntimeArray::createStructure):
61693        * bridge/runtime_method.h:
61694        (JSC::RuntimeMethod::createStructure):
61695        * bridge/runtime_object.h:
61696        (JSC::Bindings::RuntimeObject::createStructure):
61697
616982011-03-16  Pratik Solanki  <psolanki@apple.com>
61699
61700        Reviewed by Alexey Proskuryakov.
61701
61702        REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001
61703        https://bugs.webkit.org/show_bug.cgi?id=56345
61704
61705        Add NULL check for Content-Type header field.
61706
61707        Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html
61708
61709        * platform/network/mac/WebCoreURLResponse.mm:
61710        (WebCore::adjustMIMETypeIfNecessary):
61711
617122011-03-15  Levi Weintraub  <leviw@chromium.org>
61713
61714        Reviewed by Ryosuke Niwa.
61715
61716        REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior
61717        https://bugs.webkit.org/show_bug.cgi?id=56407
61718
61719        Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that
61720        weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that
61721        have had children appended to them that editing wouldn't normally allow.
61722
61723        Tests: editing/style/iframe-onload-crash-mac.html
61724               editing/style/iframe-onload-crash-unix.html
61725               editing/style/iframe-onload-crash-win.html
61726
61727        * editing/TextIterator.cpp:
61728        (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range.
61729        * editing/htmlediting.cpp:
61730        (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children
61731        for hr and datagrid, as you can append any node to another using javascript.
61732
617332011-03-16  Mikhail Naganov  <mnaganov@chromium.org>
61734
61735        Reviewed by Pavel Feldman.
61736
61737        [Chromium] Report object groups and single DOM-related objects
61738        to the new heap profiler.
61739        https://bugs.webkit.org/show_bug.cgi?id=53659
61740
61741        * Android.v8bindings.mk:
61742        * WebCore.gypi:
61743        * WebCore.pro:
61744        * bindings/scripts/CodeGeneratorV8.pm:
61745        * bindings/v8/RetainedDOMInfo.cpp: Added.
61746        (WebCore::RetainedDOMInfo::RetainedDOMInfo):
61747        * bindings/v8/RetainedDOMInfo.h: Added.
61748        * bindings/v8/RetainedObjectInfo.h: Added.
61749        * bindings/v8/ScriptProfiler.cpp:
61750        (WebCore::retainedDOMInfo):
61751        (WebCore::ScriptProfiler::initialize):
61752        * bindings/v8/ScriptProfiler.h:
61753        * bindings/v8/V8DOMWindowShell.cpp:
61754        (WebCore::V8DOMWindowShell::initContextIfNeeded):
61755        * bindings/v8/V8GCController.cpp:
61756        (WebCore::GroupId::GrouperItem::GrouperItem):
61757        (WebCore::GroupId::GrouperItem::groupId):
61758        (WebCore::GroupId::GrouperItem::createRetainedObjectInfo):
61759        (WebCore::calculateGroupId):
61760        (WebCore::GrouperVisitor::visitDOMWrapper):
61761        (WebCore::GrouperVisitor::applyGrouping):
61762        * bindings/v8/WrapperTypeInfo.h:
61763        * inspector/front-end/DetailedHeapshotGridNodes.js:
61764        (WebInspector.HeapSnapshotConstructorNode):
61765        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
61766        (WebInspector.HeapSnapshotDiffNode):
61767        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
61768        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
61769        * inspector/front-end/DetailedHeapshotView.js:
61770        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
61771        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
61772        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
61773        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
61774        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
61775        (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot):
61776        (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
61777        * inspector/front-end/HeapSnapshot.js:
61778        (WebInspector.HeapSnapshotNode.prototype.get className):
61779        (WebInspector.HeapSnapshot.prototype._buildAggregates):
61780        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
61781        (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
61782        * inspector/front-end/heapProfiler.css:
61783        (.detailed-heapshot-view .retaining-paths-view .title > span):
61784        (.detailed-heapshot-view .retaining-paths-to-windows):
61785
617862011-03-16  Sam Weinig  <sam@webkit.org>
61787
61788        Reviewed by Adam Roben.
61789
61790        Add WebKit2 API to figure out if an input or textarea was edited
61791        https://bugs.webkit.org/show_bug.cgi?id=56474
61792
61793        Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
61794        and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited]
61795        as well as API in WebKit2.
61796
61797        * WebCore.exp.in:
61798        * bindings/objc/DOMHTML.mm:
61799        (-[DOMHTMLInputElement _isEdited]):
61800        (-[DOMHTMLTextAreaElement _isEdited]):
61801        * html/HTMLInputElement.cpp:
61802        (WebCore::HTMLInputElement::lastChangeWasUserEdit):
61803        * html/HTMLInputElement.h:
61804        * html/HTMLTextAreaElement.cpp:
61805        (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit):
61806        * html/HTMLTextAreaElement.h:
61807
618082011-03-15  Pavel Feldman  <pfeldman@chromium.org>
61809
61810        Reviewed by Yury Semikhatsky.
61811
61812        Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
61813        https://bugs.webkit.org/show_bug.cgi?id=56376
61814
61815        * inspector/InspectorBrowserDebuggerAgent.cpp:
61816        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
61817        * inspector/front-end/DOMAgent.js:
61818        (WebInspector.DOMAgent.prototype._setDocument):
61819
618202011-03-16  Dan Bernstein  <mitz@apple.com>
61821
61822        Reviewed by Simon Fraser.
61823
61824        text-combine text retains compressed font after adding characters to it
61825        https://bugs.webkit.org/show_bug.cgi?id=56448
61826
61827        Test: fast/dynamic/text-combine.html
61828
61829        * css/CSSStyleSelector.cpp:
61830        (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since
61831        only the clones on the RenderCombineText will be mutated.
61832        * rendering/RenderCombineText.cpp:
61833        (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
61834        style.
61835        (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
61836        the text cannot be combined.
61837        * rendering/RenderCombineText.h:
61838        (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
61839
618402011-03-14  Pavel Podivilov  <podivilov@chromium.org>
61841
61842        Reviewed by Yury Semikhatsky.
61843
61844        Web Inspector: refactor event listener breakpoints.
61845        https://bugs.webkit.org/show_bug.cgi?id=56305
61846
61847        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
61848        - store event listener breakpoints in a separate separate setting
61849        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
61850
61851        Test: inspector/debugger/event-listener-breakpoints.html
61852
61853        * inspector/Inspector.idl:
61854        * inspector/InspectorAgent.cpp:
61855        (WebCore::InspectorAgent::setFrontend):
61856        * inspector/InspectorBrowserDebuggerAgent.cpp:
61857        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
61858        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
61859        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
61860        (WebCore::InspectorBrowserDebuggerAgent::clear):
61861        * inspector/InspectorBrowserDebuggerAgent.h:
61862        * inspector/InspectorInstrumentation.cpp:
61863        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
61864        * inspector/front-end/BreakpointManager.js:
61865        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
61866        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
61867        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
61868        (WebInspector.BreakpointManager.prototype._projectChanged):
61869        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
61870        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
61871        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
61872        * inspector/front-end/BreakpointsSidebarPane.js:
61873        (WebInspector.EventListenerBreakpointsSidebarPane):
61874        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
61875        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
61876        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
61877        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
61878        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
61879        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
61880        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
61881        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
61882        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
61883        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
61884        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
61885        * inspector/front-end/CallStackSidebarPane.js:
61886        (WebInspector.CallStackSidebarPane.prototype.update):
61887        (WebInspector.CallStackSidebarPane.prototype.setStatus):
61888        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
61889        * inspector/front-end/ScriptsPanel.js:
61890        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
61891        (WebInspector.ScriptsPanel.prototype._clearInterface):
61892        * inspector/front-end/Settings.js:
61893        (WebInspector.Settings):
61894
618952011-03-16  David Kilzer  <ddkilzer@apple.com>
61896
61897        Minor clean-up after r81156, r81172
61898
61899        Follow-up for:
61900        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
61901
61902        * platform/graphics/GraphicsLayer.h: Removed unused @class
61903        WebLayer declaration.
61904        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
61905        struct CAPropertyAnimation to class declaration.
61906
619072011-03-16  Andrey Adaikin  <aandrey@google.com>
61908
61909        Reviewed by Yury Semikhatsky.
61910
61911        Web Inspector: Remove live-edit code
61912        https://bugs.webkit.org/show_bug.cgi?id=56177
61913
61914        * inspector/front-end/Settings.js:
61915        * inspector/front-end/SourceFrame.js:
61916        (WebInspector.SourceFrame):
61917        (WebInspector.SourceFrame.prototype._doubleClick):
61918        * inspector/front-end/TextViewer.js:
61919        (WebInspector.TextEditorMainPanel):
61920        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
61921
619222011-03-16  Alexis Menard  <alexis.menard@openbossa.org>
61923
61924        Reviewed by Martin Robinson.
61925
61926        [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it.
61927        https://bugs.webkit.org/show_bug.cgi?id=56403
61928
61929        In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING);
61930        As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched
61931        i.e the pause() made when beginScrubbing is done is just internal.
61932
61933        No new tests: Verified manually.
61934
61935        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
61936        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
61937
619382011-03-16  Adam Barth  <abarth@webkit.org>
61939
61940        Reviewed by Eric Seidel.
61941
61942        WebCore GYP build should build platform/
61943        https://bugs.webkit.org/show_bug.cgi?id=56430
61944
61945        Adding platform/ to the GYP build required disabling
61946        ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent
61947        style issues.  I suspect we'll end up excluding some of these files
61948        from the build in the final analysis, but we might as well fix the
61949        style errors while we're here.
61950
61951        * bindings/js/JSMainThreadExecState.h:
61952        * bindings/js/ScheduledAction.h:
61953        * css/CSSPrimitiveValueCache.cpp:
61954        * gyp/WebCore.gyp:
61955        * platform/KillRingNone.cpp:
61956        (WebCore::KillRing::append):
61957        (WebCore::KillRing::prepend):
61958        * platform/graphics/ContextShadow.h:
61959        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
61960        (WebCore::LoopBlinnPathProcessor::buildContours):
61961        (WebCore::TessellationState::combineCallback):
61962        * platform/graphics/gpu/PODRedBlackTree.h:
61963        (WebCore::PODRedBlackTree::updateNode):
61964        (WebCore::PODRedBlackTree::logIfVerbose):
61965        * platform/graphics/opengl/TextureMapperGL.cpp:
61966        * platform/graphics/opengl/TextureMapperGL.h:
61967        * platform/graphics/texmap/TextureMapper.h:
61968        (WebCore::BitmapTexture::save):
61969        (WebCore::TextureMapper::paintToTarget):
61970        * platform/graphics/texmap/TextureMapperNode.h:
61971
619722011-03-15  Philippe Normand  <pnormand@igalia.com>
61973
61974        Reviewed by Eric Carlson.
61975
61976        [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails
61977        https://bugs.webkit.org/show_bug.cgi?id=56370
61978
61979        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
61980        (WebCore::mediaPlayerPrivateMessageCallback): Let the
61981        mediaPlayerClient handle the stream error, in this case the
61982        HTMLMediaElement will emit a stalled event.
61983
619842011-03-10  Philippe Normand  <pnormand@igalia.com>
61985
61986        Reviewed by Martin Robinson.
61987
61988        [GStreamer] Frame accurate seeking isn't always accurate
61989        https://bugs.webkit.org/show_bug.cgi?id=55217
61990
61991        Attempt to build the seek GstClockTime position by converting the
61992        float time value to a GTimeVal value rounded at microsecond
61993        precision. Additionally perform the seek with the ACCURATE seek
61994        flag. These modifications at least fix this manual-test:
61995        http://www.massive-interactive.nl/html5_video/smpte_test_universal.html
61996
61997        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
61998        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
61999        (WebCore::MediaPlayerPrivateGStreamer::seek):
62000        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
62001
620022011-03-15  Yury Semikhatsky  <yurys@chromium.org>
62003
62004        Reviewed by Pavel Feldman.
62005
62006        Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests
62007        https://bugs.webkit.org/show_bug.cgi?id=56389
62008
62009        Instead of sending one big request populateScriptObjects each agent requests
62010        for initial data in its constructor.
62011        
62012        * inspector/Inspector.idl:
62013        * inspector/InspectorAgent.cpp:
62014        (WebCore::InspectorAgent::InspectorAgent):
62015        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
62016        (WebCore::InspectorAgent::setFrontend):
62017        (WebCore::InspectorAgent::pushDataCollectedOffline):
62018        (WebCore::InspectorAgent::getPreferredPanel):
62019        * inspector/InspectorAgent.h:
62020        * inspector/InspectorDOMAgent.cpp:
62021        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
62022        (WebCore::InspectorDOMAgent::setFrontend):
62023        (WebCore::InspectorDOMAgent::restore):
62024        * inspector/InspectorDOMAgent.h:
62025        (WebCore::InspectorDOMAgent::create):
62026        * inspector/InspectorDebuggerAgent.cpp:
62027        (WebCore::InspectorDebuggerAgent::setFrontend):
62028        * inspector/InspectorDebuggerAgent.h:
62029        * inspector/InspectorProfilerAgent.h:
62030        (WebCore::InspectorProfilerAgent::isEnabled):
62031        * inspector/front-end/ProfilesPanel.js:
62032        (WebInspector.ProfilesPanel):
62033        * inspector/front-end/ScriptsPanel.js:
62034        (WebInspector.ScriptsPanel):
62035        * inspector/front-end/inspector.js:
62036
620372011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
62038
62039        Reviewed by Darin Adler.
62040
62041        Devirtualize isContentEditable and isRichlyContentEditable
62042        https://bugs.webkit.org/show_bug.cgi?id=56421
62043
62044        Rewrote Node::isContentEditable as a non-recursive non-virtual function.
62045
62046        * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable.
62047        * dom/Document.h: Ditto.
62048        * dom/Node.cpp:
62049        (WebCore::Node::isContentEditable): Rewritten.
62050        * dom/Node.h:
62051        (WebCore::Node::isContentEditable): Calls isContentEditable(Editable).
62052        (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable).
62053        * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable.
62054        * html/HTMLElement.h: Ditto.
62055
620562011-03-15  Adam Barth  <abarth@webkit.org>
62057
62058        Reviewed by Eric Seidel.
62059
62060        WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/
62061        https://bugs.webkit.org/show_bug.cgi?id=56412
62062
62063        Yay for smooth sailing.
62064
62065        * gyp/WebCore.gyp:
62066
620672011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
62068
62069        Reviewed by Kent Tamura.
62070
62071        REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved
62072        https://bugs.webkit.org/show_bug.cgi?id=56059
62073
62074        Test: fast/dom/HTMLInputElement/input-slider-update-styled.html
62075
62076        * html/RangeInputType.cpp:
62077        (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue.
62078        * html/shadow/SliderThumbElement.cpp:
62079        (WebCore::SliderThumbElement::setPositionFromValue): Added.
62080        (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint.
62081        (WebCore::SliderThumbElement::setPositionFromPoint): Ditto.
62082        (WebCore::SliderThumbElement::defaultEventHandler): Ditto.
62083        * html/shadow/SliderThumbElement.h: Added decls.
62084
620852011-03-15  David Levin  <levin@chromium.org>
62086
62087        Attempted build fix following r81213. Same song second verse.
62088
62089        * platform/image-encoders/skia/PNGImageEncoder.cpp:
62090        (WebCore::encodePixels):
62091
620922011-03-15  David Levin  <levin@chromium.org>
62093
62094        Attempted build fix for Chromium OSX release build following r81213.
62095
62096        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
62097        (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call.
62098
620992011-03-15  John Bauman  <jbauman@chromium.org>
62100
62101        Reviewed by Kenneth Russell.
62102
62103        Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D
62104        https://bugs.webkit.org/show_bug.cgi?id=56238
62105
62106       Attempt to get an ImageData (non-premultiplied) from a WebGL canvas
62107       instead of getting an ImageBuffer, so there's a chance the data can be
62108       passed straight through to the consumer with no premultiplication
62109       necessary. Fixes Chromium and Safari.
62110
62111        Test: fast/canvas/webgl/premultiplyalpha-test.html
62112
62113        * html/HTMLCanvasElement.cpp:
62114        (WebCore::HTMLCanvasElement::toDataURL):
62115        (WebCore::HTMLCanvasElement::getImageData):
62116        * html/HTMLCanvasElement.h:
62117        * html/canvas/WebGLRenderingContext.cpp:
62118        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
62119        (WebCore::WebGLRenderingContext::texImage2D):
62120        (WebCore::WebGLRenderingContext::texSubImage2D):
62121        * html/canvas/WebGLRenderingContext.h:
62122        * platform/graphics/GraphicsContext3D.h:
62123        * platform/graphics/ImageBuffer.h:
62124        * platform/graphics/cg/ImageBufferCG.cpp:
62125        (WebCore::CGImageToDataURL):
62126        (WebCore::ImageBuffer::toDataURL):
62127        (WebCore::ImageDataToDataURL):
62128        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
62129        (WebCore::GraphicsContext3D::validateAttributes):
62130        (WebCore::GraphicsContext3D::readRenderingResults):
62131        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
62132        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
62133        * platform/graphics/qt/GraphicsContext3DQt.cpp:
62134        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
62135        * platform/graphics/skia/ImageBufferSkia.cpp:
62136        (WebCore::ImageToDataURL):
62137        (WebCore::ImageBuffer::toDataURL):
62138        (WebCore::ImageDataToDataURL):
62139        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
62140        (WebCore::preMultipliedBGRAtoRGB):
62141        (WebCore::RGBAtoRGB):
62142        (WebCore::encodePixels):
62143        (WebCore::JPEGImageEncoder::encode):
62144        * platform/image-encoders/skia/JPEGImageEncoder.h:
62145        * platform/image-encoders/skia/PNGImageEncoder.cpp:
62146        (WebCore::preMultipliedBGRAtoRGBA):
62147        (WebCore::encodePixels):
62148        (WebCore::PNGImageEncoder::encode):
62149        * platform/image-encoders/skia/PNGImageEncoder.h:
62150
621512011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
62152
62153        [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled.
62154        
62155        * storage/IDBDatabaseCallbacksImpl.cpp:
62156
621572011-03-15  Brady Eidson  <beidson@apple.com>
62158
62159        Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425
62160
62161        * loader/icon/IconDatabaseBase.h: #include instead of forward declare.
62162
621632011-03-15  Beth Dakin  <bdakin@apple.com>
62164
62165        Reviewed by Darin Adler.
62166
62167        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
62168        send notifications appropriate times (showing up, resizing)
62169        -and corresponding-
62170        https://bugs.webkit.org/show_bug.cgi?id=56067
62171
62172        The general strategy here is to add a HashSet of ScrollableAreas to the page that 
62173        can be accessed when necessary to send notifications to all ScrollableAreas. In 
62174        turn, all of the ScrollableArea classes that add themselves to the HashSet must 
62175        keep a weak pointer to Page so that they can remove themselves without relying on 
62176        Frames or Renderers to still have references.
62177
62178        Find layers for relevant node and if the layers are in the Page's ScrollableArea 
62179        set, then send the relevant notification.
62180        * page/EventHandler.cpp:
62181        (WebCore::layerForNode):
62182        (WebCore::EventHandler::mouseMoved):
62183        (WebCore::EventHandler::updateMouseEventTargetNode):
62184
62185        When the page is set active or not active, iterate through the Page's 
62186        ScrollableAreas to send hide/show notifications. 
62187        * page/FocusController.cpp:
62188        (WebCore::FocusController::setActive):
62189
62190        When a FrameView is created, add it to the ScrollableArea set. When it's 
62191        destroyed, remove it.
62192        * page/FrameView.cpp:
62193        (WebCore::FrameView::FrameView):
62194        (WebCore::FrameView::~FrameView):
62195
62196        Iterate through the Page's ScrollableAreas to send the paint notification.
62197        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
62198        * page/FrameView.h:
62199        (WebCore::FrameView::disconnectFromPage):
62200
62201        Add the new ScrollableArea set.
62202        * page/Page.cpp:
62203        (WebCore::Page::~Page):
62204        (WebCore::Page::addScrollableArea):
62205(WebCore::Page::removeScrollableArea):
62206        (WebCore::Page::containsScrollableArea):
62207        * page/Page.h:
62208        (WebCore::Page::scrollableAreaSet):
62209
62210        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
62211        * platform/ScrollView.cpp:
62212        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
62213        
62214        Call notifyPageThatContentAreaWillPaint() instead of calling 
62215        contentAreaWillPaint() just for the ScrollView.
62216        (WebCore::ScrollView::paint):
62217        * platform/ScrollView.h:
62218
62219        Add/remove ScrollableAreas to the set. Add new disconnectFromPage().
62220        * platform/ScrollableArea.h:
62221        (WebCore::ScrollableArea::disconnectFromPage):
62222        * rendering/RenderDataGrid.cpp:
62223        (WebCore::RenderDataGrid::RenderDataGrid):
62224        (WebCore::RenderDataGrid::~RenderDataGrid):
62225        * rendering/RenderDataGrid.h:
62226        (WebCore::RenderDataGrid::disconnectFromPage):
62227        * rendering/RenderLayer.cpp:
62228        (WebCore::RenderLayer::RenderLayer):
62229        (WebCore::RenderLayer::~RenderLayer):
62230        * rendering/RenderLayer.h:
62231        (WebCore::RenderLayer::disconnectFromPage):
62232        * rendering/RenderListBox.cpp:
62233        (WebCore::RenderListBox::RenderListBox):
62234        (WebCore::RenderListBox::~RenderListBox):
62235        * rendering/RenderListBox.h:
62236        (WebCore::RenderListBox::disconnectFromPage):
62237
62238        Should have implemented this ScrollableArea-interface function a while ago.
62239        (WebCore::RenderLayer::currentMousePosition):
62240
622412011-03-15  Brady Eidson  <beidson@apple.com>
62242
62243        Reviewed by Sam Weinig.
62244
62245        https://bugs.webkit.org/show_bug.cgi?id=56425
62246        WebKit2 icon database.
62247
62248        * WebCore.exp.in:
62249
622502011-03-15  Adam Barth  <abarth@webkit.org>
62251
62252        Reviewed by Dimitri Glazkov.
62253
62254        WebCore GYP build should build editing, fileapi, history, and html
62255        https://bugs.webkit.org/show_bug.cgi?id=56411
62256
62257        These all went smoothly.
62258
62259        * gyp/WebCore.gyp:
62260
622612011-03-15  Adam Barth  <abarth@webkit.org>
62262
62263        Reviewed by Eric Seidel.
62264
62265        WebCore GYP build should build dom/
62266        https://bugs.webkit.org/show_bug.cgi?id=56409
62267
62268        * gyp/WebCore.gyp:
62269
622702011-03-15  Adam Barth  <abarth@webkit.org>
62271
62272        Reviewed by Eric Seidel.
62273
62274        WebCore GYP build should build css/
62275        https://bugs.webkit.org/show_bug.cgi?id=56408
62276
62277        CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the
62278        build yet.  I've punted on that problem for now, but we'll come back to
62279        it.
62280
62281        * gyp/WebCore.gyp:
62282
622832011-03-15  Adam Barth  <abarth@webkit.org>
62284
62285        Reviewed by Dimitri Glazkov.
62286
62287        WebCore GYP build should build bindings/
62288        https://bugs.webkit.org/show_bug.cgi?id=56406
62289
62290        I wanted to include bindings/objc in this patch, but they were somewhat
62291        complicated.  It looks like they include headers from the output
62292        directory (via PrivateHeaders), but we haven't wired up the
62293        PrivateHeaders yet.
62294
62295        * gyp/WebCore.gyp:
62296
622972011-03-15  James Simonsen  <simonjam@chromium.org>
62298
62299        Reviewed by Tony Gentilcore.
62300
62301        Need different behavior for ensuring execution order of dynamically loaded scripts
62302        https://bugs.webkit.org/show_bug.cgi?id=50115
62303
62304        Dynamically added scripts with async=false will load in parallel, but execute in order.
62305        See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async
62306
62307        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
62308               http/tests/misc/script-async-load-execute-in-order.html
62309
62310        * Android.mk: Rename AsyncScriptRunner -> ScriptRunner.
62311        * CMakeLists.txt: Ditto.
62312        * GNUmakefile.am: Ditto.
62313        * WebCore.gypi: Ditto.
62314        * WebCore.pro: Ditto.
62315        * WebCore.vcproj/WebCore.vcproj: Ditto.
62316        * WebCore.xcodeproj/project.pbxproj: Ditto.
62317        * dom/DOMAllInOne.cpp: Ditto.
62318        * dom/Document.cpp:
62319        (WebCore::Document::Document): Ditto.
62320        (WebCore::Document::~Document): Ditto.
62321        * dom/Document.h:
62322        (WebCore::Document::scriptRunner): Ditto.
62323        * dom/ScriptElement.cpp:
62324        (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder.
62325        (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes.
62326        (WebCore::ScriptElement::prepareScript): Added support for forceAsync.
62327        (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed.
62328        * dom/ScriptElement.h:
62329        (WebCore::ScriptElement::forceAsync): Added.
62330        * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp.
62331        (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue.
62332        (WebCore::ScriptRunner::~ScriptRunner): Ditto.
62333        (WebCore::ScriptRunner::executeScriptSoon):
62334        (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added.
62335        (WebCore::ScriptRunner::suspend):
62336        (WebCore::ScriptRunner::resume):
62337        (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready.
62338        * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h.
62339        (WebCore::ScriptRunner::create):
62340        (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too.
62341        * html/HTMLScriptElement.cpp:
62342        (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes.
62343        (WebCore::HTMLScriptElement::setAsync): Ditto.
62344        (WebCore::HTMLScriptElement::async): Include forceAsync in calculation.
62345        * html/HTMLScriptElement.h:
62346        * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior.
62347        * page/PageGroupLoadDeferrer.cpp:
62348        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner.
62349        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto.
62350
623512011-03-15  Tony Chang  <tony@chromium.org>
62352
62353        Reviewed by Adam Barth.
62354
62355        pngcrush images used by inspector
62356        https://bugs.webkit.org/show_bug.cgi?id=56426
62357
62358        This saves 120k in WebCore and 8k in WebKit/chromium.  I ran
62359        pngcrush -brute, so none of the meta data (ancillary chunks)
62360        are modified.
62361
62362        No new tests, just compressing png files.
62363
62364        * inspector/front-end/Images/applicationCache.png:
62365        * inspector/front-end/Images/auditsIcon.png:
62366        * inspector/front-end/Images/back.png:
62367        * inspector/front-end/Images/breakpointBorder.png:
62368        * inspector/front-end/Images/breakpointConditionalBorder.png:
62369        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
62370        * inspector/front-end/Images/breakpointCounterBorder.png:
62371        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png:
62372        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png:
62373        * inspector/front-end/Images/checker.png:
62374        * inspector/front-end/Images/clearConsoleButtonGlyph.png:
62375        * inspector/front-end/Images/closeButtons.png:
62376        * inspector/front-end/Images/consoleButtonGlyph.png:
62377        * inspector/front-end/Images/consoleIcon.png:
62378        * inspector/front-end/Images/cookie.png:
62379        * inspector/front-end/Images/database.png:
62380        * inspector/front-end/Images/databaseTable.png:
62381        * inspector/front-end/Images/debuggerContinue.png:
62382        * inspector/front-end/Images/debuggerPause.png:
62383        * inspector/front-end/Images/debuggerStepInto.png:
62384        * inspector/front-end/Images/debuggerStepOut.png:
62385        * inspector/front-end/Images/debuggerStepOver.png:
62386        * inspector/front-end/Images/disclosureTriangleSmallDown.png:
62387        * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png:
62388        * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png:
62389        * inspector/front-end/Images/disclosureTriangleSmallRight.png:
62390        * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png:
62391        * inspector/front-end/Images/disclosureTriangleSmallRightDown.png:
62392        * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png:
62393        * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png:
62394        * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png:
62395        * inspector/front-end/Images/dockButtonGlyph.png:
62396        * inspector/front-end/Images/elementsIcon.png:
62397        * inspector/front-end/Images/enableOutlineButtonGlyph.png:
62398        * inspector/front-end/Images/enableSolidButtonGlyph.png:
62399        * inspector/front-end/Images/errorIcon.png:
62400        * inspector/front-end/Images/errorMediumIcon.png:
62401        * inspector/front-end/Images/errorRedDot.png:
62402        * inspector/front-end/Images/excludeButtonGlyph.png:
62403        * inspector/front-end/Images/focusButtonGlyph.png:
62404        * inspector/front-end/Images/forward.png:
62405        * inspector/front-end/Images/frame.png:
62406        * inspector/front-end/Images/garbageCollectButtonGlyph.png:
62407        * inspector/front-end/Images/gearButtonGlyph.png:
62408        * inspector/front-end/Images/glossyHeader.png:
62409        * inspector/front-end/Images/glossyHeaderPressed.png:
62410        * inspector/front-end/Images/glossyHeaderSelected.png:
62411        * inspector/front-end/Images/glossyHeaderSelectedPressed.png:
62412        * inspector/front-end/Images/goArrow.png:
62413        * inspector/front-end/Images/graphLabelCalloutLeft.png:
62414        * inspector/front-end/Images/graphLabelCalloutRight.png:
62415        * inspector/front-end/Images/helpButtonGlyph.png:
62416        * inspector/front-end/Images/largerResourcesButtonGlyph.png:
62417        * inspector/front-end/Images/localStorage.png:
62418        * inspector/front-end/Images/networkIcon.png:
62419        * inspector/front-end/Images/nodeSearchButtonGlyph.png:
62420        * inspector/front-end/Images/paneAddButtons.png:
62421        * inspector/front-end/Images/paneBottomGrow.png:
62422        * inspector/front-end/Images/paneBottomGrowActive.png:
62423        * inspector/front-end/Images/paneGrowHandleLine.png:
62424        * inspector/front-end/Images/paneSettingsButtons.png:
62425        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png:
62426        * inspector/front-end/Images/percentButtonGlyph.png:
62427        * inspector/front-end/Images/popoverArrows.png:
62428        * inspector/front-end/Images/popoverBackground.png:
62429        * inspector/front-end/Images/profileGroupIcon.png:
62430        * inspector/front-end/Images/profileIcon.png:
62431        * inspector/front-end/Images/profileSmallIcon.png:
62432        * inspector/front-end/Images/profilesIcon.png:
62433        * inspector/front-end/Images/profilesSilhouette.png:
62434        * inspector/front-end/Images/programCounterBorder.png:
62435        * inspector/front-end/Images/radioDot.png:
62436        * inspector/front-end/Images/recordButtonGlyph.png:
62437        * inspector/front-end/Images/recordToggledButtonGlyph.png:
62438        * inspector/front-end/Images/reloadButtonGlyph.png:
62439        * inspector/front-end/Images/resourceCSSIcon.png:
62440        * inspector/front-end/Images/resourceDocumentIcon.png:
62441        * inspector/front-end/Images/resourceDocumentIconSmall.png:
62442        * inspector/front-end/Images/resourceJSIcon.png:
62443        * inspector/front-end/Images/resourcePlainIcon.png:
62444        * inspector/front-end/Images/resourcePlainIconSmall.png:
62445        * inspector/front-end/Images/resourcesIcon.png:
62446        * inspector/front-end/Images/resourcesSizeGraphIcon.png:
62447        * inspector/front-end/Images/resourcesTimeGraphIcon.png:
62448        * inspector/front-end/Images/scriptsIcon.png:
62449        * inspector/front-end/Images/scriptsSilhouette.png:
62450        * inspector/front-end/Images/searchSmallBlue.png:
62451        * inspector/front-end/Images/searchSmallBrightBlue.png:
62452        * inspector/front-end/Images/searchSmallGray.png:
62453        * inspector/front-end/Images/searchSmallWhite.png:
62454        * inspector/front-end/Images/segment.png:
62455        * inspector/front-end/Images/segmentEnd.png:
62456        * inspector/front-end/Images/segmentHover.png:
62457        * inspector/front-end/Images/segmentHoverEnd.png:
62458        * inspector/front-end/Images/segmentSelected.png:
62459        * inspector/front-end/Images/segmentSelectedEnd.png:
62460        * inspector/front-end/Images/sessionStorage.png:
62461        * inspector/front-end/Images/splitviewDimple.png:
62462        * inspector/front-end/Images/splitviewDividerBackground.png:
62463        * inspector/front-end/Images/statusbarButtons.png:
62464        * inspector/front-end/Images/statusbarMenuButton.png:
62465        * inspector/front-end/Images/statusbarMenuButtonSelected.png:
62466        * inspector/front-end/Images/statusbarResizerHorizontal.png:
62467        * inspector/front-end/Images/statusbarResizerVertical.png:
62468        * inspector/front-end/Images/successGreenDot.png:
62469        * inspector/front-end/Images/thumbActiveHoriz.png:
62470        * inspector/front-end/Images/thumbActiveVert.png:
62471        * inspector/front-end/Images/thumbHoriz.png:
62472        * inspector/front-end/Images/thumbHoverHoriz.png:
62473        * inspector/front-end/Images/thumbHoverVert.png:
62474        * inspector/front-end/Images/thumbVert.png:
62475        * inspector/front-end/Images/timelineBarBlue.png:
62476        * inspector/front-end/Images/timelineBarGray.png:
62477        * inspector/front-end/Images/timelineBarGreen.png:
62478        * inspector/front-end/Images/timelineBarOrange.png:
62479        * inspector/front-end/Images/timelineBarPurple.png:
62480        * inspector/front-end/Images/timelineBarRed.png:
62481        * inspector/front-end/Images/timelineBarYellow.png:
62482        * inspector/front-end/Images/timelineCheckmarks.png:
62483        * inspector/front-end/Images/timelineDots.png:
62484        * inspector/front-end/Images/timelineHollowPillBlue.png:
62485        * inspector/front-end/Images/timelineHollowPillGray.png:
62486        * inspector/front-end/Images/timelineHollowPillGreen.png:
62487        * inspector/front-end/Images/timelineHollowPillOrange.png:
62488        * inspector/front-end/Images/timelineHollowPillPurple.png:
62489        * inspector/front-end/Images/timelineHollowPillRed.png:
62490        * inspector/front-end/Images/timelineHollowPillYellow.png:
62491        * inspector/front-end/Images/timelineIcon.png:
62492        * inspector/front-end/Images/timelinePillBlue.png:
62493        * inspector/front-end/Images/timelinePillGray.png:
62494        * inspector/front-end/Images/timelinePillGreen.png:
62495        * inspector/front-end/Images/timelinePillOrange.png:
62496        * inspector/front-end/Images/timelinePillPurple.png:
62497        * inspector/front-end/Images/timelinePillRed.png:
62498        * inspector/front-end/Images/timelinePillYellow.png:
62499        * inspector/front-end/Images/toolbarItemSelected.png:
62500        * inspector/front-end/Images/trackHoriz.png:
62501        * inspector/front-end/Images/trackVert.png:
62502        * inspector/front-end/Images/treeDownTriangleBlack.png:
62503        * inspector/front-end/Images/treeDownTriangleWhite.png:
62504        * inspector/front-end/Images/treeRightTriangleBlack.png:
62505        * inspector/front-end/Images/treeRightTriangleWhite.png:
62506        * inspector/front-end/Images/treeUpTriangleBlack.png:
62507        * inspector/front-end/Images/treeUpTriangleWhite.png:
62508        * inspector/front-end/Images/undockButtonGlyph.png:
62509        * inspector/front-end/Images/userInputIcon.png:
62510        * inspector/front-end/Images/userInputPreviousIcon.png:
62511        * inspector/front-end/Images/userInputResultIcon.png:
62512        * inspector/front-end/Images/warningIcon.png:
62513        * inspector/front-end/Images/warningMediumIcon.png:
62514        * inspector/front-end/Images/warningOrangeDot.png:
62515        * inspector/front-end/Images/warningsErrors.png:
62516
625172011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
62518
62519        Reviewed by Tony Chang.
62520
62521        Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node
62522        https://bugs.webkit.org/show_bug.cgi?id=56372
62523
62524        The bug was caused by insertNodeAfter's calling parentElement on document's child.
62525        Fixed this by changing the node that AppendNodeCommand takes.
62526
62527        There was also a bug that document node always returned false for isContentEditable
62528        and isContentRichlyEditable because they never overrode Node's default implementation.
62529        Fixed this by overriding them in Document.
62530
62531        Test: editing/execCommand/append-node-under-document.html
62532
62533        * dom/Document.cpp:
62534        (WebCore::Document::isContentEditable): Added.
62535        (WebCore::Document::isContentRichlyEditable): Added.
62536        * dom/Document.h:
62537        * editing/AppendNodeCommand.cpp:
62538        (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element.
62539        * editing/AppendNodeCommand.h:
62540        (WebCore::AppendNodeCommand::create): Ditto.
62541        * editing/CompositeEditCommand.cpp:
62542        (WebCore::CompositeEditCommand::appendNode): Ditto.
62543        (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement.
62544        * editing/CompositeEditCommand.h:
62545
625462011-03-15  David Grogan  <dgrogan@chromium.org>
62547
62548        Reviewed by Jeremy Orlow.
62549
62550        Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects
62551        https://bugs.webkit.org/show_bug.cgi?id=56350
62552
62553        When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects
62554        calls stop() on each ActiveDOMObject.
62555
62556        Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed:
62557        * IDBDatabase::stop() causes the chrome message dispatcher to remove
62558        its reference to IDBDatabase, which it has as type
62559        IDBDatabaseCallbacks.
62560        * If that reference is the last one, the IDBDatabase is destroyed.
62561        * Destroying an ActiveDOMObject while they are being iterated over causes
62562        a defensive crash.
62563        
62564        This change creates a separate IDBDatabaseCallbacks object that is not
62565        an ActiveDOMObject, so it can be destroyed by
62566        ScriptExecutionContext::stopActiveDOMObjects.
62567        
62568        Because the chrome message dispatcher is only used in multi-process
62569        chromium, that's the only platform affected.  Chromium browser tests
62570        forthcoming.
62571
62572        * WebCore.gypi:
62573        * storage/IDBDatabase.cpp:
62574        (WebCore::IDBDatabase::IDBDatabase):
62575        (WebCore::IDBDatabase::~IDBDatabase):
62576        (WebCore::IDBDatabase::setVersion):
62577        (WebCore::IDBDatabase::close):
62578        (WebCore::IDBDatabase::open):
62579        * storage/IDBDatabase.h:
62580        * storage/IDBDatabaseCallbacks.h:
62581        (WebCore::IDBDatabaseCallbacks::unRegisterDatabase):
62582        * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
62583        (WebCore::IDBDatabaseCallbacksImpl::create):
62584        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
62585        (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
62586        (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase):
62587        * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
62588        (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl):
62589
625902011-03-15  Adam Barth  <abarth@webkit.org>
62591
62592        Reviewed by Dimitri Glazkov.
62593
62594        accessibility should build in WebCore GYP build
62595        https://bugs.webkit.org/show_bug.cgi?id=56405
62596
62597        This patch changes our include/exclude strategy to more closely match
62598        the strategy used by the Chromium GYP build system.  Ideally, we'd find
62599        a way to share more of these patterns.  In the meantime, I'm going to
62600        slowly increase the number of translation units in the project and
62601        adjust the include/exclude filters appropriately.
62602
62603        * gyp/WebCore.gyp:
62604
626052011-03-15  Alexey Proskuryakov  <ap@apple.com>
62606
62607        Reviewed by Darin Adler.
62608
62609        REGRESSION (WebKit2): keygen element doesn't work
62610        https://bugs.webkit.org/show_bug.cgi?id=56402
62611        <rdar://problem/9006545>
62612
62613        Covered by existing regresison tests.
62614
62615        * English.lproj/Localizable.strings:
62616
62617        * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added
62618        _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore.
62619
62620        * platform/mac/SSLKeyGeneratorMac.mm: Removed.
62621        * platform/mac/WebCoreKeyGenerator.h: Removed.
62622        * platform/mac/WebCoreKeyGenerator.m: Removed.
62623        * platform/mac/WebCoreSystemInterface.h:
62624        * platform/mac/WebCoreSystemInterface.mm:
62625        * WebCore.xcodeproj/project.pbxproj:
62626        Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more.
62627        Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit.
62628
62629        * platform/LocalizationStrategy.h:
62630        * platform/LocalizedStrings.cpp:
62631        (WebCore::keygenMenuItem512):
62632        (WebCore::keygenMenuItem1024):
62633        (WebCore::keygenMenuItem2048):
62634        (WebCore::keygenKeychainItemName):
62635        * platform/LocalizedStrings.h:
62636        Added strings used by keygen element, now that the code using them is in WebCore.
62637
62638        * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm.
62639        (WebCore::getSupportedKeySizes):
62640        (WebCore::signedPublicKeyAndChallengeString):
62641        Moved the code from WebKit. There is never any need to provide implementation at runtime,
62642        like old code was doing.
62643
62644        * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes):
62645        Added a FIXME about localization. Note that Safari for Windows doesn't support keygen.
62646
626472011-03-15  Anders Carlsson  <andersca@apple.com>
62648
62649        Fix clang build.
62650
62651        * platform/graphics/GraphicsContext3D.h:
62652        * platform/graphics/GraphicsLayer.h:
62653
626542011-03-15  Simon Fraser  <simon.fraser@apple.com>
62655
62656        Fix Lion build after r81161.
62657        
62658        Pass the PlatformCALayer down into drawLayerContents()
62659        so we can use its acceleratesDrawing() method.
62660
62661        * platform/graphics/mac/WebLayer.h:
62662        * platform/graphics/mac/WebLayer.mm:
62663        (drawLayerContents):
62664        (-[WebLayer drawInContext:]):
62665        * platform/graphics/mac/WebTiledLayer.mm:
62666        (-[WebTiledLayer drawInContext:]):
62667
626682011-03-15  Alok priyadarshi  <alokp@chromium.org>
62669
62670        Reviewed by James Robinson.
62671
62672        Valgrind error due to uninitialized PluginLayerChromium::m_textureId
62673        https://bugs.webkit.org/show_bug.cgi?id=56390
62674
62675        * platform/graphics/chromium/PluginLayerChromium.cpp:
62676        (WebCore::PluginLayerChromium::PluginLayerChromium):
62677        * platform/graphics/chromium/PluginLayerChromium.h:
62678        (WebCore::PluginLayerChromium::textureId):
62679
626802011-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
62681
62682        Reviewed by Dirk Schulze.
62683
62684        REGRESSION (r68976): Incorrect bidi rendering in SVG text
62685        https://bugs.webkit.org/show_bug.cgi?id=53980
62686
62687        rework the test engine or SVG "text-intro" tests so we can turn them back on
62688        https://bugs.webkit.org/show_bug.cgi?id=6524
62689
62690        svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present
62691        https://bugs.webkit.org/show_bug.cgi?id=11662
62692
62693        svg/batik/text/textBiDi.svg failing
62694        https://bugs.webkit.org/show_bug.cgi?id=17392
62695
62696        SVG bidi examples at w3C I18N WG tutorials are not rendered correctly.
62697        https://bugs.webkit.org/show_bug.cgi?id=24374
62698
62699        Implement proper bidirectionality support for SVG text.
62700
62701        BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in
62702        the order the characters appear in the markup), and when laying out bidi text, we associated the current character
62703        in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout.
62704        The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct.
62705
62706        Long story:
62707        Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics>
62708        for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in
62709        the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with
62710        "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6
62711        width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class).
62712        The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands
62713        that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10").
62714
62715        To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all
62716        characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to
62717        determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the 
62718        inline box tree, in _visual order_, as it will appear on screen.
62719
62720        After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the
62721        found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout
62722        rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position
62723        in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order,
62724        the x/y/.. lists are all in logical order.
62725
62726        Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction:
62727                 the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20".
62728
62729        Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine,
62730        before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now
62731        process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order.
62732
62733        Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated,
62734        which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of
62735        shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by
62736        dozens of new tests.
62737
62738        Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg
62739               svg/W3C-I18N/g-dirLTR-ubOverride.svg
62740               svg/W3C-I18N/g-dirRTL-ubNone.svg
62741               svg/W3C-I18N/g-dirRTL-ubOverride.svg
62742               svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg
62743               svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
62744               svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
62745               svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
62746               svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
62747               svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
62748               svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
62749               svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
62750               svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
62751               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
62752               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
62753               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
62754               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
62755               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
62756               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
62757               svg/W3C-I18N/text-anchor-no-markup.svg
62758               svg/W3C-I18N/text-dirLTR-ubNone.svg
62759               svg/W3C-I18N/text-dirLTR-ubOverride.svg
62760               svg/W3C-I18N/text-dirRTL-ubNone.svg
62761               svg/W3C-I18N/text-dirRTL-ubOverride.svg
62762               svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg
62763               svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg
62764               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg
62765               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg
62766               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg
62767               svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg
62768               svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg
62769               svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg
62770               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg
62771               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg
62772               svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg
62773               svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg
62774               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg
62775               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg
62776               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg
62777               svg/W3C-I18N/tspan-direction-ltr.svg
62778               svg/W3C-I18N/tspan-direction-rtl.svg
62779               svg/W3C-SVG-1.1-SE/text-intro-02-b.svg
62780               svg/W3C-SVG-1.1-SE/text-intro-05-t.svg
62781               svg/W3C-SVG-1.1-SE/text-intro-09-b.svg
62782               svg/W3C-SVG-1.1/text-align-08-b.svg
62783               svg/W3C-SVG-1.1/text-fonts-03-t.svg
62784               svg/W3C-SVG-1.1/text-intro-01-t.svg
62785               svg/W3C-SVG-1.1/text-intro-02-b.svg
62786               svg/W3C-SVG-1.1/text-intro-03-b.svg
62787               svg/W3C-SVG-1.1/text-intro-04-t.svg
62788               svg/text/bidi-reorder-value-lists.svg
62789               svg/text/bidi-text-anchor-direction.svg
62790               svg/text/bidi-text-query.svg
62791               svg/text/bidi-tspans.svg
62792
62793        * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text.
62794        (WebCore::RenderBlock::determineStartPosition):
62795        * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/
62796        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
62797        (WebCore::SVGInlineTextBox::constructTextRun):
62798        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
62799        * rendering/svg/SVGRenderTreeAsText.cpp: Ditto.
62800        (WebCore::writeSVGInlineTextBox):
62801        * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup).
62802                                              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
62803                                              order as the characters are presented on screen.
62804        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
62805        (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder):
62806        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
62807        * rendering/svg/SVGRootInlineBox.h:
62808        * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption.
62809        (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left.
62810        (WebCore::SVGTextChunk::calculateLength):
62811        (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl).
62812        * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield.
62813        (WebCore::SVGTextChunk::isVerticalText):
62814        (WebCore::SVGTextChunk::hasDesiredTextLength):
62815        (WebCore::SVGTextChunk::hasTextAnchor):
62816        (WebCore::SVGTextChunk::hasLengthAdjustSpacing):
62817        (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs):
62818        * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes.
62819        (WebCore::SVGTextChunkBuilder::addTextChunk):
62820        (WebCore::SVGTextChunkBuilder::processTextChunk):
62821        * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text.
62822        (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array.
62823        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp
62824        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object
62825                                                                              that we cache, refers to the _rendered_ character. For Arabic text that means, that we're
62826                                                                              measuring the shaped width of the glyph, not the glyph in its isolated form. Without that
62827                                                                              fix reordering boxes containing Arabic is wrong.
62828        * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm
62829                                                 has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have
62830                                                 to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine,
62831                                                 to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog.
62832        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
62833        (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph.
62834                                                            The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for
62835                                                            Arabic until now.)
62836        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
62837        (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list.
62838        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
62839        * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct.
62840        (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange):
62841        * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method.
62842        (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed.
62843        * rendering/svg/SVGTextMetrics.h:
62844        (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic).
62845        * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/
62846        (WebCore::SVGTextQuery::subStringLengthCallback):
62847        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
62848        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
62849        (WebCore::calculateGlyphBoundaries):
62850
628512011-03-15  Sergio Villar Senin  <svillar@igalia.com>
62852
62853        Reviewed by Xan Lopez.
62854
62855        [GTK] Fix make distcheck for 1.3.13 release
62856        https://bugs.webkit.org/show_bug.cgi?id=56371
62857
62858        No new tests as this is a build fix.
62859
62860        * GNUmakefile.am: added a couple of missing files.
62861
628622011-03-08  Levi Weintraub  <leviw@chromium.org>
62863
62864        Reviewed by Ryosuke Niwa.
62865
62866        Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode
62867        https://bugs.webkit.org/show_bug.cgi?id=52642
62868
62869        Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous
62870        functions that create new positions. Also fixing various parts of editing code that
62871        incorrectly handled the new positions now being created.
62872
62873        No new tests as this is refactoring/cleanup.
62874
62875        * accessibility/AccessibilityRenderObject.cpp:
62876        (WebCore::AccessibilityRenderObject::visiblePositionRange):
62877        * dom/Position.cpp:
62878        (WebCore::Position::parentAnchoredEquivalent):
62879        (WebCore::Position::previous):
62880        (WebCore::Position::next):
62881        (WebCore::Position::atFirstEditingPositionForNode):
62882        (WebCore::Position::atLastEditingPositionForNode):
62883        (WebCore::Position::upstream):
62884        (WebCore::Position::isCandidate):
62885        (WebCore::Position::getInlineBoxAndOffset):
62886        * dom/Position.h:
62887        (WebCore::operator==):
62888        * dom/PositionIterator.cpp:
62889        (WebCore::PositionIterator::operator Position):
62890        * editing/ApplyBlockElementCommand.cpp:
62891        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
62892        * editing/CompositeEditCommand.cpp:
62893        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
62894        * editing/DeleteSelectionCommand.cpp:
62895        (WebCore::isTableCellEmpty):
62896        (WebCore::DeleteSelectionCommand::removeNode):
62897        * editing/InsertLineBreakCommand.cpp:
62898        (WebCore::InsertLineBreakCommand::doApply):
62899        * editing/InsertListCommand.cpp:
62900        (WebCore::InsertListCommand::unlistifyParagraph):
62901        * editing/ReplaceSelectionCommand.cpp:
62902        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
62903        * editing/TypingCommand.cpp:
62904        (WebCore::TypingCommand::forwardDeleteKeyPressed):
62905        * editing/VisibleSelection.cpp:
62906        (WebCore::VisibleSelection::selectionFromContentsOfNode):
62907        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
62908        * editing/htmlediting.cpp:
62909        (WebCore::firstEditablePositionAfterPositionInRoot):
62910        (WebCore::lastEditablePositionBeforePositionInRoot):
62911        (WebCore::enclosingEmptyListItem):
62912        * editing/htmlediting.h:
62913        * editing/visible_units.cpp:
62914        (WebCore::startOfParagraph):
62915        (WebCore::endOfParagraph):
62916        (WebCore::startOfEditableContent):
62917        (WebCore::endOfEditableContent):
62918        * rendering/RenderBox.cpp:
62919        (WebCore::RenderBox::positionForPoint):
62920
629212011-03-15  Beth Dakin  <bdakin@apple.com>
62922
62923        Attempted build fix.
62924
62925        * platform/mac/ScrollAnimatorMac.mm:
62926        (WebCore::ScrollAnimatorMac::cancelAnimations):
62927
629282011-03-15  David Hyatt  <hyatt@apple.com>
62929
62930        Reviewed by Dave Levin.
62931
62932        https://bugs.webkit.org/show_bug.cgi?id=56329
62933
62934        Fix FontCache problems on Linux.  Make sure not to mutate the platform data passed in to SimpleFontData's
62935        constructor.  Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of
62936        mutating orientation.
62937
62938        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
62939        (WebCore::SimpleFontData::platformInit):
62940
629412011-03-15  Simon Fraser  <simon.fraser@apple.com>
62942
62943        Reviewed by Dan Bernstein.
62944
62945        Disable ShadowBlur shadow drawing in accelerated contexts
62946        https://bugs.webkit.org/show_bug.cgi?id=56392
62947
62948        When drawing into a graphics context that is accelerated, don't use
62949        ShadowBlur, because it may be slower.
62950        
62951        * platform/graphics/GraphicsContext.h:
62952        * platform/graphics/cg/GraphicsContextCG.cpp:
62953        (WebCore::GraphicsContext::fillRect):
62954        (WebCore::GraphicsContext::fillRoundedRect):
62955        (WebCore::GraphicsContext::fillRectWithRoundedHole):
62956        (WebCore::GraphicsContext::setIsCALayerContext):
62957        (WebCore::GraphicsContext::isCALayerContext):
62958        (WebCore::GraphicsContext::setIsAcceleratedContext):
62959        (WebCore::GraphicsContext::isAcceleratedContext):
62960        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
62961        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
62962        * platform/graphics/mac/WebLayer.mm:
62963        (drawLayerContents):
62964
629652011-03-15  Beth Dakin  <bdakin@apple.com>
62966
62967        Reviewed by Simon Fraser.
62968
62969        Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
62970
62971        Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new 
62972        page.
62973        * loader/FrameLoader.cpp:
62974        (WebCore::FrameLoader::transitionToCommitted):
62975        
62976        Scroll animations should be suspended if the FrameLoadState is anything but 
62977        complete.
62978        * page/FrameView.cpp:
62979        (WebCore::FrameView::shouldSuspendScrollAnimations):
62980        * page/FrameView.h:
62981        * platform/ScrollableArea.h:
62982        (WebCore::ScrollableArea::shouldSuspendScrollAnimations):
62983        * rendering/RenderDataGrid.cpp:
62984        (WebCore::RenderDataGrid::shouldSuspendScrollAnimations):
62985        * rendering/RenderDataGrid.h:
62986        * rendering/RenderLayer.cpp:
62987        (WebCore::RenderLayer::shouldSuspendScrollAnimations):
62988        * rendering/RenderLayer.h:
62989        * rendering/RenderListBox.cpp:
62990        (WebCore::RenderListBox::shouldSuspendScrollAnimations):
62991        * rendering/RenderListBox.h:
62992
62993        New virtual function cancelAnimations() is only needed on the Mac, so the base 
62994        class is empty.
62995        * platform/ScrollAnimator.h:
62996        (WebCore::ScrollAnimator::cancelAnimations):
62997
62998        ScrollAnimatorMac needs to keep track of whether the page has been scrolled since 
62999        it started loading. If so, we will override optimizations that wait for the 
63000        FrameLoadState to be complete before animating scrollbars.
63001        * platform/mac/ScrollAnimatorMac.h:
63002        (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad):
63003
63004        If the scrollbar animations should be suspended, we start a timer to make sure 
63005        that we do flash the scrollbars. Animating the scrollbars is expensive, so this is 
63006        both a performance optimization and a UI enhancement since the scrollbar won't 
63007        jump around nearly as much on a page load.
63008        * platform/mac/ScrollAnimatorMac.mm:
63009        (-[ScrollbarPainterDelegate cancelAnimations]):
63010        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
63011        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
63012        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
63013        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
63014        (WebCore::ScrollAnimatorMac::scroll):
63015        (WebCore::ScrollAnimatorMac::handleWheelEvent):
63016        (WebCore::ScrollAnimatorMac::cancelAnimations):
63017        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
63018        (WebCore::ScrollAnimatorMac::beginScrollGesture):
63019        (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
63020        (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive):
63021        (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer):
63022        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
63023
63024        New WebCoreSystemInterface function to force the scrollbars to flash
63025        * WebCore.exp.in:
63026        * platform/mac/WebCoreSystemInterface.h:
63027        * platform/mac/WebCoreSystemInterface.mm:
63028
630292011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
63030
63031        Reviewed by Adam Barth.
63032
63033        Remove stale comment at RenderStyle::diff.
63034        https://bugs.webkit.org/show_bug.cgi?id=56387
63035
63036        * rendering/style/RenderStyle.cpp: Removed comment.
63037
630382011-03-15  David Kilzer  <ddkilzer@apple.com>
63039
63040        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
63041
63042        Reviewed by Simon Fraser.
63043
63044        Typedef-ing Objective-C classes as void* for pure C++ makes it
63045        easier for bugs to creep in because compilers can't do any type
63046        checking for void pointers.
63047
63048        * platform/graphics/GraphicsContext3D.h: Changed typedef
63049        declarations for CALayer and WebGLLayer from void* to structs.
63050        (WebCore::GraphicsContext3D::platformLayer): Changed
63051        static_cast<CALayer*> to reinterpret_cast<CALayer*> now that
63052        CALayer and WebGLLayer are not void pointers.
63053        * platform/graphics/GraphicsLayer.h: Changed typedef declaration
63054        for PlatformLayer from void* to struct CALayer.
63055        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
63056        declaration for CAPropertyAnimation from void* to a struct.
63057        Extracted typdef for PlatformAnimationRef.
63058
630592011-03-15  Ilya Sherman  <isherman@chromium.org>
63060
63061        Reviewed by Tony Chang.
63062
63063        Autofilled form elements are assigned fixed background color but not text color
63064        https://bugs.webkit.org/show_bug.cgi?id=48382
63065
63066        Test: fast/forms/input-autofilled.html
63067
63068        * css/html.css:
63069        (input:-webkit-autofill): Added foreground color: #000000
63070        * css/wml.css:
63071        (input:-webkit-autofill): Added foreground color: #000000
63072
630732011-03-15  Alexis Menard  <alexis.menard@openbossa.org>
63074
63075        Reviewed by Eric Carlson.
63076
63077        HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element
63078        if it's an internal pause for example.
63079        https://bugs.webkit.org/show_bug.cgi?id=56374
63080
63081        In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the
63082        change into the DOM.
63083
63084        No new tests: Verified manually.
63085
63086        * html/HTMLMediaElement.cpp:
63087        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
63088
630892011-03-12  Pavel Podivilov  <podivilov@chromium.org>
63090
63091        Reviewed by Yury Semikhatsky.
63092
63093        Web Inspector: re-implement xhr breakpoints.
63094        https://bugs.webkit.org/show_bug.cgi?id=56252
63095
63096        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
63097        - store xhr breakpoints in a separate setting
63098        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
63099
63100        Test: inspector/debugger/xhr-breakpoints.html
63101
63102        * inspector/InspectorBrowserDebuggerAgent.cpp:
63103        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
63104        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
63105        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
63106        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
63107        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
63108        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
63109        (WebCore::InspectorBrowserDebuggerAgent::clear):
63110        * inspector/InspectorBrowserDebuggerAgent.h:
63111        * inspector/front-end/BreakpointManager.js:
63112        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
63113        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
63114        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
63115        (WebInspector.BreakpointManager.prototype._projectChanged):
63116        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
63117        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
63118        * inspector/front-end/BreakpointsSidebarPane.js:
63119        (WebInspector.XHRBreakpointsSidebarPane):
63120        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
63121        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
63122        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
63123        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
63124        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
63125        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
63126        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
63127        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
63128        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
63129        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
63130        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
63131        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
63132        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
63133        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
63134        * inspector/front-end/CallStackSidebarPane.js:
63135        (WebInspector.CallStackSidebarPane.prototype.update):
63136        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
63137        * inspector/front-end/ScriptsPanel.js:
63138        (WebInspector.ScriptsPanel):
63139        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
63140        (WebInspector.ScriptsPanel.prototype._clearInterface):
63141        * inspector/front-end/Settings.js:
63142        (WebInspector.Settings):
63143        * inspector/front-end/inspector.js:
63144        (WebInspector.resetFocusElement):
63145        (WebInspector.set attached):
63146
631472011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
63148
63149        Reviewed by Darin Adler.
63150
63151        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
63152        info into the headers rather than in export symbol definition files, but disable it on 
63153        all platforms initially so we can deal with port build issues one port at a time.
63154        
63155        https://bugs.webkit.org/show_bug.cgi?id=27551
63156
63157        * config.h:
63158        * platform/mac/LoggingMac.mm:
63159
631602011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
63161
63162        Unreviewed build fix.
63163
63164        Chromium: shared lib linux build are failing.
63165
63166        Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library.
63167        It was webcore_remaining instead of webcore_platform.
63168
63169        * WebCore.gyp/WebCore.gyp:
63170
631712011-03-15  Yury Semikhatsky  <yurys@chromium.org>
63172
63173        Reviewed by Pavel Feldman.
63174
63175        Web Inspector: expanding/collapsing object shouldn&apos;t affect outer console.group expansion state
63176        https://bugs.webkit.org/show_bug.cgi?id=56373
63177
63178        * inspector/front-end/Section.js:
63179        (WebInspector.Section):
63180        (WebInspector.Section.prototype.toggleExpanded):
63181        (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section.
63182
631832011-03-15  Pavel Feldman  <pfeldman@chromium.org>
63184
63185        Reviewed by Yury Semikhatsky.
63186
63187        Web Inspector: crash upon "//html//@id" search in elements panel.
63188        https://bugs.webkit.org/show_bug.cgi?id=56334
63189
63190        * inspector/InspectorDOMAgent.cpp:
63191        * inspector/front-end/ElementsTreeOutline.js:
63192
631932011-03-15  Andrey Kosyakov  <caseq@chromium.org>
63194
63195        Reviewed by Yury Semikhatsky.
63196
63197        Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix)
63198        https://bugs.webkit.org/show_bug.cgi?id=56327
63199
63200        * inspector/front-end/ExtensionAPI.js:
63201        (WebInspector.injectedExtensionAPI):
63202        * inspector/front-end/ExtensionAPISchema.json:
63203
632042011-03-15  Yury Semikhatsky  <yurys@chromium.org>
63205
63206        Reviewed by Pavel Feldman.
63207
63208        Web Inspector: when console.groupEnd calls twice
63209        https://bugs.webkit.org/show_bug.cgi?id=56114
63210
63211        Test: inspector/console/console-nested-group.html
63212
63213        * inspector/ConsoleMessage.h:
63214        (WebCore::ConsoleMessage::type):
63215        * inspector/InspectorConsoleAgent.cpp:
63216        (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages.
63217
632182011-03-15  Chris Mumford  <chris.mumford@palm.com>
63219
63220        Reviewed by Adam Barth.
63221
63222        Initializing several member variables that were not initialized in
63223        their constructors. These values were all read prior to initialization
63224        as reported by Valgrind.
63225
63226        No new tests: No feature additions/removals.
63227
63228        * accessibility/AccessibilityImageMapLink.cpp:
63229        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
63230        * editing/DeleteSelectionCommand.cpp:
63231        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
63232        * html/HTMLCanvasElement.cpp:
63233        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
63234        * xml/XPathResult.cpp:
63235        (WebCore::XPathResult::XPathResult):
63236
632372011-03-15  Ben Taylor  <bentaylor.solx86@gmail.com>
63238
63239        Reviewed by Adam Barth.
63240
63241        https://bugs.webkit.org/show_bug.cgi?id=56255
63242        Fix build on Solaris 10/Sun Studio 12 C++
63243
63244        No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++
63245
63246        * bridge/runtime_array.h:
63247        (JSC::RuntimeArray::getConcreteArray):
63248
632492011-03-14  Sam Weinig  <sam@webkit.org>
63250
63251        Reviewed by Adam Roben
63252
63253        about:blank fake responses don't get serialized when sent the UIProcess
63254        <rdar://problem/9108119>
63255        https://bugs.webkit.org/show_bug.cgi?id=56357
63256
63257        Test: AboutBlankLoad
63258
63259        * platform/network/cf/ResourceResponse.h:
63260        * platform/network/cf/ResourceResponseCFNet.cpp:
63261        (WebCore::ResourceResponse::cfURLResponse):
63262        Create a CFURLResponseRef if one does not exist yet as we do for
63263        NSURLResponses on the mac.
63264
632652011-03-14  Alexis Menard  <alexis.menard@openbossa.org>
63266
63267        Reviewed by Kenneth Rohde Christiansen.
63268
63269        [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback.
63270        https://bugs.webkit.org/show_bug.cgi?id=56145
63271
63272        We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough.
63273        positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because
63274        of a bug in QtMultimedia.
63275
63276        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
63277        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
63278        (WebCore::MediaPlayerPrivateQt::seek):
63279        (WebCore::MediaPlayerPrivateQt::stateChanged):
63280        (WebCore::MediaPlayerPrivateQt::positionChanged):
63281        * platform/graphics/qt/MediaPlayerPrivateQt.h:
63282
632832011-03-14  Alexey Proskuryakov  <ap@apple.com>
63284
63285        Reviewed by Adam Roben.
63286
63287        https://bugs.webkit.org/show_bug.cgi?id=44138
63288        Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html
63289
63290        https://bugs.webkit.org/show_bug.cgi?id=55375
63291        http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
63292
63293        https://bugs.webkit.org/show_bug.cgi?id=56185
63294        http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
63295
63296        * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that
63297        a pointer can be passed across threads when wrapped in a RefPtr.
63298
63299        * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists
63300        when executing a method on main thread by using RefPtr.
63301
633022011-03-14  Sam Weinig  <sam@webkit.org>
63303
63304        Mac build fix. Part 1 of N.
63305
63306        * WebCore.exp.in:
63307
633082011-03-14  Joseph Pecoraro  <joepeck@webkit.org>
63309
63310        Reviewed by Eric Carlson.
63311
63312        Stalled media elements don't stop delaying the load event
63313        https://bugs.webkit.org/show_bug.cgi?id=56316
63314
63315        We should stop delaying the load event when the load has
63316        stalled naturally, or if we require a user gesture to
63317        continue the load.
63318
63319        Test: http/tests/media/video-play-stall-before-meta-data.html
63320
63321        * html/HTMLMediaElement.cpp:
63322        (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying.
63323        (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying.
63324
633252011-03-13  MORITA Hajime  <morrita@google.com>
63326
63327        Reviewed by Tony Chang.
63328
63329        Crash when dragging and dropping in a document with an invalid XHTML header
63330        https://bugs.webkit.org/show_bug.cgi?id=48799
63331
63332        DragController tried to dispatch textInput event even when the
63333        drag destination is not the editable area.
63334        This change skips the event dispatching on that case.
63335        
63336        Test: editing/pasteboard/drop-file-svg.html
63337
63338        * page/DragController.cpp:
63339        (WebCore::DragController::dispatchTextInputEventFor):
63340        (WebCore::DragController::concludeEditDrag):
63341
633422011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
63343
63344        Unreviewed, rolling out r81094.
63345        http://trac.webkit.org/changeset/81094
63346        https://bugs.webkit.org/show_bug.cgi?id=56355
63347
63348        Broke the chromium DRT related build. (Requested by dave_levin
63349        on #webkit).
63350
63351        * WebCore.exp.in:
63352        * WebCore.order:
63353        * page/Frame.cpp:
63354        (WebCore::Frame::layerTreeAsText):
63355        * page/Frame.h:
63356        * rendering/RenderLayerCompositor.cpp:
63357        (WebCore::RenderLayerCompositor::layerTreeAsText):
63358        * rendering/RenderLayerCompositor.h:
63359
633602011-03-14  Adam Barth  <abarth@webkit.org>
63361
63362        Apparently we need to exclude DefaultSharedWorkerRepository.cpp from
63363        the Chromium build, otherwise the objects visible in the global scope
63364        change.
63365
63366        * WebCore.gyp/WebCore.gyp:
63367
633682011-03-14  Adam Barth  <abarth@webkit.org>
63369
63370        Attempted Chromium build fix.  Exclude AllInOne harder.
63371
63372        * WebCore.gyp/WebCore.gyp:
63373
633742011-03-14  Ryosuke Niwa  <rniwa@webkit.org>
63375
63376        Reviewed by Darin Adler.
63377
63378        EventHandler calls shouldChangeSelection needlessly
63379        https://bugs.webkit.org/show_bug.cgi?id=56324
63380
63381        Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
63382        avoided calling shouldChangeSelection and setSelection when the existing
63383        selection is identical to that of new selection.
63384
63385        * page/EventHandler.cpp:
63386        (WebCore::setSelectionIfNeeded): Extracted.
63387        (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
63388        (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
63389        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
63390        (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
63391        (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
63392        (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
63393        (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
63394
633952011-03-14  Daniel Sievers  <sievers@google.com>
63396
63397        Reviewed by Simon Fraser.
63398
63399        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
63400        https://bugs.webkit.org/show_bug.cgi?id=56139
63401
63402        * WebCore.exp.in:
63403        * WebCore.order:
63404        * page/Frame.cpp:
63405        (WebCore::Frame::layerTreeAsText):
63406        * page/Frame.h:
63407        * rendering/RenderLayerCompositor.cpp:
63408        (WebCore::RenderLayerCompositor::layerTreeAsText):
63409        * rendering/RenderLayerCompositor.h:
63410
634112011-03-14  Adam Barth  <abarth@webkit.org>
63412
63413        Reviewed by Dimitri Glazkov.
63414
63415        Add remaining files to WebCore.gypi
63416        https://bugs.webkit.org/show_bug.cgi?id=56351
63417
63418        Adding the remaining files to WebCore.gypi required updating the
63419        include/exclude lists in WebCore.gyp.  These lists aren't overly
63420        elegant, but we can try to improve them in the future.
63421
63422        * WebCore.gyp/WebCore.gyp:
63423        * WebCore.gypi:
63424        * bindings/v8/ScriptCachedFrameData.cpp:
63425            - Added ifdefs to this file to match the header.
63426        * platform/graphics/WOFFFileFormat.cpp:
63427            - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER).
63428
634292011-03-14  Anton Muhin  <antonm@chromium.org>
63430
63431        Reviewed by Adam Barth.
63432
63433        [v8] Rework object group building.
63434        https://bugs.webkit.org/show_bug.cgi?id=55399
63435
63436        Instead of going top-down (from owner to owned elements), go up---from objects
63437        to their group ids.  That fits better to v8's object grouping model and guarantees
63438        that each wrapper belongs to the single group.
63439
63440        Alas, this cannot be implemented for one kind of objects---CSSProperties.
63441
63442        Part of core GC algorithm and tested extensively by exisiting layout tests.
63443
63444        * bindings/scripts/CodeGeneratorV8.pm:
63445        * bindings/scripts/test/V8/V8TestInterface.cpp:
63446        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
63447        * bindings/scripts/test/V8/V8TestObj.cpp:
63448        * bindings/v8/V8GCController.cpp:
63449        (WebCore::calculateGroupId):
63450        (WebCore::calculateRootStyleSheet):
63451        (WebCore::GrouperVisitor::visitDOMWrapper):
63452        (WebCore::GrouperVisitor::applyGrouping):
63453        (WebCore::V8GCController::gcPrologue):
63454        * bindings/v8/WrapperTypeInfo.h:
63455        (WebCore::WrapperTypeInfo::isSubclass):
63456        * css/CSSRuleList.h:
63457        (WebCore::CSSRuleList::styleList):
63458        * css/StyleSheetList.h:
63459        (WebCore::StyleSheetList::document):
63460
634612011-03-14  Kent Tamura  <tkent@chromium.org>
63462
63463        Reviewed by James Robinson.
63464
63465        Assertion failure by form validation message for <select required> with float:left
63466        https://bugs.webkit.org/show_bug.cgi?id=55995
63467
63468        Test: fast/forms/interactive-validation-select-crash.html
63469
63470        * rendering/RenderBlock.cpp:
63471        (WebCore::canMergeContiguousAnonymousBlocks):
63472          isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock().
63473
634742011-03-14  Balazs Kelemen  <kbalazs@webkit.org>
63475
63476        Reviewed by Adam Roben.
63477
63478        [Qt][WK2]Unbreak InjectedBundle on Qt
63479        https://bugs.webkit.org/show_bug.cgi?id=54109
63480
63481        No code changes so no new tests.
63482
63483        Revert the changes that were needed to use KURL
63484        in WebKitTestRunner.
63485
63486        * Configurations/WebCore.xcconfig:
63487        * WebCore.exp.in:
63488
634892011-03-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
63490
63491        Reviewed by Kenneth Rohde Christiansen.
63492
63493        [Qt] Compilation fails with --3d-canvas 
63494        https://bugs.webkit.org/show_bug.cgi?id=55964
63495
63496        * WebCore.pro:
63497        * platform/graphics/qt/Extensions3DQt.cpp:
63498
634992011-03-14  Brian Weinstein  <bweinstein@apple.com>
63500
63501        Reviewed by Adam Roben and Gavin Barraclough.
63502
63503        FileSystemWin.cpp needs listDirectory() implementation
63504        https://bugs.webkit.org/show_bug.cgi?id=56331
63505        <rdar://problem/9126635>
63506        
63507        Move PathWalker from an inline class in WebKit2 to its own class in WebCore,
63508        so it can be used from both WebCore and WebKit2.
63509        
63510        Implement FileSystemWin::listDirectory using PathWalker to populate the Vector
63511        of paths matching the passed in pattern.
63512
63513        * WebCore.vcproj/WebCore.vcproj:
63514        * platform/win/FileSystemWin.cpp:
63515        (WebCore::listDirectory): Call through to PathWalker.
63516        * platform/win/PathWalker.cpp: Added.
63517        (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument
63518            for the pattern to pass to the Windows File APIs.
63519        (WebCore::PathWalker::~PathWalker): Moved from WebKit2.
63520        (WebCore::PathWalker::isValid): Ditto.
63521        (WebCore::PathWalker::data): Ditto.
63522        (WebCore::PathWalker::step): Ditto.
63523        * platform/win/PathWalker.h: Added.
63524
635252011-03-14  Brady Eidson  <beidson@apple.com>
63526
63527        Reviewed by Anders Carlsson.
63528
63529        https://bugs.webkit.org/show_bug.cgi?id=56320
63530        Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
63531
63532        Remove HistoryItem::icon():
63533        * history/HistoryItem.cpp:
63534        * history/HistoryItem.h:
63535        * WebCore.exp.in:
63536
63537        * loader/icon/IconDatabaseBase.h:
63538        (WebCore::IconDatabaseBase::defaultIcon):
63539
635402011-03-14  Andy Estes  <aestes@apple.com>
63541
63542        Reviewed by Darin Adler.
63543
63544        Timer-based events should inherit the user gesture state of their
63545        originating event in certain cases.
63546        https://bugs.webkit.org/show_bug.cgi?id=55104
63547
63548        If a timer is installed by a gesture-originated event and will fire
63549        within one second, the timer-initiated event should behave as if it
63550        were also initiated by a user gesture. Multi-shot timers should only
63551        get this behavior on their first execution. Nested timers should not
63552        get this behavior. This makes us compatible with Gecko when handling
63553        popups and file chooser dialogs created from timer events.
63554
63555        Test: fast/events/popup-blocking-timers.html
63556
63557        * page/DOMTimer.cpp:
63558        (WebCore::timeoutId): Create a helper function so that m_timeoutId can
63559        be initialized in the data member initialization list.
63560        (WebCore::shouldForwardUserGesture): Ditto, but for
63561        m_shouldForwardUserGesture.
63562        (WebCore::DOMTimer::DOMTimer): Move initialization of data members from
63563        the ctor body to the data member initialization list. Also rename the
63564        argument 'timeout' to 'interval'.
63565        (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its
63566        state based on the value of m_shouldForwardUserGesture.
63567        (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was
63568        renamed to m_originalInterval.
63569        * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename
63570        m_originalTimeout to m_originalInterval.
63571
635722011-03-09  Levi Weintraub  <leviw@chromium.org>
63573
63574        Reviewed by Ryosuke Niwa.
63575
63576        Deleting content directly following a button inserts an unnecessary placeholder
63577        https://bugs.webkit.org/show_bug.cgi?id=56053
63578
63579        Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's
63580        enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite
63581        DeleteSelectionCommand treating them as blockflow.
63582
63583        Test: editing/deleting/delete-inserts-br-after-button.html
63584
63585        * editing/DeleteSelectionCommand.cpp:
63586        (WebCore::DeleteSelectionCommand::mergeParagraphs):
63587
635882011-03-14  David Hyatt  <hyatt@apple.com>
63589
63590        Reviewed by Dan Bernstein.
63591
63592        https://bugs.webkit.org/show_bug.cgi?id=45164
63593
63594        REGRESSION: <a><img align=top></a> Clickable area too large
63595        
63596        Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped
63597        painting.
63598
63599        * rendering/InlineFlowBox.cpp:
63600        (WebCore::InlineFlowBox::nodeAtPoint):
63601
636022011-03-14  Chris Marrin  <cmarrin@apple.com>
63603
63604        Reviewed by Adam Roben.
63605
63606        REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
63607        https://bugs.webkit.org/show_bug.cgi?id=52845
63608
63609        The lastCommitTime() value in CACFLayerTreeHost was returning as the time
63610        the render previous to this one happened. That often made it seem like
63611        animations started more in the past than they did, breaking many animations.
63612        The startAnimations() call actually fires from a CACF callback after all the
63613        WebKit content has been rendered. So sending currentTime as the start time
63614        to the animations is close enough for proper synchronization.
63615
63616        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
63617        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
63618
636192011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
63620
63621        Reviewed by Tony Chang.
63622
63623        Selection uses first mousemove's localRect instead of that of mousedown
63624        https://bugs.webkit.org/show_bug.cgi?id=56213
63625
63626        Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
63627        using the mouse coordinates of the mousedown event that started the drag.
63628
63629        Test: editing/selection/drag-select-rapidly.html
63630
63631        * page/EventHandler.cpp:
63632        (WebCore::EventHandler::handleMouseDraggedEvent):
63633
636342011-03-14  Mark Rowe  <mrowe@apple.com>
63635
63636        Reviewed by Timothy Hatcher.
63637
63638        Apply a large, blunt object directly to the skull of the Leopard build.
63639
63640        * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
63641        building the Debug configuration on Leopard. This should cut the size of the object
63642        files that the linker needs to process by over 85%. This will hopefully allow them
63643        to fit in to the 32-bit address space of the Leopard linker.
63644
636452011-03-14  David Hyatt  <hyatt@apple.com>
63646
63647        Reviewed by Beth Dakin.
63648
63649        https://bugs.webkit.org/show_bug.cgi?id=56246
63650        
63651        Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
63652        for offsetLeft, and add new tests to demonstrate that relative positioning works.
63653
63654        * css/CSSStyleSelector.cpp:
63655        (WebCore::CSSStyleSelector::adjustRenderStyle):
63656        * rendering/RenderObject.cpp:
63657        (WebCore::RenderObject::offsetParent):
63658        * rendering/RenderObject.h:
63659        (WebCore::RenderObject::isRelPositioned):
63660        * rendering/RenderTableCell.h:
63661        * rendering/style/RenderStyle.h:
63662        * rendering/style/StyleRareNonInheritedData.cpp:
63663        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
63664        (WebCore::StyleRareNonInheritedData::operator==):
63665        * rendering/style/StyleRareNonInheritedData.h:
63666
636672011-03-14  David Hyatt  <hyatt@apple.com>
63668
63669        Reviewed by Beth Dakin.
63670
63671        Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
63672        layer, since first layouts and printing mess up otherwise.
63673
63674        * page/FrameView.cpp:
63675        (WebCore::FrameView::layout):
63676
636772011-03-11  David Hyatt  <hyatt@apple.com>
63678
63679        Reviewed by Simon Fraser.
63680
63681        Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
63682        size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
63683        for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
63684        all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
63685        and limited that overflow only to content that the layer painted.
63686        
63687        Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
63688        m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
63689        own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
63690        the other ports.
63691        
63692        Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
63693        I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
63694        but the behavior should be the same.
63695        
63696        No new tests, since this is untestable on ports that invalidate on a resize.
63697
63698        * page/FrameView.cpp:
63699        (WebCore::FrameView::layout):
63700        * rendering/RenderBoxModelObject.cpp:
63701        (WebCore::RenderBoxModelObject::styleDidChange):
63702        * rendering/RenderLayer.cpp:
63703        (WebCore::RenderLayer::updateLayerPositions):
63704        (WebCore::RenderLayer::removeOnlyThisLayer):
63705        * rendering/RenderLayer.h:
63706
637072011-03-11  Oliver Hunt  <oliver@apple.com>
63708
63709        Reviewed by Gavin Barraclough.
63710
63711        Ensure all values are correctly tagged in the registerfile
63712        https://bugs.webkit.org/show_bug.cgi?id=56214
63713
63714        Make sure everything builds still.
63715
63716        * bridge/c/c_class.cpp:
63717        * bridge/c/c_runtime.cpp:
63718        * bridge/jni/JavaMethod.cpp:
63719        * plugins/PluginViewNone.cpp:
63720
637212011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
63722
63723        Unreviewed build fix for r81035.
63724
63725        * html/HTMLDetailsElement.cpp:
63726        (WebCore::HTMLDetailsElement::defaultEventHandler):
63727        * rendering/RenderDetailsMarker.cpp:
63728        (WebCore::createDownArrowPath):
63729        (WebCore::createUpArrowPath):
63730        (WebCore::createLeftArrowPath):
63731        (WebCore::createRightArrowPath):
63732
637332011-03-13  Jer Noble  <jer.noble@apple.com>
63734
63735        FullScreen: Handle entering full screen security restrictions
63736        https://bugs.webkit.org/show_bug.cgi?id=56264
63737
63738        Tests: fullscreen/full-screen-iframe-allowed.html
63739               fullscreen/full-screen-iframe-not-allowed.html
63740
63741        Disable full screen documents in the following conditions:
63742        1) requesting element is in an iframe which does not have a
63743        webkitallowfullscreen attribute.
63744        2) page is not processing a user gesture.
63745
63746        * dom/Document.cpp:
63747        (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
63748            to see if elements contained in IFRAMES are allowed to
63749            enter full screen.
63750        (WebCore::Document::webkitRequestFullScreenForElement): Checks
63751            if page is currently processing a user gesture.
63752        * dom/Document.h:
63753        * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
63754        * html/HTMLFrameElementBase.cpp:
63755        (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
63756        * html/HTMLFrameElementBase.h:
63757
637582011-03-14  Anton D'Auria  <adauria@apple.com>
63759
63760        Reviewed by David Levin.
63761
63762        REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
63763        https://bugs.webkit.org/show_bug.cgi?id=56303
63764
63765        Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
63766
63767        * storage/StorageAreaSync.cpp:
63768        (WebCore::StorageAreaSync::StorageAreaSync):
63769
637702011-03-14  Steve Block  <steveblock@google.com>
63771
63772        Reviewed by Oliver Hunt.
63773
63774        JavaMethod.cpp does not compile with V8
63775        https://bugs.webkit.org/show_bug.cgi?id=56306
63776
63777        Moved the ScopeChain.h include to JavaStringJSC.
63778
63779        No new tests, build fix only.
63780
63781        * bridge/jni/JavaMethod.cpp:
63782        * bridge/jni/jsc/JavaStringJSC.h
63783
637842011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
63785
63786        Reviewed by Dave Hyatt.
63787
63788        HTML5 <details> and <summary>: rendering
63789        https://bugs.webkit.org/show_bug.cgi?id=51071
63790
63791        Tests: fast/html/details-add-summary-1-and-click.html
63792               fast/html/details-add-summary-1.html
63793               fast/html/details-add-summary-10-and-click.html
63794               fast/html/details-add-summary-10.html
63795               fast/html/details-add-summary-2-and-click.html
63796               fast/html/details-add-summary-2.html
63797               fast/html/details-add-summary-3-and-click.html
63798               fast/html/details-add-summary-3.html
63799               fast/html/details-add-summary-4-and-click.html
63800               fast/html/details-add-summary-4.html
63801               fast/html/details-add-summary-5-and-click.html
63802               fast/html/details-add-summary-5.html
63803               fast/html/details-add-summary-6-and-click.html
63804               fast/html/details-add-summary-6.html
63805               fast/html/details-add-summary-7-and-click.html
63806               fast/html/details-add-summary-7.html
63807               fast/html/details-add-summary-8-and-click.html
63808               fast/html/details-add-summary-8.html
63809               fast/html/details-add-summary-9-and-click.html
63810               fast/html/details-add-summary-9.html
63811               fast/html/details-mouse-click.html
63812               fast/html/details-no-summary1.html
63813               fast/html/details-no-summary2.html
63814               fast/html/details-no-summary3.html
63815               fast/html/details-no-summary4.html
63816               fast/html/details-open-javascript.html
63817               fast/html/details-open1.html
63818               fast/html/details-open2.html
63819               fast/html/details-open3.html
63820               fast/html/details-open4.html
63821               fast/html/details-open5.html
63822               fast/html/details-open6.html
63823               fast/html/details-position.html
63824               fast/html/details-remove-summary-1-and-click.html
63825               fast/html/details-remove-summary-1.html
63826               fast/html/details-remove-summary-2-and-click.html
63827               fast/html/details-remove-summary-2.html
63828               fast/html/details-remove-summary-3-and-click.html
63829               fast/html/details-remove-summary-3.html
63830               fast/html/details-remove-summary-4-and-click.html
63831               fast/html/details-remove-summary-4.html
63832               fast/html/details-remove-summary-5-and-click.html
63833               fast/html/details-remove-summary-5.html
63834               fast/html/details-remove-summary-6-and-click.html
63835               fast/html/details-remove-summary-6.html
63836               fast/html/details-writing-mode.html
63837
63838        http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
63839
63840        The main <summary> element is the first <summary> element of a <details> element.
63841        All other childs of the <details> element are rendered only if the attribute 'open' is set.
63842        Click event toggles the 'open' attribute.
63843
63844        * html/HTMLDetailsElement.cpp:
63845        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
63846        (WebCore::HTMLDetailsElement::findMainSummary):
63847        (WebCore::HTMLDetailsElement::childrenChanged):
63848        (WebCore::HTMLDetailsElement::finishParsingChildren):
63849        (WebCore::HTMLDetailsElement::parseMappedAttribute):
63850        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
63851        (WebCore::HTMLDetailsElement::defaultEventHandler):
63852        * html/HTMLDetailsElement.h:
63853        (WebCore::HTMLDetailsElement::mainSummary):
63854
63855        Method createRenderer added to class HTMLSummaryElement.
63856
63857        * html/HTMLSummaryElement.cpp:
63858        (WebCore::HTMLSummaryElement::createRenderer):
63859        * html/HTMLSummaryElement.h:
63860
63861        The first <summary> element is positioned at the top of its <details> parent.
63862        The area occupied by this main <summary> element is the interactive area of the
63863        <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
63864        is created and added to the corresponding RenderDetails object.
63865
63866        * rendering/RenderDetails.cpp:
63867        (WebCore::RenderDetails::RenderDetails):
63868        (WebCore::RenderDetails::destroy):
63869        (WebCore::RenderDetails::summaryBlock):
63870        (WebCore::RenderDetails::contentBlock):
63871        (WebCore::RenderDetails::addChild):
63872        (WebCore::RenderDetails::removeChild):
63873        (WebCore::RenderDetails::setMarkerStyle):
63874        (WebCore::RenderDetails::styleDidChange):
63875        (WebCore::RenderDetails::getRenderPosition):
63876        (WebCore::RenderDetails::markerDestroyed):
63877        (WebCore::RenderDetails::summaryDestroyed):
63878        (WebCore::RenderDetails::moveSummaryToContents):
63879        (WebCore::RenderDetails::createSummaryStyle):
63880        (WebCore::RenderDetails::replaceMainSummary):
63881        (WebCore::RenderDetails::createDefaultSummary):
63882        (WebCore::RenderDetails::checkMainSummary):
63883        (WebCore::RenderDetails::layout):
63884        (WebCore::RenderDetails::isOpen):
63885        (WebCore::RenderDetails::getParentOfFirstLineBox):
63886        (WebCore::RenderDetails::firstNonMarkerChild):
63887        (WebCore::RenderDetails::updateMarkerLocation):
63888        * rendering/RenderDetails.h:
63889        (WebCore::RenderDetails::interactiveArea):
63890        (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
63891        (WebCore::RenderDetails::createsAnonymousWrapper):
63892        (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
63893
63894        A marker is added to the main <summary> element to indicate the current value of the 'open'
63895        attribute of the <details> element.
63896
63897        * rendering/RenderDetailsMarker.cpp:
63898        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
63899        (WebCore::RenderDetailsMarker::destroy):
63900        (WebCore::RenderDetailsMarker::lineHeight):
63901        (WebCore::RenderDetailsMarker::baselinePosition):
63902        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
63903        (WebCore::RenderDetailsMarker::layout):
63904        (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
63905        (WebCore::RenderDetailsMarker::isOpen):
63906        (WebCore::createPath):
63907        (WebCore::createDownArrowPath):
63908        (WebCore::createUpArrowPath):
63909        (WebCore::createLeftArrowPath):
63910        (WebCore::createRightArrowPath):
63911        (WebCore::RenderDetailsMarker::orientation):
63912        (WebCore::RenderDetailsMarker::getCanonicalPath):
63913        (WebCore::RenderDetailsMarker::getPath):
63914        (WebCore::RenderDetailsMarker::paint):
63915        * rendering/RenderDetailsMarker.h:
63916        (WebCore::toRenderDetailsMarker):
63917
63918        * rendering/RenderSummary.cpp:
63919        (WebCore::RenderSummary::RenderSummary):
63920        (WebCore::RenderSummary::destroy):
63921        (WebCore::RenderSummary::parentDetails):
63922        (WebCore::RenderSummary::styleDidChange):
63923        * rendering/RenderSummary.h:
63924
63925        * rendering/RenderTreeAsText.cpp:
63926        (WebCore::RenderTreeAsText::writeRenderObject):
63927
639282011-03-14  Brady Eidson  <beidson@apple.com>
63929
63930        Reviewed by Sam Weinig.
63931
63932        https://bugs.webkit.org/show_bug.cgi?id=56296
63933        Clean up IconDatabaseBase header.
63934
63935        -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
63936        -Group methods by which are used in WebCore directly and which are used in WebKit ports.
63937
63938        This'll make it easier to use in external frameworks (like WebKit2).
63939
63940        * loader/icon/IconDatabase.h:
63941        * loader/icon/IconDatabaseBase.h:
63942        (WebCore::IconDatabaseBase::retainIconForPageURL):
63943        (WebCore::IconDatabaseBase::releaseIconForPageURL):
63944        (WebCore::IconDatabaseBase::iconForPageURL):
63945        (WebCore::IconDatabaseBase::setIconURLForPageURL):
63946        (WebCore::IconDatabaseBase::setIconDataForIconURL):
63947        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
63948        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
63949        (WebCore::IconDatabaseBase::importIconURLForPageURL):
63950        (WebCore::IconDatabaseBase::importIconDataForIconURL):
63951        (WebCore::IconDatabaseBase::open):
63952
639532011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
63954
63955        Unreviewed, rolling out r81026.
63956        http://trac.webkit.org/changeset/81026
63957        https://bugs.webkit.org/show_bug.cgi?id=56313
63958
63959        Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
63960
63961        * inspector/InspectorBrowserDebuggerAgent.cpp:
63962        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
63963        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
63964        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
63965        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
63966        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
63967        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
63968        (WebCore::InspectorBrowserDebuggerAgent::clear):
63969        * inspector/InspectorBrowserDebuggerAgent.h:
63970        * inspector/front-end/BreakpointManager.js:
63971        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
63972        (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
63973        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
63974        (WebInspector.BreakpointManager.prototype._projectChanged):
63975        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
63976        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
63977        (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
63978        (WebInspector.XHRBreakpoint):
63979        (WebInspector.XHRBreakpoint.prototype._enable):
63980        (WebInspector.XHRBreakpoint.prototype._disable):
63981        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
63982        (WebInspector.XHRBreakpointView):
63983        (WebInspector.XHRBreakpointView.prototype.compareTo):
63984        (WebInspector.XHRBreakpointView.prototype.populateEditElement):
63985        (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
63986        (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
63987        * inspector/front-end/BreakpointsSidebarPane.js:
63988        (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
63989        (WebInspector.XHRBreakpointsSidebarPane):
63990        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
63991        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
63992        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
63993        * inspector/front-end/CallStackSidebarPane.js:
63994        (WebInspector.CallStackSidebarPane.prototype.update):
63995        * inspector/front-end/ScriptsPanel.js:
63996        (WebInspector.ScriptsPanel):
63997        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
63998        (WebInspector.ScriptsPanel.prototype._clearInterface):
63999        * inspector/front-end/Settings.js:
64000        (WebInspector.Settings):
64001        * inspector/front-end/inspector.js:
64002        (WebInspector.resetFocusElement):
64003        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
64004        (WebInspector.createXHRBreakpointsSidebarPane):
64005        (WebInspector.set attached):
64006
640072011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
64008
64009        Reviewed by Pavel Feldman.
64010
64011        Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
64012        https://bugs.webkit.org/show_bug.cgi?id=56312
64013
64014        Test: inspector/utilities.html
64015
64016        * inspector/front-end/utilities.js:
64017
640182011-03-12  Pavel Podivilov  <podivilov@chromium.org>
64019
64020        Reviewed by Yury Semikhatsky.
64021
64022        Web Inspector: re-implement xhr breakpoints.
64023        https://bugs.webkit.org/show_bug.cgi?id=56252
64024
64025        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
64026        - store xhr breakpoints in a separate setting
64027        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
64028
64029        Test: inspector/debugger/xhr-breakpoints.html
64030
64031        * inspector/InspectorBrowserDebuggerAgent.cpp:
64032        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
64033        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
64034        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
64035        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
64036        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
64037        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
64038        (WebCore::InspectorBrowserDebuggerAgent::clear):
64039        * inspector/InspectorBrowserDebuggerAgent.h:
64040        * inspector/front-end/BreakpointManager.js:
64041        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
64042        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
64043        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
64044        (WebInspector.BreakpointManager.prototype._projectChanged):
64045        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
64046        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
64047        * inspector/front-end/BreakpointsSidebarPane.js:
64048        (WebInspector.XHRBreakpointsSidebarPane):
64049        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
64050        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
64051        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
64052        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
64053        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
64054        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
64055        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
64056        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
64057        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
64058        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
64059        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
64060        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
64061        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
64062        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
64063        * inspector/front-end/CallStackSidebarPane.js:
64064        (WebInspector.CallStackSidebarPane.prototype.update):
64065        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
64066        * inspector/front-end/ScriptsPanel.js:
64067        (WebInspector.ScriptsPanel):
64068        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
64069        (WebInspector.ScriptsPanel.prototype._clearInterface):
64070        * inspector/front-end/Settings.js:
64071        (WebInspector.Settings):
64072        * inspector/front-end/inspector.js:
64073        (WebInspector.resetFocusElement):
64074        (WebInspector.set attached):
64075
640762011-03-14  Pavel Podivilov  <podivilov@chromium.org>
64077
64078        Reviewed by Pavel Feldman.
64079
64080        Web Inspector: move breakpoints restoring to debugger presentation model.
64081        https://bugs.webkit.org/show_bug.cgi?id=56123
64082
64083        DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since
64084        setBreakpoint/removeBreakpoint are now called from DPM only.
64085
64086        * inspector/InspectorDebuggerAgent.cpp:
64087        (WebCore::InspectorDebuggerAgent::disable):
64088        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
64089        * inspector/front-end/DebuggerModel.js:
64090        (WebInspector.DebuggerModel.prototype.enableDebugger):
64091        (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
64092        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
64093        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
64094        (WebInspector.DebuggerModel.prototype.setBreakpoint):
64095        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
64096        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
64097        (WebInspector.DebuggerModel.prototype._breakpointResolved):
64098        (WebInspector.DebuggerModel.prototype.reset):
64099        (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled):
64100        (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled):
64101        * inspector/front-end/DebuggerPresentationModel.js:
64102        (WebInspector.DebuggerPresentationModel):
64103        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
64104        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
64105        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
64106        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
64107        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
64108        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
64109        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
64110        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
64111        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
64112        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
64113        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
64114        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
64115        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
64116        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
64117        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
64118        (WebInspector.DebuggerPresentationModel.prototype.reset):
64119        * inspector/front-end/ScriptsPanel.js:
64120        (WebInspector.ScriptsPanel):
64121        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
64122        (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
64123
641242011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
64125
64126        Unreviewed, rolling out r81015.
64127        http://trac.webkit.org/changeset/81015
64128        https://bugs.webkit.org/show_bug.cgi?id=56308
64129
64130        A Similar patch landed in r76960 (Requested by philn-tp on
64131        #webkit).
64132
64133        * GNUmakefile.am:
64134
641352011-03-14  Pavel Feldman  <pfeldman@chromium.org>
64136
64137        Reviewed by Yury Semikhatsky.
64138
64139        Web Inspector: don't use innerText, use textContent instead.
64140        https://bugs.webkit.org/show_bug.cgi?id=56307
64141
64142        * inspector/front-end/AuditFormatters.js:
64143        (WebInspector.AuditFormatters.snippet):
64144        * inspector/front-end/ElementsTreeOutline.js:
64145        * inspector/front-end/GoToLineDialog.js:
64146        * inspector/front-end/HelpScreen.js:
64147        (WebInspector.HelpScreen):
64148        * inspector/front-end/ShortcutsHelp.js:
64149        (WebInspector.ShortcutsSection.prototype.renderSection):
64150        (WebInspector.ShortcutsSection.prototype._renderHeader):
64151
641522011-03-14  Andrey Adaikin  <aandrey@google.com>
64153
64154        Reviewed by Pavel Feldman.
64155
64156        Web Inspector: [Text editor] Disable live-edit in favor of the text editor
64157        https://bugs.webkit.org/show_bug.cgi?id=56176
64158
64159        * inspector/front-end/Settings.js:
64160
641612011-03-14  Andrey Adaikin  <aandrey@google.com>
64162
64163        Reviewed by Pavel Feldman.
64164
64165        Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter
64166        https://bugs.webkit.org/show_bug.cgi?id=56095
64167
64168        * inspector/front-end/TextViewer.js:
64169        (WebInspector.TextViewer):
64170
641712011-03-11  Pavel Podivilov  <podivilov@chromium.org>
64172
64173        Reviewed by Pavel Feldman.
64174
64175        Web Inspector: move breakpoints restoring after live edit to debugger presentation model.
64176        https://bugs.webkit.org/show_bug.cgi?id=56179
64177
64178        Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel.
64179
64180        * inspector/front-end/DebuggerModel.js:
64181        (WebInspector.DebuggerModel):
64182        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
64183        (WebInspector.DebuggerModel.prototype.setBreakpoint):
64184        (WebInspector.DebuggerModel.prototype.reset):
64185        (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource):
64186        (WebInspector.DebuggerModel.prototype.editScriptSource):
64187        (WebInspector.DebuggerModel.prototype.get callFrames):
64188        (WebInspector.DebuggerModel.prototype._pausedScript):
64189        (WebInspector.DebuggerModel.prototype._resumedScript):
64190        * inspector/front-end/DebuggerPresentationModel.js:
64191        (WebInspector.DebuggerPresentationModel):
64192        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
64193        * inspector/front-end/ScriptsPanel.js:
64194        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
64195
641962011-03-10  Alexander Pavlov  <apavlov@chromium.org>
64197
64198        Reviewed by Pavel Feldman.
64199
64200        Web Inspector: Optimize backend-frontend data transfer volume for CSS styles
64201        https://bugs.webkit.org/show_bug.cgi?id=56111
64202
64203        This change reduces the getStylesForNode() payload more than twice for BODY elements.
64204
64205        * inspector/InspectorStyleSheet.cpp:
64206        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
64207        * inspector/front-end/CSSStyleModel.js:
64208        (WebInspector.CSSProperty.parsePayload):
64209
642102011-03-14  John Knottenbelt  <jknotten@chromium.org>
64211
64212        Reviewed by Steve Block.
64213
64214        Detach Geolocation from Frame when Page destroyed.
64215        https://bugs.webkit.org/show_bug.cgi?id=52877
64216
64217        On Page destruction, any outstanding Geolocation permission
64218        requests should be cancelled, because the Geolocation can only
64219        access the client indirectly via m_frame->page().
64220
64221        Page destruction is signalled by a call to the
64222        Frame::pageDestroyed() method. This explictly calls
64223        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
64224
64225        Geolocation::reset() detaches from the GeolocationController,
64226        cancels requests, watches and single shots, and sets the
64227        permission state back to Unknown.
64228
64229        Frame::pageDestroyed() is also called by FrameLoader even though
64230        the page is not destroyed. We should still cancel permission
64231        requests, because the GeolocationClient will become inaccessible
64232        to the Geolocation object after this call.
64233
64234        Frame::transferChildFrameToNewDocument also indirectly calls
64235        Geolocation::reset when the frame is reparented between
64236        pages. Ideally we would like the Geolocation's activities to
64237        continue after reparenting, see bug
64238        https://bugs.webkit.org/show_bug.cgi?id=55577
64239
64240        Since GeolocationController is owned by Page, and all Geolocation
64241        objects will now unsubscribe from the GeolocationController on
64242        pageDetached(), we no longer need to call stopUpdating() from the
64243        GeolocationController's destructor. Instead we can simply assert
64244        that there should be no no observers. See related bug
64245        https://bugs.webkit.org/show_bug.cgi?id=52216 .
64246
64247        Introduced new method 'numberOfPendingPermissionRequests' on
64248        GeolocationClientMock to count the number of outstanding pending
64249        permission requests. This provides a reusable implementation for
64250        client-based implementations of the LayoutTestController's
64251        numberOfPendingGeolocationPermissionRequests method.
64252
64253        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
64254
64255        * page/DOMWindow.cpp:
64256        (WebCore::DOMWindow::resetGeolocation):
64257        * page/DOMWindow.h:
64258        * page/Frame.cpp:
64259        (WebCore::Frame::pageDestroyed):
64260        (WebCore::Frame::transferChildFrameToNewDocument):
64261        * page/Geolocation.cpp:
64262        (WebCore::Geolocation::~Geolocation):
64263        (WebCore::Geolocation::page):
64264        (WebCore::Geolocation::reset):
64265        (WebCore::Geolocation::disconnectFrame):
64266        (WebCore::Geolocation::lastPosition):
64267        (WebCore::Geolocation::requestPermission):
64268        (WebCore::Geolocation::startUpdating):
64269        (WebCore::Geolocation::stopUpdating):
64270        * page/Geolocation.h:
64271        * page/GeolocationController.cpp:
64272        (WebCore::GeolocationController::~GeolocationController):
64273        * page/Navigator.cpp:
64274        (WebCore::Navigator::resetGeolocation):
64275        * page/Navigator.h:
64276        * platform/mock/GeolocationClientMock.cpp:
64277        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
64278        * platform/mock/GeolocationClientMock.h:
64279
642802011-03-14  Andrey Adaikin  <aandrey@google.com>
64281
64282        Reviewed by Pavel Feldman.
64283
64284        Web Inspector: REGRESSION: Messed up with the tabIndex for text editor
64285        https://bugs.webkit.org/show_bug.cgi?id=56183
64286
64287        * inspector/front-end/SourceFrame.js:
64288        (WebInspector.SourceFrame.prototype._handleKeyDown):
64289        (WebInspector.SourceFrame.prototype._handleSave):
64290        (WebInspector.SourceFrame.prototype._handleRevertEditing):
64291        * inspector/front-end/TextViewer.js:
64292        (WebInspector.TextEditorMainPanel):
64293        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
64294
642952011-03-14  Chris Rogers  <crogers@google.com>
64296
64297        Reviewed by Xan Lopez.
64298
64299        Add all web audio auto-generated files to GTK make system
64300        https://bugs.webkit.org/show_bug.cgi?id=50497
64301
64302        No new tests since these are build-system tweaks.
64303
64304        * GNUmakefile.am:
64305
643062011-03-14  Pavel Feldman  <pfeldman@chromium.org>
64307
64308        Reviewed by Yury Semikhatsky.
64309
64310        Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.
64311        https://bugs.webkit.org/show_bug.cgi?id=56268
64312
64313        * inspector/Inspector.idl:
64314        * inspector/InspectorDOMAgent.cpp:
64315        (WebCore::InspectorDOMAgent::reset):
64316        (WebCore::InspectorDOMAgent::performSearch):
64317        (WebCore::InspectorDOMAgent::cancelSearch):
64318        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
64319        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
64320        * inspector/InspectorDOMAgent.h:
64321        * inspector/front-end/DOMAgent.js:
64322        (WebInspector.DOMAgent.prototype.requestDocument.mycallback):
64323        (WebInspector.DOMAgent.prototype.requestDocument):
64324        (WebInspector.DOMAgent.prototype._attributesUpdated):
64325        (WebInspector.DOMAgent.prototype._characterDataModified):
64326        (WebInspector.DOMAgent.prototype._documentUpdated):
64327        (WebInspector.DOMAgent.prototype._setDocument):
64328        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
64329        (WebInspector.DOMAgent.prototype._childNodeInserted):
64330        (WebInspector.DOMAgent.prototype._childNodeRemoved):
64331        (WebInspector.DOMAgent.prototype._removeBreakpoints):
64332        (WebInspector.DOMAgent.prototype.performSearch):
64333        (WebInspector.DOMAgent.prototype.cancelSearch):
64334        (WebInspector.DOMDispatcher.prototype.searchResults):
64335        * inspector/front-end/ElementsPanel.js:
64336        (WebInspector.ElementsPanel):
64337        (WebInspector.ElementsPanel.prototype._reset):
64338        (WebInspector.ElementsPanel.prototype._documentUpdated):
64339        (WebInspector.ElementsPanel.prototype.searchCanceled):
64340        (WebInspector.ElementsPanel.prototype.performSearch):
64341        (WebInspector.ElementsPanel.prototype._addNodesToSearchResult):
64342        (WebInspector.ElementsPanel.prototype._attributesUpdated):
64343        (WebInspector.ElementsPanel.prototype._characterDataModified):
64344        (WebInspector.ElementsPanel.prototype._nodeInserted):
64345        (WebInspector.ElementsPanel.prototype._nodeRemoved):
64346        (WebInspector.ElementsPanel.prototype._childNodeCountUpdated):
64347        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
64348
643492011-03-14  Pavel Feldman  <pfeldman@chromium.org>
64350
64351        Reviewed by Yury Semikhatsky.
64352
64353        Web Inspector: add tests for edit dom operations.
64354        https://bugs.webkit.org/show_bug.cgi?id=56248
64355
64356        Test: inspector/elements/edit-dom-actions.html
64357
64358        * inspector/Inspector.idl:
64359        * inspector/InspectorDOMAgent.cpp:
64360        (WebCore::InspectorDOMAgent::assertNode):
64361        (WebCore::InspectorDOMAgent::assertElement):
64362        (WebCore::InspectorDOMAgent::assertHTMLElement):
64363        (WebCore::InspectorDOMAgent::nodeToSelectOn):
64364        (WebCore::InspectorDOMAgent::querySelector):
64365        (WebCore::InspectorDOMAgent::querySelectorAll):
64366        (WebCore::InspectorDOMAgent::setAttribute):
64367        (WebCore::InspectorDOMAgent::removeAttribute):
64368        (WebCore::InspectorDOMAgent::getOuterHTML):
64369        (WebCore::InspectorDOMAgent::setOuterHTML):
64370        * inspector/InspectorDOMAgent.h:
64371        * inspector/front-end/DOMAgent.js:
64372        (WebInspector.DOMNode.prototype.setAttribute):
64373        (WebInspector.DOMNode.prototype.removeAttribute):
64374        * inspector/front-end/inspector.js:
64375        (WebInspector.startEditing.defaultFinishHandler):
64376
643772011-03-14  Brady Eidson  <beidson@apple.com>
64378
64379        Reviewed by Dan Bernstein.
64380
64381        <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
64382        Need WK2 API to view/manage origins with LocalStorage
64383
64384        * storage/StorageTracker.cpp:
64385        (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread
64386          before the StorageTracker thread can do it on the background thread.
64387
643882011-03-13  Anton D'Auria  <adauria@apple.com>
64389
64390        Reviewed by Brady Eidson and David Levin, landed by Brady Eidson.
64391
64392        Fixed lock-taking order to prevent deadlock, added lock for m_client,
64393        removed premature return in syncImportOriginIdentifiers when tracker
64394        db does not exist because that prevented syncFileSystemAndTrackerDatabase()
64395        from running until next LocalStorage db creation, cleaned up
64396        StorageTracker::scheduleTask() code for readability.
64397        
64398        https://bugs.webkit.org/show_bug.cgi?id=56285
64399        
64400        * storage/StorageTracker.cpp:
64401        (WebCore::StorageTracker::trackerDatabasePath):
64402        (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't
64403        optionally opened (as in the case when it doesn't exist on disk), don't
64404        exit early and call syncFileSystemAndTrackerDatabase(), which will create
64405        a tracker db if localstorage db files are found on disk by calling setOriginDetails.
64406        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
64407        (WebCore::StorageTracker::setOriginDetails):
64408        (WebCore::StorageTracker::scheduleTask): readability changes.
64409        (WebCore::StorageTracker::syncSetOriginDetails):
64410        (WebCore::StorageTracker::syncDeleteAllOrigins):
64411        (WebCore::StorageTracker::syncDeleteOrigin):
64412        (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock.
64413        (WebCore::StorageTracker::setClient):
64414        * storage/StorageTracker.h:
64415
644162011-03-13  Anton D'Auria  <adauria@apple.com>
64417
64418        Reviewed and landed by Brady Eidson.
64419
64420        Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1
64421        https://bugs.webkit.org/show_bug.cgi?id=56240
64422
64423        This assertion is invalid until LocalStorage is either global or is isolated by PageGroup.
64424
64425        * storage/StorageTracker.cpp:
64426        (WebCore::StorageTracker::origins):
64427        (WebCore::StorageTracker::deleteAllOrigins):
64428        (WebCore::StorageTracker::deleteOrigin):
64429
644302011-03-13  Pratik Solanki  <psolanki@apple.com>
64431
64432        Reviewed by Dan Bernstein.
64433
64434        Make adjustMIMETypeIfNecessary use CFNetwork directly
64435        https://bugs.webkit.org/show_bug.cgi?id=55912
64436
64437        Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain.
64438
64439        * platform/network/mac/WebCoreURLResponse.mm:
64440        (WebCore::adjustMIMETypeIfNecessary):
64441
644422011-03-13  Dan Bernstein  <mitz@apple.com>
64443
64444        Reviewed by Sam Weinig.
64445
64446        Include hyphenation information in text representation of render tree
64447        https://bugs.webkit.org/show_bug.cgi?id=56287
64448
64449        (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation
64450        string.
64451
644522011-03-13  David Levin  <levin@chromium.org>
64453
64454        Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288
64455        above addressing this FIXME.
64456
64457        * css/CSSStyleSelector.cpp:
64458        (WebCore::CSSStyleSelector::applyProperty):
64459
644602011-03-13  David Levin  <levin@chromium.org>
64461
64462        Build fix adding remaining enum values to switch statement.
64463
64464        * css/CSSStyleSelector.cpp:
64465        (WebCore::CSSStyleSelector::applyProperty):
64466
644672011-03-13  Sam Weinig  <sam@webkit.org>
64468
64469        Fix windows build.
64470
64471        * platform/network/cf/ResourceErrorCF.cpp:
64472        (WebCore::ResourceError::ResourceError):
64473        Add missing constructor.
64474
644752011-03-13  David Sosby  <dsosby@rim.com>
64476
64477        Reviewed by Dan Bernstein.
64478
64479        REGRESSION: Soft hyphen is not always rendered
64480        https://bugs.webkit.org/show_bug.cgi?id=56017
64481        
64482        The check to flag a text block as hyphenated was only
64483        occurring at break points in the line. If no break points
64484        were found after the soft hyphen then the line would not
64485        be flagged hyphenated. Adding a check for soft hyphen at
64486        the end of the text run resolves the issue.
64487
64488        Test: fast/text/soft-hyphen-4.html
64489
64490        * rendering/RenderBlockLineLayout.cpp:
64491        (WebCore::RenderBlock::findNextLineBreak):
64492
644932011-03-13  Dan Bernstein  <mitz@apple.com>
64494
64495        Reviewed by Mark Rowe.
64496
64497        REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
64498        https://bugs.webkit.org/show_bug.cgi?id=56280
64499
64500        * rendering/RenderBlockLineLayout.cpp:
64501        (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
64502
645032011-03-13  Sam Weinig  <sam@webkit.org>
64504
64505        Reviewed by Anders Carlsson.
64506
64507        Add ability to create a WKErrorRef
64508        <rdar://problem/9115768>
64509        https://bugs.webkit.org/show_bug.cgi?id=56279
64510
64511        * WebCore.exp.in:
64512        Add new exports.
64513
64514        * platform/network/cf/ResourceError.h:
64515        * platform/network/cf/ResourceErrorCF.cpp:
64516        (WebCore::ResourceError::platformCompare):
64517        (WebCore::ResourceError::cfError):
64518        (WebCore::ResourceError::operator CFErrorRef):
64519        (WebCore::ResourceError::ResourceError):
64520        (WebCore::ResourceError::cfStreamError):
64521        (WebCore::ResourceError::operator CFStreamError):
64522        * platform/network/mac/ResourceErrorMac.mm:
64523        (WebCore::ResourceError::ResourceError):
64524        (WebCore::ResourceError::platformCompare):
64525        (WebCore::ResourceError::nsError):
64526        (WebCore::ResourceError::operator NSError *):
64527        (WebCore::ResourceError::cfError):
64528        (WebCore::ResourceError::operator CFErrorRef):
64529        Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
64530        regardless of whether CFNetwork is being used.
64531
645322011-03-13  Pratik Solanki  <psolanki@apple.com>
64533
64534        Reviewed by Brady Eidson.
64535
64536        Make adjustMIMETypeIfNecessary use CFNetwork directly
64537        https://bugs.webkit.org/show_bug.cgi?id=55912
64538
64539        Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
64540        WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
64541        identical.
64542
64543        Testing is covered by existing LayoutTests.
64544
64545        * WebCore.exp.in:
64546        * platform/mac/WebCoreSystemInterface.h:
64547        * platform/mac/WebCoreSystemInterface.mm:
64548        * platform/network/mac/ResourceHandleMac.mm:
64549        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
64550        * platform/network/mac/WebCoreURLResponse.h:
64551        * platform/network/mac/WebCoreURLResponse.mm:
64552        (WebCore::createBinaryExtensionsSet):
64553        (WebCore::createExtensionToMIMETypeMap):
64554        (WebCore::mimeTypeFromUTITree):
64555        (WebCore::adjustMIMETypeIfNecessary):
64556
645572011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
64558
64559        Reviewed by Dimitri Glazkov.
64560
64561        Update comment in CSSValueKeywords.in
64562        https://bugs.webkit.org/show_bug.cgi?id=56266
64563
64564        The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
64565        in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
64566
64567        No tests - just updating a comment.
64568
64569        * css/CSSValueKeywords.in:
64570
645712011-03-13  Anton D'Auria  <adauria@apple.com>
64572
64573        Reviewed by Alice Liu.
64574
64575        StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
64576        https://bugs.webkit.org/show_bug.cgi?id=56259
64577
64578        Move all StorageTracker initialization to
64579        StorageTracker::initializeTracker. This also removes the
64580        requirement that the StorageTracker constructor isn't run
64581        on the main thread.
64582
64583        * storage/StorageTracker.cpp:
64584        (WebCore::StorageTracker::initializeTracker):
64585        (WebCore::StorageTracker::tracker):
64586        (WebCore::StorageTracker::StorageTracker):
64587
645882011-03-13  Rob Buis  <rwlbuis@gmail.com>
64589
64590        Reviewed by Dave Hyatt.
64591
64592        REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
64593        https://bugs.webkit.org/show_bug.cgi?id=53470
64594
64595        Prefer !important over normal properties when dealing with duplicate properties in style rules.
64596
64597        Test: fast/css/duplicate-property-in-rule-important.html
64598
64599        * css/CSSMutableStyleDeclaration.cpp:
64600        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
64601
646022011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
64603
64604        Unreviewed, rolling out r80895.
64605        http://trac.webkit.org/changeset/80895
64606        https://bugs.webkit.org/show_bug.cgi?id=56261
64607
64608        Causing crashes in several tests including
64609        t1202-counters-16-c.html (see
64610        http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
64611        (Requested by dave_levin on #webkit).
64612
64613        * rendering/CounterNode.cpp:
64614        (WebCore::CounterNode::CounterNode):
64615        (WebCore::CounterNode::create):
64616        (WebCore::CounterNode::resetRenderer):
64617        (WebCore::CounterNode::resetRenderers):
64618        (WebCore::CounterNode::recount):
64619        (WebCore::CounterNode::insertAfter):
64620        (WebCore::CounterNode::removeChild):
64621        (WebCore::showTreeAndMark):
64622        * rendering/CounterNode.h:
64623        (WebCore::CounterNode::renderer):
64624        * rendering/RenderCounter.cpp:
64625        (WebCore::findPlaceForCounter):
64626        (WebCore::RenderCounter::~RenderCounter):
64627        (WebCore::RenderCounter::originalText):
64628        (WebCore::RenderCounter::invalidate):
64629        (WebCore::destroyCounterNodeWithoutMapRemoval):
64630        (WebCore::RenderCounter::destroyCounterNodes):
64631        (WebCore::RenderCounter::destroyCounterNode):
64632        (WebCore::updateCounters):
64633        (showCounterRendererTree):
64634        * rendering/RenderCounter.h:
64635        * rendering/RenderObjectChildList.cpp:
64636        (WebCore::invalidateCountersInContainer):
64637        (WebCore::RenderObjectChildList::invalidateCounters):
64638        * rendering/RenderObjectChildList.h:
64639
646402011-03-12  Darin Adler  <darin@apple.com>
64641
64642        Reviewed by Dan Bernstein.
64643
64644        REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
64645        https://bugs.webkit.org/show_bug.cgi?id=56258
64646
64647        No tests because the wrong hashing is mostly harmless. The only symptom
64648        we have seen is an occasional assertion in debug builds about the size
64649        not being a multiple of two. But a worse hash is worse for performance too.
64650
64651        * platform/cf/BinaryPropertyList.cpp:
64652        (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
64653        than the number of array entries.
64654
646552011-03-12  Cameron Zwarich  <zwarich@apple.com>
64656
64657        Not reviewed.
64658
64659        Fix the build with newer GCCs and remove some extra whitespae.
64660
64661        * bindings/js/SerializedScriptValue.cpp:
64662        (WebCore::uint8_t):
64663
646642011-03-12  Cameron Zwarich  <zwarich@apple.com>
64665
64666        Rubber-stamped by Oliver Hunt.
64667
64668        Removed unused ARMv5 code. The ARMv5 case now falls under the general
64669        unaligned accessed case.
64670
64671        * bindings/js/SerializedScriptValue.cpp:
64672        (WebCore::CloneDeserializer::readLittleEndian):
64673        (WebCore::CloneDeserializer::readString):
64674
646752011-03-12  Cameron Zwarich  <zwarich@apple.com>
64676
64677        Reviewed by Oliver Hunt.
64678
64679        WebCore fails to build with Clang on ARM
64680        https://bugs.webkit.org/show_bug.cgi?id=56257
64681
64682        Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
64683        namespace scope, since explicit specializations are not allowed at class scope.
64684
64685        * bindings/js/SerializedScriptValue.cpp:
64686        (WebCore::writeLittleEndian):
64687
646882011-03-11  Darin Adler  <darin@apple.com>
64689
64690        Reviewed by Sam Weinig.
64691
64692        Dragging image to desktop gives webloc instead of image file in WebKit2
64693        https://bugs.webkit.org/show_bug.cgi?id=56193
64694
64695        * WebCore.exp.in: Added some additional exports. Re-sorted.
64696
646972011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
64698
64699        Unreviewed, rolling out r80919.
64700        http://trac.webkit.org/changeset/80919
64701        https://bugs.webkit.org/show_bug.cgi?id=56251
64702
64703        all windows bots failed to compile this change (Requested by
64704        loislo on #webkit).
64705
64706        * bridge/c/c_class.cpp:
64707        * bridge/c/c_runtime.cpp:
64708        * bridge/jni/JavaMethod.cpp:
64709        * plugins/PluginViewNone.cpp:
64710
647112011-03-12  Patrick Gansterer  <paroga@webkit.org>
64712
64713        Unreviewed WinCE build fix for r80900.
64714
64715        * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
64716
647172011-03-12  Andras Becsi  <abecsi@webkit.org>
64718
64719        Unreviewed typo fix.
64720
64721        No new tests needed.
64722
64723        * WebCore.pro: Fix typo in header name.
64724
647252011-03-12  Pavel Feldman  <pfeldman@chromium.org>
64726
64727        Not reviewed: Inspect Element action regression fix.
64728
64729        * inspector/front-end/inspector.js:
64730        (WebInspector.inspect):
64731
647322011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
64733
64734        Unreviewed. One line fix for inspector/dom-breakpoints.html
64735
64736        * inspector/front-end/BreakpointManager.js:
64737        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
64738
647392011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
64740
64741        Unreviewed build fix.
64742
64743        Almost all inspector tests are crashing after r80928.
64744
64745        * inspector/front-end/inspector.js:
64746
647472011-03-11  Pavel Feldman  <pfeldman@chromium.org>
64748
64749        Reviewed by Yury Semikhatsky.
64750
64751        Web Inspector: follow up to error reporting, fixing multiple regressions.
64752        https://bugs.webkit.org/show_bug.cgi?id=56243
64753
64754        * inspector/InjectedScript.cpp:
64755        (WebCore::InjectedScript::setPropertyValue):
64756        * inspector/InjectedScript.h:
64757        * inspector/Inspector.idl:
64758        * inspector/InspectorDOMAgent.cpp:
64759        (WebCore::InspectorDOMAgent::getChildNodes):
64760        (WebCore::InspectorDOMAgent::getOuterHTML):
64761        (WebCore::InspectorDOMAgent::getEventListenersForNode):
64762        * inspector/InspectorDOMAgent.h:
64763        * inspector/InspectorRuntimeAgent.cpp:
64764        (WebCore::InspectorRuntimeAgent::setPropertyValue):
64765        * inspector/InspectorRuntimeAgent.h:
64766        * inspector/front-end/DOMAgent.js:
64767        (WebInspector.DOMNode.prototype.setNodeName):
64768        (WebInspector.DOMNode.prototype.setNodeValue):
64769        (WebInspector.DOMNode.prototype.getChildNodes):
64770        (WebInspector.DOMNode.prototype.getOuterHTML):
64771        (WebInspector.DOMNode.prototype.setOuterHTML):
64772        (WebInspector.DOMNode.prototype.removeNode):
64773        (WebInspector.DOMNode.prototype.copyNode):
64774        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
64775        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
64776        (WebInspector.EventListeners.getEventListenersForNode):
64777        * inspector/front-end/DOMStorage.js:
64778        (WebInspector.DOMStorage.prototype.getEntries):
64779        (WebInspector.DOMStorage.prototype.setItem):
64780        (WebInspector.DOMStorage.prototype.removeItem):
64781        * inspector/front-end/DOMStorageItemsView.js:
64782        (WebInspector.DOMStorageItemsView.prototype.update):
64783        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
64784        * inspector/front-end/ElementsTreeOutline.js:
64785        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
64786        (WebInspector.ElementsTreeElement.prototype.updateChildren):
64787        ():
64788        * inspector/front-end/EventListenersSidebarPane.js:
64789        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
64790        (WebInspector.EventListenersSidebarPane.prototype.update):
64791        * inspector/front-end/ObjectPropertiesSection.js:
64792        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
64793        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
64794        * inspector/front-end/PropertiesSidebarPane.js:
64795        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
64796        * inspector/front-end/RemoteObject.js:
64797        (WebInspector.RemoteObject.prototype.setPropertyValue):
64798        (WebInspector.RemoteObject.prototype.evaluate):
64799        * inspector/front-end/inspector.js:
64800
648012011-03-12  Jer Noble  <jer.noble@apple.com>
64802
64803        Unreviewed build fix.
64804
64805        Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
64806        checks.
64807
64808        * dom/Document.cpp:
64809        (WebCore::Document::webkitWillEnterFullScreenForElement):
64810        (WebCore::Document::webkitDidEnterFullScreenForElement):
64811        (WebCore::Document::webkitWillExitFullScreenForElement):
64812        (WebCore::Document::webkitDidExitFullScreenForElement):
64813
648142011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
64815
64816        Unreviewed build fix.
64817
64818        [EFL] Fix build break because of several reason.
64819        https://bugs.webkit.org/show_bug.cgi?id=56244
64820
64821        * CMakeLists.txt: Add missing files.
64822        * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
64823
648242011-03-11  Yury Semikhatsky  <yurys@chromium.org>
64825
64826        Reviewed by Pavel Feldman.
64827
64828        Web Inspector: move profiler related methods from inspector agent to profiler agent
64829        https://bugs.webkit.org/show_bug.cgi?id=56204
64830
64831        * inspector/Inspector.idl:
64832        * inspector/InspectorAgent.cpp:
64833        (WebCore::InspectorAgent::InspectorAgent):
64834        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
64835        (WebCore::InspectorAgent::setFrontend):
64836        (WebCore::InspectorAgent::disconnectFrontend):
64837        (WebCore::InspectorAgent::populateScriptObjects):
64838        (WebCore::InspectorAgent::showProfilesPanel):
64839        * inspector/InspectorAgent.h:
64840        * inspector/InspectorController.cpp:
64841        (WebCore::InspectorController::enableProfiler):
64842        (WebCore::InspectorController::disableProfiler):
64843        (WebCore::InspectorController::profilerEnabled):
64844        (WebCore::InspectorController::startUserInitiatedProfiling):
64845        (WebCore::InspectorController::stopUserInitiatedProfiling):
64846        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
64847        * inspector/InspectorInstrumentation.cpp:
64848        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
64849        * inspector/InspectorProfilerAgent.cpp:
64850        (WebCore::InspectorProfilerAgent::create):
64851        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
64852        (WebCore::InspectorProfilerAgent::enable):
64853        (WebCore::InspectorProfilerAgent::disable):
64854        (WebCore::InspectorProfilerAgent::setFrontend):
64855        (WebCore::InspectorProfilerAgent::clearFrontend):
64856        (WebCore::InspectorProfilerAgent::restore):
64857        (WebCore::InspectorProfilerAgent::restoreEnablement):
64858        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
64859        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
64860        * inspector/InspectorProfilerAgent.h:
64861        (WebCore::InspectorProfilerAgent::start):
64862        (WebCore::InspectorProfilerAgent::stop):
64863        * inspector/front-end/ProfileView.js:
64864        (WebInspector.CPUProfileType.prototype.buttonClicked):
64865        * inspector/front-end/ProfilesPanel.js:
64866        (WebInspector.ProfilesPanel):
64867        (WebInspector.ProfilesPanel.prototype._registerProfileType):
64868        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
64869        * inspector/front-end/inspector.js:
64870        (WebInspector._createPanels):
64871
648722011-03-11  Jer Noble  <jer.noble@apple.com>
64873
64874        Reviewed by Anders Carlsson.
64875
64876        WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
64877        https://bugs.webkit.org/show_bug.cgi?id=56226
64878
64879        * dom/Document.cpp:
64880        (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
64881        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
64882        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
64883        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
64884        (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
64885
648862011-03-11  Jer Noble  <jer.noble@apple.com>
64887
64888        Reviewed by Anders Carlsson.
64889
64890        Create new interface stubs to support full screen mode in WebKit2.
64891
64892        WebKit2: Plumb new full screen animation APIs through WebKit2.
64893        https://bugs.webkit.org/show_bug.cgi?id=55993
64894
64895        * page/ChromeClient.h:
64896        (WebCore::ChromeClient::setRootFullScreenLayer): Added.
64897
648982011-03-11  Oliver Hunt  <oliver@apple.com>
64899
64900        Reviewed by Gavin Barraclough.
64901
64902        Ensure all values are correctly tagged in the registerfile
64903        https://bugs.webkit.org/show_bug.cgi?id=56214
64904
64905        Make sure everything builds still.
64906
64907        * bridge/c/c_class.cpp:
64908        * bridge/c/c_runtime.cpp:
64909        * bridge/jni/JavaMethod.cpp:
64910        * plugins/PluginViewNone.cpp:
64911
649122011-03-11  Mark Rowe  <mrowe@apple.com>
64913
64914        Fix the 32-bit build.
64915
64916        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
64917        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
64918
649192011-03-11  Mark Rowe  <mrowe@apple.com>
64920
64921        Rubber-stamped by Eric Carlsson.
64922
64923        <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
64924
64925        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
64926        (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
64927        (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
64928
649292011-03-11  Chris Marrin  <cmarrin@apple.com>
64930
64931        Unreviewed.
64932
64933        Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
64934
64935        * platform/graphics/ca/GraphicsLayerCA.cpp:
64936        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
64937
649382011-03-11  Brady Eidson  <beidson@apple.com>
64939
64940        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
64941
64942        * loader/icon/IconDatabase.h: Make this guy public.
64943
649442011-03-11  Brady Eidson  <beidson@apple.com>
64945
64946        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
64947
64948        * loader/icon/IconDatabase.h:
64949        (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
64950
649512011-03-11  Brady Eidson  <beidson@apple.com>
64952
64953        https://bugs.webkit.org/show_bug.cgi?id=56216
64954        Fix the Qt build following the same pattern of the patch.
64955
64956        * loader/icon/IconDatabase.h:
64957        * loader/icon/IconDatabaseBase.cpp:
64958        (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
64959        * loader/icon/IconDatabaseBase.h:
64960        (WebCore::IconDatabaseBase::isOpen): Ditto.
64961
649622011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
64963
64964        Reviewed by Alexey Proskuryakov.
64965
64966        https://bugs.webkit.org/show_bug.cgi?id=56198
64967        Fix conditional which had an int for one case and a pointer for another.
64968
64969        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
64970
64971        * loader/appcache/ApplicationCacheGroup.cpp:
64972        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
64973
649742011-03-11  Brady Eidson  <beidson@apple.com>
64975
64976        Windows build fix.
64977
64978        * history/HistoryItem.cpp:
64979        * loader/icon/IconDatabaseBase.cpp:
64980
649812011-03-11  Brady Eidson  <beidson@apple.com>
64982
64983        Reviewed by Sam Weinig.
64984
64985        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
64986        Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
64987
64988        Project file stuff:
64989        * Android.mk:
64990        * CMakeLists.txt:
64991        * GNUmakefile.am:
64992        * WebCore.gyp/WebCore.gyp:
64993        * WebCore.gypi:
64994        * WebCore.pro:
64995        * WebCore.xcodeproj/project.pbxproj:
64996        * WebCore.vcproj/WebCore.vcproj:
64997
64998        * loader/icon/IconDatabase.cpp:
64999        * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
65000
65001        * loader/icon/IconDatabaseBase.cpp: Added.
65002        (WebCore::IconDatabaseBase::iconURLForPageURL):
65003        (WebCore::iconDatabase):
65004        (WebCore::setGlobalIconDatabase):
65005        * loader/icon/IconDatabaseBase.h: Added.
65006        (WebCore::IconDatabaseBase::IconDatabaseBase):
65007        (WebCore::IconDatabaseBase::~IconDatabaseBase):
65008        (WebCore::IconDatabaseBase::setEnabled):
65009        (WebCore::IconDatabaseBase::isEnabled):
65010        (WebCore::IconDatabaseBase::defaultIcon):
65011        (WebCore::IconDatabaseBase::retainIconForPageURL):
65012        (WebCore::IconDatabaseBase::releaseIconForPageURL):
65013        (WebCore::IconDatabaseBase::iconForPageURL):
65014        (WebCore::IconDatabaseBase::setIconURLForPageURL):
65015        (WebCore::IconDatabaseBase::setIconDataForIconURL):
65016        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
65017        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
65018        (WebCore::IconDatabaseBase::pageURLMappingCount):
65019        (WebCore::IconDatabaseBase::retainedPageURLCount):
65020        (WebCore::IconDatabaseBase::iconRecordCount):
65021        (WebCore::IconDatabaseBase::iconRecordCountWithData):
65022        (WebCore::IconDatabaseBase::importIconURLForPageURL):
65023        (WebCore::IconDatabaseBase::importIconDataForIconURL):
65024        (WebCore::IconDatabaseBase::shouldStopThreadActivity):
65025        (WebCore::IconDatabaseBase::open):
65026        (WebCore::IconDatabaseBase::close):
65027        (WebCore::IconDatabaseBase::removeAllIcons):
65028        (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
65029        (WebCore::IconDatabaseBase::setClient):
65030
65031        * loader/icon/IconDatabaseNone.cpp: Removed.
65032
650332011-03-11  Brady Eidson  <beidson@apple.com>
65034
65035        Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
65036
65037        * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
65038
650392011-03-11  Michael Nordman  <michaeln@google.com>
65040
65041        Reviewed by Dmitry Titov.
65042
65043        Adding the '~' to the dtor (duh).
65044
65045        No new tests.
65046
65047        * storage/SQLCallbackWrapper.h:
65048        (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
65049
650502011-03-11  Carol Szabo  <carol.szabo@nokia.com>
65051
65052        Reviewed by David Hyatt.
65053
65054        Introduced double linkage between a CounterNode and its display renderer.
65055
65056        use of freed pointer in WebCore::RenderCounter::originalText()
65057        https://bugs.webkit.org/show_bug.cgi?id=56065
65058
65059        No new tests. This bug could only be reproduced manually by
65060        refreshing the page during load at a critical point.
65061        See bug attachment for testing.
65062
65063        * rendering/CounterNode.cpp:
65064        Introduced new member "m_owner" to store the renderer that has the
65065        style directives that produce the CounterNode.
65066        Repurposed m_renderer to reffer to the RenderCounter that shows the
65067        CounterNode.
65068        (WebCore::CounterNode::CounterNode):
65069        Updated member initialization.
65070        (WebCore::CounterNode::create):
65071        (WebCore::CounterNode::resetRenderer):
65072        (WebCore::CounterNode::resetRenderers):
65073        (WebCore::CounterNode::recount):
65074        (WebCore::CounterNode::removeChild):
65075        (WebCore::CounterNode::insertAfter):
65076        No functional changes.
65077        (WebCore::showTreeAndMark):
65078        Added flushing to ensure that the output is complete.
65079        * rendering/CounterNode.h:
65080        (WebCore::CounterNode::owner):
65081        Renamed from renderer()
65082        (WebCore::CounterNode::renderer):
65083        (WebCore::CounterNode::setRenderer):
65084        Added new accessors for the display renderer.
65085        * rendering/RenderCounter.cpp:
65086        (WebCore::findPlaceForCounter):
65087        Fixed comments. No functional changes.
65088        (WebCore::RenderCounter::~RenderCounter):
65089        Made sure that the CounterNode that this renderers displays is
65090        detached from this.
65091        (WebCore::RenderCounter::originalText):
65092        (WebCore::RenderCounter::invalidate):
65093        Added code to update m_renderer on the displayed CounterNode.
65094        (WebCore::destroyCounterNodeWithoutMapRemoval):
65095        (WebCore::RenderCounter::destroyCounterNodes):
65096        (WebCore::RenderCounter::destroyCounterNode):
65097        (WebCore::updateCounters):
65098        No change, just kept code in line with the changes above.
65099        (showCounterRendererTree):
65100        Added fflush to ensure complete display.
65101        * rendering/RenderCounter.h:
65102        * rendering/RenderObjectChildList.cpp:
65103        * rendering/RenderObjectChildList.h:
65104        Removed unneeded invalidateCounters related functions.
65105
651062011-03-11  Luke Macpherson   <macpherson@chromium.org>
65107
65108        Reviewed by Eric Seidel.
65109
65110        Introduce lookup-table based approach for applying CSS properties.
65111        The aim is to be a starting point for refactoring
65112        CSSStyleSelector::applyProperty() into more readable, maintainable code.
65113        https://bugs.webkit.org/show_bug.cgi?id=54707
65114
65115        No new behavior / covered by existing tests.
65116
65117        * css/CSSStyleApplyProperty.cpp: Added.
65118        (WebCore::ApplyPropertyNull):
65119        Class that provides empty implementations of inherit, initial, value.
65120        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
65121        Class that calls the appropriate RenderStyle setters directly.
65122        (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
65123        Class for handling CSSProperty*Color.
65124        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
65125        Class for handling CSSPropertyColor.
65126        (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
65127        Singleton initializer.
65128        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
65129        Constructor that bulds up the map from property id to apply-er objects.
65130        * css/CSSStyleApplyProperty.h: Added.
65131        (WebCore::CSSStyleApplyProperty::inherit):
65132        Handle the inherit case for a given property.
65133        (WebCore::CSSStyleApplyProperty::initial):
65134        Handle the initial case for a given property.
65135        (WebCore::CSSStyleApplyProperty::value):
65136        Apply a value to a given property.
65137        (WebCore::CSSStyleApplyProperty::implements):
65138        Returns true if the provided property id is implemented.
65139        (WebCore::CSSStyleApplyProperty::index):
65140        Private function to determine the index of a property the property map.
65141        (WebCore::CSSStyleApplyProperty::valid):
65142        Function to determine that a given property id is valid.
65143        (WebCore::CSSStyleApplyProperty::setPropertyValue):
65144        (WebCore::CSSStyleApplyProperty::propertyValue):
65145        * css/CSSStyleSelector.cpp:
65146        (WebCore::CSSStyleSelector::CSSStyleSelector):
65147        Get reference to the CSSStyleApplyProperty singleton.
65148        (WebCore::CSSStyleSelector::applyProperty):
65149        Now calls into CSSStyleApplyProperty for implemented property ids.
65150        Deleted color-related methods from the property id switch.
65151        * css/CSSStyleSelector.h:
65152        (WebCore::CSSStyleSelector::style):
65153        Made public to allow access from CSSStyleApplyProperty.
65154        (WebCore::CSSStyleSelector::parentStyle):
65155        Made public to allow access from CSSStyleApplyProperty.
65156        * rendering/style/RenderStyle.h:
65157        Made CSSStyleApplyProperty a friend class. Necessary because it needs
65158        to access the private getters and setters on this clsass.
65159
651602011-03-11  Anton D'Auria  <adauria@apple.com>
65161
65162        Reviewed and landed by Brady Eidson.
65163
65164        Add WebKit1 API to view and delete local storage
65165        https://bugs.webkit.org/show_bug.cgi?id=51878
65166
65167        Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
65168        StorageTracker maintains its own database of origin identifiers and backing db paths,
65169        and this allows it to contain more relational data in the future, like variable quotas per origin.
65170
65171        On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
65172        an origin entry when StorageAreaSync performs a first sync for an origin.
65173
65174        All StorageTracker file operations are performed on one background thread with a task queue.
65175
65176        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
65177               storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
65178               storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
65179               storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
65180               storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
65181
65182        * GNUmakefile.am:
65183        * WebCore.exp.in:
65184        * WebCore.gypi:
65185        * WebCore.pro:
65186        * WebCore.vcproj/WebCore.vcproj:
65187        * WebCore.xcodeproj/project.pbxproj:
65188        * page/PageGroup.cpp:
65189        (WebCore::PageGroup::clearLocalStorageForAllOrigins):
65190        (WebCore::PageGroup::clearLocalStorageForOrigin):
65191        (WebCore::PageGroup::syncLocalStorage):
65192        (WebCore::PageGroup::numberOfPageGroups):
65193        * page/PageGroup.h:
65194        * platform/chromium/FileSystemChromium.cpp:
65195        (WebCore::listDirectory):
65196        * platform/posix/FileSystemPOSIX.cpp:
65197        (WebCore::listDirectory):
65198        * storage/LocalStorageTask.cpp:
65199        (WebCore::LocalStorageTask::LocalStorageTask):
65200        (WebCore::LocalStorageTask::performTask):
65201        * storage/LocalStorageTask.h:
65202        (WebCore::LocalStorageTask::createOriginIdentifiersImport):
65203        (WebCore::LocalStorageTask::createSetOriginDetails):
65204        (WebCore::LocalStorageTask::createDeleteOrigin):
65205        (WebCore::LocalStorageTask::createDeleteAllOrigins):
65206        * storage/StorageAreaImpl.cpp:
65207        (WebCore::StorageAreaImpl::clearForOriginDeletion):
65208        (WebCore::StorageAreaImpl::sync):
65209        * storage/StorageAreaImpl.h:
65210        * storage/StorageAreaSync.cpp:
65211        (WebCore::StorageAreaSync::scheduleCloseDatabase):
65212        (WebCore::StorageAreaSync::openDatabase):
65213        (WebCore::StorageAreaSync::sync):
65214        (WebCore::StorageAreaSync::deleteEmptyDatabase):
65215        (WebCore::StorageAreaSync::scheduleSync):
65216        * storage/StorageAreaSync.h:
65217        * storage/StorageNamespace.h:
65218        * storage/StorageNamespaceImpl.cpp:
65219        (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
65220        (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
65221        (WebCore::StorageNamespaceImpl::sync):
65222        * storage/StorageNamespaceImpl.h:
65223        * storage/StorageTracker.cpp: Added.
65224        (WebCore::StorageTracker::initializeTracker):
65225        (WebCore::StorageTracker::tracker):
65226        (WebCore::StorageTracker::StorageTracker):
65227        (WebCore::StorageTracker::setStorageDirectoryPath):
65228        (WebCore::StorageTracker::trackerDatabasePath):
65229        (WebCore::StorageTracker::openTrackerDatabase):
65230        (WebCore::StorageTracker::importOriginIdentifiers):
65231        (WebCore::StorageTracker::syncImportOriginIdentifiers):
65232        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
65233        (WebCore::StorageTracker::setOriginDetails):
65234        (WebCore::StorageTracker::scheduleTask):
65235        (WebCore::StorageTracker::syncSetOriginDetails):
65236        (WebCore::StorageTracker::origins):
65237        (WebCore::StorageTracker::deleteAllOrigins):
65238        (WebCore::StorageTracker::syncDeleteAllOrigins):
65239        (WebCore::StorageTracker::deleteOrigin):
65240        (WebCore::StorageTracker::syncDeleteOrigin):
65241        (WebCore::StorageTracker::willDeleteAllOrigins):
65242        (WebCore::StorageTracker::willDeleteOrigin):
65243        (WebCore::StorageTracker::canDeleteOrigin):
65244        (WebCore::StorageTracker::cancelDeletingOrigin):
65245        (WebCore::StorageTracker::setClient):
65246        (WebCore::StorageTracker::syncLocalStorage):
65247        * storage/StorageTracker.h: Added.
65248        * storage/StorageTrackerClient.h: Added.
65249        (WebCore::StorageTrackerClient::~StorageTrackerClient):
65250
652512011-03-11  Steve Block  <steveblock@google.com>
65252
65253        Reviewed by Jeremy Orlow.
65254
65255        JavaMethod does not correctly check for a null jstring for the method name
65256        https://bugs.webkit.org/show_bug.cgi?id=56187
65257
65258        No new tests, simple typo fix.
65259
65260        * bridge/jni/JavaMethod.cpp:
65261        (JavaMethod::JavaMethod):
65262
652632011-03-11  Adrienne Walker  <enne@google.com>
65264
65265        Reviewed by James Robinson.
65266
65267        [chromium] Compositor uses too much texture memory for scrollbars
65268        https://bugs.webkit.org/show_bug.cgi?id=56212
65269
65270        Compositor invalidations can be off the page (and very large), but
65271        scrollbars only need to care about the invalidation that's visible.
65272        The large invalidation was causing the tiler layer size to grow
65273        needlessly larger than the scrollbar.
65274
65275        * platform/graphics/chromium/LayerRendererChromium.cpp:
65276        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
65277
652782011-03-11  David Hyatt  <hyatt@apple.com>
65279
65280        Reviewed by Simon Fraser.
65281
65282        https://bugs.webkit.org/show_bug.cgi?id=52987
65283        
65284        REGRESSION: Overflowing columns not repainted correctly
65285        
65286        Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
65287        sufficient, since blocks paint their own columns.
65288
65289        Added fast/multicol/scrolling-overflow.html
65290
65291        * rendering/RenderBlock.cpp:
65292        (WebCore::RenderBlock::addOverflowFromChildren):
65293
652942011-03-11  Matthew Delaney  <mdelaney@apple.com>
65295
65296        Reviewed by Simon Fraser.
65297
65298        Set canvasUsesAcceleratedDrawing setting to be off(false) by default
65299        https://bugs.webkit.org/show_bug.cgi?id=56215
65300
65301        No new tests. Does not affect behavior. Just keeping the setting off by default.
65302
65303        * page/Settings.cpp:
65304        (WebCore::Settings::Settings):
65305
653062011-03-11  Andy Estes  <aestes@apple.com>
65307
65308        Reviewed by David Hyatt.
65309
65310        Table cells with dynamically added percentage height descendants do not
65311        grow in size if the table has already been laid out.
65312        https://bugs.webkit.org/show_bug.cgi?id=56174
65313        
65314        Table cells ignore their specified size and collapse to fit their
65315        children. When a descendent with percentage height is present before
65316        the table is first laid out, the descendent is sized based on the
65317        specified size of the table cell. However, when the child isn't present
65318        when the table is first laid out, the table cell ignores its specified
65319        size and collapses down to 0. Then, when the child div is added in a
65320        separate run loop iteration, it is sized to be 100% of the collapsed
65321        cell height instead of 100% of the cell's specified height. We should
65322        not get different layouts depending on the timing of tree construction.
65323        
65324        Fix this by clearing intrinsic padding before calculating the table
65325        cell's override height when we detect a child that should flex the
65326        table cell.
65327
65328        Test: fast/table/dynamic-descendant-percentage-height.html
65329
65330        * rendering/RenderTableCell.cpp:
65331        (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
65332        intrinsic padding before setting the override size.
65333        * rendering/RenderTableCell.h:
65334        * rendering/RenderTableSection.cpp:
65335        (WebCore::RenderTableSection::layoutRows): Call
65336        setOverrideSizeFromRowHeight() instead of setOverrideSize().
65337
653382011-03-11  Michael Nordman  <michaeln@google.com>
65339
65340        Reviewed by David Levin.
65341
65342        Add SQLCallbackWrapper
65343        Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
65344        which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
65345        https://bugs.webkit.org/show_bug.cgi?id=55919
65346
65347        No new tests, existing tests apply.
65348
65349        * GNUmakefile.am:
65350        * WebCore.gypi:
65351        * WebCore.pro:
65352        * WebCore.vcproj/WebCore.vcproj:
65353        * WebCore.xcodeproj/project.pbxproj:
65354        * storage/SQLCallbackWrapper.h: Added.
65355        (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
65356        (WebCore::SQLCallbackWrapper::clear):
65357        (WebCore::SQLCallbackWrapper::unwrap):
65358        (WebCore::SQLCallbackWrapper::hasCallback):
65359        (WebCore::SQLCallbackWrapper::safeRelease):
65360        * storage/SQLStatement.cpp:
65361        (WebCore::SQLStatement::create):
65362        (WebCore::SQLStatement::SQLStatement):
65363        (WebCore::SQLStatement::performCallback):
65364        * storage/SQLStatement.h:
65365        (WebCore::SQLStatement::hasStatementCallback):
65366        (WebCore::SQLStatement::hasStatementErrorCallback):
65367        * storage/SQLTransaction.cpp:
65368        (WebCore::SQLTransaction::SQLTransaction):
65369        (WebCore::SQLTransaction::executeSQL):
65370        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
65371        (WebCore::SQLTransaction::deliverTransactionCallback):
65372        (WebCore::SQLTransaction::deliverStatementCallback):
65373        (WebCore::SQLTransaction::postflightAndCommit):
65374        (WebCore::SQLTransaction::deliverSuccessCallback):
65375        (WebCore::SQLTransaction::handleTransactionError):
65376        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
65377        * storage/SQLTransaction.h:
65378
653792011-03-11  Eric Carlson  <eric.carlson@apple.com>
65380
65381        Reviewed by Sam Weinig.
65382
65383        <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
65384
65385        No new tests, existing media tests cover this.
65386
65387        * WebCore.xcodeproj/project.pbxproj:
65388        * platform/graphics/MediaPlayer.cpp:
65389        (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
65390        (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
65391        (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
65392        (WebCore::MediaPlayer::inMediaDocument): Ditto.
65393        * platform/graphics/MediaPlayer.h:
65394
65395        * platform/graphics/avfoundation: Added.
65396        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
65397        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
65398
65399        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
65400        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
65401
654022011-03-11  Dean Jackson  <dino@apple.com>
65403
65404        Reviewed by Simon Fraser.
65405
65406        https://bugs.webkit.org/show_bug.cgi?id=56205
65407        m_restrictions needs to allow multiple values (a bitfield)
65408
65409        HTMLMediaElement::m_restrictions needs to hold multiple values, so
65410        change BehaviorRestrictions to an unsigned typedef and rename the
65411        existing enum BehaviorRestrictionFlags.
65412
65413        * html/HTMLMediaElement.h:
65414        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
65415
654162011-03-11  David Hyatt  <hyatt@apple.com>
65417
65418        Reviewed by Dan Bernstein.
65419
65420        https://bugs.webkit.org/show_bug.cgi?id=47206
65421        
65422        Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
65423        properly constructed.
65424
65425        Added fast/css-generated-content/table-row-before-after.html
65426
65427        * rendering/RenderTableRow.cpp:
65428        (WebCore::RenderTableRow::styleDidChange):
65429        * rendering/RenderTableRow.h:
65430
654312011-03-11  James Robinson  <jamesr@chromium.org>
65432
65433        Reviewed by Kenneth Russell.
65434
65435        [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
65436        https://bugs.webkit.org/show_bug.cgi?id=56209
65437
65438        This matches the behavior prior to r80482.  No test since the only changes in
65439        behavior are avoiding work on invisible layers, which is unobservable,
65440        and fixing a crash due to bug 56153.
65441
65442        * platform/graphics/chromium/LayerRendererChromium.cpp:
65443        (WebCore::LayerRendererChromium::updateContentsRecursive):
65444
654452011-03-11  David Hyatt  <hyatt@apple.com>
65446
65447        Reviewed by Simon Fraser.
65448
65449        https://bugs.webkit.org/show_bug.cgi?id=47159
65450        
65451        CSS2.1 failures in background position parsing.
65452        
65453        Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
65454        when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
65455        it to understand what the first component was.
65456        
65457        For individual property parsing using background-position-x/y, I added new functions that just handle that without
65458        worrying about the other component.
65459        
65460        In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
65461        backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
65462        has been changed to always consider a layer empty if it has no image set, even if other properties are set.
65463        
65464        A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
65465        parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
65466        should actually include the additional values when no image is set though, so that should perhaps be the subject of a 
65467        follow-up bug.
65468
65469        Added fast/backgrounds/background-position-parsing.html
65470
65471        * css/CSSParser.cpp:
65472        (WebCore::CSSParser::parseFillPositionX):
65473        (WebCore::CSSParser::parseFillPositionY):
65474        (WebCore::CSSParser::parseFillPositionComponent):
65475        (WebCore::CSSParser::parseFillPosition):
65476        (WebCore::CSSParser::parseFillProperty):
65477        (WebCore::CSSParser::parseTransformOrigin):
65478        (WebCore::CSSParser::parsePerspectiveOrigin):
65479        * css/CSSParser.h:
65480        * rendering/style/FillLayer.cpp:
65481        (WebCore::FillLayer::fillUnsetProperties):
65482        (WebCore::FillLayer::cullEmptyLayers):
65483
654842011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
65485
65486        Reviewed by James Robinson.
65487
65488        [chromium] Allow large layers with non-identity transforms to be drawn
65489        as long as their visible portion is smaller than the largest supported
65490        texture size. This code will soon be replaced by tiled layers.
65491        https://bugs.webkit.org/show_bug.cgi?id=55984
65492
65493        Test: platform/chromium/compositing/huge-layer-rotated.html
65494
65495        * platform/graphics/chromium/ContentLayerChromium.cpp:
65496        (WebCore::ContentLayerChromium::updateContentsIfDirty):
65497        (WebCore::ContentLayerChromium::draw):
65498        * platform/graphics/chromium/ContentLayerChromium.h:
65499
655002011-03-09  Chris Marrin  <cmarrin@apple.com>
65501
65502        Reviewed by Adam Roben.
65503
65504        REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
65505        https://bugs.webkit.org/show_bug.cgi?id=52468
65506
65507        Added WIN32 to the ifdef controlling whether animations are applied in normal or
65508        reverse order. On Mac, animations used to be applied in reverse, but 
65509        <rdar://problem/7095638> fixed this in the release after Snow Leopard.
65510        But that patch has not be applied to the Safari Windows SDK yet. For now
65511        I've made Windows use the reverse order logig. <rdar://problem/9112233> is
65512        tracking the inclusion of the patch on Windows.
65513
65514        * platform/graphics/ca/GraphicsLayerCA.cpp:
65515        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
65516
655172011-03-11  Tony Gentilcore  <tonyg@chromium.org>
65518
65519        Reviewed by Eric Seidel.
65520
65521        Let the parser yield for layout before running scripts
65522        https://bugs.webkit.org/show_bug.cgi?id=54355
65523
65524        Prior to this patch, the parser would yield to perform a layout/paint before running a
65525        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
65526        don't preload scan into the body while parsing the head, typically we'll block on a script
65527        early in the body that causes us to yield to do the first paint within a reasonable time.
65528
65529        However, I'm planning to change the PreloadScanner to scan into the body from the head.
65530        That significantly improves overall load time, but would hurt first paint time because
65531        fewer scripts would be blocked during parsing and thus wouldn't yield.
65532
65533        This change causes us to yield before running scripts if we haven't painted yet (regardless
65534        of whether or not the script is loaded). In addition to allowing the above mentioned
65535        PreloadScanner change to be implemented without regressing first paint time, this also
65536        improves first paint time by itself.
65537
65538        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
65539        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
65540        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
65541        signifcant change in page load time.
65542
65543        Within the pages tested, 33 had no statistically significant change in time to first paint,
65544        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
65545        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
65546
65547        * html/parser/HTMLDocumentParser.cpp:
65548        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
65549        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
65550        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
65551        the right thing whether we are just before a token or waiting for a script. Now that we may
65552        yield before a token or before a script, this may be called while paused.
65553        * html/parser/HTMLParserScheduler.cpp:
65554        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
65555        * page/FrameView.h:
65556        (WebCore::FrameView::hasEverPainted): Added.
65557
655582011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
65559
65560        Fix crashes in dom/html/level2/html/HTMLInputElement*.
65561
65562        * css/CSSStyleSelector.cpp:
65563        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
65564            because e can certainly be a null.
65565
655662011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
65567
65568        Reviewed by David Hyatt.
65569
65570        Choke text-decoration when entering shadow DOM subtree.
65571        https://bugs.webkit.org/show_bug.cgi?id=56044
65572
65573        No new tests, because the functionality can't be tested yet.
65574
65575        * css/CSSStyleSelector.cpp:
65576        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
65577
655782011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
65579
65580        Reviewed by Eric Carlson.
65581
65582        Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
65583        https://bugs.webkit.org/show_bug.cgi?id=55972
65584
65585        Instead of poking at the time display elements all the way from RenderMedia,
65586        let the standard layout cycle take care of things. Move the logic of calculating
65587        when to collapse the time display elements into a custom renderer, since
65588        this is not something that can be accomplished with CSS.
65589
65590        Also, the logic of keeping the timeline slider at least 100px needed refreshing,
65591        since it didn't actually keep it at 100px.
65592
65593        * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
65594            of time display elements to RenderMediaControlTimeDisplay, eliminating
65595            updateTimeDisplayVisibility method.
65596        * html/shadow/MediaControls.h: Removed decl.
65597        * rendering/MediaControlElements.cpp:
65598        (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
65599            Added new renderer class.
65600        (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
65601            size-sensing logic, still using hard-coded values.
65602        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
65603            Removed m_isVisible member, which is no longer necessary.
65604        (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
65605            return the new renderer.
65606        * rendering/MediaControlElements.h: Adjusted decls.
65607        * rendering/RenderMedia.cpp:
65608        (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
65609            media controls in layout.
65610
656112011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
65612
65613        Reviewed by Eric Carlson.
65614
65615        Start focusing updates to media controls, away from always updating everything.
65616        https://bugs.webkit.org/show_bug.cgi?id=56038
65617
65618        For now, the new methods just call generic MediaControls::update.
65619
65620        Covered by existing tests.
65621
65622        * html/HTMLMediaElement.cpp:
65623        (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
65624        (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
65625        (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
65626        (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
65627            accessor.
65628        (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
65629            MediaControls::changedClosedCaptionsVisibility.
65630        (WebCore::HTMLMediaElement::mediaControls): Added.
65631        (WebCore::HTMLMediaElement::hasMediaControls): Added.
65632        * html/HTMLMediaElement.h: Added decls.
65633        * html/shadow/MediaControls.cpp:
65634        (WebCore::MediaControls::reset): Added.
65635        (WebCore::MediaControls::changedMute): Added.
65636        (WebCore::MediaControls::changedVolume): Added.
65637        (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
65638        * html/shadow/MediaControls.h: Added decls.
65639
656402011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
65641
65642        Reviewed by Martin Robinson.
65643
65644        [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
65645        https://bugs.webkit.org/show_bug.cgi?id=55703
65646
65647        When calling webKitWebSrcStop in case of a seeking, the frame should not
65648        be reset (the source hasn't change). The frame may be used to get the network
65649        context. Some network stack (like Qt) are relaying on the network context
65650        to work.
65651
65652        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
65653        (webKitWebSrcStop):
65654
656552011-03-11  Dean Jackson  <dino@apple.com>
65656
65657        Unreviewed.
65658
65659        Build fixes for GTK and Leopard.
65660
65661        * bindings/gobject/GNUmakefile.am:
65662        - add missing WebKitAnimation* generated bindings
65663        * page/WebKitAnimation.idl:
65664        - use double in place of float (the core values are double anyway)
65665
656662011-03-11  Dean Jackson  <dino@apple.com>
65667
65668        Unreviewed build fix for QT.
65669
65670        * WebCore.pro:
65671
656722011-03-11  Dean Jackson  <dino@apple.com>
65673
65674        Reviewed by Simon Fraser and Chris Marrin.
65675
65676        https://bugs.webkit.org/show_bug.cgi?id=54151
65677        Implement an API to play/pause/scrub animations
65678
65679        This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
65680        APIs, exposed via Element.getWebKitAnimations(). This first pass
65681        is a read-only API - a subsequent commit will add the ability
65682        to scrub animations.
65683
65684        Test: animations/animation-api-1.html
65685
65686        * Android.derived.jscbindings.mk:
65687        * Android.derived.v8bindings.mk:
65688        * Android.mk:
65689        * Android.v8bindings.mk:
65690        * CMakeLists.txt:
65691        * CodeGenerators.pri:
65692        * DerivedSources.cpp:
65693        * DerivedSources.make:
65694        * GNUmakefile.am:
65695        * WebCore.gypi:
65696        * WebCore.pro:
65697        * WebCore.vcproj/WebCore.vcproj:
65698        * WebCore.xcodeproj/project.pbxproj:
65699        - All build settings updated for new files
65700        * bindings/js/JSBindingsAllInOne.cpp:
65701        - Include new custom files
65702        * bindings/js/JSWebKitAnimationCustom.cpp: Added.
65703        (WebCore::JSWebKitAnimation::iterationCount):
65704        - Custom property getter so that we can return INFINITY
65705        * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
65706        (WebCore::JSWebKitAnimationList::markChildren):
65707        - Make sure WebKitAnimations are marked
65708        * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
65709        (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
65710        - Custom property getter so that we can return INFINITY
65711        * dom/Element.cpp:
65712        (WebCore::Element::webkitGetAnimations):
65713        * dom/Element.h:
65714        * dom/Element.idl:
65715        - New API entry point
65716        * page/DOMWindow.idl:
65717        - Constructor definitions for WebKitAnimation and WebKitAnimationList
65718        * page/animation/AnimationBase.cpp:
65719        (WebCore::AnimationBase::~AnimationBase):
65720        - Since AnimationBase can now live longer (if a WebKitAnimation is
65721        held in Javascript) we need to guard for the renderer having disappeared.
65722        (WebCore::AnimationBase::setElapsedTime):
65723        (WebCore::AnimationBase::play):
65724        (WebCore::AnimationBase::pause):
65725        - Stub implementations at present
65726        * page/animation/AnimationBase.h:
65727        (WebCore::AnimationBase::animation):
65728        - Expose the Animation properties
65729        * page/animation/AnimationController.cpp:
65730        (WebCore::AnimationControllerPrivate::animationsForRenderer):
65731        (WebCore::AnimationController::animationsForRenderer):
65732        - Builds the list of WebKitAnimations
65733        * page/animation/AnimationController.h:
65734        * page/animation/AnimationControllerPrivate.h:
65735        * page/animation/CompositeAnimation.cpp:
65736        (WebCore::CompositeAnimation::updateKeyframeAnimations):
65737        - Make sure we clear the renderer if we are removing the animation
65738        (WebCore::CompositeAnimation::animations):
65739        * page/animation/CompositeAnimation.h:
65740        * page/WebKitAnimation.cpp: Added.
65741        (WebCore::WebKitAnimation::WebKitAnimation):
65742        (WebCore::WebKitAnimation::name):
65743        (WebCore::WebKitAnimation::duration):
65744        (WebCore::WebKitAnimation::elapsedTime):
65745        (WebCore::WebKitAnimation::setElapsedTime):
65746        (WebCore::WebKitAnimation::delay):
65747        (WebCore::WebKitAnimation::iterationCount):
65748        (WebCore::WebKitAnimation::paused):
65749        (WebCore::WebKitAnimation::ended):
65750        (WebCore::WebKitAnimation::direction):
65751        (WebCore::WebKitAnimation::fillMode):
65752        (WebCore::WebKitAnimation::pause):
65753        (WebCore::WebKitAnimation::play):
65754        - The implementation of the new API. All the read-only parts are
65755        done, but elapsedTime, play() and pause() are stubs.
65756        * page/WebKitAnimation.h: Added.
65757        (WebCore::WebKitAnimation::create):
65758        (WebCore::WebKitAnimation::~WebKitAnimation):
65759        * page/WebKitAnimation.idl: Added.
65760        * page/WebKitAnimationList.cpp: Added.
65761        * page/WebKitAnimationList.h: Added.
65762        * page/WebKitAnimationList.idl: Added.
65763        - Copies NodeList implementation
65764
657652011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
65766
65767        Reviewed by Yury Semikhatsky.
65768
65769        Web Inspector: introduce error argument for all the callbacks on frontend.
65770        https://bugs.webkit.org/show_bug.cgi?id=56100
65771
65772        * inspector/CodeGeneratorInspector.pm:
65773        * inspector/front-end/AuditRules.js:
65774        (WebInspector.AuditRules.evaluateInTargetWindow):
65775        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
65776        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
65777        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
65778        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
65779        * inspector/front-end/CSSStyleModel.js:
65780        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
65781        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
65782        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
65783        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
65784        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
65785        (WebInspector.CSSStyleModel.prototype.addRule):
65786        (WebInspector.CSSStyleModel.prototype.addRule.callback):
65787        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
65788        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
65789        (WebInspector.CSSStyleModel.prototype._onRevert):
65790        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
65791        (WebInspector.CSSProperty.prototype.setText.callback):
65792        (WebInspector.CSSProperty.prototype.setText):
65793        (WebInspector.CSSProperty.prototype.setDisabled.callback):
65794        (WebInspector.CSSProperty.prototype.setDisabled):
65795        (WebInspector.CSSStyleSheet.createForId):
65796        (WebInspector.CSSStyleSheet.prototype.setText):
65797        * inspector/front-end/ConsoleView.js:
65798        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
65799        * inspector/front-end/DOMAgent.js:
65800        (WebInspector.DOMNode.prototype.setNodeName):
65801        (WebInspector.DOMNode.prototype.setNodeValue):
65802        (WebInspector.DOMNode.prototype.setAttribute):
65803        (WebInspector.DOMNode.prototype.removeAttribute):
65804        (WebInspector.DOMNode.prototype.childNodes.mycallback):
65805        (WebInspector.DOMNode.prototype.childNodes):
65806        (WebInspector.DOMNode.prototype.outerHTML):
65807        (WebInspector.DOMNode.prototype.setOuterHTML):
65808        (WebInspector.DOMNode.prototype.removeNode):
65809        (WebInspector.DOMNode.prototype.copyNode):
65810        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
65811        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
65812        (WebInspector.DOMAgent.prototype._documentUpdated):
65813        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
65814        (WebInspector.Cookies.getCookiesAsync):
65815        (WebInspector.EventListeners.getEventListenersForNodeAsync):
65816        * inspector/front-end/DOMStorage.js:
65817        (WebInspector.DOMStorage.prototype.getEntries):
65818        (WebInspector.DOMStorage.prototype.setItem):
65819        (WebInspector.DOMStorage.prototype.removeItem):
65820        * inspector/front-end/Database.js:
65821        (WebInspector.Database.prototype.getTableNames):
65822        (WebInspector.Database.prototype.executeSql):
65823        * inspector/front-end/DebuggerModel.js:
65824        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
65825        (WebInspector.DebuggerModel.prototype.setBreakpoint):
65826        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
65827        (WebInspector.DebuggerModel.prototype.editScriptSource):
65828        * inspector/front-end/ElementsPanel.js:
65829        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
65830        * inspector/front-end/ElementsTreeOutline.js:
65831        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
65832        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
65833        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
65834        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
65835        ():
65836        * inspector/front-end/ExtensionPanel.js:
65837        (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
65838        * inspector/front-end/ExtensionServer.js:
65839        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
65840        * inspector/front-end/NetworkManager.js:
65841        (WebInspector.NetworkManager.prototype.requestContent):
65842        (WebInspector.NetworkManager.prototype._processCachedResources):
65843        * inspector/front-end/ProfileView.js:
65844        (WebInspector.CPUProfileView.profileCallback):
65845        (WebInspector.CPUProfileView):
65846        * inspector/front-end/ProfilesPanel.js:
65847        * inspector/front-end/RemoteObject.js:
65848        (WebInspector.RemoteObject.resolveNode):
65849        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
65850        (WebInspector.RemoteObject.prototype.getProperties):
65851        (WebInspector.RemoteObject.prototype.setPropertyValue):
65852        (WebInspector.RemoteObject.prototype.evaluate):
65853        * inspector/front-end/Script.js:
65854        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
65855        (WebInspector.Script.prototype.requestSource):
65856        * inspector/front-end/ScriptsPanel.js:
65857        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
65858        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
65859        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
65860        * inspector/front-end/inspector.js:
65861        ():
65862        (WebInspector.doLoadedDone.onPopulateScriptObjects):
65863        (WebInspector.doLoadedDone.propertyNamesCallback):
65864        (WebInspector.doLoadedDone):
65865
658662011-03-11  Yury Semikhatsky  <yurys@chromium.org>
65867
65868        Reviewed by Pavel Feldman.
65869
65870        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
65871        https://bugs.webkit.org/show_bug.cgi?id=56173
65872
65873        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
65874
65875        * CMakeLists.txt:
65876        * GNUmakefile.am:
65877        * WebCore.gypi:
65878        * WebCore.pro:
65879        * WebCore.vcproj/WebCore.vcproj:
65880        * WebCore.xcodeproj/project.pbxproj:
65881        * bindings/js/JSInjectedScriptHostCustom.cpp:
65882        * bindings/js/JSInjectedScriptManager.cpp: Added.
65883        (WebCore::InjectedScriptManager::createInjectedScript):
65884        (WebCore::InjectedScriptManager::discardInjectedScript):
65885        (WebCore::InjectedScriptManager::injectedScriptFor):
65886        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
65887        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
65888        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
65889        (WebCore::WeakReferenceCallback):
65890        (WebCore::createInjectedScriptHostV8Wrapper):
65891        (WebCore::InjectedScriptManager::createInjectedScript):
65892        (WebCore::InjectedScriptManager::discardInjectedScript):
65893        (WebCore::InjectedScriptManager::injectedScriptFor):
65894        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
65895        * inspector/ConsoleMessage.cpp:
65896        (WebCore::ConsoleMessage::addToFrontend):
65897        * inspector/ConsoleMessage.h:
65898        * inspector/InjectedScript.cpp:
65899        (WebCore::InjectedScript::canAccessInspectedWindow):
65900        * inspector/InjectedScript.h:
65901        * inspector/InjectedScriptHost.cpp:
65902        (WebCore::InjectedScriptHost::create):
65903        (WebCore::InjectedScriptHost::InjectedScriptHost):
65904        (WebCore::InjectedScriptHost::~InjectedScriptHost):
65905        (WebCore::InjectedScriptHost::disconnect):
65906        (WebCore::InjectedScriptHost::inspectImpl):
65907        (WebCore::InjectedScriptHost::clearConsoleMessages):
65908        (WebCore::InjectedScriptHost::databaseIdImpl):
65909        (WebCore::InjectedScriptHost::storageIdImpl):
65910        * inspector/InjectedScriptHost.h:
65911        (WebCore::InjectedScriptHost::init):
65912        (WebCore::InjectedScriptHost::setFrontend):
65913        (WebCore::InjectedScriptHost::clearFrontend):
65914        * inspector/InjectedScriptManager.cpp: Added.
65915        (WebCore::InjectedScriptManager::create):
65916        (WebCore::InjectedScriptManager::InjectedScriptManager):
65917        (WebCore::InjectedScriptManager::~InjectedScriptManager):
65918        (WebCore::InjectedScriptManager::disconnect):
65919        (WebCore::InjectedScriptManager::injectedScriptHost):
65920        (WebCore::InjectedScriptManager::injectedScriptForId):
65921        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
65922        (WebCore::InjectedScriptManager::discardInjectedScripts):
65923        (WebCore::InjectedScriptManager::releaseObjectGroup):
65924        (WebCore::InjectedScriptManager::injectedScriptSource):
65925        (WebCore::InjectedScriptManager::injectScript):
65926        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
65927        * inspector/Inspector.idl:
65928        * inspector/InspectorAgent.cpp:
65929        (WebCore::InspectorAgent::InspectorAgent):
65930        (WebCore::InspectorAgent::inspectedPageDestroyed):
65931        (WebCore::InspectorAgent::focusNode):
65932        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
65933        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
65934        (WebCore::InspectorAgent::didCommitLoad):
65935        (WebCore::InspectorAgent::domContentLoadedEventFired):
65936        * inspector/InspectorAgent.h:
65937        * inspector/InspectorBrowserDebuggerAgent.cpp:
65938        * inspector/InspectorConsoleAgent.cpp:
65939        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
65940        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
65941        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
65942        (WebCore::InspectorConsoleAgent::addInspectedNode):
65943        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
65944        (WebCore::InspectorConsoleAgent::addConsoleMessage):
65945        * inspector/InspectorConsoleAgent.h:
65946        * inspector/InspectorController.cpp:
65947        (WebCore::InspectorController::InspectorController):
65948        (WebCore::InspectorController::connectFrontend):
65949        (WebCore::InspectorController::disconnectFrontend):
65950        * inspector/InspectorController.h:
65951        * inspector/InspectorDOMAgent.cpp:
65952        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
65953        (WebCore::InspectorDOMAgent::discardBindings):
65954        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
65955        (WebCore::InspectorDOMAgent::resolveNode):
65956        * inspector/InspectorDOMAgent.h:
65957        (WebCore::InspectorDOMAgent::create):
65958        * inspector/InspectorDebuggerAgent.cpp:
65959        (WebCore::InspectorDebuggerAgent::create):
65960        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
65961        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
65962        (WebCore::InspectorDebuggerAgent::currentCallFrames):
65963        * inspector/InspectorDebuggerAgent.h:
65964        * inspector/InspectorRuntimeAgent.cpp:
65965        (WebCore::InspectorRuntimeAgent::create):
65966        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
65967        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
65968        (WebCore::InspectorRuntimeAgent::evaluate):
65969        (WebCore::InspectorRuntimeAgent::evaluateOn):
65970        (WebCore::InspectorRuntimeAgent::getProperties):
65971        (WebCore::InspectorRuntimeAgent::setPropertyValue):
65972        (WebCore::InspectorRuntimeAgent::releaseObject):
65973        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
65974        * inspector/InspectorRuntimeAgent.h:
65975        * inspector/front-end/ElementsPanel.js:
65976        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
65977        (WebInspector.ElementsPanel):
65978
659792011-03-11  Anton Muhin  <antonm@chromium.org>
65980
65981        Reviewed by Adam Barth.
65982
65983        [v8] Change the way group id for CSS objects is calculated
65984        https://bugs.webkit.org/show_bug.cgi?id=56117
65985
65986        Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
65987        as they should not be reachable in JavaScript.
65988
65989        Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
65990
65991        * bindings/v8/V8GCController.cpp:
65992        (WebCore::calculateGroupId):
65993        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
65994
659952011-03-11  Alexander Pavlov  <apavlov@chromium.org>
65996
65997        Reviewed by Yury Semikhatsky.
65998
65999        Web Inspector: hover over elements in Elements panel does not highlight nodes
66000        https://bugs.webkit.org/show_bug.cgi?id=56121
66001
66002        In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
66003        is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
66004        for these 16px when computing the test point coordinates.
66005
66006        * inspector/front-end/ElementsTreeOutline.js:
66007        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
66008
660092011-03-11  Yury Semikhatsky  <yurys@chromium.org>
66010
66011        Unreviewed. Roll out r80837.
66012
66013        * CMakeLists.txt:
66014        * GNUmakefile.am:
66015        * WebCore.gypi:
66016        * WebCore.pro:
66017        * WebCore.vcproj/WebCore.vcproj:
66018        * WebCore.xcodeproj/project.pbxproj:
66019        * bindings/js/JSInjectedScriptHostCustom.cpp:
66020        (WebCore::InjectedScriptHost::createInjectedScript):
66021        (WebCore::InjectedScriptHost::discardInjectedScript):
66022        (WebCore::InjectedScriptHost::injectedScriptFor):
66023        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
66024        * bindings/js/JSInjectedScriptManager.cpp: Removed.
66025        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
66026        (WebCore::WeakReferenceCallback):
66027        (WebCore::createInjectedScriptHostV8Wrapper):
66028        (WebCore::InjectedScriptHost::createInjectedScript):
66029        (WebCore::InjectedScriptHost::discardInjectedScript):
66030        (WebCore::InjectedScriptHost::injectedScriptFor):
66031        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
66032        * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
66033        * inspector/ConsoleMessage.cpp:
66034        (WebCore::ConsoleMessage::addToFrontend):
66035        * inspector/ConsoleMessage.h:
66036        * inspector/InjectedScript.cpp:
66037        (WebCore::InjectedScript::canAccessInspectedWindow):
66038        * inspector/InjectedScript.h:
66039        * inspector/InjectedScriptHost.cpp:
66040        (WebCore::InjectedScriptHost::InjectedScriptHost):
66041        (WebCore::InjectedScriptHost::~InjectedScriptHost):
66042        (WebCore::InjectedScriptHost::inspectImpl):
66043        (WebCore::InjectedScriptHost::clearConsoleMessages):
66044        (WebCore::InjectedScriptHost::databaseIdImpl):
66045        (WebCore::InjectedScriptHost::storageIdImpl):
66046        (WebCore::InjectedScriptHost::injectedScriptForId):
66047        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
66048        (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
66049        (WebCore::InjectedScriptHost::discardInjectedScripts):
66050        (WebCore::InjectedScriptHost::releaseObjectGroup):
66051        (WebCore::InjectedScriptHost::frontend):
66052        (WebCore::InjectedScriptHost::injectedScriptSource):
66053        (WebCore::InjectedScriptHost::injectScript):
66054        * inspector/InjectedScriptHost.h:
66055        (WebCore::InjectedScriptHost::create):
66056        (WebCore::InjectedScriptHost::inspectorAgent):
66057        (WebCore::InjectedScriptHost::disconnectController):
66058        * inspector/InjectedScriptManager.cpp: Removed.
66059        * inspector/InjectedScriptManager.h: Removed.
66060        * inspector/Inspector.idl:
66061        * inspector/InspectorAgent.cpp:
66062        (WebCore::InspectorAgent::InspectorAgent):
66063        (WebCore::InspectorAgent::inspectedPageDestroyed):
66064        (WebCore::InspectorAgent::focusNode):
66065        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
66066        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
66067        (WebCore::InspectorAgent::didCommitLoad):
66068        (WebCore::InspectorAgent::domContentLoadedEventFired):
66069        * inspector/InspectorAgent.h:
66070        (WebCore::InspectorAgent::injectedScriptHost):
66071        * inspector/InspectorBrowserDebuggerAgent.cpp:
66072        * inspector/InspectorConsoleAgent.cpp:
66073        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
66074        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
66075        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
66076        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
66077        (WebCore::InspectorConsoleAgent::addConsoleMessage):
66078        * inspector/InspectorConsoleAgent.h:
66079        * inspector/InspectorController.cpp:
66080        (WebCore::InspectorController::InspectorController):
66081        (WebCore::InspectorController::connectFrontend):
66082        (WebCore::InspectorController::disconnectFrontend):
66083        * inspector/InspectorController.h:
66084        * inspector/InspectorDOMAgent.cpp:
66085        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
66086        (WebCore::InspectorDOMAgent::discardBindings):
66087        (WebCore::InspectorDOMAgent::addInspectedNode):
66088        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
66089        (WebCore::InspectorDOMAgent::resolveNode):
66090        * inspector/InspectorDOMAgent.h:
66091        (WebCore::InspectorDOMAgent::create):
66092        * inspector/InspectorDebuggerAgent.cpp:
66093        (WebCore::InspectorDebuggerAgent::create):
66094        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
66095        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
66096        (WebCore::InspectorDebuggerAgent::currentCallFrames):
66097        * inspector/InspectorDebuggerAgent.h:
66098        * inspector/InspectorRuntimeAgent.cpp:
66099        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
66100        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
66101        (WebCore::InspectorRuntimeAgent::evaluate):
66102        (WebCore::InspectorRuntimeAgent::evaluateOn):
66103        (WebCore::InspectorRuntimeAgent::getProperties):
66104        (WebCore::InspectorRuntimeAgent::setPropertyValue):
66105        (WebCore::InspectorRuntimeAgent::releaseObject):
66106        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
66107        * inspector/InspectorRuntimeAgent.h:
66108        (WebCore::InspectorRuntimeAgent::create):
66109        * inspector/front-end/ElementsPanel.js:
66110        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
66111        (WebInspector.ElementsPanel):
66112
661132011-03-11  Yury Semikhatsky  <yurys@chromium.org>
66114
66115        Reviewed by Pavel Feldman.
66116
66117        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
66118        https://bugs.webkit.org/show_bug.cgi?id=56173
66119
66120        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
66121
66122        * CMakeLists.txt:
66123        * GNUmakefile.am:
66124        * WebCore.gypi:
66125        * WebCore.pro:
66126        * WebCore.vcproj/WebCore.vcproj:
66127        * WebCore.xcodeproj/project.pbxproj:
66128        * bindings/js/JSInjectedScriptHostCustom.cpp:
66129        * bindings/js/JSInjectedScriptManager.cpp: Added.
66130        (WebCore::InjectedScriptManager::createInjectedScript):
66131        (WebCore::InjectedScriptManager::discardInjectedScript):
66132        (WebCore::InjectedScriptManager::injectedScriptFor):
66133        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
66134        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
66135        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
66136        (WebCore::WeakReferenceCallback):
66137        (WebCore::createInjectedScriptHostV8Wrapper):
66138        (WebCore::InjectedScriptManager::createInjectedScript):
66139        (WebCore::InjectedScriptManager::discardInjectedScript):
66140        (WebCore::InjectedScriptManager::injectedScriptFor):
66141        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
66142        * inspector/ConsoleMessage.cpp:
66143        (WebCore::ConsoleMessage::addToFrontend):
66144        * inspector/ConsoleMessage.h:
66145        * inspector/InjectedScript.cpp:
66146        (WebCore::InjectedScript::canAccessInspectedWindow):
66147        * inspector/InjectedScript.h:
66148        * inspector/InjectedScriptHost.cpp:
66149        (WebCore::InjectedScriptHost::create):
66150        (WebCore::InjectedScriptHost::InjectedScriptHost):
66151        (WebCore::InjectedScriptHost::~InjectedScriptHost):
66152        (WebCore::InjectedScriptHost::disconnect):
66153        (WebCore::InjectedScriptHost::inspectImpl):
66154        (WebCore::InjectedScriptHost::clearConsoleMessages):
66155        (WebCore::InjectedScriptHost::databaseIdImpl):
66156        (WebCore::InjectedScriptHost::storageIdImpl):
66157        * inspector/InjectedScriptHost.h:
66158        (WebCore::InjectedScriptHost::init):
66159        (WebCore::InjectedScriptHost::setFrontend):
66160        (WebCore::InjectedScriptHost::clearFrontend):
66161        * inspector/InjectedScriptManager.cpp: Added.
66162        (WebCore::InjectedScriptManager::create):
66163        (WebCore::InjectedScriptManager::InjectedScriptManager):
66164        (WebCore::InjectedScriptManager::~InjectedScriptManager):
66165        (WebCore::InjectedScriptManager::disconnect):
66166        (WebCore::InjectedScriptManager::injectedScriptHost):
66167        (WebCore::InjectedScriptManager::injectedScriptForId):
66168        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
66169        (WebCore::InjectedScriptManager::discardInjectedScripts):
66170        (WebCore::InjectedScriptManager::releaseObjectGroup):
66171        (WebCore::InjectedScriptManager::injectedScriptSource):
66172        (WebCore::InjectedScriptManager::injectScript):
66173        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
66174        * inspector/Inspector.idl:
66175        * inspector/InspectorAgent.cpp:
66176        (WebCore::InspectorAgent::InspectorAgent):
66177        (WebCore::InspectorAgent::inspectedPageDestroyed):
66178        (WebCore::InspectorAgent::focusNode):
66179        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
66180        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
66181        (WebCore::InspectorAgent::didCommitLoad):
66182        (WebCore::InspectorAgent::domContentLoadedEventFired):
66183        * inspector/InspectorAgent.h:
66184        * inspector/InspectorBrowserDebuggerAgent.cpp:
66185        * inspector/InspectorConsoleAgent.cpp:
66186        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
66187        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
66188        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
66189        (WebCore::InspectorConsoleAgent::addInspectedNode):
66190        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
66191        (WebCore::InspectorConsoleAgent::addConsoleMessage):
66192        * inspector/InspectorConsoleAgent.h:
66193        * inspector/InspectorController.cpp:
66194        (WebCore::InspectorController::InspectorController):
66195        (WebCore::InspectorController::connectFrontend):
66196        (WebCore::InspectorController::disconnectFrontend):
66197        * inspector/InspectorController.h:
66198        * inspector/InspectorDOMAgent.cpp:
66199        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
66200        (WebCore::InspectorDOMAgent::discardBindings):
66201        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
66202        (WebCore::InspectorDOMAgent::resolveNode):
66203        * inspector/InspectorDOMAgent.h:
66204        (WebCore::InspectorDOMAgent::create):
66205        * inspector/InspectorDebuggerAgent.cpp:
66206        (WebCore::InspectorDebuggerAgent::create):
66207        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
66208        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
66209        (WebCore::InspectorDebuggerAgent::currentCallFrames):
66210        * inspector/InspectorDebuggerAgent.h:
66211        * inspector/InspectorRuntimeAgent.cpp:
66212        (WebCore::InspectorRuntimeAgent::create):
66213        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
66214        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
66215        (WebCore::InspectorRuntimeAgent::evaluate):
66216        (WebCore::InspectorRuntimeAgent::evaluateOn):
66217        (WebCore::InspectorRuntimeAgent::getProperties):
66218        (WebCore::InspectorRuntimeAgent::setPropertyValue):
66219        (WebCore::InspectorRuntimeAgent::releaseObject):
66220        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
66221        * inspector/InspectorRuntimeAgent.h:
66222        * inspector/front-end/ElementsPanel.js:
66223        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
66224        (WebInspector.ElementsPanel):
66225
662262011-03-09  Hans Wennborg  <hans@chromium.org>
66227
66228        Reviewed by Jeremy Orlow.
66229
66230        IndexedDB: Make IDBBackingStore abstract
66231        https://bugs.webkit.org/show_bug.cgi?id=56013
66232
66233        Make IDBBackingStore abstract to allow for multiple implementations.
66234        Move the SQLite implementation to IDBSQLiteBackingStore.
66235
66236        No new tests: refactoring only.
66237
66238        * WebCore.gypi:
66239        * storage/IDBBackingStore.h:
66240        (WebCore::IDBBackingStore::~IDBBackingStore):
66241        * storage/IDBFactoryBackendImpl.cpp:
66242        (WebCore::IDBFactoryBackendImpl::open):
66243        * storage/IDBSQLiteBackingStore.cpp:
66244        (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
66245        (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
66246        (WebCore::runCommands):
66247        (WebCore::createTables):
66248        (WebCore::createMetaDataTable):
66249        (WebCore::getDatabaseSchemaVersion):
66250        (WebCore::migrateDatabase):
66251        (WebCore::IDBSQLiteBackingStore::open):
66252        (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
66253        (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
66254        (WebCore::IDBSQLiteBackingStore::getObjectStores):
66255        (WebCore::IDBSQLiteBackingStore::createObjectStore):
66256        (WebCore::doDelete):
66257        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
66258        (WebCore::whereSyntaxForKey):
66259        (WebCore::bindKeyToQuery):
66260        (WebCore::lowerCursorWhereFragment):
66261        (WebCore::upperCursorWhereFragment):
66262        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
66263        (WebCore::bindKeyToQueryWithNulls):
66264        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
66265        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
66266        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
66267        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
66268        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
66269        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
66270        (WebCore::IDBSQLiteBackingStore::getIndexes):
66271        (WebCore::IDBSQLiteBackingStore::createIndex):
66272        (WebCore::IDBSQLiteBackingStore::deleteIndex):
66273        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
66274        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
66275        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
66276        (WebCore::keyFromQuery):
66277        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
66278        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
66279        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
66280        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
66281        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
66282        (WebCore::IDBSQLiteBackingStore::createTransaction):
66283        * storage/IDBSQLiteBackingStore.h: Added.
66284
662852011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
66286
66287        Unreviewed build error fix.
66288
66289        [EFL] Fix build break when SHARED_CORE is ON
66290        https://bugs.webkit.org/show_bug.cgi?id=56155
66291
66292        * platform/efl/ContextMenuEfl.cpp:
66293        (WebCore::ContextMenu::ContextMenu):
66294        * platform/efl/ContextMenuItemEfl.cpp:
66295        (WebCore::ContextMenuItem::nativeMenuItem):
66296        (WebCore::ContextMenuItem::ContextMenuItem):
66297        (WebCore::ContextMenuItem::~ContextMenuItem):
66298
662992011-03-11  Andrey Kosyakov  <caseq@chromium.org>
66300
66301        Reviewed by Pavel Feldman.
66302
66303        Web Inspector: resource load cancellation is reported to console as an error
66304        https://bugs.webkit.org/show_bug.cgi?id=55764
66305
66306        - mark interruptionForPolicyChangeError as cancellation
66307        - do not log resource cancelation as an error
66308        - always push resource to front-end before console message, so front-end can use resource info while formatting message.
66309
66310        * inspector/InspectorConsoleAgent.cpp:
66311        (WebCore::InspectorConsoleAgent::didFailLoading):
66312        * inspector/InspectorInstrumentation.cpp:
66313        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
66314        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
66315        * loader/MainResourceLoader.cpp:
66316        (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
66317
663182011-03-10  Alexander Pavlov  <apavlov@chromium.org>
66319
66320        Reviewed by Yury Semikhatsky.
66321
66322        Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
66323        https://bugs.webkit.org/show_bug.cgi?id=56096
66324
66325        No new tests, as this is a refactoring.
66326
66327        * inspector/front-end/BreakpointsSidebarPane.js:
66328        (WebInspector.EventListenerBreakpointsSidebarPane):
66329        * inspector/front-end/DetailedHeapshotView.js:
66330        * inspector/front-end/ResourcesPanel.js:
66331        (WebInspector.ResourcesPanel):
66332        (WebInspector.BaseStorageTreeElement):
66333        (WebInspector.BaseStorageTreeElement.prototype.onattach):
66334        (WebInspector.StorageCategoryTreeElement):
66335        (WebInspector.FrameTreeElement):
66336        (WebInspector.FrameResourceTreeElement):
66337        (WebInspector.DatabaseTreeElement):
66338        (WebInspector.DatabaseTableTreeElement):
66339        (WebInspector.DOMStorageTreeElement):
66340        (WebInspector.CookieTreeElement):
66341        (WebInspector.ApplicationCacheTreeElement):
66342        (WebInspector.ResourceRevisionTreeElement):
66343        * inspector/front-end/utilities.js:
66344        (Element.prototype.removeStyleClass):
66345        (Element.prototype.addStyleClass):
66346        (Element.prototype.hasStyleClass):
66347
663482011-03-11  Brian Salomon  <bsalomon@google.com>
66349
66350        Reviewed by Kenneth Russell.
66351
66352        Adds GrContext flush call to PlatformContextSkia destructor. 
66353Calls GrContext flush with int parameter instead of bool due to skia 
66354revision.       
66355
66356        No new tests needed.
66357
66358        * platform/graphics/chromium/DrawingBufferChromium.cpp:
66359        (WebCore::DrawingBuffer::publishToPlatformLayer):
66360        * platform/graphics/skia/PlatformContextSkia.cpp:
66361        (WebCore::PlatformContextSkia::~PlatformContextSkia):
66362        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
66363
663642011-03-10  Chris Guillory  <chris.guillory@google.com>
66365
66366        Reviewed by James Robinson.
66367
66368        Fix for Coverity discovered NO_EFFECT (self-assign) defect.
66369        https://bugs.webkit.org/show_bug.cgi?id=54143
66370
66371        * platform/graphics/gpu/TilingData.cpp:
66372        (WebCore::TilingData::setMaxTextureSize):
66373
663742011-03-10  Emil A Eklund  <eae@chromium.org>
66375
66376        Reviewed by Alexey Proskuryakov.
66377
66378        The web colours palevioletred and mediumpurple are incorrect
66379        https://bugs.webkit.org/show_bug.cgi?id=46658
66380
66381        Changed value for the palevioletred and mediumpurple colors to match
66382        the css3 specification.
66383
66384        Test: fast/css/named-colors.html
66385
66386        * inspector/front-end/Color.js:
66387        * platform/ColorData.gperf:
66388
663892011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
66390
66391        Unreviewed build fix.
66392
66393        [WML] Fix build error
66394        https://bugs.webkit.org/show_bug.cgi?id=56078
66395
66396        * wml/WMLInputElement.cpp:
66397        (WebCore::WMLInputElement::defaultEventHandler):
66398
663992011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
66400
66401        Reviewed by Darin Adler.
66402
66403        Fix navigation menus on a bunch of sites in WebKit.
66404        https://bugs.webkit.org/show_bug.cgi?id=52535
66405
66406        WebKit doesn't support position:relative for several table elements and
66407        overwrites the style internally when position:relative is encountered.
66408        Unfortunately position:relative affects the choice of nodes returned by
66409        offsetParent.
66410
66411        This CL adds a bit to RenderStyle to track whether position:relative was
66412        overwritten.  The value is then consulted in offsetParent which makes us
66413        match FF/IE.
66414
66415        Tests: fast/block/positioning/offsetLeft-relative-iframe.html
66416               fast/block/positioning/offsetLeft-relative-td.html
66417
66418        * css/CSSStyleSelector.cpp:
66419        (WebCore::CSSStyleSelector::adjustRenderStyle):
66420        * rendering/RenderObject.cpp:
66421        (WebCore::RenderObject::isOriginallyRelPositioned):
66422        (WebCore::RenderObject::offsetParent):
66423        * rendering/RenderObject.h:
66424        * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
66425        (WebCore::InheritedFlags::positionWasRelative):
66426        (WebCore::InheritedFlags::setPositionWasRelative):
66427        * rendering/style/StyleRareNonInheritedData.cpp:
66428        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
66429        (WebCore::StyleRareNonInheritedData::operator==):
66430        * rendering/style/StyleRareNonInheritedData.h:
66431
664322011-03-10  Adam Barth  <abarth@webkit.org>
66433
66434        Reviewed by Darin Adler.
66435
66436        REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
66437        https://bugs.webkit.org/show_bug.cgi?id=51357
66438
66439        Previously, we would try to print from a callstack that didn't want a
66440        nested event loop, leading to re-entrancy problems.  In this patch, we
66441        complete the print call asynchronously, giving us a clean stack on
66442        which to run the nested event loop.
66443
66444        Test: printing/print-close-crash.html
66445
66446        * page/DOMWindow.cpp:
66447        (WebCore::DOMWindow::DOMWindow):
66448        (WebCore::DOMWindow::print):
66449        (WebCore::DOMWindow::printTimerFired):
66450        * page/DOMWindow.h:
66451
664522011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
66453
66454        Reviewed by Ryosuke Niwa.
66455
66456        Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
66457        https://bugs.webkit.org/show_bug.cgi?id=55570
66458
66459        Add a virtual function toInputElement() to Node that has a default
66460        implementation of returning 0.
66461        For HTMLInputElement and WMLInputElement (which derive from InputElement)
66462        override this to return the object.
66463        Change all calling sites of the old toInputElement to use the new member
66464        function. This also allows us to save some casts.
66465
66466        No new tests. (refactoring)
66467
66468        * WebCore.exp.in:
66469        * accessibility/AXObjectCache.cpp:
66470        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
66471        * accessibility/AccessibilityRenderObject.cpp:
66472        (WebCore::AccessibilityRenderObject::isPasswordField):
66473        (WebCore::AccessibilityRenderObject::isIndeterminate):
66474        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
66475        (WebCore::AccessibilityRenderObject::isChecked):
66476        * css/CSSStyleSelector.cpp:
66477        (WebCore::CSSStyleSelector::canShareStyleWithElement):
66478        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
66479        * dom/CheckedRadioButtons.cpp:
66480        (WebCore::CheckedRadioButtons::removeButton):
66481        * dom/InputElement.cpp:
66482        * dom/InputElement.h:
66483        * dom/Node.cpp:
66484        (WebCore::Node::toInputElement):
66485        * dom/Node.h:
66486        * html/HTMLInputElement.h:
66487        (WebCore::HTMLInputElement::toInputElement):
66488        * rendering/RenderTextControlSingleLine.cpp:
66489        (WebCore::RenderTextControlSingleLine::inputElement):
66490        * rendering/RenderTheme.cpp:
66491        (WebCore::RenderTheme::isChecked):
66492        (WebCore::RenderTheme::isIndeterminate):
66493        * wml/WMLInputElement.h:
66494        (WebCore::WMLInputElement::toInputElement):
66495
664962011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
66497
66498        Reviewed by Kenneth Rohde Christiansen.
66499
66500        [EFL] New mediaControl css file for EFL
66501        https://bugs.webkit.org/show_bug.cgi?id=55460
66502
66503        Add new mediaControl css file for html5 video UI.
66504
66505        * CMakeLists.txt:
66506        * CMakeListsEfl.txt:
66507        * css/mediaControlsEfl.css: Added.
66508        (audio):
66509        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
66510        (video:-webkit-full-page-media::-webkit-media-controls-panel):
66511        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
66512        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
66513        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
66514        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
66515        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
66516        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
66517        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
66518        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
66519        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
66520        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
66521        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
66522        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
66523        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
66524        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
66525        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
66526        * platform/efl/RenderThemeEfl.cpp:
66527        (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
66528
665292011-03-10  Emil A Eklund  <eae@chromium.org>
66530
66531        Reviewed by Dimitri Glazkov.
66532
66533        style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
66534        https://bugs.webkit.org/show_bug.cgi?id=53860
66535
66536        Preserve selection when changing between multi-select and single-select
66537        for <select> boxes even if it has not yet been rendered.
66538
66539        Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
66540
66541        * html/HTMLSelectElement.cpp:
66542        (WebCore::HTMLSelectElement::setMultiple):
66543
665442011-03-10  Ojan Vafai  <ojan@chromium.org>
66545
66546        Reviewed by Tony Chang.
66547
66548        update comment to reference new DOM Core spec
66549        https://bugs.webkit.org/show_bug.cgi?id=56079
66550
66551        I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
66552        This is the only one that's actually specified to fire
66553        in the latest DOM Core spec.
66554
66555        * dom/DOMImplementation.cpp:
66556        (WebCore::DOMImplementation::createDocument):
66557
665582011-03-10  Rik Cabanier  <cabanier@gmail.com>
66559
66560        Reviewed by Tony Gentilcore.
66561
66562        Fix that allows fixed length values to be floating point
66563        https://bugs.webkit.org/show_bug.cgi?id=52699
66564
66565        * WebCore.xcodeproj/project.pbxproj:
66566        * css/CSSStyleSelector.cpp:
66567        (WebCore::convertToLength):
66568        (WebCore::convertToIntLength):
66569        (WebCore::convertToFloatLength):
66570        (WebCore::CSSStyleSelector::applyProperty):
66571        (WebCore::CSSStyleSelector::createTransformOperations):
66572        * platform/Length.h:
66573        (WebCore::Length::Length):
66574        (WebCore::Length::operator==):
66575        (WebCore::Length::operator!=):
66576        (WebCore::Length::rawValue):
66577        (WebCore::Length::type):
66578        (WebCore::Length::quirk):
66579        (WebCore::Length::setValue):
66580        (WebCore::Length::calcFloatValue):
66581        (WebCore::Length::isZero):
66582        (WebCore::Length::blend):
66583        (WebCore::Length::getIntValue):
66584        (WebCore::Length::getFloatValue):
66585        * rendering/AutoTableLayout.cpp:
66586        (WebCore::AutoTableLayout::recalcColumn):
66587        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
66588        * rendering/FixedTableLayout.cpp:
66589        (WebCore::FixedTableLayout::calcWidthArray):
66590
665912011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
66592
66593        Unreviewed, rolling out r80800.
66594        http://trac.webkit.org/changeset/80800
66595        https://bugs.webkit.org/show_bug.cgi?id=56163
66596
66597        Caused hundreds of tests to crash on Windows 7 (Requested by
66598        rniwa on #webkit).
66599
66600        * page/EventHandler.cpp:
66601        (WebCore::EventHandler::mouseMoved):
66602        (WebCore::EventHandler::updateMouseEventTargetNode):
66603        * page/FocusController.cpp:
66604        (WebCore::FocusController::setActive):
66605        * page/FrameView.cpp:
66606        (WebCore::FrameView::FrameView):
66607        (WebCore::FrameView::~FrameView):
66608        * page/FrameView.h:
66609        * page/Page.cpp:
66610        * page/Page.h:
66611        * platform/ScrollView.cpp:
66612        (WebCore::ScrollView::wheelEvent):
66613        * platform/ScrollView.h:
66614        * rendering/RenderDataGrid.cpp:
66615        (WebCore::RenderDataGrid::RenderDataGrid):
66616        (WebCore::RenderDataGrid::~RenderDataGrid):
66617        * rendering/RenderLayer.cpp:
66618        (WebCore::RenderLayer::RenderLayer):
66619        (WebCore::RenderLayer::~RenderLayer):
66620        * rendering/RenderLayer.h:
66621        * rendering/RenderListBox.cpp:
66622        (WebCore::RenderListBox::RenderListBox):
66623        (WebCore::RenderListBox::~RenderListBox):
66624
666252011-03-10  Alice Boxhall  <aboxhall@chromium.org>
66626
66627        Reviewed by Dimitri Glazkov.
66628
66629        NULL pointer crash when using :empty and :first-line pseudoclass selectors together
66630        https://bugs.webkit.org/show_bug.cgi?id=53316
66631
66632        :empty is calculated for each element during parsing, but then not 
66633        recalculated after any child elements are attached. Force style 
66634        re-calculation on elements which have :empty in their style when
66635        their children are changed.
66636
66637        Test: fast/css/empty-first-line-crash.html
66638
66639        * dom/Element.cpp:
66640        (WebCore::checkForEmptyStyleChange): Pull out empty style checking
66641        logic from checkForSiblingStyleChanges().
66642        (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
66643        method.
66644        (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
66645        called with changedByParser = true.
66646
666472011-03-10  Emil A Eklund  <eae@chromium.org>
66648
66649        Unreviewed build fix.
66650
66651        Fix Leopard Release build broken by r80797.
66652
66653        * html/CollectionCache.h:
66654
666552011-03-10  Beth Dakin  <bdakin@apple.com>
66656
66657        Reviewed by Darin Adler.
66658
66659        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
66660        send notifications appropriate times (showing up, resizing)
66661        -and corresponding-
66662        https://bugs.webkit.org/show_bug.cgi?id=56067
66663
66664        The general strategy here is to add a HashSet of ScrollableAreas to the page that 
66665        can be accessed when necessary to send notifications to all ScrollableAreas.
66666
66667        Find layers for relevant node and if the layers are in the Page's ScrollableArea 
66668        set, then send the relevant notification.
66669        * page/EventHandler.cpp:
66670        (WebCore::EventHandler::mouseMoved):
66671        (WebCore::EventHandler::updateMouseEventTargetNode):
66672
66673        When the page is set active or not active, iterate through the Page's 
66674        ScrollableAreas to send hide/show notifications. 
66675        * page/FocusController.cpp:
66676        (WebCore::FocusController::setActive):
66677
66678        When a FrameView is created, add it to the ScrollableArea set. When it's 
66679        destroyed, remove it.
66680        * page/FrameView.cpp:
66681        (WebCore::FrameView::FrameView):
66682        (WebCore::FrameView::~FrameView):
66683
66684        Iterate through the Page's ScrollableAreas to send the paint notification.
66685        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
66686        * page/FrameView.h:
66687
66688        Add the new ScrollableArea set.
66689        * page/Page.cpp:
66690        (WebCore::Page::addScrollableArea):
66691        (WebCore::Page::removeScrollableArea):
66692        (WebCore::Page::pageContainsScrollableArea):
66693        * page/Page.h:
66694        (WebCore::Page::scrollableAreaSet):
66695
66696        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
66697        * platform/ScrollView.cpp:
66698        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
66699
66700        Call notifyPageThatContentAreaWillPaint() instead of calling 
66701        contentAreaWillPaint() just for the ScrollView.
66702        (WebCore::ScrollView::paint):
66703        * platform/ScrollView.h:
66704
66705        Add/remove ScrollableAreas to the set.
66706        * rendering/RenderDataGrid.cpp:
66707        (WebCore::RenderDataGrid::RenderDataGrid):
66708        (WebCore::RenderDataGrid::~RenderDataGrid):
66709        * rendering/RenderListBox.cpp:
66710        (WebCore::RenderListBox::RenderListBox):
66711        (WebCore::RenderListBox::~RenderListBox):
66712        * rendering/RenderLayer.cpp:
66713        (WebCore::RenderLayer::RenderLayer):
66714        (WebCore::RenderLayer::~RenderLayer):
66715
66716        Should have implemented this ScrollableArea-interface function a while ago.
66717        (WebCore::RenderLayer::currentMousePosition):
66718        * rendering/RenderLayer.h:
66719
667202011-03-10  takano takumi  <takano@apple.com>
66721
66722        Reviewed by David Hyatt.
66723
66724        Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
66725        https://bugs.webkit.org/show_bug.cgi?id=55069
66726
66727        No new tests. If the test above runs without crash, the fix should be okay.
66728
66729        * dom/Node.cpp:
66730        (WebCore::Node::diff):
66731        - Changed to return Detach when textCombine style was changed.
66732        * rendering/RenderCombineText.cpp:
66733        (WebCore::RenderCombineText::styleDidChange):
66734        (WebCore::RenderCombineText::setTextInternal):
66735        (WebCore::RenderCombineText::width):
66736        (WebCore::RenderCombineText::adjustTextOrigin):
66737        (WebCore::RenderCombineText::charactersToRender):
66738        (WebCore::RenderCombineText::combineText):
66739        - Added assertions to ensure the passed object is RenderCombineText.
66740        * rendering/RenderCombineText.h:
66741        (WebCore::RenderCombineText::isCombineText):
66742        - Added to distinguish plain RenderText and RenderCombineText.
66743        (WebCore::toRenderCombineText):
66744        - Added assertions to ensure the passed object is RenderCombineText.
66745        * rendering/RenderObject.h:
66746        (WebCore::RenderObject::isCombineText):
66747        - Added to distinguish plain RenderText and RenderCombineText.
66748
667492011-03-10  Emil A Eklund  <eae@chromium.org>
66750
66751        Reviewed by Darin Adler.
66752
66753        Collection cache not reset when moving base node between documents
66754        https://bugs.webkit.org/show_bug.cgi?id=55446
66755
66756        Fix bug where HTMLCollection::resetCollectionInfo does not reset the
66757        cache when the base node is moved to a different document by making sure
66758        that the DOMVersion is updated and that it's unique across documents.
66759
66760        Tests: fast/dom/HTMLFormElement/invalid-form-field.html
66761               fast/dom/HTMLFormElement/move-option-between-documents.html
66762               fast/dom/collection-nameditem-move-between-documents.html
66763
66764        * dom/Document.cpp:
66765        (WebCore::Document::Document):
66766        * dom/Document.h:
66767        (WebCore::Document::incDOMTreeVersion):
66768        (WebCore::Document::domTreeVersion):
66769        * dom/Node.cpp:
66770        (WebCore::Node::setDocumentRecursively):
66771        * html/FormAssociatedElement.cpp:
66772        (WebCore::FormAssociatedElement::resetFormOwner):
66773        * html/HTMLCollection.cpp:
66774        (WebCore::HTMLCollection::resetCollectionInfo):
66775        * xml/XPathResult.h:
66776
667772011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
66778
66779        Unreviewed build fix.
66780
66781        [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
66782        https://bugs.webkit.org/show_bug.cgi?id=56005
66783
66784        There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
66785
66786        * platform/efl/ContextMenuEfl.cpp:
66787        (WebCore::ContextMenu::ContextMenu):
66788        * platform/efl/ContextMenuItemEfl.cpp:
66789
667902011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
66791
66792        Reviewed by Tony Chang.
66793
66794        startOfBlock and endOfBlock may return a position inside hr
66795        https://bugs.webkit.org/show_bug.cgi?id=56025
66796
66797        Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
66798        calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
66799        of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
66800        argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
66801
66802        Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
66803        enclosingBlock to be consitent with startOfBlock and endOfBlock.
66804
66805        This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
66806        and inSameBlock by calls to containerNode because the enclosing block of a position
66807        should never be before or after the position.
66808
66809        No tests are added because this change only affects WebCore internally.
66810
66811        * editing/DeleteSelectionCommand.cpp:
66812        (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
66813        Pass CanCrossEditingBoundary instead of false.
66814        * editing/htmlediting.cpp:
66815        (WebCore::unsplittableElementForPosition): Ditto.
66816        (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
66817        enclosingNodeOfType.
66818        (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
66819        Fixed a bug that it stops walking the tree when it reached the root editable node
66820        even when the editing boundary crossing rule is CanCrossEditingBoundary.
66821        * editing/htmlediting.h: Prototype changes.
66822        * editing/visible_units.cpp:
66823        (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
66824        Also added an early exit when there's no enclosing block.
66825        (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
66826        lastPositionInNode.
66827        (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
66828        (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
66829        we don't care where the start of block is when we're comparing against the given position.
66830        (WebCore::isEndOfBlock): Ditto.
66831        * editing/visible_units.h:
66832
668332011-03-10  Alexey Proskuryakov  <ap@apple.com>
66834
66835        Reviewed by Dan Bernstein.
66836
66837        Backspace deletes all non-BMP symbols at once, and then some
66838        https://bugs.webkit.org/show_bug.cgi?id=55971
66839        <rdar://problem/8725312>
66840
66841        Test: platform/mac/editing/input/insert-delete-smp-symbol.html
66842
66843        * rendering/RenderText.cpp:
66844        (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
66845        (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
66846
668472011-03-10  Chris Evans  <cevans@chromium.org>
66848
66849        Reviewed by Adam Barth.
66850
66851        Error in StyleElement::process with large nodesets
66852        https://bugs.webkit.org/show_bug.cgi?id=56150
66853
66854        Test: none due to excessive runtime and CRASH() vs. real crash.
66855
66856        * dom/StyleElement.cpp:
66857        (WebCore::StyleElement::process): Handle large node sets better.
66858
668592011-03-10  David Hyatt  <hyatt@apple.com>
66860
66861        Reviewed by Simon Fraser.
66862
66863        https://bugs.webkit.org/show_bug.cgi?id=47151
66864        
66865        Percentage heights should skip anonymous containing blocks when computing the used value.
66866
66867        Added fast/block/basic/percentage-height-inside-anonymous-block.html
66868
66869        * rendering/RenderBox.cpp:
66870        (WebCore::RenderBox::computePercentageLogicalHeight):
66871
668722011-03-10  Nat Duca  <nduca@chromium.org>
66873
66874        Reviewed by James Robinson.
66875
66876        [chromium] Make updateAndDrawLayers argumentless.
66877        https://bugs.webkit.org/show_bug.cgi?id=55985
66878
66879        Made the TilePainters and viewport parameters for
66880        LayerRendererChromium member variables instead of arguments on
66881        updateAndDrawLayers. In a future change, this will allows us to
66882        draw the layer tree without the WebView's assistance.
66883
66884        * platform/graphics/chromium/LayerRendererChromium.cpp:
66885        (WebCore::LayerRendererChromium::create):
66886        (WebCore::LayerRendererChromium::LayerRendererChromium):
66887        (WebCore::LayerRendererChromium::verticalScrollbarRect):
66888        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
66889        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
66890        (WebCore::LayerRendererChromium::updateRootLayerContents):
66891        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
66892        (WebCore::LayerRendererChromium::drawRootLayer):
66893        (WebCore::LayerRendererChromium::setViewport):
66894        (WebCore::LayerRendererChromium::updateAndDrawLayers):
66895        (WebCore::LayerRendererChromium::updateLayers):
66896        (WebCore::LayerRendererChromium::drawLayers):
66897        (WebCore::LayerRendererChromium::setRootLayer):
66898        (WebCore::LayerRendererChromium::getFramebufferPixels):
66899        (WebCore::LayerRendererChromium::cleanupSharedObjects):
66900        * platform/graphics/chromium/LayerRendererChromium.h:
66901        (WebCore::LayerRendererChromium::viewportSize):
66902        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
66903        (WebCore::CCHeadsUpDisplay::draw):
66904
669052011-01-25  Martin Robinson  <mrobinson@igalia.com>
66906
66907        Reviewed by Xan Lopez.
66908
66909        [GTK] Implement spin buttons for GTK+ 2.x
66910        https://bugs.webkit.org/show_bug.cgi?id=53098
66911
66912        Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
66913        for input type=number. The implementation is based on the one in gtkspinbutton.c
66914        from the GTK+ sources.
66915
66916        * platform/gtk/RenderThemeGtk.h: Added new members and getters.
66917        * platform/gtk/RenderThemeGtk2.cpp:
66918        (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
66919        (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
66920        spin button area to have proper rendering. There doesn't seem to be any other
66921        clean way of having spin buttons that are the size of the text input frame.
66922        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
66923        (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
66924        (WebCore::RenderThemeGtk::gtkSpinButton): Added.
66925
669262011-03-10  Levi Weintraub  <leviw@chromium.org>
66927
66928        Reviewed by Ryosuke Niwa.
66929
66930        InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
66931        https://bugs.webkit.org/show_bug.cgi?id=53409
66932
66933        Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
66934        spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
66935        didn't skip the editable boundary.
66936
66937        Test: editing/execCommand/insert-list-with-noneditable-content.html
66938
66939        * editing/CompositeEditCommand.cpp:
66940        (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
66941        position for the active editing command. Without this, there are cases when the destination happens
66942        to be a placeholder, and we remove it.
66943        (WebCore::CompositeEditCommand::moveParagraphs):
66944        * editing/CompositeEditCommand.h:
66945        * editing/InsertListCommand.cpp:
66946        (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
66947        non-editable content in an editable context. Previously, this could cause an infinite loop.
66948        * editing/visible_units.cpp:
66949        (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
66950        content in the same paragraph to reach the actual editable paragraph start.
66951        (WebCore::endOfParagraph): Ditto.
66952        (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
66953        endOfParagraph.
66954
669552011-03-10  Berend-Jan Wever  <skylined@chromium.org>
66956
66957        Reviewed by Darin Adler.
66958
66959        Calling focus() on an area element not in a document should not cause a NULL ptr crash
66960        https://bugs.webkit.org/show_bug.cgi?id=54877
66961
66962        Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
66963
66964        * dom/Element.cpp:
66965        (WebCore::Element::focus): Check element is in the document before allowing focus
66966        * html/HTMLAreaElement.cpp: 
66967        (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
66968
669692011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
66970
66971        Reviewed by Tony Chang.
66972
66973        [Chromium] Fix default single selection select's popup background on chromium/linux
66974        https://bugs.webkit.org/show_bug.cgi?id=56023
66975
66976        Test: fast/html/select-dropdown-consistent-background-color.html
66977
66978        * css/themeChromiumLinux.css:
66979
669802011-03-10  Kris Jordan  <krisjordan@gmail.com>
66981
66982        Reviewed by Alexey Proskuryakov.
66983
66984        Improve default Accept header to give preference to HTML over XML.
66985        https://bugs.webkit.org/show_bug.cgi?id=27267
66986
66987        * loader/FrameLoader.cpp:Changed default accept header to match
66988        FireFox' as per bug 27267.
66989
669902011-03-10  Martin Robinson  <mrobinson@igalia.com>
66991
66992        Reviewed by Xan Lopez.
66993
66994        [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
66995        https://bugs.webkit.org/show_bug.cgi?id=56125
66996
66997        No new tests. This functionality will be tested once we have TestRunner
66998        implementation for WebKit2 with pixel dumping support.
66999
67000        * GNUmakefile.am: Add a new define with tracks whether or not we are using
67001        our specialized GTK+ ScrollView.
67002        * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
67003        WebKit1.
67004        (WebCore::ScrollView::wheelEvent):
67005        * platform/gtk/ScrollViewGtk.cpp: Ditto.
67006
670072011-03-10  Kent Tamura  <tkent@chromium.org>
67008
67009        Reviewed by Dimitri Glazkov.
67010
67011        Assertion fails by validating a form twice very quickly
67012        https://bugs.webkit.org/show_bug.cgi?id=56069
67013
67014        If the interactive validation is invoked when a form control is in
67015        needsLayout() state, an assertion in isFocusable() fails. To avoid it,
67016        Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
67017
67018        Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
67019
67020        * html/HTMLFormElement.cpp:
67021        (WebCore::HTMLFormElement::validateInteractively):
67022          Calls updateLayoutIgnorePendingStylesheets().
67023
670242011-03-10  David Hyatt  <hyatt@apple.com>
67025
67026        Reviewed by Beth Dakin.
67027
67028        https://bugs.webkit.org/show_bug.cgi?id=47143
67029        
67030        Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
67031        chain (after initially starting with the parent()) when doing this computation, so that we properly skip
67032        intermediate boxes between two positioned blocks.
67033
67034        Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
67035
67036        * rendering/RenderBox.cpp:
67037        (WebCore::computeInlineStaticDistance):
67038        (WebCore::computeBlockStaticDistance):
67039
670402011-03-10  Adrienne Walker  <enne@google.com>
67041
67042        Reviewed by Kenneth Russell.
67043
67044        [chromium] Make tiled compositor data structure more efficient.
67045        https://bugs.webkit.org/show_bug.cgi?id=54133
67046
67047        Previously, the compositor had a sparse 2D array of tiles for the
67048        whole page, most of which were null.  The tiles were implicitly
67049        located based on their position in the array. This was inefficient
67050        when the page grew (e.g. infinite scrolling) and caused some bugs
67051        (e.g. width * height > MAX_INT).  This change modifies tiles to have
67052        explicit positions so they can be stored in a hash map.
67053
67054        Tests: LayoutTests/compositing/
67055
67056        * platform/graphics/chromium/LayerTilerChromium.cpp:
67057        (WebCore::LayerTilerChromium::reset):
67058        (WebCore::LayerTilerChromium::createTile):
67059        (WebCore::LayerTilerChromium::invalidateTiles):
67060        (WebCore::LayerTilerChromium::contentRectToTileIndices):
67061        (WebCore::LayerTilerChromium::tileAt):
67062        (WebCore::LayerTilerChromium::tileContentRect):
67063        (WebCore::LayerTilerChromium::tileLayerRect):
67064        (WebCore::LayerTilerChromium::invalidateRect):
67065        (WebCore::LayerTilerChromium::invalidateEntireLayer):
67066        (WebCore::LayerTilerChromium::update):
67067        (WebCore::LayerTilerChromium::updateFromPixels):
67068        (WebCore::LayerTilerChromium::draw):
67069        (WebCore::LayerTilerChromium::growLayerToContain):
67070        * platform/graphics/chromium/LayerTilerChromium.h:
67071        (WebCore::LayerTilerChromium::Tile::Tile):
67072        (WebCore::LayerTilerChromium::Tile::i):
67073        (WebCore::LayerTilerChromium::Tile::j):
67074        (WebCore::LayerTilerChromium::Tile::moveTo):
67075        (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
67076        (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
67077        (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
67078
670792011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
67080
67081        Unreviewed build fix for r80752; Negated the boolean logic.
67082
67083        * editing/VisiblePosition.cpp:
67084        (WebCore::VisiblePosition::next):
67085        (WebCore::VisiblePosition::previous):
67086
670872011-03-10  David Hyatt  <hyatt@apple.com>
67088
67089        Reviewed by Adam Roben.
67090
67091        Make the same change to xheight on Windows for CG.
67092
67093        * platform/graphics/win/SimpleFontDataCGWin.cpp:
67094        (WebCore::SimpleFontData::platformInit):
67095
670962011-03-10  David Hyatt  <hyatt@apple.com>
67097
67098        Reviewed by Simon Fraser.
67099
67100        https://bugs.webkit.org/show_bug.cgi?id=47147
67101        
67102        Fix for repaint issues when the root element is a table and needs to paint a background that
67103        covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
67104        so that it can be called only for fill layer painting.  Make tables and normal boxes both
67105        call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
67106        the table is the root of the document (this same check exists in RenderBlock painting already).
67107
67108        * rendering/RenderBox.cpp:
67109        (WebCore::RenderBox::paintRootBoxFillLayers):
67110        (WebCore::RenderBox::paintBoxDecorations):
67111        (WebCore::RenderBox::paintBoxDecorationsWithSize):
67112        * rendering/RenderBox.h:
67113        * rendering/RenderLayerCompositor.cpp:
67114        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
67115        * rendering/RenderTable.cpp:
67116        (WebCore::RenderTable::paint):
67117        (WebCore::RenderTable::paintBoxDecorations):
67118
671192011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
67120
67121        Unreviewed, rolling out r80749.
67122        http://trac.webkit.org/changeset/80749
67123        https://bugs.webkit.org/show_bug.cgi?id=56143
67124
67125        "Caused at least 3 media tests to be flaky" (Requested by
67126        tonyg-cr on #webkit).
67127
67128        * html/parser/HTMLDocumentParser.cpp:
67129        (WebCore::HTMLDocumentParser::canTakeNextToken):
67130        (WebCore::HTMLDocumentParser::pumpTokenizer):
67131        * html/parser/HTMLParserScheduler.cpp:
67132        * html/parser/HTMLParserScheduler.h:
67133        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
67134        * page/FrameView.h:
67135
671362011-03-10  Sam Weinig  <sam@webkit.org>
67137
67138        Reviewed by David Hyatt.
67139
67140        Regression: Content not drawn when scrolling horizontally in an RTL page
67141        https://bugs.webkit.org/show_bug.cgi?id=55077
67142
67143        * platform/ScrollView.cpp:
67144        (WebCore::ScrollView::overhangAmount):
67145        (WebCore::ScrollView::calculateOverhangAreasForPainting):
67146        Take the scroll origin into account when calculating overhang.
67147
67148        * platform/ScrollView.h:
67149        * rendering/RenderLayer.h:
67150        * platform/ScrollableArea.h:
67151        (WebCore::ScrollableArea::scrollOrigin):
67152        Move identical scroll origin member from ScrollView and RenderLayer
67153        to shared base ScrollableArea. This is also needed so that the animator
67154        can access it.
67155
67156        * platform/mac/ScrollAnimatorMac.mm:
67157        (WebCore::ScrollAnimatorMac::pinnedInDirection):
67158        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
67159        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
67160        Account for a scroll origin when doing calculating scroll offsets.
67161
671622011-03-09  Matthew Delaney  <mdelaney@apple.com>
67163
67164        Reviewed by Simon Fraser.
67165
67166        Plumb through settings for accelerated drawing for canvas
67167        https://bugs.webkit.org/show_bug.cgi?id=56039
67168
67169        No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
67170
67171        * WebCore.exp.in:
67172        * html/HTMLCanvasElement.cpp:
67173        * html/canvas/CanvasRenderingContext2D.cpp:
67174        * page/Settings.cpp:
67175        * page/Settings.h:
67176
671772011-03-10  David Hyatt  <hyatt@apple.com>
67178
67179        Reviewed by Simon Fraser.
67180
67181        https://bugs.webkit.org/show_bug.cgi?id=47157
67182        
67183        CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
67184        
67185        Remove the code that tries to also include the maxX of the glyph bounds for the
67186        'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
67187        below the baseline.
67188
67189        Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
67190        issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
67191        the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
67192        
67193        Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
67194        layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
67195        buttons use ex horizontal margins by default.
67196
67197        * platform/graphics/mac/SimpleFontDataMac.mm:
67198        (WebCore::SimpleFontData::platformInit):
67199
672002011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
67201
67202        Reviewed by Tony Chang.
67203
67204        VisiblePosition's next and previous should take an enum instead of a boolean
67205        https://bugs.webkit.org/show_bug.cgi?id=56135
67206
67207        Changed the argument type of VisiblePosition::next and VisiblePosition::previous
67208        from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
67209        in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
67210        was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
67211        to call VisiblePosition::next and VisiblePosition::previous.
67212
67213        * WebCore.exp.in:
67214        * dom/Position.cpp:
67215        (WebCore::Position::trailingWhitespacePosition):
67216        * editing/ApplyBlockElementCommand.cpp:
67217        (WebCore::ApplyBlockElementCommand::doApply):
67218        * editing/CompositeEditCommand.cpp:
67219        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
67220        * editing/InsertListCommand.cpp:
67221        (WebCore::InsertListCommand::doApply):
67222        (WebCore::InsertListCommand::listifyParagraph):
67223        * editing/ReplaceSelectionCommand.cpp:
67224        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
67225        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
67226        (WebCore::ReplaceSelectionCommand::doApply):
67227        * editing/SelectionController.cpp:
67228        (WebCore::SelectionController::modifyExtendingRight):
67229        (WebCore::SelectionController::modifyExtendingForward):
67230        (WebCore::SelectionController::modifyMovingForward):
67231        (WebCore::SelectionController::modifyExtendingLeft):
67232        (WebCore::SelectionController::modifyExtendingBackward):
67233        (WebCore::SelectionController::modifyMovingBackward):
67234        * editing/SelectionController.h:
67235        (WebCore::SelectionController::isAll):
67236        * editing/TypingCommand.cpp:
67237        (WebCore::TypingCommand::deleteKeyPressed):
67238        (WebCore::TypingCommand::forwardDeleteKeyPressed):
67239        * editing/VisiblePosition.cpp:
67240        (WebCore::VisiblePosition::next):
67241        (WebCore::VisiblePosition::previous):
67242        * editing/VisiblePosition.h:
67243        * editing/VisibleSelection.cpp:
67244        (WebCore::VisibleSelection::isAll):
67245        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
67246        * editing/VisibleSelection.h:
67247        * editing/htmlediting.cpp:
67248        (WebCore::selectionForParagraphIteration):
67249        * editing/visible_units.cpp:
67250        (WebCore::startOfNextParagraph):
67251
672522011-03-10  Mihai Parparita  <mihaip@chromium.org>
67253
67254        Reviewed by Tony Gentilcore.
67255
67256        Remove CRASH() calls added to track down bug 53045
67257        https://bugs.webkit.org/show_bug.cgi?id=56137
67258
67259        Remove CRASH() calls added by r76575 and re-label ones added by r80155
67260        and r80269 as being associated with bug 56124 (which may still be
67261        happening).
67262
67263        * css/CSSImageValue.cpp:
67264        (WebCore::CSSImageValue::cachedImage):
67265        * css/CSSSelector.h:
67266        * css/CSSSelectorList.cpp:
67267        (WebCore::CSSSelectorList::deleteSelectors):
67268        * loader/cache/CachedResource.cpp:
67269        (WebCore::CachedResource::CachedResource):
67270        (WebCore::CachedResource::~CachedResource):
67271        * loader/cache/CachedResource.h:
67272
672732011-03-10  Tony Gentilcore  <tonyg@chromium.org>
67274
67275        Reviewed by Eric Seidel.
67276
67277        Let the parser yield for layout before running scripts
67278        https://bugs.webkit.org/show_bug.cgi?id=54355
67279
67280        Prior to this patch, the parser would yield to perform a layout/paint before running a
67281        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
67282        don't preload scan into the body while parsing the head, typically we'll block on a script
67283        early in the body that causes us to yield to do the first paint within a reasonable time.
67284
67285        However, I'm planning to change the PreloadScanner to scan into the body from the head.
67286        That significantly improves overall load time, but would hurt first paint time because
67287        fewer scripts would be blocked during parsing and thus wouldn't yield.
67288
67289        This change causes us to yield before running scripts if we haven't painted yet (regardless
67290        of whether or not the script is loaded). In addition to allowing the above mentioned
67291        PreloadScanner change to be implemented without regressing first paint time, this also
67292        improves first paint time by itself.
67293
67294        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
67295        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
67296        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
67297        signifcant change in page load time.
67298
67299        Within the pages tested, 33 had no statistically significant change in time to first paint,
67300        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
67301        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
67302
67303        * html/parser/HTMLDocumentParser.cpp:
67304        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
67305        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
67306        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
67307        the right thing whether we are just before a token or waiting for a script. Now that we may
67308        yield before a token or before a script, this may be called while paused.
67309        * html/parser/HTMLParserScheduler.cpp:
67310        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
67311        * page/FrameView.h:
67312        (WebCore::FrameView::hasEverPainted): Added.
67313
673142011-03-10  Alejandro G. Castro  <alex@igalia.com>
67315
67316        Reviewed by Martin Robinson.
67317
67318        Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
67319        https://bugs.webkit.org/show_bug.cgi?id=55996
67320
67321        Use the macre USE instead of defined fro WTF_USE_FREETYPE and
67322        WTF_USE_PANGO.
67323
67324        * GNUmakefile.am:
67325        * platform/graphics/cairo/OwnPtrCairo.cpp:
67326        * platform/graphics/cairo/OwnPtrCairo.h:
67327        * platform/graphics/cairo/RefPtrCairo.cpp:
67328        * platform/graphics/cairo/RefPtrCairo.h:
67329        * platform/graphics/gtk/FontGtk.cpp:
67330        (WebCore::setPangoAttributes):
67331        (WebCore::Font::drawComplexText):
67332        (WebCore::Font::floatWidthForComplexText):
67333        (WebCore::Font::offsetForPositionForComplexText):
67334        (WebCore::Font::selectionRectForComplexText):
67335
673362011-03-10  Geoffrey Garen  <ggaren@apple.com>
67337
67338        Reviewed by Oliver Hunt.
67339
67340        Rolled back in 80277 and 80280 with event handler layout test failures fixed.
67341        https://bugs.webkit.org/show_bug.cgi?id=55653
67342
67343        The failures were caused by a last minute typo: assigning to currentEvent
67344        instead of m_currentEvent.
67345
67346        * WebCore.xcodeproj/project.pbxproj:
67347        * bindings/js/JSDOMGlobalObject.cpp:
67348        * bindings/js/JSDOMGlobalObject.h:
67349        * bindings/js/JSDOMWindowBase.cpp:
67350        * bindings/js/JSDOMWindowBase.h:
67351        * bindings/js/JSDOMWindowCustom.h:
67352        * bindings/js/JSWorkerContextBase.cpp:
67353
673542011-03-10  David Hyatt  <hyatt@apple.com>
67355
67356        Reviewed by Dan Bernstein.
67357
67358        https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
67359
67360        Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
67361        translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
67362        this is done already on Lion and Leopard.
67363
67364        * platform/graphics/mac/FontMac.mm:
67365        (WebCore::showGlyphsWithAdvances):
67366
673672011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
67368
67369        Unreviewed, rolling out r80701.
67370        http://trac.webkit.org/changeset/80701
67371        https://bugs.webkit.org/show_bug.cgi?id=56126
67372
67373        fast/dom/Geolocation/window-close-crash.html fails on Snow
67374        Leopard release builds (Requested by mihaip on #webkit).
67375
67376        * page/DOMWindow.cpp:
67377        * page/DOMWindow.h:
67378        * page/Frame.cpp:
67379        (WebCore::Frame::pageDestroyed):
67380        (WebCore::Frame::transferChildFrameToNewDocument):
67381        * page/Geolocation.cpp:
67382        (WebCore::Geolocation::~Geolocation):
67383        (WebCore::Geolocation::disconnectFrame):
67384        (WebCore::Geolocation::lastPosition):
67385        (WebCore::Geolocation::requestPermission):
67386        (WebCore::Geolocation::startUpdating):
67387        (WebCore::Geolocation::stopUpdating):
67388        * page/Geolocation.h:
67389        * page/GeolocationController.cpp:
67390        (WebCore::GeolocationController::~GeolocationController):
67391        * page/Navigator.cpp:
67392        * page/Navigator.h:
67393        * platform/mock/GeolocationClientMock.cpp:
67394        * platform/mock/GeolocationClientMock.h:
67395
673962011-03-10  Pratik Solanki  <psolanki@apple.com>
67397
67398        Reviewed by Alexey Proskuryakov.
67399
67400        ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
67401        https://bugs.webkit.org/show_bug.cgi?id=56075
67402
67403        Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
67404
67405        * platform/network/cf/ResourceRequestCFNet.h:
67406        (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
67407        (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
67408
674092011-03-10  Andrey Adaikin  <aandrey@google.com>
67410
67411        Reviewed by Pavel Feldman.
67412
67413        Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
67414        https://bugs.webkit.org/show_bug.cgi?id=56084
67415
67416        Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
67417
67418        * inspector/front-end/SourceFrame.js:
67419        (WebInspector.SourceFrame):
67420        (WebInspector.SourceFrame.prototype._startEditing):
67421        (WebInspector.SourceFrame.prototype._registerShortcuts):
67422        (WebInspector.SourceFrame.prototype._handleKeyDown):
67423        (WebInspector.SourceFrame.prototype._handleSave):
67424        (WebInspector.SourceFrame.prototype._handleRevertEditing):
67425        (WebInspector.SourceFrame.prototype._doubleClick):
67426        * inspector/front-end/TextEditorModel.js:
67427        (WebInspector.TextEditorModel.prototype.get text):
67428        * inspector/front-end/TextViewer.js:
67429        (WebInspector.TextViewer.prototype.get readOnly):
67430        (WebInspector.TextEditorMainPanel):
67431        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
67432        (WebInspector.TextEditorMainPanel.prototype.get readOnly):
67433
674342011-03-10  Greg Simon  <gregsimon@chromium.org>
67435
67436        Reviewed by Pavel Feldman.
67437
67438        Web Inspector: Need new graphic icon for garbage collect button.
67439        https://bugs.webkit.org/show_bug.cgi?id=55794
67440
67441        No new tests: gc tests are flaky due to non-determinisic
67442        behavior of collection APIs (more notes in bug)
67443
67444        * English.lproj/localizedStrings.js:
67445        * WebCore.gypi:
67446        * bindings/js/ScriptProfiler.cpp:
67447        (WebCore::ScriptProfiler::collectGarbage):
67448        * bindings/js/ScriptProfiler.h:
67449        * bindings/v8/ScriptProfiler.cpp:
67450        (WebCore::ScriptProfiler::collectGarbage):
67451        * bindings/v8/ScriptProfiler.h:
67452        * inspector/Inspector.idl:
67453        * inspector/InspectorProfilerAgent.cpp:
67454        (WebCore::InspectorProfilerAgent::collectGarbage):
67455        * inspector/InspectorProfilerAgent.h:
67456        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
67457        * inspector/front-end/TimelinePanel.js:
67458        (WebInspector.TimelinePanel.prototype.get statusBarItems):
67459        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
67460        (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
67461        * inspector/front-end/inspector.css:
67462        (.garbage-collect-status-bar-item .glyph):
67463
674642011-03-10  Andrey Kosyakov  <caseq@chromium.org>
67465
67466        Web Inspector: better names for HAR export commands
67467        https://bugs.webkit.org/show_bug.cgi?id=56097
67468
67469        Rename Export to HAR to Copy entry/network log as HAR
67470        Expose Copy as HAR unconditionally, remove related settings entry.
67471
67472        * English.lproj/localizedStrings.js:
67473        * inspector/front-end/NetworkPanel.js:
67474        (WebInspector.NetworkPanel.prototype._contextMenu):
67475        * inspector/front-end/Settings.js:
67476
674772011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
67478
67479        Reviewed by Laszlo Gombos.
67480
67481        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
67482        https://bugs.webkit.org/show_bug.cgi?id=48636
67483
67484        Fix a typo in features.pri that turns on this feature on mobile
67485        devices by default.
67486
67487        * features.pri:
67488
674892011-03-10  Alexander Pavlov  <apavlov@chromium.org>
67490
67491        Reviewed by Pavel Feldman.
67492
67493        Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
67494        https://bugs.webkit.org/show_bug.cgi?id=56092
67495
67496        * inspector/front-end/CSSStyleModel.js:
67497        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
67498
674992011-03-10  Pavel Feldman  <pfeldman@chromium.org>
67500
67501        Not reviewed: rolling out r80478 and its follow ups for breaking
67502        inspector and engadget.com.
67503        https://bugs.webkit.org/show_bug.cgi?id=49401
67504
67505        * dom/Document.cpp:
67506        (WebCore::Document::Document):
67507        (WebCore::performTask):
67508        (WebCore::Document::postTask):
67509        * dom/Document.h:
67510        * loader/FrameLoader.cpp:
67511        (WebCore::FrameLoader::setDefersLoading):
67512        * manual-tests/database-callback-deferred.html: Removed.
67513        * page/PageGroupLoadDeferrer.cpp:
67514        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
67515        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
67516
675172011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
67518
67519        Reviewed by Kenneth Rohde Christiansen.
67520
67521        Tiled backing store's delegated scroll request uses incorrect convention
67522        https://bugs.webkit.org/show_bug.cgi?id=56011
67523
67524        Use a point instead of delta, when relaying the scroll request from
67525        ScrollView::setScrollPosition.
67526
67527        * loader/EmptyClients.h:
67528        (WebCore::EmptyChromeClient::delegatedScrollRequested):
67529        * page/Chrome.cpp:
67530        (WebCore::Chrome::delegatedScrollRequested):
67531        * page/Chrome.h:
67532        * page/ChromeClient.h:
67533        * platform/HostWindow.h:
67534        * platform/ScrollView.cpp:
67535        (WebCore::ScrollView::setScrollPosition):
67536
675372011-03-10  Pavel Feldman  <pfeldman@chromium.org>
67538
67539        Reviewed by Yury Semikhatsky.
67540
67541        Web Inspector: brush up DOM agent API.
67542        https://bugs.webkit.org/show_bug.cgi?id=56093
67543
67544        * inspector/Inspector.idl:
67545        * inspector/InspectorDOMAgent.cpp:
67546        (WebCore::InspectorDOMAgent::childNodes):
67547        (WebCore::InspectorDOMAgent::setNodeName):
67548        (WebCore::InspectorDOMAgent::outerHTML):
67549        (WebCore::InspectorDOMAgent::setNodeValue):
67550        * inspector/InspectorDOMAgent.h:
67551        * inspector/front-end/DOMAgent.js:
67552        (WebInspector.DOMNode):
67553        (WebInspector.DOMNode.prototype.hasAttributes):
67554        (WebInspector.DOMNode.prototype.nodeType):
67555        (WebInspector.DOMNode.prototype.nodeName):
67556        (WebInspector.DOMNode.prototype.setNodeName):
67557        (WebInspector.DOMNode.prototype.localName):
67558        (WebInspector.DOMNode.prototype.nodeValue):
67559        (WebInspector.DOMNode.prototype.setNodeValue):
67560        (WebInspector.DOMNode.prototype.setAttribute):
67561        (WebInspector.DOMNode.prototype.attributes):
67562        (WebInspector.DOMNode.prototype.removeAttribute):
67563        (WebInspector.DOMNode.prototype.childNodes.mycallback):
67564        (WebInspector.DOMNode.prototype.childNodes):
67565        (WebInspector.DOMNode.prototype.outerHTML):
67566        (WebInspector.DOMNode.prototype.setOuterHTML):
67567        (WebInspector.DOMNode.prototype.removeNode):
67568        (WebInspector.DOMNode.prototype.copyNode):
67569        (WebInspector.DOMNode.prototype.path):
67570        (WebInspector.DOMNode.prototype._setAttributesPayload):
67571        (WebInspector.DOMNode.prototype._addAttribute):
67572        (WebInspector.DOMAgent.prototype._characterDataModified):
67573        * inspector/front-end/ElementsPanel.js:
67574        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
67575        (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
67576        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
67577        * inspector/front-end/ElementsTreeOutline.js:
67578        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
67579        (WebInspector.ElementsTreeElement):
67580        (WebInspector.ElementsTreeElement.prototype.updateChildren):
67581        (WebInspector.ElementsTreeElement.prototype._updateChildren):
67582        (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
67583        (WebInspector.ElementsTreeElement.prototype._startEditing):
67584        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
67585        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
67586        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
67587        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
67588        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
67589        ():
67590        * inspector/front-end/EventListenersSidebarPane.js:
67591        ():
67592        * inspector/front-end/MetricsSidebarPane.js:
67593        * inspector/front-end/StylesSidebarPane.js:
67594        * inspector/front-end/utilities.js:
67595
675962011-03-09  Alexander Pavlov  <apavlov@chromium.org>
67597
67598        Reviewed by Pavel Feldman.
67599
67600        Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
67601        https://bugs.webkit.org/show_bug.cgi?id=56002
67602
67603        * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
67604
676052011-03-09  Pavel Podivilov  <podivilov@chromium.org>
67606
67607        Reviewed by Pavel Feldman.
67608
67609        Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
67610        https://bugs.webkit.org/show_bug.cgi?id=56034
67611
67612        * inspector/front-end/DebuggerPresentationModel.js:
67613        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
67614        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
67615        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
67616        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
67617        (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
67618        * inspector/front-end/ScriptsPanel.js:
67619        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
67620        (WebInspector.SourceFrameDelegateForScriptsPanel):
67621        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
67622        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
67623        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
67624        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
67625        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
67626        * inspector/front-end/SourceFrame.js:
67627        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
67628        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
67629        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
67630        (WebInspector.SourceFrame.prototype._contextMenu):
67631        (WebInspector.SourceFrame.prototype._mouseDown):
67632        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
67633        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
67634
676352011-03-09  Alexander Pavlov  <apavlov@chromium.org>
67636
67637        Reviewed by Pavel Feldman.
67638
67639        Web Inspector: elements dom tree - word wrap toggle
67640        https://bugs.webkit.org/show_bug.cgi?id=44311
67641
67642        A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
67643        and persisted into application settings.
67644
67645        * English.lproj/localizedStrings.js:
67646        * inspector/front-end/ElementsPanel.js:
67647        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
67648        (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
67649        * inspector/front-end/ElementsTreeOutline.js:
67650        (WebInspector.ElementsTreeOutline):
67651        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
67652        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
67653        (WebInspector.ElementsTreeElement.prototype.onreveal):
67654        * inspector/front-end/Settings.js:
67655        (WebInspector.Settings):
67656        * inspector/front-end/inspector.css:
67657        (#elements-content.nowrap):
67658        (#elements-content > ol):
67659
676602011-03-09  Pavel Podivilov  <podivilov@chromium.org>
67661
67662        Reviewed by Pavel Feldman.
67663
67664        Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
67665        https://bugs.webkit.org/show_bug.cgi?id=55823
67666
67667        * inspector/front-end/BreakpointsSidebarPane.js:
67668        (WebInspector.JavaScriptBreakpointsSidebarPane):
67669        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
67670        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
67671        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
67672        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
67673        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
67674        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
67675        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
67676        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
67677        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
67678        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
67679        * inspector/front-end/DebuggerPresentationModel.js:
67680        (WebInspector.DebuggerPresentationModel):
67681        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
67682        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
67683        (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
67684        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
67685        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
67686        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
67687        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
67688        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
67689        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
67690        (WebInspector.DebuggerPresentationModel.prototype.reset):
67691        * inspector/front-end/ScriptsPanel.js:
67692        (WebInspector.ScriptsPanel):
67693        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
67694        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
67695        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
67696        (WebInspector.ScriptsPanel.prototype.reset):
67697        (WebInspector.ScriptsPanel.prototype._clearInterface):
67698
676992011-03-10  Andrey Adaikin  <aandrey@google.com>
67700
67701        Reviewed by Pavel Feldman.
67702
67703        Web Inspector: Highlighter refactoring
67704        https://bugs.webkit.org/show_bug.cgi?id=56015
67705
67706        * inspector/front-end/TextEditorHighlighter.js:
67707        (WebInspector.TextEditorHighlighter):
67708        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
67709        (WebInspector.TextEditorHighlighter.prototype.highlight):
67710        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
67711        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
67712        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
67713        (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
67714        (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
67715        * inspector/front-end/TextViewer.js:
67716        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
67717        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
67718
677192011-03-05  Pavel Podivilov  <podivilov@chromium.org>
67720
67721        Reviewed by Pavel Feldman.
67722
67723        Web Inspector: move breakpoint column adjustment to debugger model.
67724        https://bugs.webkit.org/show_bug.cgi?id=55821
67725
67726        Test: inspector/debugger/debug-inlined-scripts.html
67727
67728        * inspector/front-end/DebuggerModel.js:
67729        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
67730        (WebInspector.DebuggerModel.prototype.setBreakpoint):
67731        * inspector/front-end/SourceFrameContent.js:
67732        (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
67733
677342011-01-21  John Knottenbelt  <jknotten@chromium.org>
67735
67736        Reviewed by Dmitry Titov.
67737
67738        Detach Geolocation from Frame when Page destroyed.
67739        https://bugs.webkit.org/show_bug.cgi?id=52877
67740
67741        On Page destruction, any outstanding Geolocation permission
67742        requests should be cancelled, because the Geolocation can only
67743        access the client indirectly via m_frame->page().
67744
67745        Page destruction is signalled by a call to the
67746        Frame::pageDestroyed() method. This explictly calls
67747        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
67748
67749        Geolocation::reset() detaches from the GeolocationController,
67750        cancels requests, watches and single shots, and sets the
67751        permission state back to Unknown.
67752
67753        Frame::pageDestroyed() is also called by FrameLoader even though
67754        the page is not destroyed. We should still cancel permission
67755        requests, because the GeolocationClient will become inaccessible
67756        to the Geolocation object after this call.
67757
67758        Frame::transferChildFrameToNewDocument also indirectly calls
67759        Geolocation::reset when the frame is reparented between
67760        pages. Ideally we would like the Geolocation's activities to
67761        continue after reparenting, see bug
67762        https://bugs.webkit.org/show_bug.cgi?id=55577
67763
67764        Since GeolocationController is owned by Page, and all Geolocation
67765        objects will now unsubscribe from the GeolocationController on
67766        pageDetached(), we no longer need to call stopUpdating() from the
67767        GeolocationController's destructor. Instead we can simply assert
67768        that there should be no no observers. See related bug
67769        https://bugs.webkit.org/show_bug.cgi?id=52216 .
67770
67771        Introduced new method 'numberOfPendingPermissionRequests' on
67772        GeolocationClientMock to count the number of outstanding pending
67773        permission requests. This provides a reusable implementation for
67774        client-based implementations of the LayoutTestController's
67775        numberOfPendingGeolocationPermissionRequests method.
67776
67777        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
67778
67779        * page/DOMWindow.cpp:
67780        (WebCore::DOMWindow::resetGeolocation):
67781        * page/DOMWindow.h:
67782        * page/Frame.cpp:
67783        (WebCore::Frame::pageDestroyed):
67784        (WebCore::Frame::transferChildFrameToNewDocument):
67785        * page/Geolocation.cpp:
67786        (WebCore::Geolocation::~Geolocation):
67787        (WebCore::Geolocation::page):
67788        (WebCore::Geolocation::reset):
67789        (WebCore::Geolocation::disconnectFrame):
67790        (WebCore::Geolocation::lastPosition):
67791        (WebCore::Geolocation::requestPermission):
67792        (WebCore::Geolocation::startUpdating):
67793        (WebCore::Geolocation::stopUpdating):
67794        * page/Geolocation.h:
67795        * page/GeolocationController.cpp:
67796        (WebCore::GeolocationController::~GeolocationController):
67797        * page/Navigator.cpp:
67798        (WebCore::Navigator::resetGeolocation):
67799        * page/Navigator.h:
67800        * platform/mock/GeolocationClientMock.cpp:
67801        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
67802        * platform/mock/GeolocationClientMock.h:
67803
678042011-03-10  Ojan Vafai  <ojan@chromium.org>
67805
67806        Reviewed by Darin Adler.
67807
67808        Able to move nodes across documents
67809        https://bugs.webkit.org/show_bug.cgi?id=19524
67810
67811        Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
67812        This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't 
67813        match Gecko or the spec that will need to be updated in a following patch.
67814
67815        Test: fast/dom/move-nodes-across-documents.html
67816
67817        * dom/Element.cpp:
67818        (WebCore::Element::removeAttributeNode):
67819        * dom/NamedNodeMap.cpp:
67820        (WebCore::NamedNodeMap::setNamedItem):
67821        * dom/Node.cpp:
67822        (WebCore::Node::setDocumentRecursively):
67823        (WebCore::checkAcceptChild):
67824        (WebCore::Node::checkReplaceChild):
67825        * dom/Range.cpp:
67826        (WebCore::Range::insertNode):
67827        (WebCore::Range::surroundContents):
67828
678292011-03-09  Antti Koivisto  <antti@apple.com>
67830
67831        Not reviewed.
67832
67833        Reverting crash catching code, the bug being hunted was fixed by
67834        http://trac.webkit.org/changeset/80686
67835
67836        * loader/cache/CachedResourceLoader.cpp:
67837        (WebCore::CachedResourceLoader::CachedResourceLoader):
67838        (WebCore::CachedResourceLoader::~CachedResourceLoader):
67839        (WebCore::CachedResourceLoader::requestImage):
67840        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
67841        (WebCore::CachedResourceLoader::requestResource):
67842        (WebCore::CachedResourceLoader::setAutoLoadImages):
67843        (WebCore::CachedResourceLoader::load):
67844        (WebCore::CachedResourceLoader::loadDone):
67845        (WebCore::CachedResourceLoader::preload):
67846        (WebCore::CachedResourceLoader::requestPreload):
67847        * loader/cache/CachedResourceLoader.h:
67848
678492011-03-09  Peter Kasting  <pkasting@google.com>
67850
67851        Unreviewed, build fix.
67852
67853        * StringsNotToBeLocalized.txt: Add function names I forgot.
67854        * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
67855          since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
67856          since Qt is stupid and (sometimes?!) warns about it.
67857        (WebCore::windowsVersion):
67858        (WebCore::processorArchitecture):
67859
678602011-03-09  Peter Kasting  <pkasting@google.com>
67861
67862        Reviewed by Ryosuke Niwa.
67863
67864        Add UA string tags for Windows 64.
67865        https://bugs.webkit.org/show_bug.cgi?id=55226
67866
67867        * StringsNotToBeLocalized.txt:
67868        * platform/win/SystemInfo.cpp:
67869        (WebCore::osVersionForUAString):
67870        (WebCore::isWOW64):
67871        (WebCore::processorArchitecture):
67872        (WebCore::architectureTokenForUAString):
67873        (WebCore::windowsVersionForUAString):
67874
678752011-03-09  Peter Kasting  <pkasting@google.com>
67876
67877        Unreviewed, attempted build fix.
67878
67879        * WebCore.pri: Try to update include path for Qt Windows build.
67880
678812011-03-09  Peter Kasting  <pkasting@google.com>
67882
67883        Unreviewed, build fix.
67884
67885        * platform/win/SystemInfo.cpp:
67886        (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
67887
678882011-03-09  Peter Kasting  <pkasting@google.com>
67889
67890        Reviewed by Mihai Parparita.
67891
67892        Unify Windows version checks.
67893        https://bugs.webkit.org/show_bug.cgi?id=55979
67894
67895        * GNUmakefile.am: Fix spaces -> tabs.
67896        * StringsNotToBeLocalized.txt:
67897        * WebCore.pro: Add SystemInfo.* to Qt build.
67898        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
67899        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
67900        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
67901        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
67902        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
67903        (WebCore::fillBMPGlyphs):
67904        * platform/win/CursorWin.cpp:
67905        (WebCore::createSharedCursor):
67906        * platform/win/ScrollbarThemeWin.cpp:
67907        (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
67908        * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
67909        (WebCore::windowsVersion):
67910        (WebCore::windowsVersionForUAString):
67911        * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
67912        * rendering/RenderThemeChromiumWin.cpp:
67913        (WebCore::getNonClientMetrics):
67914        * rendering/RenderThemeWin.cpp:
67915        (WebCore::RenderThemeWin::getThemeData):
67916        (WebCore::RenderThemeWin::paintMenuList):
67917        (WebCore::RenderThemeWin::paintMenuListButton):
67918
679192011-03-09  Mihai Parparita  <mihaip@chromium.org>
67920
67921        Reviewed by Tony Gentilcore.
67922
67923        REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
67924        https://bugs.webkit.org/show_bug.cgi?id=53045
67925        
67926        Copy the URL out of the CachedResource that is being revalidated, so
67927        that we can still use it (in m_validatedURLs) after removing the
67928        resource from the memory cache, which may delete it.
67929
67930        No new tests, since I was not able to trigger this locally (in a layout
67931        test or otherwise).
67932
67933        * loader/cache/CachedResourceLoader.cpp:
67934        (WebCore::CachedResourceLoader::revalidateResource):
67935
679362011-03-09  Chris Fleizach  <cfleizach@apple.com>
67937
67938        Reviewed by Beth Dakin.
67939
67940        VO reporting incorrect list count for http://www.macworld.com/news.html
67941        https://bugs.webkit.org/show_bug.cgi?id=56064
67942
67943        <li> tags should not be ignored, because they provide valuable information
67944        to screen readers.
67945
67946        Test: platform/mac/accessibility/list-items-ignored.html
67947
67948        * accessibility/AccessibilityRenderObject.cpp:
67949        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
67950
679512011-03-09  Dan Bernstein  <mitz@apple.com>
67952
67953        Reviewed by Dave Hyatt.
67954
67955        <rdar://problem/8733254> Float disappears after incremental layout
67956        Fixed the original bug and a copule more issues noticed while doing so.
67957
67958        Tests: fast/dynamic/dirty-float-in-clean-line.html
67959               fast/dynamic/float-at-line-break.html
67960               fast/dynamic/float-from-empty-line.html
67961
67962        * rendering/RenderBlock.h:
67963        * rendering/RenderBlockLineLayout.cpp:
67964        (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line,
67965        update the line break info of the last line with the new line break position. This is tested
67966        by float-from-empty-line.html.
67967        (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition()
67968        into this new function.
67969        (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine().
67970        (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with
67971        floats, as they may yet become dirty because of the floats. This is tested by
67972        dirty-float-in-clean-line.html.
67973        (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line
67974        break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the
67975        next one does not, the float will not make it into any line. This is tested by
67976        float-at-line-break.html.
67977
679782011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
67979
67980        Reviewed by Kent Tamura.
67981
67982        selectionStart reports wrong caret position when the last characters are newlines
67983        https://bugs.webkit.org/show_bug.cgi?id=56061
67984
67985        The bug was caused by SelectionController::setSelection's not calling
67986        notifyRendererOfSelectionChange when old selection was equal to new selection.
67987
67988        Because InsertLineBreakCommand inserts a text node with a single LF before the caret,
67989        this condition holds after the command is executed. However, the values of
67990        selectionStart and selectionEnd still need to be updated in this case because
67991        the offsets counted from the beginning of textarea have been increased by 1.
67992
67993        * editing/SelectionController.cpp:
67994        (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange
67995        when m_selection = s.
67996        * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added.
67997
679982011-03-09  Andy Estes  <aestes@apple.com>
67999
68000        Reviewed by Adam Barth.
68001
68002        Bad cast in HTMLTreeBuilder::processStartTag
68003        https://bugs.webkit.org/show_bug.cgi?id=55955
68004
68005        Test: fast/parser/self-closing-foreign-content.html
68006
68007        When the parser encounters an svg or mathml root element, it places the
68008        insertion mode into InForeignContentMode. However, if the root element
68009        is self-closing (e.g. <svg />) then the element is never placed on the
68010        open elements stack. This leaves the parser in an inconsistent state
68011        where it is in InForeignContentMode but no foreign content is in the
68012        open element stack.
68013
68014        * html/parser/HTMLTreeBuilder.cpp:
68015        (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing
68016        foreign element is inserted into the tree, do not set the insertion
68017        mode to InForeignContentMode.
68018
680192011-03-09  Gavin Barraclough  <barraclough@apple.com>
68020
68021        Qt build fix.
68022
68023        * bridge/qt/qt_runtime.cpp:
68024        (JSC::Bindings::convertQVariantToValue):
68025
680262011-03-09  Andy Estes  <aestes@apple.com>
68027
68028        Reviewed by Adam Barth.
68029
68030        REGRESSION (r80320): Assertion failure when processing mis-nested foreign content.
68031        https://bugs.webkit.org/show_bug.cgi?id=55982
68032
68033        Test: fast/parser/fragment-foreign-content-misnested.html
68034        
68035        It is a parse error to encounter certain start tags while the parser's
68036        insertion mode is InForeignContentMode (e.g. <br>). In these cases, we
68037        are to pop open elements off the HTMLElementStack until a foreign
68038        content scope marker is encountered. Before the change in r80320 to not
68039        insert a fake HTML element during fragment parsing, said fake HTML
68040        element counted as a foreign content scope marker.
68041        
68042        With r80320, no fake HTML element is inserted and the stack is popped
68043        until empty in cases where no other element claims to be a foreign
68044        content scope marker. Fix this by treating the DocumentFragment as a
68045        foreign content scope marker.
68046
68047        * html/parser/HTMLElementStack.cpp:
68048        (WebCore::HTMLNames::isForeignContentScopeMarker): Take a
68049        ContainerNode* instead of a Element*.
68050        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass
68051        topNode() to isForeignContentScopeMarker() instead of top().
68052
680532011-03-09  Gavin Barraclough  <barraclough@apple.com>
68054
68055        Reviewed by Darin Adler.
68056
68057        Bug 56041 - RexExp constructor should only accept flags "gim"
68058        We also should be passing the flags around as a bitfield rather than a string,
68059        and should not have redundant, incompatible code for converting the string to a bitfield!
68060
68061        * bindings/js/SerializedScriptValue.cpp:
68062        (WebCore::CloneDeserializer::readTerminal):
68063            - Need to parse flags string back to enum.
68064
680652011-03-09  James Robinson  <jamesr@chromium.org>
68066
68067        Reviewed by Kenneth Russell.
68068
68069        [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl
68070        https://bugs.webkit.org/show_bug.cgi?id=56021
68071
68072        Initializes the m_doubleSided flag of LayerChromiums to the default
68073        value of true so the back sides of layers without
68074        backface-visibility:hidden are rendered.
68075
68076        Test: compositing/backface-visibility.html
68077
68078        * platform/graphics/chromium/LayerChromium.cpp:
68079        (WebCore::LayerChromium::LayerChromium):
68080
680812011-03-09  David Hyatt  <hyatt@apple.com>
68082
68083        Reviewed by Dan Bernstein.
68084
68085        <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text
68086
68087        Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented
68088        text. That way we use the same metrics as for horizontal.
68089
68090        This fixes regressions in fast/lists and fast/overflow vertical text tests.
68091
68092        * platform/graphics/mac/SimpleFontDataMac.mm:
68093        (WebCore::SimpleFontData::platformInit):
68094        (WebCore::SimpleFontData::platformBoundsForGlyph):
68095
680962011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
68097
68098        Reviewed by Tony Chang.
68099
68100        REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document
68101        https://bugs.webkit.org/show_bug.cgi?id=56004
68102
68103        The crash was caused by the false assumption that rootEditableElement() or documentElement()
68104        always return non-null pointer. Fixed the bug by adding an early exit.
68105
68106        Test: editing/selection/extend-by-line-in-empty-document.html
68107
68108        * editing/visible_units.cpp:
68109        (WebCore::previousLinePosition):
68110        (WebCore::nextLinePosition):
68111
681122011-03-09  Pavel Podivilov  <podivilov@chromium.org>
68113
68114        Reviewed by Pavel Feldman.
68115
68116        Web Inspector: it should be possible to copy stack trace from call stack sidebar pane.
68117        https://bugs.webkit.org/show_bug.cgi?id=56024
68118
68119        * English.lproj/localizedStrings.js:
68120        * inspector/front-end/CallStackSidebarPane.js:
68121        (WebInspector.CallStackSidebarPane):
68122        (WebInspector.CallStackSidebarPane.prototype.update):
68123        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
68124
681252011-03-09  David Hyatt  <hyatt@apple.com>
68126
68127        Reviewed by Darin Adler.
68128
68129        Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all
68130        places.  Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData
68131        and FontCache.
68132
68133        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
68134        (WebCore::FontPlatformData::FontPlatformData):
68135        * platform/graphics/chromium/FontPlatformDataLinux.h:
68136        (WebCore::FontPlatformData::FontPlatformData):
68137
681382011-03-09  Steve Block  <steveblock@google.com>
68139
68140        Reviewed by Jeremy Orlow.
68141
68142        JavaNPObject should not use JNI directly
68143        https://bugs.webkit.org/show_bug.cgi?id=56009
68144
68145        We move the JNI code to access a Java object's fields into
68146        a new JavaInstance::getField() method.
68147
68148        No new tests, refactoring only.
68149
68150        * bridge/jni/v8/JavaInstanceV8.cpp:
68151        (JavaInstance::getField):
68152        * bridge/jni/v8/JavaInstanceV8.h:
68153        * bridge/jni/v8/JavaNPObjectV8.cpp:
68154        (JSC::Bindings::JavaNPObjectGetProperty):
68155
681562011-03-09  Steve Block  <steveblock@google.com>
68157
68158        Reviewed by Jeremy Orlow.
68159
68160        NPAPI - jvalue conversion should not be in JavaInstance
68161        https://bugs.webkit.org/show_bug.cgi?id=55967
68162
68163        No new tests, refactoring only.
68164
68165        * bridge/jni/v8/JavaInstanceV8.cpp:
68166        (JavaInstance::invokeMethod):
68167        * bridge/jni/v8/JavaInstanceV8.h:
68168        * bridge/jni/v8/JavaNPObjectV8.cpp:
68169        (JSC::Bindings::JavaNPObjectInvoke):
68170
681712011-03-09  Jessie Berlin  <jberlin@apple.com>
68172
68173        Reviewed by Adam Roben.
68174
68175        Use the Cookie Storage from the Private Browsing Storage Session directly
68176        https://bugs.webkit.org/show_bug.cgi?id=55986
68177
68178        * WebCore.exp.in:
68179        * platform/mac/WebCoreSystemInterface.h:
68180        * platform/mac/WebCoreSystemInterface.mm:
68181
68182        * platform/network/mac/CookieStorageMac.mm:
68183        (WebCore::setCookieStoragePrivateBrowsingEnabled):
68184        Just copy the cookie storage from the private browsing storage session.
68185        * platform/network/cf/CookieStorageCFNet.cpp:
68186        (WebCore::setCookieStoragePrivateBrowsingEnabled):
68187        Ditto.
68188
681892011-03-09  Andrey Kosyakov  <caseq@chromium.org>
68190
68191        Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639)
68192
68193        * inspector/InspectorInstrumentation.cpp:
68194        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
68195
681962011-03-09  Yury Semikhatsky  <yurys@chromium.org>
68197
68198        Reviewed by Pavel Feldman.
68199
68200        Web Inspector: pass explicit agent references to InspectorBackendDispatcher
68201        https://bugs.webkit.org/show_bug.cgi?id=55820
68202
68203        * inspector/CodeGeneratorInspector.pm:
68204        * inspector/InspectorController.cpp:
68205        (WebCore::InspectorController::InspectorController):
68206        (WebCore::InspectorController::connectFrontend):
68207        (WebCore::InspectorController::disconnectFrontend):
68208        (WebCore::InspectorController::dispatchMessageFromFrontend):
68209
682102011-03-09  Andrey Kosyakov  <caseq@chromium.org>
68211
68212        Reviewed by Pavel Feldman.
68213
68214        Web Inspector: resource errors are not reported before front-end is opened
68215        https://bugs.webkit.org/show_bug.cgi?id=55939
68216
68217        * inspector/InspectorInstrumentation.cpp:
68218        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
68219        * inspector/InspectorInstrumentation.h:
68220        (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
68221        (WebCore::InspectorInstrumentation::didFailLoading):
68222
682232011-03-08  Hans Wennborg  <hans@chromium.org>
68224
68225        Reviewed by Jeremy Orlow.
68226
68227        IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open
68228        https://bugs.webkit.org/show_bug.cgi?id=55948
68229
68230        Add a parameter that allows for selection of alternative backing store
68231        implementations.
68232
68233        No new tests: no new functionality.
68234
68235        * storage/IDBFactory.cpp:
68236        (WebCore::IDBFactory::open):
68237        * storage/IDBFactoryBackendImpl.cpp:
68238        (WebCore::IDBFactoryBackendImpl::open):
68239        * storage/IDBFactoryBackendImpl.h:
68240        * storage/IDBFactoryBackendInterface.h:
68241
682422011-03-08  Steve Block  <steveblock@google.com>
68243
68244        Reviewed by Jeremy Orlow.
68245
68246        Factor out JNI method call to be used by both JSC and V8
68247        https://bugs.webkit.org/show_bug.cgi?id=55966
68248
68249        No new tests, refactoring only.
68250
68251        * bridge/jni/JNIUtility.cpp:
68252        (JSC::Bindings::callJNIMethod):
68253        * bridge/jni/JNIUtility.h:
68254        * bridge/jni/jsc/JavaInstanceJSC.cpp:
68255        (JavaInstance::invokeMethod):
68256        * bridge/jni/v8/JavaInstanceV8.cpp:
68257        (JavaInstance::invokeMethod):
68258
682592011-03-09  Andrey Adaikin  <aandrey@google.com>
68260
68261        Reviewed by Pavel Feldman.
68262
68263        Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events
68264        https://bugs.webkit.org/show_bug.cgi?id=55818
68265
68266        * inspector/front-end/TextViewer.js:
68267        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
68268
682692011-03-09  Ilya Tikhonovsky  <loislo@chromium.org>
68270
68271        Reviewed by Yury Semikhatsky.
68272
68273        Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values.
68274        https://bugs.webkit.org/show_bug.cgi?id=55998
68275
68276        * inspector/InjectedScriptSource.js:
68277
682782011-03-09  Pavel Feldman  <pfeldman@chromium.org>
68279
68280        Reviewed by Yury Semikhatsky.
68281
68282        Web Inspector: watch expressions should show string values in quotes.
68283        https://bugs.webkit.org/show_bug.cgi?id=55846
68284
68285        * inspector/InjectedScriptSource.js:
68286        * inspector/front-end/ObjectPropertiesSection.js:
68287        (WebInspector.ObjectPropertyTreeElement.prototype.update):
68288        * inspector/front-end/RemoteObject.js:
68289        (WebInspector.LocalJSONObject.prototype.get description):
68290        * inspector/front-end/WatchExpressionsSidebarPane.js:
68291        (WebInspector.WatchExpressionsSection.prototype.update):
68292        * inspector/front-end/inspector.css:
68293        (.console-formatted-string, .console-formatted-regexp):
68294
682952011-03-09  Pavel Feldman  <pfeldman@chromium.org>
68296
68297        Reviewed by Yury Semikhatsky.
68298
68299        Web Inspector: "length" getter is invoked upon console object formatting.
68300        https://bugs.webkit.org/show_bug.cgi?id=55220
68301
68302        * inspector/InjectedScriptSource.js:
68303
683042011-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
68305
68306        Reviewed by Pavel Feldman.
68307
68308        Web Inspector: remove groupName from objectId.
68309        https://bugs.webkit.org/show_bug.cgi?id=55825
68310
68311        * inspector/InjectedScriptSource.js:
68312
683132011-03-08  Xiaomei Ji  <xji@chromium.org>
68314
68315        Reviewed by David Hyatt.
68316
68317        Fix Regression: Content not drawn when scrolling horizontally in an RTL page.
68318        https://bugs.webkit.org/show_bug.cgi?id=55077.
68319
68320        Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position
68321        is negative, should include the position value into overhang rectangle's 
68322        starting position. 
68323
68324        Tests: fast/dom/scroll-reveal-left-overflow.html
68325               fast/dom/scroll-reveal-top-overflow.html
68326
68327        * platform/ScrollView.cpp:
68328        (WebCore::ScrollView::calculateOverhangAreasForPainting):
68329
683302011-03-08  Daniel Bates  <dbates@rim.com>
68331
68332        Reviewed by Darin Adler.
68333
68334        Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
68335        https://bugs.webkit.org/show_bug.cgi?id=55351
68336
68337        By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
68338        can be called on an array A without the caller explicitly specifying the size of A.
68339
68340        No functionality was changed. So no new tests.
68341
68342        * css/CSSMutableStyleDeclaration.cpp:
68343        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of
68344        CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}().
68345        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size"
68346        to better reflect its purpose - to be the size of the passed array.
68347        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto.
68348        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
68349        (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue().
68350        * css/CSSMutableStyleDeclaration.h:
68351        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine
68352        the size of a passed array. Changed type of second argument to size_t since it represents the size of
68353        an array.
68354        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
68355        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto.
68356
683572011-03-08  Enrica Casucci  <enrica@apple.com>
68358
68359        Reviewed by Darin Adler.
68360        
68361        REGRESSION: Copied content loses formatting on paste to external apps.
68362        https://bugs.webkit.org/show_bug.cgi?id=47615
68363        <rdar://problem/9001214>
68364        
68365        This is a resubmission of a patch that was landed a while ago then rolled
68366        back because of a build failure on SnowLeopard and Leopard on the 32-bit builds.
68367
68368        This patch adds a way for WebKit2 to create NSAttributedStrings from
68369        a DOM range without using the AppKit api initWithDOMRange that internally
68370        needs to access the WebView. The NSAttributedString is needed to create
68371        RTF formats in the pasteboard.
68372        This is to be considered a first step, since in the future we want to have
68373        an implementation based on the TextIterator.
68374        * WebCore.xcodeproj/project.pbxproj:
68375        * platform/mac/HTMLConverter.h: Added.
68376        * platform/mac/HTMLConverter.mm: Added.
68377        * platform/mac/PasteboardMac.mm:
68378        (WebCore::Pasteboard::writeSelection):
68379
683802011-03-08  James Robinson  <jamesr@chromium.org>
68381
68382        Reviewed by Kenneth Russell.
68383
68384        [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl
68385        https://bugs.webkit.org/show_bug.cgi?id=55900
68386
68387        This adds an explicit step to synchronize properties from
68388        LayerChromiums to their corresponding CCLayerImpls.
68389
68390        * platform/graphics/chromium/LayerChromium.cpp:
68391        (WebCore::LayerChromium::setBounds):
68392        * platform/graphics/chromium/LayerChromium.h:
68393        (WebCore::LayerChromium::bounds):
68394        (WebCore::LayerChromium::doubleSided):
68395        (WebCore::LayerChromium::setDoubleSided):
68396        * platform/graphics/chromium/LayerRendererChromium.cpp:
68397        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
68398        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
68399        (WebCore::CCLayerImpl::CCLayerImpl):
68400        (WebCore::CCLayerImpl::updateFromLayer):
68401        (WebCore::CCLayerImpl::descendantsDrawsContent):
68402        * platform/graphics/chromium/cc/CCLayerImpl.h:
68403        (WebCore::CCLayerImpl::anchorPoint):
68404        (WebCore::CCLayerImpl::anchorPointZ):
68405        (WebCore::CCLayerImpl::masksToBounds):
68406        (WebCore::CCLayerImpl::opacity):
68407        (WebCore::CCLayerImpl::position):
68408        (WebCore::CCLayerImpl::preserves3D):
68409        (WebCore::CCLayerImpl::sublayerTransform):
68410        (WebCore::CCLayerImpl::transform):
68411
684122011-03-08  James Robinson  <jamesr@chromium.org>
68413
68414        Chromium compile fix.
68415
68416        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
68417        (WebCore::SimpleFontData::platformInit):
68418
684192011-03-08  Peter Kasting  <pkasting@google.com>
68420
68421        Reviewed by James Robinson.
68422
68423        Unify Windows version checks, part 1.
68424        https://bugs.webkit.org/show_bug.cgi?id=55979
68425
68426        Make everyone (I hope) pull in SystemInfo.cpp.  Eliminate the
68427        now-unnecessary WindowsVersion.cpp from Chromium.
68428
68429        * GNUmakefile.am:
68430        * WebCore.gyp/WebCore.gyp:
68431        * WebCore.gypi:
68432        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
68433        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
68434        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
68435        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
68436        * platform/chromium/WindowsVersion.cpp: Removed.
68437        * platform/chromium/WindowsVersion.h: Removed.
68438        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
68439        (WebCore::fillBMPGlyphs):
68440        * rendering/RenderThemeChromiumWin.cpp:
68441        (WebCore::getNonClientMetrics):
68442
684432011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
68444
68445        Chromium Linux build fix attempt after r80582.
68446
68447        * platform/graphics/chromium/FontLinux.cpp:
68448        (WebCore::Font::drawGlyphs):
68449        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
68450        (WebCore::SimpleFontData::platformInit):
68451        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
68452        (WebCore::GlyphPage::fill):
68453
684542011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
68455
68456        Mac build fix attempt for r80582.
68457
68458        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
68459        (WebCore::disableLigatures):
68460
684612011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
68462
68463        Reviewed by Kent Tamura.
68464
68465        Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection
68466        https://bugs.webkit.org/show_bug.cgi?id=54937
68467
68468        * editing/SelectionController.cpp:
68469        (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain
68470        the document. Also restrained the lifetime of document variable.
68471        (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode()
68472        to determine whether or not position becomes null after removing a node.
68473        (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container
68474        so call containerNode() instead of deprecatedNode().
68475        (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer()
68476        instead of deprecatedNode() and deprecatedEditingOffset() respectively.
68477        (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode()
68478        instead of deprecatedNode to determine whether or not selection inside a password field. Also assert
68479        that the specified position is not before or after the shadow root as it violates our assumption.
68480        * editing/VisibleSelection.cpp:
68481        (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
68482        and deprecatedEditingOffset() respectively because start is always parent anchored and therefore
68483        guaranteed to be an offset inside an anchor node.
68484        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode()
68485        instead of deprecatedNode() to look for the lowest editable ancestor because position before or after
68486        an editable element isn't editable.
68487        * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
68488        and deprecatedEditingOffset() respectively in the following functions because they are exposed to
68489        DOM, which doesn't have before/after concept.
68490        (WebCore::DOMSelection::anchorNode):
68491        (WebCore::DOMSelection::anchorOffset):
68492        (WebCore::DOMSelection::focusNode):
68493        (WebCore::DOMSelection::focusOffset):
68494        (WebCore::DOMSelection::baseNode):
68495        (WebCore::DOMSelection::baseOffset):
68496        (WebCore::DOMSelection::extentNode):
68497        (WebCore::DOMSelection::extentOffset):
68498
684992011-03-08  Brent Fulgham  <bfulgham@webkit.org>
68500
68501        Reviewed by Adam Roben.
68502
68503        Correct uninitialized variable in PolicyCallback found while
68504        running WebKit in BoundsChecker.
68505        https://bugs.webkit.org/show_bug.cgi?id=45199.
68506
68507        * loader/PolicyCallback.cpp:
68508        (WebCore::PolicyCallback::PolicyCallback): Initialize
68509        m_argument.
68510
685112011-03-08  Brent Fulgham  <bfulgham@webkit.org>
68512
68513        More build bustage fix.
68514
68515        * platform/graphics/win/cairo/FontPlatformData.h:
68516        (WebCore::FontPlatformData::setOrientation): Duplicate accessor
68517        in WinCairo-local header.  This is such a mess!
68518
685192011-03-08  David Hyatt  <hyatt@apple.com>
68520
68521        Fix build bustage.  Hide orientation setting behind a setter and stub it out in all
68522        FontPlatformData classes.  (This class really needs to move to a common header with ifdefs.)
68523
68524        * platform/graphics/SimpleFontData.cpp:
68525        (WebCore::SimpleFontData::verticalRightOrientationFontData):
68526        * platform/graphics/cg/FontPlatformData.h:
68527        (WebCore::FontPlatformData::setOrientation):
68528        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
68529        (WebCore::FontPlatformData::setOrientation):
68530        * platform/graphics/chromium/FontPlatformDataLinux.h:
68531        (WebCore::FontPlatformData::setOrientation):
68532        * platform/graphics/cocoa/FontPlatformData.h:
68533        (WebCore::FontPlatformData::setOrientation):
68534        * platform/graphics/freetype/FontPlatformData.h:
68535        (WebCore::FontPlatformData::setOrientation):
68536        * platform/graphics/qt/FontPlatformData.h:
68537        (WebCore::FontPlatformData::setOrientation):
68538        * platform/graphics/wince/FontPlatformData.h:
68539        (WebCore::FontPlatformData::setOrientation):
68540        * platform/graphics/wx/FontPlatformData.h:
68541        (WebCore::FontPlatformData::setOrientation):
68542
685432011-03-08  Joe Wild  <joseph.wild@nokia.com>
68544
68545        Reviewed by Csaba Osztrogonác.
68546
68547        [Qt] Missing SVG variables
68548        https://bugs.webkit.org/show_bug.cgi?id=32941
68549
68550        Basically, this patch just modifies features.pri to the Qt build to
68551        pass on the ENABLE_SVG_* flags to the IDL binding generator.
68552
68553        Also I had remove global-construtors.html from the skip list and
68554        updated the associated expected results files.
68555
68556        * features.pri:
68557        * page/DOMWindow.idl:
68558
685592011-03-08  Alok priyadarshi  <alokp@chromium.org>
68560
68561        Reviewed by Dimitri Glazkov.
68562
68563        Plugins needs a way to trigger style recalc
68564        https://bugs.webkit.org/show_bug.cgi?id=55242
68565
68566        No test needed. A simple get function is added.
68567
68568        * platform/graphics/chromium/PluginLayerChromium.h:
68569        (WebCore::PluginLayerChromium::getTextureId):
68570
685712011-03-08  David Hyatt  <hyatt@apple.com>
68572
68573        Reviewed by Dan Bernstein.
68574
68575        https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property.
68576        
68577        This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright.
68578        The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation).
68579        
68580        Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and
68581        uprightOrientation fallback font data.  Vertical right is just implemented as a normal horizontal font.  Upright is implemented as a
68582        vertically oriented font that rotates all glyphs.
68583        
68584        The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to
68585        a vertical right facing.  This means that you can use those special vertical glyphs for vertical-right orientation without having to 
68586        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
68587        work very well, but hopefully it won't be all that common.  Limitations of CoreText prevent this case from rendering properly in either the
68588        simple or complex code paths, although the simple code path at least gets close.
68589
68590        Added fast/blockflow/text-orientation-basic.html
68591
68592        * WebCore.exp.in:
68593        * WebCore.xcodeproj/project.pbxproj:
68594        * css/CSSComputedStyleDeclaration.cpp:
68595        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
68596        * css/CSSFontFaceSource.cpp:
68597        (WebCore::CSSFontFaceSource::getFontData):
68598        * css/CSSParser.cpp:
68599        (WebCore::CSSParser::parseValue):
68600        * css/CSSPrimitiveValueMappings.h:
68601        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
68602        (WebCore::CSSPrimitiveValue::operator TextOrientation):
68603        * css/CSSPropertyNames.in:
68604        * css/CSSStyleSelector.cpp:
68605        (WebCore::CSSStyleSelector::applyDeclarations):
68606        (WebCore::CSSStyleSelector::applyProperty):
68607        * css/CSSValueKeywords.in:
68608        * loader/cache/CachedFont.cpp:
68609        (WebCore::CachedFont::platformDataFromCustomData):
68610        * loader/cache/CachedFont.h:
68611        * platform/graphics/FontCache.cpp:
68612        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
68613        (WebCore::FontPlatformDataCacheKey::operator==):
68614        (WebCore::computeHash):
68615        (WebCore::FontCache::getCachedFontPlatformData):
68616        * platform/graphics/FontDescription.h:
68617        (WebCore::FontDescription::FontDescription):
68618        (WebCore::FontDescription::textOrientation):
68619        (WebCore::FontDescription::setTextOrientation):
68620        (WebCore::FontDescription::operator==):
68621        * platform/graphics/FontFastPath.cpp:
68622        (WebCore::Font::glyphDataForCharacter):
68623        (WebCore::offsetToMiddleOfGlyph):
68624        * platform/graphics/SimpleFontData.cpp:
68625        (WebCore::SimpleFontData::SimpleFontData):
68626        (WebCore::SimpleFontData::verticalRightOrientationFontData):
68627        (WebCore::SimpleFontData::uprightOrientationFontData):
68628        (WebCore::SimpleFontData::brokenIdeographFontData):
68629        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
68630        * platform/graphics/SimpleFontData.h:
68631        (WebCore::SimpleFontData::hasVerticalGlyphs):
68632        (WebCore::SimpleFontData::isTextOrientationFallback):
68633        * platform/graphics/cairo/FontCustomPlatformData.h:
68634        * platform/graphics/cocoa/FontPlatformData.h:
68635        (WebCore::FontPlatformData::FontPlatformData):
68636        (WebCore::FontPlatformData::textOrientation):
68637        (WebCore::FontPlatformData::hash):
68638        (WebCore::FontPlatformData::operator==):
68639        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
68640        (WebCore::FontPlatformData::FontPlatformData):
68641        (WebCore::FontPlatformData::operator=):
68642        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
68643        (WebCore::FontCustomPlatformData::fontPlatformData):
68644        * platform/graphics/haiku/FontCustomPlatformData.cpp:
68645        (WebCore::FontCustomPlatformData::fontPlatformData):
68646        * platform/graphics/haiku/FontCustomPlatformData.h:
68647        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
68648        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
68649        * platform/graphics/mac/FontCacheMac.mm:
68650        (WebCore::FontCache::createFontPlatformData):
68651        * platform/graphics/mac/FontCustomPlatformData.cpp:
68652        (WebCore::FontCustomPlatformData::fontPlatformData):
68653        * platform/graphics/mac/FontCustomPlatformData.h:
68654        * platform/graphics/mac/FontMac.mm:
68655        (WebCore::showGlyphsWithAdvances):
68656        (WebCore::Font::drawGlyphs):
68657        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
68658        (WebCore::shouldUseCoreText):
68659        (WebCore::GlyphPage::fill):
68660        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
68661        (WebCore::SimpleFontData::getCFStringAttributes):
68662        * platform/graphics/mac/SimpleFontDataMac.mm:
68663        (WebCore::SimpleFontData::platformInit):
68664        (WebCore::SimpleFontData::platformBoundsForGlyph):
68665        (WebCore::SimpleFontData::platformWidthForGlyph):
68666        * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
68667        (WebCore::FontCustomPlatformData::fontPlatformData):
68668        * platform/graphics/qt/FontCustomPlatformData.h:
68669        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
68670        (WebCore::FontCustomPlatformData::fontPlatformData):
68671        * platform/graphics/skia/FontCustomPlatformData.cpp:
68672        (WebCore::FontCustomPlatformData::fontPlatformData):
68673        * platform/graphics/skia/FontCustomPlatformData.h:
68674        * platform/graphics/win/FontCustomPlatformData.cpp:
68675        (WebCore::FontCustomPlatformData::fontPlatformData):
68676        * platform/graphics/win/FontCustomPlatformData.h:
68677        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
68678        (WebCore::FontCustomPlatformData::fontPlatformData):
68679        * platform/graphics/win/FontCustomPlatformDataCairo.h:
68680        * platform/graphics/wince/FontCustomPlatformData.cpp:
68681        (WebCore::FontCustomPlatformData::fontPlatformData):
68682        * platform/graphics/wince/FontCustomPlatformData.h:
68683        * platform/text/TextOrientation.h: Added.
68684        * rendering/InlineFlowBox.cpp:
68685        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
68686        * rendering/style/RenderStyle.h:
68687        (WebCore::InheritedFlags::initialTextOrientation):
68688
686892011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
68690
68691        Reviewed by Darin Adler.
68692
68693        addInlineStyleIfNeeded should take EditingStyle
68694        https://bugs.webkit.org/show_bug.cgi?id=55950
68695
68696        Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init.
68697        Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle.
68698
68699        * editing/ApplyStyleCommand.cpp:
68700        (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration.
68701        (WebCore::StyleChange::init): Ditto.
68702        (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange.
68703        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded.
68704        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode.
68705        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement
68706        instead of manually merging styles.
68707        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded.
68708        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration.
68709        * editing/ApplyStyleCommand.h:
68710        * editing/CompositeEditCommand.h:
68711        * editing/EditingStyle.cpp:
68712        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle.
68713        * editing/EditingStyle.h:
68714
687152011-03-08  Nico Weber  <thakis@chromium.org>
68716
68717        Reviewed by James Robinson.
68718
68719        Crash on big blur radius with canvas
68720        https://bugs.webkit.org/show_bug.cgi?id=55951
68721
68722        Move the clamping code out of an if branch, so that it happens in the
68723        canvas case as well.
68724
68725        Test: fast/canvas/shadow-huge-blur.html
68726
68727        * platform/graphics/cg/GraphicsContextCG.cpp:
68728        (WebCore::GraphicsContext::setPlatformShadow):
68729
687302011-03-08  Chris Fleizach  <cfleizach@apple.com>
68731
68732        Reviewed by Sam Weinig.
68733
68734        WK2: Cannot set focus on an element when focus is outside of WKView
68735        https://bugs.webkit.org/show_bug.cgi?id=55281
68736    
68737        In WK2, focus cannot be set from the WebProcess side because there's no platformWidget().
68738        Instead, the focus/unfocus messages need to be sent to the UIProcess side.
68739
68740        * platform/mac/WidgetMac.mm:
68741        (WebCore::Widget::setFocus):
68742
687432011-03-08  Sam Weinig  <sam@webkit.org>
68744
68745        Reviewed by Anders Carlsson.
68746
68747        Overflow: scroll areas should not paint white in scroll corner if the 
68748        scrollbars are overlay.
68749        <rdar://problem/9082871>
68750
68751        * rendering/RenderLayer.cpp:
68752        (WebCore::RenderLayer::paintScrollCorner):
68753        Don't paint the scroll corner white if we have overlay scrollbars.
68754
687552011-03-08  Chris Marrin  <cmarrin@apple.com>
68756
68757        Reviewed by Darin Adler.
68758
68759        The first time animations are committed they have a bad start time
68760        https://bugs.webkit.org/show_bug.cgi?id=55947
68761
68762        Do a check for a returned lastCommitTime of <=0 and replace it
68763        with the mediaTime.
68764
68765
68766        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
68767        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
68768
687692011-03-08  James Kozianski  <koz@chromium.org>
68770
68771        Reviewed by David Levin.
68772
68773        Expose isValidProtocol() in KURL.h.
68774        https://bugs.webkit.org/show_bug.cgi?id=54594
68775
68776        This is needed to validate protocols used in calls to
68777        navigator.registerProtocolHandler().
68778
68779        * platform/KURL.cpp:
68780        * platform/KURL.h:
68781        * platform/KURLGoogle.cpp:
68782        (WebCore::isValidProtocol):
68783
687842011-03-08  Adam Roben  <aroben@apple.com>
68785
68786        Set svn:mime-type to text/css for all Inspector CSS files
68787
68788        This will cause them to be served with the correct MIME type from svn.webkit.org's web
68789        interface.
68790
68791        Rubber-stamped by Tim Hatcher.
68792
68793        * inspector/front-end/audits.css: Added property svn:mime-type.
68794        * inspector/front-end/goToLineDialog.css: Added property svn:mime-type.
68795        * inspector/front-end/heapProfiler.css: Added property svn:mime-type.
68796        * inspector/front-end/helpScreen.css: Added property svn:mime-type.
68797        * inspector/front-end/inspector.css: Added property svn:mime-type.
68798        * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type.
68799        * inspector/front-end/networkPanel.css: Added property svn:mime-type.
68800        * inspector/front-end/popover.css: Added property svn:mime-type.
68801        * inspector/front-end/textViewer.css: Added property svn:mime-type.
68802
688032011-03-08  Andrei Popescu  <andreip@google.com>
68804
68805        Reviewed by Steve Block.
68806
68807        IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed.
68808        https://bugs.webkit.org/show_bug.cgi?id=55938
68809
68810        The IndexedDatabase specification changed and IDBIndex objects are no
68811        longer created asynchronously. We therefore no longer need this method.
68812
68813        No new tests, just cleanup.
68814
68815        * storage/IDBCallbacks.h:
68816        * storage/IDBRequest.cpp:
68817        * storage/IDBRequest.h:
68818
688192011-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
68820
68821        Unreviewed, rolling out r80551.
68822        http://trac.webkit.org/changeset/80551
68823        https://bugs.webkit.org/show_bug.cgi?id=55933
68824
68825        It broke 285 tests on Qt bot (Requested by Ossy on #webkit).
68826
68827        * WebCore.pro:
68828        * platform/SharedBuffer.cpp:
68829        * platform/SharedBuffer.h:
68830        * platform/network/qt/QNetworkReplyHandler.cpp:
68831        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
68832        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
68833        (WebCore::QNetworkReplyHandler::forwardData):
68834        (WebCore::QNetworkReplyHandler::start):
68835        * platform/network/qt/QNetworkReplyHandler.h:
68836        * platform/network/qt/ResourceHandleQt.cpp:
68837        (WebCore::ResourceHandle::supportsBufferedData):
68838        (WebCore::ResourceHandle::bufferedData):
68839        * platform/qt/QtByteBlock.cpp: Removed.
68840        * platform/qt/QtByteBlock.h: Removed.
68841        * platform/qt/SharedBufferQt.cpp:
68842
688432011-03-08  Andreas Kling  <kling@webkit.org>
68844
68845        Reviewed by Benjamin Poulain.
68846
68847        RenderObject: Pass complex type arguments as const-references.
68848
68849        * WebCore.exp.in:
68850        * rendering/RenderObject.h:
68851        * rendering/RenderObject.cpp:
68852        (WebCore::RenderObject::drawBoxSideFromPath):
68853        (WebCore::RenderObject::drawArcForBoxSide):
68854        (WebCore::RenderObject::localToAbsolute):
68855        (WebCore::RenderObject::absoluteToLocal):
68856
688572011-03-08  Andreas Kling  <kling@webkit.org>
68858
68859        Reviewed by Antonio Gomes.
68860
68861        Path: Make measurement functions const
68862        https://bugs.webkit.org/show_bug.cgi?id=55914
68863
68864        * platform/graphics/Path.cpp:
68865        (WebCore::Path::length):
68866        (WebCore::Path::pointAtLength):
68867        (WebCore::Path::normalAngleAtLength):
68868        * platform/graphics/Path.h:
68869        * platform/graphics/cairo/PathCairo.cpp:
68870        (WebCore::Path::strokeBoundingRect):
68871        * platform/graphics/cg/PathCG.cpp:
68872        (WebCore::Path::strokeBoundingRect):
68873        * platform/graphics/openvg/PathOpenVG.cpp:
68874        (WebCore::Path::strokeBoundingRect):
68875        (WebCore::Path::length):
68876        (WebCore::Path::pointAtLength):
68877        (WebCore::Path::normalAngleAtLength):
68878        * platform/graphics/qt/PathQt.cpp:
68879        (WebCore::Path::strokeBoundingRect):
68880        (WebCore::Path::length):
68881        (WebCore::Path::pointAtLength):
68882        (WebCore::Path::normalAngleAtLength):
68883        * platform/graphics/skia/PathSkia.cpp:
68884        (WebCore::Path::strokeBoundingRect):
68885        * platform/graphics/wince/PathWinCE.cpp:
68886        (WebCore::Path::strokeBoundingRect):
68887        * platform/graphics/wx/PathWx.cpp:
68888        (WebCore::Path::strokeBoundingRect):
68889
688902011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
68891
68892        Reviewed by Martin Robinson.
68893
68894        [GTK] Do not set juntion sides on scrollbar stepper buttons
68895        https://bugs.webkit.org/show_bug.cgi?id=55868
68896
68897        Fixes rendering of steppers for themes using rounded stepper
68898        buttons on scrollbars like Adwaita.
68899
68900        * platform/gtk/ScrollbarThemeGtk3.cpp:
68901        (WebCore::ScrollbarThemeGtk::paintButton):
68902
689032011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
68904
68905        Reviewed by Martin Robinson.
68906
68907        [GTK] Use doubles instead of integers for coordinates when rendering arrows
68908        https://bugs.webkit.org/show_bug.cgi?id=55866
68909
68910        To prevent off-by-one rounding errors.
68911
68912        * platform/gtk/RenderThemeGtk3.cpp:
68913        (WebCore::RenderThemeGtk::paintMenuList):
68914        * platform/gtk/ScrollbarThemeGtk3.cpp:
68915        (WebCore::ScrollbarThemeGtk::paintButton):
68916
689172011-03-08  Markus Goetz  <guruz@guruz.de>
68918
68919        Reviewed by Kenneth Rohde Christiansen.
68920
68921        [Qt] Use the QNetworkAccessManager zerocopy feature
68922        https://bugs.webkit.org/show_bug.cgi?id=50082
68923
68924        The feature will be introduced in Qt 4.8.
68925        This patch is backwards compatible with Qt 4.7.
68926
68927        * WebCore.pro:
68928        * platform/SharedBuffer.cpp:
68929        * platform/SharedBuffer.h:
68930        * platform/network/qt/QNetworkReplyHandler.cpp:
68931        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
68932        (WebCore::QNetworkReplyHandler::bufferedData):
68933        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
68934        (WebCore::QNetworkReplyHandler::downloadProgress):
68935        (WebCore::QNetworkReplyHandler::forwardData):
68936        (WebCore::QNetworkReplyHandler::start):
68937        * platform/network/qt/QNetworkReplyHandler.h:
68938        * platform/network/qt/ResourceHandleQt.cpp:
68939        (WebCore::ResourceHandle::supportsBufferedData):
68940        (WebCore::ResourceHandle::bufferedData):
68941        * platform/qt/SharedBufferQt.cpp:
68942        (WebCore::SharedBuffer::wrapQtByteBlock):
68943        (WebCore::SharedBuffer::hasPlatformData):
68944        (WebCore::SharedBuffer::platformData):
68945        (WebCore::SharedBuffer::platformDataSize):
68946        (WebCore::SharedBuffer::maybeTransferPlatformData):
68947        (WebCore::SharedBuffer::clearPlatformData):
68948
689492011-03-08  Alejandro G. Castro  <alex@igalia.com>
68950
68951        Reviewed by Martin Robinson.
68952
68953        [GTK] Fix compilation warnings after r80429
68954        https://bugs.webkit.org/show_bug.cgi?id=55864
68955
68956        * platform/gtk/WidgetGtk.cpp:
68957
689582011-03-08  Philippe Normand  <pnormand@igalia.com>
68959
68960        Unreviewed, GTK build fix after r80536
68961
68962        * GNUmakefile.am:
68963
689642011-03-08  Zan Dobersek  <zandobersek@gmail.com>
68965
68966        Reviewed by Martin Robinson.
68967
68968        [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer
68969        https://bugs.webkit.org/show_bug.cgi?id=55878
68970
68971        Multiply the quality parameter by 100 to put it in the range [0, 100] as needed
68972        when saving GdkPixbuf to a buffer.
68973
68974        * platform/graphics/gtk/ImageBufferGtk.cpp:
68975        (WebCore::ImageBuffer::toDataURL):
68976
689772011-03-07  Daniel Cheng  <dcheng@chromium.org>
68978
68979        Unreviewed.
68980
68981        Final build fix for r80536.
68982
68983        * DerivedSources.make:
68984
689852011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
68986
68987        Reviewed by Kent Tamura.
68988
68989        [EFL] Adjust functions of WebCore's efl port to WebKit coding style
68990        https://bugs.webkit.org/show_bug.cgi?id=55924
68991
68992        Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files.
68993
68994        * platform/efl/PlatformKeyboardEventEfl.cpp:
68995        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
68996        * platform/efl/PlatformMouseEventEfl.cpp:
68997        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
68998        * platform/efl/WidgetEfl.cpp:
68999        (WebCore::Widget::frameRectsChanged):
69000        (WebCore::Widget::setEvasObject):
69001
690022011-03-07  Daniel Cheng  <dcheng@chromium.org>
69003
69004        Unreviewed.
69005
69006        More build fixes for r80536.
69007
69008        * CMakeLists.txt:
69009        * platform/chromium/ClipboardChromium.cpp:
69010        * platform/chromium/ClipboardChromium.h:
69011
690122011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
69013
69014        Reviewed by Antonio Gomes.
69015
69016        [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style
69017        https://bugs.webkit.org/show_bug.cgi?id=55917
69018
69019        Adjust webkit style to ScrollbarEfl files.
69020
69021        * platform/efl/ScrollbarEfl.cpp:
69022        (scrollbarEflEdjeMessage):
69023        (ScrollbarEfl::setParent):
69024        (ScrollbarEfl::updateThumbPositionAndProportion):
69025        (ScrollbarEfl::frameRectsChanged):
69026        (ScrollbarEfl::paint):
69027        * platform/efl/ScrollbarEfl.h:
69028
690292011-03-07  Daniel Cheng  <dcheng@chromium.org>
69030
69031        Unreviewed.
69032
69033        Build fix for Chromium after r80536.
69034
69035        * platform/chromium/DataTransferItemChromium.cpp:
69036        * platform/chromium/DataTransferItemsChromium.cpp:
69037
690382011-03-07  Daniel Cheng  <dcheng@chromium.org>
69039
69040        Unreviewed.
69041
69042        More build fixes for r80536.
69043
69044        * CMakeLists.txt:
69045        * platform/chromium/ClipboardChromium.cpp:
69046        * platform/chromium/ClipboardChromium.h:
69047
690482011-03-07  Daniel Cheng  <dcheng@chromium.org>
69049
69050        Reviewed by David Levin.
69051
69052        Add support for DataTransferItems
69053        https://bugs.webkit.org/show_bug.cgi?id=55115
69054
69055        This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the
69056        basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile,
69057        all functionality on the DataTransferItems collection has been implemented.
69058        This change does not actually hook up DataTransferItems to reflect the actual contents of a
69059        drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be
69060        enabled via several followup patches.
69061
69062        Test: editing/pasteboard/data-transfer-items.html
69063
69064        * Android.mk:
69065        * CMakeLists.txt:
69066        * CodeGenerators.pri:
69067        * DerivedSources.cpp:
69068        * DerivedSources.make:
69069        * GNUmakefile.am:
69070        * WebCore.gypi:
69071        * WebCore.pro:
69072        * WebCore.vcproj/WebCore.vcproj:
69073        * WebCore.xcodeproj/project.pbxproj:
69074        * bindings/generic/RuntimeEnabledFeatures.cpp:
69075        * bindings/generic/RuntimeEnabledFeatures.h:
69076        (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
69077        (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
69078        * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in.
69079        * dom/Clipboard.h:
69080        (WebCore::Clipboard::policy):
69081        * dom/Clipboard.idl:
69082        * dom/DataTransferItem.cpp: Added.
69083        * dom/DataTransferItem.h: Added.
69084        (WebCore::DataTransferItem::~DataTransferItem):
69085        * dom/DataTransferItem.idl: Added.
69086        * dom/DataTransferItems.h: Added.
69087        (WebCore::DataTransferItems::~DataTransferItems):
69088        * dom/DataTransferItems.idl: Added.
69089        * dom/StringCallback.cpp: Added.
69090        (WebCore::StringCallback::scheduleCallback):
69091        * dom/StringCallback.h: Added.
69092        (WebCore::StringCallback::~StringCallback):
69093        * dom/StringCallback.idl: Added.
69094        * platform/chromium/ClipboardChromium.cpp:
69095        (WebCore::ClipboardChromium::items):
69096        * platform/chromium/ClipboardChromium.h:
69097        * platform/chromium/DataTransferItemChromium.cpp: Added.
69098        (WebCore::DataTransferItemChromium::create):
69099        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
69100        (WebCore::DataTransferItemChromium::kind):
69101        (WebCore::DataTransferItemChromium::type):
69102        (WebCore::DataTransferItemChromium::getAsString):
69103        * platform/chromium/DataTransferItemChromium.h: Added.
69104        * platform/chromium/DataTransferItemsChromium.cpp: Added.
69105        (WebCore::DataTransferItemsChromium::create):
69106        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
69107        (WebCore::DataTransferItemsChromium::length):
69108        (WebCore::DataTransferItemsChromium::item):
69109        (WebCore::DataTransferItemsChromium::deleteItem):
69110        (WebCore::DataTransferItemsChromium::clear):
69111        (WebCore::DataTransferItemsChromium::add):
69112        * platform/chromium/DataTransferItemsChromium.h: Added.
69113
691142011-03-07  Ryosuke Niwa  <rniwa@webkit.org>
69115
69116        Reviewed by Darin Adler.
69117
69118        selectionHasStyle and selectionStartHasStyle should use EditingStyle
69119        https://bugs.webkit.org/show_bug.cgi?id=55902
69120
69121        Deployed EditingStyle in selectionHasStyle and selectionStartHasStyle.
69122        This allowed us to move triStateOfStyle from Editor.cpp to EditingStyle.cpp.
69123
69124        Also changed the argument lists of selectionHasStyle and selectionStartHasStyle
69125        to take a property id and a value instead of a CSSMutableStyleDeclaration to cleanup
69126        call sites of these two functions.
69127
69128        * WebCore.exp.in: Updated the signature of selectionHasStyle. No longer exports
69129        selectionStartHasStyle because it's not called anywhere outside of WebCore.
69130        * WebCore.order: Ditto.
69131        * editing/EditingStyle.cpp:
69132        (WebCore::EditingStyle::EditingStyle): Added a new constructor that takes a property id
69133        and a property value.
69134        (WebCore::EditingStyle::triStateOfStyle): Moved from Editor.cpp.
69135        * editing/EditingStyle.h:
69136        (WebCore::EditingStyle::create): Added.
69137        * editing/Editor.cpp:
69138        (WebCore::Editor::selectionStartHasStyle): Takes a property id and a value instead of
69139        a CSSStyleDeclaration.
69140        (WebCore::Editor::selectionHasStyle): Ditto.
69141        * editing/Editor.h: Updated the signatures of selectionStartHasStyle and selectionHasStyle.
69142        * editing/EditorCommand.cpp:
69143        (WebCore::executeToggleStyle): Calls selectionStartHasStyle and selectionHasStyle.
69144        (WebCore::stateStyle): Ditto.
69145        * page/ContextMenuController.cpp:
69146        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
69147
691482011-03-07  Alexey Proskuryakov  <ap@apple.com>
69149
69150        Reviewed by Darin Adler.
69151
69152        REGRESSION (HTML5 tree builder): Text selection in a large text document is extremely slow
69153        https://bugs.webkit.org/show_bug.cgi?id=55898
69154
69155        <rdar://problem/9095839> REGRESSION: Mail hangs with a certain large mail message when
69156        linkifying e-mail addresses in in -[DOMCharacterData setData:]
69157
69158        Changes render tree of fast/text/large-text-composed-char.html, but not image results.
69159
69160        * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData):
69161        Changed parserAppendData() to accept a maximum length, and moved code from Text::createWithLengthLimit().
69162
69163        * dom/CharacterData.h: Moved a constant for maximum length from Text.h.
69164
69165        * dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
69166        * dom/Text.h:
69167        This function was unused in ToT. Moved code around to share with CharacterData.
69168
69169        * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertTextNode):
69170        Chnaged to split large text nodes while parsing again.
69171
691722011-03-07  Alice Boxhall  <aboxhall@chromium.org>
69173
69174        Reviewed by Adam Barth.
69175
69176        Fix platform/image-encoders/JPEGImageEncoder.cpp empty_output_buffer() behaviour
69177        https://bugs.webkit.org/show_bug.cgi?id=54522
69178
69179        Fix jpegEmptyOutputBuffer() by ignoring free_in_buffer value as required.
69180
69181        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.
69182
69183        * platform/image-encoders/JPEGImageEncoder.cpp:
69184        (WebCore::jpegEmptyOutputBuffer):
69185
691862011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
69187
69188        Reviewed by Eric Seidel.
69189
69190        Add the missing insertedIntoDocument() call in SVGVKernElement and SVGHKernElement
69191        https://bugs.webkit.org/show_bug.cgi?id=55896
69192
69193        Test: svg/dom/vkern-element-crash.html
69194
69195        * svg/SVGHKernElement.cpp:
69196        (WebCore::SVGHKernElement::insertedIntoDocument):
69197        * svg/SVGVKernElement.cpp:
69198        (WebCore::SVGVKernElement::insertedIntoDocument):
69199
692002011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
69201
69202        Unreviewed, rolling out r80514.
69203        http://trac.webkit.org/changeset/80514
69204        https://bugs.webkit.org/show_bug.cgi?id=55915
69205
69206        Caused assertion failures (Requested by ukai on #webkit).
69207
69208        * platform/graphics/skia/GraphicsContextSkia.cpp:
69209        (WebCore::GraphicsContext::setPlatformShadow):
69210        * platform/graphics/skia/ImageSkia.cpp:
69211        (WebCore::paintSkBitmap):
69212
692132011-03-07  Cosmin Truta  <ctruta@chromium.org>
69214
69215        Reviewed by Adam Barth.
69216
69217        SVG <image> referenced by <use> is displayed incorrectly
69218        https://bugs.webkit.org/show_bug.cgi?id=55750
69219
69220        The result of sourceURI must use the URL of the enclosing document as base.
69221        Otherwise, the base may sometimes be empty, and, as a consequence,
69222        the intermediate KURL object may be invalid.
69223
69224        Test: svg/custom/use-image-in-g.svg
69225
69226        * svg/SVGImageLoader.cpp:
69227        (WebCore::SVGImageLoader::sourceURI):
69228
692292011-03-07  Helder Correia  <helder@sencha.com>
69230
69231        Reviewed by Simon Fraser.
69232
69233        Shadow is not shown when using strokeRect with a gradient strokeStyle
69234        https://bugs.webkit.org/show_bug.cgi?id=52509
69235
69236        This happens in CG and is related to bug 51869, this time to be fixed
69237        in GraphicsContext::strokeRect(const FloatRect& r, float lineWidth).
69238        We need to draw the gradient clipped to the stroke on a CGLayer first,
69239        and then draw the layer on the GraphicsContext.
69240
69241        Tests: fast/canvas/canvas-strokeRect-gradient-shadow.html
69242               svg/css/rect-gradient-stroke-shadow.svg
69243
69244        * platform/graphics/cg/GraphicsContextCG.cpp:
69245        (WebCore::GraphicsContext::strokeRect):
69246
692472011-03-07  Justin Novosad  <junov@chromium.org>
69248
69249        Reviewed by Kenneth Russell.
69250
69251        Fix for blurs behind bitmap images in Chromium, and boosting
69252        shadow blur quality 
69253        Bug URLs:
69254                https://bugs.webkit.org/show_bug.cgi?id=55410
69255                https://bugs.webkit.org/show_bug.cgi?id=55506
69256
69257        No new tests. Covered by existing layout tests. 
69258
69259        * platform/graphics/skia/GraphicsContextSkia.cpp:
69260        (WebCore::GraphicsContext::setPlatformShadow): Turn on high quality shadows and fix shadow color
69261        * platform/graphics/skia/ImageSkia.cpp:
69262        (WebCore::paintSkBitmap): Propagate the draw looper from context to painter
69263
692642011-03-07  Andreas Kling  <kling@webkit.org>
69265
69266        Unreviewed Mac build fix after r80508.
69267
69268        * WebCore.exp.in:
69269
692702011-03-07  Enrica Casucci  <enrica@apple.com>
69271
69272        Unreviewed build fix.
69273
69274        Rolling back  http://trac.webkit.org/changeset/80497 due to the
69275        32-bit build failures.
69276
69277        * WebCore.xcodeproj/project.pbxproj:
69278        * platform/mac/HTMLConverter.h: Removed.
69279        * platform/mac/HTMLConverter.mm: Removed.
69280        * platform/mac/PasteboardMac.mm:
69281        (WebCore::Pasteboard::writeSelection):
69282
692832011-03-07  Andreas Kling  <kling@webkit.org>
69284
69285        Reviewed by Benjamin Poulain.
69286
69287        FrameView::setBaseBackgroundColor: Pass Color argument as const-reference.
69288
69289        * page/FrameView.cpp:
69290        (WebCore::FrameView::setBaseBackgroundColor):
69291        * page/FrameView.h:
69292
692932011-03-07  Adam Barth  <abarth@webkit.org>
69294
69295        Reviewed by Dimitri Glazkov.
69296
69297        REGRESSION(r78147): Crash on http://gnarf.net/jquery/test/
69298        https://bugs.webkit.org/show_bug.cgi?id=55894
69299
69300        The m_frame can disappear out from under us, and there's no point in
69301        checking whether the load is complete in a non-existant frame.
69302
69303        Test: fast/parser/document-write-into-initial-document.html
69304
69305        * dom/Document.cpp:
69306        (WebCore::Document::explicitClose):
69307
693082011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
69309
69310        Unreviewed, rolling out r80500.
69311        http://trac.webkit.org/changeset/80500
69312        https://bugs.webkit.org/show_bug.cgi?id=55908
69313
69314        Caused mysterious GYP error (Requested by abarth on #webkit).
69315
69316        * WebCore.gyp/WebCore.gyp:
69317        * WebCore.gypi:
69318
693192011-03-07  Adam Barth  <abarth@webkit.org>
69320
69321        Fix Chromium Mac build.  This header should only be included when the
69322        feature is enabled.
69323
69324        * platform/cf/RunLoopTimerCF.cpp:
69325
693262011-03-07  Adam Barth  <abarth@webkit.org>
69327
69328        Reviewed by Dimitri Glazkov.
69329
69330        Add WML files to WebCore.gypi
69331        https://bugs.webkit.org/show_bug.cgi?id=55905
69332
69333        * WebCore.gyp/WebCore.gyp:
69334        * WebCore.gypi:
69335
693362011-03-07  Adrienne Walker  <enne@google.com>
69337
69338        Reviewed by James Robinson.
69339
69340        [chromium] Add missing include to #define Skia parameter
69341        https://bugs.webkit.org/show_bug.cgi?id=55885
69342
69343        * platform/graphics/chromium/ShaderChromium.h:
69344
693452011-03-07  Chris Fleizach  <cfleizach@apple.com>
69346
69347        Reviewed by Beth Dakin.
69348
69349        AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
69350        https://bugs.webkit.org/show_bug.cgi?id=55706
69351
69352        * WebCore.exp.in:
69353        * accessibility/AXObjectCache.cpp:
69354        (WebCore::AXObjectCache::rootObjectForFrame):
69355        * accessibility/AXObjectCache.h:
69356        * accessibility/AccessibilityScrollView.cpp:
69357        (WebCore::AccessibilityScrollView::isAttachment):
69358        (WebCore::AccessibilityScrollView::widgetForAttachmentView):
69359        * accessibility/AccessibilityScrollView.h:
69360        (WebCore::AccessibilityScrollView::firstChild):
69361        * accessibility/mac/AccessibilityObjectWrapper.mm:
69362        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
69363
693642011-03-07  Enrica Casucci  <enrica@apple.com>
69365
69366        Reviewed by Darin Adler.
69367        
69368        REGRESSION: Copied content loses formatting on paste to external apps.
69369        https://bugs.webkit.org/show_bug.cgi?id=47615
69370        <rdar://problem/9001214>
69371
69372        This is a resubmission of a patch that was landed a while ago then rolled
69373        back because of a build failure on SnowLeopard and Leopard.
69374        
69375        This patch adds a way for WebKit2 to create NSAttributedStrings from
69376        a DOM range without using the AppKit api initWithDOMRange that internally
69377        needs to access the WebView. The NSAttributedString is needed to create
69378        RTF formats in the pasteboard.
69379        This is to be considered a first step, since in the future we want to have
69380        an implementation based on the TextIterator.
69381
69382        * WebCore.xcodeproj/project.pbxproj: Added new file.
69383        * platform/mac/HTMLConverter.h: Added.
69384        * platform/mac/HTMLConverter.mm: Added.
69385        * platform/mac/PasteboardMac.mm:
69386        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
69387        class for WebKit2 to create the NSAttributedString from the DOM range.
69388
693892011-03-07  Adam Barth  <abarth@webkit.org>
69390
69391        Reviewed by Dimitri Glazkov.
69392
69393        Add some missing platform files to WebCore.gypi
69394        https://bugs.webkit.org/show_bug.cgi?id=55897
69395
69396        There are a bunch more, but this is a start.
69397
69398        * WebCore.gyp/WebCore.gyp:
69399        * WebCore.gypi:
69400
694012011-03-07  Steve Block  <steveblock@google.com>
69402
69403        Reviewed by Jeremy Orlow.
69404
69405        Rename JNIBridgeV8.cpp/h to JavaFieldV8.cpp/h
69406        https://bugs.webkit.org/show_bug.cgi?id=55879
69407
69408        No new tests, refactoring only.
69409
69410        * Android.v8bindings.mk:
69411        * WebCore.gypi:
69412        * bridge/jni/v8/JavaClassV8.cpp:
69413        * bridge/jni/v8/JavaClassV8.h:
69414        * bridge/jni/v8/JavaFieldV8.cpp: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.cpp.
69415        (JavaField::JavaField):
69416        * bridge/jni/v8/JavaFieldV8.h: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
69417        (JSC::Bindings::JavaField::name):
69418        (JSC::Bindings::JavaField::type):
69419        (JSC::Bindings::JavaField::getJNIType):
69420        * bridge/jni/v8/JavaInstanceV8.cpp:
69421        * bridge/jni/v8/JavaNPObjectV8.cpp:
69422
694232011-03-07  Daniel Cheng  <dcheng@chromium.org>
69424
69425        Reviewed by Tony Chang.
69426
69427        Add plumbing for paste support to ChromiumDataObject::types()
69428        https://bugs.webkit.org/show_bug.cgi?id=55792
69429
69430        This is a preliminary patch to support event.dataTransfer.items. This
69431        adds plumbing to support retrieving the types in a paste event. It also
69432        moves the check for files in a drag/paste up to ClipboardChromium, since
69433        internal code needs to be able to differentiate between actual files in
69434        a drag and someone that simply decided to use "Files" as a custom type
69435        string.
69436
69437        Test: editing/pasteboard/onpaste-text-html-types.html
69438
69439        * platform/chromium/ChromiumDataObject.cpp:
69440        (WebCore::ChromiumDataObject::types):
69441        (WebCore::ChromiumDataObject::containsFilenames):
69442        * platform/chromium/ChromiumDataObject.h:
69443        * platform/chromium/ClipboardChromium.cpp:
69444        (WebCore::ClipboardChromium::types):
69445        * platform/chromium/ClipboardMimeTypes.cpp:
69446        * platform/chromium/ClipboardMimeTypes.h:
69447
694482011-03-07  Takayoshi Kochi  <kochi@chromium.org>
69449
69450        Reviewed by Tony Chang.
69451
69452        [chromium] Use preferred locale information when choosing fallback
69453        font using fontconfig on Linux platform.
69454        http://bugs.webkit.org/show_bug.cgi?id=55453
69455
69456        No new tests, as it depends on ICU and locale setting, so it will be
69457        covered by Chromium side.
69458
69459        * platform/chromium/PlatformBridge.h:
69460        * platform/graphics/chromium/FontCacheLinux.cpp:
69461
694622011-03-07  Adam Barth  <abarth@webkit.org>
69463
69464        Reviewed by Eric Seidel.
69465
69466        Add gobject, cpp, and objc bindings to WebCore.gypi
69467        https://bugs.webkit.org/show_bug.cgi?id=55892
69468
69469        These are also excluded from the Chromium build but needed for various
69470        other ports.
69471
69472        * WebCore.gyp/WebCore.gyp:
69473        * WebCore.gypi:
69474
694752011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
69476
69477        Reviewed by Dimitri Glazkov.
69478
69479        Node::checkAddChild and Node::checkReplaceChild shouldn't change the owner document of a node
69480        https://bugs.webkit.org/show_bug.cgi?id=55803
69481
69482        Test: fast/dom/dom-method-document-change.html
69483
69484        * dom/ContainerNode.cpp:
69485        (WebCore::ContainerNode::insertBefore):
69486        (WebCore::ContainerNode::replaceChild):
69487        (WebCore::ContainerNode::appendChild):
69488        * dom/Node.cpp:
69489        (WebCore::Node::checkReplaceChild):
69490        (WebCore::Node::checkAddChild):
69491        * dom/Node.h:
69492
694932011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
69494
69495        Unreviewed, rolling out r80484.
69496        http://trac.webkit.org/changeset/80484
69497        https://bugs.webkit.org/show_bug.cgi?id=55891
69498
69499        requires Chromium DEPS roll (Requested by dcheng on #webkit).
69500
69501        * platform/chromium/ChromiumDataObject.cpp:
69502        (WebCore::ChromiumDataObject::types):
69503        * platform/chromium/ChromiumDataObject.h:
69504        (WebCore::ChromiumDataObject::containsFilenames):
69505        * platform/chromium/ClipboardChromium.cpp:
69506        (WebCore::ClipboardChromium::types):
69507        * platform/chromium/ClipboardMimeTypes.cpp:
69508        * platform/chromium/ClipboardMimeTypes.h:
69509
695102011-03-07  Adam Barth  <abarth@webkit.org>
69511
69512        Reviewed by Dimitri Glazkov.
69513
69514        Add missing bindings/js files to WebCore.gypi
69515        https://bugs.webkit.org/show_bug.cgi?id=55888
69516
69517        These files are excluded from the Chromium build but needed for the Mac
69518        build.
69519
69520        * WebCore.gypi:
69521
695222011-03-07  Daniel Cheng  <dcheng@chromium.org>
69523
69524        Reviewed by Tony Chang.
69525
69526        Add plumbing for paste support to ChromiumDataObject::types()
69527        https://bugs.webkit.org/show_bug.cgi?id=55792
69528
69529        This is a preliminary patch to support event.dataTransfer.items. This
69530        adds plumbing to support retrieving the types in a paste event. It also
69531        moves the check for files in a drag/paste up to ClipboardChromium, since
69532        internal code needs to be able to differentiate between actual files in
69533        a drag and someone that simply decided to use "Files" as a custom type
69534        string.
69535
69536        Test: editing/pasteboard/onpaste-text-html-types.html
69537
69538        * platform/chromium/ChromiumDataObject.cpp:
69539        (WebCore::ChromiumDataObject::types):
69540        (WebCore::ChromiumDataObject::containsFilenames):
69541        * platform/chromium/ChromiumDataObject.h:
69542        * platform/chromium/ClipboardChromium.cpp:
69543        (WebCore::ClipboardChromium::types):
69544        * platform/chromium/ClipboardMimeTypes.cpp:
69545        * platform/chromium/ClipboardMimeTypes.h:
69546
695472011-03-07  Joseph Pecoraro  <joepeck@webkit.org>
69548
69549        Reviewed by Kenneth Rohde Christiansen.
69550
69551        Viewport Warning/Error Messages Are Now Inaccurate
69552        https://bugs.webkit.org/show_bug.cgi?id=53707
69553
69554        Correct and improve the error messages for viewport parsing.
69555
69556        Tests: fast/viewport/viewport-warnings-1.html
69557               fast/viewport/viewport-warnings-2.html
69558               fast/viewport/viewport-warnings-3.html
69559               fast/viewport/viewport-warnings-4.html
69560               fast/viewport/viewport-warnings-5.html
69561               fast/viewport/viewport-warnings-6.html
69562
69563        * dom/ViewportArguments.cpp:
69564        (WebCore::numericPrefix):
69565        (WebCore::findSizeValue): remove incorrect device-width / height tips.
69566        (WebCore::setViewportFeature): report a warning for an unrecognized key.
69567        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
69568        (WebCore::viewportErrorMessageLevel): classify an unrecognized key is an error.
69569        * dom/ViewportArguments.h: removed no longer used warnings.
69570
695712011-03-07  James Robinson  <jamesr@chromium.org>
69572
69573        Reviewed by Kenneth Russell.
69574
69575        [chromium] Separate the update and draw portions of LayerRendererChromium's drawLayers function
69576        https://bugs.webkit.org/show_bug.cgi?id=54047
69577
69578        This splits up LayerRendererChromium::drawLayers() into two phases,
69579        one that updates layers and one that actually draws them.  Most of the
69580        patch is moving the bodies of drawLayers() and updateLayersRecursive()
69581        into smaller helper functions.
69582
69583        The main entry point is renamed updateAndDrawLayers(), but otherwise
69584        has the same signature as drawLayers() did.  Internally it does the
69585        following:
69586
69587        1.) Updates the root layer's contents
69588        2.) Updates the root layer's scrollbars
69589        3.) Updates the RenderSurface tree and the contents of all child
69590        layers
69591        4.) Draws the root layer and root layer scrollbars
69592        5.) Draws all child layers using the previously updated
69593        CCLayerImpl/RenderSurface data.
69594
69595        A few things still need to be done after this patch to complete the separation
69596        of the update and draw step, but they can happen in later patches:
69597        *) The root layer and root layer scrollbars contents should be
69598        uploaded to textures at draw time, not update time.
69599        *) The RenderSurface tree should be updated at draw time, not update
69600        time.
69601
69602        Covered by the compositing/ tests.
69603
69604        * platform/graphics/chromium/LayerRendererChromium.cpp:
69605        (WebCore::LayerRendererChromium::LayerRendererChromium):
69606        (WebCore::LayerRendererChromium::updateRootLayerContents):
69607        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
69608        (WebCore::LayerRendererChromium::drawRootLayer):
69609        (WebCore::LayerRendererChromium::updateAndDrawLayers):
69610        (WebCore::LayerRendererChromium::updateLayers):
69611        (WebCore::LayerRendererChromium::drawLayers):
69612        (WebCore::LayerRendererChromium::getFramebufferPixels):
69613        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
69614        (WebCore::LayerRendererChromium::updateContentsRecursive):
69615        (WebCore::LayerRendererChromium::drawLayer):
69616        * platform/graphics/chromium/LayerRendererChromium.h:
69617        (WebCore::LayerRendererChromium::visibleRectSize):
69618        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
69619        (WebCore::RenderSurfaceChromium::drawSurface):
69620        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
69621        * platform/graphics/chromium/cc/CCLayerImpl.h:
69622
696232011-03-07  Adam Barth  <abarth@webkit.org>
69624
69625        Reviewed by Eric Seidel.
69626
69627        Sort WebCore.gypi
69628        https://bugs.webkit.org/show_bug.cgi?id=55887
69629
69630        These files should be in order.  This is preparation for adding in the
69631        missing files.
69632
69633        * WebCore.gypi:
69634
696352011-03-07  Csaba Osztrogonác  <ossy@webkit.org>
69636
69637        Unreviewed buildfix after r80478.
69638
69639        * dom/Document.cpp: Add suggested parentheses to make GCC happy.
69640        (WebCore::Document::didReceiveTask):
69641
696422011-03-07  Yong Li  <yoli@rim.com>
69643
69644        Reviewed by Darin Adler.
69645
69646        Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
69647        Schedule them with timer when page loading is resumed. The tasks will be performed
69648        in the original order. This fixes the problem that database callbacks could be missed
69649        when page loading was deferred.
69650        https://bugs.webkit.org/show_bug.cgi?id=49401
69651
69652        Manual test added: manual-tests/database-callback-deferred.html.
69653
69654        * dom/Document.cpp:
69655        (WebCore::Document::Document):
69656        (WebCore::Document::~Document):
69657        (WebCore::Document::didReceiveTask):
69658        (WebCore::Document::postTask):
69659        (WebCore::Document::pendingTasksTimerFired):
69660        (WebCore::Document::willDeferLoading):
69661        (WebCore::Document::didResumeLoading):
69662        * dom/Document.h:
69663        * manual-tests/database-callback-deferred.html: Added.
69664        * page/PageGroupLoadDeferrer.cpp:
69665        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
69666        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
69667
696682011-03-07  Antti Koivisto  <antti@apple.com>
69669
69670        Reviewed by Sam Weinig.
69671
69672        Use HashMaps for caching primitive values
69673        https://bugs.webkit.org/show_bug.cgi?id=55873
69674        
69675        Most documents use only small subset of cacheable primitive values. By replacing
69676        fixed size cache arrays with HashMaps we can reduce the constant memory usage while also
69677        expanding the range of cacheable values.
69678
69679        * css/CSSPrimitiveValueCache.cpp:
69680        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
69681        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
69682        (WebCore::CSSPrimitiveValueCache::createColorValue):
69683        (WebCore::CSSPrimitiveValueCache::createValue):
69684        * css/CSSPrimitiveValueCache.h:
69685
696862011-03-07  Steve Block  <steveblock@google.com>
69687
69688        Reviewed by Jeremy Orlow.
69689
69690        Split JNIBridgeJSC.cpp/h into JavaArrayJSC.cpp/h and JavaFieldJSC.cpp/h
69691        https://bugs.webkit.org/show_bug.cgi?id=55881
69692
69693        No new tests, refactoring only.
69694
69695        * Android.jscbindings.mk:
69696        * GNUmakefile.am:
69697        * WebCore.xcodeproj/project.pbxproj:
69698        * bridge/jni/jsc/JNIBridgeJSC.cpp: Removed.
69699        * bridge/jni/jsc/JNIBridgeJSC.h: Removed.
69700        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
69701        * bridge/jni/jsc/JavaClassJSC.cpp:
69702        * bridge/jni/jsc/JavaClassJSC.h:
69703        * bridge/jni/jsc/JavaInstanceJSC.cpp:
69704
697052011-03-07  Sam Weinig  <sam@webkit.org>
69706
69707        Reviewed by Anders Carlsson.
69708
69709        Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
69710        https://bugs.webkit.org/show_bug.cgi?id=55827
69711
69712        * loader/EmptyClients.h:
69713        (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse):
69714        * loader/FrameLoaderClient.h:
69715        * loader/MainResourceLoader.cpp:
69716        (WebCore::MainResourceLoader::didReceiveResponse):
69717        * loader/PolicyChecker.cpp:
69718        (WebCore::PolicyChecker::checkContentPolicy):
69719        * loader/PolicyChecker.h:
69720        Rename FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
69721        and pass the entire response, instead of just the MIMEType.
69722
697232011-03-07  Eric Carlson  <eric.carlson@apple.com>
69724
69725        Reviewed by Darin Adler.
69726
69727        Add API to enumerate/delete files downloaded for <audio> and <video>
69728        https://bugs.webkit.org/show_bug.cgi?id=55267
69729        <rdar://problem/9049280>
69730
69731        No new tests, this is just more plumbing.
69732
69733        * html/HTMLMediaElement.cpp:
69734        (WebCore::HTMLMediaElement::getSitesInMediaCache): Make static, call MediaPlayer static method.
69735        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
69736        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
69737        * html/HTMLMediaElement.h:
69738
69739        * platform/graphics/MediaPlayer.cpp:
69740        (WebCore::MediaPlayerFactory::MediaPlayerFactory): Add new media engine factory functions.
69741        (WebCore::addMediaEngine): Ditto.
69742        (WebCore::MediaPlayer::getSitesInMediaCache): Call static method on all installed media engines.
69743        (WebCore::MediaPlayer::clearMediaCache): Ditto.
69744        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
69745        * platform/graphics/MediaPlayer.h:
69746
69747        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
69748        (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Update for MediaEngineRegistrar change.
69749
69750        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
69751        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Ditto.
69752
69753        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
69754        (WebCore::MediaPlayerPrivatePhonon::registerMediaEngine): Ditto.
69755
69756        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
69757        (WebCore::MediaPlayerPrivateQt::registerMediaEngine): Ditto.
69758
69759        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
69760        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): Ditto.
69761
69762        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
69763        (WebCore::MediaPlayerPrivate::registerMediaEngine): Ditto.
69764
697652011-03-07  Steve Block  <steveblock@google.com>
69766
69767        Reviewed by Jeremy Orlow.
69768
69769        Split JNIBridge.cpp/h into JavaString.h and JavaMethod.cpp/h
69770        https://bugs.webkit.org/show_bug.cgi?id=55774
69771
69772        No new tests, refactoring only.
69773
69774        * Android.jscbindings.mk:
69775        * Android.v8bindings.mk:
69776        * GNUmakefile.am:
69777        * WebCore.gypi:
69778        * WebCore.xcodeproj/project.pbxproj:
69779        * bridge/jni/JavaMethod.cpp:
69780        (JavaMethod::JavaMethod):
69781        (JavaMethod::~JavaMethod):
69782        (appendClassName):
69783        (JavaMethod::signature):
69784        (JavaMethod::JNIReturnType):
69785        (JavaMethod::methodID):
69786        * bridge/jni/JavaMethod.h:
69787        (JSC::Bindings::JavaMethod::name):
69788        (JSC::Bindings::JavaMethod::returnType):
69789        (JSC::Bindings::JavaMethod::parameterAt):
69790        (JSC::Bindings::JavaMethod::numParameters):
69791        (JSC::Bindings::JavaMethod::isStatic):
69792        * bridge/jni/JavaString.h:
69793        (JSC::Bindings::JavaString::JavaString):
69794        (JSC::Bindings::JavaString::utf8):
69795        (JSC::Bindings::JavaString::length):
69796        (JSC::Bindings::JavaString::impl):
69797        * bridge/jni/jni_jsobject.mm:
69798        * bridge/jni/jsc/JNIBridgeJSC.h:
69799        * bridge/jni/v8/JNIBridgeV8.h:
69800        * bridge/jni/v8/JavaClassV8.cpp:
69801        * bridge/jni/v8/JavaClassV8.h:
69802        * bridge/jni/v8/JavaInstanceV8.cpp:
69803
698042011-03-07  Jeremy Orlow  <jorlow@chromium.org>
69805
69806        Reviewed by Steve Block.
69807
69808        Add source to IDBCursor, objectStore to IDBIndex, and remove storeName
69809        https://bugs.webkit.org/show_bug.cgi?id=55812
69810
69811        This brings us in line with what's in the spec:
69812        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
69813
69814        * storage/IDBCursor.cpp:
69815        (WebCore::IDBCursor::create):
69816        (WebCore::IDBCursor::IDBCursor):
69817        (WebCore::IDBCursor::source):
69818        * storage/IDBCursor.h:
69819        * storage/IDBCursor.idl:
69820        * storage/IDBCursorWithValue.cpp:
69821        (WebCore::IDBCursorWithValue::create):
69822        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
69823        * storage/IDBCursorWithValue.h:
69824        * storage/IDBIndex.cpp:
69825        (WebCore::IDBIndex::IDBIndex):
69826        * storage/IDBIndex.h:
69827        (WebCore::IDBIndex::create):
69828        (WebCore::IDBIndex::objectStore):
69829        * storage/IDBIndex.idl:
69830        * storage/IDBObjectStore.cpp:
69831        (WebCore::IDBObjectStore::createIndex):
69832        (WebCore::IDBObjectStore::index):
69833        * storage/IDBRequest.cpp:
69834        (WebCore::IDBRequest::onSuccess):
69835
698362011-03-07  Chris Fleizach  <cfleizach@apple.com>
69837
69838        Reviewed by Beth Dakin.
69839
69840        AX: kAXCellForColumnAndRowParameterizedAttribute doesn't work ARIA grids with colspans
69841        https://bugs.webkit.org/show_bug.cgi?id=55735
69842
69843        The ARIA grid implementation needed to verify the row/column range of a cell instead of 
69844        assuming a 1-1 mapping between children and row/column.
69845
69846        Test: platform/mac/accessibility/aria-table-with-colspan-cells.html
69847
69848        * accessibility/AccessibilityARIAGrid.cpp:
69849        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
69850
698512011-03-07  Andrei Popescu  <andreip@google.com>
69852
69853        Reviewed by Steve Block.
69854
69855        IDBRequest::onSuccess(IDBObjectStore*) should be removed as it is unused.
69856        IDBObjectStore objects used to be created asynchronously, so we needed
69857        this method to be invoked, with the new object store as the parameter,
69858        whenever the creation succeeded. The spec has changed so that IDBObjectStore
69859        objects are created synchronously, so this method is no longer needed.
69860        https://bugs.webkit.org/show_bug.cgi?id=55777
69861
69862        No new tests, just refactoring.
69863
69864        * storage/IDBCallbacks.h:
69865        * storage/IDBRequest.cpp:
69866        * storage/IDBRequest.h:
69867
698682011-03-04  Steve Block  <steveblock@google.com>
69869
69870        Reviewed by Jeremy Orlow.
69871
69872        JavaParameter should be removed
69873        https://bugs.webkit.org/show_bug.cgi?id=55772
69874
69875        No new tests, refactoring only.
69876
69877        * bridge/jni/JNIBridge.cpp:
69878        (JavaMethod::JavaMethod):
69879        (JavaMethod::~JavaMethod):
69880        (JavaMethod::signature):
69881        * bridge/jni/JNIBridge.h:
69882        (JSC::Bindings::JavaMethod::parameterAt):
69883        (JSC::Bindings::JavaMethod::numParameters):
69884        * bridge/jni/JNIUtility.h:
69885        * bridge/jni/jsc/JavaInstanceJSC.cpp:
69886        (JavaInstance::invokeMethod):
69887        * bridge/jni/v8/JNIUtilityPrivate.cpp:
69888        (JSC::Bindings::convertNPVariantToJValue):
69889        * bridge/jni/v8/JNIUtilityPrivate.h:
69890        * bridge/jni/v8/JavaInstanceV8.cpp:
69891        (JavaInstance::invokeMethod):
69892
698932011-03-07  Antti Koivisto  <antti@apple.com>
69894
69895        Reviewed by Oliver Hunt.
69896
69897        REGRESSION (r79574): fast/dom/global-constructors.html failing on Windows 7 Release (Tests) bots 
69898        https://bugs.webkit.org/show_bug.cgi?id=55166
69899        <rdar://problem/9050430>
69900        
69901        Make CSS primitive value cache per-document.
69902        
69903        Test: http/tests/security/cross-origin-css-primitive.html
69904
69905        * Android.mk:
69906        * CMakeLists.txt:
69907        * GNUmakefile.am:
69908        * WebCore.gypi:
69909        * WebCore.pro:
69910        * WebCore.vcproj/WebCore.vcproj:
69911        * WebCore.xcodeproj/project.pbxproj:
69912        * css/CSSComputedStyleDeclaration.cpp:
69913        (WebCore::valueForNinePieceImage):
69914        (WebCore::zoomAdjustedPixelValue):
69915        (WebCore::zoomAdjustedNumberValue):
69916        (WebCore::zoomAdjustedPixelValueForLength):
69917        (WebCore::valueForReflection):
69918        (WebCore::getPositionOffsetValue):
69919        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
69920        (WebCore::getBorderRadiusCornerValue):
69921        (WebCore::computedTransform):
69922        (WebCore::getDelayValue):
69923        (WebCore::getDurationValue):
69924        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
69925        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
69926        (WebCore::valueForFamily):
69927        (WebCore::renderTextDecorationFlagsToCSSValue):
69928        (WebCore::fillRepeatToCSSValue):
69929        (WebCore::fillSizeToCSSValue):
69930        (WebCore::contentToCSSValue):
69931        (WebCore::counterToCSSValue):
69932        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
69933        * css/CSSParser.cpp:
69934        (WebCore::CSSParser::parseSheet):
69935        (WebCore::CSSParser::parseRule):
69936        (WebCore::CSSParser::parseKeyframeRule):
69937        (WebCore::CSSParser::parseValue):
69938        (WebCore::CSSParser::parseColor):
69939        (WebCore::CSSParser::parseSelector):
69940        (WebCore::CSSParser::parseDeclaration):
69941        (WebCore::CSSParser::setStyleSheet):
69942        (WebCore::CSSParser::parseWCSSInputProperty):
69943        (WebCore::parseBackgroundClip):
69944        (WebCore::CSSParser::parseFillShorthand):
69945        (WebCore::CSSParser::parsePage):
69946        (WebCore::CSSParser::parseSizeParameter):
69947        (WebCore::CSSParser::parseContent):
69948        (WebCore::CSSParser::parseAttr):
69949        (WebCore::CSSParser::parseBackgroundColor):
69950        (WebCore::CSSParser::parseFillPositionXY):
69951        (WebCore::CSSParser::parseFillPosition):
69952        (WebCore::CSSParser::parseFillRepeat):
69953        (WebCore::CSSParser::parseFillSize):
69954        (WebCore::CSSParser::parseFillProperty):
69955        (WebCore::CSSParser::parseAnimationDelay):
69956        (WebCore::CSSParser::parseAnimationDirection):
69957        (WebCore::CSSParser::parseAnimationDuration):
69958        (WebCore::CSSParser::parseAnimationFillMode):
69959        (WebCore::CSSParser::parseAnimationIterationCount):
69960        (WebCore::CSSParser::parseAnimationName):
69961        (WebCore::CSSParser::parseAnimationPlayState):
69962        (WebCore::CSSParser::parseAnimationProperty):
69963        (WebCore::CSSParser::parseTransformOriginShorthand):
69964        (WebCore::CSSParser::parseAnimationTimingFunction):
69965        (WebCore::CSSParser::parseDashboardRegions):
69966        (WebCore::CSSParser::parseCounterContent):
69967        (WebCore::CSSParser::parseShape):
69968        (WebCore::CSSParser::parseFont):
69969        (WebCore::CSSParser::parseFontFamily):
69970        (WebCore::CSSParser::parseFontStyle):
69971        (WebCore::CSSParser::parseFontVariant):
69972        (WebCore::CSSParser::parseFontWeight):
69973        (WebCore::ShadowParseContext::ShadowParseContext):
69974        (WebCore::ShadowParseContext::commitLength):
69975        (WebCore::ShadowParseContext::commitStyle):
69976        (WebCore::CSSParser::parseShadow):
69977        (WebCore::CSSParser::parseReflect):
69978        (WebCore::BorderImageParseContext::BorderImageParseContext):
69979        (WebCore::BorderImageParseContext::commitNumber):
69980        (WebCore::BorderImageParseContext::commitBorderImage):
69981        (WebCore::CSSParser::parseBorderImage):
69982        (WebCore::CSSParser::parseBorderRadius):
69983        (WebCore::CSSParser::parseCounter):
69984        (WebCore::parseDeprecatedGradientPoint):
69985        (WebCore::parseDeprecatedGradientColorStop):
69986        (WebCore::CSSParser::parseDeprecatedGradient):
69987        (WebCore::valueFromSideKeyword):
69988        (WebCore::parseGradientColorOrKeyword):
69989        (WebCore::CSSParser::parseLinearGradient):
69990        (WebCore::CSSParser::parseRadialGradient):
69991        (WebCore::CSSParser::parseGradientColorStops):
69992        (WebCore::CSSParser::parseTransform):
69993        (WebCore::CSSParser::parseTransformOrigin):
69994        (WebCore::CSSParser::parseTextEmphasisStyle):
69995        * css/CSSParser.h:
69996        (WebCore::CSSParser::primitiveValueCache):
69997        * css/CSSPrimitiveValue.cpp:
69998        * css/CSSPrimitiveValue.h:
69999        (WebCore::CSSPrimitiveValue::createIdentifier):
70000        (WebCore::CSSPrimitiveValue::createColor):
70001        (WebCore::CSSPrimitiveValue::create):
70002        * css/CSSPrimitiveValueCache.cpp: Added.
70003        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
70004        (WebCore::CSSPrimitiveValueCache::~CSSPrimitiveValueCache):
70005        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
70006        (WebCore::CSSPrimitiveValueCache::createColorValue):
70007        (WebCore::CSSPrimitiveValueCache::createValue):
70008        * css/CSSPrimitiveValueCache.h: Added.
70009        (WebCore::CSSPrimitiveValueCache::create):
70010        (WebCore::CSSPrimitiveValueCache::createValue):
70011        * dom/Document.cpp:
70012        (WebCore::Document::cssPrimitiveValueCache):
70013        * dom/Document.h:
70014
700152011-03-06  Adam Barth  <abarth@webkit.org>
70016
70017        Reviewed by Eric Seidel.
70018
70019        Filter sources in WebCore GYP build for Mac
70020        https://bugs.webkit.org/show_bug.cgi?id=55857
70021
70022        This patch removes a large number of files that do not build as part of
70023        the Mac build.  I'm not fully sold on this method of
70024        including/excluding files, but it's the "gyp way" so we should probably
70025        try it first.
70026
70027        This patch also sets xcode_list_excluded_files to 0, which removes the
70028        excluded files from the Xcode project file, which is necessary in order
70029        to prevent the header map feature from including the wrong header file.
70030
70031        * gyp/WebCore.gyp:
70032
700332011-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
70034
70035        Unreviewed EFL build fix.
70036
70037        [EFL] Build break on Debug build.
70038        https://bugs.webkit.org/show_bug.cgi?id=55858
70039
70040        * platform/efl/RenderThemeEfl.cpp:
70041        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
70042
700432011-03-06  Adam Barth  <abarth@webkit.org>
70044
70045        Reviewed by Eric Seidel.
70046
70047        Add webcore_derived_source_files to WebCore.gypi
70048        https://bugs.webkit.org/show_bug.cgi?id=55856
70049
70050        This is the list of files generated by the Mac port.  It's possible
70051        other ports generate a different list of files.
70052
70053        * WebCore.gypi:
70054        * gyp/WebCore.gyp:
70055
700562011-03-06  Naoki Takano  <takano.naoki@gmail.com>
70057
70058        Reviewed by Kent Tamura.
70059
70060        Input type=number spin buttons remain invisible but functional after div changed from hidden to visible.
70061        https://bugs.webkit.org/show_bug.cgi?id=55839
70062        http://crbug.com/73866
70063        http://crbug.com/62527
70064
70065        We also need style change for m_innerSpinButton not only for m_outerSpinBuggon when styleDidChange() is called.
70066
70067        Test: fast/forms/input-appearance-spinbutton-visibility.html
70068
70069        * rendering/RenderTextControlSingleLine.cpp:
70070        (WebCore::RenderTextControlSingleLine::styleDidChange):
70071
700722011-03-06  Naoki Takano  <takano.naoki@gmail.com>
70073
70074        Reviewed by Kent Tamura.
70075
70076        [Chromium] Autocomplete suggestion extends out of window (and onto second monitor)
70077        https://bugs.webkit.org/show_bug.cgi?id=54795
70078
70079        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.
70080
70081        Test: manual-tests/popup-width-restriction-within-screen.html
70082
70083        * manual-tests/popup-width-restriction-within-screen.html: Added.
70084        * platform/chromium/PopupMenuChromium.cpp:
70085        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Implement the width clip logic according to screen width.
70086
700872011-03-06  Yuta Kitamura  <yutak@chromium.org>
70088
70089        Reviewed by Kent Tamura.
70090
70091        Add SHA-1 for new WebSocket protocol
70092        https://bugs.webkit.org/show_bug.cgi?id=55039
70093
70094        * ForwardingHeaders/wtf/SHA1.h: Added.
70095
700962011-03-06  Eric Carlson  <eric.carlson@apple.com>
70097
70098        Reviewed by Antti Koivisto.
70099
70100        QuickTime based media engines should respect private browsing mode
70101        https://bugs.webkit.org/show_bug.cgi?id=55848
70102
70103        No new tests, it is only possible to test this by manually deleting and monitoring the
70104        the Quicktime caches.
70105
70106        * html/HTMLMediaElement.cpp:
70107        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Add logging.
70108
70109        * platform/graphics/MediaPlayer.cpp:
70110        (WebCore::MediaPlayer::MediaPlayer): Initialize m_privateBrowsing.
70111        (WebCore::MediaPlayer::loadWithNextMediaEngine): Set privacy mode on new media engine.
70112        (WebCore::MediaPlayer::setPrivateBrowsingMode): Stash setting in m_privateBrowsing.
70113        * platform/graphics/MediaPlayer.h:
70114        * platform/graphics/MediaPlayerPrivate.h:
70115        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):
70116
70117        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
70118        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70119        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_privateBrowsing.
70120        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Pass private browsing attribute when
70121            creating new movie.
70122        (WebCore::MediaPlayerPrivateQTKit::setPrivateBrowsingMode): New, store privacy setting in
70123            m_privateBrowsing and set movie attribute.
70124
70125        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
70126        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
70127            Initialize m_privateBrowsing.
70128        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode): New, store 
70129            privacy setting in m_privateBrowsing and call QTMovie.
70130        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
70131
70132        * platform/graphics/win/QTMovie.cpp:
70133        (QTMoviePrivate::QTMoviePrivate): Initialize m_privateBrowsing.
70134        (QTMovie::load):Pass private browsing property when creating new movie.
70135        (QTMovie::setPrivateBrowsingMode):  New, store privacy setting in m_privateBrowsing and 
70136            set movie property.
70137        * platform/graphics/win/QTMovie.h:
70138
701392011-03-06  Daniel Bates  <dbates@rim.com>
70140
70141        Reviewed by Darin Adler.
70142
70143        style.borderSpacing always returns empty string
70144        https://bugs.webkit.org/show_bug.cgi?id=54816
70145
70146        Teach CSSMutableStyleDeclaration::getPropertyValue() how to reconstitute
70147        the value for border-spacing from the value of the WebKit internal CSS
70148        property -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
70149
70150        The CSS property border-spacing describes the horizontal and vertical border
70151        spacing for an HTML Table element. Notice, WebKit internally represents the value
70152        of this property as two properties: -webkit-border-horizontal-spacing and
70153        -webkit-border-vertical-spacing, for the horizontal and vertical border spacing,
70154        respectively. And WebKit doesn't know to reconstitute these internal properties.
70155        Therefore style.borderSpacing always returns the empty string.
70156
70157        Test: fast/css/table-border-spacing.html
70158
70159        * css/CSSMutableStyleDeclaration.cpp:
70160        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
70161        (WebCore::CSSMutableStyleDeclaration::borderSpacingValue): Added.
70162        * css/CSSMutableStyleDeclaration.h:
70163
701642011-03-06  Dan Bernstein  <mitz@apple.com>
70165
70166        Reviewed by Oliver Hunt.
70167
70168        <rdar://problem/9093327> Implement -hyphenate-limit-{before,after}
70169        https://bugs.webkit.org/show_bug.cgi?id=55850
70170
70171        Tests: fast/css/parsing-hyphenate-limit.html
70172               fast/text/hyphenate-limit-before-after.html
70173
70174        * css/CSSComputedStyleDeclaration.cpp:
70175        (WebCore::computedProperties) Updated this array with the new properties and some old properties
70176        that it was missing.
70177        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
70178        CSSPropertyWebkitHyphenateLimit{Before,After}.
70179
70180        * css/CSSParser.cpp:
70181        (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-limit-{before,after}, allowing
70182        'auto' and non-negative integers.
70183
70184        * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-{before,after}.
70185
70186        * css/CSSStyleSelector.cpp:
70187        (WebCore::CSSStyleSelector::applyProperty): Handle CSSPropertyWebkitHyphenateLimit{Before,After}.
70188
70189        * rendering/RenderBlockLineLayout.cpp:
70190        (WebCore::tryHyphenating): Added minimum prefix and suffix length parameters and checks to only
70191        allow hyphenation if the prefix and the suffix are sufficiently long.
70192        (WebCore::RenderBlock::findNextLineBreak): Pass the limits to tryHyphenating().
70193
70194        * rendering/style/RenderStyle.cpp:
70195        (WebCore::RenderStyle::diff): A difference in hyphenation limits is a layout difference.
70196
70197        * rendering/style/RenderStyle.h:
70198        (WebCore::InheritedFlags::hyphenationLimitBefore): Added.
70199        (WebCore::InheritedFlags::hyphenationLimitAfter): Added.
70200        (WebCore::InheritedFlags::setHyphenationLimitBefore): Added.
70201        (WebCore::InheritedFlags::setHyphenationLimitAfter): Added.
70202        (WebCore::InheritedFlags::initialHyphenationLimitBefore): Added. Returns -1, which is the
70203        representation of 'auto'.
70204        (WebCore::InheritedFlags::initialHyphenationLimitAfter): Ditto.
70205
70206        * rendering/style/StyleRareInheritedData.cpp:
70207        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize hyphenation limits.
70208        (WebCore::StyleRareInheritedData::operator==): Compare hyphenation limits.
70209        * rendering/style/StyleRareInheritedData.h:
70210
702112011-03-06  Jessie Berlin  <jberlin@apple.com>
70212
70213        Reviewed by Sam Weinig.
70214
70215        WebKit2: Use CFNetwork Sessions API.
70216        https://bugs.webkit.org/show_bug.cgi?id=55435.
70217
70218        When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
70219        Private Browsing Storage Session.
70220
70221        * WebCore.exp.in:
70222        Add the new WKSI functions.
70223        * platform/mac/WebCoreSystemInterface.h:
70224        Ditto.
70225        * platform/mac/WebCoreSystemInterface.mm:
70226        Ditto.
70227
70228        * platform/mac/CookieJar.mm:
70229        (WebCore::cookies):
70230        If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI.
70231        Otherwise, behave the same as before.
70232        (WebCore::cookieRequestHeaderFieldValue):
70233        Ditto.
70234        (WebCore::setCookies):
70235        Ditto.
70236        (WebCore::cookiesEnabled):
70237        Ditto
70238        (WebCore::getRawCookies):
70239        Ditto.
70240        (WebCore::deleteCookie):
70241        Ditto.
70242
70243        * platform/network/CookieStorage.h:
70244        * platform/network/cf/CookieStorageCFNet.cpp:
70245        (WebCore::privateBrowsingCookieStorage):
70246        Keep track of the Private Browsing Cookie Storage in a locally defined static inside a
70247        function instead of at the global scope.
70248        (WebCore::currentCookieStorage):
70249        Use privateBrowsingCookieStorage.
70250        (WebCore::setCurrentCookieStorage):
70251        Ditto.
70252        (WebCore::setCookieStoragePrivateBrowsingEnabled):
70253        If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to
70254        wkCreatePrivateInMemoryHTTPCookieStorage.
70255        * platform/network/mac/CookieStorageMac.mm:
70256        (WebCore::privateBrowsingCookieStorage):
70257        Keep track of the Private Browsing Cookie Storage.
70258        (WebCore::setCookieStoragePrivateBrowsingEnabled):
70259        If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage().
70260        Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined.
70261
70262        * platform/network/mac/ResourceHandleMac.mm:
70263        (WebCore::shouldRelaxThirdPartyCookiePolicy):
70264        Refactor the logic to determine whether or not to relax the third party cookie policy here.
70265        If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage.
70266        (WebCore::ResourceHandle::createNSURLConnection):
70267        Use shouldRelaxThirdPartyCookiePolicy.
70268        (WebCore::ResourceHandle::loadResourceSynchronously):
70269        Ditto.
70270
702712011-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
70272
70273        Unreviewed, rolling out r80428.
70274        http://trac.webkit.org/changeset/80428
70275        https://bugs.webkit.org/show_bug.cgi?id=55833
70276
70277        Broke SnowLeopard (Requested by xan_ on #webkit).
70278
70279        * plugins/gtk/PluginViewGtk.cpp:
70280        (WebCore::PluginView::handlePostReadFile):
70281
702822011-03-01  Martin Robinson  <mrobinson@igalia.com>
70283
70284        Reviewed by Xan Lopez.
70285
70286        [GTK] Windowless plugins override the view cursor
70287        https://bugs.webkit.org/show_bug.cgi?id=55531
70288
70289        manual test: manual-tests/plugins/windowless.html
70290
70291        * platform/gtk/WidgetGtk.cpp:
70292        (WebCore::Widget::setCursor): Call into the ChromeClient implementation now.
70293        * plugins/gtk/PluginViewGtk.cpp:
70294        (WebCore::PluginView::initXEvent): Instead of setting the window for windowless
70295        plugin events, set the window value to none. This method is also used to send
70296        focus in / focus out events to windowed plugins, but this is not one of the plugin
70297        types where the window parameter matters. This matches what Mozilla does. Also
70298        pass in the display of the widget itself, not the default display.
70299        (WebCore::PluginView::handleMouseEvent): When the cursor leaves the plugin area,
70300        reset the cursor.
70301        (WebCore::PluginView::platformGetValue): Clean up this section slightly. Give the
70302        widget the top-level window explicitly. This matches Mozilla.
70303
703042011-03-05  Martin Robinson  <mrobinson@igalia.com>
70305
70306        Reviewed by Xan Lopez.
70307
70308        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
70309        https://bugs.webkit.org/show_bug.cgi?id=55826
70310
70311        Correct the implementation of handlePostReadFile which uses GIO APIs and
70312        actually resizes the buffer to fit the entire size of the file data. This
70313        was likely leading to memory corruption until now.
70314
70315        * plugins/gtk/PluginViewGtk.cpp:
70316        (WebCore::PluginView::handlePostReadFile): Fix this method.
70317
703182011-03-05  Mikhail Naganov  <mnaganov@chromium.org>
70319
70320        Reviewed by Pavel Feldman.
70321
70322        Web Inspector: [Chromium] Allow dynamic enabling of detailed heap profiles.
70323        https://bugs.webkit.org/show_bug.cgi?id=55824
70324
70325        Detailed heap profiles can be now enabled by typing "leakz" in Profiles tab.
70326
70327        * inspector/front-end/DetailedHeapshotView.js:
70328        (WebInspector.DetailedHeapshotView.prototype.isDetailedSnapshot):
70329        * inspector/front-end/ProfilesPanel.js:
70330        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
70331        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
70332        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
70333        (WebInspector.ProfilesPanel.prototype.handleShortcut):
70334        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint.hideHint):
70335        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint):
70336        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
70337        (WebInspector.ProfilesPanel.prototype._recognizeKeyboardCombo):
70338
703392011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>
70340
70341        Reviewed by Laszlo Gombos.
70342
70343        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
70344        https://bugs.webkit.org/show_bug.cgi?id=48636
70345
70346        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.
70347
70348        * WebCore.pri:
70349        * features.pri:
70350
703512011-03-05  Pavel Feldman  <pfeldman@chromium.org>
70352
70353        Not reviewed: adding null check to prevent inspector tests from failing.
70354
70355        * inspector/front-end/TextViewer.js:
70356        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
70357        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
70358
703592011-03-05  Pavel Feldman  <pfeldman@chromium.org>
70360
70361        Not reviewed: chromium rebaseline, flaky test fix.
70362
70363        * inspector/front-end/BreakpointManager.js:
70364        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
70365        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
70366        (WebInspector.DOMBreakpointView.prototype._format.formatters.s):
70367        (WebInspector.DOMBreakpointView.prototype._format.append):
70368        (WebInspector.DOMBreakpointView.prototype._format):
70369
703702011-03-04  Pavel Podivilov  <podivilov@chromium.org>
70371
70372        Reviewed by Yury Semikhatsky.
70373
70374        Web Inspector: [chromium] pause when script is running is broken.
70375        https://bugs.webkit.org/show_bug.cgi?id=55762
70376
70377        * inspector/CodeGeneratorInspector.pm:
70378
703792011-03-05  Adam Barth  <abarth@webkit.org>
70380
70381        Reviewed by Dimitri Glazkov.
70382
70383        Add Derived Sources to WebCore GYP build
70384        https://bugs.webkit.org/show_bug.cgi?id=55813
70385
70386        Adding the derived source action to the GYP file required tweaking
70387        DerivedSources.make.  I'm not sure how DerivedSources.make worked
70388        before beause these paths were incorrectly based.
70389
70390        * DerivedSources.make:
70391        * gyp/generate-derived-sources.sh: Added.
70392        * gyp/WebCore.gyp:
70393
703942011-03-04  Pavel Feldman  <pfeldman@chromium.org>
70395
70396        Reviewed by Yury Semikhatsky.
70397
70398        Web Inspector: fix layout tests flakiness.
70399        https://bugs.webkit.org/show_bug.cgi?id=55816
70400
70401        - Order of issuing of evaluateForTestInFrontend was not guaranteed on the backend side (InspectorAgent side)
70402        - Order of dispatching using timeouts was guaranteed via queueing. Source of all kinds of pains on SnowLeopard Release (inspector.js)
70403
70404        * inspector/CodeGeneratorInspector.pm:
70405        * inspector/InspectorAgent.cpp:
70406        (WebCore::InspectorAgent::InspectorAgent):
70407        (WebCore::InspectorAgent::disconnectFrontend):
70408        (WebCore::InspectorAgent::populateScriptObjects):
70409        (WebCore::InspectorAgent::evaluateForTestInFrontend):
70410        (WebCore::InspectorAgent::issueEvaluateForTestCommands):
70411        * inspector/InspectorAgent.h:
70412        * inspector/front-end/TimelinePanel.js:
70413        (WebInspector.TimelinePanel.FormattedRecord):
70414        * inspector/front-end/inspector.js:
70415        (WebInspector.dispatch):
70416
704172011-03-05  Adam Barth  <abarth@webkit.org>
70418
70419        Reviewed by Dimitri Glazkov.
70420
70421        WebCore GYP build should generate fewer than 10,000 compile errors per file
70422        https://bugs.webkit.org/show_bug.cgi?id=55810
70423
70424        This patch adds some missing include paths.  We need to figure out how
70425        to handle separate include paths per port.  It's clear that
70426        ForwardingHeaders are only useful for Mac, but it's less clear how to
70427        handle the others.
70428
70429        * WebCore.gypi:
70430        * gyp/WebCore.gyp:
70431
704322011-03-05  Dan Bernstein  <mitz@apple.com>
70433
70434        Reviewed by Cameron Zwarich.
70435
70436        <rdar://problem/9082946> Make the Core Text code path in GlyphPage::fill() more robust
70437        https://bugs.webkit.org/show_bug.cgi?id=55817
70438
70439        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
70440        (WebCore::GlyphPage::fill): When determining if a CTRun uses the primary font, compare against
70441        a CGFont obtained from Core Text for the primary font. This CGFont may be different from
70442        the CGFont stored in the FontPlatformData.
70443
704442011-03-05  Ilya Sherman  <isherman@chromium.org>
70445
70446        Reviewed by Darin Adler.
70447
70448        HTMLInputElement::setValue() should schedule change event when the element is focused.
70449        Refactored tracking of "changed since last change event" state from renderer to DOM.In service of https://code.google.com/p/chromium/issues
70450        In service of https://code.google.com/p/chromium/issues/detail?id=42716
70451        https://bugs.webkit.org/show_bug.cgi?id=53160
70452
70453        Test: fast/forms/onchange-change-type.html
70454        Test: fast/forms/onchange-setvalueforuser.html
70455
70456        * WebCore.exp.in:
70457        * dom/Document.cpp:
70458        (WebCore::Document::setFocusedNode):
70459        * dom/Element.h:
70460        (WebCore::Element::wasChangedSinceLastFormControlChangeEvent): Added.
70461        (WebCore::Element::setChangedSinceLastFormControlChangeEvent): Added.
70462        * html/HTMLFormControlElement.cpp:
70463        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
70464        (WebCore::HTMLFormControlElement::wasChangedSinceLastFormControlChangeEvent): Added.
70465        (WebCore::HTMLFormControlElement::setChangedSinceLastFormControlChangeEvent): Added.
70466        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Also clear the "changed since last change event" flag.
70467        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Also set the "changed since last change event" flag.
70468        * html/HTMLFormControlElement.h:
70469        * html/HTMLInputElement.cpp:
70470        (WebCore::HTMLInputElement::updateType): Also clear the "changed since last change event" flag.
70471        (WebCore::HTMLInputElement::setValue):
70472            For a focused text field, dispatch an input event, but delay the change event until the field loses focus.
70473        (WebCore::HTMLInputElement::defaultEventHandler):
70474        (WebCore::HTMLInputElement::stepUpFromRenderer):
70475        * html/shadow/TextControlInnerElements.cpp:
70476        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
70477        * rendering/RenderTextControl.cpp:
70478        (WebCore::RenderTextControl::RenderTextControl):
70479        (WebCore::RenderTextControl::subtreeHasChanged):
70480        * rendering/RenderTextControl.h:
70481        * rendering/RenderTextControlMultiLine.cpp:
70482        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
70483        * rendering/RenderTextControlSingleLine.cpp:
70484        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
70485        * wml/WMLInputElement.cpp:
70486        (WebCore::WMLInputElement::WMLInputElement):
70487        (WebCore::WMLInputElement::defaultEventHandler):
70488        * wml/WMLInputElement.h:
70489        (WebCore::WMLInputElement::wasChangedSinceLastFormControlChangeEvent): Added.
70490        (WebCore::WMLInputElement::setChangedSinceLastFormControlChangeEvent): Added.
70491
704922011-03-04  Xianzhu Wang  <wangxianzhu@google.com>
70493
70494        Reviewed by Adam Barth.
70495
70496        Remove fake request loading of SVGImage to avoid MainResourceLoader
70497        leak. The frame->init() already ensures initialization of the
70498        document loader.
70499
70500        https://bugs.webkit.org/show_bug.cgi?id=55017
70501
70502        Test: fast/images/svg-image-leak-loader.html
70503
70504        * svg/graphics/SVGImage.cpp:
70505        (WebCore::SVGImage::dataChanged):
70506
705072011-03-04  Mike Reed  <reed@google.com>
70508
70509        Reviewed by Mihai Parparita.
70510
70511        [Chromium] fast/canvas/canvas-arc-360-winding.html fails on Linux and Windows
70512        https://bugs.webkit.org/show_bug.cgi?id=49477
70513
70514        * platform/graphics/skia/PathSkia.cpp:
70515        (WebCore::Path::addArc):
70516
705172011-03-04  Jia Pu  <jpu@apple.com>
70518
70519        Reviewed by Darin Adler.
70520
70521        On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
70522        https://bugs.webkit.org/show_bug.cgi?id=55717
70523        <rdar://problem/9018127>
70524
70525        manual-test: manual-tests/platforms/mac/autocorrection/autocorrection-in-iframe.html
70526
70527        Previously, the bounding box passed into EditorClient::showCorrectionPanel() is in the frame's
70528        coordinate. This is incorrect when the correction occurs in an iframe. This patch added code
70529        to convert the bounding box to window coordinate using ScrollView::contentToWindow().
70530
70531        * dom/Range.cpp:
70532        (WebCore::Range::getBoundingClientRect):
70533        (WebCore::Range::boundingRect):
70534        * dom/Range.h:
70535        * editing/Editor.cpp:
70536        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
70537        (WebCore::Editor::correctionPanelTimerFired):
70538        (WebCore::Editor::windowRectForRange):
70539        * editing/Editor.h:
70540        * manual-tests/autocorrection/autocorrection-in-iframe.html: Added.
70541        * manual-tests/autocorrection/document-for-iframe-test.html: Added.
70542
705432011-03-04  Jia Pu  <jpu@apple.com>
70544
70545        Reviewed by Darin Adler.
70546
70547        Those checking in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited() should be done with VisiblePosition::isNull().
70548        https://bugs.webkit.org/show_bug.cgi?id=55731
70549
70550        No new tests. There's no behavioral change.
70551
70552        This patch improved clarity and readability of Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited().
70553
70554        * editing/Editor.cpp:
70555        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
70556
705572011-03-04  John Bauman  <jbauman@chromium.org>
70558
70559        Reviewed by Kenneth Russell.
70560
70561        [chromium] premultipliedAlpha WebGL context attribute is ignored.
70562        https://bugs.webkit.org/show_bug.cgi?id=55411
70563
70564        Update compositor to set the blending of each layer correctly.
70565
70566        Test: compositing/webgl/webgl-nonpremultiplied-blend.html
70567
70568        * platform/graphics/chromium/CanvasLayerChromium.cpp:
70569        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
70570        (WebCore::CanvasLayerChromium::draw):
70571        * platform/graphics/chromium/CanvasLayerChromium.h:
70572        * platform/graphics/chromium/ContentLayerChromium.cpp:
70573        (WebCore::ContentLayerChromium::draw):
70574        * platform/graphics/chromium/LayerRendererChromium.cpp:
70575        (WebCore::LayerRendererChromium::drawLayers):
70576        * platform/graphics/chromium/WebGLLayerChromium.cpp:
70577        (WebCore::WebGLLayerChromium::setContext):
70578
705792011-03-04  Adam Barth  <abarth@webkit.org>
70580
70581        Reviewed by Eric Seidel.
70582
70583        WebCore GYP build should link with the correct frameworks
70584        https://bugs.webkit.org/show_bug.cgi?id=55804
70585
70586        * gyp/WebCore.gyp:
70587
705882011-03-04  Adam Barth  <abarth@webkit.org>
70589
70590        Reviewed by Eric Seidel.
70591
70592        WebCore GYP build should Check For Inappropriate Files in Framework
70593        https://bugs.webkit.org/show_bug.cgi?id=55806
70594
70595        * gyp/WebCore.gyp:
70596
705972011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>
70598
70599        Reviewed by Adam Barth.
70600
70601        Add skeletal WebCore.gyp
70602        https://bugs.webkit.org/show_bug.cgi?id=55802
70603
70604        This doesn't yet build, but the basic structure is there.
70605
70606        * WebCore.gypi: Added headers and include directories variables.
70607        * gyp/WebCore.gyp: Added.
70608
706092011-03-04  Adam Barth  <abarth@webkit.org>
70610
70611        Reviewed by Dimitri Glazkov.
70612
70613        Remove unneeded round-trips through ../Source in the Chromium GYP build
70614        https://bugs.webkit.org/show_bug.cgi?id=55795
70615
70616        This is just cleanup work, but it was bugging me.
70617
70618        * WebCore.gyp/WebCore.gyp:
70619
706202011-03-04  Mike Reed  <reed@google.com>
70621
70622        Reviewed by James Robinson.
70623
70624        Option to use skia's native text drawing APIs when drawing text
70625        on Windows, rather than from outlines using drawPath(). This will
70626        only have a significant effect when the skia-gpu backend is enabled.
70627        https://bugs.webkit.org/show_bug.cgi?id=55609
70628
70629        No new tests. This is disabled by default. When enabled, it will draw
70630        essentially the same, but with slightly different antialiased edges, due
70631        to differences between the current scanconverter and GDI's font scaler.
70632        When enabled, we will have to recalibrate layouttest image results. 
70633
70634        * platform/graphics/skia/SkiaFontWin.cpp:
70635        (WebCore::skiaDrawText):
70636        (WebCore::setupPaintForFont):
70637        (WebCore::paintSkiaText):
70638
706392011-03-04  Adrienne Walker  <enne@google.com>
70640
70641        Reviewed by James Robinson.
70642
70643        [chromium] Fix texture stride issues on large content and image layers.
70644        https://bugs.webkit.org/show_bug.cgi?id=55679
70645
70646        This was an error caused during the refactoring in r80081.
70647
70648        Tests: LayoutTests/compositing/tiling/huge-layer-img.html
70649
70650        * platform/graphics/chromium/ContentLayerChromium.cpp:
70651        (WebCore::ContentLayerChromium::updateTexture):
70652        * platform/graphics/chromium/ImageLayerChromium.cpp:
70653        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
70654
706552011-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
70656
70657        Unreviewed, rolling out r80379.
70658        http://trac.webkit.org/changeset/80379
70659        https://bugs.webkit.org/show_bug.cgi?id=55799
70660
70661        "Breaks leopard compile (implicit conversion)" (Requested by
70662        tonyg-cr on #webkit).
70663
70664        * css/CSSStyleSelector.cpp:
70665        (WebCore::convertToLength):
70666        (WebCore::CSSStyleSelector::applyProperty):
70667        (WebCore::CSSStyleSelector::createTransformOperations):
70668        * platform/Length.h:
70669        (WebCore::Length::Length):
70670        (WebCore::Length::operator==):
70671        (WebCore::Length::operator!=):
70672        (WebCore::Length::rawValue):
70673        (WebCore::Length::type):
70674        (WebCore::Length::quirk):
70675        (WebCore::Length::setValue):
70676        (WebCore::Length::setRawValue):
70677        (WebCore::Length::calcFloatValue):
70678        (WebCore::Length::isZero):
70679        (WebCore::Length::blend):
70680        * rendering/AutoTableLayout.cpp:
70681        (WebCore::AutoTableLayout::recalcColumn):
70682        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
70683        * rendering/FixedTableLayout.cpp:
70684        (WebCore::FixedTableLayout::calcWidthArray):
70685
706862011-03-04  Jessie Berlin  <jberlin@apple.com>
70687
70688        Reviewed by Darin Adler.
70689
70690        WebKit2: Use CFNetwork Sessions API.
70691        https://bugs.webkit.org/show_bug.cgi?id=55435.
70692
70693        Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
70694        contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
70695
70696        * platform/network/cf/ResourceHandleCFNet.cpp:
70697        (WebCore::makeFinalRequest):
70698        (WebCore::ResourceHandle::willSendRequest):
70699        * platform/network/cf/ResourceRequestCFNet.cpp:
70700        * platform/network/mac/ResourceHandleMac.mm:
70701        (WebCore::ResourceHandle::createNSURLConnection):
70702        (WebCore::ResourceHandle::willSendRequest):
70703        * platform/network/mac/ResourceRequestMac.mm:
70704
707052011-03-04  Yuqiang Xian  <yuqiang.xian@intel.com>
70706
70707        Reviewed by Darin Adler.
70708
70709        improve layout performance by reducing the traversal time of the floating objects
70710        https://bugs.webkit.org/show_bug.cgi?id=55440
70711
70712        We observered large overhead on traversing the floating objects list
70713        in logicalLeftOffsetForLine() and logicalRightOffsetForLine() especially
70714        when the list becomes enormous, for example in the default 30x30 maze test
70715        from http://ie.microsoft.com/testdrive/Performance/MazeSolver/Default.html
70716        there're >3700 floating objects. When placing a new floating object the
70717        entire list (from begin to end) is traversed for multiple times.
70718        There's a low hanging fruit to reduce the chances to do the traversal
70719        which is especially applicable in logicalLeftOffsetForLine and logicalRightOffsetForLine.
70720        As the two routines either cares about FloatLeft objects or FloatRight objects only,
70721        if we know there's no corresponding type floating objects in the list
70722        we can avoid the traversal actually. One thing we could do is to record
70723        the number of FloatLeft objects and the number of FloatRight objects and
70724        add a check before doing the traversal. This can reduce the time by 45%
70725        to resolve the 30x30 Maze measured on N470 Netbook MeeGo using latest
70726        Chromium browser 11 (from 503s to 269s).
70727
70728        No new tests, relying on existing layout tests.
70729
70730        * rendering/RenderBlock.cpp:
70731        (WebCore::RenderBlock::~RenderBlock):
70732        (WebCore::RenderBlock::addOverflowFromFloats):
70733        (WebCore::RenderBlock::repaintOverhangingFloats):
70734        (WebCore::RenderBlock::paintFloats):
70735        (WebCore::RenderBlock::selectionGaps):
70736        (WebCore::RenderBlock::insertFloatingObject):
70737        (WebCore::RenderBlock::removeFloatingObject):
70738        (WebCore::RenderBlock::removeFloatingObjectsBelow):
70739        (WebCore::RenderBlock::positionNewFloats):
70740        (WebCore::RenderBlock::positionNewFloatOnLine):
70741        (WebCore::RenderBlock::logicalLeftOffsetForLine):
70742        (WebCore::RenderBlock::logicalRightOffsetForLine):
70743        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
70744        (WebCore::RenderBlock::lowestFloatLogicalBottom):
70745        (WebCore::RenderBlock::clearFloats):
70746        (WebCore::RenderBlock::addOverhangingFloats):
70747        (WebCore::RenderBlock::addIntrudingFloats):
70748        (WebCore::RenderBlock::containsFloat):
70749        (WebCore::RenderBlock::hitTestFloats):
70750        (WebCore::RenderBlock::adjustForBorderFit):
70751        (WebCore::RenderBlock::FloatingObjects::clear):
70752        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
70753        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
70754        * rendering/RenderBlock.h:
70755        (WebCore::RenderBlock::containsFloats):
70756        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
70757        (WebCore::RenderBlock::FloatingObjects::hasLeftObjects):
70758        (WebCore::RenderBlock::FloatingObjects::hasRightObjects):
70759        (WebCore::RenderBlock::FloatingObjects::set):
70760        * rendering/RenderBlockLineLayout.cpp:
70761        (WebCore::RenderBlock::layoutInlineChildren):
70762        (WebCore::RenderBlock::matchedEndLine):
70763
707642011-03-04  Rik Cabanier  <cabanier@gmail.com>
70765
70766        Reviewed by David Hyatt.
70767
70768        Fix that allows fixed length values to be floating point
70769        https://bugs.webkit.org/show_bug.cgi?id=52699
70770
70771        * WebCore.xcodeproj/project.pbxproj:
70772        * css/CSSStyleSelector.cpp:
70773        (WebCore::convertToLength):
70774        (WebCore::convertToIntLength):
70775        (WebCore::convertToFloatLength):
70776        (WebCore::CSSStyleSelector::applyProperty):
70777        (WebCore::CSSStyleSelector::createTransformOperations):
70778        * platform/Length.h:
70779        (WebCore::Length::Length):
70780        (WebCore::Length::operator==):
70781        (WebCore::Length::operator!=):
70782        (WebCore::Length::rawValue):
70783        (WebCore::Length::type):
70784        (WebCore::Length::quirk):
70785        (WebCore::Length::setValue):
70786        (WebCore::Length::calcFloatValue):
70787        (WebCore::Length::isZero):
70788        (WebCore::Length::blend):
70789        (WebCore::Length::getIntValue):
70790        (WebCore::Length::getFloatValue):
70791        * rendering/AutoTableLayout.cpp:
70792        (WebCore::AutoTableLayout::recalcColumn):
70793        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
70794        * rendering/FixedTableLayout.cpp:
70795        (WebCore::FixedTableLayout::calcWidthArray):
70796
707972011-03-04  Steve Falkenburg  <sfalken@apple.com>
70798
70799        Reviewed by Jon Honeycutt.
70800
70801        Adopt VersionStamper tool for Windows WebKit DLLs
70802        https://bugs.webkit.org/show_bug.cgi?id=55784
70803        
70804        We now use a tool to stamp the version number onto the Apple WebKit DLLs
70805        during the post-build step.
70806
70807        * WebCore.vcproj/QTMovieWin.rc: Removed.
70808        * WebCore.vcproj/QTMovieWin.vcproj:
70809        * WebCore.vcproj/QTMovieWinPostBuild.cmd: Stamp version with VersionStamper.
70810        * WebCore.vcproj/QTMovieWinPreBuild.cmd: Don't run auto-version.sh. We don't use autoversion.h in this project.
70811        * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove unnecessary include paths for resource files.
70812
708132011-03-04  Cosmin Truta  <ctruta@chromium.org>
70814
70815        Reviewed by Adam Barth.
70816
70817        Clarify comment about potential memory leak in SVGImage
70818        https://bugs.webkit.org/show_bug.cgi?id=55362
70819
70820        No functionality change. No new tests.
70821
70822        * svg/graphics/SVGImage.cpp:
70823        (WebCore::SVGImage::dataChanged):
70824
708252011-03-04  Jessie Berlin  <jberlin@apple.com>
70826
70827        Reviewed by Maciej Stachowiak.
70828
70829        WebKit2: Use CFNetwork Sessions API.
70830        https://bugs.webkit.org/show_bug.cgi?id=55435.
70831
70832        When Private Browsing is enabled, get the cached url response from the cache associated with
70833        the Private Browsing Storage Session.
70834
70835        * WebCore.exp.in:
70836        Export the symbol for ResourceHandle::privateBrowsingStorageSession.
70837
708382011-03-04  Steve Block  <steveblock@google.com>
70839
70840        Reviewed by Jeremy Orlow.
70841
70842        JSC and V8 versions of Java bridge should share JobjectWrapper
70843        https://bugs.webkit.org/show_bug.cgi?id=55763
70844
70845        No new tests, refactoring only.
70846
70847        * Android.jscbindings.mk:
70848        * Android.v8bindings.mk:
70849        * WebCore.gypi:
70850        * WebCore.order:
70851        * WebCore.xcodeproj/project.pbxproj:
70852        * bridge/jni/JobjectWrapper.cpp:
70853        (JobjectWrapper::JobjectWrapper):
70854        (JobjectWrapper::~JobjectWrapper):
70855        * bridge/jni/JobjectWrapper.h:
70856        (JSC::Bindings::JobjectWrapper::instance):
70857        (JSC::Bindings::JobjectWrapper::setInstance):
70858        (JSC::Bindings::JobjectWrapper::ref):
70859        (JSC::Bindings::JobjectWrapper::deref):
70860        * bridge/jni/jsc/JNIBridgeJSC.cpp:
70861        (JavaField::JavaField):
70862        (JavaArray::JavaArray):
70863        * bridge/jni/jsc/JNIBridgeJSC.h:
70864        * bridge/jni/jsc/JavaInstanceJSC.cpp:
70865        (JavaInstance::JavaInstance):
70866        * bridge/jni/jsc/JavaInstanceJSC.h:
70867
708682011-03-04  Patrick Gansterer  <paroga@webkit.org>
70869
70870        Reviewed by Nikolas Zimmermann.
70871
70872        Move shared code into SVGStyledTransformableElement::svgAttributeChanged
70873        https://bugs.webkit.org/show_bug.cgi?id=55771
70874
70875        All sub classes of SVGStyledTransformableElement request a relayout
70876        the same way. So move that code into the common base class.
70877
70878        * svg/SVGCircleElement.cpp:
70879        (WebCore::SVGCircleElement::svgAttributeChanged):
70880        * svg/SVGEllipseElement.cpp:
70881        (WebCore::SVGEllipseElement::svgAttributeChanged):
70882        * svg/SVGForeignObjectElement.cpp:
70883        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
70884        * svg/SVGGElement.cpp:
70885        (WebCore::SVGGElement::svgAttributeChanged):
70886        * svg/SVGImageElement.cpp:
70887        (WebCore::SVGImageElement::svgAttributeChanged):
70888        * svg/SVGLineElement.cpp:
70889        (WebCore::SVGLineElement::svgAttributeChanged):
70890        * svg/SVGPathElement.cpp:
70891        (WebCore::SVGPathElement::svgAttributeChanged):
70892        * svg/SVGPolyElement.cpp:
70893        (WebCore::SVGPolyElement::svgAttributeChanged):
70894        * svg/SVGRectElement.cpp:
70895        (WebCore::SVGRectElement::svgAttributeChanged):
70896        * svg/SVGStyledTransformableElement.cpp:
70897        (WebCore::SVGStyledTransformableElement::svgAttributeChanged):
70898        * svg/SVGStyledTransformableElement.h:
70899        * svg/SVGUseElement.cpp:
70900        (WebCore::SVGUseElement::svgAttributeChanged):
70901
709022011-03-03  John Abd-El-Malek  <jam@chromium.org>
70903
70904        Reviewed by Dimitri Glazkov.
70905
70906        [chromium] Get rid of IsContentFiltered flags since they&apos;re not used anymore
70907        https://bugs.webkit.org/show_bug.cgi?id=55748
70908
70909        * platform/network/chromium/ResourceResponse.cpp:
70910        (WebCore::ResourceResponse::doPlatformCopyData):
70911        (WebCore::ResourceResponse::doPlatformAdopt):
70912        * platform/network/chromium/ResourceResponse.h:
70913        (WebCore::ResourceResponse::ResourceResponse):
70914
709152011-03-03  Timothy Hatcher  <timothy@apple.com>
70916
70917        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
70918
70919        Reviewed by Darin Adler.
70920
70921        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
70922
709232011-03-04  Pavel Podivilov  <podivilov@chromium.org>
70924
70925        Reviewed by Yury Semikhatsky.
70926
70927        Web Inspector: extract all code that depends on source mapping from SourceFrame.
70928        https://bugs.webkit.org/show_bug.cgi?id=55464
70929
70930        Extract all dependencies on DebuggerModel and ScriptsPanel to a delegate class
70931        to encapsulate source mapping aspects from SourceFrame.
70932
70933        * inspector/front-end/ResourceView.js:
70934        (WebInspector.ResourceView.createResourceView):
70935        (WebInspector.SourceFrameDelegateForResourcesPanel):
70936        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
70937        * inspector/front-end/ScriptsPanel.js:
70938        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
70939        (WebInspector.SourceFrameDelegateForScriptsPanel):
70940        * inspector/front-end/SourceFrame.js:
70941        (WebInspector.SourceFrame):
70942        (WebInspector.SourceFrame.prototype.show):
70943        (WebInspector.SourceFrame.prototype._createTextViewer):
70944        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
70945        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
70946        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
70947        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
70948        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
70949        (WebInspector.SourceFrame.prototype._contextMenu):
70950        (WebInspector.SourceFrame.prototype._mouseDown):
70951        (WebInspector.SourceFrame.prototype._mouseMove):
70952        (WebInspector.SourceFrame.prototype._hidePopup):
70953        (WebInspector.SourceFrame.prototype._mouseHover):
70954        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
70955        (WebInspector.SourceFrame.prototype._showPopup):
70956        (WebInspector.SourceFrame.prototype._doubleClick):
70957        (WebInspector.SourceFrame.prototype._didEditLine):
70958        (WebInspector.SourceFrameDelegate):
70959        (WebInspector.SourceFrameDelegate.prototype.requestContent):
70960        (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
70961        (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
70962        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
70963        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
70964        (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
70965        (WebInspector.SourceFrameDelegate.prototype.continueToLine):
70966        (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
70967        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
70968        (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
70969        (WebInspector.SourceFrameDelegate.prototype.evaluate):
70970        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
70971
709722011-03-04  Andrey Kosyakov  <caseq@chromium.org>
70973
70974        Reviewed by Pavel Feldman.
70975
70976        Web Inspector: [Extensions API] maintain own, unique & persistent identifiers for resources.
70977        https://bugs.webkit.org/show_bug.cgi?id=55686
70978
70979        - Use internal ids for resources in extension server.
70980        - Log errors in inspector tests.
70981
70982        * inspector/front-end/ExtensionServer.js:
70983        (WebInspector.ExtensionServer):
70984        (WebInspector.ExtensionServer.prototype.resetResources):
70985        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
70986        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
70987        (WebInspector.ExtensionServer.prototype._onGetHAR):
70988        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
70989        (WebInspector.ExtensionServer.prototype._resourceId):
70990        (WebInspector.ExtensionServer.prototype._resourceById):
70991        * inspector/front-end/HAREntry.js:
70992        (WebInspector.HARLog):
70993        (WebInspector.HARLog.prototype._convertResource):
70994        * inspector/front-end/NetworkPanel.js:
70995        (WebInspector.NetworkPanel.prototype._reset):
70996
709972011-03-04  Andrey Kosyakov  <caseq@chromium.org>
70998
70999        Reviewed by Pavel Feldman.
71000
71001        Web Inspector: exceptions when building context menu in network panel
71002        https://bugs.webkit.org/show_bug.cgi?id=55678
71003
71004        * inspector/front-end/DataGrid.js:
71005        (WebInspector.DataGrid.prototype.dataGridNodeFromNode):
71006        (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
71007        * inspector/front-end/NetworkPanel.js:
71008        (WebInspector.NetworkPanel.prototype._contextMenu):
71009
710102011-03-04  Ilya Sherman  <isherman@chromium.org>
71011
71012        Reviewed by James Robinson.
71013
71014        Override paintScrollCorner() for FramelessScrollView to forego any custom scrollbar corner rendering.
71015        This was previously done in ScrollbarThemeChromium, but we also need this on the Mac when the ScrollView
71016        is a FramelessScrollView -- which is mostly just for Autofill.
71017        In service of http://crbug.com/73772 (crash)
71018        https://bugs.webkit.org/show_bug.cgi?id=55557
71019
71020        No tests added because this fix is Chromium-specific and the code is currently untestable from within WebKit.
71021        In particular, DRT crashes when trying to render a FramelessScrollView.
71022
71023        * platform/ScrollbarTheme.h:
71024        (WebCore::ScrollbarTheme::paintScrollCorner): Body moved to static function defaultPaintScrollCorner().
71025        (WebCore::ScrollbarTheme::defaultPaintScrollCorner): Added.
71026        * platform/chromium/FramelessScrollView.cpp:
71027        (WebCore::FramelessScrollView::paintContents):
71028        (WebCore::FramelessScrollView::paintScrollCorner): Fix implementation moved to here from ScrollbarThemeChromium
71029        * platform/chromium/FramelessScrollView.h:
71030        * platform/chromium/ScrollbarThemeChromium.cpp:
71031        * platform/chromium/ScrollbarThemeChromium.h:
71032
710332011-03-04  Yury Semikhatsky  <yurys@chromium.org>
71034
71035        Reviewed by Pavel Feldman.
71036
71037        Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation
71038        https://bugs.webkit.org/show_bug.cgi?id=55770
71039
71040        * inspector/InspectorAgent.cpp:
71041        (WebCore::InspectorAgent::InspectorAgent):
71042        (WebCore::InspectorAgent::didCommitLoad):
71043        * inspector/InspectorCSSAgent.cpp:
71044        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
71045        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
71046        * inspector/InspectorCSSAgent.h:
71047        * inspector/InspectorDatabaseAgent.cpp:
71048        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
71049        * inspector/InspectorInstrumentation.cpp:
71050        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
71051        * inspector/InspectorInstrumentation.h:
71052        (WebCore::InspectorInstrumentation::didCommitLoad):
71053        * inspector/InspectorProfilerAgent.cpp:
71054        (WebCore::InspectorProfilerAgent::create):
71055        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
71056        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
71057        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
71058        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
71059        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
71060        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
71061        * inspector/InspectorProfilerAgent.h:
71062        * inspector/InstrumentingAgents.h:
71063        (WebCore::InstrumentingAgents::InstrumentingAgents):
71064        (WebCore::InstrumentingAgents::inspectorCSSAgent):
71065        (WebCore::InstrumentingAgents::setInspectorCSSAgent):
71066        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
71067        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
71068        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
71069        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
71070        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
71071        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
71072        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
71073        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
71074        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
71075        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
71076        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
71077        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
71078
710792011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
71080
71081        Reviewed by Yury Semikhatsky.
71082
71083        Web Inspector: rename RuntimeAgent's function from releaseWrapperObjectGroup to releaseObjectGroup.
71084        https://bugs.webkit.org/show_bug.cgi?id=55773
71085
71086        * inspector/CodeGeneratorInspector.pm:
71087        * inspector/InjectedScript.cpp:
71088        (WebCore::InjectedScript::releaseObjectGroup):
71089        * inspector/InjectedScript.h:
71090        * inspector/InjectedScriptHost.cpp:
71091        (WebCore::InjectedScriptHost::releaseObjectGroup):
71092        * inspector/InjectedScriptHost.h:
71093        * inspector/InjectedScriptSource.js:
71094        (.):
71095        * inspector/Inspector.idl:
71096        * inspector/InspectorConsoleAgent.cpp:
71097        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
71098        * inspector/InspectorRuntimeAgent.cpp:
71099        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
71100        * inspector/InspectorRuntimeAgent.h:
71101        * inspector/front-end/ConsoleView.js:
71102        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
71103        (WebInspector.ConsoleView.prototype.completions):
71104        * inspector/front-end/PropertiesSidebarPane.js:
71105        * inspector/front-end/SourceFrame.js:
71106        (WebInspector.SourceFrame.prototype._hidePopup):
71107        * inspector/front-end/WatchExpressionsSidebarPane.js:
71108        (WebInspector.WatchExpressionsSection.prototype.update):
71109
711102011-03-02  Andrey Adaikin  <aandrey@google.com>
71111
71112        Reviewed by Pavel Feldman.
71113
71114        Web Inspector: Gutter height should be 100% when few lines are displayed
71115        https://bugs.webkit.org/show_bug.cgi?id=55574
71116
71117        * inspector/front-end/SourceFrame.js:
71118        (WebInspector.SourceFrame.prototype._startEditing):
71119        * inspector/front-end/TextViewer.js:
71120        (WebInspector.TextViewer.prototype._syncScroll):
71121        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
71122        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
71123        (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
71124        * inspector/front-end/textViewer.css:
71125        (.text-editor-lines):
71126        (.text-editor-contents .inner-container):
71127        (.webkit-line-number):
71128
711292011-03-04  Andrey Adaikin  <aandrey@google.com>
71130
71131        Reviewed by Pavel Feldman.
71132
71133        Web Inspector: [Text editor] Do bisect to find visible chunks
71134        https://bugs.webkit.org/show_bug.cgi?id=55685
71135
71136        * inspector/front-end/TextViewer.js:
71137        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
71138        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
71139        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
71140        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
71141        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
71142        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
71143
711442011-03-04  Andrey Adaikin  <aandrey@google.com>
71145
71146        Reviewed by Pavel Feldman.
71147
71148        Web Inspector: [Text editor] DOMNodeRemoved events are missing
71149        https://bugs.webkit.org/show_bug.cgi?id=55769
71150
71151        * inspector/front-end/TextViewer.js:
71152        (WebInspector.TextEditorMainPanel):
71153        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
71154        (WebInspector.TextEditorMainChunk):
71155        (WebInspector.TextEditorMainChunk.prototype._createRow):
71156
711572011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
71158
71159        Reviewed by Yury Semikhatsky.
71160
71161        Web Inspector: Remove unnecessary domain and success flags from the response messages.
71162        https://bugs.webkit.org/show_bug.cgi?id=55768
71163
71164        We have domain property in the response messages but it is not used because we dispatch
71165        the responses on the callback associated with seq.
71166
71167        If we have property 'errors' in the response then success eq false and true in the other case.
71168
71169        * inspector/CodeGeneratorInspector.pm:
71170
711712011-03-04  Christian Dywan  <christian@lanedo.com>
71172
71173        Reviewed by Gustavo Noronha Silva.
71174
71175        Enable Copy Image Address context menu item in the Gtk port
71176        https://bugs.webkit.org/show_bug.cgi?id=55136
71177
71178        * page/ContextMenuController.cpp:
71179        * platform/ContextMenuItem.h:
71180        * platform/LocalizationStrategy.h:
71181        * platform/LocalizedStrings.cpp:
71182        * platform/LocalizedStrings.h:
71183        * platform/gtk/ContextMenuItemGtk.cpp:
71184        * platform/gtk/LocalizedStringsGtk.cpp:
71185
711862011-03-04  Pavel Feldman  <pfeldman@chromium.org>
71187
71188        Reviewed by Yury Semikhatsky.
71189
71190        Web Inspector: implement getCompletions via evaluate.
71191        https://bugs.webkit.org/show_bug.cgi?id=55759
71192
71193        * inspector/InjectedScript.cpp:
71194        * inspector/InjectedScript.h:
71195        * inspector/InjectedScriptSource.js:
71196        * inspector/Inspector.idl:
71197        * inspector/InspectorDebuggerAgent.cpp:
71198        * inspector/InspectorDebuggerAgent.h:
71199        * inspector/InspectorRuntimeAgent.cpp:
71200        * inspector/InspectorRuntimeAgent.h:
71201        * inspector/front-end/ConsoleView.js:
71202        (WebInspector.ConsoleView.prototype.completions.evaluated):
71203        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
71204        (WebInspector.ConsoleView.prototype.completions):
71205        (WebInspector.ConsoleView.prototype._reportCompletions):
71206        * inspector/front-end/ScriptsPanel.js:
71207        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
71208        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
71209        * inspector/front-end/SourceFrame.js:
71210        (WebInspector.SourceFrame.prototype._showPopup):
71211        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
71212
712132011-03-04  Steve Block  <steveblock@google.com>
71214
71215        Reviewed by Jeremy Orlow.
71216
71217        V8 version of JavaString should obtain string from JNI in UTF-16 encoding
71218        https://bugs.webkit.org/show_bug.cgi?id=55566
71219
71220        We obtain the string from JNI in UTF-16 encoding and convert
71221        to UTF-8 using our own routines as required. This matches the
71222        behaviour of the JSC version of JavaString.
71223
71224        No new tests, no change in behaviour.
71225
71226        * bridge/jni/v8/JavaStringV8.h:
71227        (JSC::Bindings::JavaStringImpl::init):
71228        (JSC::Bindings::JavaStringImpl::utf8):
71229        (JSC::Bindings::JavaStringImpl::impl):
71230
712312011-03-03  Pavel Feldman  <pfeldman@chromium.org>
71232
71233        Reviewed by Yury Semikhatsky.
71234
71235        Web Inspector: do not push document into front-end, make it request one.
71236        https://bugs.webkit.org/show_bug.cgi?id=55664
71237
71238        * inspector/Inspector.idl:
71239        * inspector/InspectorAgent.cpp:
71240        (WebCore::InspectorAgent::InspectorAgent):
71241        * inspector/InspectorAgent.h:
71242        * inspector/InspectorBrowserDebuggerAgent.cpp:
71243        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
71244        * inspector/InspectorDOMAgent.cpp:
71245        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
71246        (WebCore::InspectorDOMAgent::clearFrontend):
71247        (WebCore::InspectorDOMAgent::setDocument):
71248        (WebCore::InspectorDOMAgent::getDocument):
71249        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
71250        (WebCore::InspectorDOMAgent::boundNodeId):
71251        (WebCore::InspectorDOMAgent::resolveNode):
71252        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
71253        * inspector/InspectorDOMAgent.h:
71254        (WebCore::InspectorDOMAgent::create):
71255        * inspector/front-end/BreakpointManager.js:
71256        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
71257        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
71258        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
71259        * inspector/front-end/DOMAgent.js:
71260        (WebInspector.DOMDocument):
71261        (WebInspector.DOMAgent):
71262        (WebInspector.DOMAgent.prototype.requestDocument):
71263        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
71264        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
71265        (WebInspector.DOMAgent.prototype._attributesUpdated):
71266        (WebInspector.DOMAgent.prototype._characterDataModified):
71267        (WebInspector.DOMAgent.prototype._documentUpdated):
71268        (WebInspector.DOMAgent.prototype._setDocument):
71269        (WebInspector.DOMAgent.prototype._setDetachedRoot):
71270        (WebInspector.DOMAgent.prototype._setChildNodes):
71271        (WebInspector.DOMAgent.prototype._childNodeInserted):
71272        (WebInspector.DOMAgent.prototype._childNodeRemoved):
71273        (WebInspector.DOMDispatcher.prototype.documentUpdated):
71274        * inspector/front-end/ElementsPanel.js:
71275        (WebInspector.ElementsPanel.prototype.show):
71276        (WebInspector.ElementsPanel.prototype.setDocument):
71277        * inspector/front-end/MetricsSidebarPane.js:
71278        * inspector/front-end/RemoteObject.js:
71279        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
71280
712812011-03-04  Andrey Kosyakov  <caseq@chromium.org>
71282
71283        Reviewed by Pavel Feldman.
71284
71285        Web Inspector: summary bar may overlap content of the network item view
71286        https://bugs.webkit.org/show_bug.cgi?id=55656
71287
71288        - drop custom summary bar placement logic, do it with CSS instead.
71289
71290        * inspector/front-end/NetworkPanel.js:
71291        (WebInspector.NetworkPanel.prototype.resize):
71292        (WebInspector.NetworkPanel.prototype._createSummaryBar):
71293        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
71294        (WebInspector.NetworkPanel.prototype._updateFilter):
71295        (WebInspector.NetworkPanel.prototype.show):
71296        (WebInspector.NetworkPanel.prototype.refresh):
71297        (WebInspector.NetworkPanel.prototype._reset):
71298        (WebInspector.NetworkPanel.prototype._setLargerResources):
71299        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
71300        * inspector/front-end/networkPanel.css:
71301        (.network-sidebar .data-grid td):
71302        (.network-sidebar tr.filler td):
71303        (.network-summary-bar):
71304        (.network-sidebar .data-grid .network-summary-bar td):
71305        (.network-summary-bar img):
71306
713072011-03-04  James Su <suzhe@chromium.org>
71308
71309        Reviewed by Dimitri Glazkov.
71310
71311        [Chromium] keycode is always 0 when using non-Latin keyboard layout.
71312        https://bugs.webkit.org/show_bug.cgi?id=54939
71313
71314        Add KeyEventCocoa.{h,mm}, so that we can reuse them in chromium.
71315
71316        No intended functionality change.
71317
71318        * WebCore.gyp/WebCore.gyp:
71319        * WebCore.gypi:
71320
713212011-03-04  Patrick Gansterer  <paroga@webkit.org>
71322
71323        Unreviewed EFL build fix for r80324.
71324
71325        * platform/efl/RenderThemeEfl.cpp:
71326        (WebCore::RenderThemeEfl::paintThemePart):
71327
713282011-03-04  Patrick Gansterer  <paroga@webkit.org>
71329
71330        Unreviewed EFL build fix for r80324.
71331
71332        * platform/efl/RenderThemeEfl.cpp:
71333        (WebCore::RenderThemeEfl::paintThemePart):
71334
713352011-03-03  Yury Semikhatsky  <yurys@chromium.org>
71336
71337        Reviewed by Pavel Feldman.
71338
71339        Web Inspector: AppCache agent should have same lifetime as InspectorAgent
71340        https://bugs.webkit.org/show_bug.cgi?id=55673
71341
71342        * inspector/InspectorAgent.cpp:
71343        (WebCore::InspectorAgent::InspectorAgent):
71344        (WebCore::InspectorAgent::setFrontend):
71345        (WebCore::InspectorAgent::disconnectFrontend):
71346        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
71347        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
71348        (WebCore::InspectorAgent::didCommitLoad):
71349        * inspector/InspectorApplicationCacheAgent.cpp:
71350        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
71351        (WebCore::InspectorApplicationCacheAgent::setFrontend):
71352        (WebCore::InspectorApplicationCacheAgent::clearFrontend):
71353        * inspector/InspectorApplicationCacheAgent.h:
71354        * inspector/InspectorInstrumentation.cpp:
71355        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
71356        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
71357        * inspector/InstrumentingAgents.h:
71358        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
71359        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
71360
713612011-03-03  Brian Weinstein  <bweinstein@apple.com>
71362
71363        Reviewed by Adam Roben.
71364
71365        Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
71366        
71367        Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
71368        on all platforms, and stub the functions on platforms that don't implement them.
71369        
71370        Add startObservingCookieChanges and stopObservingCookieChanges to TemporaryLinkStubs
71371        for platforms that don't implement them.
71372
71373        * platform/android/TemporaryLinkStubs.cpp:
71374        * platform/brew/TemporaryLinkStubs.cpp:
71375        * platform/chromium/TemporaryLinkStubs.cpp:
71376        * platform/efl/TemporaryLinkStubs.cpp:
71377        * platform/gtk/TemporaryLinkStubs.cpp:
71378        * platform/haiku/TemporaryLinkStubs.cpp:
71379        * platform/qt/TemporaryLinkStubsQt.cpp:
71380        * platform/win/TemporaryLinkStubs.cpp:
71381
713822011-03-03  Eric Seidel  <eric@webkit.org>
71383
71384        Reviewed by Dimitri Glazkov.
71385
71386        Refactor createRendererIfNeeded to avoid premature nextRenderer calculation
71387        https://bugs.webkit.org/show_bug.cgi?id=55720
71388
71389        There are two thing going on here:
71390        1. Delaying nextRenderer calculation until we actually use it,
71391           previously we would always compute nextRenderer (expensive!)
71392           even if no renderer insertion was to occur.
71393        2. Fix fullscreen elements to be inserted into the right place
71394           in the rendering tree.  Previously they would always be the last
71395           child in their parent's list, even if that wasn't the right place.
71396
71397        I don't know of any way to trigger the fullscreen bug,
71398        but I tested this with peacekeeper and saw no performance change.
71399
71400        Peacekeeper's domJQueryBasics is now possibly as much as 2% faster
71401        but I don't really trust the stability of peacekeeper to begin with.
71402
71403        This paves the way for further improvement in our nextRenderer calculation.
71404
71405        * dom/Node.cpp:
71406        (WebCore::Node::attach):
71407        (WebCore::Node::previousRenderer):
71408        (WebCore::Node::nextRenderer):
71409        (WebCore::Node::createRendererAndStyle):
71410        (WebCore::wrapWithRenderFullScreen):
71411        (WebCore::Node::createRendererIfNeeded):
71412        * dom/Node.h:
71413
714142011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
71415
71416        Reviewed by Darin Adler.
71417
71418        Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
71419        https://bugs.webkit.org/show_bug.cgi?id=55554
71420
71421        * platform/Length.cpp:
71422        (WebCore::newLengthArray): Pass nullptr instead of 0.
71423
714242011-03-03  Nat Duca  <nduca@chromium.org>
71425
71426        Reviewed by James Robinson.
71427
71428        [chromium] Create a LayerChromium layerTreeAsText. Add HUD to
71429        LayerRendererChromium that draws compositor FPS and, optionally,
71430        the layer tree.
71431        https://bugs.webkit.org/show_bug.cgi?id=54710
71432
71433        * WebCore.gypi:
71434        * platform/graphics/chromium/Canvas2DLayerChromium.h:
71435        (WebCore::Canvas2DLayerChromium::drawsContent):
71436        * platform/graphics/chromium/CanvasLayerChromium.h:
71437        (WebCore::CanvasLayerChromium::layerTypeAsString):
71438        * platform/graphics/chromium/ContentLayerChromium.cpp:
71439        (WebCore::writeIndent):
71440        (WebCore::ContentLayerChromium::dumpLayerProperties):
71441        * platform/graphics/chromium/ContentLayerChromium.h:
71442        (WebCore::ContentLayerChromium::drawsContent):
71443        (WebCore::ContentLayerChromium::layerTypeAsString):
71444        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
71445        (WebCore::GraphicsLayerChromium::setName):
71446        (WebCore::GraphicsLayerChromium::updateNames):
71447        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
71448        (WebCore::GraphicsLayerChromium::setupContentsLayer):
71449        * platform/graphics/chromium/GraphicsLayerChromium.h:
71450        * platform/graphics/chromium/ImageLayerChromium.h:
71451        (WebCore::ImageLayerChromium::drawsContent):
71452        (WebCore::ImageLayerChromium::layerTypeAsString):
71453        * platform/graphics/chromium/LayerChromium.cpp:
71454        (WebCore::LayerChromium::LayerChromium):
71455        (WebCore::LayerChromium::setName):
71456        (WebCore::LayerChromium::layerTreeAsText):
71457        (WebCore::writeIndent):
71458        (WebCore::LayerChromium::dumpLayer):
71459        (WebCore::LayerChromium::dumpLayerProperties):
71460        * platform/graphics/chromium/LayerChromium.h:
71461        (WebCore::LayerChromium::name):
71462        (WebCore::LayerChromium::drawsContent):
71463        (WebCore::LayerChromium::debugID):
71464        (WebCore::LayerChromium::layerTypeAsString):
71465        * platform/graphics/chromium/LayerRendererChromium.cpp:
71466        (WebCore::LayerRendererChromium::LayerRendererChromium):
71467        (WebCore::LayerRendererChromium::~LayerRendererChromium):
71468        (WebCore::LayerRendererChromium::drawLayers):
71469        (WebCore::LayerRendererChromium::present):
71470        (WebCore::LayerRendererChromium::layerTreeAsText):
71471        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
71472        * platform/graphics/chromium/LayerRendererChromium.h:
71473        (WebCore::LayerRendererChromium::getHeadsUpDisplay):
71474        (WebCore::LayerRendererChromium::rootVisibleRect):
71475        * platform/graphics/chromium/PluginLayerChromium.h:
71476        (WebCore::PluginLayerChromium::drawsContent):
71477        (WebCore::PluginLayerChromium::layerTypeAsString):
71478        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
71479        (WebCore::RenderSurfaceChromium::name):
71480        (WebCore::writeIndent):
71481        (WebCore::RenderSurfaceChromium::dumpSurface):
71482        * platform/graphics/chromium/RenderSurfaceChromium.h:
71483        * platform/graphics/chromium/VideoLayerChromium.h:
71484        (WebCore::VideoLayerChromium::drawsContent):
71485        (WebCore::VideoLayerChromium::layerTypeAsString):
71486        * platform/graphics/chromium/WebGLLayerChromium.h:
71487        (WebCore::WebGLLayerChromium::drawsContent):
71488        (WebCore::WebGLLayerChromium::layerTypeAsString):
71489        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: Added.
71490        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
71491        (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
71492        (WebCore::CCHeadsUpDisplay::draw):
71493        (WebCore::CCHeadsUpDisplay::drawHudContents):
71494        (WebCore::CCHeadsUpDisplay::onPresent):
71495        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: Added.
71496        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
71497        (WebCore::CCHeadsUpDisplay::showFPSCounter):
71498        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
71499        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
71500        (WebCore::CCHeadsUpDisplay::enabled):
71501        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
71502        (WebCore::CCLayerImpl::CCLayerImpl):
71503        (WebCore::writeIndent):
71504        (WebCore::CCLayerImpl::dumpLayerProperties):
71505        * platform/graphics/chromium/cc/CCLayerImpl.h:
71506        (WebCore::CCLayerImpl::debugID):
71507        (WebCore::CCLayerImpl::setName):
71508        (WebCore::CCLayerImpl::name):
71509
715102011-03-02  Ojan Vafai  <ojan@chromium.org>
71511
71512        Reviewed by Darin Adler.
71513
71514        crash in adoptNode with mutation events
71515        https://bugs.webkit.org/show_bug.cgi?id=50046
71516
71517        If the DOM is modified during the removeChild call in adoptNode,
71518        then the setDocument call that follows can leave the DOM in an
71519        inconsistent state.
71520
71521        * dom/Document.cpp:
71522        (WebCore::Document::adoptNode):
71523
715242011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
71525
71526        Reviewed by Darin Adler.
71527
71528        Add audio tag tests to the media controls manual test suite.
71529        https://bugs.webkit.org/show_bug.cgi?id=55722
71530
71531        * manual-tests/media-controls.html: Added 4 audio tests.
71532
715332011-03-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
71534
71535        Reviewed by Eric Seidel.
71536
71537        [EFL] Adjust functions of RenderThemeEfl.cpp to WebKit parameter style
71538        https://bugs.webkit.org/show_bug.cgi?id=54392
71539
71540        Functions of RenderThemeEfl.cpp adhere efl coding style instead of WebKit coding style.
71541        WebCore's functions should adhere WebKit coding style.
71542
71543        * platform/efl/RenderThemeEfl.cpp:
71544        (WebCore::RenderThemeEfl::themePartCacheEntryReset):
71545        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
71546        (WebCore::RenderThemeEfl::cacheThemePartNew):
71547        (WebCore::RenderThemeEfl::cacheThemePartReset):
71548        (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset):
71549        (WebCore::RenderThemeEfl::cacheThemePartGet):
71550        (WebCore::RenderThemeEfl::cacheThemePartFlush):
71551        (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
71552        (WebCore::RenderThemeEfl::paintThemePart):
71553        (WebCore::renderThemeEflColorClassSelectionActive):
71554        (WebCore::renderThemeEflColorClassSelectionInactive):
71555        (WebCore::renderThemeEflColorClassFocusRing):
71556        (WebCore::renderThemeEflColorClassButtonText):
71557        (WebCore::renderThemeEflColorClassComboText):
71558        (WebCore::renderThemeEflColorClassEntryText):
71559        (WebCore::renderThemeEflColorClassSearchText):
71560        (WebCore::RenderThemeEfl::applyPartDescription):
71561        (WebCore::RenderThemeEfl::applyPartDescriptions):
71562        (WebCore::RenderThemeEfl::controlSupportsTints):
71563        (WebCore::RenderThemeEfl::baselinePosition):
71564        (WebCore::RenderThemeEfl::paintSliderTrack):
71565        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
71566        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
71567        (WebCore::RenderThemeEfl::paintSliderThumb):
71568        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
71569        (WebCore::RenderThemeEfl::paintCheckbox):
71570        (WebCore::RenderThemeEfl::adjustRadioStyle):
71571        (WebCore::RenderThemeEfl::paintRadio):
71572        (WebCore::RenderThemeEfl::adjustButtonStyle):
71573        (WebCore::RenderThemeEfl::paintButton):
71574        (WebCore::RenderThemeEfl::adjustMenuListStyle):
71575        (WebCore::RenderThemeEfl::paintMenuList):
71576        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
71577        (WebCore::RenderThemeEfl::paintTextField):
71578        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
71579        (WebCore::RenderThemeEfl::paintTextArea):
71580        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
71581        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
71582        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
71583        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
71584        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
71585        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
71586        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
71587        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
71588        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
71589        (WebCore::RenderThemeEfl::paintSearchField):
71590        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
71591        (WebCore::RenderThemeEfl::paintProgressBar):
71592        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
71593        (WebCore::RenderThemeEfl::paintMediaMuteButton):
71594        (WebCore::RenderThemeEfl::paintMediaPlayButton):
71595        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
71596        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
71597        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
71598        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
71599        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
71600        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
71601        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
71602        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
71603
716042011-03-03  Andy Estes  <aestes@apple.com>
71605
71606        Reviewed by Adam Barth.
71607
71608        Assertion failure in toElement(WebCore::Node*)
71609        https://bugs.webkit.org/show_bug.cgi?id=55697
71610
71611        Test: fast/parser/fragment-foreign-content.html
71612
71613        * html/parser/HTMLTreeBuilder.cpp:
71614        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): The current
71615        element in the HTMLElementStack might be a DocumentFragment if a
71616        fragment is being parsed who's first node is foreign content.
71617
716182011-03-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
71619
71620        Reviewed by Kenneth Rohde Christiansen.
71621
71622        [QT] Implement mock client-based geolocation for layout testing
71623        https://bugs.webkit.org/show_bug.cgi?id=54334
71624
71625        Implements client() to GeolocationController to re-use geolocationClientMock class
71626        for layout testing purpose.
71627
71628        * page/GeolocationController.h:
71629        (WebCore::GeolocationController::client):
71630
716312011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
71632
71633        Reviewed by Kent Tamura.
71634
71635        Stop calling deprecatedNode and deprecatedEditingOffset in InsertTextCommand
71636        https://bugs.webkit.org/show_bug.cgi?id=55352
71637
71638        Stopped calling deprecatedNode and deprecatedEditingOffset in the following functions:
71639
71640        * editing/CompositeEditCommand.cpp:
71641        (WebCore::CompositeEditCommand::positionOutsideTabSpan): Takes care of all types of positions and
71642        no longer calls deprecated functions.
71643        * editing/InsertTextCommand.cpp:
71644        (WebCore::InsertTextCommand::positionInsideTextNode): Ditto; renamed from prepareForTextInsertion.
71645        Check if the text node inside a tab span before checking if the container node is a text node
71646        because the position before or after a text node can still be inside a tab span.
71647        (WebCore::InsertTextCommand::input): No longer calls deprecated functions.
71648        * editing/InsertTextCommand.h:
71649        * editing/ModifySelectionListLevel.cpp:
71650        (WebCore::getStartEndListChildren): Call anchorNode() instead of deprecatedNode() because the start
71651        or the end of selection could be an immediate child of a list node (e.g. br inside ul)
71652
716532011-03-03  Hans Wennborg  <hans@chromium.org>
71654
71655        Reviewed by Jeremy Orlow.
71656
71657        IndexedDB: Move last bits of SQL into IDBBackingStore
71658        https://bugs.webkit.org/show_bug.cgi?id=55668
71659
71660        After this, all SQL code for IndexedDB is in IDBBackingStore.cpp.
71661
71662        No new tests: refactoring only.
71663
71664        * storage/IDBBackingStore.cpp:
71665        (WebCore::IDBBackingStore::createTransaction):
71666        * storage/IDBBackingStore.h:
71667        * storage/IDBCursorBackendImpl.h:
71668        * storage/IDBDatabaseBackendImpl.cpp:
71669        (WebCore::IDBDatabaseBackendImpl::backingStore):
71670        * storage/IDBDatabaseBackendImpl.h:
71671        * storage/IDBIndexBackendImpl.h:
71672        * storage/IDBKey.h:
71673        * storage/IDBObjectStoreBackendImpl.h:
71674        * storage/IDBTransactionBackendImpl.cpp:
71675        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
71676        * storage/IDBTransactionBackendImpl.h:
71677        * storage/IDBTransactionBackendInterface.h:
71678        * storage/IDBTransactionCoordinator.cpp:
71679
716802011-03-03  Adam Klein  <adamk@chromium.org>
71681
71682        Reviewed by David Levin.
71683
71684        [fileapi] Tighten up ResolveURICallbacks
71685        https://bugs.webkit.org/show_bug.cgi?id=55638
71686
71687        Two changes:
71688          - Retry only on TYPE_MISMATCH_ERR now that Chromium
71689            properly sets that error code.
71690          - Call DirectoryEntry instead of DOMFileSystem methods.
71691
71692        No change in behavior, so no new tests.
71693
71694        * fileapi/FileSystemCallbacks.cpp:
71695        (WebCore::ResolveURICallbacks::didOpenFileSystem):
71696
716972011-03-03  Anders Carlsson  <andersca@apple.com>
71698
71699        Reviewed by Sam Weinig.
71700
71701        Get rid of Page::globalHistoryItem
71702        https://bugs.webkit.org/show_bug.cgi?id=55738
71703
71704        The m_globalHistoryItem is only used by Mac and Windows WebKit1.
71705        Instead of having WebCore updating this member variable, just call out
71706        to a FrameLoaderClient member function and let WebKit keep it up to date.
71707
71708        * loader/EmptyClients.h:
71709        (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem):
71710        (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage):
71711        * loader/FrameLoader.cpp:
71712        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
71713        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
71714        * loader/FrameLoaderClient.h:
71715        (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage):
71716        * loader/HistoryController.cpp:
71717        (WebCore::HistoryController::goToItem):
71718        (WebCore::HistoryController::updateForStandardLoad):
71719        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
71720        * page/Page.cpp:
71721        * page/Page.h:
71722
717232011-03-02  Jeremy Orlow  <jorlow@chromium.org>
71724
71725        Reviewed by Steve Block.
71726
71727        Cursor.continue with a key param should test less than, not equal to
71728        https://bugs.webkit.org/show_bug.cgi?id=55640
71729
71730        If you supply a param to cursor.continue, we sould guarantee that
71731        the item we continue to is greater than or equal to the parameter.
71732        Right now, we only test equality.
71733
71734        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue
71735        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-iterating-a-cursor
71736
71737        Test: storage/indexeddb/cursor-continue.html
71738
71739        * storage/IDBCursorBackendImpl.cpp:
71740        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
71741        * storage/IDBKey.cpp:
71742        (WebCore::IDBKey::isLessThan):
71743        (WebCore::IDBKey::isEqual):
71744        * storage/IDBKey.h:
71745
717462011-03-03  Brent Fulgham  <bfulgham@webkit.org>
71747
71748        Build fix. Need win/cURL DownloadBundle stub.
71749
71750        * platform/network/curl/DownloadBundle.h: Added.
71751
717522011-03-03  Geoffrey Garen  <ggaren@apple.com>
71753
71754        Rolled out 80277 and 80280 because they caused event handler layout test
71755        failures.
71756
71757        * WebCore.xcodeproj/project.pbxproj:
71758        * bindings/js/JSDOMGlobalObject.cpp:
71759        * bindings/js/JSDOMGlobalObject.h:
71760        * bindings/js/JSDOMWindowBase.cpp:
71761        * bindings/js/JSDOMWindowBase.h:
71762        * bindings/js/JSDOMWindowCustom.h:
71763        * bindings/js/JSWorkerContextBase.cpp:
71764
717652011-03-03  Brady Eidson  <beidson@apple.com>
71766
71767        Reviewed by Darin Adler.
71768
71769        https://bugs.webkit.org/show_bug.cgi?id=55721
71770        Global IconDatabase should be returned by reference, not as a pointer
71771
71772        * history/HistoryItem.cpp:
71773        (WebCore::HistoryItem::HistoryItem):
71774        (WebCore::HistoryItem::~HistoryItem):
71775        (WebCore::HistoryItem::reset):
71776        (WebCore::HistoryItem::icon):
71777        (WebCore::HistoryItem::setURLString):
71778
71779        * loader/FrameLoader.cpp:
71780        (WebCore::FrameLoader::startIconLoader):
71781        (WebCore::FrameLoader::commitIconURLToIconDatabase):
71782
71783        * loader/archive/cf/LegacyWebArchive.cpp:
71784        (WebCore::LegacyWebArchive::create):
71785
71786        * loader/icon/IconDatabase.cpp:
71787        (WebCore::iconDatabase):
71788        * loader/icon/IconDatabase.h:
71789        * loader/icon/IconDatabaseNone.cpp:
71790        (WebCore::iconDatabase):
71791        * loader/icon/wince/IconDatabaseWinCE.cpp:
71792        (WebCore::iconDatabase):
71793
71794        * loader/icon/IconLoader.cpp:
71795        (WebCore::IconLoader::finishLoading):
71796
717972011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
71798
71799        Reviewed by Martin Robinson.
71800
71801        Stop instantiating legacy editing positions in FocusController::advanceFocusInDocumentOrder
71802        https://bugs.webkit.org/show_bug.cgi?id=52742
71803
71804        Use firstPositionInOrBeforeNode to instantiate appropriate position.
71805
71806        * page/FocusController.cpp:
71807        (WebCore::FocusController::advanceFocusInDocumentOrder):
71808
718092011-03-03  Andy Estes  <aestes@apple.com>
71810
71811        Reviewed by Darin Adler.
71812
71813        When displaying the missing plug-in sheet, pass the 'pluginspage'
71814        attribute to the UI process.
71815        https://bugs.webkit.org/show_bug.cgi?id=55553
71816
71817        * WebCore.exp.in: Export __ZN7WebCore9HTMLNames15pluginspageAttrE.
71818        * html/HTMLAttributeNames.in: Add 'pluginspage' as a known content
71819        attribute.
71820
718212011-03-03  Jessie Berlin  <jberlin@apple.com>
71822
71823        Reviewed by Adam Roben.
71824
71825        WebKit2: Use CFNetwork Sessions API.
71826        https://bugs.webkit.org/show_bug.cgi?id=55435
71827
71828        Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
71829
71830        * WebCore.exp.in:
71831        Support using WKCopyRequestWithStorageSession in WebCore.
71832        * platform/mac/WebCoreSystemInterface.h:
71833        Ditto.
71834        * platform/mac/WebCoreSystemInterface.mm:
71835        Ditto.
71836
71837        * platform/network/cf/ResourceHandleCFNet.cpp:
71838        (WebCore::makeFinalRequest):
71839        If Private Browsing is enabled, set the Private Browsing Storage Session on the request.
71840        (WebCore::ResourceHandle::willSendRequest):
71841        Ditto.
71842        * platform/network/mac/ResourceHandleMac.mm:
71843        (WebCore::ResourceHandle::createNSURLConnection):
71844        Ditto.
71845        (WebCore::ResourceHandle::willSendRequest):
71846        Ditto.
71847
71848        * platform/network/cf/ResourceRequest.h:
71849        * platform/network/cf/ResourceRequestCFNet.cpp:
71850        (WebCore::ResourceRequest::setStorageSession):
71851        Call through to WKSI.
71852        * platform/network/mac/ResourceRequestMac.mm:
71853        (WebCore::ResourceRequest::setStorageSession):
71854        Ditto.
71855
718562011-03-03  Chris Marrin  <cmarrin@apple.com>
71857
71858        Reviewed by Simon Fraser.
71859
71860        REGRESSION: Accelerated transitions are jumpy
71861        https://bugs.webkit.org/show_bug.cgi?id=55022
71862
71863        Changed the way default TimingFunction is stored according to Adam Roben's
71864        suggestion.
71865
71866        * platform/animation/TimingFunction.h:
71867        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
71868
718692011-03-03  Dan Bernstein  <mitz@apple.com>
71870
71871        Reviewed by Sam Weinig.
71872
71873        Rename -webkit-hyphenate-locale to -webkit-locale
71874        https://bugs.webkit.org/show_bug.cgi?id=55709
71875
71876        * css/CSSComputedStyleDeclaration.cpp:
71877        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
71878        * css/CSSParser.cpp:
71879        (WebCore::CSSParser::parseValue):
71880        (WebCore::cssPropertyID):
71881        * css/CSSPropertyNames.in:
71882        * css/CSSStyleSelector.cpp:
71883        (WebCore::CSSStyleSelector::applyProperty):
71884        * rendering/RenderBlockLineLayout.cpp:
71885        (WebCore::RenderBlock::findNextLineBreak):
71886        * rendering/style/RenderStyle.cpp:
71887        (WebCore::RenderStyle::diff):
71888        * rendering/style/RenderStyle.h:
71889        (WebCore::InheritedFlags::locale):
71890        (WebCore::InheritedFlags::setLocale):
71891        (WebCore::InheritedFlags::initialLocale):
71892        * rendering/style/StyleRareInheritedData.cpp:
71893        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
71894        (WebCore::StyleRareInheritedData::operator==):
71895        * rendering/style/StyleRareInheritedData.h:
71896
718972011-03-03  Kevin Ollivier  <kevino@theolliviers.com>
71898
71899        [wx] Build fixes. Use Font::textMetrics to get ascent value, and add missing include.
71900
71901        * platform/wx/DragDataWx.cpp:
71902        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
71903        (WebCore::drawTextWithSpacing):
71904
719052011-03-03  Oliver Hunt  <oliver@apple.com>
71906
71907        Reviewed by Geoffrey Garen.
71908
71909        JSVariableObject needs to use WriteBarrier for symboltable property storage
71910        https://bugs.webkit.org/show_bug.cgi?id=55698
71911
71912        Update to pass JSGlobalData for the symbol table write used
71913        to set the document property.
71914
71915        * bindings/js/JSDOMWindowBase.cpp:
71916        (WebCore::JSDOMWindowBase::updateDocument):
71917
719182011-03-03  Alexey Proskuryakov  <ap@apple.com>
71919
71920        More build fixing. Move WebCoreKeyboardUIMode.h to a cross-platform location.
71921
71922        * WebCore.xcodeproj/project.pbxproj:
71923        * page/WebCoreKeyboardUIMode.h: Copied from WebCore/page/mac/WebCoreKeyboardUIMode.h.
71924        * page/mac/WebCoreKeyboardUIMode.h: Removed.
71925
719262011-03-03  Alexey Proskuryakov  <ap@apple.com>
71927
71928        Build fix. Should include WebCoreKeyboardUIMode.h on all platforms now.
71929
71930        * page/ChromeClient.h:
71931
719322011-03-02  Alexey Proskuryakov  <ap@apple.com>
71933
71934        Reviewed by Darin Adler.
71935
71936        REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
71937        https://bugs.webkit.org/show_bug.cgi?id=55633
71938        <rdar://problem/8963023>
71939
71940        * loader/EmptyClients.h: (WebCore::EmptyChromeClient::keyboardUIMode):
71941        * page/ChromeClient.h:
71942        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks):
71943        Merged tabsToLinks() and keyboardUIMode(). The latter returned a superset of information
71944        returned by former.
71945
719462011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
71947
71948        Fix Win compile break, caused by r80276.
71949
71950        * rendering/RenderThemeWin.h: Changed signature of volumeSliderOffsetFromMuteButton
71951            to match RenderTheme.h.
71952
719532011-03-02  Geoffrey Garen  <ggaren@apple.com>
71954
71955        Reviewed by Darin Adler.
71956
71957        Moved all variable object storage inline -- upping the object size limit to 1K
71958        https://bugs.webkit.org/show_bug.cgi?id=55653
71959
71960        * bindings/js/JSDOMGlobalObject.cpp:
71961        * bindings/js/JSDOMGlobalObject.h:
71962        * bindings/js/JSDOMWindowBase.cpp:
71963        * bindings/js/JSDOMWindowBase.h:
71964        * bindings/js/JSDOMWindowCustom.h:
71965        * bindings/js/JSWorkerContextBase.cpp: Removed out-of-line storage. Changed d-> to m_.
71966
719672011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
71968
71969        Reviewed by Darin Adler.
71970
71971        Use RenderBox in volumeSliderOffsetFromMuteButton, since that's what is actually being used.
71972        https://bugs.webkit.org/show_bug.cgi?id=55099
71973
71974        Cleanup, no behavior change.
71975
71976        * html/shadow/MediaControls.cpp:
71977        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to pass RenderBox
71978            instead of Node.
71979        * rendering/RenderMediaControls.cpp:
71980        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Changed
71981            to use RenderBox as argument.
71982        * rendering/RenderMediaControls.h: Ditto.
71983        * rendering/RenderTheme.cpp:
71984        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): Ditto.
71985        * rendering/RenderTheme.h: Ditto.
71986        * rendering/RenderThemeChromiumMac.h: Ditto.
71987        * rendering/RenderThemeChromiumMac.mm:
71988        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): Ditto.
71989        * rendering/RenderThemeMac.h: Ditto.
71990        * rendering/RenderThemeMac.mm:
71991        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Ditto.
71992        * rendering/RenderThemeWin.cpp:
71993        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Ditto.
71994
719952011-03-03  Alexis Menard  <alexis.menard@openbossa.org>
71996
71997        Reviewed by Andreas Kling.
71998
71999        When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1.
72000        Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr
72001        for GstElement.
72002
72003        * WebCore.pro:
72004        * features.pri:
72005
720062011-03-03  Anders Carlsson  <andersca@apple.com>
72007
72008        Try to fix the Windows build again.
72009
72010        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
72011        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
72012
720132011-03-03  Mihai Parparita  <mihaip@chromium.org>
72014
72015        Reviewed by Dimitri Glazkov.
72016
72017        Add another CRASH() for CSSSelector double frees
72018        https://bugs.webkit.org/show_bug.cgi?id=55693
72019
72020        To help track down bug 53045, add a CRASH call when the the array and/or
72021        CSSSelector member in CSSSelectorList is disposed of more than once.
72022
72023        Just a check, no new tests necessary.
72024        
72025        * css/CSSSelectorList.cpp:
72026        (WebCore::CSSSelectorList::deleteSelectors):
72027
720282011-03-03  Anders Carlsson  <andersca@apple.com>
72029
72030        Yet another attempt at fixing the Windows build.
72031
72032        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
72033        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
72034        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
72035        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
72036
720372011-03-02  Chris Marrin  <cmarrin@apple.com>
72038
72039        Reviewed by Simon Fraser.
72040
72041        REGRESSION: Accelerated transitions are jumpy
72042        https://bugs.webkit.org/show_bug.cgi?id=55022
72043
72044        Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction
72045        is now always passed in. The TimingFunction class now has a static method to get
72046        a default object which has the 'ease' values in it. I now assert in both Mac and
72047        Win implementations if a null TimingFunction pointer is seen.
72048
72049        * platform/animation/TimingFunction.h:
72050        (WebCore::CubicBezierTimingFunction::create):
72051        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
72052        (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
72053        * platform/graphics/ca/GraphicsLayerCA.cpp:
72054        (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
72055        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
72056        (toCAMediaTimingFunction):
72057        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
72058        (toCACFTimingFunction):
72059
720602011-03-03  Tony Gentilcore  <tonyg@chromium.org>
72061
72062        Unreviewed build fix.
72063
72064        Fix clang compile after r80220
72065        https://bugs.webkit.org/show_bug.cgi?id=55692
72066
72067        * storage/IDBBackingStore.cpp:
72068        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
72069
720702011-03-03  Anders Carlsson  <andersca@apple.com>
72071
72072        Attempt to fix the Windows build.
72073
72074        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
72075        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
72076
720772011-03-02  Brian Weinstein  <bweinstein@apple.com>
72078
72079        Reviewed by Adam Roben.
72080
72081        Rest of WebKit2: Need a way to send notifications to client when cookies change
72082        https://bugs.webkit.org/show_bug.cgi?id=55427
72083        <rdar://problem/9056027>
72084
72085        Add functions to be exported.
72086
72087        * WebCore.exp.in:
72088
720892011-03-03  Anders Carlsson  <andersca@apple.com>
72090
72091        Reviewed by Darin Adler.
72092
72093        Improve WebCore build time by ~5%
72094        https://bugs.webkit.org/show_bug.cgi?id=55688
72095
72096        Forward declare the CATransform3D and CGAffineTransform structs instead of including
72097        large chunks of QuartzCore and Core Graphics.
72098
72099        On an 8 core Mac Pro, this sped up building WebCore by about 5%.
72100
72101        * platform/graphics/ca/GraphicsLayerCA.cpp:
72102        * platform/graphics/ca/TransformationMatrixCA.cpp:
72103        * platform/graphics/transforms/TransformationMatrix.h:
72104
721052011-03-03  Andrey Kosyakov  <caseq@chromium.org>
72106
72107        Unreviewed. Adjusted call to a method renamed in r80102.
72108
72109        * inspector/front-end/SourceFrame.js:
72110        (WebInspector.SourceFrame.prototype._startEditing):
72111
721122011-03-03  Timothy Hatcher  <timothy@apple.com>
72113
72114        Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
72115        by contexts not created by WebCore.
72116
72117        https://webkit.org/b/55642
72118
72119        Reviewed by Oliver Hunt.
72120
72121        * bindings/js/SerializedScriptValue.cpp:
72122        (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
72123        (WebCore::SerializedScriptValue::deserialize): Ditto.
72124
721252011-03-03  Alexey Proskuryakov  <ap@apple.com>
72126
72127        Reviewed by Darin Adler.
72128
72129        WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake
72130        https://bugs.webkit.org/show_bug.cgi?id=55498
72131        <rdar://problem/8752706>
72132
72133        Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html
72134               http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html
72135
72136        * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response
72137        header fields. Removed separate member variables for those, as they were duplicating data
72138        available in response, and there is no reason to squeeze microsecods here.
72139
72140        * websockets/WebSocketHandshake.cpp:
72141        (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field
72142        values to reset here.
72143        (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders().
72144        (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response.
72145        (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto.
72146        (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto.
72147        (WebCore::WebSocketHandshake::serverSetCookie): Ditto.
72148        (WebCore::WebSocketHandshake::serverSetCookie2): Ditto.
72149        (WebCore::WebSocketHandshake::serverUpgrade): Added.
72150        (WebCore::WebSocketHandshake::serverConnection): Added.
72151        (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection
72152        header field presence and values.
72153
721542011-03-03  Helder Correia  <helder@sencha.com>
72155
72156        Reviewed by Andreas Kling.
72157
72158        [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails
72159        https://bugs.webkit.org/show_bug.cgi?id=55651
72160
72161        When relying on ContextShadow and using a gradient stroke for a path,
72162        the alpha of the shadow is incorrect.
72163
72164        * platform/graphics/qt/GraphicsContextQt.cpp:
72165        (WebCore::GraphicsContext::strokePath):
72166
721672011-03-03  Martin Robinson  <mrobinson@igalia.com>
72168
72169        XHTMLMP build broken after r78342
72170        https://bugs.webkit.org/show_bug.cgi?id=55286
72171
72172        Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader
72173        instead of FrameLoader.
72174
72175        No new tests. This is a build fix.
72176
72177        * dom/Document.cpp:
72178        (WebCore::Document::isXHTMLMPDocument):
72179
721802011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
72181
72182        Reviewed by Eric Carlson.
72183
72184        Tweak MediaControlMuteButtonElement class hierarchy.
72185        https://bugs.webkit.org/show_bug.cgi?id=55614
72186
72187        This allows the mute button on the panel to have event handlers that are
72188        different from the mute button in the volume slider.
72189
72190        No change in behavior, covered by existing tests.
72191
72192        * html/shadow/MediaControls.cpp:
72193        (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement.
72194        * rendering/MediaControlElements.cpp:
72195        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
72196        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added.
72197        (WebCore::MediaControlPanelMuteButtonElement::create): Added.
72198        (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved.
72199        * rendering/MediaControlElements.h: Added defs.
72200
722012011-03-03  Yury Semikhatsky  <yurys@chromium.org>
72202
72203        Reviewed by Pavel Feldman.
72204
72205        Web Inspector: Resource agent should have same lifetime as Inspector agent
72206        https://bugs.webkit.org/show_bug.cgi?id=55461
72207
72208        * inspector/Inspector.idl:
72209        * inspector/InspectorAgent.cpp:
72210        (WebCore::InspectorAgent::InspectorAgent):
72211        (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed
72212        to clear frontend reference in all agents.
72213        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
72214        (WebCore::InspectorAgent::setFrontend):
72215        (WebCore::InspectorAgent::disconnectFrontend):
72216        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
72217        (WebCore::InspectorAgent::didCommitLoad):
72218        * inspector/InspectorAgent.h:
72219        (WebCore::InspectorAgent::resourceAgent):
72220        * inspector/InspectorBrowserDebuggerAgent.cpp:
72221        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
72222        * inspector/InspectorDebuggerAgent.cpp:
72223        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
72224        * inspector/InspectorInstrumentation.cpp:
72225        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
72226        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
72227        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
72228        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
72229        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
72230        * inspector/InspectorResourceAgent.cpp:
72231        (WebCore::InspectorResourceAgent::setFrontend):
72232        (WebCore::InspectorResourceAgent::clearFrontend):
72233        (WebCore::InspectorResourceAgent::restore):
72234        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
72235        (WebCore::InspectorResourceAgent::enable):
72236        (WebCore::InspectorResourceAgent::disable):
72237        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
72238        * inspector/InspectorResourceAgent.h:
72239        (WebCore::InspectorResourceAgent::create):
72240        * inspector/InspectorTimelineAgent.cpp:
72241        (WebCore::InspectorTimelineAgent::restore):
72242        * inspector/InspectorTimelineAgent.h:
72243        * inspector/front-end/NetworkManager.js:
72244        (WebInspector.NetworkManager):
72245        (WebInspector.NetworkManager.prototype.frontendReused):
72246        * inspector/front-end/inspector.js:
72247        (WebInspector.frontendReused):
72248
722492011-03-03  Andras Becsi  <abecsi@webkit.org>
72250
72251        Reviewed by Andreas Kling.
72252
72253        CSS RGBA fast-path color parsing should clamp of out-of-range alpha values
72254        https://bugs.webkit.org/show_bug.cgi?id=55661
72255
72256        Test case originally written by Andreas Kling <andreas.kling@nokia.com>
72257
72258        Test: fast/canvas/rgba-parsing.html
72259
72260        * css/CSSParser.cpp:
72261        (WebCore::isValidDouble): Check whether the given string is a valid double.
72262        (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range.
72263
722642011-03-03  David Holloway  <dhollowa@chromium.org>
72265
72266        Reviewed by Dimitri Glazkov.
72267
72268        Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account
72269        for non-empty suggestion text.  The visibility of the placeholder text
72270        now turned off when suggestion text is set.
72271        https://bugs.webkit.org/show_bug.cgi?id=55245
72272
72273        No new tests because, by design, the suggestion text is not accessible
72274        through the DOM.
72275
72276        * html/HTMLFormControlElement.cpp:
72277        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
72278        * html/HTMLFormControlElement.h:
72279        (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue):
72280        * html/HTMLInputElement.h:
72281        (WebCore::HTMLInputElement::isEmptySuggestedValue):
72282
722832011-03-03  Andy Estes  <aestes@apple.com>
72284
72285        Reviewed by Eric Seidel.
72286
72287        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
72288        https://bugs.webkit.org/show_bug.cgi?id=48719
72289        
72290        Instead of pushing a fake HTMLHtmlElement onto the open element stack
72291        during fragment parsing only to later remove it and reparent its
72292        children to the DocumentFragment, push the DocumentFragment directly
72293        onto the open element stack as the root node. This requires refactoring
72294        HTMLElementStack to hold ContainerNode pointers rather than Element
72295        pointers, which has implications for HTMLConstructionSite and
72296        HTMLTreeBuilder as well.
72297        
72298        With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
72299        is ~14%. However, if you discount the 'domDynamicCreationCreateElement'
72300        test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the
72301        regression no longer lies in fragment parsing.
72302
72303        No new tests. No change in behavior.
72304
72305        * dom/Element.h:
72306        (WebCore::Node::hasLocalName):
72307        * dom/Node.h:
72308        * html/parser/HTMLConstructionSite.cpp:
72309        (WebCore::HTMLNames::hasImpliedEndTag):
72310        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
72311        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
72312        (WebCore::HTMLConstructionSite::insertComment):
72313        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
72314        (WebCore::HTMLConstructionSite::attachToCurrent):
72315        (WebCore::HTMLConstructionSite::insertScriptElement):
72316        (WebCore::HTMLConstructionSite::insertTextNode):
72317        (WebCore::HTMLConstructionSite::createElement):
72318        (WebCore::HTMLConstructionSite::createHTMLElement):
72319        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
72320        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
72321        (WebCore::HTMLConstructionSite::findFosterSite):
72322        (WebCore::HTMLConstructionSite::shouldFosterParent):
72323        * html/parser/HTMLConstructionSite.h:
72324        (WebCore::HTMLConstructionSite::currentNode):
72325        * html/parser/HTMLElementStack.cpp:
72326        (WebCore::HTMLNames::isNumberedHeaderElement):
72327        (WebCore::HTMLNames::isScopeMarker):
72328        (WebCore::HTMLNames::isListItemScopeMarker):
72329        (WebCore::HTMLNames::isTableScopeMarker):
72330        (WebCore::HTMLNames::isTableBodyScopeMarker):
72331        (WebCore::HTMLNames::isTableRowScopeMarker):
72332        (WebCore::HTMLNames::isButtonScopeMarker):
72333        (WebCore::HTMLNames::isSelectScopeMarker):
72334        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
72335        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
72336        (WebCore::HTMLElementStack::HTMLElementStack):
72337        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
72338        (WebCore::HTMLElementStack::popAll):
72339        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
72340        (WebCore::HTMLElementStack::popUntil):
72341        (WebCore::HTMLElementStack::popUntilPopped):
72342        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
72343        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
72344        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
72345        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
72346        (WebCore::HTMLElementStack::push):
72347        (WebCore::HTMLElementStack::insertAbove):
72348        (WebCore::HTMLElementStack::find):
72349        (WebCore::HTMLElementStack::topmost):
72350        (WebCore::HTMLElementStack::contains):
72351        (WebCore::inScopeCommon):
72352        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
72353        (WebCore::HTMLElementStack::htmlElement):
72354        (WebCore::HTMLElementStack::rootNode):
72355        (WebCore::HTMLElementStack::pushCommon):
72356        * html/parser/HTMLElementStack.h:
72357        (WebCore::HTMLElementStack::ElementRecord::element):
72358        (WebCore::HTMLElementStack::ElementRecord::node):
72359        (WebCore::HTMLElementStack::topNode):
72360        * html/parser/HTMLTreeBuilder.cpp:
72361        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
72362        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
72363        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
72364        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
72365        (WebCore::HTMLTreeBuilder::processStartTag):
72366        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
72367        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
72368        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
72369        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
72370        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
72371        (WebCore::HTMLTreeBuilder::processEndTag):
72372        (WebCore::HTMLTreeBuilder::processEndOfFile):
72373        (WebCore::HTMLTreeBuilder::finished):
72374        * html/parser/HTMLTreeBuilder.h:
72375
723762011-03-02  Yury Semikhatsky  <yurys@chromium.org>
72377
72378        Reviewed by Pavel Feldman.
72379
72380        Web Inspector: inspector protocol should allow different domains to have methods with same name
72381        https://bugs.webkit.org/show_bug.cgi?id=55558
72382
72383        * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only).
72384
723852011-03-02  Pavel Podivilov  <podivilov@chromium.org>
72386
72387        Reviewed by Yury Semikhatsky.
72388
72389        Web Inspector: make selected call frame debugger presentation model property.
72390        https://bugs.webkit.org/show_bug.cgi?id=55582
72391
72392        * inspector/front-end/CallStackSidebarPane.js:
72393        (WebInspector.CallStackSidebarPane):
72394        (WebInspector.CallStackSidebarPane.prototype.update):
72395        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
72396        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
72397        * inspector/front-end/ConsoleView.js:
72398        (WebInspector.ConsoleView.prototype.completions):
72399        * inspector/front-end/DebuggerPresentationModel.js:
72400        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
72401        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
72402        * inspector/front-end/ScriptsPanel.js:
72403        (WebInspector.ScriptsPanel):
72404        (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame):
72405        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
72406        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
72407        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
72408
724092011-03-03  Jia Pu  <jpu@apple.com>
72410
72411        Reviewed by Darin Adler.
72412
72413        On Mac OS X, spelling suggestion panel stops showing up after change set 80121
72414        https://bugs.webkit.org/show_bug.cgi?id=55628
72415
72416        Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121.
72417
72418        * editing/Editor.cpp:
72419        (WebCore::Editor::appliedEditing):
72420        * manual-tests/autocorrection/autocorrection-contraction.html:
72421
724222011-03-03  Pavel Podivilov  <podivilov@chromium.org>
72423
72424        Reviewed by Pavel Feldman.
72425
72426        Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js.
72427        https://bugs.webkit.org/show_bug.cgi?id=55569
72428
72429        sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel.
72430
72431        * inspector/front-end/DebuggerPresentationModel.js:
72432        * inspector/front-end/ScriptsPanel.js:
72433
724342011-03-03  Steve Block  <steveblock@google.com>
72435
72436        Reviewed by David Levin.
72437
72438        JavaString API should be implementable by both JSC and V8
72439        https://bugs.webkit.org/show_bug.cgi?id=55567
72440
72441        Remove JavaString's UString operator and replace it with a
72442        script-engine-independent impl() method, which returns a
72443        StringImpl and can be implemented with both JSC and V8.
72444
72445        No new tests, refactoring only. 
72446
72447        * bridge/jni/JNIBridge.h:
72448        (JSC::Bindings::JavaString::impl):
72449        * bridge/jni/jni_jsobject.mm:
72450        (JavaJSObject::call):
72451        (JavaJSObject::eval):
72452        (JavaJSObject::getMember):
72453        (JavaJSObject::setMember):
72454        (JavaJSObject::removeMember):
72455        * bridge/jni/jsc/JNIBridgeJSC.cpp:
72456        (JavaField::valueFromInstance):
72457        (JavaField::setValueToInstance):
72458        * bridge/jni/jsc/JavaClassJSC.cpp:
72459        (JavaClass::JavaClass):
72460        * bridge/jni/jsc/JavaInstanceJSC.cpp:
72461        (JavaInstance::invokeMethod):
72462        * bridge/jni/jsc/JavaStringJSC.h:
72463        (JSC::Bindings::JavaStringImpl::impl):
72464        * bridge/jni/v8/JavaStringV8.h:
72465        (JSC::Bindings::JavaStringImpl::impl):
72466
724672011-03-03  Benjamin Poulain  <ikipou@gmail.com>
72468
72469        Reviewed by Adam Roben.
72470
72471        REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot
72472        https://bugs.webkit.org/show_bug.cgi?id=55602
72473
72474        Delete the FloatingObject referenced by m_floatingObjects when clearing the floats.
72475
72476        The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The
72477        objects need to be deleted manually with ListHashSet.
72478
72479        * rendering/RenderBlock.cpp:
72480        (WebCore::RenderBlock::clearFloats):
72481
724822011-03-03  Hans Wennborg  <hans@chromium.org>
72483
72484        Reviewed by Jeremy Orlow.
72485
72486        IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore
72487        https://bugs.webkit.org/show_bug.cgi?id=55376
72488
72489        Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl,
72490        IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl.
72491
72492        No new functionality, so no new tests.
72493
72494        * storage/IDBBackingStore.cpp:
72495        (WebCore::lowerCursorWhereFragment):
72496        (WebCore::upperCursorWhereFragment):
72497        (WebCore::IDBBackingStore::deleteObjectStoreRecord):
72498        (WebCore::IDBBackingStore::keyExistsInObjectStore):
72499        (WebCore::IDBBackingStore::getObjectViaIndex):
72500        (WebCore::keyFromQuery):
72501        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
72502        (WebCore::IDBBackingStore::keyExistsInIndex):
72503        (WebCore::CursorImplCommon::CursorImplCommon::continueInternal):
72504        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
72505        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId):
72506        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key):
72507        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value):
72508        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction):
72509        (WebCore::IDBBackingStore::openObjectStoreCursor):
72510        (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
72511        (WebCore::ObjectStoreCursorImpl::currentRowExists):
72512        (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
72513        (WebCore::IndexKeyCursorImpl::indexDataId):
72514        (WebCore::IndexKeyCursorImpl::key):
72515        (WebCore::IndexKeyCursorImpl::primaryKey):
72516        (WebCore::IndexKeyCursorImpl::continueFunction):
72517        (WebCore::IDBBackingStore::openIndexKeyCursor):
72518        (WebCore::IndexKeyCursorImpl::loadCurrentRow):
72519        (WebCore::IndexKeyCursorImpl::currentRowExists):
72520        (WebCore::IndexCursorImpl::IndexCursorImpl):
72521        (WebCore::IndexCursorImpl::indexDataId):
72522        (WebCore::IndexCursorImpl::key):
72523        (WebCore::IndexCursorImpl::primaryKey):
72524        (WebCore::IndexCursorImpl::value):
72525        (WebCore::IndexCursorImpl::continueFunction):
72526        (WebCore::IDBBackingStore::openIndexCursor):
72527        (WebCore::IndexCursorImpl::loadCurrentRow):
72528        (WebCore::IndexCursorImpl::currentRowExists):
72529        * storage/IDBBackingStore.h:
72530        (WebCore::IDBBackingStore::Cursor::~Cursor):
72531        * storage/IDBCursorBackendImpl.cpp:
72532        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
72533        (WebCore::IDBCursorBackendImpl::key):
72534        (WebCore::IDBCursorBackendImpl::value):
72535        (WebCore::IDBCursorBackendImpl::update):
72536        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
72537        (WebCore::IDBCursorBackendImpl::deleteFunction):
72538        * storage/IDBCursorBackendImpl.h:
72539        (WebCore::IDBCursorBackendImpl::create):
72540        * storage/IDBIndexBackendImpl.cpp:
72541        (WebCore::IDBIndexBackendImpl::openCursorInternal):
72542        (WebCore::IDBIndexBackendImpl::getInternal):
72543        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
72544        * storage/IDBIndexBackendImpl.h:
72545        * storage/IDBKey.cpp:
72546        (WebCore::IDBKey::isEqual):
72547        * storage/IDBKey.h:
72548        * storage/IDBKeyRange.cpp:
72549        * storage/IDBKeyRange.h:
72550        * storage/IDBObjectStoreBackendImpl.cpp:
72551        (WebCore::IDBObjectStoreBackendImpl::putInternal):
72552        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
72553        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
72554        * storage/IDBObjectStoreBackendImpl.h:
72555
725562011-03-03  Peter Kasting  <pkasting@google.com>
72557
72558        Reviewed by James Robinson.
72559
72560        Drop redundant "Windows; " from the Windows-specific User Agent string.
72561        https://bugs.webkit.org/show_bug.cgi?id=54567
72562
72563        * StringsNotToBeLocalized.txt:
72564
725652011-03-03  Mario Sanchez Prada  <msanchez@igalia.com>
72566
72567        Reviewed by Martin Robinson.
72568
72569        [GTK] Combo boxes should emit object:selection-changed even when collapsed
72570        https://bugs.webkit.org/show_bug.cgi?id=53146
72571
72572        Emit the selection-changed signals when the menu list value has changed
72573
72574        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
72575
72576        * accessibility/gtk/AXObjectCacheAtk.cpp:
72577        (WebCore::getListObject): New, return the right list object for
72578        menu lists and list boxes.
72579        (WebCore::notifyChildrenSelectionChange): Support menu lists.
72580        (WebCore::AXObjectCache::postPlatformNotification): Call function
72581        notifyChildrenSelectionChange for AXMenuListValueChanged.
72582
725832011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
72584
72585        Reviewed by Tony Chang.
72586
72587        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
72588        https://bugs.webkit.org/show_bug.cgi?id=55338
72589
72590        Include wtf/Forward.h instead of wtf/text/String.h
72591
72592        * editing/EditingStyle.h:
72593
725942011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
72595
72596        Unreviewed trivial fix after r80169.
72597
72598        [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
72599        https://bugs.webkit.org/show_bug.cgi?id=55484
72600
72601        * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++.
72602
72603
726042011-03-02  MORITA Hajime  <morrita@google.com>
72605
72606        Reviewed by Kent Tamura.
72607
72608        [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction
72609        https://bugs.webkit.org/show_bug.cgi?id=54440
72610
72611        - Extracted FrameActionScheduler from FrameView
72612        - Extracted FrameAction abstract class from ScheduledEvent,
72613          which has fire() virtual method.
72614        - Renamed ScheduledEvent EventFrameAction
72615        
72616        With this change, Any action can be hooked up to the end of the layout.
72617        
72618        No new tests. No behavioral change.
72619
72620        * Android.mk:
72621        * CMakeLists.txt:
72622        * GNUmakefile.am:
72623        * WebCore.gypi:
72624        * WebCore.pro:
72625        * WebCore.vcproj/WebCore.vcproj:
72626        * WebCore.xcodeproj/project.pbxproj:
72627        * page/FrameActionScheduler.cpp: Added.
72628        (WebCore::EventFrameAction::EventFrameAction):
72629        (WebCore::EventFrameAction::fire):
72630        (WebCore::FrameActionScheduler::FrameActionScheduler):
72631        (WebCore::FrameActionScheduler::~FrameActionScheduler):
72632        (WebCore::FrameActionScheduler::isEmpty):
72633        (WebCore::FrameActionScheduler::clear):
72634        (WebCore::FrameActionScheduler::pause):
72635        (WebCore::FrameActionScheduler::resume):
72636        (WebCore::FrameActionScheduler::dispatch):
72637        (WebCore::FrameActionScheduler::scheduleAction):
72638        (WebCore::FrameActionScheduler::scheduleEvent):
72639        * page/FrameActionScheduler.h: Added.
72640        (WebCore::FrameAction::FrameAction):
72641        (WebCore::FrameAction::~FrameAction):
72642        (WebCore::FrameActionScheduler::isScheduled):
72643        * page/FrameView.cpp:
72644        (WebCore::FrameView::FrameView):
72645        (WebCore::FrameView::~FrameView):
72646        (WebCore::FrameView::layout):
72647        (WebCore::FrameView::scheduleEvent):
72648        (WebCore::FrameView::pauseScheduledEvents):
72649        (WebCore::FrameView::resumeScheduledEvents):
72650        (WebCore::FrameView::performPostLayoutTasks):
72651        (WebCore::FrameView::updateOverflowStatus):
72652        * page/FrameView.h:
72653
726542011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
72655
72656        Unreviewed, rolling out r80201.
72657        http://trac.webkit.org/changeset/80201
72658        https://bugs.webkit.org/show_bug.cgi?id=55648
72659
72660        "caused tests to crash on several bots" (Requested by rniwa on
72661        #webkit).
72662
72663        * dom/Element.h:
72664        (WebCore::Node::hasTagName):
72665        * dom/Node.h:
72666        * html/parser/HTMLConstructionSite.cpp:
72667        (WebCore::HTMLNames::hasImpliedEndTag):
72668        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
72669        (WebCore::HTMLConstructionSite::insertComment):
72670        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
72671        (WebCore::HTMLConstructionSite::attachToCurrent):
72672        (WebCore::HTMLConstructionSite::insertScriptElement):
72673        (WebCore::HTMLConstructionSite::insertTextNode):
72674        (WebCore::HTMLConstructionSite::createElement):
72675        (WebCore::HTMLConstructionSite::createHTMLElement):
72676        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
72677        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
72678        (WebCore::HTMLConstructionSite::findFosterSite):
72679        (WebCore::HTMLConstructionSite::shouldFosterParent):
72680        * html/parser/HTMLConstructionSite.h:
72681        * html/parser/HTMLElementStack.cpp:
72682        (WebCore::HTMLNames::isNumberedHeaderElement):
72683        (WebCore::HTMLNames::isScopeMarker):
72684        (WebCore::HTMLNames::isListItemScopeMarker):
72685        (WebCore::HTMLNames::isTableScopeMarker):
72686        (WebCore::HTMLNames::isTableBodyScopeMarker):
72687        (WebCore::HTMLNames::isTableRowScopeMarker):
72688        (WebCore::HTMLNames::isButtonScopeMarker):
72689        (WebCore::HTMLNames::isSelectScopeMarker):
72690        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
72691        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
72692        (WebCore::HTMLElementStack::HTMLElementStack):
72693        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
72694        (WebCore::HTMLElementStack::popAll):
72695        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
72696        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
72697        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
72698        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
72699        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
72700        (WebCore::HTMLElementStack::push):
72701        (WebCore::HTMLElementStack::insertAbove):
72702        (WebCore::HTMLElementStack::find):
72703        (WebCore::HTMLElementStack::topmost):
72704        (WebCore::inScopeCommon):
72705        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
72706        (WebCore::HTMLElementStack::htmlElement):
72707        (WebCore::HTMLElementStack::bodyElement):
72708        (WebCore::HTMLElementStack::pushCommon):
72709        * html/parser/HTMLElementStack.h:
72710        (WebCore::HTMLElementStack::ElementRecord::element):
72711        (WebCore::HTMLElementStack::top):
72712        * html/parser/HTMLTreeBuilder.cpp:
72713        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
72714        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
72715        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
72716        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
72717        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
72718        (WebCore::HTMLTreeBuilder::processStartTag):
72719        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
72720        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
72721        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
72722        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
72723        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
72724        (WebCore::HTMLTreeBuilder::processEndTag):
72725        (WebCore::HTMLTreeBuilder::processEndOfFile):
72726        (WebCore::HTMLTreeBuilder::finished):
72727        * html/parser/HTMLTreeBuilder.h:
72728
727292011-03-02  Yury Semikhatsky  <yurys@chromium.org>
72730
72731        Reviewed by Pavel Feldman.
72732
72733        Web Inspector: break down InspectorFrontend into domain-specific classes
72734        https://bugs.webkit.org/show_bug.cgi?id=55584
72735
72736        * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for
72737        all domains that have event notifications.
72738        * inspector/ConsoleMessage.cpp:
72739        (WebCore::ConsoleMessage::addToFrontend):
72740        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
72741        * inspector/ConsoleMessage.h:
72742        * inspector/InjectedScriptHost.cpp:
72743        (WebCore::InjectedScriptHost::inspectImpl):
72744        * inspector/Inspector.idl:
72745        * inspector/InspectorAgent.cpp:
72746        (WebCore::InspectorAgent::inspectedPageDestroyed):
72747        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
72748        (WebCore::InspectorAgent::setFrontend):
72749        (WebCore::InspectorAgent::disconnectFrontend):
72750        (WebCore::InspectorAgent::populateScriptObjects):
72751        (WebCore::InspectorAgent::pushDataCollectedOffline):
72752        (WebCore::InspectorAgent::didCommitLoad):
72753        (WebCore::InspectorAgent::domContentLoadedEventFired):
72754        (WebCore::InspectorAgent::loadEventFired):
72755        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
72756        (WebCore::InspectorAgent::evaluateForTestInFrontend):
72757        (WebCore::InspectorAgent::showPanel):
72758        * inspector/InspectorApplicationCacheAgent.cpp:
72759        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
72760        * inspector/InspectorApplicationCacheAgent.h:
72761        * inspector/InspectorConsoleAgent.cpp:
72762        (WebCore::InspectorConsoleAgent::setFrontend):
72763        * inspector/InspectorConsoleAgent.h:
72764        * inspector/InspectorController.cpp:
72765        (WebCore::InspectorController::show):
72766        (WebCore::InspectorController::close):
72767        * inspector/InspectorDOMAgent.cpp:
72768        (WebCore::InspectorDOMAgent::setFrontend):
72769        * inspector/InspectorDOMAgent.h:
72770        * inspector/InspectorDOMStorageResource.cpp:
72771        (WebCore::InspectorDOMStorageResource::bind):
72772        * inspector/InspectorDOMStorageResource.h:
72773        * inspector/InspectorDatabaseAgent.cpp:
72774        (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
72775        (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
72776        (WebCore::InspectorDatabaseAgent::setFrontend):
72777        * inspector/InspectorDatabaseResource.cpp:
72778        (WebCore::InspectorDatabaseResource::bind):
72779        * inspector/InspectorDatabaseResource.h:
72780        * inspector/InspectorDebuggerAgent.cpp:
72781        (WebCore::InspectorDebuggerAgent::setFrontend):
72782        * inspector/InspectorDebuggerAgent.h:
72783        * inspector/InspectorProfilerAgent.cpp:
72784        * inspector/InspectorProfilerAgent.h:
72785        (WebCore::InspectorProfilerAgent::setFrontend):
72786        (WebCore::InspectorProfilerAgent::clearFrontend):
72787        * inspector/InspectorResourceAgent.cpp:
72788        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
72789        * inspector/InspectorResourceAgent.h:
72790        * inspector/InspectorTimelineAgent.cpp:
72791        (WebCore::InspectorTimelineAgent::setFrontend):
72792        * inspector/InspectorTimelineAgent.h:
72793        * inspector/front-end/DOMAgent.js:
72794        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
72795        (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult):
72796        * inspector/front-end/inspector.js:
72797
727982011-03-02  Kent Tamura  <tkent@chromium.org>
72799
72800        Unreviewed, a trivial regression fix.
72801
72802        Fix LocalizedNumberICU regression by r80198 and r80199.
72803        https://bugs.webkit.org/show_bug.cgi?id=55629
72804
72805        * platform/text/LocalizedNumberICU.cpp:
72806          We should use U_SUCCESS().
72807        (WebCore::createFormatterForCurrentLocale):
72808        (WebCore::parseLocalizedNumber):
72809
728102011-03-02  Dan Bernstein  <mitz@apple.com>
72811
72812        Let Xcode know that Localizable.strings is UTF-16-encoded.
72813
72814        * WebCore.xcodeproj/project.pbxproj:
72815
728162011-03-02  Andy Estes  <aestes@apple.com>
72817
72818        Reviewed by Eric Seidel.
72819
72820        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
72821        https://bugs.webkit.org/show_bug.cgi?id=48719
72822        
72823        Instead of pushing a fake HTMLHtmlElement onto the open element stack
72824        during fragment parsing only to later remove it and reparent its
72825        children to the DocumentFragment, push the DocumentFragment directly
72826        onto the open element stack as the root node. This requires refactoring
72827        HTMLElementStack to hold ContainerNode pointers rather than Element
72828        pointers, which has implications for HTMLConstructionSite and
72829        HTMLTreeBuilder as well.
72830        
72831        With this patch, the regression in Peacekeeper due to the introduction
72832        of the HTML5 fragment parsing algorithm is ~14%. The regression from
72833        Safari 5.0.3 is ~24%.
72834
72835        No new tests. No change in behavior.
72836
72837        * dom/Element.h:
72838        (WebCore::Node::hasLocalName):
72839        * dom/Node.h:
72840        * html/parser/HTMLConstructionSite.cpp:
72841        (WebCore::HTMLNames::hasImpliedEndTag):
72842        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
72843        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
72844        (WebCore::HTMLConstructionSite::insertComment):
72845        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
72846        (WebCore::HTMLConstructionSite::attachToCurrent):
72847        (WebCore::HTMLConstructionSite::insertScriptElement):
72848        (WebCore::HTMLConstructionSite::insertTextNode):
72849        (WebCore::HTMLConstructionSite::createElement):
72850        (WebCore::HTMLConstructionSite::createHTMLElement):
72851        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
72852        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
72853        (WebCore::HTMLConstructionSite::findFosterSite):
72854        (WebCore::HTMLConstructionSite::shouldFosterParent):
72855        * html/parser/HTMLConstructionSite.h:
72856        (WebCore::HTMLConstructionSite::currentNode):
72857        * html/parser/HTMLElementStack.cpp:
72858        (WebCore::HTMLNames::isNumberedHeaderElement):
72859        (WebCore::HTMLNames::isScopeMarker):
72860        (WebCore::HTMLNames::isListItemScopeMarker):
72861        (WebCore::HTMLNames::isTableScopeMarker):
72862        (WebCore::HTMLNames::isTableBodyScopeMarker):
72863        (WebCore::HTMLNames::isTableRowScopeMarker):
72864        (WebCore::HTMLNames::isButtonScopeMarker):
72865        (WebCore::HTMLNames::isSelectScopeMarker):
72866        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
72867        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
72868        (WebCore::HTMLElementStack::HTMLElementStack):
72869        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
72870        (WebCore::HTMLElementStack::popAll):
72871        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
72872        (WebCore::HTMLElementStack::popUntil):
72873        (WebCore::HTMLElementStack::popUntilPopped):
72874        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
72875        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
72876        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
72877        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
72878        (WebCore::HTMLElementStack::push):
72879        (WebCore::HTMLElementStack::insertAbove):
72880        (WebCore::HTMLElementStack::find):
72881        (WebCore::HTMLElementStack::topmost):
72882        (WebCore::HTMLElementStack::contains):
72883        (WebCore::inScopeCommon):
72884        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
72885        (WebCore::HTMLElementStack::htmlElement):
72886        (WebCore::HTMLElementStack::rootNode):
72887        (WebCore::HTMLElementStack::pushCommon):
72888        * html/parser/HTMLElementStack.h:
72889        (WebCore::HTMLElementStack::ElementRecord::element):
72890        (WebCore::HTMLElementStack::ElementRecord::node):
72891        (WebCore::HTMLElementStack::topNode):
72892        * html/parser/HTMLTreeBuilder.cpp:
72893        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
72894        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
72895        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
72896        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
72897        (WebCore::HTMLTreeBuilder::processStartTag):
72898        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
72899        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
72900        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
72901        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
72902        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
72903        (WebCore::HTMLTreeBuilder::processEndTag):
72904        (WebCore::HTMLTreeBuilder::processEndOfFile):
72905        (WebCore::HTMLTreeBuilder::finished):
72906        * html/parser/HTMLTreeBuilder.h:
72907
729082011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
72909
72910        Unreviewed, rolling out r80188.
72911        http://trac.webkit.org/changeset/80188
72912        https://bugs.webkit.org/show_bug.cgi?id=55647
72913
72914        Broke the WebKit API tests. (Requested by xenon on #webkit).
72915
72916        * WebCore.exp.in:
72917
729182011-03-02  Kent Tamura  <tkent@chromium.org>
72919
72920        Unreviewed, build fix.
72921
72922        * platform/text/LocalizedNumberICU.cpp:
72923        (WebCore::createFormatterForCurrentLocale): Fix a typo.
72924
729252011-03-02  Kent Tamura  <tkent@chromium.org>
72926
72927        Reviewed by Darin Adler.
72928
72929        Caching number formatter instances in LocalizedNumber* implementations
72930        https://bugs.webkit.org/show_bug.cgi?id=55629
72931
72932        No new tests. This change doesn't change existing behavior, and is
72933        covered by existing tests.
72934
72935        * platform/text/LocalizedNumberICU.cpp:
72936        (WebCore::createFormatterForCurrentLocale):
72937        (WebCore::numberFormatter): Introduce a function to return a static
72938          instance of NumberFormat.
72939        (WebCore::parseLocalizedNumber): Use numberFormatter().
72940        (WebCore::formatLocalizedNumber): Use numberFormatter().
72941        * platform/text/mac/LocalizedNumberMac.mm:
72942        (WebCore::createFormatterForCurrentLocale):
72943        (WebCore::numberFormatter): Introduce a function to return a static
72944          instance of NSNumberFormatter.
72945        (WebCore::parseLocalizedNumber): Use numberFormatter().
72946        (WebCore::formatLocalizedNumber): Use numberFormatter().
72947
729482011-03-02  Levi Weintraub  <leviw@chromium.org>
72949
72950        Reviewed by Ryosuke Niwa.
72951
72952        deprecatedEditingOffset should actually return the expected deprecated value for "after" positions
72953        https://bugs.webkit.org/show_bug.cgi?id=54986
72954
72955        Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions
72956        until we can update all the call sites to consider the new position types.
72957
72958        No tests. This is intended to simplify the transition to new Positions, not to change behavior.
72959
72960        * dom/Position.cpp:
72961        (WebCore::Position::deprecatedEditingOffset):
72962        (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring
72963        inline-speed for most calls to deprecatedEditingOffset.
72964        * dom/Position.h:
72965
729662011-03-02  Timothy Hatcher  <timothy@apple.com>
72967
72968        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
72969
72970        Reviewed by Darin Adler.
72971
72972        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
72973
729742011-03-02  Daniel Cheng  <dcheng@chromium.org>
72975
72976        Reviewed by David Levin.
72977
72978        Manually revert ChromiumDataObject changes.
72979        https://bugs.webkit.org/show_bug.cgi?id=55627
72980
72981        No new tests since no functionality should change.
72982
72983        * WebCore.gypi:
72984        * editing/chromium/EditorChromium.cpp:
72985        (WebCore::Editor::newGeneralClipboard):
72986        * page/chromium/EventHandlerChromium.cpp:
72987        (WebCore::EventHandler::createDraggingClipboard):
72988        * platform/chromium/ChromiumDataObject.cpp:
72989        (WebCore::ChromiumDataObject::clearData):
72990        (WebCore::ChromiumDataObject::clearAll):
72991        (WebCore::ChromiumDataObject::clearAllExceptFiles):
72992        (WebCore::ChromiumDataObject::hasData):
72993        (WebCore::ChromiumDataObject::types):
72994        (WebCore::ChromiumDataObject::getData):
72995        (WebCore::ChromiumDataObject::setData):
72996        (WebCore::ChromiumDataObject::ChromiumDataObject):
72997        * platform/chromium/ChromiumDataObject.h:
72998        (WebCore::ChromiumDataObject::create):
72999        (WebCore::ChromiumDataObject::copy):
73000        (WebCore::ChromiumDataObject::urlTitle):
73001        (WebCore::ChromiumDataObject::setUrlTitle):
73002        (WebCore::ChromiumDataObject::htmlBaseUrl):
73003        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
73004        (WebCore::ChromiumDataObject::containsFilenames):
73005        (WebCore::ChromiumDataObject::filenames):
73006        (WebCore::ChromiumDataObject::setFilenames):
73007        (WebCore::ChromiumDataObject::fileExtension):
73008        (WebCore::ChromiumDataObject::setFileExtension):
73009        (WebCore::ChromiumDataObject::fileContentFilename):
73010        (WebCore::ChromiumDataObject::setFileContentFilename):
73011        (WebCore::ChromiumDataObject::fileContent):
73012        (WebCore::ChromiumDataObject::setFileContent):
73013        * platform/chromium/ClipboardChromium.cpp:
73014        * platform/chromium/ClipboardChromium.h:
73015
730162011-03-02  David Grogan  <dgrogan@chromium.org>
73017
73018        Reviewed by Jeremy Orlow.
73019
73020        IndexedDB: fire versionchange events when calling setVersion
73021        https://bugs.webkit.org/show_bug.cgi?id=55095
73022
73023        * dom/EventNames.h:
73024        * storage/IDBDatabase.cpp:
73025        (WebCore::IDBDatabase::setVersion):
73026        (WebCore::IDBDatabase::close):
73027        (WebCore::IDBDatabase::onVersionChange):
73028        (WebCore::IDBDatabase::open):
73029        (WebCore::IDBDatabase::enqueueEvent):
73030        (WebCore::IDBDatabase::dispatchEvent):
73031        * storage/IDBDatabase.h:
73032        (WebCore::IDBDatabase::dispatchEvent):
73033        * storage/IDBDatabase.idl:
73034        * storage/IDBDatabaseBackendImpl.cpp:
73035        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
73036        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks):
73037        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
73038        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
73039        (WebCore::IDBDatabaseBackendImpl::setVersion):
73040        (WebCore::IDBDatabaseBackendImpl::open):
73041        (WebCore::IDBDatabaseBackendImpl::close):
73042        * storage/IDBDatabaseBackendImpl.h:
73043        * storage/IDBDatabaseBackendInterface.h:
73044        * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
73045        (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks):
73046        * storage/IDBFactoryBackendImpl.cpp:
73047        (WebCore::IDBFactoryBackendImpl::open):
73048        * storage/IDBRequest.cpp:
73049        (WebCore::IDBRequest::onSuccess):
73050        * storage/IDBVersionChangeEvent.cpp:
73051        (WebCore::IDBVersionChangeEvent::create):
73052        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
73053        * storage/IDBVersionChangeEvent.h:
73054        * storage/IDBVersionChangeRequest.cpp:
73055        (WebCore::IDBVersionChangeRequest::onBlocked):
73056
730572011-03-02  Alexey Proskuryakov  <ap@apple.com>
73058
73059        Fix assertion failures on Gtk bot.
73060
73061        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
73062        assertion. We can get here with non-Tab key events when spatial navigation is enabled.
73063
730642011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
73065
73066        Unreviewed, rolling out r80139.
73067        http://trac.webkit.org/changeset/80139
73068        https://bugs.webkit.org/show_bug.cgi?id=55620
73069
73070        failing and crashing tests on Snow Leopard bot (Requested by
73071        mihaip1 on #webkit).
73072
73073        * page/DOMWindow.cpp:
73074        * page/DOMWindow.h:
73075        * page/Frame.cpp:
73076        (WebCore::Frame::pageDestroyed):
73077        (WebCore::Frame::transferChildFrameToNewDocument):
73078        * page/Frame.h:
73079        (WebCore::Frame::detachFromPage):
73080        * page/Geolocation.cpp:
73081        (WebCore::Geolocation::~Geolocation):
73082        (WebCore::Geolocation::disconnectFrame):
73083        (WebCore::Geolocation::lastPosition):
73084        (WebCore::Geolocation::requestPermission):
73085        (WebCore::Geolocation::startUpdating):
73086        (WebCore::Geolocation::stopUpdating):
73087        * page/Geolocation.h:
73088        * page/GeolocationController.cpp:
73089        (WebCore::GeolocationController::~GeolocationController):
73090        * page/Navigator.cpp:
73091        * page/Navigator.h:
73092        * platform/mock/GeolocationClientMock.cpp:
73093        * platform/mock/GeolocationClientMock.h:
73094
730952011-03-02  Jessie Berlin  <jberlin@apple.com>
73096
73097        Reviewed by Adam Roben.
73098
73099        WebKit2: Use CFNetwork Sessions API.
73100        https://bugs.webkit.org/show_bug.cgi?id=55435
73101
73102        Add the ability to create a Private Browsing Storage Session.
73103
73104        * WebCore.exp.in:
73105        Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase.
73106
73107        * page/Settings.cpp:
73108        (WebCore::Settings::setPrivateBrowsingEnabled):
73109        Propagate the private browsing state to the ResourceHandle.
73110
73111        * platform/mac/WebCoreSystemInterface.h:
73112        Add the function declaration for wkCreatePrivateStorageSession.
73113        * platform/mac/WebCoreSystemInterface.mm:
73114
73115        * platform/network/ResourceHandle.cpp:
73116        (WebCore::privateStorageSession):
73117        Since the same Private Browsing Storage Session will need to be accessed throughout the loading
73118        code and will need to be used by all web pages and page groups, make it a global static.
73119        (WebCore::privateBrowsingStorageSessionIdentifierBase):
73120        Ditto, since the identifier is needed to create the Private Browsing Storage Session.
73121        (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
73122        If enabled, create and store the Private Browsing Storage Session.
73123        (WebCore::ResourceHandle::privateBrowsingStorageSession):
73124        (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
73125        * platform/network/ResourceHandle.h:
73126
73127        * platform/network/cf/ResourceHandleCFNet.cpp:
73128        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
73129        The call to wkCreatePrivateStorageSession needs to be in a file including the correct
73130        version of WKSI.
73131        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
73132        Return the bundle identifier.
73133        * platform/network/mac/ResourceHandleMac.mm:
73134        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
73135        The call to wkCreatePrivateStorageSession needs to be in a file importing the correct
73136        version of WKSI.
73137        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
73138        Return the bundle identifier.
73139
731402011-03-02  Daniel Cheng  <dcheng@chromium.org>
73141
73142        Revert frame-specific WebClipboard changes
73143        https://bugs.webkit.org/show_bug.cgi?id=55617
73144
73145        This code is no longer needed since we've decided to use the original
73146        approach to copy/paste drag/drop handling in ClipboardChromium.
73147
73148        No new tests because no functionality changes.
73149
73150        * platform/chromium/ChromiumDataObject.cpp:
73151        (WebCore::ChromiumDataObject::createReadable):
73152        * platform/chromium/ChromiumDataObject.h:
73153        * platform/chromium/ClipboardChromium.cpp:
73154        (WebCore::ClipboardChromium::create):
73155        * platform/chromium/PlatformBridge.h:
73156        * platform/chromium/ReadableDataObject.cpp:
73157        (WebCore::ReadableDataObject::create):
73158        (WebCore::ReadableDataObject::ReadableDataObject):
73159        (WebCore::ReadableDataObject::getData):
73160        (WebCore::ReadableDataObject::urlTitle):
73161        (WebCore::ReadableDataObject::htmlBaseUrl):
73162        (WebCore::ReadableDataObject::filenames):
73163        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
73164        * platform/chromium/ReadableDataObject.h:
73165
731662011-03-02  Tony Chang  <tony@chromium.org>
73167
73168        Unreviewed, rolling chromium DEPS to r76362.
73169
73170        https://bugs.webkit.org/show_bug.cgi?id=55564
73171
73172        * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium
73173
731742011-03-02  Alexey Proskuryakov  <ap@apple.com>
73175
73176        Build fix.
73177
73178        * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these
73179        changes yet.
73180
731812011-03-02  Alexey Proskuryakov  <ap@apple.com>
73182
73183        Reviewed by John Sullivan.
73184
73185        Clean up WebCore tabsToLinks code a little
73186        https://bugs.webkit.org/show_bug.cgi?id=55606
73187
73188        No change in behavior, so no tests.
73189
73190        * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
73191        This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
73192
73193        * page/EventHandler.cpp:
73194        (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
73195        function cannot be file static, because EventHandlerMac.mm uses it.
73196        (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
73197        specific files. We can just as well have #if here. Renamed for clarity.
73198        (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
73199        works.
73200        
73201        * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
73202        in EventHandler.cpp.
73203
73204        * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73205        * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73206        * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73207        * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73208        * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73209        * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73210        * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
73211        * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73212        * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73213        * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
73214        Updating all port files.
73215
732162011-02-28  Jeremy Orlow  <jorlow@chromium.org>
73217
73218        Reviewed by James Robinson.
73219
73220        Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value
73221        https://bugs.webkit.org/show_bug.cgi?id=55443
73222
73223        Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948
73224
73225        The idea is to have an IDBCursor and an IDBCursorWithValue interface which
73226        inherits from the former.  index.openKeyCursor will return the former and
73227        index/objectStore.openCursor will return the latter.  We'll add a primaryKey
73228        attribute to IDBCursor.  It will always be the key of the associated object
73229        store entry.  For index.openCursor cursors, the key attribute will be the key
73230        of the index.  For objectStore.openCursors, it'll be the same as the
73231        primaryKey.  The value will be the value of the objectStore entry.
73232
73233        * WebCore.gypi:
73234        * bindings/scripts/CodeGeneratorV8.pm:
73235        * bindings/v8/SerializedScriptValue.cpp:
73236        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
73237        * bindings/v8/SerializedScriptValue.h:
73238        * bindings/v8/custom/V8IDBAnyCustom.cpp:
73239        (WebCore::toV8):
73240        * storage/IDBAny.cpp:
73241        (WebCore::IDBAny::idbCursorWithValue):
73242        (WebCore::IDBAny::set):
73243        * storage/IDBAny.h:
73244        * storage/IDBCursor.cpp:
73245        (WebCore::IDBCursor::create):
73246        (WebCore::IDBCursor::primaryKey):
73247        (WebCore::IDBCursor::value):
73248        * storage/IDBCursor.h:
73249        * storage/IDBCursor.idl:
73250        * storage/IDBCursorBackendImpl.cpp:
73251        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
73252        (WebCore::IDBCursorBackendImpl::primaryKey):
73253        (WebCore::IDBCursorBackendImpl::value):
73254        (WebCore::IDBCursorBackendImpl::update):
73255        (WebCore::IDBCursorBackendImpl::currentRowExists):
73256        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
73257        (WebCore::IDBCursorBackendImpl::deleteFunction):
73258        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
73259        * storage/IDBCursorBackendImpl.h:
73260        (WebCore::IDBCursorBackendImpl::create):
73261        * storage/IDBCursorBackendInterface.h:
73262        * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl.
73263        (WebCore::IDBCursorWithValue::create):
73264        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
73265        (WebCore::IDBCursorWithValue::~IDBCursorWithValue):
73266        * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
73267        * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
73268        * storage/IDBIndex.cpp:
73269        (WebCore::IDBIndex::openCursor):
73270        (WebCore::IDBIndex::openKeyCursor):
73271        * storage/IDBIndexBackendImpl.cpp:
73272        (WebCore::IDBIndexBackendImpl::openCursorInternal):
73273        (WebCore::IDBIndexBackendImpl::openCursor):
73274        (WebCore::IDBIndexBackendImpl::openKeyCursor):
73275        * storage/IDBIndexBackendImpl.h:
73276        * storage/IDBObjectStore.cpp:
73277        (WebCore::IDBObjectStore::openCursor):
73278        * storage/IDBObjectStoreBackendImpl.cpp:
73279        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
73280        * storage/IDBRequest.cpp:
73281        (WebCore::IDBRequest::IDBRequest):
73282        (WebCore::IDBRequest::setCursorType):
73283        (WebCore::IDBRequest::onSuccess):
73284        (WebCore::IDBRequest::dispatchEvent):
73285        * storage/IDBRequest.h:
73286
732872011-03-02  Aravind Akella  <aravind.akella@nokia.com>
73288
73289         Reviewed by Csaba Osztrogonác.
73290
73291         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
73292         https://bugs.webkit.org/show_bug.cgi?id=55484
73293
73294         Using AllInOne files to avoid memory exhaustion for debug 
73295         builds on 32 bit linux machines.
73296
73297         No new tests. Fixing a build issue.
73298
73299         * WebCore.pro:
73300
733012011-03-02  Daniel Cheng  <dcheng@chromium.org>
73302
73303        Reviewed by David Levin.
73304
73305        Add feature define for data transfer items
73306        https://bugs.webkit.org/show_bug.cgi?id=55510
73307
73308        * Configurations/FeatureDefines.xcconfig:
73309        * GNUmakefile.am:
73310        * features.pri:
73311
733122011-03-02  Dimitri Glazkov  <dglazkov@chromium.org>
73313
73314        Update location of media-file.js, which was moved in r79630.
73315
73316        * manual-tests/media-controls.html: Updated location.
73317
733182011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
73319
73320        Unreviewed, rolling out r80156.
73321        http://trac.webkit.org/changeset/80156
73322        https://bugs.webkit.org/show_bug.cgi?id=55604
73323
73324        "Broke SL compile" (Requested by tonyg-cr on #webkit).
73325
73326        * bridge/jni/JNIBridge.h:
73327        (JSC::Bindings::JavaString::operator UString):
73328        * bridge/jni/jni_jsobject.mm:
73329        (JavaJSObject::call):
73330        (JavaJSObject::eval):
73331        (JavaJSObject::getMember):
73332        (JavaJSObject::setMember):
73333        (JavaJSObject::removeMember):
73334        * bridge/jni/jsc/JavaClassJSC.cpp:
73335        (JavaClass::JavaClass):
73336        * bridge/jni/jsc/JavaStringJSC.h:
73337        (JSC::Bindings::JavaStringImpl::uString):
73338        * bridge/jni/v8/JavaStringV8.h:
73339
733402011-03-02  Steve Block  <steveblock@google.com>
73341
73342        Reviewed by Jeremy Orlow.
73343
73344        JavaString API should be implementable by both JSC and V8
73345        https://bugs.webkit.org/show_bug.cgi?id=55567
73346
73347        Remove JavaString's UString operator and replace it with a
73348        script-engine-independent impl() method, which returns a
73349        StringImpl and can be implemented with both JSC and V8.
73350
73351        No new tests, refactoring only.
73352
73353        * bridge/jni/JNIBridge.h:
73354        (JSC::Bindings::JavaString::impl):
73355        * bridge/jni/jni_jsobject.mm:
73356        (JavaJSObject::call):
73357        (JavaJSObject::eval):
73358        (JavaJSObject::getMember):
73359        (JavaJSObject::setMember):
73360        (JavaJSObject::removeMember):
73361        * bridge/jni/jsc/JavaClassJSC.cpp:
73362        (JavaClass::JavaClass):
73363        * bridge/jni/jsc/JavaStringJSC.h:
73364        (JSC::Bindings::JavaStringImpl::impl):
73365        * bridge/jni/v8/JavaStringV8.h:
73366        (JSC::Bindings::JavaStringImpl::impl):
73367
733682011-03-02  Mihai Parparita  <mihaip@chromium.org>
73369
73370        Reviewed by Dimitri Glazkov.
73371
73372        Add CRASH() for CSSSelector double frees
73373        https://bugs.webkit.org/show_bug.cgi?id=55596
73374        
73375        To help track down bug 53045, add a CRASH call when the CSSSelector
73376        destructor is invoked more than once.
73377
73378        Just a check, no new tests necessary.
73379
73380        * css/CSSSelector.h:
73381        (WebCore::CSSSelector::CSSSelector):
73382        (WebCore::CSSSelector::~CSSSelector):
73383
733842011-03-02  Carol Szabo  <carol.szabo@nokia.com>
73385
73386        Reviewed by David Hyatt  <hyatt@apple.com>
73387
73388        content property doesn't support quotes
73389        https://bugs.webkit.org/show_bug.cgi?id=6503
73390
73391        Added full support for quotes as defined by CSS 2.1.
73392
73393        Tests: fast/css/content/content-quotes-01.html
73394               fast/css/content/content-quotes-02.html
73395               fast/css/content/content-quotes-03.html
73396               fast/css/content/content-quotes-04.html
73397               fast/css/content/content-quotes-05.html
73398               fast/css/content/content-quotes-06.html
73399
73400        * Android.mk:
73401        * CMakeLists.txt:
73402        * GNUmakefile.am:
73403        * WebCore.gypi:
73404        * WebCore.pro:
73405        * WebCore.vcproj/WebCore.vcproj:
73406        * WebCore.xcodeproj/project.pbxproj:
73407        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
73408        * css/CSSParser.cpp:
73409        (WebCore::CSSParser::parseValue):
73410        (WebCore::CSSParser::parseQuotes):
73411        * css/CSSParser.h:
73412        Added needed stylesheet parsing support for quotes,
73413        (no-)open-quote and (no-)close-quote
73414        * css/CSSStyleSelector.cpp:
73415        (WebCore::CSSStyleSelector::applyProperty):
73416        Handled setting of the new quotes RenderStyle property and added
73417        handling of quotes for the content property.
73418        * css/html.css:
73419        (q:before):
73420        (q:after):
73421        replaced the '"' workaround with open/close-quote
73422        * rendering/RenderBlockLineLayout.cpp:
73423        (WebCore::dirtyLineBoxesForRenderer):
73424        Made RenderQuote behave like RenderCounter.
73425        Needed to ensure that the Quote text is calculated before layout,
73426        just as it is for RenderCounter.
73427        * rendering/RenderObject.h:
73428        (WebCore::RenderObject::isQuote):
73429        * rendering/RenderObjectChildList.cpp:
73430        (WebCore::RenderObjectChildList::removeChildNode):
73431        (WebCore::RenderObjectChildList::appendChildNode):
73432        (WebCore::RenderObjectChildList::insertChildNode):
73433        Handled updating of quote depth when renderers are added and removed
73434        from the tree.
73435        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
73436        Added support for Quote content.
73437        * rendering/RenderQuote.cpp: Added.
73438        (WebCore::adjustDepth):
73439        (WebCore::RenderQuote::RenderQuote):
73440        (WebCore::RenderQuote::~RenderQuote):
73441        (WebCore::RenderQuote::renderName):
73442        (WebCore::RenderQuote::placeQuote):
73443        (WebCore::LanguageData::operator<):
73444        (WebCore::defaultLanguageQuotes):
73445        (WebCore::quotesMap):
73446        (WebCore::quotesForLanguage):
73447        (WebCore::defaultQuotes):
73448        (WebCore::RenderQuote::originalText):
73449        (WebCore::RenderQuote::computePreferredLogicalWidths):
73450        (WebCore::RenderQuote::rendererSubtreeAttached):
73451        (WebCore::RenderQuote::rendererRemovedFromTree):
73452        (WebCore::RenderQuote::styleDidChange):
73453        * rendering/RenderQuote.h: Added.
73454        (WebCore::RenderQuote::isQuote):
73455        (WebCore::toRenderQuote):
73456        * rendering/RenderingAllInOne.cpp:
73457        Included RenderQuote.cpp
73458        * rendering/style/StyleAllInOne.cpp:
73459        Included QuotesData.cpp
73460        * rendering/style/ContentData.cpp:
73461        (WebCore::ContentData::dataEquivalent):
73462        Checked for quotetype identity.
73463        (WebCore::ContentData::deleteContent):
73464        Accounted for the new QUOTE_TYPE.
73465        * rendering/style/ContentData.h:
73466        (WebCore::ContentData::isQuote):
73467        (WebCore::ContentData::quote):
73468        (WebCore::ContentData::setQuote):
73469        * rendering/style/QuotesData.cpp: Added.
73470        (WebCore::QuotesData::create):
73471        (WebCore::QuotesData::operator==):
73472        (WebCore::QuotesData::~QuotesData):
73473        * rendering/style/QuotesData.h: Added.
73474        (WebCore::QuotesData::data):
73475        (WebCore::QuotesData::operator delete):
73476        (WebCore::QuotesData::QuotesData):
73477        * rendering/style/RenderStyle.cpp:
73478        (WebCore::RenderStyle::setContent):
73479        (WebCore::RenderStyle::setQuotes):
73480        * rendering/style/RenderStyle.h:
73481        (WebCore::InheritedFlags::quotes):
73482        (WebCore::InheritedFlags::setQuotes):
73483        * rendering/style/RenderStyleConstants.h:
73484        * rendering/style/StyleAllInOne.cpp:
73485        Added QuotesData.cpp to the included files list.
73486        * rendering/style/StyleRareInheritedData.cpp:
73487        (WebCore::StyleRareInheritedData::operator==):
73488        Included quotes in equality check.
73489        * rendering/style/StyleRareInheritedData.h:
73490        Added quotes
73491
734922011-03-02  Antti Koivisto  <antti@apple.com>
73493
73494        Reviewed by Dave Hyatt.
73495
73496        Selector usage flags should not be set by the CSS parser
73497        https://bugs.webkit.org/show_bug.cgi?id=55573
73498        
73499        Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as 
73500        we may parse stylesheets that are not actually used for document rendering. This is especially bad when
73501        the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes 
73502        triggered by complex selectors for no good reason.
73503        
73504        - Use the selector traversal in style selector constructor to figure out which flags
73505          are actually needed for the currently active style sheets.
73506        - Remove the selector flag related code from the CSS parser/grammar.
73507        - Remove the usesDescendantRules flag completely. We have descendant rules in the default
73508          style sheet, every document uses them.
73509
73510        * css/CSSGrammar.y:
73511        * css/CSSParser.cpp:
73512        (WebCore::CSSParser::updateSpecifiersWithElementName):
73513        * css/CSSStyleSelector.cpp:
73514        (WebCore::collectSiblingRulesInDefaultStyle):
73515        (WebCore::CSSStyleSelector::CSSStyleSelector):
73516        (WebCore::CSSStyleSelector::Features::Features):
73517        (WebCore::CSSStyleSelector::Features::~Features):
73518        (WebCore::CSSStyleSelector::locateCousinList):
73519        (WebCore::CSSStyleSelector::matchesSiblingRules):
73520        (WebCore::CSSStyleSelector::canShareStyleWithElement):
73521        (WebCore::CSSStyleSelector::locateSharedStyle):
73522        (WebCore::collectFeaturesFromSelector):
73523        (WebCore::collectFeaturesFromList):
73524        (WebCore::RuleSet::collectFeatures):
73525        * css/CSSStyleSelector.h:
73526        (WebCore::CSSStyleSelector::usesSiblingRules):
73527        (WebCore::CSSStyleSelector::usesFirstLineRules):
73528        (WebCore::CSSStyleSelector::usesBeforeAfterRules):
73529        (WebCore::CSSStyleSelector::usesLinkRules):
73530        * dom/Document.cpp:
73531        (WebCore::Document::Document):
73532        (WebCore::Document::recalcStyle):
73533        (WebCore::Document::createStyleSelector):
73534        * dom/Document.h:
73535        (WebCore::Document::usesSiblingRules):
73536        (WebCore::Document::setUsesSiblingRules):
73537        (WebCore::Document::usesFirstLineRules):
73538        (WebCore::Document::usesBeforeAfterRules):
73539        (WebCore::Document::setUsesBeforeAfterRules):
73540        * dom/Element.cpp:
73541        (WebCore::Element::recalcStyle):
73542
735432011-03-02  Brian Weinstein  <bweinstein@apple.com>
73544
73545        Fix fallout from a last minute renaming.
73546
73547        * platform/network/cf/CookieStorageCFNet.cpp:
73548        (WebCore::startObservingCookieChanges):
73549        (WebCore::stopObservingCookieChanges):
73550
735512011-03-01  Brian Weinstein  <bweinstein@apple.com>
73552
73553        Reviewed by Adam Roben.
73554
73555        Part of WebKit2: Need a way to send notifications to client when cookies change
73556        https://bugs.webkit.org/show_bug.cgi?id=55427
73557        <rdar://problem/9056027>
73558        
73559        Add functions on CookieStorage that allow listening for changes in cookies. When
73560        the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged.
73561
73562        No change in behavior requiring tests.
73563
73564        * platform/CookiesStrategy.h: Added.
73565        (WebCore::CookiesStrategy::~CookiesStrategy):
73566
73567        * platform/PlatformStrategies.h:
73568        (WebCore::PlatformStrategies::cookiesStrategy):
73569        (WebCore::PlatformStrategies::PlatformStrategies):
73570
73571        * platform/network/CookieStorage.h: Add new function declarations.
73572
73573        * platform/network/cf/CookieStorageCFNet.cpp:
73574        (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged.
73575        (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread.
73576        (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop.
73577        (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop.
73578
73579        * platform/network/mac/CookieStorageMac.mm:
73580        (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged.
73581        (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on 
73582            the main thread.
73583        (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications.
73584        (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications.
73585        (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications.
73586        (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications.
73587        
73588        Add new file.
73589        * WebCore.vcproj/WebCore.vcproj:
73590        * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private.
73591
735922011-03-02  Sergey Glazunov  <serg.glazunov@gmail.com>
73593
73594        Reviewed by Dimitri Glazkov.
73595
73596        A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules
73597        https://bugs.webkit.org/show_bug.cgi?id=55488
73598
73599        Test: fast/css/css-keyframe-parent.html
73600
73601        * css/WebKitCSSKeyframesRule.cpp:
73602        (WebCore::WebKitCSSKeyframesRule::append):
73603
736042011-03-02  Sergio Villar Senin  <svillar@igalia.com>
73605
73606        Reviewed by Martin Robinson.
73607
73608        [GTK] Add support for external protocol handlers
73609        https://bugs.webkit.org/show_bug.cgi?id=55473
73610
73611        Do not unconditionally create and replace the SoupRequester of the
73612        SoupSession if there is already one. No new tests needed as we
73613        just allow clients to create their our SoupRequesters.
73614
73615        * platform/network/soup/ResourceHandleSoup.cpp:
73616        (WebCore::ensureSessionIsInitialized):
73617
736182011-03-02  John Knottenbelt  <jknotten@chromium.org>
73619
73620        Reviewed by jknotten@chromium.org.
73621
73622        Fix build-breakage when GEOLOCATION not enabled.
73623        https://bugs.webkit.org/show_bug.cgi?id=55586
73624
73625        Geolocation::reset needs to be defined if ENABLE(GEOLOCATION)
73626        is not true.
73627
73628        * page/Geolocation.cpp:
73629        (WebCore::Geolocation::reset):
73630
736312011-03-02  Pavel Feldman  <pfeldman@chromium.org>
73632
73633        Reviewed by Yury Semikhatsky.
73634
73635        Web Inspector: remove InjectedScriptHost -> DOMAgent dependency.
73636        https://bugs.webkit.org/show_bug.cgi?id=55575
73637
73638        * bindings/js/JSInjectedScriptHostCustom.cpp:
73639        (WebCore::JSInjectedScriptHost::inspectedNode):
73640        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
73641        (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
73642        * inspector/ConsoleMessage.cpp:
73643        (WebCore::ConsoleMessage::addToFrontend):
73644        * inspector/InjectedScript.cpp:
73645        (WebCore::InjectedScript::evaluateOn):
73646        (WebCore::InjectedScript::wrapObject):
73647        (WebCore::InjectedScript::wrapNode):
73648        (WebCore::InjectedScript::inspectNode):
73649        (WebCore::InjectedScript::nodeAsScriptValue):
73650        * inspector/InjectedScript.h:
73651        * inspector/InjectedScriptHost.cpp:
73652        (WebCore::InjectedScriptHost::addInspectedNode):
73653        (WebCore::InjectedScriptHost::clearInspectedNodes):
73654        (WebCore::InjectedScriptHost::copyText):
73655        (WebCore::InjectedScriptHost::inspectedNode):
73656        * inspector/InjectedScriptHost.h:
73657        * inspector/InjectedScriptHost.idl:
73658        * inspector/InjectedScriptSource.js:
73659        * inspector/Inspector.idl:
73660        * inspector/InspectorDOMAgent.cpp:
73661        (WebCore::InspectorDOMAgent::discardBindings):
73662        (WebCore::InspectorDOMAgent::addInspectedNode):
73663        (WebCore::InspectorDOMAgent::resolveNode):
73664        (WebCore::InspectorDOMAgent::injectedScriptForNode):
73665        * inspector/InspectorDOMAgent.h:
73666        * inspector/InspectorRuntimeAgent.cpp:
73667        (WebCore::InspectorRuntimeAgent::evaluateOn):
73668        * inspector/InspectorRuntimeAgent.h:
73669        * inspector/front-end/ElementsTreeOutline.js:
73670        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
73671        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
73672        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
73673        * inspector/front-end/PropertiesSidebarPane.js:
73674        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
73675        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
73676        (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
73677        (WebInspector.PropertiesSidebarPane.prototype.update):
73678        * inspector/front-end/RemoteObject.js:
73679        (WebInspector.RemoteObject.resolveNode):
73680        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
73681        (WebInspector.RemoteObject.prototype.evaluate):
73682
736832011-01-21  John Knottenbelt  <jknotten@chromium.org>
73684
73685        Reviewed by Dmitry Titov.
73686
73687        Detach Geolocation from Frame when Page destroyed.
73688        https://bugs.webkit.org/show_bug.cgi?id=52877
73689
73690        On Page destruction, any outstanding Geolocation permission
73691        requests should be cancelled, because the Geolocation can only
73692        access the client indirectly via m_frame->page().
73693
73694        Additionally, if the Frame is reparented to another page, the
73695        Geolocation should cancel watches, single-shots and requests on
73696        the old page.
73697
73698        Page destruction is signalled by a call to the
73699        Frame::pageDestroyed() method. This calls Frame::detachFromPage,
73700        where we extend the call chain to Geolocation::detachFromPage()
73701        where we call Geolocation::reset() which detaches from the
73702        GeolocationController, cancels requests, watches and single shots,
73703        and sets the permission state back to Unknown.
73704
73705        We also now call detachFromPage when the frame reparented in
73706        Frame::transferChildFrameToNewDocument.
73707
73708        Frame::pageDestroyed() is also called by FrameLoader even though
73709        the page is not destroyed. We should still cancel permission
73710        requests, because the GeolocationClient will become inaccessible
73711        to the Geolocation object after this call.
73712
73713        Since GeolocationController is owned by Page, and all Geolocation
73714        objects will now unsubscribe from the GeolocationController on
73715        pageDetached(), we no longer need to call stopUpdating() from the
73716        GeolocationController's destructor. Instead we can simply assert
73717        that there should be no no observers. See related bug
73718        https://bugs.webkit.org/show_bug.cgi?id=52216 .
73719
73720        Introduced new method 'numberOfPendingPermissionRequests' on
73721        GeolocationClientMock to count the number of outstanding pending
73722        permission requests. This provides a reusable implementation for
73723        client-based implementations of the LayoutTestController's
73724        numberOfPendingGeolocationPermissionRequests method.
73725
73726        Tests: fast/dom/Geolocation/iframe-reparent.html
73727               fast/dom/Geolocation/page-reload-cancel-permission-requests.html
73728
73729        * page/DOMWindow.cpp:
73730        (WebCore::DOMWindow::resetGeolocationPermissions):
73731        * page/DOMWindow.h:
73732        * page/Frame.cpp:
73733        (WebCore::Frame::detachFromPage):
73734        (WebCore::Frame::pageDestroyed):
73735        (WebCore::Frame::transferChildFrameToNewDocument):
73736        * page/Frame.h:
73737        * page/Geolocation.cpp:
73738        (WebCore::Geolocation::~Geolocation):
73739        (WebCore::Geolocation::page):
73740        (WebCore::Geolocation::reset):
73741        (WebCore::Geolocation::disconnectFrame):
73742        (WebCore::Geolocation::lastPosition):
73743        (WebCore::Geolocation::requestPermission):
73744        (WebCore::Geolocation::startUpdating):
73745        (WebCore::Geolocation::stopUpdating):
73746        * page/Geolocation.h:
73747        * page/GeolocationController.cpp:
73748        (WebCore::GeolocationController::~GeolocationController):
73749        * page/Navigator.cpp:
73750        (WebCore::Navigator::resetGeolocationPermissions):
73751        * page/Navigator.h:
73752        * platform/mock/GeolocationClientMock.cpp:
73753        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
73754        * platform/mock/GeolocationClientMock.h:
73755
737562011-03-02  Mikhail Naganov  <mnaganov@chromium.org>
73757
73758        Reviewed by Pavel Feldman.
73759
73760        Web Inspector: [Chromium] Landing detailed heap snapshots, part 4.
73761        https://bugs.webkit.org/show_bug.cgi?id=55563
73762
73763        This part adds implementations for data grids used to display
73764        different heap snapshots projections. We are almost done.
73765
73766        * English.lproj/localizedStrings.js:
73767        * WebCore.gypi:
73768        * bindings/v8/ScriptHeapSnapshot.cpp:
73769        (WebCore::ScriptHeapSnapshot::getExactRetainedSize):
73770        * bindings/v8/ScriptHeapSnapshot.h:
73771        * inspector/Inspector.idl:
73772        * inspector/InspectorProfilerAgent.cpp:
73773        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
73774        * inspector/InspectorProfilerAgent.h:
73775        * inspector/front-end/DetailedHeapshotGridNodes.js:
73776        (WebInspector.HeapSnapshotObjectNode):
73777        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
73778        (WebInspector.HeapSnapshotInstanceNode):
73779        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
73780        (WebInspector.HeapSnapshotDominatorObjectNode):
73781        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
73782        (MixInSnapshotNodeFunctions):
73783        * inspector/front-end/DetailedHeapshotView.js:
73784        (WebInspector.HeapSnapshotContainmentDataGrid):
73785        (WebInspector.HeapSnapshotSortableDataGrid):
73786        (WebInspector.HeapSnapshotConstructorsDataGrid):
73787        (WebInspector.HeapSnapshotDiffDataGrid):
73788        (WebInspector.HeapSnapshotDominatorsDataGrid):
73789        (WebInspector.HeapSnapshotRetainingPathsList):
73790        (WebInspector.DetailedHeapshotView.profileCallback):
73791        (WebInspector.DetailedHeapshotView):
73792        * inspector/front-end/HeapSnapshot.js:
73793        (WebInspector.HeapSnapshotEdge.prototype.get isInvisible):
73794        (WebInspector.HeapSnapshotEdge.prototype.toString):
73795        (WebInspector.HeapSnapshot.prototype._init):
73796        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
73797        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
73798        (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
73799        * inspector/front-end/Images/helpButtonGlyph.png: Added.
73800        * inspector/front-end/Panel.js:
73801        (WebInspector.Panel.prototype.reset):
73802        * inspector/front-end/Popover.js:
73803        (WebInspector.Popover):
73804        (WebInspector.Popover.prototype.show):
73805        (WebInspector.Popover.prototype.hide):
73806        (WebInspector.Popover.prototype.get visible):
73807        * inspector/front-end/ProfilesPanel.js:
73808        (WebInspector.ProfilesPanel.prototype._reset):
73809        (WebInspector.ProfilesPanel.prototype.getProfile):
73810        * inspector/front-end/heapProfiler.css:
73811        * inspector/front-end/inspector.js:
73812        (WebInspector.resetFocusElement):
73813
738142011-03-02  David Kilzer  <ddkilzer@apple.com>
73815
73816        <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp
73817
73818        Reviewed by Darin Adler.
73819
73820        Change "#if GL_APPLE_vertex_array_object" macros to check that
73821        GL_APPLE_vertex_array_object is both defined and non-zero.
73822
73823        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
73824        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
73825        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove
73826        empty #else clause.
73827        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
73828        (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early
73829        return check.  Remove #else clause that would never have
73830        compiled (since array is not a WTF::String).
73831
738322011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
73833
73834        Reviewed by Darin Adler.
73835
73836        Assertion failure after removing a selection in keydown handler
73837        https://bugs.webkit.org/show_bug.cgi?id=51389
73838
73839        The bug was caused by textWillBeReplaced's not always updating selection, and
73840        shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's
73841        at the end of replaced data.
73842
73843        Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition
73844        to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call
73845        to setSelection instead of directly modifying m_selection to notify all the clients.
73846        Namely, the call to EditorClient::respondToChangedSelection is required for
73847        setting-input-value-cancel-ime-composition.html.
73848
73849        Note that we must update layout before calling setSelection because setSelection calls
73850        setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests
73851        such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable.
73852
73853        Test: editing/input/setting-input-value-cancel-ime-composition.html
73854
73855        * editing/SelectionController.cpp:
73856        (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset
73857        of the selection end must be updated even if it was at the end of the replaced text.
73858        e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not
73859        "hello  WebK[it". Note we don't move the offset if no text is removed because appending
73860        "world" to "hello ]" should result in "hello ]world" not "hello world]".
73861        (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update
73862        the selection instead of modifying m_selection directly.
73863
738642011-03-02  Andrey Adaikin  <aandrey@google.com>
73865
73866        Reviewed by Pavel Feldman.
73867
73868        Web Inspector: highlighted line does not span horizonally in scripts panel while debugging.
73869        https://bugs.webkit.org/show_bug.cgi?id=54675
73870
73871        * inspector/front-end/TextViewer.js:
73872        (WebInspector.TextViewer.prototype._syncScroll):
73873        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
73874        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
73875        (WebInspector.TextEditorGutterPanel):
73876        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
73877        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
73878        (WebInspector.TextEditorMainPanel):
73879        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
73880        (WebInspector.TextEditorMainPanel.prototype._getSelection):
73881        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
73882        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
73883        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
73884        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
73885        * inspector/front-end/textViewer.css:
73886        (.inner-container):
73887
738882011-03-02  Oleg Romashin  <romaxa@gmail.com>
73889
73890        Reviewed by Andreas Kling.
73891
73892        Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled
73893        https://bugs.webkit.org/show_bug.cgi?id=55477
73894
73895        * inspector/InspectorAgent.cpp:
73896        (WebCore::InspectorAgent::populateScriptObjects):
73897
738982011-03-02  Kent Tamura  <tkent@chromium.org>
73899
73900        Unreviewed, a trivial fix for r80096.
73901
73902        REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure
73903        https://bugs.webkit.org/show_bug.cgi?id=55562
73904
73905        * platform/text/LocalizedNumberICU.cpp:
73906        (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse()
73907          to reject strings with a valid number + extra letters.
73908
739092011-03-02  Steve Block  <steveblock@google.com>
73910
73911        Reviewed by Jeremy Orlow.
73912
73913        JObjectWrapper should be moved to its own file
73914        https://bugs.webkit.org/show_bug.cgi?id=55384
73915
73916        No new tests, refactoring only.
73917
73918        * Android.v8bindings.mk:
73919        * WebCore.gypi:
73920        * bridge/jni/v8/JNIBridgeV8.cpp:
73921        (JavaField::JavaField):
73922        * bridge/jni/v8/JNIBridgeV8.h:
73923        * bridge/jni/v8/JavaInstanceV8.cpp:
73924        (JavaInstance::JavaInstance):
73925        * bridge/jni/v8/JavaInstanceV8.h:
73926        * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
73927        (JobjectWrapper::JobjectWrapper):
73928        (JobjectWrapper::~JobjectWrapper):
73929        * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
73930        (JSC::Bindings::JobjectWrapper::instance):
73931        (JSC::Bindings::JobjectWrapper::setInstance):
73932        (JSC::Bindings::JobjectWrapper::ref):
73933        (JSC::Bindings::JobjectWrapper::deref):
73934
739352011-02-25  Andrey Kosyakov  <caseq@chromium.org>
73936
73937        Reviewed by Pavel Feldman.
73938
73939        Web Inspector: factor search logic out of inspector.js
73940        https://bugs.webkit.org/show_bug.cgi?id=54965
73941
73942        * WebCore.gypi:
73943        * WebCore.vcproj/WebCore.vcproj:
73944        * inspector/front-end/ElementsPanel.js:
73945        (WebInspector.ElementsPanel.prototype.searchCanceled):
73946        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
73947        (WebInspector.ElementsPanel.prototype._updateMatchesCount):
73948        * inspector/front-end/Panel.js:
73949        (WebInspector.Panel.prototype.searchCanceled):
73950        (WebInspector.Panel.prototype.performSearch.updateMatchesCount):
73951        * inspector/front-end/ScriptsPanel.js:
73952        (WebInspector.ScriptsPanel.prototype.searchCanceled):
73953        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
73954        (WebInspector.ScriptsPanel.prototype.performSearch):
73955        * inspector/front-end/SearchController.js: Added.
73956        (WebInspector.SearchController):
73957        (WebInspector.SearchController.prototype.updateSearchMatchesCount):
73958        (WebInspector.SearchController.prototype.updateSearchLabel):
73959        (WebInspector.SearchController.prototype.cancelSearch):
73960        (WebInspector.SearchController.prototype.handleShortcut):
73961        (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
73962        (WebInspector.SearchController.prototype.activePanelChanged):
73963        (WebInspector.SearchController.prototype._updateSearchMatchesCount):
73964        (WebInspector.SearchController.prototype._focusSearchField):
73965        (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
73966        (WebInspector.SearchController.prototype._onKeyDown):
73967        (WebInspector.SearchController.prototype._onSearch):
73968        (WebInspector.SearchController.prototype._performSearch):
73969        * inspector/front-end/WebKit.qrc:
73970        * inspector/front-end/inspector.html:
73971        * inspector/front-end/inspector.js:
73972        (WebInspector.set currentPanel):
73973        (WebInspector.set attached):
73974        (WebInspector.doLoadedDone):
73975        (WebInspector.documentKeyDown):
73976
739772011-03-02  Renata Hodovan  <reni@webkit.org>
73978
73979        Reviewed by Andreas Kling.
73980
73981        FEMorphologyElement changes doesn't require relayout
73982        https://bugs.webkit.org/show_bug.cgi?id=55462
73983
73984        When the FEMorphologyElement receives an update message but the given value remains the same we don't need
73985        to relayout the filter.
73986
73987        No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
73988
73989        * platform/graphics/filters/FEMorphology.cpp:
73990        (WebCore::FEMorphology::setMorphologyOperator):
73991        (WebCore::FEMorphology::setRadiusX):
73992        (WebCore::FEMorphology::setRadiusY):
73993        * platform/graphics/filters/FEMorphology.h:
73994        * svg/SVGFEMorphologyElement.cpp:
73995        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
73996        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
73997        * svg/SVGFEMorphologyElement.h:
73998
739992011-03-01  Kent Tamura  <tkent@chromium.org>
74000
74001        Reviewed by Dimitri Glazkov.
74002
74003        Assertion fails when a form validation bubble appears
74004        https://bugs.webkit.org/show_bug.cgi?id=55550
74005
74006        Test: fast/forms/interactive-validation-attach-assertion.html
74007
74008        * html/ValidationMessage.cpp:
74009        (WebCore::ValidationMessage::buildBubbleTree):
74010         Just remove unnecessary attach().
74011
740122011-03-01  Kent Tamura  <tkent@chromium.org>
74013
74014        Reviewed by Dimitri Glazkov.
74015
74016        Support localized numbers in <input type=number>
74017        https://bugs.webkit.org/show_bug.cgi?id=42484
74018
74019        This change adds support of localized numbers in <input type=number>.
74020        This affects only the UI, and not HTMLInputElement::value.
74021
74022        - Remove the keyboard input restriction feature because it is hard to
74023          retrieve characters usable for localized numbers in ICU.
74024
74025        - Separate convertFromVisibleValue() from sanitizeValue().
74026          sanitizeValue() is used for not only converting a renderer value to a
74027          DOM value.
74028
74029        - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
74030          It is used only in Chromium for now.
74031
74032        Test: manual-tests/input-number-localization.html
74033
74034        * WebCore.gypi: Use LocalizedNumberICU.cpp.
74035        * WebCore.xcodeproj/project.pbxproj:
74036          Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
74037        * dom/InputElement.h: Introduce convertFromVisibleValue().
74038        * html/HTMLInputElement.cpp:
74039        (WebCore::HTMLInputElement::convertFromVisibleValue):
74040        * html/HTMLInputElement.h:
74041        * html/InputType.cpp:
74042        (WebCore::InputType::convertFromVisibleValue):
74043        * html/InputType.h:
74044        * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
74045          isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
74046          remove the keyboard input restriction feature for type=number.
74047        (WebCore::NumberInputType::convertFromVisibleValue):
74048        (WebCore::NumberInputType::sanitizeValue):
74049        * html/NumberInputType.h:
74050        * manual-tests/input-number-localization.html: Add a manual test because
74051          the behavior depends on the current locale.
74052        * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
74053        * platform/text/LocalizedNumberICU.cpp:
74054          Implement LocalizedNumber functions with ICU NumberFormat.
74055        (WebCore::createFormatterForCurrentLocale):
74056        (WebCore::parseLocalizedNumber):
74057        (WebCore::formatLocalizedNumber):
74058        * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
74059        * platform/text/mac/LocalizedNumberMac.mm:
74060          Implement LocalizedNumber functions with NSNumberFormatter.
74061        (WebCore::parseLocalizedNumber):
74062        (WebCore::formatLocalizedNumber):
74063        * rendering/RenderTextControlSingleLine.cpp:
74064        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
74065        * wml/WMLInputElement.h:
74066        (WebCore::WMLInputElement::convertFromVisibleValue):
74067          Implemented as a function doing nothing.
74068
740692011-03-01  Yuta Kitamura  <yutak@chromium.org>
74070
74071        Reviewed by Darin Adler.
74072
74073        REGRESSION(r78383): Failure to connect on websocketstest.com
74074        https://bugs.webkit.org/show_bug.cgi?id=54811
74075
74076        After r78383, KURL::setPort() no longer appends ":port" part
74077        if that port is the default port for URL scheme. This broke
74078        SocketStreamHandleCFNet, whose code was based on an assumption
74079        that KURL::setPort() always inserts ":port" part.
74080
74081        To fix this, KURL::port() call is removed from SocketStreamHandle
74082        and the port number is calculated on-the-fly.
74083
74084        Unfortunately it is impossible to write a test; this bug only
74085        affects WebSockets connecting to the default port (port 80
74086        for ws, port 443 for wss), while we use different ports to test
74087        WebSockets in LayoutTests.
74088
74089        * platform/network/cf/SocketStreamHandle.h:
74090        * platform/network/cf/SocketStreamHandleCFNet.cpp:
74091        (WebCore::SocketStreamHandle::SocketStreamHandle):
74092        (WebCore::SocketStreamHandle::createStreams):
74093        (WebCore::SocketStreamHandle::port):
74094
740952011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
74096
74097        Unreviewed, rolling out r80079.
74098        http://trac.webkit.org/changeset/80079
74099        https://bugs.webkit.org/show_bug.cgi?id=55547
74100
74101        "Broke the Win debug build?" (Requested by dcheng on #webkit).
74102
74103        * Configurations/FeatureDefines.xcconfig:
74104        * GNUmakefile.am:
74105        * features.pri:
74106
741072011-02-25  Adrienne Walker  <enne@google.com>
74108
74109        Reviewed by James Robinson.
74110
74111        [chromium] Abstract "pixels with a graphics context" into its own class
74112        https://bugs.webkit.org/show_bug.cgi?id=55259
74113
74114        This creates new PlatformCanvas/PlatformImage classes which wrap
74115        all of the #ifdef Skia/Cg warts from the compositor.  All classes
74116        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
74117        modified to use these abstractions.
74118
74119        Tests: LayoutTests/compositing
74120
74121        * WebCore.gypi:
74122        * platform/graphics/chromium/ContentLayerChromium.cpp:
74123        (WebCore::ContentLayerChromium::updateContentsIfDirty):
74124        (WebCore::ContentLayerChromium::resizeUploadBuffer):
74125        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
74126        (WebCore::ContentLayerChromium::updateTexture):
74127        (WebCore::ContentLayerChromium::draw):
74128        * platform/graphics/chromium/ContentLayerChromium.h:
74129        * platform/graphics/chromium/ImageLayerChromium.cpp:
74130        (WebCore::ImageLayerChromium::updateContentsIfDirty):
74131        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
74132        * platform/graphics/chromium/ImageLayerChromium.h:
74133        * platform/graphics/chromium/LayerTilerChromium.cpp:
74134        (WebCore::LayerTilerChromium::contentRectToTileIndices):
74135        (WebCore::LayerTilerChromium::update):
74136        (WebCore::LayerTilerChromium::updateFromPixels):
74137        * platform/graphics/chromium/LayerTilerChromium.h:
74138        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
74139        (WebCore::PlatformCanvas::PlatformCanvas):
74140        (WebCore::PlatformCanvas::~PlatformCanvas):
74141        (WebCore::PlatformCanvas::resize):
74142        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
74143        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
74144        (WebCore::PlatformCanvas::Painter::Painter):
74145        (WebCore::PlatformCanvas::Painter::~Painter):
74146        * platform/graphics/chromium/PlatformCanvas.h: Added.
74147        (WebCore::PlatformCanvas::AutoLocker::pixels):
74148        (WebCore::PlatformCanvas::Painter::context):
74149        (WebCore::PlatformCanvas::size):
74150        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
74151        (WebCore::PlatformImage::PlatformImage):
74152        (WebCore::PlatformImage::updateFromImage):
74153        * platform/graphics/chromium/PlatformImage.h: Added.
74154        (WebCore::PlatformImage::pixels):
74155        (WebCore::PlatformImage::size):
74156
741572011-03-01  Daniel Cheng  <dcheng@chromium.org>
74158
74159        Reviewed by David Levin.
74160
74161        Add feature define for data transfer items
74162        https://bugs.webkit.org/show_bug.cgi?id=55510
74163
74164        * Configurations/FeatureDefines.xcconfig:
74165        * GNUmakefile.am:
74166        * features.pri:
74167
741682011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
74169
74170        Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
74171
74172        * dom/ViewportArguments.cpp:
74173        (WebCore::computeViewportAttributes):
74174        (WebCore::numericPrefix):
74175        (WebCore::findSizeValue):
74176        (WebCore::setViewportFeature):
74177        (WebCore::viewportErrorMessageTemplate):
74178        (WebCore::viewportErrorMessageLevel):
74179        * dom/ViewportArguments.h:
74180
741812011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74182
74183        Reviewed by James Robinson.
74184
74185        IDBKeyRange.bound() should not use the optional options object
74186        https://bugs.webkit.org/show_bug.cgi?id=55419
74187
74188        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
74189
74190        Added some code to existing tests to cover these cases.
74191
74192        * storage/IDBKeyRange.cpp:
74193        (WebCore::IDBKeyRange::bound):
74194        * storage/IDBKeyRange.h:
74195        * storage/IDBKeyRange.idl:
74196
741972011-03-01  Dan Bernstein  <mitz@apple.com>
74198
74199        Build fix.
74200
74201        * dom/DocumentMarkerController.cpp:
74202        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
74203
742042011-03-01  Kent Tamura  <tkent@chromium.org>
74205
74206        Unreviewed. Apply sort-Xcode-project-file.
74207
74208        * WebCore.xcodeproj/project.pbxproj:
74209
742102011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74211
74212        Reviewed by James Robinson.
74213
74214        V8 code generator doesn't properly support a single SerializedScriptValue attribute
74215        https://bugs.webkit.org/show_bug.cgi?id=55530
74216
74217        This is tested by the bindings tests changes.
74218
74219        * bindings/scripts/CodeGeneratorV8.pm:
74220        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
74221        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
74222        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
74223        (WebDOMTestSerializedScriptValueInterface::operator=):
74224        (WebDOMTestSerializedScriptValueInterface::impl):
74225        (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
74226        (WebDOMTestSerializedScriptValueInterface::value):
74227        (toWebCore):
74228        (toWebKit):
74229        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
74230        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
74231        (WebKit::kit):
74232        (webkit_dom_test_serialized_script_value_interface_get_value):
74233        (WebKit::core):
74234        (webkit_dom_test_serialized_script_value_interface_finalize):
74235        (webkit_dom_test_serialized_script_value_interface_set_property):
74236        (webkit_dom_test_serialized_script_value_interface_get_property):
74237        (webkit_dom_test_serialized_script_value_interface_constructed):
74238        (webkit_dom_test_serialized_script_value_interface_class_init):
74239        (webkit_dom_test_serialized_script_value_interface_init):
74240        (WebKit::wrapTestSerializedScriptValueInterface):
74241        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
74242        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
74243        * bindings/scripts/test/JS/JSTestInterface.cpp:
74244        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
74245        (WebCore::JSTestInterface::JSTestInterface):
74246        * bindings/scripts/test/JS/JSTestInterface.h:
74247        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
74248        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
74249        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
74250        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
74251        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
74252        * bindings/scripts/test/JS/JSTestObj.cpp:
74253        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
74254        (WebCore::JSTestObj::JSTestObj):
74255        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
74256        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
74257        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
74258        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
74259        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
74260        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
74261        (WebCore::jsTestObjPrototypeFunctionIdbKey):
74262        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
74263        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
74264        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
74265        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
74266        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
74267        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
74268        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
74269        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
74270        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
74271        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
74272        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
74273        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
74274        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
74275        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
74276        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
74277        * bindings/scripts/test/JS/JSTestObj.h:
74278        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
74279        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
74280        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
74281        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
74282        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
74283        (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
74284        (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
74285        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
74286        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
74287        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
74288        (WebCore::jsTestSerializedScriptValueInterfaceValue):
74289        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
74290        (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
74291        (WebCore::toJS):
74292        (WebCore::toTestSerializedScriptValueInterface):
74293        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
74294        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
74295        (WebCore::JSTestSerializedScriptValueInterface::impl):
74296        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
74297        (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
74298        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
74299        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
74300        (-[DOMTestSerializedScriptValueInterface dealloc]):
74301        (-[DOMTestSerializedScriptValueInterface finalize]):
74302        (-[DOMTestSerializedScriptValueInterface value]):
74303        (core):
74304        (kit):
74305        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
74306        * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
74307        * bindings/scripts/test/V8/V8TestInterface.cpp:
74308        (WebCore::ConfigureV8TestInterfaceTemplate):
74309        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
74310        (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
74311        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
74312        (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
74313        (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
74314        (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
74315        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
74316        (WebCore::V8TestSerializedScriptValueInterface::derefObject):
74317        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
74318        (WebCore::V8TestSerializedScriptValueInterface::toNative):
74319        (WebCore::V8TestSerializedScriptValueInterface::wrap):
74320        (WebCore::toV8):
74321
743222011-03-01  Oliver Hunt  <oliver@apple.com>
74323
74324        Reviewed by Joseph Pecoraro.
74325
74326        Misaligned memory access in CloneDeserializer on all ARM arch.
74327        https://bugs.webkit.org/show_bug.cgi?id=48742
74328
74329        Push platforms that need aligned memory access down the
74330        endian independent serialization and deserialization
74331        paths.
74332
74333        * bindings/js/SerializedScriptValue.cpp:
74334
743352011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
74336
74337        Reviewed by Kenneth Rohde Christiansen.
74338
74339        Viewport Warning/Error Messages Are Now Inaccurate
74340        https://bugs.webkit.org/show_bug.cgi?id=53707
74341
74342        Correct and improve the error messages for viewport
74343        parsing. Clarify the difference between incorrect
74344        keys, values, and when to use the device-width or
74345        device-height constants.
74346
74347        * dom/ViewportArguments.cpp:
74348        (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
74349        (WebCore::numericPrefix):
74350        (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
74351        (WebCore::setViewportFeature): report a warning for an unrecognized key.
74352        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
74353        (WebCore::viewportErrorMessageLevel):
74354        * dom/ViewportArguments.h:
74355
743562011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
74357
74358        Reviewed by Darin Adler.
74359
74360        WebKit does not merge text decorations in the typing style and the selected element properly
74361        https://bugs.webkit.org/show_bug.cgi?id=55349
74362
74363        The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
74364        Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
74365        calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
74366
74367        Test: editing/execCommand/merge-text-decoration-with-typing-style.html
74368
74369        * editing/ApplyStyleCommand.cpp:
74370        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
74371        calls mergeInlineStyleOfElement.
74372        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
74373        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
74374        * editing/ApplyStyleCommand.h:
74375        * editing/EditingStyle.cpp:
74376        (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
74377        (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
74378        (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
74379        * editing/EditingStyle.h:
74380
743812011-03-01  Levi Weintraub  <leviw@chromium.org>
74382
74383        Reviewed by Ryosuke Niwa.
74384
74385        Stop instantiating legacy editing Positions in VisiblePosition
74386        https://bugs.webkit.org/show_bug.cgi?id=52919
74387
74388        Changing VisiblePosition completely away from legacy positions.
74389
74390        No new tests since this is functionaly equivalent.
74391
74392        * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
74393        adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
74394        outside of WebCore, they should be parent anchored.
74395        * accessibility/AXObjectCache.cpp:
74396        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
74397        * accessibility/AccessibilityObject.cpp:
74398        (WebCore::startOfStyleRange):
74399        (WebCore::endOfStyleRange):
74400        * accessibility/AccessibilityRenderObject.cpp:
74401        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
74402        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
74403        (objectAndOffsetUnignored):
74404        * dom/Position.cpp:
74405        (WebCore::Position::document): Added this inline function to avoid the necessity
74406        of calling anchorNode to assure a document from a Position.
74407        (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
74408        (WebCore::Position::downstream): ditto
74409        * dom/Range.cpp:
74410        (WebCore::Range::editingStartPosition):
74411        * editing/Editor.cpp:
74412        (WebCore::Editor::canDeleteRange):
74413        * editing/ReplaceSelectionCommand.cpp:
74414        (WebCore::ReplaceSelectionCommand::doApply):
74415        * editing/SelectionController.cpp:
74416        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
74417        (WebCore::SelectionController::setSelectedRange):
74418        * editing/TextIterator.cpp:
74419        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
74420        * editing/TypingCommand.cpp:
74421        (WebCore::TypingCommand::deleteKeyPressed):
74422        * editing/VisiblePosition.cpp:
74423        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
74424        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
74425        (WebCore::VisiblePosition::canonicalPosition):
74426        (WebCore::VisiblePosition::characterAfter):
74427        (WebCore::VisiblePosition::localCaretRect):
74428        (WebCore::makeRange):
74429        (WebCore::startVisiblePosition):
74430        (WebCore::endVisiblePosition):
74431        (WebCore::setStart):
74432        (WebCore::setEnd):
74433        (WebCore::isFirstVisiblePositionInNode):
74434        (WebCore::isLastVisiblePositionInNode):
74435        * editing/VisiblePosition.h:
74436        (WebCore::VisiblePosition::VisiblePosition):
74437        * editing/htmlediting.cpp:
74438        (WebCore::firstInSpecialElement):
74439        (WebCore::lastInSpecialElement):
74440        (WebCore::visiblePositionBeforeNode):
74441        (WebCore::visiblePositionAfterNode):
74442        * editing/visible_units.cpp:
74443        (WebCore::startPositionForLine):
74444        (WebCore::endPositionForLine):
74445        (WebCore::previousLinePosition):
74446        (WebCore::nextLinePosition):
74447        (WebCore::startOfParagraph):
74448        (WebCore::endOfParagraph):
74449        (WebCore::endOfBlock):
74450        (WebCore::startOfDocument):
74451        (WebCore::endOfDocument):
74452        (WebCore::logicalStartPositionForLine):
74453        (WebCore::logicalEndPositionForLine):
74454        * page/DOMSelection.cpp:
74455        (WebCore::DOMSelection::collapse):
74456        (WebCore::DOMSelection::setBaseAndExtent):
74457        (WebCore::DOMSelection::setPosition):
74458        (WebCore::DOMSelection::extend):
74459        * page/EventHandler.cpp:
74460        (WebCore::EventHandler::handleMousePressEventSingleClick):
74461        * rendering/RenderObject.cpp:
74462        (WebCore::RenderObject::createVisiblePosition):
74463        * rendering/RenderTextControl.cpp:
74464        (WebCore::RenderTextControl::visiblePositionForIndex):
74465        * svg/SVGTextContentElement.cpp:
74466        (WebCore::SVGTextContentElement::selectSubString):
74467
744682011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74469
74470       Reviewed by Steve Block.
74471
74472       When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
74473       https://bugs.webkit.org/show_bug.cgi?id=54785
74474
74475       This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
74476       the right thing and continue to do the right thing. It also modifies EventQueue
74477       so that we can cancel an event. To do this efficiently, the vector is now a
74478       ListHashSet.
74479
74480       Cancelling the event is harder/messier, but the most deterministic thing to do.
74481       To the user, the work isn't done until we fire the onsuccess/onerror handler.
74482       So the event (which does fire that) needs to be cancelable.
74483
74484       transaction-abort.html tests this.
74485
74486       * dom/EventQueue.cpp:
74487       (WebCore::EventQueue::enqueueEvent):
74488       (WebCore::EventQueue::cancelEvent):
74489       (WebCore::EventQueue::pendingEventTimerFired):
74490       (WebCore::EventQueue::dispatchEvent):
74491       * dom/EventQueue.h:
74492       * dom/ExceptionCode.cpp:
74493       * storage/IDBCursor.cpp:
74494       (WebCore::IDBCursor::update):
74495       (WebCore::IDBCursor::deleteFunction):
74496       * storage/IDBDatabaseBackendImpl.cpp:
74497       (WebCore::IDBDatabaseBackendImpl::close):
74498       * storage/IDBDatabaseException.h:
74499       * storage/IDBIndex.cpp:
74500       (WebCore::IDBIndex::openCursor):
74501       (WebCore::IDBIndex::openKeyCursor):
74502       (WebCore::IDBIndex::get):
74503       (WebCore::IDBIndex::getKey):
74504       * storage/IDBObjectStore.cpp:
74505       (WebCore::IDBObjectStore::get):
74506       (WebCore::IDBObjectStore::add):
74507       (WebCore::IDBObjectStore::put):
74508       (WebCore::IDBObjectStore::deleteFunction):
74509       (WebCore::IDBObjectStore::clear):
74510       (WebCore::IDBObjectStore::openCursor):
74511       * storage/IDBRequest.cpp:
74512       (WebCore::IDBRequest::IDBRequest):
74513       (WebCore::IDBRequest::~IDBRequest):
74514       (WebCore::IDBRequest::readyState):
74515       (WebCore::IDBRequest::markEarlyDeath):
74516       (WebCore::IDBRequest::source):
74517       (WebCore::IDBRequest::abort):
74518       (WebCore::IDBRequest::onSuccess):
74519       (WebCore::IDBRequest::dispatchEvent):
74520       (WebCore::IDBRequest::enqueueEvent):
74521       * storage/IDBRequest.h:
74522       * storage/IDBTransaction.cpp:
74523       (WebCore::IDBTransaction::registerRequest):
74524       (WebCore::IDBTransaction::unregisterRequest):
74525       (WebCore::IDBTransaction::onAbort):
74526       * storage/IDBTransaction.h:
74527
745282011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74529
74530        Reviewed by Mihai Parparita.
74531
74532        EventQueue needs to be ref counted
74533        https://bugs.webkit.org/show_bug.cgi?id=55512
74534
74535        EventQueue needs to be ref counted because it's possible for its instance
74536        to be deleted while it's dispatching events. This is the reason why
74537        https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
74538
74539        No change of behavior, so no tests.
74540
74541        * dom/Document.h:
74542        * dom/EventQueue.cpp:
74543        (WebCore::EventQueue::create):
74544        * dom/EventQueue.h:
74545
745462011-03-01  Helder Correia  <helder@sencha.com>
74547
74548        Reviewed by Simon Fraser.
74549
74550        No shadow when stroking a path with a gradient
74551        https://bugs.webkit.org/show_bug.cgi?id=55436
74552
74553        This happens in CG and is related to bug 52509, this time to be fixed
74554        in GraphicsContext::strokePath(). The gradient needs to be drawn
74555        clipped to the stroke on a CGLayer first, then the layer drawn on the
74556        GraphicsContext.
74557
74558        Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
74559               svg/css/path-gradient-stroke-shadow.svg
74560
74561        * platform/graphics/cg/GraphicsContextCG.cpp:
74562        (WebCore::GraphicsContext::strokePath):
74563
745642011-03-01  David Hyatt  <hyatt@apple.com>
74565
74566        Reviewed by Dan Bernstein.
74567
74568        Fix Font::spaceWidth() to be a float instead of an int.
74569
74570        * platform/graphics/Font.h:
74571        (WebCore::Font::spaceWidth):
74572
745732011-02-28  Steve Block  <steveblock@google.com>
74574
74575        Reviewed by Jeremy Orlow.
74576
74577        Chromium gypi file should include Java bridge files from WebCore/bridge
74578        https://bugs.webkit.org/show_bug.cgi?id=55387
74579
74580        No new tests, no code changes.
74581
74582        * WebCore.gyp/WebCore.gyp:
74583        * WebCore.gypi:
74584
745852011-03-01  James Simonsen  <simonjam@chromium.org>
74586
74587        Reviewed by Tony Gentilcore.
74588
74589        [Web Timing] Handle the case where no responseEnd time is available.
74590        https://bugs.webkit.org/show_bug.cgi?id=55444
74591
74592        * loader/MainResourceLoader.cpp:
74593        (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
74594        (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
74595
745962011-03-01  Patrick Gansterer  <paroga@webkit.org>
74597
74598        Unreviewed, adding missing change for r80034.
74599
74600        Add a handler class for Win32 HANDLE
74601        https://bugs.webkit.org/show_bug.cgi?id=55334
74602
74603        * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
74604
746052011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
74606
74607        Unreviewed, rolling out r80037.
74608        http://trac.webkit.org/changeset/80037
74609        https://bugs.webkit.org/show_bug.cgi?id=55508
74610
74611        broke compile on SL (Requested by tonyg-cr on #webkit).
74612
74613        * Android.mk:
74614        * CMakeLists.txt:
74615        * GNUmakefile.am:
74616        * WebCore.gypi:
74617        * WebCore.pro:
74618        * WebCore.vcproj/WebCore.vcproj:
74619        * WebCore.xcodeproj/project.pbxproj:
74620        * css/CSSParser.cpp:
74621        (WebCore::CSSParser::parseValue):
74622        * css/CSSParser.h:
74623        * css/CSSStyleSelector.cpp:
74624        (WebCore::CSSStyleSelector::applyProperty):
74625        * css/html.css:
74626        (q:before):
74627        (q:after):
74628        * rendering/RenderBlockLineLayout.cpp:
74629        (WebCore::dirtyLineBoxesForRenderer):
74630        * rendering/RenderObject.h:
74631        * rendering/RenderObjectChildList.cpp:
74632        (WebCore::RenderObjectChildList::removeChildNode):
74633        (WebCore::RenderObjectChildList::appendChildNode):
74634        (WebCore::RenderObjectChildList::insertChildNode):
74635        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
74636        * rendering/RenderQuote.cpp: Removed.
74637        * rendering/RenderQuote.h: Removed.
74638        * rendering/RenderingAllInOne.cpp:
74639        * rendering/style/ContentData.cpp:
74640        (WebCore::ContentData::dataEquivalent):
74641        (WebCore::ContentData::deleteContent):
74642        * rendering/style/ContentData.h:
74643        * rendering/style/QuotesData.cpp: Removed.
74644        * rendering/style/QuotesData.h: Removed.
74645        * rendering/style/RenderStyle.cpp:
74646        * rendering/style/RenderStyle.h:
74647        * rendering/style/RenderStyleConstants.h:
74648        * rendering/style/StyleAllInOne.cpp:
74649        * rendering/style/StyleRareInheritedData.cpp:
74650        (WebCore::StyleRareInheritedData::operator==):
74651        * rendering/style/StyleRareInheritedData.h:
74652
746532011-03-01  Abhishek Arya  <inferno@chromium.org>
74654
74655        Reviewed by Dave Hyatt.
74656
74657        Paint outline for tables.
74658        https://bugs.webkit.org/show_bug.cgi?id=55474
74659
74660        Test: fast/table/table-and-parts-outline.html
74661
74662        * rendering/RenderTable.cpp:
74663        (WebCore::RenderTable::paintObject):
74664
746652011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
74666
74667        Unreviewed, rolling out r80028.
74668        http://trac.webkit.org/changeset/80028
74669        https://bugs.webkit.org/show_bug.cgi?id=55502
74670
74671        'caused crashes; rolling out while investigating' (Requested
74672        by jorlow on #webkit).
74673
74674        * dom/EventQueue.cpp:
74675        (WebCore::EventQueue::enqueueEvent):
74676        (WebCore::EventQueue::pendingEventTimerFired):
74677        (WebCore::EventQueue::dispatchEvent):
74678        * dom/EventQueue.h:
74679        * dom/ExceptionCode.cpp:
74680        * storage/IDBCursor.cpp:
74681        (WebCore::IDBCursor::update):
74682        (WebCore::IDBCursor::deleteFunction):
74683        * storage/IDBDatabaseException.h:
74684        * storage/IDBDatabaseException.idl:
74685        * storage/IDBIndex.cpp:
74686        (WebCore::IDBIndex::openCursor):
74687        (WebCore::IDBIndex::openKeyCursor):
74688        (WebCore::IDBIndex::get):
74689        (WebCore::IDBIndex::getKey):
74690        * storage/IDBObjectStore.cpp:
74691        (WebCore::IDBObjectStore::get):
74692        (WebCore::IDBObjectStore::add):
74693        (WebCore::IDBObjectStore::put):
74694        (WebCore::IDBObjectStore::deleteFunction):
74695        (WebCore::IDBObjectStore::clear):
74696        (WebCore::IDBObjectStore::openCursor):
74697        * storage/IDBRequest.cpp:
74698        (WebCore::IDBRequest::IDBRequest):
74699        (WebCore::IDBRequest::~IDBRequest):
74700        (WebCore::IDBRequest::readyState):
74701        (WebCore::IDBRequest::dispatchEvent):
74702        (WebCore::IDBRequest::enqueueEvent):
74703        (WebCore::IDBRequest::source):
74704        * storage/IDBRequest.h:
74705        * storage/IDBTransaction.cpp:
74706        (WebCore::IDBTransaction::onAbort):
74707        * storage/IDBTransaction.h:
74708
747092011-03-01  Carol Szabo  <carol.szabo@nokia.com>
74710
74711        Reviewed by David Hyatt  <hyatt@apple.com>
74712
74713        content property doesn't support quotes
74714        https://bugs.webkit.org/show_bug.cgi?id=6503
74715
74716        Added full support for quotes as defined by CSS 2.1.
74717
74718        Tests: fast/css/content/content-quotes-01.html
74719               fast/css/content/content-quotes-02.html
74720               fast/css/content/content-quotes-03.html
74721               fast/css/content/content-quotes-04.html
74722               fast/css/content/content-quotes-05.html
74723
74724        * Android.mk:
74725        * CMakeLists.txt:
74726        * GNUmakefile.am:
74727        * WebCore.pro:
74728        * WebCore.vcproj/WebCore.vcproj:
74729        * WebCore.xcodeproj/project.pbxproj:
74730        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
74731        * css/CSSParser.cpp:
74732        (WebCore::CSSParser::parseValue):
74733        (WebCore::CSSParser::parseQuotes):
74734        * css/CSSParser.h:
74735        Added needed stylesheet parsing support for quotes,
74736        (no-)open-quote and (no-)close-quote
74737        * css/CSSStyleSelector.cpp:
74738        (WebCore::CSSStyleSelector::applyProperty):
74739        Handled setting of the new quotes RenderStyle property and added
74740        handling of quotes for the content property.
74741        * css/html.css:
74742        (q:before):
74743        (q:after):
74744        replaced the '"' workaround with open/close-quote
74745        * rendering/RenderBlockLineLayout.cpp:
74746        (WebCore::dirtyLineBoxesForRenderer):
74747        Made RenderQuote behave like RenderCounter.
74748        Needed to ensure that the Quote text is calculated before layout,
74749        just as it is for RenderCounter.
74750        * rendering/RenderObject.h:
74751        (WebCore::RenderObject::isQuote):
74752        * rendering/RenderObjectChildList.cpp:
74753        (WebCore::RenderObjectChildList::removeChildNode):
74754        (WebCore::RenderObjectChildList::appendChildNode):
74755        (WebCore::RenderObjectChildList::insertChildNode):
74756        Handled updating of quote depth when renderers are added and removed
74757        from the tree.
74758        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
74759        * rendering/RenderQuote.cpp: Added.
74760        (WebCore::adjustDepth):
74761        (WebCore::RenderQuote::RenderQuote):
74762        (WebCore::RenderQuote::~RenderQuote):
74763        (WebCore::RenderQuote::renderName):
74764        (WebCore::RenderQuote::placeQuote):
74765        (WebCore::RenderQuote::originalText):
74766        (WebCore::RenderQuote::computePreferredLogicalWidths):
74767        (WebCore::RenderQuote::rendererSubtreeAttached):
74768        (WebCore::RenderQuote::rendererRemovedFromTree):
74769        (WebCore::RenderQuote::styleDidChange):
74770        * rendering/RenderQuote.h: Added.
74771        (WebCore::RenderQuote::isQuote):
74772        (WebCore::toRenderQuote):
74773        * rendering/RenderingAllInOne.cpp:
74774        Included RenderQuote.cpp
74775        * rendering/style/StyleAllInOne.cpp:
74776        Included QuotesData.cpp
74777        * rendering/style/ContentData.cpp:
74778        (WebCore::ContentData::dataEquivalent):
74779        Checked for quotetype identity.
74780        (WebCore::ContentData::deleteContent):
74781        Accounted for the new QUOTE_TYPE.
74782        * rendering/style/ContentData.h:
74783        (WebCore::ContentData::isQuote):
74784        (WebCore::ContentData::quote):
74785        (WebCore::ContentData::setQuote):
74786        * rendering/style/RenderStyle.cpp:
74787        (WebCore::RenderStyle::setContent):
74788        * rendering/style/RenderStyle.h:
74789        (WebCore::InheritedFlags::quotes):
74790        (WebCore::InheritedFlags::setQuotes):
74791        * rendering/style/RenderStyleConstants.h:
74792        * rendering/style/StyleRareInheritedData.cpp:
74793        (WebCore::StyleRareInheritedData::operator==):
74794        Included quotes in equality check.
74795        * rendering/style/StyleRareInheritedData.h:
74796        Added quotes
74797
747982011-03-01  Michael Nordman  <michaeln@google.com>
74799
74800        Reviewed by Alexey Proskuryakov.
74801
74802        Alter the relative priorities of network vs fallback namespaces in the appcache.
74803        If a resource url is in an appcache's network namespace and fallback namespace, the network
74804        namespace wins (with the exception of the special '*' network namespace which does not take
74805        priority over the fallback namespace.
74806        https://bugs.webkit.org/show_bug.cgi?id=49292
74807
74808        Test: http/tests/appcache/online-fallback-layering.html
74809
74810        * loader/appcache/ApplicationCache.cpp:
74811        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
74812        * loader/appcache/ApplicationCacheHost.cpp:
74813        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
74814        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource):
74815        * loader/appcache/ApplicationCacheStorage.cpp:
74816        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
74817
748182011-03-01  Patrick Gansterer  <paroga@webkit.org>
74819
74820        Reviewed by Adam Roben.
74821
74822        Add a handler class for Win32 HANDLE
74823        https://bugs.webkit.org/show_bug.cgi?id=55334
74824
74825        This class will call CloseHandle in the destructor for valid handles.
74826
74827        * platform/win/Win32Handle.h: Added.
74828
748292011-03-01  Eric Carlson  <eric.carlson@apple.com>
74830
74831        Reviewed by Chris Marrin.
74832
74833        <audio> and <video> should respect private browsing mode
74834        https://bugs.webkit.org/show_bug.cgi?id=55287
74835        <rdar://problem/9057699>
74836
74837        No new tests, this is just the plumbing.
74838
74839        * dom/Document.cpp:
74840        (WebCore::Document::privateBrowsingStateDidChange): New.
74841        (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto.
74842        (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto.
74843        * dom/Document.h:
74844
74845        * dom/Element.h:
74846        (WebCore::Element::privateBrowsingStateDidChange): New.
74847
74848        * html/HTMLMediaElement.cpp:
74849        (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes.
74850        (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes.
74851        (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode.
74852        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange):  New, call through to MediaPlayer.
74853        * html/HTMLMediaElement.h:
74854
74855        * page/Page.cpp:
74856        (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange.
74857
74858        * platform/graphics/MediaPlayer.cpp:
74859        (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine.
74860        * platform/graphics/MediaPlayer.h:
74861
74862        * platform/graphics/MediaPlayerPrivate.h:
74863        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):  Declare new interface.
74864
748652011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74866
74867        Reviewed by Steve Block.
74868
74869        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
74870        https://bugs.webkit.org/show_bug.cgi?id=54785
74871
74872        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
74873        the right thing and continue to do the right thing. It also modifies EventQueue
74874        so that we can cancel an event. To do this efficiently, the vector is now a
74875        ListHashSet.
74876
74877        Canelling the event is harder/messier, but the most deterministic thing to do.
74878        To the user, the work isn't done until we fire the onsuccess/onerror handler.
74879        So the event (which does fire that) needs to be cancelable.
74880
74881        transaction-abort.html tests this.
74882
74883        * dom/EventQueue.cpp:
74884        (WebCore::EventQueue::enqueueEvent):
74885        (WebCore::EventQueue::cancelEvent):
74886        (WebCore::EventQueue::pendingEventTimerFired):
74887        (WebCore::EventQueue::dispatchEvent):
74888        * dom/EventQueue.h:
74889        * dom/ExceptionCode.cpp:
74890        * storage/IDBCursor.cpp:
74891        (WebCore::IDBCursor::update):
74892        (WebCore::IDBCursor::deleteFunction):
74893        * storage/IDBDatabaseBackendImpl.cpp:
74894        (WebCore::IDBDatabaseBackendImpl::close):
74895        * storage/IDBDatabaseException.h:
74896        * storage/IDBIndex.cpp:
74897        (WebCore::IDBIndex::openCursor):
74898        (WebCore::IDBIndex::openKeyCursor):
74899        (WebCore::IDBIndex::get):
74900        (WebCore::IDBIndex::getKey):
74901        * storage/IDBObjectStore.cpp:
74902        (WebCore::IDBObjectStore::get):
74903        (WebCore::IDBObjectStore::add):
74904        (WebCore::IDBObjectStore::put):
74905        (WebCore::IDBObjectStore::deleteFunction):
74906        (WebCore::IDBObjectStore::clear):
74907        (WebCore::IDBObjectStore::openCursor):
74908        * storage/IDBRequest.cpp:
74909        (WebCore::IDBRequest::IDBRequest):
74910        (WebCore::IDBRequest::~IDBRequest):
74911        (WebCore::IDBRequest::readyState):
74912        (WebCore::IDBRequest::markEarlyDeath):
74913        (WebCore::IDBRequest::source):
74914        (WebCore::IDBRequest::abort):
74915        (WebCore::IDBRequest::onSuccess):
74916        (WebCore::IDBRequest::dispatchEvent):
74917        (WebCore::IDBRequest::enqueueEvent):
74918        * storage/IDBRequest.h:
74919        * storage/IDBTransaction.cpp:
74920        (WebCore::IDBTransaction::registerRequest):
74921        (WebCore::IDBTransaction::unregisterRequest):
74922        (WebCore::IDBTransaction::onAbort):
74923        * storage/IDBTransaction.h:
74924
749252011-03-01  Jeremy Orlow  <jorlow@chromium.org>
74926
74927        Reviewed by Steve Block.
74928
74929        Only IndexedDB's error event should be cancelable
74930        https://bugs.webkit.org/show_bug.cgi?id=55413
74931
74932        * storage/IDBRequest.cpp:
74933        (WebCore::createSuccessEvent):
74934        * storage/IDBTransaction.cpp:
74935        (WebCore::IDBTransaction::onAbort):
74936        (WebCore::IDBTransaction::onComplete):
74937
749382011-03-01  Jia Pu  <jpu@apple.com>
74939
74940        Reviewed by Darin Adler.
74941
74942        Remove CorrectionIndicator markers sooner.
74943        https://bugs.webkit.org/show_bug.cgi?id=54893
74944        <rdar://problem/8997524>
74945
74946        Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html
74947
74948        This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator
74949        marker after any editing command if the command:
74950        1. is not a SpellingCorrectionCommand itself.
74951        2. is not the command that triggers the autocorrection.
74952        This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns
74953        false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function
74954        always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member
74955        variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's
74956        public functions.
74957        
74958        To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache
74959        to cache whether there is any marker of a particular type.
74960
74961        This patch also fixes two minor existing bugs.
74962        
74963        1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because
74964        CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement
74965        marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement
74966        marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel
74967        if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null.
74968        
74969        This works as following:
74970        When we apply an autocorrection, we add Replacement marker to corrected word, and store original word
74971        as the marker's description. If the user edited the corrected word afterward, we set description to null.
74972        So when we decide whether to show a reversion panel, we not only check for the existence of Replacement
74973        marker, but also check if description is null.
74974        
74975        2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would
74976        occur when deleting the first character in an editable area.
74977
74978        * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is
74979           completely in from the document.
74980
74981        * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking
74982           the return value of possiblyHasMarkers() at beginning.
74983        (WebCore::DocumentMarkerController::possiblyHasMarkers):
74984        (WebCore::DocumentMarkerController::DocumentMarkerController):
74985        (WebCore::DocumentMarkerController::detach):
74986        (WebCore::DocumentMarkerController::removeMarkers):
74987        (WebCore::DocumentMarkerController::addMarker):
74988        (WebCore::DocumentMarkerController::copyMarkers):
74989        (WebCore::DocumentMarkerController::markerContainingPoint):
74990        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
74991        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
74992        (WebCore::DocumentMarkerController::repaintMarkers):
74993        (WebCore::DocumentMarkerController::shiftMarkers):
74994        (WebCore::DocumentMarkerController::setMarkersActive):
74995        (WebCore::DocumentMarkerController::hasMarkers):
74996        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
74997        * dom/DocumentMarkerController.h:
74998        * editing/EditCommand.cpp:
74999        (WebCore::EditCommand::apply):
75000        (WebCore::EditCommand::shouldRetainAutocorrectionIndicator):
75001        (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator):
75002        * editing/EditCommand.h:
75003        * editing/Editor.cpp:
75004        (WebCore::Editor::respondToChangedSelection):
75005        (WebCore::Editor::appliedEditing):
75006        (WebCore::Editor::insertTextWithoutSendingTextEvent):
75007        (WebCore::Editor::insertLineBreak):
75008        (WebCore::Editor::insertParagraphSeparator):
75009        (WebCore::Editor::markMisspellingsAfterTypingToWord):
75010        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
75011        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
75012        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
75013        * editing/Editor.h:
75014        * editing/EditorCommand.cpp:
75015        (WebCore::executeInsertLineBreak):
75016        (WebCore::executeInsertParagraph):
75017        (WebCore::executeInsertText):
75018        * editing/SpellingCorrectionCommand.cpp:
75019        (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator):
75020        * editing/SpellingCorrectionCommand.h:
75021        * editing/TypingCommand.cpp:
75022        (WebCore::TypingCommand::TypingCommand):
75023        (WebCore::TypingCommand::deleteSelection):
75024        (WebCore::TypingCommand::deleteKeyPressed):
75025        (WebCore::TypingCommand::forwardDeleteKeyPressed):
75026        (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
75027        (WebCore::TypingCommand::insertText):
75028        (WebCore::TypingCommand::insertLineBreak):
75029        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
75030        (WebCore::TypingCommand::insertParagraphSeparator):
75031        * editing/TypingCommand.h:
75032        (WebCore::TypingCommand::create):
75033        (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
75034        (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator):
75035        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html:
75036
750372011-03-01  Renata Hodovan  <reni@webkit.org>
75038
75039        Reviewed by Andreas Kling.
75040
75041        FEDisplacementMapElement changes doesn't require relayout
75042        https://bugs.webkit.org/show_bug.cgi?id=55454
75043
75044        When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need
75045        to relayout the filter.
75046
75047        No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap.
75048
75049        * platform/graphics/filters/FEDisplacementMap.cpp:
75050        (WebCore::FEDisplacementMap::setXChannelSelector):
75051        (WebCore::FEDisplacementMap::setYChannelSelector):
75052        (WebCore::FEDisplacementMap::setScale):
75053        * platform/graphics/filters/FEDisplacementMap.h:
75054        * svg/SVGFEDisplacementMapElement.cpp:
75055        (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
75056        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
75057        * svg/SVGFEDisplacementMapElement.h:
75058
750592011-03-01  Dan Bernstein  <mitz@apple.com>
75060
75061        Reviewed by Darin Adler.
75062
75063        <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base
75064        https://bugs.webkit.org/show_bug.cgi?id=55487
75065
75066        * css/html.css:
75067        (ruby > rt): Changed the default text-align value to -webkit-auto to signal
75068        the default expansion behavior.
75069        * rendering/RenderBlock.h:
75070        (WebCore::RenderRubyText::textAlignmentForLine): Made protected.
75071        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected.
75072        * rendering/RenderRubyText.cpp:
75073        (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is
75074        -webkit-auto, returns JUSTIFY to allow expansion.
75075        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If
75076        text-align is -webkit-auto, insets the line such that the inset on each side
75077        is the half the inter-ideograph expansion, or one ruby character wide,
75078        whichever is smaller.
75079        * rendering/RenderRubyText.h:
75080
750812011-03-01  Sam Weinig  <sam@webkit.org>
75082
75083        Reviewed by Timothy Hatcher.
75084
75085        WebKit2 needs to be made localizable
75086        https://bugs.webkit.org/show_bug.cgi?id=55483
75087
75088        * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings.
75089        * WebCore.xcodeproj/project.pbxproj:
75090        Move Localizable.strings to WebCore.
75091
75092        * WebCore.exp.in:
75093        Add export for localizedString function.
75094
75095        * platform/LocalizedStrings.h:
75096        * platform/mac/LocalizedStringsMac.mm: Added.
75097        Add function to get localized version of a string from the WebCore bundle.
75098
750992011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
75100
75101        Reviewed by Timothy Hatcher.
75102
75103        All Console Messages should be passed to ChromeClients.
75104        https://bugs.webkit.org/show_bug.cgi?id=54926
75105
75106        Do not filter the message type here, allow clients
75107        to filter and deal with the different message types.
75108
75109        * page/Console.cpp:
75110        (WebCore::Console::addMessage):
75111
751122011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
75113
75114        Reviewed by Kenneth Rohde Christiansen.
75115
75116        Viewport parsing no longer accepts "1.0;" value as valid.
75117        https://bugs.webkit.org/show_bug.cgi?id=53705
75118
75119        When parsing numeric values, the "css-viewport" spec says
75120        to use the number prefix, and the non numeric part of the
75121        string can be ignored. This matches our behavior before
75122        r67376. The change was that checking the error out condition
75123        of String::toFloat doesn't necessarily mean that there
75124        was a non-numeric prefix. This patch checks if there was
75125        or wasn't a non-numeric prefix.
75126
75127        There is a console warning in any case where a numeric
75128        value is not parsed cleanly. There is an error warning
75129        when it is not a number at all, and a tip warning when
75130        it has been truncated.
75131
75132        Error messages are slightly improved to provide more
75133        context, both the key and value, when an error happens.
75134
75135        Test: fast/viewport/viewport-129.html
75136
75137        * dom/ViewportArguments.cpp:
75138        (WebCore::numericPrefix):
75139        (WebCore::findSizeValue):
75140        (WebCore::findScaleValue):
75141        (WebCore::findUserScalableValue):
75142        (WebCore::findTargetDensityDPIValue):
75143        (WebCore::viewportErrorMessageTemplate):
75144        (WebCore::viewportErrorMessageLevel):
75145        (WebCore::reportViewportWarning):
75146        * dom/ViewportArguments.h:
75147
751482011-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
75149
75150        Reviewed by Pavel Feldman.
75151
75152        Web Inspector: InjectedScript.setPropertyValue doesn't work.
75153        https://bugs.webkit.org/show_bug.cgi?id=55475
75154
75155        * inspector/InjectedScript.cpp:
75156        (WebCore::InjectedScript::setPropertyValue):
75157
751582011-03-01  Steve Block  <steveblock@google.com>
75159
75160        Reviewed by Jeremy Orlow.
75161
75162        Remove unused JavaString::uchars()
75163        https://bugs.webkit.org/show_bug.cgi?id=55465
75164
75165        No new tests, removing dead code only.
75166
75167        * bridge/jni/JNIBridge.h:
75168        * bridge/jni/jsc/JavaStringJSC.h:
75169        (JSC::Bindings::JavaStringImpl::utf8):
75170        * bridge/jni/v8/JavaStringV8.h:
75171
751722011-03-01  Alexander Pavlov  <apavlov@chromium.org>
75173
75174        Reviewed by Yury Semikhatsky.
75175
75176        Web Inspector: Extremely slow DOM search in GMail
75177        https://bugs.webkit.org/show_bug.cgi?id=55456
75178
75179        The solution comprises three major parts:
75180        - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk.
75181        - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed.
75182        - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult.
75183
75184        * inspector/front-end/ElementsPanel.js:
75185        (WebInspector.ElementsPanel.prototype.searchCanceled):
75186        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
75187        * inspector/front-end/ElementsTreeOutline.js:
75188        (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
75189        (WebInspector.ElementsTreeElement.prototype.updateTitle):
75190        ():
75191        * inspector/front-end/utilities.js:
75192        ():
75193
751942011-03-01  Adam Roben  <aroben@apple.com>
75195
75196        Fix multiple-definition linker warnings introduced by r79978 on Windows
75197
75198        * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being
75199        compiled separately.
75200
752012011-03-01  Andras Becsi  <abecsi@webkit.org>
75202
75203        Reviewed by Csaba Osztrogonác.
75204
75205        [Qt] Clean up the project files and move common options to WebKit.pri.
75206
75207        No new tests needed.
75208
75209        * WebCore.pri: Move common options to WebKit.pri.
75210        * WebCore.pro: Ditto.
75211
752122011-03-01  Steve Block  <steveblock@google.com>
75213
75214        Reviewed by Pavel Feldman.
75215
75216        JNI code in Java bridge is not correctly guarded
75217        https://bugs.webkit.org/show_bug.cgi?id=55459
75218
75219        No new tests, build fix only.
75220
75221        * bridge/jni/v8/JNIBridgeV8.cpp:
75222        * bridge/jni/v8/JNIBridgeV8.h:
75223        * bridge/jni/v8/JNIUtilityPrivate.cpp:
75224        * bridge/jni/v8/JNIUtilityPrivate.h:
75225        * bridge/jni/v8/JavaClassV8.cpp:
75226        * bridge/jni/v8/JavaClassV8.h:
75227        * bridge/jni/v8/JavaInstanceV8.cpp:
75228        * bridge/jni/v8/JavaInstanceV8.h:
75229        * bridge/jni/v8/JavaNPObjectV8.cpp:
75230        * bridge/jni/v8/JavaNPObjectV8.h:
75231
752322011-03-01  Steve Block  <steveblock@google.com>
75233
75234        Reviewed by Jeremy Orlow.
75235
75236        Bridge.h should not include BridgeJSC.h
75237        https://bugs.webkit.org/show_bug.cgi?id=55212
75238
75239        Instead, BridgeJSC.h should include Bridge.h and code should include
75240        BridgeJSC.h as appropriate.
75241
75242        This prevents ports that use V8 from having to include JSC-specific
75243        files, even if the contents of those files are guarded.
75244
75245        No new tests, cleanup only.
75246
75247        * bindings/js/JSPluginElementFunctions.cpp:
75248        * bindings/js/ScriptControllerBrew.cpp:
75249        * bindings/js/ScriptControllerGtk.cpp:
75250        * bindings/js/ScriptControllerHaiku.cpp:
75251        * bindings/js/ScriptControllerQt.cpp:
75252        * bindings/js/ScriptControllerMac.mm:
75253        * bindings/js/ScriptControllerWin.cpp:
75254        * bindings/js/ScriptControllerWx.cpp:
75255        * bindings/js/ScriptInstance.h:
75256        * bindings/objc/WebScriptObject.mm:
75257        * bridge/Bridge.h:
75258        * bridge/c/c_class.h:
75259        * bridge/c/c_instance.h:
75260        * bridge/c/c_runtime.h:
75261        * bridge/jni/jsc/JNIBridgeJSC.h:
75262        * bridge/jni/jsc/JavaInstanceJSC.h:
75263        * bridge/jsc/BridgeJSC.h:
75264        * bridge/objc/objc_runtime.h:
75265        * bridge/qt/qt_class.h:
75266        * bridge/qt/qt_instance.h:
75267        * bridge/qt/qt_pixmapruntime.h:
75268        * bridge/qt/qt_runtime.h:
75269        * bridge/runtime_array.h:
75270        * bridge/runtime_method.h:
75271        * bridge/runtime_object.h:
75272        * bridge/runtime_root.cpp:
75273        * bridge/testbindings.cpp:
75274        * bridge/testbindings.mm:
75275        * bridge/testqtbindings.cpp:
75276        * page/win/FrameWin.cpp:
75277        * platform/graphics/wince/MediaPlayerProxy.cpp:
75278        * plugins/PluginView.cpp:
75279        * plugins/PluginViewNone.cpp:
75280        * plugins/gtk/PluginViewGtk.cpp:
75281        * plugins/mac/PluginViewMac.mm:
75282        * plugins/qt/PluginViewQt.cpp:
75283        * plugins/symbian/PluginViewSymbian.cpp:
75284        * plugins/win/PluginViewWin.cpp:
75285
752862011-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
75287
75288        Reviewed by Antti Koivisto.
75289
75290        SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling
75291        https://bugs.webkit.org/show_bug.cgi?id=54800
75292
75293        Wrong handling of currentColor on inherit
75294        https://bugs.webkit.org/show_bug.cgi?id=38102
75295
75296        Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last
75297        two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle.
75298        It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will
75299        once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to
75300        accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint
75301        type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles).
75302
75303        <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but
75304        <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle.
75305
75306        In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector,
75307        as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource,
75308        when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly
75309        available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled
75310        exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor.
75311
75312        A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce
75313        CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it.
75314        Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style.
75315        (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.)
75316
75317        Add several new tests covering the patch.
75318
75319        Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg
75320               svg/animations/animate-color-fill-currentColor.html
75321               svg/custom/SVGPaint-mutate-attribute.svg
75322               svg/custom/SVGPaint-mutate-inline-style.svg
75323
75324        * GNUMakefile.am: Add CSSMutableValue.h
75325        * WebCore.gypi: Ditto.
75326        * WebCore.xcodeproj/project.pbxproj: Ditto.
75327        * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration.
75328        (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
75329        * css/CSSMutableStyleDeclaration.h: Add destructor.
75330        * css/CSSMutableValue.h: Added.
75331        (WebCore::CSSMutableValue::CSSMutableValue):
75332        (WebCore::CSSMutableValue::~CSSMutableValue):
75333        (WebCore::CSSMutableValue::isMutableValue):
75334        (WebCore::CSSMutableValue::node):
75335        (WebCore::CSSMutableValue::setNode):
75336        (WebCore::CSSMutableValue::setNeedsStyleRecalc):
75337        * css/CSSStyleDeclaration.cpp:
75338        (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to.
75339        * css/CSSValue.h:
75340        (WebCore::CSSValue::isMutableValue): Return false, default.
75341        * css/SVGCSSComputedStyleDeclaration.cpp:
75342        (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects.
75343        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values.
75344        * css/SVGCSSStyleSelector.cpp:
75345        (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore.
75346        * rendering/style/SVGRenderStyle.cpp:
75347        (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes.
75348        * rendering/style/SVGRenderStyle.h: Ditto.
75349        (WebCore::SVGRenderStyle::initialFillOpacity):
75350        (WebCore::SVGRenderStyle::initialFillPaintType):
75351        (WebCore::SVGRenderStyle::initialFillPaintColor):
75352        (WebCore::SVGRenderStyle::initialFillPaintUri):
75353        (WebCore::SVGRenderStyle::initialStrokeOpacity):
75354        (WebCore::SVGRenderStyle::initialStrokePaintType):
75355        (WebCore::SVGRenderStyle::initialStrokePaintColor):
75356        (WebCore::SVGRenderStyle::initialStrokePaintUri):
75357        (WebCore::SVGRenderStyle::initialStrokeMiterLimit):
75358        (WebCore::SVGRenderStyle::initialStopOpacity):
75359        (WebCore::SVGRenderStyle::initialFloodOpacity):
75360        (WebCore::SVGRenderStyle::setFillPaint):
75361        (WebCore::SVGRenderStyle::setStrokePaint):
75362        (WebCore::SVGRenderStyle::fillPaintType):
75363        (WebCore::SVGRenderStyle::fillPaintColor):
75364        (WebCore::SVGRenderStyle::fillPaintUri):
75365        (WebCore::SVGRenderStyle::strokePaintType):
75366        (WebCore::SVGRenderStyle::strokePaintColor):
75367        (WebCore::SVGRenderStyle::strokePaintUri):
75368        (WebCore::SVGRenderStyle::hasStroke):
75369        (WebCore::SVGRenderStyle::hasFill):
75370        * rendering/style/SVGRenderStyleDefs.cpp: Ditto.
75371        (WebCore::StyleFillData::StyleFillData):
75372        (WebCore::StyleFillData::operator==):
75373        (WebCore::StyleStrokeData::StyleStrokeData):
75374        (WebCore::StyleStrokeData::operator==):
75375        * rendering/style/SVGRenderStyleDefs.h: Ditto.
75376        * rendering/svg/RenderSVGResource.cpp: Ditto.
75377        (WebCore::requestPaintingResource):
75378        * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
75379        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
75380        * rendering/svg/SVGResources.cpp: Ditto.
75381        (WebCore::paintingResourceFromSVGPaint):
75382        (WebCore::SVGResources::buildCachedResources):
75383        * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object.
75384        (WebCore::SVGColor::setRGBColor):
75385        (WebCore::SVGColor::setRGBColorICCColor):
75386        (WebCore::SVGColor::setColor):
75387        * svg/SVGColor.h:
75388        * svg/SVGPaint.cpp: Ditto.
75389        (WebCore::SVGPaint::setUri):
75390        (WebCore::SVGPaint::setPaint):
75391        * svg/SVGPaint.h:
75392
753932011-03-01  Andrey Adaikin  <aandrey@google.com>
75394
75395        Reviewed by Pavel Feldman.
75396
75397        Web Inspector: [Text editor] Handle decorated lines in the editor
75398        https://bugs.webkit.org/show_bug.cgi?id=55373
75399
75400        * inspector/front-end/SourceFrame.js:
75401        (WebInspector.SourceFrame.prototype._startEditing):
75402        (WebInspector.SourceFrame.prototype._endEditing):
75403        (WebInspector.SourceFrame.prototype._createTextViewer):
75404        * inspector/front-end/TextViewer.js:
75405        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
75406        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
75407        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
75408        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
75409        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
75410        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
75411        (WebInspector.TextEditorMainPanel.prototype._markDirtyLines):
75412        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
75413        (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
75414        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
75415        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
75416        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
75417        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
75418        (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
75419        (WebInspector.TextEditorMainChunk.prototype.get decorated):
75420
754212011-03-01  Philippe Normand  <pnormand@igalia.com>
75422
75423        Unreviewed GTK build fix after r79978
75424
75425        * GNUmakefile.am:
75426
754272011-03-01  Andras Becsi  <abecsi@webkit.org>
75428
75429        Unreviewed build fix.
75430
75431        [Qt] Fix minimal build.
75432
75433        No new tests needed.
75434
75435        * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here.
75436
754372011-03-01  anthony taranto  <anthony.taranto@gmail.com>
75438
75439        Return undefined value from ScriptController::evaluate(), allowing the
75440        caller to distinguish between an error and an undefined return value.
75441        https://bugs.webkit.org/show_bug.cgi?id=51528
75442
75443        * bindings/v8/ScriptController.cpp: 
75444
754452011-03-01  Roland Steiner  <rolandsteiner@chromium.org>
75446
75447        Reviewed by Kent Tamura.
75448
75449        Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow
75450        https://bugs.webkit.org/show_bug.cgi?id=54853
75451        
75452        Moving the files from rendering to html/shadow, with the exception of
75453        the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine
75454        (this place is not ideal, but only a temporary state during the larger refactoring
75455        for <input>).
75456
75457        No new tests. (refactoring)
75458
75459        * Android.mk:
75460        * CMakeLists.txt:
75461        * WebCore.gypi:
75462        * WebCore.pro:
75463        * WebCore.vcproj/WebCore.vcproj:
75464        * WebCore.xcodeproj/project.pbxproj:
75465        * html/shadow/TextControlInnerElements.cpp: Copied from Source/WebCore/rendering/TextControlInnerElements.cpp.
75466        * html/shadow/TextControlInnerElements.h: Copied from Source/WebCore/rendering/TextControlInnerElements.h.
75467        * rendering/RenderTextControlSingleLine.cpp:
75468        (WebCore::RenderTextControlInnerBlock::positionForPoint):
75469        * rendering/RenderTextControlSingleLine.h:
75470        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
75471        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
75472        * rendering/TextControlInnerElements.cpp: Removed.
75473        * rendering/TextControlInnerElements.h: Removed.
75474
754752011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
75476
75477        Reviewed by Tony Chang.
75478
75479        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
75480        https://bugs.webkit.org/show_bug.cgi?id=55338
75481
75482        Deployed EditingStyle in applyInlineStyleToPushDown and removeInlineStyleFromElement.
75483
75484        Also added a convenience function EditingStyle::setProperty, which lazily instantiates
75485        new CSSMutableStyleDeclaration for m_mutableStyle.
75486
75487        * editing/ApplyStyleCommand.cpp:
75488        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle*.
75489        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Ditto.
75490        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
75491        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls the above three functions.
75492        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownInlineStyleAroundNode.
75493        * editing/ApplyStyleCommand.h:
75494        * editing/EditingStyle.cpp:
75495        (WebCore::HTMLElementEquivalent::addToStyle): Takes EditingStyle*; calls EditingStyle::setProperty.
75496        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
75497        (WebCore::EditingStyle::setProperty): Added.  This member function lazily instantiates
75498        new CSSMutableStyleDeclaration for m_mutableStyle.
75499        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Takes EditingStyle*.
75500        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Ditto.
75501        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Ditto.
75502        * editing/EditingStyle.h: Added HTMLElementEquivalent and HTMLAttributeEquivalent as friends.
75503        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Ditto.
75504        * editing/InsertTextCommand.cpp: Removed unnecessary includes.
75505        * editing/RemoveCSSPropertyCommand.h: Ditto.
75506
755072011-02-28  Pavel Feldman  <pfeldman@chromium.org>
75508
75509        Not reviewed: chromium rebuilds XMLViewer after noop. Fixed gyp file.
75510
75511        * WebCore.gyp/WebCore.gyp:
75512
755132011-02-28  David Levin  <levin@chromium.org>
75514
75515        Reviewed by Darin Adler.
75516
75517        KURL should expose a referrer property.
75518        https://bugs.webkit.org/show_bug.cgi?id=55415
75519
75520        No change in functionality so no new tests.
75521
75522        * loader/FrameLoader.cpp:
75523        (WebCore::FrameLoader::setOutgoingReferrer): Refactor to put the majority
75524        of functionality in KURL::strippedForUseAsReferrer() so that this code can
75525        be more easily reused.
75526        * platform/KURL.cpp:
75527        (WebCore::KURL::strippedForUseAsReferrer): Converts the url to a string
75528        which is suitable for use as a referrer.
75529        * platform/KURL.h:
75530
755312011-02-28  Chang Shu  <cshu@webkit.org>
75532
75533        Reviewed by Ryosuke Niwa.
75534
75535        Remove the support of Frame::isContentEditable and its dependencies.
75536        https://bugs.webkit.org/show_bug.cgi?id=54292
75537
75538        Frame::isContentEditable is currently based on two things: Editor::clientIsEditable and
75539        Document::inDesignMode. In fact, it should only rely on Document::inDesignMode. As a result,
75540        Editor::clientIsEditable and its client-side implementation can be removed.
75541
75542        * WebCore.exp.in:
75543        * accessibility/AccessibilityRenderObject.cpp:
75544        (WebCore::AccessibilityRenderObject::isReadOnly):
75545        * editing/Editor.cpp:
75546        * editing/Editor.h:
75547        * editing/SelectionController.cpp:
75548        (WebCore::SelectionController::setSelectionFromNone):
75549        * html/HTMLElement.cpp:
75550        (WebCore::HTMLElement::isContentEditable):
75551        (WebCore::HTMLElement::isContentRichlyEditable):
75552        * page/DragController.cpp:
75553        (WebCore::DragController::operationForLoad):
75554        * page/EditorClient.h:
75555        * page/Frame.cpp:
75556        * page/Frame.h:
75557
755582011-02-28  Kent Tamura  <tkent@chromium.org>
75559
75560        Reviewed by Darin Adler.
75561
75562        Number type input cannot be set to empty string if it has an initial value
75563        https://bugs.webkit.org/show_bug.cgi?id=53744
75564
75565        We need to distinguish null strings and empty strings for
75566        InputElementData::value. So InputType::sanitizeValue() also needs to
75567        take care of it.
75568
75569        * dom/InputElement.h: Add a comment to InputElementData::value and
75570          setValue about null strings.
75571        * html/InputType.h: Add a comment to sanitizeValue about null strings.
75572        * html/NumberInputType.cpp:
75573        (WebCore::NumberInputType::sanitizeValue): Returns a null string if the
75574          proposed value is a null string. Returning an empty string if the
75575          proposed value is not a number.
75576
755772011-02-28  Kent Tamura  <tkent@chromium.org>
75578
75579        Reviewed by Darin Adler.
75580
75581        Number type input should not handle mouse wheel events if it has no focus.
75582        https://bugs.webkit.org/show_bug.cgi?id=53638
75583
75584        * html/TextFieldInputType.cpp:
75585        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Check focused().
75586
755872011-02-28  Noel Gordon  <noel.gordon@gmail.com>
75588        Reviewed by James Robinson.
75589
75590        [chromium] GradientSkia: use the common Gradient stop sorting methods.
75591        https://bugs.webkit.org/show_bug.cgi?id=54625
75592
75593        Remove a FIXME: call the Gradient.cpp stop storting routines, no need
75594        to duplicate that code herein.
75595
75596        No change in behavior, so no new tests.
75597
75598        * platform/graphics/skia/GradientSkia.cpp:
75599        (WebCore::Gradient::platformGradient):
75600
756012011-02-28  Steve Block  <steveblock@google.com>
75602
75603        Reviewed by Jeremy Orlow.
75604
75605        JNI code should include <jni.h> on non-OSX platforms.
75606        https://bugs.webkit.org/show_bug.cgi?id=55219
75607
75608        On Mac we need to include <JavaVM/jni.h> as this is a framework
75609        include. We include jni.h through JNIUtility.h to minimize the
75610        number of ifdefs.
75611
75612        No new tests, build fix only.
75613
75614        * WebCore.xcodeproj/project.pbxproj
75615        * bridge/jni/JNIUtility.h:
75616        * bridge/jni/jni_jsobject.h:
75617        * bridge/jni/jsc/JNIBridgeJSC.h:
75618        * bridge/jni/jsc/JavaInstanceJSC.h:
75619        * bridge/jni/v8/JavaInstanceV8.h:
75620
756212011-02-28  Nebojsa Sabovic  <neb@chromium.org>
75622
75623        Reviewed by James Robinson.
75624
75625        [chromium] Pepper plugins render upside down
75626        https://bugs.webkit.org/show_bug.cgi?id=55101
75627
75628        No layout tests for pepper plugins (yet).
75629
75630        * platform/graphics/chromium/PluginLayerChromium.h:
75631
756322011-02-28  Tony Gentilcore  <tonyg@chromium.org>
75633
75634        Reviewed by Adam Barth.
75635
75636        Follow HTML5 spec for document.open() a little more closely
75637        https://bugs.webkit.org/show_bug.cgi?id=55392
75638
75639        See: 3.5.1.4 at http://www.whatwg.org/specs/web-apps/current-work/#dom-document-open.
75640
75641        The second return check matches the spec. The first return check (isExecutingScript())
75642        was left in place because without it, fast/tokenizer/write-external-script-open.html
75643        would fail. It also possible there is a spec bug because FF4 crashes on that test and
75644        IE9 prints "FAILURE." The isLoadingMainResource() check was removed because the main
75645        resource is always loading while parser->isParsing().
75646
75647        Test: fast/parser/double-write-from-closed-iframe.html
75648
75649        * dom/Document.cpp:
75650        (WebCore::Document::open):
75651
756522011-02-28  Avi Drissman  <avi@google.com>
75653
75654        Reviewed by James Robinson.
75655
75656        WebCursorInfo needs to match enums in platform/Cursor.h
75657        https://bugs.webkit.org/show_bug.cgi?id=55094
75658
75659        * platform/chromium/CursorChromium.cpp:
75660        (WebCore::grabCursor):
75661        (WebCore::grabbingCursor):
75662        * platform/chromium/PlatformCursor.h:
75663
756642011-02-28  Jia Pu  <jpu@apple.com>
75665
75666        Reviewed by Darin Adler.
75667
75668        [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
75669        https://bugs.webkit.org/show_bug.cgi?id=55396
75670        <rdar://problem/8836093>
75671
75672        The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
75673        calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
75674        contextual menu.
75675
75676        The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
75677        back to ..." is clicked.
75678
75679        * editing/Editor.cpp:
75680        (WebCore::Editor::changeBackToReplacedString):
75681        * rendering/InlineTextBox.cpp:
75682        (WebCore::InlineTextBox::paintDocumentMarkers):
75683
756842011-02-28  Victoria Kirst  <vrk@google.com>
75685
75686        Reviewed by Kenneth Russell.
75687
75688        [chromium] Fall back to texSubImage2D when mapTexSubImage2D fails in VideoLayerChromium
75689        https://bugs.webkit.org/show_bug.cgi?id=55269
75690
75691        Mesa does not support mapTexSubImage2D, so this change lets
75692        GPU-accelerated video work with DRT layout tests.
75693
75694        * platform/graphics/chromium/VideoLayerChromium.cpp:
75695        (WebCore::VideoLayerChromium::updateTexture):
75696
756972011-02-28  David Hyatt  <hyatt@apple.com>
75698
75699        Reviewed by Dan Bernstein.
75700
75701        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.  Change staticX and staticY
75702        to be staticInlinePosition and staticBlockPosition.  Patch all of the computations involving these variables to be writing
75703        mode aware.  Mixed writing modes are not yet supported.
75704
75705        Added new tests in fast/block/positioning/auto.
75706
75707        * rendering/RenderBlock.cpp:
75708        (WebCore::RenderBlock::adjustPositionedBlock):
75709        (WebCore::RenderBlock::layoutPositionedObjects):
75710        * rendering/RenderBlock.h:
75711        (WebCore::RenderBlock::startOffsetForLine):
75712        * rendering/RenderBlockLineLayout.cpp:
75713        (WebCore::RenderBlock::appendRunsForObject):
75714        (WebCore::setStaticPositions):
75715        (WebCore::RenderBlock::skipTrailingWhitespace):
75716        (WebCore::RenderBlock::skipLeadingWhitespace):
75717        (WebCore::RenderBlock::findNextLineBreak):
75718        * rendering/RenderBox.cpp:
75719        (WebCore::RenderBox::positionLineBox):
75720        (WebCore::computeInlineStaticDistance):
75721        (WebCore::RenderBox::computePositionedLogicalWidth):
75722        (WebCore::computeBlockStaticDistance):
75723        (WebCore::RenderBox::computePositionedLogicalHeight):
75724        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
75725        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
75726        * rendering/RenderBoxModelObject.h:
75727        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft):
75728        (WebCore::RenderBoxModelObject::borderAndPaddingStart):
75729        (WebCore::RenderBoxModelObject::borderLogicalLeft):
75730        (WebCore::RenderBoxModelObject::borderLogicalRight):
75731        * rendering/RenderFlexibleBox.cpp:
75732        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
75733        (WebCore::RenderFlexibleBox::layoutVerticalBox):
75734        * rendering/RenderInline.cpp:
75735        (WebCore::RenderInline::relativePositionedInlineOffset):
75736        * rendering/RenderLayer.cpp:
75737        (WebCore::RenderLayer::RenderLayer):
75738        * rendering/RenderLayer.h:
75739        (WebCore::RenderLayer::staticInlinePosition):
75740        (WebCore::RenderLayer::staticBlockPosition):
75741        (WebCore::RenderLayer::setStaticInlinePosition):
75742        (WebCore::RenderLayer::setStaticBlockPosition):
75743        * rendering/style/RenderStyle.h:
75744        (WebCore::InheritedFlags::hasAutoLeftAndRight):
75745        (WebCore::InheritedFlags::hasAutoTopAndBottom):
75746        (WebCore::InheritedFlags::hasStaticInlinePosition):
75747        (WebCore::InheritedFlags::hasStaticBlockPosition):
75748
757492011-02-28  Balazs Kelemen  <kbalazs@webkit.org>
75750
75751        Reviewed by Anders Carlsson.
75752
75753        [Qt][WK2] Plugin initialization
75754        https://bugs.webkit.org/show_bug.cgi?id=48127
75755
75756        No function change so no new tests.
75757
75758        * WebCore.pri: Lift the definition of the XP_UNIX macro
75759        from WebCore.pri to WebKit.pri to apply it to WebKit2 as well.
75760
757612011-02-28  Dean Jackson  <dino@apple.com>
75762
75763        Reviewed by Eric Carlson.
75764
75765        https://bugs.webkit.org/show_bug.cgi?id=55239
75766
75767        Allow webkitEnterFullScreen to be called from outside
75768        a user gesture, but only when the correct restrictions
75769        have been lifted in WebCore. Add a new restriction type
75770        for this situation. Meanwhile, expose the current
75771        restrictions externally from HTMLMediaElement, so that
75772        clients can easily set restrictions on their port.
75773
75774        No new tests. This doesn't change existing behavior. Some
75775        WebKit clients may lift the restriction.
75776
75777        * html/HTMLMediaElement.cpp:
75778        (WebCore::HTMLMediaElement::HTMLMediaElement):
75779        - ensure restrictions initialize with fullscreen restricted
75780        * html/HTMLMediaElement.h:
75781        (WebCore::HTMLMediaElement::requireUserGestureForLoad):
75782        (WebCore::HTMLMediaElement::requireUserGestureForRateChange):
75783        (WebCore::HTMLMediaElement::requireUserGestureForFullScreen):
75784        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
75785        - new methods to expose the current restrictions
75786        * html/HTMLVideoElement.cpp:
75787        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
75788
757892011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
75790
75791        Unreviewed, rolling out r78789.
75792        http://trac.webkit.org/changeset/78789
75793        https://bugs.webkit.org/show_bug.cgi?id=55409
75794
75795        Incorrect canvas fallback implementation (Requested by
75796        inferno-sec on #webkit).
75797
75798        * accessibility/AccessibilityObject.h:
75799        * accessibility/AccessibilityRenderObject.cpp:
75800        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
75801        (WebCore::AccessibilityRenderObject::canHaveChildren):
75802        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
75803        (atkRole):
75804        * accessibility/mac/AccessibilityObjectWrapper.mm:
75805        * html/HTMLFormControlElement.cpp:
75806        (WebCore::HTMLFormControlElement::isFocusable):
75807        * rendering/RenderHTMLCanvas.cpp:
75808        * rendering/RenderHTMLCanvas.h:
75809        * rendering/RenderObject.cpp:
75810        (WebCore::RenderObject::repaint):
75811        * rendering/RenderTreeAsText.cpp:
75812        (WebCore::write):
75813
758142011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
75815
75816        Unreviewed, rolling out r79425.
75817        http://trac.webkit.org/changeset/79425
75818        https://bugs.webkit.org/show_bug.cgi?id=55406
75819
75820        Incorrect canvas fallback implementation. (Requested by
75821        inferno-sec on #webkit).
75822
75823        * rendering/RenderHTMLCanvas.cpp:
75824        (WebCore::RenderHTMLCanvas::nodeAtPoint):
75825
758262011-02-28  Adam Klein  <adamk@chromium.org>
75827
75828        Reviewed by Adam Barth.
75829
75830        [fileapi] Implement LocalFileSystem.resolveLocalFileSystemURI
75831        https://bugs.webkit.org/show_bug.cgi?id=54774
75832
75833        See http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods
75834        for the spec implemented by this patch.
75835
75836        Test: fast/filesystem/resolve-uri.html
75837
75838        * fileapi/DOMFileSystemBase.cpp:
75839        (WebCore::DOMFileSystemBase::crackFileSystemURL):
75840        * fileapi/DOMFileSystemBase.h:
75841        Added constants for "temporary" and "persistent".
75842        * fileapi/EntryBase.cpp:
75843        Replace hardcoded strings with aforementioned constants.
75844        * fileapi/FileSystemCallbacks.cpp:
75845        (WebCore::ResolveURICallbacks::create):
75846        (WebCore::ResolveURICallbacks::ResolveURICallbacks):
75847        (WebCore::ResolveURICallbacks::didOpenFileSystem):
75848        Chains a call of openFileSystem to calls to getDirectory/getFile.
75849        * fileapi/FileSystemCallbacks.h:
75850        * fileapi/LocalFileSystem.cpp:
75851        (WebCore::LocalFileSystem::readFileSystem):
75852        * fileapi/LocalFileSystem.h:
75853        Remove size argument from readFileSystem()
75854        * page/DOMWindow.cpp:
75855        (WebCore::DOMWindow::resolveLocalFileSystemURI):
75856        * page/DOMWindow.h:
75857        * page/DOMWindow.idl:
75858
758592011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
75860
75861        Reviewed by Oliver Hunt.
75862
75863        Build fix for Qt port after API changes of http://trac.webkit.org/changeset/79904.
75864
75865        * bridge/qt/qt_runtime.cpp:
75866        (JSC::Bindings::QtConnectionObject::execute):
75867
758682011-02-25  David Levin  <levin@chromium.org>
75869
75870        Reviewed by Darin Adler.
75871
75872        Remove some duplicate code from KURLGoogle.cpp
75873        https://bugs.webkit.org/show_bug.cgi?id=55266
75874
75875        No change in functionality so no new tests.
75876
75877        * WebCore.gyp/WebCore.gyp: Make KURL.cpp get built by Chromium.
75878        * platform/KURL.cpp:
75879        Simply moved #include's and some code that was identical (i.e.
75880        had been copied) to KURLGoogle.cpp outside of ifdef !USE(GOOGLEURL)
75881        to reduce duplication.
75882        * platform/KURLGoogle.cpp:
75883        Removed the duplicate code.
75884
758852011-02-28  Oliver Hunt  <oliver@apple.com>
75886
75887        Reviewed by Gavin Barraclough.
75888
75889        Make ScopeChainNode GC allocated
75890        https://bugs.webkit.org/show_bug.cgi?id=55283
75891
75892        Update WebCore to deal with the absence of the ScopeChain
75893        class.
75894
75895        * ForwardingHeaders/runtime/ScopeChain.h: Added.
75896        * bindings/js/JSHTMLElementCustom.cpp:
75897        (WebCore::JSHTMLElement::pushEventHandlerScope):
75898        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
75899        (WebCore::JSJavaScriptCallFrame::scopeChain):
75900        (WebCore::JSJavaScriptCallFrame::scopeType):
75901        * bindings/js/JSLazyEventListener.cpp:
75902        (WebCore::JSLazyEventListener::initializeJSFunction):
75903        * bindings/js/JSMainThreadExecState.h:
75904        (WebCore::JSMainThreadExecState::evaluate):
75905        * bindings/js/JSNodeCustom.cpp:
75906        (WebCore::JSNode::pushEventHandlerScope):
75907        * bindings/js/JavaScriptCallFrame.cpp:
75908        (WebCore::JavaScriptCallFrame::scopeChain):
75909        * bindings/js/JavaScriptCallFrame.h:
75910        * bindings/scripts/CodeGeneratorJS.pm:
75911        * bridge/c/c_class.cpp:
75912        * bridge/c/c_runtime.cpp:
75913        * bridge/jni/JNIBridge.cpp:
75914        * bridge/qt/qt_runtime.cpp:
75915        (JSC::Bindings::QtConnectionObject::execute):
75916        * plugins/PluginViewNone.cpp:
75917
759182011-02-28  Chang Shu  <cshu@webkit.org>
75919
75920        Reviewed by Adele Peterson.
75921
75922        REGRESSION (r79762): Items in <select multiple> have focus rings, but shouldn't
75923        https://bugs.webkit.org/show_bug.cgi?id=55323
75924
75925        Draw focus ring on selected items only if spatial navigation is enabled.
75926
75927        Test: fast/forms/select-listbox-multiple-no-focusring.html
75928
75929        * rendering/RenderBlock.h:
75930        * rendering/RenderListBox.cpp:
75931        (WebCore::RenderListBox::addFocusRingRects):
75932
759332011-02-28  Abhishek Arya  <inferno@chromium.org>
75934
75935        Reviewed by Anders Carlsson.
75936
75937        We can cancel the plugin load and fail with error before m_manualStream
75938        got a chance to initialize in PluginView::didReceiveResponse. This can
75939        happen when we run pending document onload events during plugin load that
75940        remove the frame from underneath. So, change the assert into a null check. 
75941        https://bugs.webkit.org/show_bug.cgi?id=55307
75942
75943        * plugins/PluginView.cpp:
75944        (WebCore::PluginView::didFail):
75945
759462011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
75947
75948        Reviewed by Alexey Proskuryakov.
75949
75950        Build fix for Intel ICC Compiler.
75951        https://bugs.webkit.org/show_bug.cgi?id=55221
75952
75953        The virtual inheritance seems to confuse ICC.
75954        Anything that links with webkit has an undefined reference otherwise.
75955
75956        * svg/SVGTransformable.cpp:
75957        (WebCore::SVGTransformable::~SVGTransformable):
75958        * svg/SVGTransformable.h:
75959
759602011-02-28  Sergio Villar Senin  <svillar@igalia.com>
75961
75962        Reviewed by Martin Robinson.
75963
75964        [Gtk] Resource size is incorrectly reported to WebCore
75965        https://bugs.webkit.org/show_bug.cgi?id=53228
75966
75967        When calling didReceiveData we are sending an invalid value for
75968        lengthReceived. Sometimes we were even passing a boolean value instead of the
75969        expected integer. We should pass the size of the received data instead of the
75970        total amount of data received.
75971
75972        * platform/network/ResourceHandleInternal.h:
75973        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
75974        * platform/network/soup/ResourceHandleSoup.cpp:
75975        (WebCore::gotChunkCallback):
75976        (WebCore::sendRequestCallback):
75977        (WebCore::readCallback):
75978
759792011-02-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
75980
75981        Reviewed by Dan Bernstein.
75982
75983        Cleanup the include guard form an Objective-C files
75984        https://bugs.webkit.org/show_bug.cgi?id=55379
75985
75986        Normally Objective-C files do not need include guard.
75987        r76916 introduced an include guard in EmptyProtocolDefinitions.h.
75988        The guard is no longer needed after r76991.
75989
75990        No new tests as there is no new functionality. 
75991
75992        * platform/mac/EmptyProtocolDefinitions.h:
75993
759942011-02-28  Pavel Podivilov  <podivilov@chromium.org>
75995
75996        Reviewed by Pavel Feldman.
75997
75998        Web Inspector: [REGRESSION] no resources in scripts panel because debugger is enabled too early.
75999        https://bugs.webkit.org/show_bug.cgi?id=55389
76000
76001        * inspector/InspectorAgent.cpp:
76002        (WebCore::InspectorAgent::populateScriptObjects):
76003        * inspector/InspectorDebuggerAgent.cpp:
76004        (WebCore::InspectorDebuggerAgent::setFrontend):
76005        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
76006        * inspector/InspectorDebuggerAgent.h:
76007
760082011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
76009
76010        Unreviewed, rolling out r79877.
76011        http://trac.webkit.org/changeset/79877
76012        https://bugs.webkit.org/show_bug.cgi?id=55388
76013
76014        Breaks chromium build (Requested by antonm_ on #webkit).
76015
76016        * WebCore.gypi:
76017        * platform/graphics/chromium/ContentLayerChromium.cpp:
76018        (WebCore::ContentLayerChromium::updateContentsIfDirty):
76019        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
76020        (WebCore::ContentLayerChromium::resizeUploadBuffer):
76021        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
76022        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
76023        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
76024        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
76025        (WebCore::ContentLayerChromium::draw):
76026        * platform/graphics/chromium/ContentLayerChromium.h:
76027        * platform/graphics/chromium/ImageLayerChromium.cpp:
76028        (WebCore::ImageLayerChromium::updateContentsIfDirty):
76029        * platform/graphics/chromium/ImageLayerChromium.h:
76030        * platform/graphics/chromium/LayerTilerChromium.cpp:
76031        (WebCore::LayerTilerChromium::contentRectToTileIndices):
76032        (WebCore::LayerTilerChromium::update):
76033        * platform/graphics/chromium/LayerTilerChromium.h:
76034        * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
76035        * platform/graphics/chromium/PlatformCanvas.h: Removed.
76036        * platform/graphics/chromium/PlatformImage.cpp: Removed.
76037        * platform/graphics/chromium/PlatformImage.h: Removed.
76038
760392011-02-28  Pavel Podivilov  <podivilov@chromium.org>
76040
76041        Reviewed by Pavel Feldman.
76042
76043        Web Inspector: add live edit test.
76044        https://bugs.webkit.org/show_bug.cgi?id=55360
76045
76046        Test: inspector/debugger/live-edit.html
76047
76048        * inspector/front-end/SourceFrame.js:
76049        (WebInspector.SourceFrame.prototype._doubleClick):
76050        (WebInspector.SourceFrame.prototype._didEditLine):
76051
760522011-02-28  Pavel Feldman  <pfeldman@chromium.org>
76053
76054        Not reviewed. Follow up to r79858, removing optimistic assertion that fails on debug bot.
76055
76056        * inspector/InspectorBrowserDebuggerAgent.cpp:
76057        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
76058
760592011-02-25  Adrienne Walker  <enne@google.com>
76060
76061        Reviewed by James Robinson.
76062
76063        [chromium] Abstract "pixels with a graphics context" into its own class
76064        https://bugs.webkit.org/show_bug.cgi?id=55259
76065
76066        This creates new PlatformCanvas/PlatformImage classes which wrap
76067        all of the #ifdef Skia/Cg warts from the compositor.  All classes
76068        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
76069        modified to use these abstractions.
76070
76071        Tests: LayoutTests/compositing
76072
76073        * WebCore.gypi:
76074        * platform/graphics/chromium/ContentLayerChromium.cpp:
76075        (WebCore::ContentLayerChromium::updateContentsIfDirty):
76076        (WebCore::ContentLayerChromium::resizeUploadBuffer):
76077        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
76078        (WebCore::ContentLayerChromium::updateTexture):
76079        (WebCore::ContentLayerChromium::draw):
76080        * platform/graphics/chromium/ContentLayerChromium.h:
76081        * platform/graphics/chromium/ImageLayerChromium.cpp:
76082        (WebCore::ImageLayerChromium::updateContentsIfDirty):
76083        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
76084        * platform/graphics/chromium/ImageLayerChromium.h:
76085        * platform/graphics/chromium/LayerTilerChromium.cpp:
76086        (WebCore::LayerTilerChromium::contentRectToTileIndices):
76087        (WebCore::LayerTilerChromium::update):
76088        (WebCore::LayerTilerChromium::updateFromPixels):
76089        * platform/graphics/chromium/LayerTilerChromium.h:
76090        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
76091        (WebCore::PlatformCanvas::PlatformCanvas):
76092        (WebCore::PlatformCanvas::~PlatformCanvas):
76093        (WebCore::PlatformCanvas::resize):
76094        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
76095        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
76096        (WebCore::PlatformCanvas::Painter::Painter):
76097        (WebCore::PlatformCanvas::Painter::~Painter):
76098        * platform/graphics/chromium/PlatformCanvas.h: Added.
76099        (WebCore::PlatformCanvas::AutoLocker::pixels):
76100        (WebCore::PlatformCanvas::Painter::context):
76101        (WebCore::PlatformCanvas::size):
76102        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
76103        (WebCore::PlatformImage::PlatformImage):
76104        (WebCore::PlatformImage::updateFromImage):
76105        * platform/graphics/chromium/PlatformImage.h: Added.
76106        (WebCore::PlatformImage::pixels):
76107        (WebCore::PlatformImage::size):
76108
761092011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
76110
76111        Unreviewed, rolling out r79784.
76112        http://trac.webkit.org/changeset/79784
76113        https://bugs.webkit.org/show_bug.cgi?id=55386
76114
76115        This change causes lots of assertion failures in Debug builds
76116        (Requested by aroben on #webkit).
76117
76118        * css/CSSStyleSelector.cpp:
76119        (WebCore::convertToLength):
76120        (WebCore::CSSStyleSelector::applyProperty):
76121        (WebCore::CSSStyleSelector::createTransformOperations):
76122        * platform/Length.h:
76123        (WebCore::Length::Length):
76124        (WebCore::Length::operator==):
76125        (WebCore::Length::operator!=):
76126        (WebCore::Length::rawValue):
76127        (WebCore::Length::type):
76128        (WebCore::Length::quirk):
76129        (WebCore::Length::setValue):
76130        (WebCore::Length::setRawValue):
76131        (WebCore::Length::calcFloatValue):
76132        (WebCore::Length::isZero):
76133        (WebCore::Length::blend):
76134        * rendering/AutoTableLayout.cpp:
76135        (WebCore::AutoTableLayout::recalcColumn):
76136        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
76137        * rendering/FixedTableLayout.cpp:
76138        (WebCore::FixedTableLayout::calcWidthArray):
76139
761402011-02-28  Andreas Kling  <kling@webkit.org>
76141
76142        Reviewed by Darin Adler.
76143
76144        Use Frame::ownerElement() directly where appropriate.
76145        https://bugs.webkit.org/show_bug.cgi?id=55385
76146
76147        Don't take the roundabout way through frame->document->ownerElement
76148        which just checks that the document->frame is non-null.
76149
76150        No new test, refactoring only.
76151
76152        * editing/SelectionController.cpp:
76153        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
76154        * loader/FrameLoader.cpp:
76155        (WebCore::FrameLoader::loadWithDocumentLoader):
76156        * page/DOMWindow.cpp:
76157        (WebCore::DOMWindow::dispatchLoadEvent):
76158        * page/EventHandler.cpp:
76159        (WebCore::EventHandler::scrollRecursively):
76160        (WebCore::EventHandler::logicalScrollRecursively):
76161        * page/FrameView.cpp:
76162        (WebCore::FrameView::init):
76163        (WebCore::FrameView::layout):
76164        (WebCore::FrameView::repaintContentRectangle):
76165        (WebCore::FrameView::windowClipRect):
76166        (WebCore::FrameView::paintContents):
76167
761682011-02-28  Pavel Podivilov  <podivilov@chromium.org>
76169
76170        Reviewed by Pavel Feldman.
76171
76172        Web Inspector: [REGRESSION] source frame is recreated for each inlined script in document.
76173        https://bugs.webkit.org/show_bug.cgi?id=55377
76174
76175        * inspector/front-end/ScriptsPanel.js:
76176        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
76177        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
76178        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
76179        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
76180
761812011-02-28  Patrick Gansterer  <paroga@webkit.org>
76182
76183        Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r79569.
76184
76185        * svg/SVGDocumentExtensions.cpp:
76186        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
76187
761882011-02-28  Renata Hodovan  <reni@webkit.org>
76189
76190        Reviewed by Andreas Kling.
76191
76192        Optimize parameter transmissions in FEConvolveMatrix.
76193        https://bugs.webkit.org/show_bug.cgi?id=55381
76194
76195        Parameter transmission via reference is more efficient than with copy. So they are substituted.
76196
76197        No new tests are needed since this is a refactoring.
76198
76199        * platform/graphics/filters/FEConvolveMatrix.cpp:
76200        (WebCore::FEConvolveMatrix::setKernelSize):
76201        (WebCore::FEConvolveMatrix::setTargetOffset):
76202        (WebCore::FEConvolveMatrix::setKernelUnitLength):
76203        * platform/graphics/filters/FEConvolveMatrix.h:
76204
762052011-02-28  Yury Semikhatsky  <yurys@chromium.org>
76206
76207        Unreviewed. Fix Chromium tests failures due to r79858.
76208
76209        * inspector/InspectorAgent.cpp:
76210        (WebCore::InspectorAgent::inspectedPageDestroyed):
76211
762122011-02-28  Vsevolod Vlasov  <vsevik@chromium.org>
76213
76214        Reviewed by Pavel Feldman.
76215
76216        XML without style should render as syntax-highlighted source.
76217        https://bugs.webkit.org/show_bug.cgi?id=13807
76218
76219        XML tree view mode implemented. If XML does not have any style
76220        information, it is rendered as highlighted source with collapsable
76221        elements.
76222
76223        Tests: fast/css/dumpAsText/xml-stylesheet-pi-not-in-prolog.xml
76224               fast/encoding/dumpAsText/utf-16-no-bom.xml
76225               http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
76226               http/tests/xmlviewer/dumpAsText/frames.html
76227               http/tests/xmlviewer/dumpAsText/mathml.xml
76228               http/tests/xmlviewer/dumpAsText/svg.xml
76229               http/tests/xmlviewer/dumpAsText/wml.xml
76230               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
76231               http/tests/xmlviewer/dumpAsText/xlink.xml
76232               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
76233               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
76234               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
76235               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
76236               http/tests/xmlviewer/dumpAsText/xul.xml
76237               svg/hixie/error/dumpAsText/004.xml
76238               svg/hixie/error/dumpAsText/005.xml
76239
76240        * CMakeLists.txt:
76241        * DerivedSources.make:
76242        * GNUmakefile.am:
76243        * WebCore.gyp/WebCore.gyp:
76244        * WebCore.gypi:
76245        * WebCore.vcproj/WebCore.vcproj:
76246        * WebCore.xcodeproj/project.pbxproj:
76247        * css/CSSStyleSelector.cpp:
76248        (WebCore::CSSStyleSelector::matchUARules):
76249        * dom/Document.cpp:
76250        (WebCore::Document::Document):
76251        (WebCore::Document::createElement):
76252        * dom/Document.h:
76253        (WebCore::Document::usesViewSourceStyles):
76254        (WebCore::Document::setUsesViewSourceStyles):
76255        (WebCore::Document::sawElementsInKnownNamespaces):
76256        * dom/XMLDocumentParser.h:
76257        * dom/XMLDocumentParserLibxml2.cpp:
76258        (WebCore::XMLDocumentParser::XMLDocumentParser):
76259        (WebCore::XMLDocumentParser::processingInstruction):
76260        (WebCore::XMLDocumentParser::initializeParserContext):
76261        (WebCore::XMLDocumentParser::doEnd):
76262        * dom/XMLDocumentParserQt.cpp:
76263        (WebCore::XMLDocumentParser::XMLDocumentParser):
76264        (WebCore::XMLDocumentParser::initializeParserContext):
76265        (WebCore::XMLDocumentParser::parseProcessingInstruction):
76266        * html/HTMLViewSourceDocument.cpp:
76267        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
76268        * xml/XMLTreeViewer.cpp: Added.
76269        (WebCore::XMLTreeViewer::XMLTreeViewer):
76270        (WebCore::XMLTreeViewer::hasNoStyleInformation):
76271        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
76272        * xml/XMLTreeViewer.h: Added.
76273        (WebCore::XMLTreeViewer::~XMLTreeViewer):
76274        * xml/XMLViewer.xsl: Added.
76275        * xml/XSLStyleSheet.h:
76276        (WebCore::XSLStyleSheet::createForXMLTreeViewer):
76277
762782011-02-28  Yury Semikhatsky  <yurys@chromium.org>
76279
76280        Reviewed by Pavel Feldman.
76281
76282        Web Inspector: debugger agents should have same livetime as InspectorAgent
76283        https://bugs.webkit.org/show_bug.cgi?id=55369
76284
76285        DOM and JS debugger agents are now created in InspectorAgent's constructor and owned
76286        by the agent. Debugger state is cleared on frontend disconnect.
76287
76288        * inspector/Inspector.idl:
76289        * inspector/InspectorAgent.cpp:
76290        (WebCore::InspectorAgent::InspectorAgent):
76291        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
76292        (WebCore::InspectorAgent::setFrontend):
76293        (WebCore::InspectorAgent::disconnectFrontend):
76294        (WebCore::InspectorAgent::populateScriptObjects):
76295        (WebCore::InspectorAgent::didCommitLoad):
76296        (WebCore::InspectorAgent::showScriptsPanel):
76297        * inspector/InspectorAgent.h:
76298        * inspector/InspectorBrowserDebuggerAgent.cpp:
76299        (WebCore::InspectorBrowserDebuggerAgent::create):
76300        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
76301        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
76302        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasEnabled):
76303        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasDisabled):
76304        (WebCore::InspectorBrowserDebuggerAgent::disable):
76305        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
76306        (WebCore::InspectorBrowserDebuggerAgent::clearFrontend):
76307        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
76308        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
76309        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
76310        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
76311        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
76312        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
76313        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
76314        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
76315        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
76316        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
76317        (WebCore::InspectorBrowserDebuggerAgent::clear):
76318        * inspector/InspectorBrowserDebuggerAgent.h:
76319        * inspector/InspectorController.cpp:
76320        (WebCore::InspectorController::debuggerEnabled):
76321        (WebCore::InspectorController::showAndEnableDebugger):
76322        (WebCore::InspectorController::disableDebugger):
76323        * inspector/InspectorDebuggerAgent.cpp:
76324        (WebCore::InspectorDebuggerAgent::create):
76325        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
76326        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
76327        (WebCore::InspectorDebuggerAgent::startUserInitiatedDebugging):
76328        (WebCore::InspectorDebuggerAgent::enable):
76329        (WebCore::InspectorDebuggerAgent::disable):
76330        (WebCore::InspectorDebuggerAgent::enabled):
76331        (WebCore::InspectorDebuggerAgent::restore):
76332        (WebCore::InspectorDebuggerAgent::setFrontend):
76333        (WebCore::InspectorDebuggerAgent::clearFrontend):
76334        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
76335        (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
76336        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
76337        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
76338        (WebCore::InspectorDebuggerAgent::currentCallFrames):
76339        (WebCore::InspectorDebuggerAgent::didParseSource):
76340        (WebCore::InspectorDebuggerAgent::clear):
76341        * inspector/InspectorDebuggerAgent.h:
76342        (WebCore::InspectorDebuggerAgent::enable):
76343        (WebCore::InspectorDebuggerAgent::disable):
76344        (WebCore::InspectorDebuggerAgent::Listener::~Listener):
76345        (WebCore::InspectorDebuggerAgent::setListener):
76346        * inspector/InspectorInstrumentation.cpp:
76347        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
76348        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
76349        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
76350        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
76351        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
76352        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
76353        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
76354        * inspector/front-end/DebuggerModel.js:
76355        (WebInspector.DebuggerModel.prototype.enableDebugger):
76356        (WebInspector.DebuggerModel.prototype.disableDebugger):
76357
763582011-02-28  Renata Hodovan  <reni@webkit.org>
76359
76360        Reviewed by Andreas Kling.
76361
76362        FECompositeElement changes doesn't require relayout.
76363        https://bugs.webkit.org/show_bug.cgi?id=55367
76364
76365        When the FECompositeElement receives an update message but the given value remains the same we don't need
76366        to relayout the filter.
76367
76368        No new tests are needed because this modification is covered by the dynamic update tests of FEComposite.
76369
76370        * platform/graphics/filters/FEComposite.cpp:
76371        (WebCore::FEComposite::setOperation):
76372        (WebCore::FEComposite::setK1):
76373        (WebCore::FEComposite::setK2):
76374        (WebCore::FEComposite::setK3):
76375        (WebCore::FEComposite::setK4):
76376        * platform/graphics/filters/FEComposite.h:
76377        * svg/SVGFECompositeElement.cpp:
76378        (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
76379        (WebCore::SVGFECompositeElement::svgAttributeChanged):
76380        * svg/SVGFECompositeElement.h:
76381
763822011-02-28  Andreas Kling  <kling@webkit.org>
76383
76384        Reviewed by Kenneth Rohde Christiansen.
76385
76386        FrameLoader: Reorder early-returns in checkCompleted()
76387        https://bugs.webkit.org/show_bug.cgi?id=55366
76388
76389        Check allChildrenAreComplete() last, since it's the most expensive.
76390
76391        * loader/FrameLoader.cpp:
76392        (WebCore::FrameLoader::checkCompleted):
76393
763942011-02-28  Ryosuke Niwa  <rniwa@webkit.org>
76395
76396        Reviewed by Kent Tamura.
76397
76398        Range::processContents needs cleanup
76399        https://bugs.webkit.org/show_bug.cgi?id=51006
76400
76401        Refactored Range::processContents.  Extracted childOfCommonRootBeforeOffset from processContents
76402        which is used to find processStart and processEnd respectively.  In the case of processStart,
76403        we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not
76404        the common root because copying m_start's ancestors will result in processing too much contents.
76405
76406        Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets.
76407
76408        In addition, lengthOfContentsInNode was modified to return the correct length instead of
76409        numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically
76410        corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than
76411        having two switch statements that need to be consistent.
76412
76413        Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const
76414        LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and
76415        other ports.
76416
76417        * dom/Range.cpp:
76418        (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents.
76419        (WebCore::lengthOfContentsInNode): Added.
76420        (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode,
76421        and processNodes.
76422        (WebCore::deleteCharacterData): Added.
76423        (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes.
76424        (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets.
76425        (WebCore::Range::processAncestorsAndTheirSiblings):
76426        * dom/Range.h:
76427
764282011-02-28  Pavel Feldman  <pfeldman@chromium.org>
76429
76430        Not reviewed. Test harness change follow up.
76431        Consider missing localized string a warning, not an error in the front-end.
76432
76433        * inspector/front-end/inspector.js:
76434        (WebInspector.UIString):
76435
764362011-02-28  Steve Block  <steveblock@google.com>
76437
76438        Reviewed by Jeremy Orlow.
76439
76440        getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android
76441        https://bugs.webkit.org/show_bug.cgi?id=55218
76442
76443        AttachCurrentThread() in Android's JVM takes a JINEnv**
76444        argument.
76445
76446        No new tests, build fix only.
76447
76448        * bridge/jni/JNIUtility.cpp:
76449        (JSC::Bindings::getJNIEnv):
76450
764512011-02-28  Renata Hodovan  <reni@webkit.org>
76452
76453        Reviewed by Andreas Kling.
76454
76455        FETurbulenceElement changes doesn't require relayout
76456        https://bugs.webkit.org/show_bug.cgi?id=55141
76457
76458        When the FETurbulenceElement receives an update message but the given value remains the same we don't need
76459        to relayout the filter.
76460        Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool
76461        to int according to the spec.
76462
76463        No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence.
76464
76465        * platform/graphics/filters/FETurbulence.cpp:
76466        (WebCore::FETurbulence::FETurbulence):
76467        (WebCore::FETurbulence::create):
76468        (WebCore::FETurbulence::type):
76469        (WebCore::FETurbulence::setType):
76470        (WebCore::FETurbulence::setBaseFrequencyY):
76471        (WebCore::FETurbulence::setBaseFrequencyX):
76472        (WebCore::FETurbulence::setSeed):
76473        (WebCore::FETurbulence::setNumOctaves):
76474        (WebCore::FETurbulence::setStitchTiles):
76475        (WebCore::operator<<):
76476        * platform/graphics/filters/FETurbulence.h:
76477        * svg/SVGFETurbulenceElement.cpp:
76478        (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
76479        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
76480        (WebCore::SVGFETurbulenceElement::build):
76481        * svg/SVGFETurbulenceElement.h:
76482
764832011-02-28  Pavel Feldman  <pfeldman@chromium.org>
76484
76485        Reviewed by Yury Semikhatsky.
76486
76487        WebInspector: InspectorAgent calls offsetWidth in the middle of painting
76488        https://bugs.webkit.org/show_bug.cgi?id=54597
76489
76490        * inspector/InspectorAgent.cpp:
76491        (WebCore::InspectorAgent::drawElementTitle):
76492
764932011-02-28  Roland Steiner  <rolandsteiner@chromium.org>
76494
76495        Reviewed by Kent Tamura.
76496
76497        Bug 55355 - TextIterator should not be a friend of RenderTextControl
76498        https://bugs.webkit.org/show_bug.cgi?id=55355
76499
76500        Remove need for 'friend' clause by making innerTextElement() public.
76501
76502        No new tests. (simple refactoring)
76503
76504        * rendering/RenderTextControl.h:
76505
765062011-02-27  Patrick Gansterer  <paroga@webkit.org>
76507
76508        Reviewed by Darin Adler.
76509
76510        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE
76511        https://bugs.webkit.org/show_bug.cgi?id=55317
76512
76513        This functions are obsolete, since r78499 added TextCodecUTF8.
76514        Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec.
76515
76516        * platform/text/TextEncodingRegistry.cpp:
76517        (WebCore::buildBaseTextCodecMaps):
76518        * platform/text/wince/TextCodecWinCE.cpp:
76519        * platform/text/wince/TextCodecWinCE.h:
76520
765212011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
76522
76523        Reviewed by Sam Weinig.
76524
76525        Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects
76526        https://bugs.webkit.org/show_bug.cgi?id=55327
76527
76528        Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have
76529        to release the memory manually.
76530
76531        * rendering/RenderBlock.cpp:
76532        (WebCore::RenderBlock::~RenderBlock):
76533        (WebCore::RenderBlock::selectionGaps):
76534        (WebCore::RenderBlock::insertPositionedObject):
76535        (WebCore::RenderBlock::insertFloatingObject):
76536        (WebCore::RenderBlock::addOverhangingFloats):
76537        (WebCore::RenderBlock::addIntrudingFloats):
76538        * rendering/RenderBlock.h:
76539        (WebCore::RenderBlock::positionedObjects):
76540
765412011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
76542
76543        Reviewed by Andreas Kling.
76544
76545        Eliminate DeprecatedPtrList
76546        https://bugs.webkit.org/show_bug.cgi?id=17425
76547
76548        Remove the implementation of DeprecatedPtrList and all its references
76549        from the build systems.
76550
76551        * Android.mk:
76552        * CMakeLists.txt:
76553        * GNUmakefile.am:
76554        * WebCore.gypi:
76555        * WebCore.order:
76556        * WebCore.pro:
76557        * WebCore.vcproj/WebCore.vcproj:
76558        * WebCore.xcodeproj/project.pbxproj:
76559        * platform/DeprecatedPtrList.h: Removed.
76560        * platform/DeprecatedPtrListImpl.cpp: Removed.
76561        * platform/DeprecatedPtrListImpl.h: Removed.
76562
765632011-02-27  Andreas Kling  <kling@webkit.org>
76564
76565        Reviewed by Kenneth Rohde Christiansen.
76566
76567        [Qt] Use WTF ref counting for FontPlatformDataPrivate
76568        https://bugs.webkit.org/show_bug.cgi?id=55303
76569
76570        Make FontPlatformDataPrivate a RefCounted<FPDP>.
76571        Incidentally fixes an uninitialized member bug in FontPlatformData().
76572
76573        * platform/graphics/qt/FontPlatformData.h:
76574        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
76575        (WebCore::FontPlatformData::FontPlatformData):
76576        (WebCore::FontPlatformData::isHashTableDeletedValue):
76577        (WebCore::FontPlatformData::font):
76578        (WebCore::FontPlatformData::size):
76579        (WebCore::FontPlatformData::family):
76580        (WebCore::FontPlatformData::bold):
76581        (WebCore::FontPlatformData::italic):
76582        (WebCore::FontPlatformData::smallCaps):
76583        (WebCore::FontPlatformData::pixelSize):
76584        * platform/graphics/qt/FontPlatformDataQt.cpp:
76585        (WebCore::toQFontWeight):
76586        (WebCore::FontPlatformData::operator==):
76587        (WebCore::FontPlatformData::hash):
76588
765892011-02-27  Benjamin Poulain  <ikipou@gmail.com>
76590
76591        Reviewed by Darin Adler.
76592
76593        Eliminate DeprecatedPtrList from RenderBlock
76594        https://bugs.webkit.org/show_bug.cgi?id=54972
76595
76596        Refactor RenderBlock to get rid of the DeprecatedPtrList.
76597        The floating objects are stored in a ListHashSet.
76598
76599        Refactoring covered by existing test.
76600
76601        * rendering/RenderBlock.cpp:
76602        (WebCore::RenderBlock::~RenderBlock):
76603        (WebCore::RenderBlock::addOverflowFromFloats):
76604        (WebCore::RenderBlock::repaintOverhangingFloats):
76605        (WebCore::RenderBlock::paintFloats):
76606        (WebCore::RenderBlock::selectionGaps):
76607        (WebCore::RenderBlock::insertFloatingObject):
76608        (WebCore::RenderBlock::removeFloatingObject):
76609        (WebCore::RenderBlock::removeFloatingObjectsBelow):
76610        (WebCore::RenderBlock::positionNewFloats):
76611        (WebCore::RenderBlock::positionNewFloatOnLine):
76612        (WebCore::RenderBlock::logicalLeftOffsetForLine):
76613        (WebCore::RenderBlock::logicalRightOffsetForLine):
76614        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
76615        (WebCore::RenderBlock::lowestFloatLogicalBottom):
76616        (WebCore::RenderBlock::clearFloats):
76617        (WebCore::RenderBlock::addOverhangingFloats):
76618        (WebCore::RenderBlock::addIntrudingFloats):
76619        (WebCore::RenderBlock::containsFloat):
76620        (WebCore::RenderBlock::hitTestFloats):
76621        (WebCore::RenderBlock::adjustForBorderFit):
76622        * rendering/RenderBlock.h:
76623        (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
76624        (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
76625        (WebCore::RenderBlock::FloatingObjectHashTranslator::hash):
76626        (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
76627        * rendering/RenderBlockLineLayout.cpp:
76628        (WebCore::RenderBlock::layoutInlineChildren):
76629        (WebCore::RenderBlock::matchedEndLine):
76630
766312011-02-26  Adam Barth  <abarth@webkit.org>
76632
76633        Reviewed by Eric Seidel.
76634
76635        <input value="type=submit"> throws a warning (“HTML parse error”)
76636        https://bugs.webkit.org/show_bug.cgi?id=55120
76637
76638        This patch removes parse error messages from the HTML parser.  These
76639        messages are displayed at the wrong times, aren't tested, and aren't
76640        helpful.  We'll try again with some more informative messages and
76641        better testing.
76642
76643        * html/parser/HTMLTreeBuilder.cpp:
76644        (WebCore::HTMLTreeBuilder::parseError):
76645
766462011-02-26  Patrick Gansterer  <paroga@webkit.org>
76647
76648        Reviewed by Alexey Proskuryakov.
76649
76650        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew
76651        https://bugs.webkit.org/show_bug.cgi?id=55309
76652
76653        This functions are obsolete, since r78499 added TextCodecUTF8.
76654
76655        * platform/text/TextEncodingRegistry.cpp:
76656        (WebCore::buildBaseTextCodecMaps):
76657        * platform/text/brew/TextCodecBrew.cpp:
76658        * platform/text/brew/TextCodecBrew.h:
76659
766602011-02-26  Justin Schuh  <jschuh@chromium.org>
76661
76662        Reviewed by Darin Adler.
76663
76664        Delay firing of mutation events while setting attribute values
76665        https://bugs.webkit.org/show_bug.cgi?id=55199
76666
76667        Test: fast/dom/attribute-change-on-mutate.html
76668
76669        * dom/Attr.cpp:
76670        (WebCore::Attr::setValue):
76671
766722011-02-26  Yi Shen  <yi.4.shen@nokia.com>
76673
76674        Reviewed by Andreas Kling.
76675
76676        [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed
76677        https://bugs.webkit.org/show_bug.cgi?id=55252
76678
76679        Need to invoke a callback function to notify the HTMLMediaElement
76680        when MediaPlayerPrivateQt's playback state gets changed.
76681
76682        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
76683        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll
76684        (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement
76685        (WebCore::MediaPlayerPrivateQt::stateChanged):
76686        * platform/graphics/qt/MediaPlayerPrivateQt.h:
76687
766882011-02-25  Abhishek Arya  <inferno@chromium.org>
76689
76690        Reviewed by Adam Barth.
76691
76692        When plugin document parser finishes parsing, it runs the raw
76693        document's parser finish functions which call the pending document
76694        onload events that removes the frame from underneath. So, we protect
76695        frame (and hence frameloader) in DocumentLoader::commitLoad.
76696        https://bugs.webkit.org/show_bug.cgi?id=55289
76697
76698        Test: fast/frames/iframe-plugin-load-remove-document-crash.html
76699
76700        * loader/DocumentLoader.cpp:
76701        (WebCore::DocumentLoader::commitLoad):
76702
767032011-02-26  Pavel Feldman  <pfeldman@chromium.org>
76704
76705        Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
76706
767072011-02-26  Pavel Feldman  <pfeldman@chromium.org>
76708
76709        Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt.
76710        https://bugs.webkit.org/show_bug.cgi?id=55302
76711
76712        * CMakeLists.txt:
76713
767142011-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
76715
76716        Reviewed by Pavel Feldman.
76717
76718        XML without style should render as syntax-highlighted source.
76719        https://bugs.webkit.org/show_bug.cgi?id=13807
76720
76721        XML tree view mode implemented. If XML does not have any style
76722        information, it is rendered as highlighted source with collapsable
76723        elements.
76724
76725        Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
76726               http/tests/xmlviewer/dumpAsText/frames.html
76727               http/tests/xmlviewer/dumpAsText/mathml.xml
76728               http/tests/xmlviewer/dumpAsText/svg.xml
76729               http/tests/xmlviewer/dumpAsText/wml.xml
76730               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
76731               http/tests/xmlviewer/dumpAsText/xlink.xml
76732               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
76733               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
76734               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
76735               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
76736               http/tests/xmlviewer/dumpAsText/xul.xml
76737
76738        * CMakeLists.txt:
76739        * DerivedSources.make:
76740        * GNUmakefile.am:
76741        * WebCore.gyp/WebCore.gyp:
76742        * WebCore.gypi:
76743        * WebCore.vcproj/WebCore.vcproj:
76744        * WebCore.xcodeproj/project.pbxproj:
76745        * css/CSSStyleSelector.cpp:
76746        (WebCore::CSSStyleSelector::matchUARules):
76747        * dom/Document.cpp:
76748        (WebCore::Document::Document):
76749        (WebCore::Document::createElement):
76750        * dom/Document.h:
76751        (WebCore::Document::usesViewSourceStyles):
76752        (WebCore::Document::setUsesViewSourceStyles):
76753        (WebCore::Document::sawElementsInKnownNamespaces):
76754        * dom/XMLDocumentParser.h:
76755        * dom/XMLDocumentParserLibxml2.cpp:
76756        (WebCore::XMLDocumentParser::XMLDocumentParser):
76757        (WebCore::XMLDocumentParser::processingInstruction):
76758        (WebCore::XMLDocumentParser::initializeParserContext):
76759        (WebCore::XMLDocumentParser::doEnd):
76760        * dom/XMLDocumentParserQt.cpp:
76761        (WebCore::XMLDocumentParser::XMLDocumentParser):
76762        (WebCore::XMLDocumentParser::initializeParserContext):
76763        (WebCore::XMLDocumentParser::parseProcessingInstruction):
76764        * html/HTMLViewSourceDocument.cpp:
76765        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
76766        * xml/XMLTreeViewer.cpp: Added.
76767        (WebCore::XMLTreeViewer::XMLTreeViewer):
76768        (WebCore::XMLTreeViewer::hasNoStyleInformation):
76769        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
76770        * xml/XMLTreeViewer.h: Added.
76771        (WebCore::XMLTreeViewer::~XMLTreeViewer):
76772        * xml/XMLViewer.xsl: Added.
76773        * xml/XSLStyleSheet.h:
76774        (WebCore::XSLStyleSheet::createFromString):
76775
767762011-02-26  Andreas Kling  <kling@webkit.org>
76777
76778        Reviewed by Kenneth Rohde Christiansen.
76779
76780        [Qt] Enable usage of synchronous HTTP feature in Qt
76781        https://bugs.webkit.org/show_bug.cgi?id=37191
76782
76783        Currently, we spin an event loop when doing synchronous calls to
76784        wait for completion. This patch uses synchronous requests in Qt,
76785        if available, and spins the event loop as a fallback solution.
76786
76787        Based on work by Simon Hausmann and Peter Hartmann.
76788
76789        * platform/network/qt/QNetworkReplyHandler.cpp:
76790        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
76791        (WebCore::QNetworkReplyHandler::start):
76792        * platform/network/qt/QNetworkReplyHandler.h:
76793        * platform/network/qt/ResourceHandleQt.cpp:
76794        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
76795        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
76796        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
76797        (WebCore::WebCoreSynchronousLoader::didFail):
76798        (WebCore::ResourceHandle::loadResourceSynchronously):
76799
768002011-02-26  Ryosuke Niwa  <rniwa@webkit.org>
76801
76802        Reviewed by Kent Tamura.
76803
76804        REGRESSION(r79398): Webkit crash on dojo theme tester page
76805        https://bugs.webkit.org/show_bug.cgi?id=55290
76806
76807        The bug was caused by selectionStartCSSPropertyValue's not considering the possibility
76808        of selectionStartStyle() returning a null pointer. Fixed it by adding a null check.
76809
76810        Test: editing/execCommand/value-without-selection-crash.html
76811
76812        * editing/Editor.cpp:
76813        (WebCore::Editor::selectionStartCSSPropertyValue):
76814
768152011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
76816
76817        Reviewed by Pavel Feldman.
76818
76819        DumpRenderTree should reset frame opener between tests.
76820        https://bugs.webkit.org/show_bug.cgi?id=54874
76821
76822        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
76823
76824        * WebCore.exp.in:
76825
768262011-02-26  Jia Pu  <jpu@apple.com>
76827
76828        Reviewed by Dan Bernstein.
76829
76830        On Mac, need to remove misspell underline in Editor::learnSpelling().
76831        https://bugs.webkit.org/show_bug.cgi?id=55251
76832
76833        This change makes sure that the misspelling markers are removed after the word is learned.
76834
76835        * editing/Editor.cpp:
76836        (WebCore::Editor::learnSpelling):
76837
768382011-02-26  Rik Cabanier  <cabanier@adobe.com>
76839
76840        Reviewed by David Hyatt.
76841
76842        Fix that allows fixed length values to be floating point
76843        https://bugs.webkit.org/show_bug.cgi?id=52699
76844
76845        Transitions now return matrices in floating point. 2 of the transition tests were failing
76846        because they expected integer values.
76847
76848        * WebCore.xcodeproj/project.pbxproj:
76849        * css/CSSStyleSelector.cpp:
76850        (WebCore::convertToLength):
76851        (WebCore::convertToIntLength):
76852        (WebCore::convertToFloatLength):
76853        (WebCore::CSSStyleSelector::applyProperty):
76854        (WebCore::CSSStyleSelector::createTransformOperations):
76855        * platform/Length.h:
76856        (WebCore::Length::Length):
76857        (WebCore::Length::operator==):
76858        (WebCore::Length::operator!=):
76859        (WebCore::Length::rawValue):
76860        (WebCore::Length::type):
76861        (WebCore::Length::quirk):
76862        (WebCore::Length::setValue):
76863        (WebCore::Length::calcFloatValue):
76864        (WebCore::Length::isZero):
76865        (WebCore::Length::blend):
76866        (WebCore::Length::getIntValue):
76867        (WebCore::Length::getFloatValue):
76868        * rendering/AutoTableLayout.cpp:
76869        (WebCore::AutoTableLayout::recalcColumn):
76870        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
76871        * rendering/FixedTableLayout.cpp:
76872        (WebCore::FixedTableLayout::calcWidthArray):
76873
768742011-02-26  Eric Seidel  <eric@webkit.org>
76875
76876        Reviewed by Maciej Stachowiak.
76877
76878        malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement
76879        https://bugs.webkit.org/show_bug.cgi?id=55204
76880
76881        * dom/ContainerNode.cpp:
76882        (WebCore::ContainerNode::removeChildren):
76883         - Using an inlineCapacity of 10 for now. We may want to tweak it later.
76884         - This removes yet another malloc from code which removes nodes (which is rather common).
76885
768862011-02-26  Eric Seidel  <eric@webkit.org>
76887
76888        Reviewed by Maciej Stachowiak.
76889
76890        HashSet<T>::end() creation is expensive and should be avoided
76891        https://bugs.webkit.org/show_bug.cgi?id=55205
76892
76893        In the common case, m_ranges is an empty set.  When that's
76894        the case, we spend all our time in skipEmptyBuckets, walking
76895        the hash storage skipping over empty buckets.
76896        
76897        This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement.
76898
76899        Before:
76900        avg 383.6666666666667
76901        median 386
76902        stdev 7.152311203768722
76903        min 360
76904        max 391
76905
76906        After:
76907        avg 366.3333333333333
76908        median 366
76909        stdev 2.712112747574399
76910        min 362
76911        max 377
76912
76913        * dom/Document.cpp:
76914        (WebCore::Document::nodeChildrenChanged):
76915        (WebCore::Document::nodeChildrenWillBeRemoved):
76916        (WebCore::Document::nodeWillBeRemoved):
76917        (WebCore::Document::textInserted):
76918        (WebCore::Document::textRemoved):
76919        (WebCore::Document::textNodesMerged):
76920        (WebCore::Document::textNodeSplit):
76921
769222011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
76923
76924        Unreviewed, rolling out r79764.
76925        http://trac.webkit.org/changeset/79764
76926        https://bugs.webkit.org/show_bug.cgi?id=55295
76927
76928        "broke Chromium builds" (Requested by rniwa on #webkit).
76929
76930        * WebCore.exp.in:
76931
769322011-02-26  Adam Klein  <adamk@chromium.org>
76933
76934        Reviewed by Adam Barth.
76935
76936        [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase
76937        https://bugs.webkit.org/show_bug.cgi?id=54585
76938
76939        In order to move toURI to EntryBase, it needed access to
76940        SecurityOrigin. Most of the changes below were to pass a
76941        ScriptExecutionContext to DOMFileSystemBase to enable this.
76942
76943        Test: fast/filesystem/workers/file-entry-to-uri-sync.html
76944
76945        * WebCore.gypi:
76946        * WebCore.xcodeproj/project.pbxproj:
76947        * fileapi/DOMFileSystem.cpp:
76948        (WebCore::DOMFileSystem::DOMFileSystem):
76949        * fileapi/DOMFileSystemBase.cpp:
76950        (WebCore::DOMFileSystemBase::DOMFileSystemBase):
76951        (WebCore::DOMFileSystemBase::securityOrigin):
76952        * fileapi/DOMFileSystemBase.h:
76953        (WebCore::DOMFileSystemBase::create):
76954        * fileapi/DOMFileSystemSync.cpp:
76955        (WebCore::DOMFileSystemSync::create):
76956        (WebCore::DOMFileSystemSync::DOMFileSystemSync):
76957        * fileapi/DOMFileSystemSync.h:
76958        (WebCore::DOMFileSystemSync::create):
76959        * fileapi/Entry.cpp:
76960        * fileapi/Entry.h:
76961        * fileapi/EntryBase.cpp: Added.
76962        (WebCore::EntryBase::EntryBase):
76963        (WebCore::EntryBase::~EntryBase):
76964        (WebCore::EntryBase::toURI):
76965        * fileapi/EntryBase.h:
76966        * fileapi/EntrySync.idl:
76967
769682011-02-26  Alice Boxhall  <aboxhall@chromium.org>
76969
76970        Reviewed by Ojan Vafai.
76971
76972        typing enter in the input element should not fire textInput
76973        https://bugs.webkit.org/show_bug.cgi?id=54152
76974
76975        Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly.
76976
76977        Test: fast/forms/textinput-not-fired-on-enter-in-input.html
76978
76979        * html/HTMLInputElement.cpp:
76980        (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true.
76981
769822011-02-26  James Simonsen  <simonjam@chromium.org>
76983
76984        Reviewed by Tony Gentilcore.
76985
76986        [Web Timing] loadEvent timing should refer to first load event if there are many
76987        https://bugs.webkit.org/show_bug.cgi?id=55201
76988
76989        Test: fast/dom/webtiming-document-open.html
76990
76991        * page/DOMWindow.cpp:
76992        (WebCore::DOMWindow::dispatchLoadEvent):
76993
769942011-02-26  Tony Gentilcore  <tonyg@chromium.org>
76995
76996        Reviewed by Adam Barth.
76997
76998        Fix isLayoutTimerActive for ports that set a minimumLayoutDelay
76999        https://bugs.webkit.org/show_bug.cgi?id=54810
77000
77001        No new tests because no new functionality.
77002
77003        * dom/Document.cpp:
77004        (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare
77005        minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was
77006        broken by r52919. The effect would be that ports that set an extra layout delay can't yield
77007        between tokens. Note: can't be const because minimumLayoutDelay sets a member.
77008        * dom/Document.h:
77009        * html/parser/HTMLParserScheduler.cpp:
77010        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
77011        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
77012
770132011-02-26  David Dorwin  <ddorwin@chromium.org>
77014
77015        Reviewed by Darin Fisher.
77016
77017        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.
77018
77019        fullscreen javascript bindings not implemented for v8
77020        https://bugs.webkit.org/show_bug.cgi?id=44797
77021
77022        Tested by the existing fullscreen Layout Tests.
77023
77024        * WebCore.gyp/WebCore.gyp:
77025        * WebCore.gypi:
77026
770272011-02-26  Tony Gentilcore  <tonyg@chromium.org>
77028
77029        Reviewed by Adam Barth.
77030
77031        Prevent parser yields from triggering early dumpAsText()
77032        https://bugs.webkit.org/show_bug.cgi?id=55187
77033
77034        DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense()
77035        indicates the page is done. isLoadingInAPISense depends on
77036        HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an
77037        insert() or append().
77038
77039        This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or
77040        resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch
77041        fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and
77042        incrementing it in pumpTokenizer().
77043
77044        When I locally cause the parser to yield after every token, a lot of tests fail
77045        because DRT snapshots too early. This patch fixes those tests, however I'm having
77046        trouble writing a test case that reliably reproduces the problem without this patch
77047        and passes with it (without changing yield constants). This is because it requires
77048        4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which
77049        doesn't always happen).
77050
77051        * html/parser/HTMLDocumentParser.cpp:
77052        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
77053        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
77054        (WebCore::HTMLDocumentParser::processingData):
77055        (WebCore::HTMLDocumentParser::pumpTokenizer):
77056        (WebCore::HTMLDocumentParser::insert):
77057        (WebCore::HTMLDocumentParser::append):
77058        * html/parser/HTMLDocumentParser.h:
77059        (WebCore::HTMLDocumentParser::inPumpSession):
77060        (WebCore::HTMLDocumentParser::shouldDelayEnd):
77061        * html/parser/HTMLParserScheduler.h:
77062        (WebCore::PumpSession::PumpSession):
77063        * html/parser/NestingLevelIncrementer.h:
77064
770652011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
77066
77067        Reviewed by David Kilzer.
77068
77069        https://bugs.webkit.org/show_bug.cgi?id=48781
77070
77071        Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
77072
77073        Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
77074        should paint the default broken image when an image fails to load or decode.  The method also passes the
77075        URL of the failed image.
77076
77077        Test: fast/images/support-broken-image-delegate.html
77078
77079        * loader/FrameLoaderClient.h:
77080        (WebCore::FrameLoaderClient::shouldPaintBrokenImage):
77081        * loader/cache/CachedImage.cpp:
77082        (WebCore::CachedImage::CachedImage):
77083        (WebCore::CachedImage::image):
77084        (WebCore::CachedImage::checkShouldPaintBrokenImage):
77085        (WebCore::CachedImage::error):
77086        * loader/cache/CachedImage.h:
77087
770882011-02-26  Chris Evans  <cevans@chromium.org>
77089
77090        Reviewed by Adam Barth.
77091
77092        Database: Data race: should only touch the transaction queue inside the
77093        lock.
77094        https://bugs.webkit.org/show_bug.cgi?id=55031
77095
77096        * storage/Database.cpp:
77097        (WebCore::Database::changeVersion): only touch queue inside lock.
77098        (WebCore::Database::runTransaction): only touch queue inside lock.
77099
771002011-02-26  Yi Shen  <yi.4.shen@nokia.com>
77101
77102        Reviewed by Eric Carlson.
77103
77104        Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback
77105        https://bugs.webkit.org/show_bug.cgi?id=55147
77106
77107        When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback, 
77108        a volumechangeEvent event should be fired if the volume gets changed.
77109
77110        Test: media/event-attributes.html
77111
77112        * html/HTMLMediaElement.cpp:
77113        (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0.
77114        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed.
77115
771162011-02-26  Eric Seidel  <eric@webkit.org>
77117
77118        Reviewed by Maciej Stachowiak.
77119
77120        disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement
77121        https://bugs.webkit.org/show_bug.cgi?id=55127
77122
77123        Before:
77124        avg 513.4
77125        median 515
77126        stdev 7.234638899074368
77127        min 490
77128        max 528
77129
77130        After:
77131        avg 508.15
77132        median 510
77133        stdev 6.966168243733426
77134        min 485
77135        max 515
77136
77137        Yes, the stdev is a bit high to actually support my conclusions.  But looking
77138        at the profile, this change makes a lot of sense.  I'll up the iterations
77139        for future testing.
77140
77141        * dom/Document.cpp:
77142        (WebCore::disableRangeMutation):
77143         - This check should only be compiled in if we're planning to run on Tiger or Leopard.
77144
771452011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
77146
77147        Reviewed by Pavel Feldman.
77148
77149        DumpRenderTree should reset frame opener between tests.
77150        https://bugs.webkit.org/show_bug.cgi?id=54874
77151
77152        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
77153
77154        * WebCore.exp.in:
77155
771562011-02-26  Chang Shu  <chang.shu@nokia.com>
77157
77158        Reviewed by Antonio Gomes.
77159
77160        Based on patch by Carlos Garcia Campos  <cgarcia@igalia.com>.
77161
77162        Spatial Navigation: Add support for <select> element in multiple selection mode
77163        https://bugs.webkit.org/show_bug.cgi?id=49261
77164
77165        When spatial navigation is enabled, use space key to toggle select
77166        items. And the up and down keys should not affect selection but just
77167        navigate through items, which is indicated visually by a focus ring.
77168
77169        New Test: fast/spatial-navigation/snav-single-select-list.html
77170        Enhanced Test: fast/spatial-navigation/snav-multiple-select.html
77171
77172        * dom/SelectElement.cpp:
77173        (WebCore::SelectElement::listBoxDefaultEventHandler):
77174        * rendering/RenderListBox.cpp:
77175        (WebCore::RenderListBox::addFocusRingRects):
77176        * rendering/RenderListBox.h:
77177
771782011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
77179
77180        Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp.
77181
77182        * editing/EditingStyle.cpp:
77183
771842011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
77185
77186        Reviewed by Darin Adler.
77187
77188        Move HTMLEquivalent and its subclasses to EditingStyle
77189        https://bugs.webkit.org/show_bug.cgi?id=55207
77190
77191        Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle,
77192        and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent,
77193        and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent,
77194        HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively.
77195
77196        Also extracted the logic to determine which element and attribute are removed
77197        as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes,
77198        and extractConflictingImplicitStyleOfAttributes.
77199
77200        * editing/ApplyStyleCommand.cpp:
77201        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
77202        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
77203        * editing/ApplyStyleCommand.h:
77204        * editing/EditingStyle.cpp:
77205        (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp.
77206        (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto.
77207        (WebCore::HTMLElementEquivalent::matches): Ditto.
77208        (WebCore::HTMLElementEquivalent::hasAttribute): Ditto.
77209        (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto.
77210        (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto.
77211        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
77212        (WebCore::HTMLElementEquivalent::addToStyle): Ditto.
77213        (WebCore::HTMLTextDecorationEquivalent::create): Ditto.
77214        (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto.
77215        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
77216        (WebCore::HTMLAttributeEquivalent::create): Ditto.
77217        (WebCore::HTMLAttributeEquivalent::matches): Ditto.
77218        (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto.
77219        (WebCore::HTMLAttributeEquivalent::attributeName): Ditto.
77220        (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto.
77221        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto.
77222        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
77223        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto.
77224        (WebCore::HTMLFontSizeEquivalent::create): Ditto.
77225        (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto.
77226        (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto.
77227        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added.
77228        (WebCore::htmlAttributeEquivalents): Added.
77229        (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added.
77230        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added.
77231        * editing/EditingStyle.h:
77232
772332011-02-25  Chris Fleizach  <cfleizach@apple.com>
77234
77235        Reviewed by Anders Carlsson.
77236
77237        AX: Add Xcode entries back to the navigator list for Accessibility cpp files
77238        https://bugs.webkit.org/show_bug.cgi?id=55280
77239
77240        * WebCore.xcodeproj/project.pbxproj:
77241
772422011-02-25  Fumitoshi Ukai  <ukai@chromium.org>
77243
77244        Reviewed by Adam Barth.
77245
77246        WebSocket uses insecure random numbers
77247        https://bugs.webkit.org/show_bug.cgi?id=54714
77248
77249        * websockets/WebSocketHandshake.cpp:
77250        (WebCore::randomNumberLessThan):
77251        (WebCore::generateSecWebSocketKey):
77252        (WebCore::generateKey3):
77253
772542011-02-25  Eric Carlson  <eric.carlson@apple.com>
77255
77256        Reviewed by Darin Adler.
77257
77258        Add API to enumerate/delete files downloaded for <audio> and <video>
77259        https://bugs.webkit.org/show_bug.cgi?id=55267
77260
77261        Add review changes missed in r79737.
77262
77263        * html/HTMLMediaElement.cpp:
77264        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference.
77265        * html/HTMLMediaElement.h:
77266        * platform/graphics/MediaPlayer.cpp:
77267        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
77268        * platform/graphics/MediaPlayer.h:
77269        * platform/graphics/MediaPlayerPrivate.h:
77270        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
77271
772722011-02-25  Eric Carlson  <eric.carlson@apple.com>
77273
77274        Reviewed by Darin Adler.
77275
77276        Add API to enumerate/delete files downloaded for <audio> and <video>
77277        https://bugs.webkit.org/show_bug.cgi?id=55267
77278        <rdar://problem/9049280>
77279
77280        No new tests, this is just the plumbing.
77281
77282        * html/HTMLMediaElement.cpp:
77283        (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer.
77284        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
77285        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
77286        * html/HTMLMediaElement.h:
77287
77288        * platform/graphics/MediaPlayer.cpp:
77289        (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine.
77290        (WebCore::MediaPlayer::clearMediaCache): Ditto.
77291        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
77292        * platform/graphics/MediaPlayer.h:
77293
77294        * platform/graphics/MediaPlayerPrivate.h:
77295        (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface.
77296        (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto.
77297        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
77298
772992011-02-25  Abhishek Arya  <inferno@chromium.org>
77300
77301        Reviewed by Dave Hyatt.
77302
77303        Don't add inline continuation outline to the containing block's
77304        continuationOutlineTable list if it is not enclosed by an anonymous block.
77305        https://bugs.webkit.org/show_bug.cgi?id=54690
77306
77307        We currently don't reconnect inline continuations after a child removal.
77308        As a result, those merged inlines do not get seperated and hence not get enclosed
77309        by anonymous blocks. In this case, it is better to bail out and paint it ourself.
77310
77311        Test: fast/table/table-continuation-outline-paint-crash.html
77312
77313        * rendering/InlineFlowBox.cpp:
77314        (WebCore::InlineFlowBox::paint): 
77315        * rendering/RenderBlock.cpp:
77316        (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell
77317        if this containing block has the continuation flow in its continuations list.
77318        * rendering/RenderBlock.h: helper function definition.
77319        * rendering/RenderInline.cpp:
77320        (WebCore::RenderInline::destroy): debug only code that asserts if we leave
77321        behind a continuation in the containing block's continuation list when it is
77322        getting destroyed.
77323
773242011-02-25  David Hyatt  <hyatt@apple.com>
77325
77326        Reviewed by Adam Roben.
77327
77328        https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type
77329        from Length.
77330
77331        * css/CSSPrimitiveValue.cpp:
77332        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
77333        * platform/Length.h:
77334        (WebCore::Length::isFixed):
77335        * rendering/AutoTableLayout.cpp:
77336        (WebCore::AutoTableLayout::layout):
77337        * rendering/RenderImage.cpp:
77338        (WebCore::RenderImage::isLogicalWidthSpecified):
77339        (WebCore::RenderImage::isLogicalHeightSpecified):
77340        * rendering/RenderObject.h:
77341        (WebCore::RenderObject::markContainingBlocksForLayout):
77342        * rendering/style/RenderStyle.h:
77343        (WebCore::InheritedFlags::hasStaticX):
77344        (WebCore::InheritedFlags::hasStaticY):
77345
773462011-02-25  Brian Weinstein  <bweinstein@apple.com>
77347
77348        Windows build fix.
77349
77350        * platform/network/cf/CookieJarCFNet.cpp:
77351        (WebCore::getHostnamesWithCookies): Add a const_cast.
77352        (WebCore::deleteCookiesForHostname): Ditto.
77353
773542011-02-25  Pavel Feldman  <pfeldman@chromium.org>
77355
77356        Reviewed by Timothy Hatcher.
77357
77358        Web Inspector: Empty Elements panel after closing and reopening Inspector
77359        https://bugs.webkit.org/show_bug.cgi?id=55248
77360
77361        Fixing regression real quick. Test to follow.
77362
77363        * inspector/InspectorDOMAgent.cpp:
77364        (WebCore::InspectorDOMAgent::reset):
77365
773662011-02-25  Pavel Feldman  <pfeldman@chromium.org>
77367
77368        Not reviewed: added missing handle scope into V8InjectedScriptHostCustom.
77369        https://bugs.webkit.org/show_bug.cgi?id=55256
77370
77371        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
77372        (WebCore::InjectedScriptHost::nodeAsScriptValue):
77373        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
77374
773752011-02-25  David Hyatt  <hyatt@apple.com>
77376
77377        Reviewed by Sam Weinig.
77378
77379        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
77380        
77381        Make positioned objects work with all possible crazy combinations of mixed writing modes.  Added new helper
77382        functions that flip around the padding box of the containing block and then add in the appropriate border
77383        side to ensure that the offset of the positioned object is actually correctly placed in the containing block's
77384        local coordinate space.
77385
77386        Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments.
77387
77388        * rendering/RenderBox.cpp:
77389        (WebCore::computeLogicalLeftPositionedOffset):
77390        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
77391        (WebCore::computeLogicalTopPositionedOffset):
77392        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
77393        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
77394        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
77395
773962011-02-25  Brian Weinstein  <bweinstein@apple.com>
77397
77398        Reviewed by Brady Eidson and looked over by Jessie Berlin.
77399
77400        WebKit2: Need a way to manage cookies from the web process
77401        https://bugs.webkit.org/show_bug.cgi?id=55086
77402        
77403        Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies,
77404        deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest),
77405        and call them from WebKit2's WebCookieManager.
77406
77407        No change in behavior needing tests.
77408
77409        * WebCore.exp.in: Added needed functions to export.
77410        * platform/CookieJar.h:
77411
77412        * platform/mac/CookieJar.mm:
77413        (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage.
77414        (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from
77415            NSHTTPCookieStorage.
77416        (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage.
77417        
77418        * platform/network/cf/CookieJarCFNet.cpp:
77419        (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs.
77420        (WebCore::deleteCookiesForHostname): Ditto.
77421        (WebCore::deleteAllCookies): Ditto.
77422
77423        * platform/efl/CookieJarEfl.cpp: Added stub functions.
77424        * platform/haiku/CookieJarHaiku.cpp: Ditto.
77425        * platform/network/android/CookieJarAndroid.cpp: Ditto.
77426        * platform/network/chromium/CookieJarChromium.cpp: Ditto.
77427        * platform/network/curl/CookieJarCurl.cpp: Ditto.
77428        * platform/network/soup/CookieJarSoup.cpp: Ditto.
77429        * platform/network/win/CookieJarWin.cpp: Ditto.
77430        * platform/qt/CookieJarQt.cpp: Ditto.
77431
774322011-02-25  Eric Carlson  <eric.carlson@apple.com>
77433
77434        Reviewed by Eric Seidel.
77435
77436        'load' and 'error' events fired for @poster
77437        https://bugs.webkit.org/show_bug.cgi?id=54908
77438
77439        * html/HTMLImageLoader.cpp:
77440        (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used
77441        by a video element.
77442
774432011-02-25  David Hyatt  <hyatt@apple.com>
77444
77445        Reviewed by Sam Weinig.
77446
77447        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
77448        
77449        Patch computePositionedLogicalHeightReplaced to be writing-mode aware.
77450        
77451        Added six new tests in fast/replaced.
77452
77453        * rendering/RenderBox.cpp:
77454        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
77455
774562011-02-25  Patrick Gansterer  <paroga@webkit.org>
77457
77458        Unreviewed build fix.
77459
77460        * platform/text/brew/TextBreakIteratorBrew.cpp:
77461        (WebCore::acquireLineBreakIterator):
77462        * platform/text/wince/TextBreakIteratorWinCE.cpp:
77463        (WebCore::acquireLineBreakIterator):
77464
774652011-02-25  Vangelis Kokkevis  <vangelis@chromium.org>
77466
77467        Reviewed by Simon Fraser.
77468
77469        Update the clip layer size whenever the root layer's size and position
77470        is updated. This only affects the accelerated compositing path.
77471        https://bugs.webkit.org/show_bug.cgi?id=55103
77472
77473        * rendering/RenderLayerCompositor.cpp:
77474        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
77475
77476        Test: platform/chromium/compositing/layout-width-change.html
77477
77478        * rendering/RenderLayerCompositor.cpp:
77479        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
77480
774812011-02-25  Ned Holbrook  <nholbrook@apple.com>
77482
77483        Reviewed by Dan Bernstein.
77484
77485        Minimize calls to ubrk_setText()
77486        https://bugs.webkit.org/show_bug.cgi?id=54912
77487        <rdar://problem/9032774>
77488
77489        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
77490        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
77491        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
77492        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
77493        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
77494
77495        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
77496        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
77497        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
77498        (WebCore::LazyLineBreakIterator::string):
77499        (WebCore::LazyLineBreakIterator::length):
77500        (WebCore::LazyLineBreakIterator::get):
77501        (WebCore::LazyLineBreakIterator::reset):
77502        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
77503        (WebCore::acquireLineBreakIterator):
77504        (WebCore::releaseLineBreakIterator):
77505        * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto.
77506        (WebCore::acquireLineBreakIterator):
77507        (WebCore::releaseLineBreakIterator):
77508        * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto.
77509        (WebCore::acquireLineBreakIterator):
77510        (WebCore::releaseLineBreakIterator):
77511        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto.
77512        (WebCore::acquireLineBreakIterator):
77513        (WebCore::releaseLineBreakIterator):
77514        * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto.
77515        (WebCore::acquireLineBreakIterator):
77516        (WebCore::releaseLineBreakIterator):
77517        * rendering/RenderBlock.h:
77518        * rendering/RenderBlockLineLayout.cpp:
77519        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
77520        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
77521        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
77522        (WebCore::RenderText::computePreferredLogicalWidths):
77523        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer.
77524        (WebCore::nextBreakablePosition):
77525        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer.
77526        (WebCore::isBreakable):
77527
775282011-02-25  David Hyatt  <hyatt@apple.com>
77529
77530        Reviewed by Sam Weinig.
77531
77532        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
77533        
77534        Patch computePositionedLogicalWidthReplaced to be writing-mode aware.  Not testable yet, since the height function overwrites the values
77535        in a vertical text environment.
77536
77537        * rendering/RenderBox.cpp:
77538        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
77539
775402011-02-25  Abhishek Arya  <inferno@chromium.org>
77541
77542        Reviewed by Dave Hyatt.
77543
77544        When trying to find which lines to dirty for a changed child, make sure
77545        that we do test if the adjacent next linebox contains that changed child
77546        and if yes, dirty it. This can happen in cases when we have a word break
77547        between text nodes.
77548        https://bugs.webkit.org/show_bug.cgi?id=55206
77549
77550        Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html
77551
77552        * rendering/RenderLineBoxList.cpp:
77553        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
77554
775552011-02-25  Andrey Adaikin  <aandrey@google.com>
77556
77557        Reviewed by Pavel Feldman.
77558
77559        Web Inspector: [Text editor] Add basic layout tests for the highlighter
77560        https://bugs.webkit.org/show_bug.cgi?id=54751
77561
77562        Test: inspector/editor/highlighter-basics.html
77563
77564        * inspector/front-end/TextEditorHighlighter.js:
77565        (WebInspector.TextEditorHighlighter.prototype.highlight):
77566
775672011-02-24  Alexander Pavlov  <apavlov@chromium.org>
77568
77569        Reviewed by Pavel Feldman.
77570
77571        Web Inspector: Huge fonts in font preview
77572        https://bugs.webkit.org/show_bug.cgi?id=55143
77573
77574        * inspector/front-end/FontView.js:
77575        (WebInspector.FontView.prototype._createContentIfNeeded):
77576        (WebInspector.FontView.prototype.show):
77577        (WebInspector.FontView.prototype.resize):
77578        (WebInspector.FontView.prototype._measureElement):
77579        (WebInspector.FontView.prototype.updateFontPreviewSize):
77580
775812011-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
77582
77583        Reviewed by Dirk Schulze.
77584
77585        Implement SVGColor/SVGPaint API
77586        https://bugs.webkit.org/show_bug.cgi?id=55119
77587
77588        SVGColor::cssText() shouldn't return #RRGGBBAA colors
77589        https://bugs.webkit.org/show_bug.cgi?id=48120
77590
77591        Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs.
77592        SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type.
77593        That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to
77594        their CSSValues should be reflected in the elements style as well as in the computed style.
77595        This patch doesn't yet implement that, the stubbed-out method valueChanged() is what
77596        needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue
77597        and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed).
77598        Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects.
77599
77600        Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..)
77601        Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style
77602        <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch.
77603
77604        Tests: svg/dom/SVGColor.html
77605               svg/dom/SVGPaint.html
77606
77607        * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs.
77608        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
77609        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
77610        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
77611        * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes.
77612        (WebCore::CSSParser::parseSVGValue):
77613        (WebCore::CSSParser::parseSVGPaint):
77614        (WebCore::CSSParser::parseSVGColor):
77615        * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention.
77616        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
77617        (WebCore::SVGColor::SVGColor):
77618        (WebCore::SVGColor::setRGBColor):
77619        (WebCore::SVGColor::colorFromRGBColorString):
77620        (WebCore::SVGColor::setRGBColorICCColor):
77621        (WebCore::SVGColor::setColor):
77622        (WebCore::SVGColor::cssText):
77623        * svg/SVGColor.h:
77624        (WebCore::SVGColor::createFromString):
77625        (WebCore::SVGColor::createFromColor):
77626        (WebCore::SVGColor::color):
77627        (WebCore::SVGColor::colorType):
77628        (WebCore::SVGColor::~SVGColor):
77629        (WebCore::SVGColor::setColor):
77630        (WebCore::SVGColor::setColorType):
77631        * svg/SVGColor.idl: Enable strict type checking.
77632        * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention.
77633        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
77634        (WebCore::colorTypeForPaintType):
77635        (WebCore::SVGPaint::SVGPaint):
77636        (WebCore::SVGPaint::setUri):
77637        (WebCore::SVGPaint::defaultFill):
77638        (WebCore::SVGPaint::defaultStroke):
77639        (WebCore::SVGPaint::setPaint):
77640        (WebCore::SVGPaint::cssText):
77641        (WebCore::SVGPaint::matchesTargetURI):
77642        * svg/SVGPaint.h:
77643        (WebCore::SVGPaint::createUnknown):
77644        (WebCore::SVGPaint::createNone):
77645        (WebCore::SVGPaint::createCurrentColor):
77646        (WebCore::SVGPaint::createColor):
77647        (WebCore::SVGPaint::createURI):
77648        (WebCore::SVGPaint::createURIAndColor):
77649        (WebCore::SVGPaint::paintType):
77650        (WebCore::SVGPaint::uri):
77651        (WebCore::SVGPaint::create):
77652        (WebCore::SVGPaint::isSVGPaint):
77653        * svg/SVGPaint.idl: Enable strict type checking.
77654
776552011-02-25  Renata Hodovan  <reni@webkit.org>
77656
77657        Reviewed by Nikolas Zimmermann.
77658
77659        FESpecularLightingElement changes doesn't require relayout.
77660        https://bugs.webkit.org/show_bug.cgi?id=54451
77661
77662        When the FESpecularLightingElement receives an update message but the given value remains the same we don't need
77663        to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter.
77664        Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null.
77665
77666        No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting.
77667        We only test what happens if we remove the light source of specularLight.
77668
77669        Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html
77670
77671        * platform/graphics/filters/FESpecularLighting.cpp:
77672        (WebCore::FESpecularLighting::setSurfaceScale):
77673        (WebCore::FESpecularLighting::setSpecularConstant):
77674        (WebCore::FESpecularLighting::setSpecularExponent):
77675        (WebCore::FESpecularLighting::setKernelUnitLengthX):
77676        (WebCore::FESpecularLighting::setKernelUnitLengthY):
77677        * platform/graphics/filters/FESpecularLighting.h:
77678        * rendering/svg/RenderSVGResourceFilter.cpp:
77679        (WebCore::RenderSVGResourceFilter::postApplyResource):
77680        * svg/SVGFEDiffuseLightingElement.cpp:
77681        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
77682        (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
77683        (WebCore::SVGFEDiffuseLightingElement::build):
77684        * svg/SVGFEDiffuseLightingElement.h:
77685        * svg/SVGFELightElement.cpp:
77686        (WebCore::SVGFELightElement::findLightElement):
77687        (WebCore::SVGFELightElement::findLight):
77688        (WebCore::SVGFELightElement::svgAttributeChanged):
77689        * svg/SVGFELightElement.h:
77690        * svg/SVGFESpecularLightingElement.cpp:
77691        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
77692        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
77693        (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged):
77694        (WebCore::SVGFESpecularLightingElement::build):
77695        * svg/SVGFESpecularLightingElement.h:
77696
776972011-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
77698
77699        Reviewed by Andreas Kling.
77700
77701        [Qt] Revert the support for QNAM affined to a different thread.
77702        https://bugs.webkit.org/show_bug.cgi?id=55149
77703
77704        Qt 4.8 will have QNAM use its own thread internally by default,
77705        no need to keep this complexity in WebKit.
77706
77707        This mainly reverts:
77708        http://trac.webkit.org/changeset/73710
77709        http://trac.webkit.org/changeset/73712
77710
77711        * WebCore.pro:
77712        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
77713        (WebCore::MediaPlayerPrivateQt::commitLoad):
77714        * platform/network/qt/QNetworkReplyHandler.cpp:
77715        (WebCore::FormDataIODevice::FormDataIODevice):
77716        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
77717        (WebCore::QNetworkReplyHandler::setLoadMode):
77718        (WebCore::QNetworkReplyHandler::abort):
77719        (WebCore::QNetworkReplyHandler::release):
77720        (WebCore::ignoreHttpError):
77721        (WebCore::QNetworkReplyHandler::finish):
77722        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
77723        (WebCore::QNetworkReplyHandler::forwardData):
77724        (WebCore::QNetworkReplyHandler::start):
77725        (WebCore::QNetworkReplyHandler::sendQueuedItems):
77726        * platform/network/qt/QNetworkReplyHandler.h:
77727        (WebCore::QNetworkReplyHandler::reply):
77728        * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed.
77729        * platform/network/qt/QtNAMThreadSafeProxy.h: Removed.
77730        * platform/network/qt/ResourceHandleQt.cpp:
77731        (WebCore::ResourceHandle::willLoadFromCache):
77732        * platform/qt/CookieJarQt.cpp:
77733        (WebCore::cookieJar):
77734        (WebCore::setCookies):
77735        (WebCore::cookies):
77736        (WebCore::cookieRequestHeaderFieldValue):
77737        (WebCore::cookiesEnabled):
77738
777392011-02-25  Renata Hodovan  <reni@webkit.org>
77740
77741        Reviewed by Andreas Kling.
77742
77743        FEBlendElement changes doesn't require relayout
77744        https://bugs.webkit.org/show_bug.cgi?id=55138
77745
77746        When the FEBlendElement receives an update message but the given value remains the same we don't need
77747        to relayout the filter.
77748
77749        No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend.
77750
77751        * platform/graphics/filters/FEBlend.cpp:
77752        (WebCore::FEBlend::setBlendMode):
77753        * platform/graphics/filters/FEBlend.h:
77754        * svg/SVGFEBlendElement.cpp:
77755        (WebCore::SVGFEBlendElement::setFilterEffectAttribute):
77756        (WebCore::SVGFEBlendElement::svgAttributeChanged):
77757        (WebCore::SVGFEBlendElement::synchronizeProperty):
77758        * svg/SVGFEBlendElement.h:
77759
777602011-02-24  Daniel Bates  <dbates@rim.com>
77761
77762        Reviewed by Antonio Gomes.
77763
77764        Clean up: Extract table height adjustment for <caption> into common function
77765        https://bugs.webkit.org/show_bug.cgi?id=54936
77766
77767        We use similar logic for adjusting the height of a table with respect
77768        to a top- and bottom-positioned <caption>. Instead, we should extract
77769        the common code into a shared function.
77770
77771        No functionality changed. So no new tests.
77772
77773        * rendering/RenderTable.cpp:
77774        (WebCore::RenderTable::adjustLogicalHeightForCaption): Added.
77775        (WebCore::RenderTable::layout): Extracted common code to adjust table height
77776        with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption().
77777        * rendering/RenderTable.h:
77778
777792011-02-24  James Robinson  <jamesr@chromium.org>
77780
77781        Reviewed by Kenneth Russell.
77782
77783        [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
77784        https://bugs.webkit.org/show_bug.cgi?id=55013
77785
77786        This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers.
77787        Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium
77788        tree for structure.  In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only
77789        concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish.
77790
77791        RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies.
77792
77793        Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally
77794        not added it to the include path.  We plan to add more compositor implementation details to this directory
77795        and we want to keep accidental dependencies on these files to a minimum.
77796
77797        See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture.
77798
77799        Refactor only, compositing/ tests cover these codepaths.
77800
77801        * WebCore.gypi:
77802        * platform/graphics/chromium/CanvasLayerChromium.cpp:
77803        (WebCore::CanvasLayerChromium::draw):
77804        * platform/graphics/chromium/ContentLayerChromium.cpp:
77805        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
77806        (WebCore::ContentLayerChromium::updateContentsIfDirty):
77807        (WebCore::ContentLayerChromium::draw):
77808        * platform/graphics/chromium/LayerChromium.cpp:
77809        (WebCore::LayerChromium::LayerChromium):
77810        (WebCore::LayerChromium::cleanupResources):
77811        (WebCore::LayerChromium::setLayerRenderer):
77812        (WebCore::LayerChromium::setBounds):
77813        (WebCore::LayerChromium::setFrame):
77814        (WebCore::LayerChromium::setNeedsDisplay):
77815        (WebCore::LayerChromium::setBorderColor):
77816        (WebCore::LayerChromium::borderColor):
77817        (WebCore::LayerChromium::setBorderWidth):
77818        (WebCore::LayerChromium::borderWidth):
77819        (WebCore::LayerChromium::layerRenderer):
77820        (WebCore::LayerChromium::setDoubleSided):
77821        (WebCore::LayerChromium::bounds):
77822        * platform/graphics/chromium/LayerChromium.h:
77823        (WebCore::LayerChromium::maskDrawLayer):
77824        (WebCore::LayerChromium::ccLayerImpl):
77825        * platform/graphics/chromium/LayerRendererChromium.cpp:
77826        (WebCore::LayerRendererChromium::compareLayerZ):
77827        (WebCore::LayerRendererChromium::drawLayers):
77828        (WebCore::LayerRendererChromium::updateLayersRecursive):
77829        (WebCore::LayerRendererChromium::setCompositeOffscreen):
77830        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
77831        (WebCore::LayerRendererChromium::drawLayer):
77832        * platform/graphics/chromium/LayerRendererChromium.h:
77833        * platform/graphics/chromium/PluginLayerChromium.cpp:
77834        (WebCore::PluginLayerChromium::draw):
77835        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
77836        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
77837        (WebCore::RenderSurfaceChromium::drawSurface):
77838        (WebCore::RenderSurfaceChromium::draw):
77839        * platform/graphics/chromium/RenderSurfaceChromium.h:
77840        * platform/graphics/chromium/VideoLayerChromium.cpp:
77841        (WebCore::VideoLayerChromium::drawYUV):
77842        (WebCore::VideoLayerChromium::drawRGBA):
77843        * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added.
77844        (WebCore::CCLayerImpl::CCLayerImpl):
77845        (WebCore::CCLayerImpl::~CCLayerImpl):
77846        (WebCore::CCLayerImpl::superlayer):
77847        (WebCore::CCLayerImpl::maskLayer):
77848        (WebCore::CCLayerImpl::replicaLayer):
77849        (WebCore::CCLayerImpl::setLayerRenderer):
77850        (WebCore::CCLayerImpl::createRenderSurface):
77851        (WebCore::CCLayerImpl::updateContentsIfDirty):
77852        (WebCore::CCLayerImpl::drawsContent):
77853        (WebCore::CCLayerImpl::draw):
77854        (WebCore::CCLayerImpl::unreserveContentsTexture):
77855        (WebCore::CCLayerImpl::bindContentsTexture):
77856        (WebCore::CCLayerImpl::cleanupResources):
77857        (WebCore::CCLayerImpl::getDrawRect):
77858        (WebCore::CCLayerImpl::drawDebugBorder):
77859        * platform/graphics/chromium/cc/CCLayerImpl.h: Added.
77860        (WebCore::CCLayerImpl::create):
77861        (WebCore::CCLayerImpl::setDebugBorderColor):
77862        (WebCore::CCLayerImpl::debugBorderColor):
77863        (WebCore::CCLayerImpl::setDebugBorderWidth):
77864        (WebCore::CCLayerImpl::debugBorderWidth):
77865        (WebCore::CCLayerImpl::layerRenderer):
77866        (WebCore::CCLayerImpl::renderSurface):
77867        (WebCore::CCLayerImpl::clearRenderSurface):
77868        (WebCore::CCLayerImpl::drawDepth):
77869        (WebCore::CCLayerImpl::setDrawDepth):
77870        (WebCore::CCLayerImpl::drawOpacity):
77871        (WebCore::CCLayerImpl::setDrawOpacity):
77872        (WebCore::CCLayerImpl::scissorRect):
77873        (WebCore::CCLayerImpl::setScissorRect):
77874        (WebCore::CCLayerImpl::targetRenderSurface):
77875        (WebCore::CCLayerImpl::setTargetRenderSurface):
77876        (WebCore::CCLayerImpl::doubleSided):
77877        (WebCore::CCLayerImpl::setDoubleSided):
77878        (WebCore::CCLayerImpl::bounds):
77879        (WebCore::CCLayerImpl::setBounds):
77880        (WebCore::CCLayerImpl::drawTransform):
77881        (WebCore::CCLayerImpl::setDrawTransform):
77882        (WebCore::CCLayerImpl::drawableContentRect):
77883        (WebCore::CCLayerImpl::setDrawableContentRect):
77884
778852011-02-24  Dan Bernstein  <mitz@apple.com>
77886
77887        Reviewed by Simon Fraser.
77888
77889        REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered
77890        https://bugs.webkit.org/show_bug.cgi?id=55197
77891
77892        * rendering/RenderBlockLineLayout.cpp:
77893        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even
77894        if there are no expansion opportunities. This allows RenderRubyBase to center itself.
77895
778962011-02-24  Darin Adler  <darin@apple.com>
77897
77898        Reviewed by Alexey Proskuryakov.
77899
77900        REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions
77901        https://bugs.webkit.org/show_bug.cgi?id=55135
77902
77903        * platform/text/TextCodecUTF8.cpp:
77904        (WebCore::TextCodecUTF8::decode): Removed incorrect assertions.
77905
779062011-02-24  Darin Adler  <darin@apple.com>
77907
77908        Reviewed by Anders Carlsson.
77909
77910        WebKit2: Image-based cursors do not work
77911        https://bugs.webkit.org/show_bug.cgi?id=55184
77912
77913        * WebCore.exp.in: Exported new entry points now used by WebKit2.
77914
779152011-02-24  Matthew Delaney  <mdelaney@apple.com>
77916
77917        Reviewed by Simon Fraser.
77918
77919        ImageBuffer::clip creates an image of the incorrect context in IOSurface case
77920        https://bugs.webkit.org/show_bug.cgi?id=55170
77921
77922        Test: fast/canvas/2d.fillText.gradient.html
77923
77924        * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context
77925        instead of ourself (the passed in context).
77926
779272011-02-24  Simon Fraser  <simon.fraser@apple.com>
77928
77929        Reviewed by Dan Bernstein.
77930
77931        RenderBoxModelObject::paintBoxShadow should bail earlier
77932        https://bugs.webkit.org/show_bug.cgi?id=55186
77933
77934        Make paintBoxShadow() bail early if there is no shadow, and make
77935        callers consistent in not checking for box-shadow before calling it.
77936
77937        * rendering/InlineFlowBox.cpp:
77938        (WebCore::InlineFlowBox::paintBoxDecorations):
77939        * rendering/RenderBoxModelObject.cpp:
77940        (WebCore::RenderBoxModelObject::paintBoxShadow):
77941        * rendering/RenderTableCell.cpp:
77942        (WebCore::RenderTableCell::paintBoxDecorations):
77943
779442011-02-24  James Robinson  <jamesr@chromium.org>
77945
77946        Reviewed by Darin Fisher.
77947
77948        Add a USE() macro to control use of the built-in UTF8 codec
77949        https://bugs.webkit.org/show_bug.cgi?id=55189
77950
77951        Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set.
77952
77953        * platform/text/TextCodecICU.cpp:
77954        (WebCore::TextCodecICU::registerEncodingNames):
77955        * platform/text/TextEncodingRegistry.cpp:
77956        (WebCore::buildBaseTextCodecMaps):
77957
779582011-02-24  Dan Bernstein  <mitz@apple.com>
77959
77960        Reviewed by Dave Hyatt.
77961
77962        <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text
77963        https://bugs.webkit.org/show_bug.cgi?id=55183
77964
77965        Test: fast/ruby/base-shorter-than-text.html
77966
77967        * rendering/RenderBlock.cpp:
77968        (WebCore::RenderBlock::availableLogicalWidthForLine):
77969        * rendering/RenderBlock.h:
77970        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing.
77971        * rendering/RenderBlockLineLayout.cpp:
77972        (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for
77973        the last line or a line that ends with a hard break.
77974        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available
77975        width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines.
77976        * rendering/RenderRubyBase.cpp:
77977        (WebCore::RenderRubyBase::rubyRun): Added.
77978        (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify".
77979        (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is
77980        half the width of a single intra-line expansion.
77981        * rendering/RenderRubyBase.h:
77982        * rendering/RenderRubyRun.cpp:
77983        (WebCore::RenderRubyRun::addChild): 
77984
779852011-02-24  James Robinson  <jamesr@chromium.org>
77986
77987        Unreviewed, rolling out r79604.
77988        http://trac.webkit.org/changeset/79604
77989        https://bugs.webkit.org/show_bug.cgi?id=55017
77990
77991        Causes assertions to fail on some SVG tests
77992
77993        * svg/graphics/SVGImage.cpp:
77994        (WebCore::SVGImage::dataChanged):
77995
779962011-02-24  Oliver Hunt  <oliver@apple.com>
77997
77998        Build fix
77999
78000        * bindings/js/JSBindingsAllInOne.cpp:
78001
780022011-02-24  David Hyatt  <hyatt@apple.com>
78003
78004        Reviewed by Simon Fraser.
78005
78006        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
78007
78008        Rework the logical height computation for positioned elements to work in terms of before and after.  That way the offset is determined from
78009        the correct container side in flipped block writing modes (e.g., vertical-rl).
78010        
78011        Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned
78012        elements.
78013        
78014        Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly.
78015
78016        Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr.
78017
78018        * rendering/RenderBox.cpp:
78019        (WebCore::RenderBox::offsetFromContainer):
78020        (WebCore::RenderBox::computePositionedLogicalHeight):
78021        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
78022        (WebCore::RenderBox::locationOffsetIncludingFlipping):
78023        * rendering/style/RenderStyle.h:
78024        (WebCore::InheritedFlags::logicalTop):
78025        (WebCore::InheritedFlags::logicalBottom):
78026
780272011-02-23  Oliver Hunt  <oliver@apple.com>
78028
78029        Reviewed by Geoffrey Garen.
78030
78031        Make WeakGCMap use new handle infrastructure
78032        https://bugs.webkit.org/show_bug.cgi?id=55100
78033
78034        Update to new WeakGCMap APIs, this requires threading global
78035        data to a few functions that did not need it in the past, but
78036        also gets rid of a large number of destructors, as well as the
78037        forgetDOMNode, etc APIs.
78038
78039        We can also drop the JSDebugWrapperSet as its only purpose was
78040        to ensure that we retained correct semantics in the old WeakGCMap,
78041        but happilly these semantics are now guaranteed by the map itself.
78042
78043        * CMakeLists.txt:
78044        * GNUmakefile.am:
78045        * WebCore.gypi:
78046        * WebCore.pro:
78047        * WebCore.vcproj/WebCore.vcproj:
78048        * WebCore.xcodeproj/project.pbxproj:
78049        * bindings/js/JSDOMBinding.cpp:
78050        (WebCore::hasCachedDOMObjectWrapperUnchecked):
78051        (WebCore::cacheDOMObjectWrapper):
78052        (WebCore::hasCachedDOMNodeWrapperUnchecked):
78053        (WebCore::cacheDOMNodeWrapper):
78054        (WebCore::isObservableThroughDOM):
78055        (WebCore::markDOMNodesForDocument):
78056        (WebCore::takeWrappers):
78057        (WebCore::updateDOMNodeDocument):
78058        (WebCore::markDOMObjectWrapper):
78059        (WebCore::markDOMNodeWrapper):
78060        (WebCore::stringWrapperDestroyed):
78061        (WebCore::jsStringSlowCase):
78062        * bindings/js/JSDOMBinding.h:
78063        * bindings/js/JSDOMWrapper.cpp:
78064        (WebCore::DOMObject::~DOMObject):
78065        * bindings/js/JSDebugWrapperSet.cpp: Removed.
78066        * bindings/js/JSDebugWrapperSet.h: Removed.
78067        * bindings/scripts/CodeGeneratorJS.pm:
78068        * bridge/jsc/BridgeJSC.cpp:
78069        (JSC::Bindings::Instance::createRuntimeObject):
78070        * bridge/jsc/BridgeJSC.h:
78071        * bridge/runtime_object.cpp:
78072        (JSC::Bindings::RuntimeObject::~RuntimeObject):
78073        * bridge/runtime_root.cpp:
78074        (JSC::Bindings::RootObject::invalidate):
78075        (JSC::Bindings::RootObject::addRuntimeObject):
78076        (JSC::Bindings::RootObject::removeRuntimeObject):
78077        * bridge/runtime_root.h:
78078
780792011-02-24  James Robinson  <jamesr@chromium.org>
78080
78081        Fix chromium compile.
78082
78083        * bindings/v8/custom/V8LocationCustom.cpp:
78084        (WebCore::V8Location::toStringCallback):
78085
780862011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
78087
78088        Unreviewed, rolling out r79607.
78089        http://trac.webkit.org/changeset/79607
78090        https://bugs.webkit.org/show_bug.cgi?id=55157
78091
78092        Broke Chromium layout tests.
78093
78094        * html/shadow/MediaControls.cpp:
78095        (WebCore::MediaControls::updateVolumeSliderContainer):
78096        * rendering/RenderMediaControls.cpp:
78097        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
78098        * rendering/RenderMediaControls.h:
78099        * rendering/RenderTheme.cpp:
78100        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
78101        * rendering/RenderTheme.h:
78102        * rendering/RenderThemeChromiumMac.h:
78103        * rendering/RenderThemeChromiumMac.mm:
78104        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
78105        * rendering/RenderThemeMac.h:
78106        * rendering/RenderThemeMac.mm:
78107        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
78108        * rendering/RenderThemeWin.cpp:
78109        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
78110        * rendering/RenderThemeWin.h:
78111
781122011-02-24  Anders Carlsson  <andersca@apple.com>
78113
78114        Reviewed by Sam Weinig.
78115
78116        Fix the clang -Woverloaded-virtual build.
78117
78118        JSLocation has a toString function which conflicts with the virtual JSObject::toString  member function.
78119        Fix this by renaming the implementation function from JSLocation::toString to JSLocation::toStringFunction.
78120
78121        * bindings/js/JSLocationCustom.cpp:
78122        (WebCore::JSLocation::toStringFunction):
78123        * bindings/v8/custom/V8LocationCustom.cpp:
78124        (WebCore::V8Location::toStringFunctionCallback):
78125        * page/Location.idl:
78126
781272011-02-24  Anders Carlsson  <andersca@apple.com>
78128
78129        Fix clang build.
78130
78131        * bindings/objc/WebScriptObject.mm:
78132        (-[WebUndefined release]):
78133        Release should be "oneway void".
78134
78135        (-[WebUndefined retainCount]):
78136        Return NSUIntegerMax instead of UINT_MAX.
78137
781382011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
78139
78140        Reviewed by Darin Adler.
78141
78142        Simplify RenderTheme::volumeSliderOffsetFromMuteButton, unduplicate code.
78143        https://bugs.webkit.org/show_bug.cgi?id=55157
78144
78145        Refactoring, no functional changes. Covered by existing tests.
78146
78147        RenderTheme::volumeSliderOffsetFromMuteButton has the same duplicated
78148        logic for all platforms. This patch:
78149        a) moves the common logic of determining absolute positioning to a
78150           platform-agnostic place;
78151        b) simplifies the method to return constant offset.
78152
78153        * html/shadow/MediaControls.cpp:
78154        (WebCore::volumeSliderOffset): Added new helper function,
78155            capturing common logic of finding the absolute position of the volume slider.
78156        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to use the
78157            new helper.
78158        * rendering/RenderMediaControls.cpp:
78159        (WebCore::RenderMediaControls::volumeSliderOffsetRelativeToMuteButton): Simplified.
78160        * rendering/RenderMediaControls.h: Ditto.
78161        * rendering/RenderTheme.cpp:
78162        (WebCore::RenderTheme::volumeSliderOffsetRelativeToMuteButton): Ditto.
78163        * rendering/RenderTheme.h: Ditto.
78164        * rendering/RenderThemeChromiumMac.h: Ditto.
78165        * rendering/RenderThemeChromiumMac.mm: Ditto.
78166        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
78167        * rendering/RenderThemeMac.h: Ditto.
78168        * rendering/RenderThemeMac.mm: Ditto.
78169        (WebCore::RenderThemeMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
78170        * rendering/RenderThemeWin.cpp: Ditto.
78171        (WebCore::RenderThemeWin::volumeSliderOffsetRelativeToMuteButton): Ditto.
78172        * rendering/RenderThemeWin.h: Ditto.
78173
781742011-02-24  Tom Sepez  <tsepez@chromium.org>
78175
78176        Reviewed by Darin Fisher.
78177
78178        Make frameview resized event dispatch async so that it occurs
78179        after layout has completed.
78180        
78181        https://bugs.webkit.org/show_bug.cgi?id=54467
78182        Test: fast/replaced/frame-removed-during-resize-smaller.html
78183
78184        * page/EventHandler.cpp:
78185        (WebCore::EventHandler::sendResizeEvent):
78186
781872011-02-24  Xianzhu Wang  <wangxianzhu@google.com>
78188
78189        Reviewed by Adam Barth.
78190
78191        Use loader->init() instead of loader->load() to avoid complex fake
78192        request loading and cleanup logic, and also avoid ResourceLoader leaks.
78193
78194        https://bugs.webkit.org/show_bug.cgi?id=55017
78195
78196        Test: svg/misc/SVGImage-leak-ResourceLoader.html
78197
78198        * svg/graphics/SVGImage.cpp:
78199        (WebCore::SVGImage::dataChanged):
78200
782012011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
78202
78203        Chromium Mac build fix after r79591.
78204
78205        * WebCore.gypi: Added RenderMediaControls to WebCore.gypi.
78206
782072011-02-24  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
78208
78209        Reviewed by Andreas Kling.
78210
78211        [Qt] Dont use QPixmapCache if QPixmapCache::cacheLimit() is too small 
78212        (2048Kb for now).
78213        https://bugs.webkit.org/show_bug.cgi?id=54887
78214
78215        No new tests required.
78216
78217        * platform/graphics/qt/GraphicsLayerQt.cpp:
78218        (WebCore::GraphicsLayerQtImpl::allowAcceleratedCompositingCache):
78219        (WebCore::GraphicsLayerQtImpl::drawLayerContent):
78220        (WebCore::GraphicsLayerQtImpl::paint):
78221        (WebCore::GraphicsLayerQtImpl::flushChanges):
78222
782232011-02-20  Martin Robinson  <mrobinson@igalia.com>
78224
78225        Reviewed by Nikolas Zimmermann.
78226
78227        [CAIRO] Support ImageBuffers clip operation on all Cairo ports
78228        https://bugs.webkit.org/show_bug.cgi?id=23526
78229
78230        Add support for ImageBuffer clipping on Cairo by emulating them with image
78231        masks. Since masking is immediate on Cairo, we must store the mask surfaces
78232        on a stack and apply them during restorePlatformState.
78233
78234        * platform/graphics/GraphicsContext.h: Add pushImageMask.
78235        * platform/graphics/cairo/GraphicsContextCairo.cpp:
78236        (WebCore::GraphicsContext::savePlatformState): Push an empty mask onto the
78237        stack, so we can keep track of when to actually apply the image mask.
78238        (WebCore::GraphicsContext::restorePlatformState): When we are ready to apply
78239        an image mask, use cairo_mask_surface to mask the group that we pushed onto
78240        our surface.
78241        (WebCore::GraphicsContext::pushImageMask): Added. This method will push a surface
78242        onto the image mask stack and push a group onto the Cairo state, so that the masking
78243        only affects what we paint after this point.
78244        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Added a class to keep
78245        track of image masking information after calls to pushImageMask.
78246        (WebCore::ImageMaskInformation::update): Added
78247        (WebCore::ImageMaskInformation::valid): Added
78248        (WebCore::ImageMaskInformation::maskSurface): Added
78249        (WebCore::ImageMaskInformation::maskRect): Added
78250        * platform/graphics/cairo/ImageBufferCairo.cpp:
78251        (WebCore::ImageBuffer::clip): Call GraphicsContext::pushImageMask.
78252
782532011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
78254
78255        Reviewed by Eric Carlson.
78256
78257        Add RenderMediaControls to Mac build, unduplicate one method.
78258        https://bugs.webkit.org/show_bug.cgi?id=55152
78259
78260        Refactoring, no functional changes.
78261
78262        * WebCore.xcodeproj/project.pbxproj: Added RenderMediaControls to project,
78263            ran sort-XCode-project-file.
78264        * rendering/RenderMediaControls.cpp: Moved ENABLE(VIDEO) and PLATFORM(WIN)
78265            defines to allow building on Mac.
78266        * rendering/RenderMediaControls.h: Ditto.
78267        * rendering/RenderThemeMac.mm:
78268        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Replaced guts
78269            with a call to RenderMediaControls function.
78270
782712011-02-24  James Robinson  <jamesr@chromium.org>
78272
78273        Unreviewed, rolling out r79584.
78274        http://trac.webkit.org/changeset/79584
78275        https://bugs.webkit.org/show_bug.cgi?id=44797
78276
78277        [chromium] Patch does not compile if ENABLE_FULLSCREEN_API is
78278        not set
78279
78280        * WebCore.gyp/WebCore.gyp:
78281        * WebCore.gypi:
78282
782832011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
78284
78285        Reviewed by Martin Robinson.
78286
78287        Do not cache the default cairo font options using a static
78288        variable. It fixes a memory leak reported by valgrind.
78289
78290        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
78291        (WebCore::getDefaultFontOptions):
78292        (WebCore::FontPlatformData::initializeWithFontFace):
78293
782942011-02-24  Andrew Wilson  <atwilson@chromium.org>
78295
78296        Unreviewed, rolling out r79570.
78297        http://trac.webkit.org/changeset/79570
78298        https://bugs.webkit.org/show_bug.cgi?id=54874
78299
78300        Breaks chromium build because glue/mocks/mock_web_frame.h/cc
78301        was not updated
78302
78303        * WebCore.exp.in:
78304
783052011-02-24  David Dorwin  <ddorwin@chromium.org>
78306
78307        Reviewed by Eric Seidel.
78308
78309        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.
78310
78311        fullscreen javascript bindings not implemented for v8
78312        https://bugs.webkit.org/show_bug.cgi?id=44797
78313
78314        Tested by the existing fullscreen Layout Tests.
78315
78316        * WebCore.gyp/WebCore.gyp:
78317        * WebCore.gypi:
78318
783192011-02-24  Pavel Feldman  <pfeldman@chromium.org>
78320
78321        Reviewed by Yury Semikhatsky.
78322
78323        Web Inspector: move querySelectorAll from CSS agent to DOM agent where it belongs.
78324        https://bugs.webkit.org/show_bug.cgi?id=55131
78325
78326        Test: inspector/elements/dom-agent-query-selector.html
78327
78328        * inspector/Inspector.idl:
78329        * inspector/InspectorCSSAgent.cpp:
78330        * inspector/InspectorCSSAgent.h:
78331        * inspector/InspectorDOMAgent.cpp:
78332        (WebCore::InspectorDOMAgent::nodeToSelectOn):
78333        (WebCore::InspectorDOMAgent::querySelector):
78334        (WebCore::InspectorDOMAgent::querySelectorAll):
78335        * inspector/InspectorDOMAgent.h:
78336        * inspector/front-end/AuditRules.js:
78337        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
78338        * inspector/front-end/CSSStyleModel.js:
78339        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
78340        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
78341        (WebInspector.CSSStyleModel.prototype.addRule.callback):
78342        (WebInspector.CSSStyleModel.prototype.addRule):
78343
783442011-02-24  Eric Seidel  <eric@webkit.org>
78345
78346        Reviewed by Adam Barth.
78347
78348        Fragment parsing does not need to use HTMLSourceTracker
78349        https://bugs.webkit.org/show_bug.cgi?id=55011
78350
78351        Any performance gains from this patch are likely
78352        the result of working around:
78353        https://bugs.webkit.org/show_bug.cgi?id=55005
78354        (Which suggests that fixing bug 55005 will speed
78355        up normal HTML parsing substantially.)
78356
78357        Assuming I ran the numbers correct, here is the
78358        change from PerformanceTests/Parser/tiny-innerHTML:
78359        Before patch:
78360        avg 5586.1
78361        median 5594
78362        stdev 41.295157101045135
78363        min 5425
78364        max 5633
78365
78366        After Patch:
78367        avg 2603.9
78368        median 2609.5
78369        stdev 32.500615378789355
78370        min 2475
78371        max 2649
78372
78373        Removing just the HTMLSourceTracker calls brought our
78374        score from 5500 to 5200, removing the XSSFilter as well
78375        brought it to 2600 on my machine.
78376
78377        * html/parser/HTMLDocumentParser.cpp:
78378        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
78379        (WebCore::HTMLDocumentParser::pumpTokenizer):
78380        * html/parser/HTMLDocumentParser.h:
78381
783822011-02-24   Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
78383
78384        Reviewed by Martin Robinson.
78385
78386        [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
78387        https://bugs.webkit.org/show_bug.cgi?id=48510
78388
78389        Exported static functions for GTK, we need them to create events
78390        in WebKit2.
78391
78392        * platform/PlatformKeyboardEvent.h:
78393        * platform/gtk/KeyEventGtk.cpp:
78394        (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
78395        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
78396        (WebCore::PlatformKeyboardEvent::singleCharacterString):
78397
783982011-02-24  Martin Robinson  <mrobinson@igalia.com>
78399
78400        Reviewed by Xan Lopez.
78401
78402        [GTK] Remove the GFile GOwnPtr specialization
78403        https://bugs.webkit.org/show_bug.cgi?id=55154
78404
78405        Convert uses of GOwnPtr<GFile> to GRefPtr<GFile>.
78406
78407        No new tests. This should not change behavior.
78408
78409        * plugins/gtk/PluginPackageGtk.cpp: Fix include order and remove unnecessary include.
78410        (WebCore::PluginPackage::load): Use GRefPtr for GFile instead of GOwnPtr.
78411
784122011-02-24  Patrick Gansterer  <paroga@webkit.org>
78413
78414        Reviewed by Eric Seidel.
78415
78416        Rename PLATFORM(SKIA) to USE(SKIA)
78417        https://bugs.webkit.org/show_bug.cgi?id=55090
78418
78419        * config.h: Removed second define of PLATFORM(SKIA).
78420        * html/HTMLCanvasElement.cpp:
78421        * platform/graphics/FloatPoint.h:
78422        * platform/graphics/FloatRect.h:
78423        * platform/graphics/Gradient.cpp:
78424        * platform/graphics/Gradient.h:
78425        * platform/graphics/GraphicsContext.cpp:
78426        * platform/graphics/GraphicsContext.h:
78427        * platform/graphics/ImageSource.h:
78428        * platform/graphics/IntPoint.h:
78429        * platform/graphics/IntRect.h:
78430        * platform/graphics/Path.h:
78431        * platform/graphics/Pattern.cpp:
78432        * platform/graphics/Pattern.h:
78433        * platform/graphics/chromium/ContentLayerChromium.cpp:
78434        * platform/graphics/chromium/ContentLayerChromium.h:
78435        * platform/graphics/chromium/GLES2Canvas.cpp:
78436        * platform/graphics/chromium/ImageLayerChromium.cpp:
78437        * platform/graphics/chromium/LayerChromium.cpp:
78438        * platform/graphics/chromium/LayerRendererChromium.cpp:
78439        * platform/graphics/chromium/LayerRendererChromium.h:
78440        * platform/graphics/chromium/LayerTilerChromium.cpp:
78441        * platform/graphics/chromium/ShaderChromium.h:
78442        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
78443        * platform/graphics/transforms/AffineTransform.h:
78444        * platform/graphics/transforms/TransformationMatrix.h:
78445        * platform/image-decoders/ImageDecoder.cpp:
78446        * platform/image-decoders/ImageDecoder.h:
78447        * rendering/svg/RenderSVGResourceSolidColor.cpp:
78448
784492011-02-24  Pavel Feldman  <pfeldman@chromium.org>
78450
78451        Reviewed by Yury Semikhatsky.
78452
78453        Web Inspector: follow up to 79566. USE_PARAM not declared
78454        https://bugs.webkit.org/show_bug.cgi?id=55155
78455
78456        * bindings/js/JSInjectedScriptHostCustom.cpp:
78457        (WebCore::JSInjectedScriptHost::currentCallFrame):
78458        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
78459        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
78460
784612011-02-24  Emil A Eklund  <eae@chromium.org>
78462
78463        Reviewed by Simon Fraser.
78464
78465        Add support for missing properties to getComputedStyle
78466        https://bugs.webkit.org/show_bug.cgi?id=23668
78467
78468        Implement getComputedStyle for the content, counter and outline-offset
78469        properties.
78470
78471        Test: fast/css/getComputedStyle/computed-style-properties.html
78472
78473        * css/CSSComputedStyleDeclaration.cpp:
78474        (WebCore::contentToCSSValue):
78475        (WebCore::counterToCSSValue):
78476        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
78477        * css/CSSPrimitiveValue.cpp:
78478        (WebCore::CSSPrimitiveValue::cssText):
78479        * css/CSSPrimitiveValue.h:
78480
784812011-02-24  Eric Seidel  <eric@webkit.org>
78482
78483        Reviewed by Adam Barth.
78484
78485        SegmentedString does not need an m_composite member
78486        https://bugs.webkit.org/show_bug.cgi?id=55083
78487
78488        Storing m_composite as distinct from m_substrings.isEmpty()
78489        was just error prone and eventually going to get us in trouble.
78490
78491        I also cleaned up some of the style in SegementedString.*
78492        since this file long predates check-webkit-style.
78493
78494        * platform/text/SegmentedString.cpp:
78495        (WebCore::SegmentedString::SegmentedString):
78496        (WebCore::SegmentedString::operator=):
78497        (WebCore::SegmentedString::length):
78498        (WebCore::SegmentedString::setExcludeLineNumbers):
78499        (WebCore::SegmentedString::clear):
78500        (WebCore::SegmentedString::append):
78501        (WebCore::SegmentedString::prepend):
78502        (WebCore::SegmentedString::advanceSubstring):
78503        (WebCore::SegmentedString::toString):
78504        * platform/text/SegmentedString.h:
78505        (WebCore::SegmentedSubstring::SegmentedSubstring):
78506        (WebCore::SegmentedSubstring::appendTo):
78507        (WebCore::SegmentedString::SegmentedString):
78508        (WebCore::SegmentedString::isComposite):
78509
785102011-02-24  David Kilzer  <ddkilzer@apple.com>
78511
78512        BUILD FIX: Add missing include for UnusedParam.h
78513
78514        Not reviewed.
78515
78516        * platform/mac/FileSystemMac.mm: Add include.  It should have
78517        originally been added with r76614.
78518
785192011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
78520
78521        Reviewed by Alexey Proskuryakov.
78522
78523        DumpRenderTree should reset frame opener between tests.
78524        https://bugs.webkit.org/show_bug.cgi?id=54874
78525
78526        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
78527
78528        * WebCore.exp.in:
78529
785302011-02-24  Dirk Schulze  <krit@webkit.org>
78531
78532        Reviewed by Darin Adler.
78533
78534        Removing a SVG animation target during animation crashes WebKit
78535        https://bugs.webkit.org/show_bug.cgi?id=12065
78536
78537        SVGAnimations with IRI references via 'xlink:href' are slow
78538        https://bugs.webkit.org/show_bug.cgi?id=49437
78539
78540        Store reference to target element for SVG animation elements. This is important if the
78541        target gets referenced via 'xlink:href'. At the moment we would call getElementById() multiple
78542        times on every animation step. A very expensive operation. This will be avoided with this patch.
78543        On the other hand, we need to be sure that the target element is always valid. The reference is
78544        reset, if the target was removed from document or its destructor was called. A HashMap in
78545        SVGDocumentExtensions stores all mappings from target element to all current animation elements.
78546
78547        Tests: svg/custom/animate-target-id-changed.svg
78548               svg/custom/animate-target-removed-from-document.svg
78549
78550        * svg/SVGDocumentExtensions.cpp:
78551        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
78552        (WebCore::SVGDocumentExtensions::addAnimationElementToTarget): New animation gets applied to target.
78553        (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): Animation stoped, remove it from HashMap.
78554        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): Target no longer in document, reset all
78555        references in SVG animation elements. 
78556        * svg/SVGDocumentExtensions.h:
78557        * svg/SVGElement.cpp:
78558        (WebCore::SVGElement::~SVGElement):
78559        (WebCore::SVGElement::removedFromDocument):
78560        (WebCore::SVGElement::attributeChanged):
78561        * svg/SVGElement.h:
78562        * svg/SVGHKernElement.cpp:
78563        (WebCore::SVGHKernElement::removedFromDocument):
78564        * svg/SVGVKernElement.cpp:
78565        (WebCore::SVGVKernElement::removedFromDocument):
78566        * svg/animation/SVGSMILElement.cpp:
78567        (WebCore::SVGSMILElement::SVGSMILElement):
78568        (WebCore::SVGSMILElement::removedFromDocument):
78569        (WebCore::SVGSMILElement::eventBaseFor):
78570        (WebCore::SVGSMILElement::targetElement):
78571        * svg/animation/SVGSMILElement.h:
78572        (WebCore::SVGSMILElement::resetTargetElement):
78573
785742011-02-24  Simon Fraser  <simon.fraser@apple.com>
78575
78576        Reviewed by Eric Seidel.
78577
78578        REGRESSION: Accelerated transitions are jumpy
78579        https://bugs.webkit.org/show_bug.cgi?id=55022
78580        
78581        When an accelerated transition used the default timing function,
78582        a typo in toCAMediaTimingFunction() resulting in the incorrect
78583        timing function being used.
78584
78585        Test: transitions/default-timing-function.html
78586
78587        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
78588        (toCAMediaTimingFunction):
78589
785902011-02-24  Andreas Kling  <kling@webkit.org>
78591
78592        Reviewed by Kenneth Rohde Christiansen.
78593
78594        [Qt] Remove bogus optimizations in TextBreakIteratorQt
78595        https://bugs.webkit.org/show_bug.cgi?id=55139
78596
78597        Let QTextBoundaryFinder hold a deep copy of the string data it's
78598        operating on, and don't use the same working buffer for all iterators.
78599
78600        * platform/text/qt/TextBreakIteratorQt.cpp:
78601        (WebCore::TextBreakIterator::TextBreakIterator):
78602        (WebCore::setUpIterator):
78603
786042011-02-24  Andrey Adaikin  <aandrey@google.com>
78605
78606        Reviewed by Pavel Feldman.
78607
78608        Web Inspector: [Text editor] Bug in the highlighter
78609        https://bugs.webkit.org/show_bug.cgi?id=54876
78610
78611        Tests: inspector/editor/highlighter-long-line.html
78612               inspector/editor/highlighter-paste-in-comment.html
78613
78614        * inspector/front-end/TextEditorHighlighter.js:
78615        (WebInspector.TextEditorHighlighter):
78616        (WebInspector.TextEditorHighlighter.prototype.set highlightChunkLimit):
78617        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
78618        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
78619
786202011-02-24  James Simonsen  <simonjam@chromium.org>
78621
78622        Reviewed by Tony Gentilcore.
78623
78624        [Web Timing] Zero out navigationStart and unloadEvent on cross-origin redirect
78625        https://bugs.webkit.org/show_bug.cgi?id=55068
78626
78627        Test: http/tests/misc/webtiming-origins.html
78628
78629        * page/PerformanceTiming.cpp:
78630        (WebCore::PerformanceTiming::navigationStart): Zero out on cross origin redirect.
78631        (WebCore::PerformanceTiming::unloadEventStart): Ditto.
78632        (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
78633
786342011-02-24  Adam Klein  <adamk@chromium.org>
78635
78636        Reviewed by Darin Fisher.
78637
78638        [chromium] Add code to WebKit Chromium to allow access to NetworkStateNotifier
78639        https://bugs.webkit.org/show_bug.cgi?id=54516
78640
78641        Give Chromium's NetworkStateNotifier the ability to change the value
78642        of m_isOnLine, rather than making it always true.
78643
78644        No new tests, not sure how to test this. No other LayoutTests seem
78645        to exercise navigator.onLine.
78646
78647        * WebCore.gypi:
78648        * platform/network/NetworkStateNotifier.cpp:
78649        (WebCore::NetworkStateNotifier::setOnLine): Moved and renamed from NetworkStateNotifierAndroid.
78650        * platform/network/NetworkStateNotifier.h:
78651        (WebCore::NetworkStateNotifier::networkStateChange): Forward to setOnLine.
78652        * platform/network/android/NetworkStateNotifierAndroid.cpp: Removed.
78653        * platform/network/chromium/NetworkStateNotifierChromium.cpp: Removed.
78654        * platform/network/chromium/NetworkStateNotifierPrivate.h: Removed.
78655
786562011-02-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
78657
78658        Reviewed by Eric Seidel.
78659
78660        Support building WebKit with Python 3
78661        https://bugs.webkit.org/show_bug.cgi?id=55038
78662
78663        Add support for Python 3 without breaking support for Python 2.
78664
78665        Main issues:
78666        -print is a function in Python 3
78667        -list.sort() no longer have the cmp parameter
78668        -string.uppercase and string.lowercase have been removed
78669
78670        * html/parser/create-html-entity-table:
78671
786722011-02-24  Chris Fleizach  <cfleizach@apple.com>
78673
78674        Reviewed by Eric Seidel.
78675
78676        AX: WebKit should expose MathML at least as well as it exposes ARIA role="math"
78677        https://bugs.webkit.org/show_bug.cgi?id=55049
78678
78679        Make <math> elements behave as ARIA math roles and use MathML::alttext as a
78680        possible accessible label.
78681 
78682        Test: platform/mac/accessibility/math-alttext.html
78683
78684        * accessibility/AccessibilityRenderObject.cpp:
78685        (WebCore::AccessibilityRenderObject::accessibilityDescription):
78686        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
78687        * mathml/mathattrs.in:
78688
786892011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
78690
78691        Reviewed by Pavel Feldman.
78692
78693        Web Inspector: adjust protocol message format according to spec.
78694        https://bugs.webkit.org/show_bug.cgi?id=55140
78695
78696        * inspector/CodeGeneratorInspector.pm:
78697
786982011-02-24  Adam Roben  <aroben@apple.com>
78699
78700        Windows Production build fix
78701
78702        * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
78703        <rdar://problem/9042114>.
78704
787052011-02-23  Pavel Feldman  <pfeldman@chromium.org>
78706
78707        Reviewed by Yury Semikhatsky.
78708
78709        Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
78710        https://bugs.webkit.org/show_bug.cgi?id=55057
78711
78712        Test: inspector/console/command-line-api-inspect.html
78713
78714        I am working on getting rid of DOM agent pushes - everything should happen upon
78715        front-end request. This patch changes the way we handle inspect() command line
78716        api: instead of pushing nodes, we are telling front-end that inspect(object) has
78717        been requested. It is then up to front-end to request dom nodes and focus them in
78718        the tree. I also made inspect() work in a generic manner, using same routines for
78719        nodes, databases, storages and potentially new elements.
78720
78721        As a side-effect, we don't do console.log from within inspect() anymore, but dump
78722        inspected value as inspect's result.
78723
78724        Also, I added individual object release method and made object groups optional.
78725
78726        * bindings/js/JSInjectedScriptHostCustom.cpp:
78727        (WebCore::InjectedScriptHost::scriptValueAsNode):
78728        (WebCore::InjectedScriptHost::nodeAsScriptValue):
78729        (WebCore::JSInjectedScriptHost::inspect):
78730        (WebCore::JSInjectedScriptHost::databaseId):
78731        (WebCore::JSInjectedScriptHost::storageId):
78732        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
78733        (WebCore::InjectedScriptHost::scriptValueAsNode):
78734        (WebCore::InjectedScriptHost::nodeAsScriptValue):
78735        (WebCore::V8InjectedScriptHost::inspectCallback):
78736        (WebCore::V8InjectedScriptHost::databaseIdCallback):
78737        (WebCore::V8InjectedScriptHost::storageIdCallback):
78738        * inspector/InjectedScript.cpp:
78739        (WebCore::InjectedScript::nodeForObjectId):
78740        (WebCore::InjectedScript::releaseObject):
78741        (WebCore::InjectedScript::wrapForConsole):
78742        (WebCore::InjectedScript::inspectNode):
78743        * inspector/InjectedScript.h:
78744        * inspector/InjectedScriptHost.cpp:
78745        (WebCore::InjectedScriptHost::inspectImpl):
78746        (WebCore::InjectedScriptHost::databaseIdImpl):
78747        (WebCore::InjectedScriptHost::storageIdImpl):
78748        * inspector/InjectedScriptHost.h:
78749        * inspector/InjectedScriptHost.idl:
78750        * inspector/InjectedScriptSource.js:
78751        * inspector/Inspector.idl:
78752        * inspector/InspectorAgent.cpp:
78753        (WebCore::InspectorAgent::focusNode):
78754        * inspector/InspectorDOMAgent.cpp:
78755        * inspector/InspectorDOMAgent.h:
78756        * inspector/InspectorDOMStorageAgent.cpp:
78757        (WebCore::InspectorDOMStorageAgent::storageId):
78758        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
78759        * inspector/InspectorDOMStorageAgent.h:
78760        * inspector/InspectorDOMStorageResource.cpp:
78761        * inspector/InspectorDOMStorageResource.h:
78762        * inspector/InspectorDatabaseAgent.cpp:
78763        (WebCore::InspectorDatabaseAgent::databaseId):
78764        * inspector/InspectorDatabaseAgent.h:
78765        * inspector/InspectorDatabaseResource.cpp:
78766        * inspector/InspectorDatabaseResource.h:
78767        * inspector/InspectorRuntimeAgent.cpp:
78768        (WebCore::InspectorRuntimeAgent::releaseObject):
78769        * inspector/InspectorRuntimeAgent.h:
78770        * inspector/front-end/AuditRules.js:
78771        (WebInspector.AuditRules.evaluateInTargetWindow):
78772        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
78773        * inspector/front-end/DOMStorage.js:
78774        * inspector/front-end/Database.js:
78775        * inspector/front-end/ExtensionServer.js:
78776        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
78777        * inspector/front-end/inspector.js:
78778        (WebInspector.inspect):
78779
787802011-02-22  Pavel Podivilov  <podivilov@chromium.org>
78781
78782        Reviewed by Pavel Feldman.
78783
78784        Web Inspector: refactor "script or resource" mess in scripts panel.
78785        https://bugs.webkit.org/show_bug.cgi?id=54961
78786
78787        - Use sourceName instead of scriptOrResource
78788        - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
78789          calling each other recursively with small one-purpose non-recursive functions
78790
78791        Test: inspector/debugger/scripts-panel.html
78792
78793        * inspector/front-end/ScriptsPanel.js:
78794        (WebInspector.ScriptsPanel):
78795        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
78796        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
78797        (WebInspector.ScriptsPanel.prototype._addScript):
78798        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
78799        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
78800        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
78801        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
78802        (WebInspector.ScriptsPanel.prototype.reset):
78803        (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
78804        (WebInspector.ScriptsPanel.prototype.showSourceLine):
78805        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
78806        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
78807        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
78808        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
78809        (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
78810        (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
78811        (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
78812        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
78813        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
78814        (WebInspector.ScriptsPanel.prototype._goBack):
78815        (WebInspector.ScriptsPanel.prototype._goForward):
78816        * inspector/front-end/SourceFrame.js:
78817        (WebInspector.SourceFrame.prototype.setExecutionLine):
78818
788192011-02-24  Eric Seidel  <eric@webkit.org>
78820
78821        Reviewed by Adam Barth.
78822
78823        Fragment parsing does not need to use HTMLSourceTracker
78824        https://bugs.webkit.org/show_bug.cgi?id=55011
78825
78826        Any performance gains from this patch are likely
78827        the result of working around:
78828        https://bugs.webkit.org/show_bug.cgi?id=55005
78829        (Which suggests that fixing bug 55005 will speed
78830        up normal HTML parsing substantially.)
78831
78832        Assuming I ran the numbers correct, here is the
78833        change from PerformanceTests/Parser/tiny-innerHTML:
78834        Before patch:
78835        avg 5586.1
78836        median 5594
78837        stdev 41.295157101045135
78838        min 5425
78839        max 5633
78840
78841        After Patch:
78842        avg 2603.9
78843        median 2609.5
78844        stdev 32.500615378789355
78845        min 2475
78846        max 2649
78847
78848        Removing just the HTMLSourceTracker calls brought our
78849        score from 5500 to 5200, removing the XSSFilter as well
78850        brought it to 2600 on my machine.
78851
78852        * html/parser/HTMLDocumentParser.cpp:
78853        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
78854        (WebCore::HTMLDocumentParser::pumpTokenizer):
78855        * html/parser/HTMLDocumentParser.h:
78856
788572011-02-24  Andras Becsi  <abecsi@webkit.org>
78858
78859        Reviewed by Laszlo Gombos.
78860
78861        [Qt] MinGW build fails to link
78862        https://bugs.webkit.org/show_bug.cgi?id=55050
78863
78864        Prepend the libraries of subcomponents instead of appending them
78865        to fix the library order according to the dependency of the libraries
78866
78867        No new tests needed.
78868
78869        * WebCore.pri:
78870
788712011-02-24  Adam Barth  <abarth@webkit.org>
78872
78873        Reviewed by Eric Seidel.
78874
78875        CSP's script-src should block JavaScript URLs
78876        https://bugs.webkit.org/show_bug.cgi?id=54787
78877
78878        Blocking JavaScript URLs required some re-architecting of the lifetime
78879        of the ContentSecurityPolicy object.  We now manage the lifetime the
78880        same way we manage the lifetime of the SecurityOrigin object.  In
78881        particular, when SecurityOrigin inherits into an about:blank iframe, we
78882        inherit the CSP object as well.  (This is covered by the test added in
78883        this patch.) In the future, we might consider making
78884        ContentSecurityPolicy a component of SecurityOrigin instead of a
78885        component of Document.
78886
78887        I noted the trickiness in
78888        http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
78889        make sure it gets defined properly in the spec.
78890
78891        Test: http/tests/security/contentSecurityPolicy/javascript-url.html
78892
78893        * bindings/ScriptControllerBase.cpp:
78894        (WebCore::ScriptController::executeIfJavaScriptURL):
78895        * dom/Document.cpp:
78896        (WebCore::Document::initSecurityContext):
78897        * dom/Document.h:
78898        (WebCore::Document::contentSecurityPolicy):
78899        * page/ContentSecurityPolicy.cpp:
78900        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
78901        * page/ContentSecurityPolicy.h:
78902        (WebCore::ContentSecurityPolicy::create):
78903
789042011-02-21  Philippe Normand  <pnormand@igalia.com>
78905
78906        Reviewed by Martin Robinson.
78907
78908        [GStreamer] GRefPtr support for GstElement
78909        https://bugs.webkit.org/show_bug.cgi?id=54870
78910
78911        * CMakeListsEfl.txt:
78912        * GNUmakefile.am:
78913        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
78914        (WTF::GstElement):
78915        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
78916        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
78917        (webKitWebSrcQuery):
78918
789192011-02-24  Emil A Eklund  <eae@chromium.org>
78920
78921        Reviewed by Eric Seidel.
78922
78923        Share code between elementFromPoint and caretRangeFromPoint in Document.
78924        https://bugs.webkit.org/show_bug.cgi?id=54610
78925
78926        Eliminate duplicate code by moving shared logic from elementFromPoint and
78927        caretRangeFromPoint into helper function.
78928
78929        * dom/Document.cpp:
78930        (WebCore::nodeFromPoint):
78931        (WebCore::Document::elementFromPoint):
78932        (WebCore::Document::caretRangeFromPoint):
78933
789342011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
78935
78936        Unreviewed build fix.
78937
78938        * inspector/InspectorDOMAgent.cpp:
78939        (WebCore::InspectorDOMAgent::removeAttribute):
78940        * inspector/InspectorResourceAgent.cpp:
78941        (WebCore::InspectorResourceAgent::cachedResources):
78942        * inspector/InspectorRuntimeAgent.cpp:
78943        (WebCore::InspectorRuntimeAgent::evaluate):
78944
789452011-02-24  Zan Dobersek  <zandobersek@gmail.com>
78946
78947        Reviewed by Eric Seidel.
78948
78949        [gtk] Failing collinear arcTo canvas tests
78950        https://bugs.webkit.org/show_bug.cgi?id=54658
78951
78952        Check for collinearity of the three points that affect how arcTo call
78953        results. This behavior is in accordance with the HTML standard.
78954
78955        No new tests added as this is already covered by at least two tests.
78956
78957        * platform/graphics/cairo/PathCairo.cpp:
78958        (WebCore::areaOfTriangleFormedByPoints):
78959        (WebCore::Path::addArcTo):
78960
789612011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
78962
78963        Reviewed by Pavel Feldman.
78964
78965        Web Inspector: There is a validator of the protocol message format.
78966
78967        It has two parts. InspectorBackendStub.js is the frontend part.
78968        InspectorBackendDispatcher.cpp is the backend part.
78969        Both parts are checking protocol message format and report the error if
78970        the message has not enough fields or the types of fields do not match with
78971        Inspector.idl specification. These validators are generated automatically.
78972
78973        In addition, we have a number of places at the backend where we check the
78974        function arguments and do nothing if the arguments are invalid
78975        from the business logic point of view.
78976
78977        This patch bring us an ability to report a custom error from such function to the frontend.
78978
78979        https://bugs.webkit.org/show_bug.cgi?id=54971
78980
78981        * inspector/CodeGeneratorInspector.pm:
78982        * inspector/InjectedScriptHost.cpp:
78983        * inspector/InspectorAgent.cpp:
78984        * inspector/InspectorAgent.h:
78985        * inspector/InspectorApplicationCacheAgent.cpp:
78986        * inspector/InspectorApplicationCacheAgent.h:
78987        * inspector/InspectorBrowserDebuggerAgent.cpp:
78988        * inspector/InspectorBrowserDebuggerAgent.h:
78989        * inspector/InspectorCSSAgent.cpp:
78990        * inspector/InspectorCSSAgent.h:
78991        * inspector/InspectorConsoleAgent.cpp:
78992        * inspector/InspectorConsoleAgent.h:
78993        * inspector/InspectorController.cpp:
78994        * inspector/InspectorDOMAgent.cpp:
78995        * inspector/InspectorDOMAgent.h:
78996        * inspector/InspectorDOMStorageAgent.cpp:
78997        * inspector/InspectorDOMStorageAgent.h:
78998        * inspector/InspectorDatabaseAgent.cpp:
78999        * inspector/InspectorDatabaseAgent.h:
79000        * inspector/InspectorDebuggerAgent.cpp:
79001        * inspector/InspectorDebuggerAgent.h:
79002        * inspector/InspectorProfilerAgent.cpp:
79003        * inspector/InspectorProfilerAgent.h:
79004        * inspector/InspectorResourceAgent.cpp:
79005        * inspector/InspectorResourceAgent.h:
79006        * inspector/InspectorRuntimeAgent.cpp:
79007        * inspector/InspectorRuntimeAgent.h:
79008        * inspector/InspectorTimelineAgent.cpp:
79009        * inspector/InspectorTimelineAgent.h:
79010
790112011-02-24  Ryosuke Niwa  <rniwa@webkit.org>
79012
79013        Reviewed by Ojan Vafai.
79014
79015        Crash when deleting inside a blockquote with a large offset
79016        https://bugs.webkit.org/show_bug.cgi?id=55098
79017
79018        The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
79019        While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
79020        breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
79021        the downstream position to instantiate caretPos.
79022
79023        Co-author: Abhishek Arya <inferno@chromium.org>.
79024
79025        Test: editing/deleting/delete-blockquote-large-offsets.html
79026
79027        * editing/CompositeEditCommand.cpp:
79028        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
79029
790302011-02-24  Robert Kroeger  <rjkroege@chromium.org>
79031
79032        Reviewed by Darin Fisher.
79033
79034        Added timestamps to PlatformTouchEvent etc.
79035
79036        PlatformTouchEvent doesn't have a timestamp and so
79037        eventSender.leapForward cannot be used for touchevent based tests.
79038        This change adds a timestamp to PlatformTouchEvent and initializes
79039        it in a reasonable manner on Android and Qt platforms.
79040
79041        [chromium] [WebCore] [android] Touch events are missing time stamps
79042        https://bugs.webkit.org/show_bug.cgi?id=53510
79043
79044        * platform/PlatformTouchEvent.h:
79045        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
79046        (WebCore::PlatformTouchEvent::timestamp):
79047        * platform/android/PlatformTouchEventAndroid.cpp:
79048        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
79049        * platform/qt/PlatformTouchEventQt.cpp:
79050        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
79051
790522011-02-24  Renata Hodovan  <reni@webkit.org>
79053
79054        Unreviewed GTK, Snow Leopard build fix for r79474.
79055
79056        * platform/graphics/filters/FEConvolveMatrix.cpp:
79057        (WebCore::FEConvolveMatrix::setKernelUnitLength):
79058        * platform/graphics/filters/FEConvolveMatrix.h:
79059
790602011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
79061
79062        Reviewed by Xan Lopez.
79063
79064        Use IntRect instead of a pointer to a GtkAllocation struct to avoid
79065        unnecessary memory allocations.
79066
79067        * plugins/PluginView.h:
79068        * plugins/gtk/PluginViewGtk.cpp:
79069        (WebCore::PluginView::setNPWindowIfNeeded):
79070        (WebCore::PluginView::plugAddedCallback):
79071
790722011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
79073
79074        Unreviewed. Fix the build with GTK+ 3.
79075
79076        * plugins/PluginView.h:
79077
790782011-02-23  Ryosuke Niwa  <rniwa@webkit.org>
79079
79080        Reviewed by Darin Adler.
79081
79082        Refactor HTMLEquivalent into a hierachy of classes
79083        https://bugs.webkit.org/show_bug.cgi?id=55025
79084
79085        Converted HTMLEquivalent into a class.  Some logic in removeImplicitlyStyledElement is
79086        extracted as member functions of HTMLEquivalent and its subclasses.
79087
79088        * editing/ApplyStyleCommand.cpp:
79089        (WebCore::HTMLEquivalent::create): Added.
79090        (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
79091        (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
79092        the element's implicit style affects the property of this equivalence.
79093        (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
79094        e.g. color, size, dir.
79095        (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
79096        exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
79097        this function returns true if the specified style has font-size property set.
79098        (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
79099        (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
79100        implicit style of the specified element of this equivalence.
79101        (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
79102        to the specified mutable style.
79103        (WebCore::HTMLEquivalentValueList::create): Added.
79104        (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
79105        (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
79106        (WebCore::HTMLEquivalentAttribute::create): Added.
79107        (WebCore::HTMLEquivalentAttribute::matches): Added.
79108        (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
79109        (WebCore::HTMLEquivalentAttribute::attributeName): Added.
79110        (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
79111        (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
79112        (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
79113        (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
79114        (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
79115        (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
79116        (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
79117        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
79118
791192011-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
79120
79121        Unreviewed, rolling out r79510.
79122        http://trac.webkit.org/changeset/79510
79123        https://bugs.webkit.org/show_bug.cgi?id=55114
79124
79125        It made ~200 tests crash on Qt bot (Requested by Ossy_ on
79126        #webkit).
79127
79128        * platform/text/TextBreakIterator.h:
79129        * platform/text/TextBreakIteratorICU.cpp:
79130        (WebCore::lineBreakIterator):
79131        * platform/text/qt/TextBreakIteratorQt.cpp:
79132        (WebCore::lineBreakIterator):
79133        * rendering/RenderBlock.h:
79134        * rendering/RenderBlockLineLayout.cpp:
79135        (WebCore::RenderBlock::layoutInlineChildren):
79136        (WebCore::RenderBlock::findNextLineBreak):
79137        * rendering/RenderText.cpp:
79138        (WebCore::RenderText::computePreferredLogicalWidths):
79139        * rendering/break_lines.cpp:
79140        (WebCore::nextBreakablePosition):
79141        * rendering/break_lines.h:
79142        (WebCore::isBreakable):
79143
791442011-02-23  Geoffrey Garen  <ggaren@apple.com>
79145
79146        Reviewed by Mark Rowe.
79147        
79148        Used svn merge -r79502:79501 to roll out r79502 because it broke the
79149        SnowLeopard and Leopard builds.
79150
79151        * WebCore.xcodeproj/project.pbxproj:
79152        * platform/mac/HTMLConverter.h: Removed.
79153        * platform/mac/HTMLConverter.mm: Removed.
79154        * platform/mac/PasteboardMac.mm:
79155        (WebCore::Pasteboard::writeSelection):
79156
791572011-02-23  Beth Dakin  <bdakin@apple.com>
79158
79159        Reviewed by Dan Bernstein.
79160
79161        Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window 
79162        when scrolling
79163
79164        When there is both a horizontal and a vertical scrollbar, it is necessary to 
79165        include the space between them in the invalidation.
79166        * platform/ScrollableArea.cpp:
79167        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
79168
791692011-02-23  Ned Holbrook  <nholbrook@apple.com>
79170
79171        Reviewed by Dan Bernstein.
79172
79173        Minimize calls to ubrk_setText()
79174        https://bugs.webkit.org/show_bug.cgi?id=54912
79175        <rdar://problem/9032774>
79176
79177        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
79178        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
79179        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
79180        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
79181        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
79182
79183        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
79184        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
79185        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
79186        (WebCore::LazyLineBreakIterator::string):
79187        (WebCore::LazyLineBreakIterator::length):
79188        (WebCore::LazyLineBreakIterator::get):
79189        (WebCore::LazyLineBreakIterator::reset):
79190        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
79191        (WebCore::acquireLineBreakIterator):
79192        (WebCore::releaseLineBreakIterator):
79193        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
79194        (WebCore::acquireLineBreakIterator):
79195        (WebCore::releaseLineBreakIterator):
79196        * rendering/RenderBlock.h:
79197        * rendering/RenderBlockLineLayout.cpp:
79198        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
79199        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
79200        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
79201        (WebCore::RenderText::computePreferredLogicalWidths):
79202        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
79203        (WebCore::nextBreakablePosition):
79204        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
79205        (WebCore::isBreakable):
79206
792072011-02-23  Anders Carlsson  <andersca@apple.com>
79208
79209        Fix build.
79210
79211        * platform/mac/HTMLConverter.h:
79212
792132011-02-17  Enrica Casucci  <enrica@apple.com>
79214
79215        Reviewed by Darin Adler.
79216
79217        REGRESSION: Copied content loses formatting on paste to external apps.
79218        https://bugs.webkit.org/show_bug.cgi?id=47615
79219        <rdar://problem/9001214>
79220
79221        This patch adds a way for WebKit2 to create NSAttributedStrings from
79222        a DOM range without using the AppKit api initWithDOMRange that internally
79223        needs to access the WebView. The NSAttributedString is needed to create
79224        RTF formats in the pasteboard.
79225        This is to be considered a first step, since in the future we want to have
79226        an implementation based on the TextIterator.
79227        
79228        * WebCore.xcodeproj/project.pbxproj: Added new file.
79229        * platform/mac/HTMLConverter.h: Added.
79230        * platform/mac/HTMLConverter.mm: Added.
79231        * platform/mac/PasteboardMac.mm:
79232        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
79233        class for WebKit2 to create the NSAttributedString from the DOM range.
79234
792352011-02-23  David Hyatt  <hyatt@apple.com>
79236
79237        Reviewed by Sam Weinig.
79238
79239        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79240
79241        Patch computePositionedLogicalHeightUsing to be writing-mode-aware. 
79242
79243        * rendering/RenderBox.cpp:
79244        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
79245        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
79246        * rendering/RenderBox.h:
79247
792482011-02-23  Martin Robinson  <mrobinson@igalia.com>
79249
79250        Reviewed by Xan Lopez.
79251
79252        [Gtk] Flash item placed on wrong location right after load
79253        https://bugs.webkit.org/show_bug.cgi?id=37769
79254
79255        If a plugin is GtkSocket based, do not set the widget allocation until the
79256        window is actually embedded in the parent. When the window is embedded, use
79257        any pending allocation for the call to gtk_widget_size_allocate. This bug
79258        seems to only appear with Flash movies loaded as the src of an iframe.
79259
79260        * manual-tests/plugins/windowed-in-iframe.html: Added.
79261        * plugins/PluginView.h: Add a few new members to track window embedding state.
79262        * plugins/gtk/PluginViewGtk.cpp:
79263        (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
79264        wait until the plug-added signal fires to set the widget allocation.
79265        (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
79266        we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
79267        with it.
79268        (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
79269        call gtk_widget_size_allocate if the window isn't embedded.
79270
792712011-02-18  Enrica Casucci  <enrica@apple.com>
79272
79273        Reviewed by Adam Roben.
79274
79275        Mac OS X Services are not available for selected text in WebKit2 windows.
79276        https://bugs.webkit.org/show_bug.cgi?id=54777
79277        <rdar://problem/8666428>
79278
79279        The changes to WebCore for this bug are limited to exposing a new
79280        entry point in the Editor class to write to the pasteboard and
79281        changes to the Pasteboard class to write the selection with
79282        a given set of pasteboard types. The majority of the work
79283        is done in WebKit2.
79284        
79285        * WebCore.exp.in:
79286        * editing/Editor.h:
79287        * editing/mac/EditorMac.mm: Added entrypoint to write the
79288        selection to the pasteboard.
79289        (WebCore::Editor::writeSelectionToPasteboard):
79290        * platform/Pasteboard.h:
79291        * platform/mac/ClipboardMac.mm:
79292        (WebCore::ClipboardMac::writeRange):
79293        * platform/mac/PasteboardMac.mm:
79294        (WebCore::Pasteboard::writeSelection):
79295
792962011-02-23  David Hyatt  <hyatt@apple.com>
79297
79298        Reviewed by Simon Fraser.
79299
79300        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79301
79302        Patch computePositionedLogicalHeight to be writing-mode-aware.  Functions it calls have not been
79303        patched yet, so still not testable in a vertical text environment.
79304
79305        * rendering/RenderBox.cpp:
79306        (WebCore::RenderBox::computePositionedLogicalHeight):
79307
793082011-02-23  David Hyatt  <hyatt@apple.com>
79309
79310        Reviewed by Sam Weinig.
79311
79312        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79313
79314        Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
79315        environment, since height computations will overwrite all values computed here until they are patched as well.
79316
79317        * rendering/RenderBox.cpp:
79318        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
79319        * rendering/RenderBox.h:
79320
793212011-02-23  Renata Hodovan  <reni@webkit.org>
79322
79323        Reviewed by Nikolas Zimmermann.
79324
79325        FEColorMatrixElement changes doesn't require relayout
79326        https://bugs.webkit.org/show_bug.cgi?id=54880
79327
79328        When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
79329        to relayout the filter.
79330
79331        No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
79332
79333        * platform/graphics/filters/FEColorMatrix.cpp:
79334        (WebCore::FEColorMatrix::setType):
79335        (WebCore::FEColorMatrix::setValues):
79336        * platform/graphics/filters/FEColorMatrix.h:
79337        * svg/SVGFEColorMatrixElement.cpp:
79338        (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
79339        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
79340        * svg/SVGFEColorMatrixElement.h:
79341
793422011-02-23  James Robinson  <jamesr@chromium.org>
79343
79344        REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
79345
79346        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.
79347
79348        * platform/text/TextCodecUTF16.cpp:
79349        (WebCore::newStreamingTextDecoderUTF16LE):
79350        (WebCore::newStreamingTextDecoderUTF16BE):
79351        (WebCore::TextCodecUTF16::decode):
79352        (WebCore::TextCodecUTF16::encode):
79353
793542011-02-23  David Hyatt  <hyatt@apple.com>
79355
79356        Reviewed by Sam Weinig.
79357
79358        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79359
79360        Patch computePositionedLogicalWidth to be writing-mode-aware.  Functions it calls have not been
79361        patched yet, so still not testable in a vertical text environment.
79362
79363        * rendering/RenderBox.cpp:
79364        (WebCore::RenderBox::computePositionedLogicalWidth):
79365
793662011-02-23  James Robinson  <jamesr@chromium.org>
79367
79368        Unreviewed, rolling out r79428.
79369        http://trac.webkit.org/changeset/79428
79370        https://bugs.webkit.org/show_bug.cgi?id=54714
79371
79372        Does not work in the Chromium sandbox
79373
79374        * websockets/WebSocketHandshake.cpp:
79375        (WebCore::generateSecWebSocketKey):
79376        (WebCore::generateKey3):
79377
793782011-02-23  David Hyatt  <hyatt@apple.com>
79379
79380        Reviewed by Sam Weinig.
79381
79382        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79383        
79384        Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
79385
79386        * rendering/style/RenderStyle.h:
79387        (WebCore::InheritedFlags::logicalLeft):
79388        (WebCore::InheritedFlags::logicalRight):
79389        (WebCore::InheritedFlags::logicalTop):
79390        (WebCore::InheritedFlags::logicalBottom):
79391
793922011-02-23  Darin Adler  <darin@apple.com>
79393
79394        Reviewed by Alexey Proskuryakov.
79395
79396        Fix crash seen in one of the regression tests.
79397
79398        * platform/text/TextCodecUTF16.cpp:
79399        (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
79400        we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
79401        and the correct thing to do is nothing.
79402
794032011-02-23  Sergey Glazunov  <serg.glazunov@gmail.com>
79404
79405        Reviewed by James Robinson.
79406
79407        SVGCursorElement::removeClient() should verify that its argument is connected with
79408        the proper cursor element.
79409        https://bugs.webkit.org/show_bug.cgi?id=54979
79410
79411        Test: svg/css/multiple-cursors-crash.html
79412
79413        * svg/SVGCursorElement.cpp:
79414        (WebCore::SVGCursorElement::removeClient):
79415
794162011-02-23  Renata Hodovan  <reni@webkit.org>
79417
79418        Reviewed by Darin Adler.
79419
79420        FEConvolveMatrixElement changes doesn't require relayout
79421        https://bugs.webkit.org/show_bug.cgi?id=55067
79422
79423        When the FEConvolveMatrixElement receives an update message but the
79424        given value remains the same we don't need to relayout the filter.
79425
79426        No new tests are needed because this modificiation is covered by the
79427        dynamic update tests of FEConvolveMatrix.
79428
79429        * platform/graphics/filters/FEConvolveMatrix.cpp:
79430        (WebCore::FEConvolveMatrix::setDivisor):
79431        (WebCore::FEConvolveMatrix::setBias):
79432        (WebCore::FEConvolveMatrix::setTargetOffset):
79433        (WebCore::FEConvolveMatrix::edgeMode):
79434        (WebCore::FEConvolveMatrix::setEdgeMode):
79435        (WebCore::FEConvolveMatrix::setPreserveAlpha):
79436        * platform/graphics/filters/FEConvolveMatrix.h:
79437        * svg/SVGFEConvolveMatrixElement.cpp:
79438        (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
79439        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
79440        * svg/SVGFEConvolveMatrixElement.h:
79441
794422011-02-23  Geoffrey Garen  <ggaren@apple.com>
79443
79444        Reviewed by Darin Adler.
79445
79446        Rolled back in r79367 with SnowLeopard Release bot crash fixed.
79447        https://bugs.webkit.org/show_bug.cgi?id=54999
79448
79449        * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
79450
794512011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
79452
79453        Reviewed by Darin Adler.
79454
79455        Add more thorough manual test coverage for media controls
79456        https://bugs.webkit.org/show_bug.cgi?id=55006
79457
79458        * manual-tests/media-controls.html: Added.
79459
794602011-02-23  Darin Adler  <darin@apple.com>
79461
79462        Fix build.
79463
79464        * platform/text/TextCodecUTF16.cpp:
79465        (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
79466
794672011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
79468
79469        Reviewed by Darin Adler.
79470
79471        Setting shadow host should also attach and set inDocument, just like
79472        appending/inserting a child.
79473        https://bugs.webkit.org/show_bug.cgi?id=55065
79474
79475        No new tests, because functionality is not yet used.
79476
79477        * dom/Element.cpp:
79478        (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
79479            for the shadow DOM subtree, like the host.
79480
794812011-02-23  David Hyatt  <hyatt@apple.com>
79482
79483        Reviewed by Darin Adler and Simon Fraser.
79484
79485        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
79486        
79487        - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
79488        writing-mode.
79489        - Patch clientLogicalBottom to use clientLogicalHeight.
79490        - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
79491        clientLogicalHeight/Width.  Also make them able to handle perpendicular writing mode containining blocks.
79492        - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
79493        
79494        * rendering/RenderBox.cpp:
79495        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
79496        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
79497        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
79498        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
79499        (WebCore::RenderBox::computePositionedLogicalWidth):
79500        (WebCore::RenderBox::computePositionedLogicalHeight):
79501        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
79502        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
79503        * rendering/RenderBox.h:
79504        (WebCore::RenderBox::clientLogicalWidth):
79505        (WebCore::RenderBox::clientLogicalHeight):
79506        (WebCore::RenderBox::clientLogicalBottom):
79507
795082011-02-23  Darin Adler  <darin@apple.com>
79509
79510        Reviewed by Alexey Proskuryakov.
79511
79512        REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
79513        https://bugs.webkit.org/show_bug.cgi?id=54862
79514
79515        Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
79516        https://bugs.webkit.org/show_bug.cgi?id=54444
79517
79518        No new tests at this time. I will add some tests later, but since multiple
79519        people are hitting this I wanted to get it in as quickly as possible.
79520
79521        * platform/text/TextCodecUTF16.cpp:
79522        (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
79523        Removed special case for zero length now that main code handles it
79524        correctly. Used words instead of abbreviations for local variable names.
79525        Added error handling for a trailing byte.
79526
79527        * platform/text/TextCodecUTF8.cpp:
79528        (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
79529        to make the handleError and handlePartialSequence functions clearer.
79530        (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
79531        handlePartialSequence clearer.
79532        (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
79533        the partial sequence case. Making this a separate function probably helps make
79534        the fast case a little faster. This new version handles more cases correctly,
79535        which is what fixes the crashes we were seeing. In particular, it no longer
79536        assumes that the partial sequence is truly partial, because there are cases
79537        where we end up handling complete sequences here, such as when a complete
79538        sequence is inside a malformed partial sequence.
79539        (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
79540        call handlePartialSequence instead. Could be streamlined if we double checked
79541        that passing a reference to "destination" and "source" doesn't harm code
79542        generation too much, so perhaps someone can do that research on a few compilers
79543        later and clean this up. Removed special case for zero length now that the
79544        main code handles that correctly.
79545
79546        * platform/text/TextCodecUTF8.h: Added declarations for new functions.
79547        Made partial sequence buffer large enough to hold a whole sequence so we can
79548        use it to complete and decode a sequence in place.
79549
795502011-02-23  Abhishek Arya  <inferno@chromium.org>
79551
79552        Reviewed by Dave Hyatt.
79553
79554        Make clear float lineboxes resilient against overflows.        
79555        https://bugs.webkit.org/show_bug.cgi?id=54995
79556
79557        We try to dirty everthing in block range if we have a negative
79558        logical bottom, or if our logical bottom is less than our logical
79559        top, or if our logical top is equal to INT_MAX. Plus, we also dirty
79560        a linebox if its block logical height is less than zero.
79561        Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
79562               fast/overflow/overflow-height-float-not-removed-crash3.html
79563
79564        * rendering/RenderBlock.cpp:
79565        (WebCore::RenderBlock::removeFloatingObject):
79566        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
79567        * rendering/RootInlineBox.cpp:
79568        (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
79569        added in r69735. we don't need this anymore since we are making the
79570        underlying float dirty logic resilient.
79571
795722011-02-22  Kenneth Russell  <kbr@google.com>
79573
79574        Reviewed by Darin Fisher.
79575
79576        Per-page minimum DOMTimer interval broken for repeating timers
79577        https://bugs.webkit.org/show_bug.cgi?id=55014
79578
79579        When the minimum timer interval is adjusted, if the timer is
79580        repeating, cause its repeat interval to be set to its original
79581        timeout clamped to the new minimum interval.
79582
79583        Tests: fast/dom/timer-increase-min-interval-repeating.html
79584               fast/dom/timer-increase-then-decrease-min-interval-repeating.html
79585
79586        * page/DOMTimer.cpp:
79587        (WebCore::DOMTimer::adjustMinimumTimerInterval):
79588
795892011-02-23  Dan Bernstein  <mitz@apple.com>
79590
79591        Reviewed by Maciej Stachowiak.
79592
79593        Fix two issues seen in WebKit2 views on Mac:
79594        - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
79595        - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
79596
79597        * page/EventHandler.cpp:
79598        (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
79599        to -1. Since WebKit2 doesn�t support non-activating clicks yet (<http://webkit.org/b/55053>
79600        <rdar://problem/9042197>) and doesn�t send event numbers, all events were considered to be
79601        window-activating events. This in turn prevented them from clearing the selection and resuming
79602        caret blinking on mouse up.
79603
796042011-02-23  Jacob Dinu  <dinu.jacob@nokia.com>
79605
79606        Reviewed by Pavel Feldman.
79607
79608        Web Inspector: Linking error for some InspectorController symbols
79609        https://bugs.webkit.org/show_bug.cgi?id=54953
79610
79611        Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag 
79612
79613        * inspector/InspectorController.cpp:
79614        (WebCore::InspectorController::hideHighlight):
79615        (WebCore::InspectorController::resume):
79616
796172011-02-23  Hans Wennborg  <hans@chromium.org>
79618
79619        IndexedDB: Move some SQL code into IDBBackingStore
79620        https://bugs.webkit.org/show_bug.cgi?id=54889
79621
79622        The idea is to gather all the SQL logic into IDBBackingStore.
79623
79624        No new functionality, so no new tests.
79625
79626        * storage/IDBBackingStore.cpp:
79627        (WebCore::IDBBackingStore::IDBBackingStore):
79628        (WebCore::runCommands):
79629        (WebCore::createTables):
79630        (WebCore::createMetaDataTable):
79631        (WebCore::getDatabaseSchemaVersion):
79632        (WebCore::migrateDatabase):
79633        (WebCore::IDBBackingStore::open):
79634        (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
79635        (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
79636        (WebCore::IDBBackingStore::getObjectStores):
79637        (WebCore::IDBBackingStore::createObjectStore):
79638        (WebCore::doDelete):
79639        (WebCore::IDBBackingStore::deleteObjectStore):
79640        (WebCore::whereSyntaxForKey):
79641        (WebCore::bindKeyToQuery):
79642        (WebCore::IDBBackingStore::getObjectStoreRecord):
79643        (WebCore::bindKeyToQueryWithNulls):
79644        (WebCore::IDBBackingStore::putObjectStoreRecord):
79645        (WebCore::IDBBackingStore::deleteIndexDataForRecord):
79646        (WebCore::IDBBackingStore::putIndexDataForRecord):
79647        (WebCore::IDBBackingStore::createIndex):
79648        (WebCore::IDBBackingStore::deleteIndex):
79649        (WebCore::IDBBackingStore::clearObjectStore):
79650        * storage/IDBBackingStore.h:
79651        * storage/IDBDatabaseBackendImpl.cpp:
79652        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
79653        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
79654        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
79655        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
79656        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
79657        * storage/IDBFactoryBackendImpl.cpp:
79658        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
79659        (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
79660        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
79661        (WebCore::IDBFactoryBackendImpl::open):
79662        * storage/IDBFactoryBackendImpl.h:
79663        * storage/IDBObjectStoreBackendImpl.cpp:
79664        (WebCore::IDBObjectStoreBackendImpl::getInternal):
79665        (WebCore::IDBObjectStoreBackendImpl::putInternal):
79666        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
79667        (WebCore::populateIndex):
79668        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
79669        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
79670
796712011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
79672
79673        Reviewed by Laszlo Gombos.
79674
79675        [Qt] Fix the Symbian build after r79334
79676        https://bugs.webkit.org/show_bug.cgi?id=55044
79677
79678        No new tests as there is no new functionality.
79679
79680        * WebCore.pri: Reorder symbian blocks to make sure that
79681        system-sqlite is set before it is tested.
79682
79683        Copy the rules from JavaScriptCore.pri for defineTest().
79684
796852011-02-23  Patrick Gansterer  <paroga@webkit.org>
79686
79687        Reviewed by Alexey Proskuryakov.
79688
79689        Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
79690        https://bugs.webkit.org/show_bug.cgi?id=54992
79691
79692        * websockets/WebSocketHandshake.cpp:
79693        (WebCore::WebSocketHandshake::readHTTPHeaders):
79694
796952011-02-23  Patrick Gansterer  <paroga@webkit.org>
79696
79697        Reviewed by Andreas Kling.
79698
79699        [CMake] Move platform dependent files out of main CMakeLists.txt
79700        https://bugs.webkit.org/show_bug.cgi?id=53891
79701
79702        Apple Windows port does not use the image decoders,
79703        so move them into the platform specific CMake files.
79704
79705        * CMakeLists.txt:
79706        * CMakeListsEfl.txt:
79707        * CMakeListsWinCE.txt:
79708
797092011-02-21  Stephen White  <senorblanco@chromium.org>
79710
79711        Reviewed by Kenneth Russell.
79712
79713        Jittering when animating a rotated image
79714        https://bugs.webkit.org/show_bug.cgi?id=50775
79715
79716        Since Skia does not seem to suffer from pixel cracks when scaling to
79717        non-integral sizes the way CG does, no-op roundToDevicePixels on the
79718        Skia implementation.
79719
79720        * platform/graphics/skia/GraphicsContextSkia.cpp:
79721        (WebCore::GraphicsContext::roundToDevicePixels):
79722
797232011-02-23  Patrick Gansterer  <paroga@webkit.org>
79724
79725        Reviewed by Andreas Kling.
79726
79727        [WINCE] Get rid of TemporaryLinkStubs.cpp
79728        https://bugs.webkit.org/show_bug.cgi?id=54825
79729
79730        * CMakeListsWinCE.txt:
79731        * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
79732        * platform/wince/TemporaryLinkStubs.cpp: Removed.
79733
797342011-02-23  Patrick Gansterer  <paroga@webkit.org>
79735
79736        Reviewed by Darin Adler.
79737
79738        Rename PLATFORM(CF) to USE(CF)
79739        https://bugs.webkit.org/show_bug.cgi?id=53540
79740
79741        * WebCore.gyp/WebCore.gyp:
79742        * editing/SmartReplace.cpp:
79743        * editing/SmartReplaceICU.cpp:
79744        * loader/MainResourceLoader.cpp:
79745        (WebCore::MainResourceLoader::didReceiveResponse):
79746        (WebCore::MainResourceLoader::didReceiveData):
79747        (WebCore::MainResourceLoader::didFinishLoading):
79748        (WebCore::MainResourceLoader::didFail):
79749        * loader/archive/ArchiveFactory.cpp:
79750        (WebCore::archiveMIMETypes):
79751        * platform/FileSystem.h:
79752        * platform/KURL.h:
79753        * platform/KURLGoogle.cpp:
79754        * platform/RunLoopTimer.h:
79755        * platform/SharedBuffer.cpp:
79756        * platform/SharedBuffer.h:
79757        * platform/UUID.cpp:
79758        (WebCore::createCanonicalUUIDString):
79759        * platform/network/ResourceHandle.h:
79760        * platform/network/ResourceRequestBase.h:
79761        * platform/network/curl/ResourceHandleCurl.cpp:
79762        * platform/network/curl/ResourceHandleManager.cpp:
79763        (WebCore::certificatePath):
79764        * platform/text/cf/StringCF.cpp:
79765        * platform/text/cf/StringImplCF.cpp:
79766        * platform/win/BString.cpp:
79767        * platform/win/BString.h:
79768        * platform/win/ClipboardUtilitiesWin.cpp:
79769        (WebCore::getWebLocData):
79770        (WebCore::getURL):
79771        (WebCore::getClipboardData):
79772        * platform/win/ClipboardWin.cpp:
79773        (WebCore::writeFileToDataObject):
79774        * platform/win/SearchPopupMenuWin.cpp:
79775        (WebCore::SearchPopupMenuWin::enabled):
79776        (WebCore::SearchPopupMenuWin::saveRecentSearches):
79777        (WebCore::SearchPopupMenuWin::loadRecentSearches):
79778
797792011-02-23  Benjamin Kalman  <kalman@chromium.org>
79780
79781        Reviewed by Ojan Vafai.
79782
79783        Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
79784        https://bugs.webkit.org/show_bug.cgi?id=51001
79785
79786        Test: editing/selection/extend-backward-by-word-over-non-editable.html
79787
79788        Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
79789        bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
79790
79791        The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
79792        selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
79793        refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
79794        causes this bug).
79795
79796        To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
79797        been slightly restructured to express the invariant that the iterator will never advance past the start node.
79798
79799        * editing/TextIterator.cpp:
79800        (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
79801        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
79802        mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
79803        (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
79804        m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
79805        (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
79806        which updates m_havePassedStartNode and refuses to continue when it becomes true.
79807        * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
79808        member variables.
79809        * editing/visible_units.cpp:
79810        (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
79811
798122011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
79813
79814        Reviewed by Adam Barth.
79815
79816        WebSocket uses insecure random numbers
79817        https://bugs.webkit.org/show_bug.cgi?id=54714
79818
79819        * websockets/WebSocketHandshake.cpp:
79820        (WebCore::randomNumberLessThan):
79821        (WebCore::generateSecWebSocketKey):
79822        (WebCore::generateKey3):
79823
798242011-02-21  Hans Wennborg  <hans@chromium.org>
79825
79826        Reviewed by Jeremy Orlow.
79827
79828        IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
79829        https://bugs.webkit.org/show_bug.cgi?id=54864
79830
79831        No new functionality, so no new tests.
79832
79833        * GNUmakefile.am:
79834        * WebCore.gypi:
79835        * storage/IDBBackingStore.cpp:
79836        (WebCore::IDBBackingStore::IDBBackingStore):
79837        (WebCore::IDBBackingStore::~IDBBackingStore):
79838        * storage/IDBBackingStore.h:
79839        (WebCore::IDBBackingStore::create):
79840        (WebCore::IDBBackingStore::db):
79841        * storage/IDBCursorBackendImpl.cpp:
79842        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
79843        (WebCore::IDBCursorBackendImpl::currentRowExists):
79844        (WebCore::IDBCursorBackendImpl::database):
79845        * storage/IDBCursorBackendImpl.h:
79846        (WebCore::IDBCursorBackendImpl::create):
79847        * storage/IDBDatabaseBackendImpl.cpp:
79848        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
79849        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
79850        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
79851        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
79852        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
79853        * storage/IDBDatabaseBackendImpl.h:
79854        (WebCore::IDBDatabaseBackendImpl::create):
79855        * storage/IDBFactoryBackendImpl.cpp:
79856        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
79857        (WebCore::openSQLiteDatabase):
79858        (WebCore::IDBFactoryBackendImpl::open):
79859        * storage/IDBFactoryBackendImpl.h:
79860        * storage/IDBIndexBackendImpl.cpp:
79861        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
79862        (WebCore::IDBIndexBackendImpl::openCursorInternal):
79863        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
79864        * storage/IDBIndexBackendImpl.h:
79865        (WebCore::IDBIndexBackendImpl::create):
79866        * storage/IDBObjectStoreBackendImpl.cpp:
79867        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
79868        (WebCore::IDBObjectStoreBackendImpl::createIndex):
79869        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
79870        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
79871        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
79872        * storage/IDBObjectStoreBackendImpl.h:
79873        (WebCore::IDBObjectStoreBackendImpl::create):
79874
798752011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
79876
79877        Reviewed by Kenneth Russell.
79878
79879        Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
79880        https://bugs.webkit.org/show_bug.cgi?id=54697
79881
79882        New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
79883
79884        * rendering/RenderHTMLCanvas.cpp:
79885        (WebCore::RenderHTMLCanvas::nodeAtPoint):
79886
798872011-02-23  Patrick Gansterer  <paroga@webkit.org>
79888
79889        Reviewed by Darin Adler.
79890
79891        Remove obsolete focusRingColor functions
79892        https://bugs.webkit.org/show_bug.cgi?id=54824
79893
79894        * CMakeListsWinCE.txt:
79895        * platform/graphics/haiku/ColorHaiku.cpp:
79896        * platform/graphics/wince/ColorWinCE.cpp: Removed.
79897
798982011-02-22  Jia Pu  <jpu@apple.com>
79899
79900        Reviewed by Dan Bernstein.
79901
79902        On Mac OS X, English contractions are marked misspelled with certain user preference setting.
79903        https://bugs.webkit.org/show_bug.cgi?id=54975
79904
79905        manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
79906
79907        Without this patch, we check for contraction only when autocorrection or other type of auto-
79908        substituation is on. And we failed to check for contraction if only spellchecking is turned on.
79909        This patch implements the desired behavior, checking for contraction when either correction/substitution,
79910        or spellchecking, is on.
79911
79912        * editing/Editor.cpp:
79913        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
79914        * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
79915
799162011-02-22  Charlie Reis  <creis@chromium.org>
79917
79918        Reviewed by Darin Fisher.
79919
79920        Remove DatabasePolicy from FrameLoaderTypes
79921        https://bugs.webkit.org/show_bug.cgi?id=54968
79922
79923        The DatabasePolicy enum is no longer needed now that we avoid stopping
79924        loaders on same-document navigations.
79925
79926        Existing test: storage/hash-change-with-xhr.html
79927
79928        * WebCore.exp.in:
79929        * loader/DocumentLoader.cpp:
79930        * loader/DocumentLoader.h:
79931        * loader/FrameLoader.cpp:
79932        * loader/FrameLoader.h:
79933        * loader/FrameLoaderTypes.h:
79934        * workers/WorkerThread.cpp:
79935
799362011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
79937
79938        Reviewed by Andreas Kling.
79939
79940        [Qt] QWebView ignores a palette set with QWebView::setPalette()
79941        https://bugs.webkit.org/show_bug.cgi?id=31742
79942
79943        Use custom QWebView palette if the view provides one.
79944        Modified version of a patch made by Fabrizio Machado.
79945
79946        * platform/qt/RenderThemeQt.cpp:
79947        (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
79948        (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
79949        (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
79950        (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
79951        (WebCore::RenderThemeQt::platformFocusRingColor):
79952
799532011-02-22  Brian Salomon  <bsalomon@google.com>
79954
79955        Reviewed by Kenneth Russell.
79956
79957        Don't disable accelerated canvas when using the skia gpu backend.
79958
79959        No new tests are required.
79960
79961        * html/canvas/CanvasRenderingContext2D.cpp:
79962        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
79963
799642011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
79965
79966        Reviewed by Kenneth Rohde Christiansen.
79967
79968        [Qt] <select>s on http://www.ryanair.com render wrong
79969        https://bugs.webkit.org/show_bug.cgi?id=29647
79970
79971        Reducing padding in <select> elements to improve its rendering and introducing a
79972        rendering adjustment specific to QMacStyle.
79973
79974        * platform/qt/RenderThemeQt.cpp:
79975        (WebCore::RenderThemeQt::setPopupPadding):
79976        (WebCore::RenderThemeQt::paintMenuList):
79977
799782011-02-22  Andreas Kling  <kling@webkit.org>
79979
79980        Reviewed by Dan Bernstein.
79981
79982        FontCache: Make cTargetInactiveFontData an int instead of float.
79983        https://bugs.webkit.org/show_bug.cgi?id=54963
79984
79985        * platform/graphics/FontCache.cpp:
79986
799872011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
79988
79989        Reviewed by Darin Adler.
79990
79991        Make Editor::selectionComputedStyle return EditingStyle
79992        https://bugs.webkit.org/show_bug.cgi?id=54933
79993
79994        Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
79995        It also no longer takes a boolean shouldUseFixedFontDefaultSize.
79996
79997        Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
79998        doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
79999        by an existing layout test only after the code was shared with selectionStartStyle.
80000
80001        No tests are added since this is a refactoring.
80002
80003        * editing/CompositeEditCommand.cpp:
80004        (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
80005        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
80006        * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
80007        (WebCore::EditingStyle::mergeTypingStyle): Added.
80008        * editing/EditingStyle.h:
80009        (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
80010        * editing/Editor.cpp:
80011        (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
80012        (WebCore::Editor::selectionHasStyle): Ditto.
80013        (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
80014        (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
80015        * editing/Editor.h:
80016        * editing/EditorCommand.cpp:
80017        (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
80018        * editing/InsertLineBreakCommand.cpp:
80019        * editing/InsertParagraphSeparatorCommand.cpp:
80020        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
80021        EditingStyle::mergeTypingStyle.
80022        * editing/ReplaceSelectionCommand.cpp:
80023        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
80024
800252011-02-22  Robert Hogan  <robert@webkit.org>
80026
80027        Reviewed by Andreas Kling.
80028
80029        [Qt] painting of windowed plugins faulty on certain scroll events
80030
80031        https://bugs.webkit.org/show_bug.cgi?id=52735
80032
80033        Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
80034        imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
80035        to the frame again) before passing it to FrameView.
80036
80037        * plugins/qt/PluginViewQt.cpp:
80038        (WebCore::PluginView::updatePluginWidget):
80039
800402011-02-22  Philippe Normand  <pnormand@igalia.com>
80041
80042        Reviewed by Martin Robinson.
80043
80044        Minimal build broken
80045        https://bugs.webkit.org/show_bug.cgi?id=54743
80046
80047        Moved the code of setInspectorExtensionAPI and
80048        dispatchMessageFromFrontend out of #if
80049        ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
80050
80051        * inspector/InspectorController.cpp:
80052        (WebCore::InspectorController::setInspectorExtensionAPI):
80053        (WebCore::InspectorController::dispatchMessageFromFrontend):
80054
800552011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
80056
80057        Unreviewed, rolling out r79367.
80058        http://trac.webkit.org/changeset/79367
80059        https://bugs.webkit.org/show_bug.cgi?id=55012
80060
80061        all layout tests are crashing on Snow Leopard (Requested by
80062        rniwa on #webkit).
80063
80064        * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
80065
800662011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
80067
80068        Reviewed by Darin Adler.
80069
80070        Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
80071        https://bugs.webkit.org/show_bug.cgi?id=54944
80072
80073        Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
80074
80075        Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
80076        which returns true iff the specified element has inline style that conflicts or matches the editing style.
80077        It also appends conflicting property IDs to the vector of property IDs if one is specified.
80078
80079        * editing/ApplyStyleCommand.cpp:
80080        (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
80081        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
80082        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
80083        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
80084        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
80085        conflictsWithInlineStyleOfElement.
80086        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
80087        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
80088        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
80089        (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
80090        * editing/ApplyStyleCommand.h:
80091        (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
80092        * editing/EditingStyle.cpp:
80093        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
80094        * editing/EditingStyle.h:
80095        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
80096
800972011-02-22  Chang Shu  <cshu@webkit.org>
80098
80099        Reviewed by Csaba Osztrogonác.
80100
80101        [Qt] editing/deleting/5408255.html fails
80102        https://bugs.webkit.org/show_bug.cgi?id=54964
80103
80104        Move WebCore resource file to QtWebKit since they are referred in WebKit.
80105
80106        * WebCore.pro:
80107
801082011-02-22  Brady Eidson  <beidson@apple.com>
80109
80110        Reviewed by Anders Carlsson.
80111
80112        <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
80113        API to view and delete Application Cache data by origin.
80114
80115        Implement these to be used by WK2 API:
80116        * loader/appcache/ApplicationCacheStorage.cpp:
80117        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
80118        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
80119
801202011-02-22  Geoffrey Garen  <ggaren@apple.com>
80121
80122        Reviewed by Oliver Hunt.
80123
80124        Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
80125        https://bugs.webkit.org/show_bug.cgi?id=54999
80126        
80127        New WTF header.
80128
80129        * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
80130
801312011-02-22  Beth Dakin  <bdakin@apple.com>
80132
80133        Reviewed by Sam Weinig.
80134
80135        Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 
80136        Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 
80137        Scrollbars
80138        -and corresponding-
80139        <rdar://problem/9034318>
80140
80141        Instead of consulting the theme directly, callers should ask the Scrollbar or 
80142        ScrollableArea if the scrollbars are overlay or not. 
80143
80144        * platform/ScrollView.cpp:
80145        (WebCore::ScrollView::visibleContentRect):
80146        (WebCore::ScrollView::scrollContents):
80147        (WebCore::ScrollView::wheelEvent):
80148        * platform/ScrollableArea.cpp:
80149        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
80150        (WebCore::ScrollableArea::hasOverlayScrollbars):
80151        * platform/ScrollableArea.h:
80152        * platform/Scrollbar.cpp:
80153        (WebCore::Scrollbar::isOverlayScrollbar):
80154        * platform/Scrollbar.h:
80155        * rendering/RenderBox.cpp:
80156        (WebCore::RenderBox::includeVerticalScrollbarSize):
80157        (WebCore::RenderBox::includeHorizontalScrollbarSize):
80158        * rendering/RenderLayer.cpp:
80159        (WebCore::RenderLayer::verticalScrollbarWidth):
80160        (WebCore::RenderLayer::horizontalScrollbarHeight):
80161        * rendering/RenderListBox.cpp:
80162        (WebCore::RenderListBox::verticalScrollbarWidth):
80163        * rendering/RenderScrollbar.h:
80164        (WebCore::RenderScrollbar::isOverlayScrollbar):
80165
801662011-02-22  Andras Becsi  <abecsi@webkit.org>
80167
80168        Reviewed by Csaba Osztrogonác.
80169
80170        [Qt] Redesign the build system
80171        https://bugs.webkit.org/show_bug.cgi?id=51339
80172
80173        Move inspector's resource files into the final build step to fix the layout test regression.
80174
80175        No new tests needed.
80176
80177        * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
80178
801792011-02-22  Martin Robinson  <mrobinson@igalia.com>
80180
80181        Reviewed by Xan Lopez.
80182
80183        [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
80184        https://bugs.webkit.org/show_bug.cgi?id=54990
80185
80186        No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
80187        to start passing again.
80188
80189        * platform/gtk/ScrollViewGtk.cpp:
80190        (WebCore::ScrollView::visibleContentRect): Update this method to match the original
80191        in the parent class.
80192
801932011-01-17  Martin Robinson  <mrobinson@igalia.com>
80194
80195        Reviewed by Xan Lopez.
80196
80197        [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
80198        https://bugs.webkit.org/show_bug.cgi?id=49177
80199
80200        * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
80201        of platformAddChild and platformRemoveChild. This code can be shared.
80202        * platform/gtk/MainFrameScrollbarGtk.cpp:
80203        (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
80204        adjustment. Connect the adjustment value-changed signal handler after resetting the
80205        adjustment. This prevents the rest from stomping on pre-existing WebCore values.
80206        (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
80207        a scrollview do not listing for value changes. These scrollbars are defunct.
80208        * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
80209
802102011-02-22  Pavel Feldman  <pfeldman@chromium.org>
80211
80212        Reviewed by Yury Semikhatsky.
80213
80214        Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
80215        https://bugs.webkit.org/show_bug.cgi?id=54954
80216
80217        * bindings/js/JSInjectedScriptHostCustom.cpp:
80218        (WebCore::InjectedScriptHost::toNode):
80219        (WebCore::JSInjectedScriptHost::inspect):
80220        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
80221        (WebCore::InjectedScriptHost::toNode):
80222        (WebCore::V8InjectedScriptHost::inspectCallback):
80223        * inspector/CodeGeneratorInspector.pm:
80224        * inspector/InjectedScript.cpp:
80225        (WebCore::InjectedScript::nodeForObjectId):
80226        * inspector/InjectedScript.h:
80227        * inspector/InjectedScriptHost.cpp:
80228        (WebCore::InjectedScriptHost::inspect):
80229        * inspector/InjectedScriptHost.h:
80230        * inspector/InjectedScriptHost.idl:
80231        * inspector/InjectedScriptSource.js:
80232        (.):
80233        * inspector/Inspector.idl:
80234        * inspector/InspectorAgent.cpp:
80235        (WebCore::InspectorAgent::focusNode):
80236        * inspector/InspectorAgent.h:
80237        * inspector/InspectorDOMAgent.cpp:
80238        (WebCore::InspectorDOMAgent::inspect):
80239        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
80240        * inspector/InspectorDOMAgent.h:
80241        * inspector/front-end/AuditRules.js:
80242        (WebInspector.AuditRules.evaluateInTargetWindow):
80243        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
80244        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
80245        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
80246        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
80247        * inspector/front-end/ConsoleView.js:
80248        (WebInspector.ConsoleView.prototype.completions):
80249        * inspector/front-end/DOMAgent.js:
80250        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
80251        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
80252        * inspector/front-end/RemoteObject.js:
80253        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
80254
802552011-02-22  Brady Eidson  <beidson@apple.com>
80256
80257        Reviewed by Anders Carlsson.
80258
80259        Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
80260        API to view and delete Application Cache data by origin.
80261
80262        Stub these out for now:
80263        * loader/appcache/ApplicationCacheStorage.cpp:
80264        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
80265        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
80266        (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
80267        * loader/appcache/ApplicationCacheStorage.h:
80268
80269        Export the new symbols:
80270        * WebCore.exp.in:
80271
802722011-02-22  Anders Carlsson  <andersca@apple.com>
80273
80274        Fix debug build.
80275
80276        * WebCore.exp.in:
80277
802782011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
80279
80280        Reviewed by Anders Carlsson.
80281
80282        notImplemented() should behave identical in WebCore and WebKit2
80283        https://bugs.webkit.org/show_bug.cgi?id=54449
80284
80285        No functional change so no new tests.
80286
80287        * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
80288        to be able to use it in WebKit2.
80289
802902011-02-22  Andras Becsi  <abecsi@webkit.org>
80291
80292        Reviewed by Laszlo Gombos.
80293        Rubber-stamped by Csaba Osztrogonác.
80294
80295        [Qt] Redesign the build system
80296        https://bugs.webkit.org/show_bug.cgi?id=51339
80297
80298        The patch landed in r79320 didn't contain the cleanup
80299        which was already addressed in the last attachment.
80300
80301        No new tests needed.
80302
80303        * WebCore.pri: Add common LIB and CONFIG options.
80304        * WebCore.pro: Add accidentally moved sections.
80305
803062011-02-22  Philippe Normand  <pnormand@igalia.com>
80307
80308        Unreviewed, rolling out r79321.
80309        http://trac.webkit.org/changeset/79321
80310        https://bugs.webkit.org/show_bug.cgi?id=53146
80311
80312        Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
80313        /spatial-navigation/snav-single-select.html on GTK
80314
80315        * accessibility/gtk/AXObjectCacheAtk.cpp:
80316        (WebCore::notifyChildrenSelectionChange):
80317        (WebCore::AXObjectCache::postPlatformNotification):
80318
803192011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
80320
80321        Reviewed by Yury Semikhatsky.
80322
80323        Web Inspector: Inspector.IDL change. rename attribute notify -> event.
80324        https://bugs.webkit.org/show_bug.cgi?id=54958
80325
80326        * inspector/CodeGeneratorInspector.pm:
80327        * inspector/Inspector.idl:
80328
803292011-02-22  Yury Semikhatsky  <yurys@chromium.org>
80330
80331        Reviewed by Pavel Feldman.
80332
80333        Web Inspector: Timeline agent should have same lifetime as InspectorAgent
80334        https://bugs.webkit.org/show_bug.cgi?id=54951
80335
80336        * inspector/CodeGeneratorInspector.pm:
80337        * inspector/Inspector.idl:
80338        * inspector/InspectorAgent.cpp:
80339        (WebCore::InspectorAgent::InspectorAgent):
80340        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
80341        (WebCore::InspectorAgent::setFrontend):
80342        (WebCore::InspectorAgent::disconnectFrontend):
80343        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
80344        (WebCore::InspectorAgent::didCommitLoad):
80345        (WebCore::InspectorAgent::domContentLoadedEventFired):
80346        (WebCore::InspectorAgent::loadEventFired):
80347        * inspector/InspectorAgent.h:
80348        * inspector/InspectorController.cpp:
80349        (WebCore::InspectorController::startTimelineProfiler):
80350        (WebCore::InspectorController::stopTimelineProfiler):
80351        (WebCore::InspectorController::timelineProfilerEnabled):
80352        * inspector/InspectorInstrumentation.cpp:
80353        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
80354        * inspector/InspectorTimelineAgent.cpp:
80355        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
80356        (WebCore::InspectorTimelineAgent::setFrontend):
80357        (WebCore::InspectorTimelineAgent::clearFrontend):
80358        (WebCore::InspectorTimelineAgent::restore):
80359        (WebCore::InspectorTimelineAgent::startTimelineProfiler):
80360        (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
80361        (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
80362        (WebCore::InspectorTimelineAgent::didCommitLoad):
80363        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
80364        (WebCore::InspectorTimelineAgent::clearRecordStack):
80365        * inspector/InspectorTimelineAgent.h:
80366        (WebCore::InspectorTimelineAgent::create):
80367        * inspector/front-end/TimelinePanel.js:
80368        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
80369
803702011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
80371
80372        Reviewed by Pavel Feldman.
80373
80374        Web Inspector: flakyness of inspector tests.
80375        https://bugs.webkit.org/show_bug.cgi?id=54729
80376
80377        As far as we have the protocol with sequence numbers we can simplify test harness support
80378        and drop out chomium specific methods.
80379
80380        * inspector/CodeGeneratorInspector.pm:
80381        * inspector/front-end/TestController.js:
80382        (WebInspector.TestController):
80383        (WebInspector.TestController.prototype.notifyDone):
80384        (WebInspector.TestController.prototype.runAfterPendingDispatches):
80385        (WebInspector.TestController.prototype._evaluateForTestInFrontend):
80386        * inspector/front-end/inspector.js:
80387        (WebInspector.dispatch):
80388
803892011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
80390
80391        Reviewed by Martin Robinson.
80392
80393        [GTK] Combo boxes should emit object:selection-changed even when collapsed
80394        https://bugs.webkit.org/show_bug.cgi?id=53146
80395
80396        Emit the selection-changed signals when the menu list value has changed
80397
80398        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
80399
80400        * accessibility/gtk/AXObjectCacheAtk.cpp:
80401        (WebCore::getListObject): New, return the right list object for
80402        menu lists and list boxes.
80403        (WebCore::notifyChildrenSelectionChange): Support menu lists.
80404        (WebCore::AXObjectCache::postPlatformNotification): Call function
80405        notifyChildrenSelectionChange for AXMenuListValueChanged.
80406
804072011-02-22  Andras Becsi  <abecsi@webkit.org>
80408
80409        Reviewed by Laszlo Gombos.
80410
80411        [Qt] Redesign the build system
80412        https://bugs.webkit.org/show_bug.cgi?id=51339
80413
80414        Part 2.
80415
80416        Build WebCore as a static library, compile the WebKit API and WebKit2 API
80417        in a final step and link to WebKit2, WebCore and JSC libraries to fix
80418        linking issues resulting from stripped away symbols.
80419
80420        No new tests needed.
80421
80422        * WebCore.pri: Add needed rules for handling the static library.
80423        * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
80424
804252011-02-22  Pavel Podivilov  <podivilov@chromium.org>
80426
80427        Reviewed by Pavel Feldman.
80428
80429        Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
80430        https://bugs.webkit.org/show_bug.cgi?id=54947
80431
80432        * inspector/InspectorAgent.cpp:
80433        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
80434        * inspector/InspectorState.cpp:
80435        (WebCore::InspectorState::loadFromCookie):
80436        * inspector/InspectorState.h:
80437
804382011-02-15  Jer Noble  <jer.noble@apple.com>
80439
80440        Reviewed by Darin Adler.
80441
80442        Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
80443        https://bugs.webkit.org/show_bug.cgi?id=46142
80444
80445        Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
80446        container elements.  This is necessary because, during layout(), the child renderers
80447        query the current LayoutState to determine where they will be repainting.  If a new
80448        LayoutState is not pushed here, child renderers will attempt to repaint relative to
80449        their grandparent's origin instead of their parents', and repaint operations will fail.
80450
80451        * rendering/RenderMedia.cpp:
80452        (WebCore::RenderMedia::layout):
80453
804542011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
80455
80456        Reviewed by Kenneth Rohde Christiansen.
80457
80458        Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
80459        https://bugs.webkit.org/show_bug.cgi?id=54952
80460
80461        Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
80462        a valid reference for the input type FileInputType. 
80463
80464        * page/Chrome.cpp:
80465        (WebCore::Chrome::setToolTip):
80466
804672011-02-21  Pavel Podivilov  <podivilov@chromium.org>
80468
80469        Reviewed by Pavel Feldman.
80470
80471        Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
80472        https://bugs.webkit.org/show_bug.cgi?id=54645
80473
80474        This is needed to map one script to several source files.
80475
80476        Test: inspector/debugger/source-frame.html
80477
80478        * WebCore.gypi:
80479        * WebCore.vcproj/WebCore.vcproj:
80480        * inspector/front-end/DebuggerPresentationModel.js: Added.
80481        (WebInspector.DebuggerPresentationModel):
80482        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
80483        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
80484        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
80485        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
80486        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
80487        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
80488        * inspector/front-end/ScriptsPanel.js:
80489        (WebInspector.ScriptsPanel):
80490        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
80491        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
80492        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
80493        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
80494        (WebInspector.ScriptsPanel.prototype._addSourceFrame):
80495        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
80496        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
80497        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
80498        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
80499        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
80500        * inspector/front-end/SourceFrame.js:
80501        (WebInspector.SourceFrame.prototype.get loaded):
80502        (WebInspector.SourceFrame.prototype._createTextViewer):
80503        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
80504        (WebInspector.SourceFrame.prototype.setExecutionLine):
80505        (WebInspector.SourceFrame.prototype.clearExecutionLine):
80506        (WebInspector.SourceFrame.prototype.addBreakpoint):
80507        (WebInspector.SourceFrame.prototype.removeBreakpoint):
80508        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
80509        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
80510        (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
80511        (WebInspector.SourceFrame.prototype._findBreakpoint):
80512        * inspector/front-end/WebKit.qrc:
80513        * inspector/front-end/inspector.html:
80514
805152011-02-22  Andrey Kosyakov  <caseq@chromium.org>
80516
80517        Reviewed by Pavel Feldman.
80518
80519        Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
80520        https://bugs.webkit.org/show_bug.cgi?id=54671
80521
80522        - factored toolbar handling out of inspector.js
80523        - added toolbar dropdown
80524
80525        * WebCore.gypi:
80526        * WebCore.vcproj/WebCore.vcproj:
80527        * inspector/front-end/ExtensionServer.js:
80528        (WebInspector.ExtensionServer.prototype._onCreatePanel):
80529        * inspector/front-end/Panel.js:
80530        (WebInspector.Panel.prototype.get toolbarItem):
80531        * inspector/front-end/Toolbar.js: Added.
80532        (WebInspector.Toolbar):
80533        (WebInspector.Toolbar.prototype.resize):
80534        (WebInspector.Toolbar.prototype.addPanel):
80535        (WebInspector.Toolbar.prototype._toolbarDragStart):
80536        (WebInspector.Toolbar.prototype._toolbarDragEnd):
80537        (WebInspector.Toolbar.prototype._toolbarDrag):
80538        (WebInspector.Toolbar.prototype._onClose):
80539        (WebInspector.Toolbar.prototype._setDropdownVisible):
80540        (WebInspector.Toolbar.prototype._toggleDropdown):
80541        (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
80542        (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
80543        (WebInspector.Toolbar.createPanelToolbarItem):
80544        (WebInspector.ToolbarDropdown):
80545        (WebInspector.ToolbarDropdown.prototype.show):
80546        (WebInspector.ToolbarDropdown.prototype.hide):
80547        (WebInspector.ToolbarDropdown.prototype.get visible):
80548        (WebInspector.ToolbarDropdown.prototype._populate):
80549        (WebInspector.ToolbarDropdown.prototype._onKeyDown):
80550        * inspector/front-end/WebKit.qrc:
80551        * inspector/front-end/inspector.css:
80552        (#toolbar):
80553        (.toolbar-item):
80554        (.toolbar-item.toggleable):
80555        (.toolbar-item.toggleable.toggled-on):
80556        (#toolbar-dropdown .toolbar-icon):
80557        (#toolbar-dropdown .toolbar-label):
80558        (#toolbar-controls):
80559        (#toolbar-dropdown-arrow):
80560        (body.attached #toolbar-dropdown-arrow):
80561        (#toolbar-dropdown-arrow.dropdown-visible):
80562        (#toolbar-dropdown-arrow:hover):
80563        (#toolbar-dropdown-arrow:active):
80564        (#toolbar-dropdown):
80565        (body.detached.platform-mac-snowleopard #toolbar-dropdown):
80566        (#toolbar-dropdown .scrollable-content):
80567        (#toolbar-dropdown .toolbar-item):
80568        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
80569        (#toolbar-dropdown .toolbar-item:hover):
80570        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
80571        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
80572        (.scrollable-content):
80573        (.scrollable-content::-webkit-scrollbar):
80574        (.scrollable-content::-webkit-resizer):
80575        (.scrollable-content::-webkit-scrollbar-thumb:vertical):
80576        (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
80577        (.scrollable-content::-webkit-scrollbar-track:vertical):
80578        (.toolbar-search-item):
80579        (#search):
80580        (body.attached #search):
80581        (#search-results-matches):
80582        (#close-button-left, #close-button-right):
80583        (.close-left):
80584        * inspector/front-end/inspector.html:
80585        * inspector/front-end/inspector.js:
80586        (WebInspector.set attached):
80587        (WebInspector.addPanel):
80588        (WebInspector.windowResize):
80589
805902011-02-22  Philippe Normand  <pnormand@igalia.com>
80591
80592        Reviewed by Xan Lopez.
80593
80594        [GTK] make distcheck fails
80595        https://bugs.webkit.org/show_bug.cgi?id=54943
80596
80597        Added new headers and removed references to deleted files.
80598
80599        * GNUmakefile.am:
80600
806012011-02-21  Yury Semikhatsky  <yurys@chromium.org>
80602
80603        Reviewed by Pavel Feldman.
80604
80605        Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
80606        https://bugs.webkit.org/show_bug.cgi?id=54891
80607
80608        * inspector/InspectorAgent.cpp:
80609        (WebCore::InspectorAgent::InspectorAgent):
80610        (WebCore::InspectorAgent::setFrontend):
80611        (WebCore::InspectorAgent::disconnectFrontend):
80612        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
80613        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
80614        (WebCore::InspectorAgent::didCommitLoad):
80615        * inspector/InspectorAgent.h:
80616        (WebCore::InspectorAgent::instrumentingAgents):
80617        * inspector/InspectorDOMStorageAgent.cpp:
80618        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
80619        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
80620        (WebCore::InspectorDOMStorageAgent::setFrontend):
80621        (WebCore::InspectorDOMStorageAgent::clearFrontend):
80622        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
80623        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
80624        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
80625        (WebCore::InspectorDOMStorageAgent::clearResources):
80626        * inspector/InspectorDOMStorageAgent.h:
80627        (WebCore::InspectorDOMStorageAgent::create):
80628        * inspector/InspectorDatabaseAgent.cpp:
80629        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
80630        (WebCore::InspectorDatabaseAgent::clearResources):
80631        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
80632        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
80633        (WebCore::InspectorDatabaseAgent::setFrontend):
80634        (WebCore::InspectorDatabaseAgent::clearFrontend):
80635        (WebCore::InspectorDatabaseAgent::databaseForId):
80636        (WebCore::InspectorDatabaseAgent::selectDatabase):
80637        * inspector/InspectorDatabaseAgent.h:
80638        (WebCore::InspectorDatabaseAgent::create):
80639        * inspector/InspectorInstrumentation.cpp:
80640        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
80641        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
80642
806432011-02-22  Steve Lacey  <sjl@chromium.org>
80644
80645        Reviewed by Darin Fisher.
80646
80647        Rename new media statistics apis to better names
80648
80649        https://bugs.webkit.org/show_bug.cgi?id=54784
80650
80651        * html/HTMLMediaElement.cpp:
80652        (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
80653        (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
80654        * html/HTMLMediaElement.h:
80655        * html/HTMLMediaElement.idl:
80656        * html/HTMLVideoElement.cpp:
80657        (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
80658        (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
80659        * html/HTMLVideoElement.h:
80660        * html/HTMLVideoElement.idl:
80661        * platform/graphics/MediaPlayer.cpp:
80662        (WebCore::MediaPlayer::decodedFrameCount):
80663        (WebCore::MediaPlayer::droppedFrameCount):
80664        (WebCore::MediaPlayer::audioDecodedByteCount):
80665        (WebCore::MediaPlayer::videoDecodedByteCount):
80666        * platform/graphics/MediaPlayer.h:
80667        * platform/graphics/MediaPlayerPrivate.h:
80668        (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
80669        (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
80670        (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
80671        (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
80672
806732011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
80674
80675        Reviewed by Kent Tamura.
80676
80677        Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
80678        https://bugs.webkit.org/show_bug.cgi?id=54435
80679
80680        Changed the function to a series of early-exit 'if's,
80681        removed most temporary variables.
80682
80683        No new tests. (refactoring)
80684
80685        * css/CSSStyleSelector.cpp:
80686        (WebCore::CSSStyleSelector::canShareStyleWithElement):
80687
806882011-02-21  Nico Weber  <thakis@chromium.org>
80689
80690        Reviewed by James Robinson.
80691
80692        [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
80693        https://bugs.webkit.org/show_bug.cgi?id=54923
80694
80695        Rename PopupContainer::show() to showInRect(), to make it obvious it's
80696        not an override of ScrollView::show().
80697
80698        No intended functionality change.
80699
80700        * platform/chromium/PopupMenuChromium.cpp:
80701        (WebCore::PopupContainer::showInRect):
80702        (WebCore::PopupMenuChromium::show):
80703        * platform/chromium/PopupMenuChromium.h:
80704
807052011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
80706
80707        Reviewed by Antti Koivisto.
80708
80709        Improve the local{SharedStyle,CousinList} algorithm
80710        https://bugs.webkit.org/show_bug.cgi?id=45507
80711
80712        This change improves the algorithm to find shared styles: the old
80713        algorithm would stop the search after the first cousin, even if
80714        the search threshold is not met. As such, the algorithm would
80715        systematically miss sharings across second cousins and beyond.
80716        The new algorithm continues the search, as long as threshold is
80717        not met. It also separates the threshold for sibling/cousins
80718        search, from that on the levels of search, which is easier to
80719        optimize.
80720        The new algorithm finds up to 30% more sharings on some sites
80721        (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
80722
80723        No new test, refactoring only.
80724
80725        * css/CSSStyleSelector.cpp:
80726        (WebCore::CSSStyleSelector::locateCousinList):
80727        (WebCore::CSSStyleSelector::locateSharedStyle):
80728        While changing the algorithm, cleaned up the style of those 2 methods
80729        (use early return, renamed some variables).
80730
80731        * css/CSSStyleSelector.h:
80732
807332011-02-21  Nico Weber  <thakis@chromium.org>
80734
80735        Reviewed by Adam Barth.
80736
80737        RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
80738        https://bugs.webkit.org/show_bug.cgi?id=54922
80739
80740        RenderTableCell::baselinePosition() has the same name as a virtual
80741        method in superclass RenderBlock. Rename the subclass method to make
80742        it clear it's not an attempted override.
80743
80744        No intended functionality change.
80745
80746        * rendering/RenderTableCell.cpp:
80747        (WebCore::RenderTableCell::cellBaselinePosition):
80748        * rendering/RenderTableCell.h:
80749        * rendering/RenderTableSection.cpp:
80750        (WebCore::RenderTableSection::calcRowLogicalHeight):
80751        (WebCore::RenderTableSection::layoutRows):
80752
807532011-02-21  Benjamin Kalman  <kalman@chromium.org>
80754
80755        Reviewed by Ryosuke Niwa.
80756
80757        Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
80758        start/end of selection for RTL
80759        https://bugs.webkit.org/show_bug.cgi?id=54724
80760
80761        On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
80762        This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
80763        extending from the end when for the "right" direction (e.g. pressing right arrow key).
80764
80765        However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
80766        direction is obviously reversed) and likewise extend from the start when extending right.
80767
80768        * editing/SelectionController.cpp:
80769        (WebCore::SelectionController::modify):
80770
807712011-02-21  Nico Weber  <thakis@chromium.org>
80772
80773        Reviewed by Adam Barth.
80774
80775        ImageDocument::imageChanged() confuses clang's -Woverride-virtual
80776        https://bugs.webkit.org/show_bug.cgi?id=54924
80777
80778        Rename ImageDocument::imageChanged() to imageUpdated() to make clear
80779        that it's not an override of CachedResourceClient::imageChanged().
80780
80781        * html/ImageDocument.cpp:
80782        (WebCore::ImageDocumentParser::appendBytes):
80783        (WebCore::ImageDocumentParser::finish):
80784        (WebCore::ImageDocument::imageUpdated):
80785        * html/ImageDocument.h:
80786
807872011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
80788
80789        Reviewed by Kent Tamura.
80790
80791        Bug 54934 - Sort the WebCore project file(s)
80792        https://bugs.webkit.org/show_bug.cgi?id=54934
80793
80794        No new tests. (no code affected)
80795
80796        * GNUmakefile.am:
80797        * WebCore.xcodeproj/project.pbxproj:
80798
807992011-02-21  Nico Weber  <thakis@chromium.org>
80800
80801        Reviewed by Adam Barth.
80802
80803        canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
80804        https://bugs.webkit.org/show_bug.cgi?id=54909
80805
80806        Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
80807        unconfuse clang. No intended functionality change.
80808
80809        * rendering/RenderBlockLineLayout.cpp:
80810        (WebCore::RenderBlock::checkLinesForTextOverflow):
80811        * rendering/RenderFlexibleBox.cpp:
80812        (WebCore::RenderFlexibleBox::applyLineClamp):
80813        * rendering/RootInlineBox.cpp:
80814        (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
80815        * rendering/RootInlineBox.h:
80816
808172011-02-21  Adele Peterson  <adele@apple.com>
80818
80819        Reviewed by Dan Bernstein.
80820
80821        Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
80822        REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
80823
80824        Test: updated fast/forms/placeholder-position.html and tested manually
80825
80826        Consider padding and margin for the results and cancel buttons.  This is important for the Windows 
80827        theme which uses padding to correctly position those buttons.  This change fixes the placeholder 
80828        position, and also better aligns the results popup list with the actual text you type.
80829
80830        * rendering/RenderTextControlSingleLine.cpp:
80831        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
80832        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
80833
808342011-02-21  Nico Weber  <thakis@chromium.org>
80835
80836        Reviewed by Kent Tamura.
80837
80838        GIFImageDecoder::setSize() tries to override the superclass method but fails
80839        https://bugs.webkit.org/show_bug.cgi?id=54305
80840
80841        The superclass uses unsigned instead of int for its parameters, so
80842        GIFImageDecoder::setSize() was an overload, not an override.
80843
80844        * platform/image-decoders/gif/GIFImageDecoder.cpp:
80845        (WebCore::GIFImageDecoder::setSize):
80846        * platform/image-decoders/gif/GIFImageDecoder.h:
80847
808482011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
80849
80850        Reviewed by Darin Adler.
80851
80852        Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
80853        https://bugs.webkit.org/show_bug.cgi?id=54528
80854
80855        * editing/ApplyStyleCommand.cpp:
80856        (WebCore::StyleChange::init): Allows style to be a null pointer.
80857        (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
80858        -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
80859        to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
80860        whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
80861        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
80862        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
80863        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
80864        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
80865        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
80866        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
80867        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
80868        ApplyStyleCommand::applyInlineStyle already does it.
80869        * editing/ApplyStyleCommand.h:
80870        * editing/EditingStyle.cpp:
80871        (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
80872        (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
80873        * editing/EditingStyle.h:
80874
808752011-02-21  Mark Rowe  <mrowe@apple.com>
80876
80877        Reviewed by Darin Adler and Alexey Proskuryakov.
80878
80879        <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
80880
80881        * platform/graphics/cg/ImageSourceCG.cpp:
80882        (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
80883        frame properties dictionary and use that if it exists. If it does not exist in the
80884        dictionary then fall back to using the clamped frame delay.
80885
808862011-02-21  James Kozianski  <koz@chromium.org>
80887
80888        Reviewed by Kent Tamura.
80889
80890        Causes elements to be unfocusable after tabindex property is removed.
80891        https://bugs.webkit.org/show_bug.cgi?id=54727
80892
80893        Test: fast/html/tabindex-removal.html
80894
80895        * dom/Node.cpp:
80896        (WebCore::Node::clearTabIndexExplicitly):
80897        * dom/Node.h:
80898        * dom/NodeRareData.h:
80899        (WebCore::NodeRareData::clearTabIndexExplicitly):
80900        * html/HTMLElement.cpp:
80901        (WebCore::HTMLElement::parseMappedAttribute):
80902
809032011-02-21  Alexey Proskuryakov  <ap@apple.com>
80904
80905        Reviewed by Mark Rowe.
80906
80907        <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
80908
80909        * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
80910
809112011-02-21  Sam Weinig  <sam@webkit.org>
80912
80913        Reviewed by Dan Bernstein.
80914
80915        Overhang areas need to be invalidated on scroll
80916        <rdar://problem/9032194>
80917        https://bugs.webkit.org/show_bug.cgi?id=54917
80918
80919        * platform/ScrollView.cpp:
80920        (WebCore::ScrollView::scrollContents):
80921        We need to explicitly invalidate the overhang areas when we scroll the contents
80922        of a ScrollView, since they could contain arbitrary content that cannot be blitted.
80923
809242011-02-21  Lucas Forschler  <lforschler@apple.com>
80925
80926        Reviewed by Stephanie Lewis.
80927
80928        Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
80929
80930        No new tests required.
80931
80932        * WebCore.xcodeproj/project.pbxproj:
80933
809342011-02-21  Pratik Solanki  <psolanki@apple.com>
80935
80936        Reviewed by Darin Adler.
80937
80938        Remove global initializer in CookieStorageCFNet.cpp
80939        https://bugs.webkit.org/show_bug.cgi?id=54905
80940
80941        * platform/network/cf/CookieStorageCFNet.cpp:
80942        (WebCore::currentCookieStorage):
80943        (WebCore::setCurrentCookieStorage):
80944        (WebCore::setCookieStoragePrivateBrowsingEnabled):
80945
809462011-02-18  Jer Noble  <jer.noble@apple.com>
80947
80948        Reviewed by Sam Weinig.
80949
80950        WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
80951        https://bugs.webkit.org/show_bug.cgi?id=54771
80952
80953        Now that video is accelerated, we no longer need to special case
80954        video playing within a media document.
80955
80956        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
80957        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
80958        (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
80959
809602011-02-21  Alexey Proskuryakov  <ap@apple.com>
80961
80962        Reviewed by Adam Roben.
80963
80964        REGRESSION (WebKit2): HTTP requests time out after 60 seconds
80965        https://bugs.webkit.org/show_bug.cgi?id=54755
80966        <rdar://problem/9006592>
80967
80968        No new tests - it won't be great to have a test that runs for a minute.
80969
80970        It's now possible to set a default timeout to be used at ResourceRequest creation. If one
80971        hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
80972        or use INT_MAX on other platforms).
80973
80974        * WebCore.exp.in:
80975        * platform/network/ResourceRequestBase.cpp:
80976        (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
80977        default timeout interval (may be 0 if using NSURLRequest default).
80978        (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
80979        (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
80980        request is updated. Plaform code often calls updateResourceRequest() indirectly from this
80981        function, and that must obviously be a no-op.
80982        (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
80983        direction.
80984        * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
80985        "defaultTimeoutInterval". It has been used as default by most platforms anyway.
80986        (WebCore::ResourceRequestBase::ResourceRequestBase):
80987
80988        * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
80989        Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
80990        setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
80991
809922011-02-21  Martin Robinson  <mrobinson@igalia.com>
80993
80994        Reviewed by Xan Lopez.
80995
80996        [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
80997        https://bugs.webkit.org/show_bug.cgi?id=54895
80998
80999        Correct the GTK+ clipboard implementation to know that "text" is an alias
81000        for "text/html" data. This corrects the failing test.
81001
81002        * platform/gtk/ClipboardGtk.cpp:
81003        (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
81004        (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
81005
810062011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
81007
81008        Reviewed by Pavel Feldman.
81009
81010        ProcessingInstruction should provide a way to know if it is of CSS type.
81011        https://bugs.webkit.org/show_bug.cgi?id=54868
81012
81013        * dom/ProcessingInstruction.cpp:
81014        (WebCore::ProcessingInstruction::ProcessingInstruction):
81015        (WebCore::ProcessingInstruction::checkStyleSheet):
81016        (WebCore::ProcessingInstruction::setCSSStyleSheet):
81017        * dom/ProcessingInstruction.h:
81018        (WebCore::ProcessingInstruction::isCSS):
81019
810202011-02-21  Simon Fraser  <simon.fraser@apple.com>
81021
81022        Put JSDOMImplementationCustom.cpp where it belongs in the project.
81023
81024        * WebCore.xcodeproj/project.pbxproj:
81025
810262011-02-21  Gavin Barraclough  <barraclough@apple.com>
81027
81028        Reviewed by Sam Weinig.
81029
81030        Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
81031
81032        The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
81033        containing a pointer to its parent class. These links should reflect the inheritance
81034        hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
81035        entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
81036        since intervening C++ classes may not have ClassInfo - but would be a potential bug
81037        were ClassInfo were to be added.
81038
81039        * bindings/js/JSAudioConstructor.cpp:
81040        * bindings/js/JSDOMGlobalObject.cpp:
81041        * bindings/js/JSImageConstructor.cpp:
81042        * bindings/js/JSOptionConstructor.cpp:
81043        * bindings/scripts/CodeGeneratorJS.pm:
81044        * bridge/objc/objc_runtime.mm:
81045        * bridge/runtime_object.cpp:
81046
810472011-02-21  Pavel Feldman  <pfeldman@chromium.org>
81048
81049        Reviewed by Yury Semikhatsky.
81050
81051        Web Inspector: navigation does not work after reopening frontend.
81052        https://bugs.webkit.org/show_bug.cgi?id=54879
81053
81054        Test: http/tests/inspector-enabled/open-close-open.html
81055
81056        * inspector/InspectorAgent.cpp:
81057        (WebCore::InspectorAgent::setFrontend):
81058        * inspector/InspectorState.cpp:
81059        (WebCore::InspectorState::unmute):
81060        * inspector/InspectorState.h:
81061
810622011-02-21  Adam Roben  <aroben@apple.com>
81063
81064        Protect the PluginView when evaluating javascript: URLs
81065
81066        Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
81067        plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
81068        added
81069
81070        Reviewed by Sam Weinig.
81071
81072        * plugins/PluginView.cpp:
81073        (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
81074        when evaluating javascript: URLs.
81075
810762011-02-21  Martin Robinson  <mrobinson@igalia.com>
81077
81078        Fix GTK+ build after r79223.
81079
81080        * GNUmakefile.am: Add file missing from the source list.
81081
810822011-02-14  Alexander Pavlov  <apavlov@chromium.org>
81083
81084        Reviewed by Yury Semikhatsky.
81085
81086        Web Inspector: audits should not warn about gzip compression for 304s
81087        https://bugs.webkit.org/show_bug.cgi?id=54343
81088
81089        Do not run compression-related audits on 304 resources.
81090        Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
81091
81092        * inspector/front-end/AuditRules.js:
81093        (WebInspector.AuditRules.GzipRule.prototype.doRun):
81094        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
81095
810962011-02-08  Anton Muhin  <antonm@chromium.org>
81097
81098       Reviewed by Adam Barth and Alexey Proskuryakov.
81099
81100       Propagate security origin of parent document into HTML documents created with DOMImplementation
81101       https://bugs.webkit.org/show_bug.cgi?id=53611
81102
81103       This restores invariant that JS wrappers residing in the same JS context should come
81104       from the same security origin.
81105
81106       Absence of regressions is covered by the current tests.  Different security origin of
81107       DOMImplementation is difficult to check with layout tests as DOMImplementation
81108       resides in the same JS context as parent document and therefore there are no security origin checks.
81109       This is observable however in C++.
81110
81111       * Android.jscbindings.mk:
81112       * CMakeLists.txt:
81113       * WebCore.gypi:
81114       * WebCore.pro:
81115       * WebCore.vcproj/WebCore.vcproj:
81116       * WebCore.xcodeproj/project.pbxproj:
81117       * bindings/v8/V8GCController.cpp:
81118       (WebCore::NodeGrouperVisitor::visitDOMWrapper):
81119       * dom/DOMImplementation.cpp:
81120       (WebCore::DOMImplementation::DOMImplementation):
81121       (WebCore::DOMImplementation::createDocument):
81122       * dom/DOMImplementation.h:
81123       (WebCore::DOMImplementation::create):
81124       (WebCore::DOMImplementation::documentDestroyed):
81125       (WebCore::DOMImplementation::parentDocument):
81126       * dom/DOMImplementation.idl:
81127       * dom/Document.cpp:
81128       (WebCore::Document::~Document):
81129       (WebCore::Document::implementation):
81130       * dom/Document.h:
81131
811322011-02-21  Andrey Adaikin  <aandrey@google.com>
81133
81134        Reviewed by Pavel Feldman.
81135
81136        Web Inspector: [Text editor] Optimize editing updates in gutter panel
81137        https://bugs.webkit.org/show_bug.cgi?id=54866
81138
81139        * inspector/front-end/TextViewer.js:
81140        (WebInspector.TextViewer.prototype.set startEditingListener):
81141        (WebInspector.TextViewer.prototype.set endEditingListener):
81142        (WebInspector.TextViewer.prototype.endUpdates):
81143        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
81144        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
81145        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
81146        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
81147        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
81148        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
81149
811502011-02-21  Alexander Pavlov  <apavlov@chromium.org>
81151
81152        Reviewed by Yury Semikhatsky.
81153
81154        Web Inspector: [Audits] Image dimensions in inline style not checked
81155        https://bugs.webkit.org/show_bug.cgi?id=54738
81156
81157        * inspector/front-end/AuditRules.js:
81158        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
81159
811602011-02-21  Yury Semikhatsky  <yurys@chromium.org>
81161
81162        Reviewed by Pavel Feldman.
81163
81164        Web Inspector: create and destroy DOM agent along with InspectorAgent
81165        https://bugs.webkit.org/show_bug.cgi?id=54875
81166
81167        * GNUmakefile.am:
81168        * WebCore.gypi:
81169        * WebCore.pro:
81170        * WebCore.vcproj/WebCore.vcproj:
81171        * WebCore.xcodeproj/project.pbxproj:
81172        * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
81173        on this object.
81174        (WebCore::InstrumentingAgents::InstrumentingAgents):
81175        (WebCore::InstrumentingAgents::~InstrumentingAgents):
81176        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
81177        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
81178        (WebCore::InstrumentingAgents::inspectorConsoleAgent):
81179        (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
81180        (WebCore::InstrumentingAgents::inspectorDOMAgent):
81181        (WebCore::InstrumentingAgents::setInspectorDOMAgent):
81182        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
81183        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
81184        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
81185        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
81186        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
81187        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
81188        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
81189        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
81190        (WebCore::InstrumentingAgents::inspectorResourceAgent):
81191        (WebCore::InstrumentingAgents::setInspectorResourceAgent):
81192        (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
81193        (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
81194        (WebCore::InstrumentingAgents::inspectorStorageAgent):
81195        (WebCore::InstrumentingAgents::setInspectorStorageAgent):
81196        (WebCore::InstrumentingAgents::inspectorTimelineAgent):
81197        (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
81198        * inspector/InspectorAgent.cpp:
81199        (WebCore::InspectorAgent::InspectorAgent):
81200        (WebCore::InspectorAgent::setFrontend):
81201        (WebCore::InspectorAgent::disconnectFrontend):
81202        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
81203        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
81204        (WebCore::InspectorAgent::didCommitLoad):
81205        (WebCore::InspectorAgent::domContentLoadedEventFired):
81206        (WebCore::InspectorAgent::loadEventFired):
81207        * inspector/InspectorAgent.h:
81208        * inspector/InspectorCSSAgent.cpp:
81209        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
81210        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
81211        * inspector/InspectorCSSAgent.h:
81212        * inspector/InspectorConsoleAgent.cpp:
81213        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
81214        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
81215        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
81216        (WebCore::InspectorConsoleAgent::clearFrontend):
81217        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
81218        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
81219        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
81220        (WebCore::InspectorConsoleAgent::addConsoleMessage):
81221        * inspector/InspectorConsoleAgent.h:
81222        * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
81223        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
81224        (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
81225        is attached.
81226        (WebCore::InspectorDOMAgent::clearFrontend):
81227        * inspector/InspectorDOMAgent.h:
81228        (WebCore::InspectorDOMAgent::create):
81229
812302011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
81231
81232        Reviewed by Andreas Kling.
81233
81234        [Qt][V8]REGRESSION(r79157): Fix build
81235        https://bugs.webkit.org/show_bug.cgi?id=54871
81236
81237        * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
81238
812392011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
81240
81241        Reviewed by Mihai Parparita.
81242
81243        [V8] SerializedScriptValue: fix JS exception handling.
81244        https://bugs.webkit.org/show_bug.cgi?id=54555
81245
81246        Added checks for exceptions and empty handles:
81247        * bindings/v8/SerializedScriptValue.cpp:
81248        (WebCore::Serializer::Serializer):
81249        (WebCore::Serializer::serialize):
81250        (WebCore::Serializer::checkException):
81251        (WebCore::Serializer::reportFailure):
81252        (WebCore::Serializer::ArrayState::advance):
81253        (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
81254        (WebCore::Serializer::AbstractObjectState::advance):
81255        (WebCore::Serializer::push):
81256        (WebCore::Serializer::handleError):
81257        (WebCore::Serializer::newObjectState):
81258        (WebCore::Serializer::doSerialize):
81259        (WebCore::SerializedScriptValue::SerializedScriptValue):
81260
812612011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
81262
81263        Reviewed by Kent Tamura.
81264
81265        Add selectionchange event
81266        https://bugs.webkit.org/show_bug.cgi?id=45712
81267
81268        Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
81269        This event is not cancelable and does not bubble. An event listener can be attached to a document by
81270        body element's onselectionchange attribute or via document's onselectionchange property.
81271
81272        Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
81273        fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
81274        will not observe the event before the control returns to JavaScript.
81275
81276        See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
81277
81278        Tests: fast/events/selectionchange-iframe.html
81279               fast/events/selectionchange-user-initiated.html
81280
81281        * dom/Document.cpp:
81282        (WebCore::Document::enqueueDocumentEvent): Added.
81283        * dom/Document.h: Added selectionchange event listener.
81284        * dom/Document.idl: Added onselectionchagne attribute.
81285        * dom/EventNames.h: Added selectionchange
81286        * editing/SelectionController.cpp:
81287        (WebCore::SelectionController::setSelection): Fires selectionchange event.
81288        * html/HTMLAttributeNames.in: Added onselectionchange.
81289        * html/HTMLBodyElement.cpp:
81290        (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
81291
812922011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
81293
81294        Reviewed by Pavel Feldman.
81295
81296        Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
81297        https://bugs.webkit.org/show_bug.cgi?id=54859
81298
81299        * inspector/CodeGeneratorInspector.pm:
81300
813012011-02-21  Pavel Feldman  <pfeldman@chromium.org>
81302
81303        Reviewed by Yury Semikhatsky.
81304
81305        Web Inspector: generate protocol documentation based on IDL.
81306        https://bugs.webkit.org/show_bug.cgi?id=54822
81307
81308        * inspector/CodeGeneratorInspector.pm:
81309
813102011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
81311
81312        Reviewed by Martin Robinson.
81313
81314        [GStreamer] Add URI queries support in webkitwebsrc
81315        https://bugs.webkit.org/show_bug.cgi?id=54627
81316
81317        This allow replying to URI queries from downstream elements
81318        with the uri currently set in the source element.
81319
81320        No new tests, this feature is dedicated to internal GStreamer use,
81321        such as the upcoming HTTP Live Streaming element.
81322
81323        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
81324        (webKitWebSrcQuery):
81325
813262011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
81327
81328        Reviewed by Martin Robinson.
81329
81330        [GStreamer] Add 'location' property in webkitwebsrc
81331        https://bugs.webkit.org/show_bug.cgi?id=54628
81332
81333        No new tests, this feature is dedicated to internal GStreamer use,
81334        such as the upcoming HTTP Live Streaming element.
81335
81336        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
81337        (webkit_web_src_class_init):
81338        (webKitWebSrcSetProperty):
81339        (webKitWebSrcGetProperty):
81340
813412011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
81342
81343        Reviewed by Kent Tamura.
81344
81345        Rename Position::node() to Position::deprecatedNode()
81346        https://bugs.webkit.org/show_bug.cgi?id=54622
81347
81348        Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
81349        calls were of the form node()->document() and node()->inDocument() in which case they were
81350        replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
81351
81352        * WebCore.exp.in: Added Position::containerNode.
81353
81354        The rest abbreviated for simplicity. Please see svn log.
81355
813562011-02-20  Gavin Barraclough  <barraclough@apple.com>
81357
81358        Build fix (remove includes).
81359
81360        * bindings/js/JSDOMBinding.cpp:
81361        * bindings/js/JSDOMWindowCustom.cpp:
81362        * bindings/js/JSHistoryCustom.cpp:
81363        * bindings/js/JSLocationCustom.cpp:
81364
813652011-02-20  Gavin Barraclough  <barraclough@apple.com>
81366
81367        Reviewed by Oliver Hunt.
81368
81369        https://bugs.webkit.org/show_bug.cgi?id=54839
81370        Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
81371
81372        Historically, Native functions used to be represented by PrototypeFunctions, however
81373        since introducing call optimizations to the JIT this has used JSFunctions for host
81374        calls too. At the point this change was made, the interpreter continued to use
81375        PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
81376        the interpreter has had to be able to run using host functions represented using
81377        JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
81378        interpreter only builds, and situations where the JIT has fallen back to interpreting.
81379
81380        NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
81381        for wrappers for host functions, and as such can also be removed.
81382
81383        GlobalEvalFunction is a redundant wrapper that happens to be derived from
81384        PrototypeFunction. It existed to hold a reference to the global object - but since all
81385        functions how derive from JSObjectWithGlobalObject, this no longer requires an
81386        additional class to provide this functionality.
81387
81388        * bindings/js/JSDOMBinding.cpp:
81389        * bindings/js/JSDOMWindowCustom.cpp:
81390        * bindings/js/JSHistoryCustom.cpp:
81391        * bindings/js/JSLocationCustom.cpp:
81392            Removed use of redundant classes.
81393
813942011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
81395
81396        Unreviewed, rolling out r79169.
81397        http://trac.webkit.org/changeset/79169
81398        https://bugs.webkit.org/show_bug.cgi?id=54846
81399
81400        Made unexpected results for tests without CJK characters
81401        (Requested by tkent on #webkit).
81402
81403        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
81404        (WebCore::FontCache::createFontPlatformData):
81405        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
81406        (WebCore::FontPlatformData::FontPlatformData):
81407        (WebCore::FontPlatformData::operator=):
81408        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
81409        (WebCore::FontPlatformData::orientation):
81410        * platform/graphics/skia/FontCustomPlatformData.cpp:
81411        (WebCore::FontCustomPlatformData::fontPlatformData):
81412
814132011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
81414
81415        Reviewed by Kent Tamura.
81416
81417        On Chromium Windows, glyphs in vertical text tests are rotated 90
81418        degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
81419
81420        This platform dependent patch makes Chromium Windows show the
81421        vertical writing text correctly. Job was done by adding a prefix '@'
81422        in front of the font family name (Windows Only). No new tests added.
81423
81424        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
81425        (WebCore::FontCache::createFontPlatformData):
81426        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
81427        (WebCore::FontPlatformData::FontPlatformData):
81428        (WebCore::FontPlatformData::operator=):
81429        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
81430        (WebCore::FontPlatformData::orientation):
81431        * platform/graphics/skia/FontCustomPlatformData.cpp:
81432        (WebCore::FontCustomPlatformData::fontPlatformData):
81433
814342011-02-20  Simon Fraser  <simon.fraser@apple.com>
81435
81436        Reviewed by Dirk Schulze.
81437
81438        REGRESSION (r73369-r73405): transform animation interpolates incorrectly
81439        https://bugs.webkit.org/show_bug.cgi?id=54793
81440        
81441        After the refactoring in r73380, the ending state for some types of
81442        accelerated animations was computed incorrectly, because the TransformationMatrix
81443        wasn't reset to identity before the ending value transformations were applied.
81444        
81445        Fix by cleaning up the code to use explicit, separate values for
81446        starting and ending values. Only matrix-type animations had this
81447        issue, but cleaned up other clauses similarly.
81448
81449        Test: animations/3d/matrix-transform-type-animation.html
81450
81451        * platform/graphics/ca/GraphicsLayerCA.cpp:
81452        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
81453
814542011-02-20  Dan Bernstein  <mitz@apple.com>
81455
81456        Reviewed by Maciej Stachowiak.
81457
81458        <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
81459
81460        Test: fast/frames/iframe-scale-applied-twice.html
81461
81462        * page/FrameView.cpp:
81463        (WebCore::FrameView::create): Set the initial bounds of the view to match the
81464        frame size.
81465        * platform/ScrollView.cpp:
81466        (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
81467        (WebCore::ScrollView::updateScrollbars): Ditto.
81468        (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
81469        change to setBoundsSize().
81470        (WebCore::ScrollView::setBoundsSize): Added.
81471        (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
81472        not update anything.
81473        (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
81474        (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
81475        * platform/ScrollView.h:
81476        (WebCore::ScrollView::boundsSize): Added this getter.
81477        * platform/Widget.h:
81478        (WebCore::Widget::resize): Set the bounds size to the frame size.
81479        * platform/mac/ScrollbarThemeMac.mm:
81480        (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
81481        path where the buffer rect was resized to capture only the damaged part, but was
81482        still drawn in the original location.
81483
814842011-02-20  Alexey Proskuryakov  <ap@apple.com>
81485
81486        Reviewed by Eric Seidel.
81487
81488        Tighten up access permissions by using libxslt API
81489        https://bugs.webkit.org/show_bug.cgi?id=52688
81490        <rdar://problem/8909191> 
81491
81492        * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
81493        interested in a string result, so let libxslt know about that.
81494
814952011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
81496
81497        Unreviewed, rolling out r79104.
81498        http://trac.webkit.org/changeset/79104
81499        https://bugs.webkit.org/show_bug.cgi?id=54835
81500
81501        Might have caused flaky canaries (Requested by tonyg-cr on
81502        #webkit).
81503
81504        * html/parser/HTMLDocumentParser.cpp:
81505        (WebCore::HTMLDocumentParser::canTakeNextToken):
81506        (WebCore::HTMLDocumentParser::pumpTokenizer):
81507        * html/parser/HTMLParserScheduler.cpp:
81508        (WebCore::isLayoutTimerActive):
81509        * html/parser/HTMLParserScheduler.h:
81510        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
81511        * page/FrameView.h:
81512
815132011-02-20  Dirk Schulze  <krit@webkit.org>
81514
81515        Reviewed by Nikolas Zimmermann.
81516
81517        SVG animation - analyze attribute type for animation
81518        https://bugs.webkit.org/show_bug.cgi?id=54542
81519
81520        Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
81521        with AnimatedAttributeType instead. More cleanup of the animation code.
81522        Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
81523
81524        Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
81525        from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
81526
81527        No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
81528        animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
81529        with the W3C test suite in trunk.
81530
81531        The change on SVGUseElement gets covered by animate-elem-39-t.svg
81532
81533        Test: svg/animations/animate-dynamic-update-attributeName.html
81534
81535        * svg/SVGAnimateElement.cpp:
81536        (WebCore::SVGAnimateElement::SVGAnimateElement):
81537        (WebCore::SVGAnimateElement::hasValidAttributeType):
81538        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
81539        (WebCore::SVGAnimateElement::calculateAnimatedValue):
81540        (WebCore::inheritsFromProperty):
81541        (WebCore::SVGAnimateElement::calculateFromAndToValues):
81542        (WebCore::SVGAnimateElement::calculateFromAndByValues):
81543        (WebCore::SVGAnimateElement::resetToBaseValue):
81544        (WebCore::SVGAnimateElement::applyResultsToTarget):
81545        (WebCore::SVGAnimateElement::calculateDistance):
81546        * svg/SVGAnimateElement.h:
81547        * svg/SVGAnimateMotionElement.cpp:
81548        (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
81549        (WebCore::parsePoint):
81550        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
81551        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
81552        (WebCore::SVGAnimateMotionElement::calculateDistance):
81553        * svg/SVGAnimateMotionElement.h:
81554        * svg/SVGAnimateTransformElement.cpp:
81555        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
81556        (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
81557        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
81558        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
81559        (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
81560        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
81561        (WebCore::SVGAnimateTransformElement::calculateDistance):
81562        * svg/SVGAnimateTransformElement.h:
81563        * svg/SVGAnimationElement.cpp:
81564        (WebCore::parseKeyTimes):
81565        (WebCore::parseKeySplines):
81566        (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
81567        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
81568        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
81569        (WebCore::solveEpsilon):
81570        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
81571        (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
81572        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
81573        (WebCore::SVGAnimationElement::startedActiveInterval):
81574        * svg/SVGAnimationElement.h:
81575        * svg/SVGFilterElement.cpp:
81576        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
81577        * svg/SVGGElement.cpp:
81578        (WebCore::SVGGElement::attributeToPropertyTypeMap):
81579        (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
81580        * svg/SVGGElement.h:
81581        * svg/SVGUseElement.cpp:
81582        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
81583        * svg/animation/SMILTimeContainer.cpp:
81584        (WebCore::SMILTimeContainer::baseValueFor):
81585        (WebCore::SMILTimeContainer::updateAnimations):
81586        * svg/animation/SMILTimeContainer.h:
81587        * svg/animation/SVGSMILElement.cpp:
81588        (WebCore::SVGSMILElement::SVGSMILElement):
81589        (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
81590        (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
81591        (WebCore::SVGSMILElement::removedFromDocument): Ditto.
81592        (WebCore::SVGSMILElement::attributeChanged): Ditto.
81593        * svg/animation/SVGSMILElement.h:
81594        (WebCore::SVGSMILElement::attributeName):
81595
815962011-02-20  David Kilzer  <ddkilzer@apple.com>
81597
81598        BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
81599
81600        Not reviewed.
81601
81602        * rendering/RenderLayerCompositor.cpp:
81603        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
81604
816052011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
81606
81607        Reviewed by Martin Robinson.
81608
81609        [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
81610        https://bugs.webkit.org/show_bug.cgi?id=52880
81611
81612        * platform/gtk/KeyEventGtk.cpp:
81613        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
81614
816152011-02-19  Andreas Kling  <kling@webkit.org>
81616
81617        Reviewed by Oliver Hunt.
81618
81619        DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
81620        https://bugs.webkit.org/show_bug.cgi?id=54545
81621
81622        * page/DragController.cpp:
81623        (WebCore::DragController::concludeEditDrag):
81624
816252011-02-19  Sam Weinig  <sam@webkit.org>
81626
81627        Reviewed by Anders Carlsson.
81628
81629        Add phase in addition to momentumPhase to platform wheel events
81630        Part of <rdar://problem/8945362>
81631
81632        Rename existing phase to momentumPhase.
81633
81634        * platform/PlatformWheelEvent.h:
81635        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
81636        (WebCore::PlatformWheelEvent::momentumPhase):
81637        * platform/mac/ScrollAnimatorMac.mm:
81638        (WebCore::ScrollAnimatorMac::handleWheelEvent):
81639        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
81640        * platform/mac/WheelEventMac.mm:
81641        (WebCore::momentumPhaseForEvent):
81642        (WebCore::phaseForEvent):
81643        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
81644
816452011-02-19  Gavin Barraclough  <barraclough@apple.com>
81646
81647        Qt build fix.
81648
81649        * bridge/runtime_method.h:
81650        (JSC::RuntimeMethod::createStructure):
81651
816522011-02-19  Gavin Barraclough  <barraclough@apple.com>
81653
81654        Qt build fix.
81655
81656        * bridge/qt/qt_instance.cpp:
81657        * bridge/qt/qt_pixmapruntime.cpp:
81658
816592011-02-19  Gavin Barraclough  <barraclough@apple.com>
81660
81661        Qt build fix.
81662
81663        * bridge/qt/qt_instance.cpp:
81664        (JSC::Bindings::QtInstance::getMethod):
81665        * bridge/qt/qt_pixmapruntime.cpp:
81666        (JSC::Bindings::QtPixmapInstance::getMethod):
81667
816682011-02-18  Gavin Barraclough  <barraclough@apple.com>
81669
81670        Reviewed by Sam Weinig.
81671
81672        Bug 54786 - Devirtualize JSCell::classInfo()
81673
81674        Instead of making a virtual function call, add a pointer to the ClassInfo
81675        onto Structure.
81676
81677        This removes a virtual function call, and paves the way towards removing all
81678        the createStructure methods, and StructureFlags/AnonymousSlotCount properties
81679        (these should be able to move onto ClassInfo).
81680
81681        Calls to Structure::create must now pass a pointer to the ClassInfo for the
81682        structure. All objects now have a ClassInfo pointer, non-object cell types
81683        still do not.
81684
81685        Changes are most mechanical, involving three steps:
81686            * Remove virtual classInfo() methods.
81687            * Add &s_info parameter to calls to Structure::create.
81688            * Rename ClassInfo static members on classes from 'info' to 's_info',
81689              for consistency.
81690
81691        * WebCore.exp.in:
81692        * bindings/js/JSAudioConstructor.cpp:
81693        * bindings/js/JSAudioConstructor.h:
81694        * bindings/js/JSDOMBinding.cpp:
81695        * bindings/js/JSDOMBinding.h:
81696        * bindings/js/JSDOMGlobalObject.cpp:
81697        * bindings/js/JSDOMGlobalObject.h:
81698        * bindings/js/JSDOMWindowBase.cpp:
81699        * bindings/js/JSDOMWindowBase.h:
81700        * bindings/js/JSDOMWindowShell.cpp:
81701        * bindings/js/JSDOMWindowShell.h:
81702        * bindings/js/JSGeolocationCustom.cpp:
81703        * bindings/js/JSImageConstructor.cpp:
81704        * bindings/js/JSImageConstructor.h:
81705        * bindings/js/JSImageDataCustom.cpp:
81706        * bindings/js/JSOptionConstructor.cpp:
81707        * bindings/js/JSOptionConstructor.h:
81708        * bindings/js/JSWorkerContextBase.cpp:
81709        * bindings/js/JSWorkerContextBase.h:
81710        * bindings/js/SerializedScriptValue.cpp:
81711        * bindings/scripts/CodeGeneratorJS.pm:
81712        * bridge/c/CRuntimeObject.cpp:
81713        * bridge/c/CRuntimeObject.h:
81714        * bridge/c/c_instance.cpp:
81715        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
81716        * bridge/jni/jsc/JavaInstanceJSC.cpp:
81717        * bridge/jni/jsc/JavaRuntimeObject.cpp:
81718        * bridge/jni/jsc/JavaRuntimeObject.h:
81719        * bridge/jsc/BridgeJSC.cpp:
81720        * bridge/objc/ObjCRuntimeObject.h:
81721        * bridge/objc/ObjCRuntimeObject.mm:
81722        * bridge/objc/objc_instance.mm:
81723        * bridge/objc/objc_runtime.h:
81724        * bridge/objc/objc_runtime.mm:
81725        * bridge/runtime_array.cpp:
81726        * bridge/runtime_array.h:
81727        * bridge/runtime_method.cpp:
81728        * bridge/runtime_method.h:
81729        * bridge/runtime_object.cpp:
81730        * bridge/runtime_object.h:
81731
817322011-02-19  Zan Dobersek  <zandobersek@gmail.com>
81733
81734        Reviewed by Martin Robinson.
81735
81736        [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
81737        https://bugs.webkit.org/show_bug.cgi?id=54491
81738
81739        When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
81740        and would round to 0, alter the behaviour to ensure that width or height are
81741        at least 1 pixel in size in these cases.
81742
81743        * platform/graphics/cairo/GraphicsContextCairo.cpp:
81744        (WebCore::GraphicsContext::roundToDevicePixels):
81745
817462011-02-19  Dan Bernstein  <mitz@apple.com>
81747
81748        LLVM Compiler build fix.
81749
81750        * platform/graphics/ShadowBlur.cpp:
81751        (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
81752        a global initializer since the compiler does not evaluate sqrtf at compile time.
81753
817542011-02-19  Brian Ryner  <bryner@chromium.org>
81755
81756        Reviewed by Adam Barth.
81757
81758        Replace the #include of DocumentLoader.h in Document.h with a
81759        forward declaration, and add a missing #include now that this
81760        transitive include is gone.
81761        https://bugs.webkit.org/show_bug.cgi?id=50489
81762
81763        No new tests required.
81764
81765        * bindings/ScriptControllerBase.cpp:
81766        * dom/Document.h:
81767
817682011-02-19  Patrick Gansterer  <paroga@webkit.org>
81769
81770        Reviewed by Antonio Gomes.
81771
81772        [EFL] Remove WebCore::currentTime()
81773        https://bugs.webkit.org/show_bug.cgi?id=53886
81774
81775        There is no declaration for it and we use WTF::currentTime() everywhere.
81776
81777        * platform/efl/SystemTimeEfl.cpp:
81778
817792011-02-19  Patrick Gansterer  <paroga@webkit.org>
81780
81781        Reviewed by Andreas Kling.
81782
81783        Move KeygenWinCE from wince into win directory
81784        https://bugs.webkit.org/show_bug.cgi?id=54804
81785
81786        Move this file into the win directory, since it can be used on all windows platforms.
81787
81788        * CMakeListsWinCE.txt:
81789        * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
81790
817912011-02-19  Patrick Gansterer  <paroga@webkit.org>
81792
81793        Reviewed by Andreas Kling.
81794
81795        Make FileChooserWin.cpp more portable and use it on WinCE
81796        https://bugs.webkit.org/show_bug.cgi?id=54803
81797
81798        * CMakeListsWinCE.txt:
81799        * platform/win/FileChooserWin.cpp:
81800        (WebCore::FileChooser::basenameForWidth):
81801        * platform/wince/FileChooserWinCE.cpp: Removed.
81802
818032011-02-19  James Simonsen  <simonjam@chromium.org>
81804
81805        Reviewed by Adam Barth.
81806
81807        Make ScriptElement match the HTML5 spec
81808        https://bugs.webkit.org/show_bug.cgi?id=54676
81809
81810        This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
81811        http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
81812
81813        There are a couple of things missing from the spec that would be new functionality. These will be added later.
81814        - Support for async=false
81815        - Empty src attribute should dispatch an error.
81816
81817        There are a couple of slight behavioral changes to match the spec.
81818        - An XHTML script that is loaded then copied will not fire load on the copy.
81819        - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
81820
81821        The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
81822
81823        Test: All existing tests.
81824
81825        * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
81826        (WebCore::ScriptElement::ScriptElement):
81827        (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
81828        (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
81829        (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
81830        (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
81831        (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
81832        (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.
81833        (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
81834        (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
81835        (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
81836        (WebCore::ScriptElement::execute): Renamed executeScript.
81837        (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
81838        (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
81839        (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
81840        (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
81841        * dom/ScriptElement.h:
81842        (WebCore::ScriptElement::willBeParserExecuted): Added.
81843        (WebCore::ScriptElement::readyToBeParserExecuted): Added.
81844        (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
81845        (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
81846        (WebCore::ScriptElement::isParserInserted): Added.
81847        * dom/XMLDocumentParserLibxml2.cpp:
81848        (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
81849        * dom/XMLDocumentParserQt.cpp:
81850        (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
81851        * html/HTMLScriptElement.cpp:
81852        (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
81853        (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
81854        * html/HTMLScriptElement.h:
81855        * html/parser/HTMLScriptRunner.cpp:
81856        (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
81857        (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
81858        * svg/SVGScriptElement.cpp:
81859        (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
81860        (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
81861        (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
81862        (WebCore::SVGScriptElement::hasSourceAttribute): Added.
81863        (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
81864        * svg/SVGScriptElement.h:
81865
818662011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
81867
81868        Reviewed by James Robinson.
81869
81870        Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
81871        https://bugs.webkit.org/show_bug.cgi?id=54789
81872
81873        * WebCore.gyp/WebCore.gyp:
81874
818752011-02-19  Bill Budge  <bbudge@chromium.org>
81876
81877        Reviewed by David Levin.
81878
81879        ThreadableLoaderClient needs willSendRequest method
81880        https://bugs.webkit.org/show_bug.cgi?id=54688
81881
81882        No new tests. Exposes no new functionality
81883
81884        * WebCore.gypi:
81885        * loader/DocumentThreadableLoader.cpp:
81886        (WebCore::DocumentThreadableLoader::willSendRequest):
81887        (WebCore::DocumentThreadableLoader::didReceiveData):
81888        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
81889        * loader/DocumentThreadableLoaderClient.h: Added.
81890        (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
81891        (WebCore::DocumentThreadableLoaderClient::willSendRequest):
81892        * loader/ThreadableLoaderClient.h:
81893        (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
81894
818952011-02-19  Charlie Reis  <creis@chromium.org>
81896
81897        Reviewed by Mihai Parparita.
81898
81899        Ensure loading has stopped in HistoryController::goToItem
81900        https://bugs.webkit.org/show_bug.cgi?id=54517
81901
81902        Avoid stopping all loaders in goToItem for same document navigations
81903        or pseudo-back-forward URLs.  Make HistoryController::goToItem private
81904        to force callers to go through Page::goToItem.  Also add a callback to
81905        FrameLoaderClient to let clients decide whether to stop loading first.
81906
81907        Test: http/tests/navigation/forward-to-fragment-fires-onload.html
81908
81909        * loader/EmptyClients.h:
81910        * loader/FrameLoader.h:
81911        * loader/FrameLoaderClient.h:
81912        * loader/HistoryController.cpp:
81913        * loader/HistoryController.h:
81914        * page/Page.cpp:
81915
819162011-02-19  Adam Barth  <abarth@webkit.org>
81917
81918        Reviewed by Daniel Bates.
81919
81920        Fix xssAuditor/iframe-injection.html
81921        https://bugs.webkit.org/show_bug.cgi?id=54591
81922
81923        We should block the iframe src attribute.  Although this technically
81924        can't be used to run script, it's a pretty easy vector for stealing
81925        passwords.
81926
81927        * html/parser/XSSFilter.cpp:
81928        (WebCore::XSSFilter::filterTokenInitial):
81929        (WebCore::XSSFilter::filterIframeToken):
81930        * html/parser/XSSFilter.h:
81931
819322011-02-18  Tony Gentilcore  <tonyg@chromium.org>
81933
81934        Reviewed by Eric Seidel.
81935
81936        Let the parser yield for layout before running scripts
81937        https://bugs.webkit.org/show_bug.cgi?id=54355
81938
81939        Prior to this patch, the parser would yield to perform a layout/paint before running a
81940        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
81941        don't preload scan into the body while parsing the head, typically we'll block on a script
81942        early in the body that causes us to yield to do the first paint within a reasonable time.
81943
81944        However, I'm planning to change the PreloadScanner to scan into the body from the head.
81945        That significantly improves overall load time, but would hurt first paint time because
81946        fewer scripts would be blocked during parsing and thus wouldn't yield.
81947
81948        This change causes us to yield before running scripts if we haven't painted yet (regardless
81949        of whether or not the script is loaded). In addition to allowing the above mentioned
81950        PreloadScanner change to be implemented without regressing first paint time, this also
81951        improves first paint time by itself.
81952
81953        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
81954        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
81955        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
81956        signifcant change in page load time.
81957
81958        Within the pages tested, 33 had no statistically significant change in time to first paint,
81959        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
81960        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
81961
81962        * html/parser/HTMLDocumentParser.cpp:
81963        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
81964        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
81965        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
81966        the right thing whether we are just before a token or waiting for a script. Now that we may
81967        yield before a token or before a script, this may be called while paused.
81968        * html/parser/HTMLParserScheduler.cpp:
81969        (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
81970        to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
81971        no longer works. The fix is to change it to check minimumLayoutDelay() ==
81972        m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
81973        do this in a follow up.
81974        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
81975        * page/FrameView.h:
81976        (WebCore::FrameView::hasEverPainted): Added.
81977
819782011-02-18  Dawit Alemayehu  <adawit@kde.org>
81979
81980        Reviewed by Andreas Kling.
81981
81982        [Qt]  Button Element is rendered w/ text off-center.
81983        https://bugs.webkit.org/show_bug.cgi?id=53373
81984
81985        Test: LayoutTests/fast/forms/button-white-space.html 
81986
81987        * platform/qt/RenderThemeQt.cpp:
81988        (WebCore::RenderThemeQt::adjustButtonStyle):
81989
819902011-02-18  Jonathan Backer  <backer@chromium.org>
81991
81992        Reviewed by Eric Seidel.
81993
81994        [chromium] Fix leak of texture IDs in compositor.
81995        https://bugs.webkit.org/show_bug.cgi?id=54750
81996
81997        No new tests. It is extremely unlikely that this leak would have
81998        any user visible impact because only a few bytes of space are wasted
81999        (we're leaking texture IDs, not actual textures) and the space of
82000        texture IDs is large (32 bits).
82001
82002       * platform/graphics/chromium/TextureManager.cpp:
82003        (WebCore::TextureManager::requestTexture):
82004
820052011-02-18  Yi Shen  <yi.4.shen@nokia.com>
82006
82007        Reviewed by Tor Arne Vestbø.
82008
82009        Always display the media controls when requiresFullscreenForVideoPlayback() is true
82010        https://bugs.webkit.org/show_bug.cgi?id=54308
82011
82012        For video element, it should have controls when 
82013        Chrome::requiresFullscreenForVideoPlayback() is true.
82014
82015        * html/HTMLMediaElement.cpp:
82016        (WebCore::HTMLMediaElement::controls):
82017
820182011-02-18  Adrienne Walker  <enne@google.com>
82019
82020        Reviewed by Kenneth Russell.
82021
82022        [chromium] Use nearest-neighbor filtering for root layer.
82023        https://bugs.webkit.org/show_bug.cgi?id=54409
82024        https://bugs.webkit.org/show_bug.cgi?id=54509
82025
82026        This setting creates more consistent images for LayoutTests and
82027        prevents small floating point errors in texture coordinates from
82028        creating off-by-one pixel color differences.
82029
82030        * platform/graphics/chromium/LayerTilerChromium.cpp:
82031        (WebCore::LayerTilerChromium::update):
82032
820332011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
82034
82035        Reviewed by Kent Tamura.
82036
82037        [EFL] Fix coding style errors in RenderThemeEfl.h
82038        https://bugs.webkit.org/show_bug.cgi?id=54693
82039
82040        Fix style errors in RenderThemeEfl.h
82041
82042        * platform/efl/RenderThemeEfl.h:
82043
820442011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
82045
82046        Reviewed by Andreas Kling.
82047
82048        [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
82049        https://bugs.webkit.org/show_bug.cgi?id=54742
82050
82051        This change was applied in the Qt repository (qt/src/3rdparty/webkit),
82052        so we should do the same here in QtWebKit.
82053
82054        Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
82055        a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
82056
82057        The previously used name "Nokia, Qt" was not usable for Nokia
82058        Content Signing, which only allows "Nokia" as the visible vendor
82059        name. The unique vendor ID remains as "Nokia, Qt"
82060
82061        * WebCore.pro:
82062
820632011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
82064
82065        Reviewed by Andreas Kling.
82066
82067        [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
82068        menu bar due to flash.
82069        https://bugs.webkit.org/show_bug.cgi?id=54741
82070
82071        Only show plugins with a valid size. We then don't involve X11 if there is
82072        nothing to see anyway.
82073
82074        * plugins/qt/PluginViewQt.cpp:
82075        (WebCore::PluginView::updatePluginWidget):
82076        (WebCore::PluginView::platformStart):
82077
820782011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
82079
82080        Reviewed by Kent Tamura.
82081
82082        [EFL] Remove GDK dependency.
82083        https://bugs.webkit.org/show_bug.cgi?id=53978
82084
82085        Remove GLIB_SUPPORT macro in GDK related code.
82086        Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
82087
82088        * CMakeListsEfl.txt:
82089        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
82090        (WebCore::getDefaultFontOptions):
82091
820922011-02-18  Noel Gordon  <noel.gordon@gmail.com>
82093
82094        Reviewed by James Robinson.
82095
82096        [Chromium] Add elliptical gradient support to GradientSkia
82097        https://bugs.webkit.org/show_bug.cgi?id=51841
82098
82099        Covered by existing tests, these need new rebaselines once this patch
82100        lands for chrome linux, win32
82101
82102        fast/gradients/css3-color-stop-units.html
82103        fast/gradients/css3-color-stops.html
82104        fast/gradients/css3-linear-angle-gradients.html
82105        fast/gradients/css3-radial-gradients.html
82106        fast/gradients/css3-radial-gradients2.html
82107        fast/gradients/css3-radial-gradients3.html
82108        fast/gradients/css3-repeating-radial-gradients.html
82109
82110        * platform/graphics/skia/GradientSkia.cpp:
82111        (WebCore::Gradient::platformGradient):
82112
821132011-02-18  James Robinson  <jamesr@chromium.org>
82114
82115        Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
82116
82117        * platform/graphics/chromium/ContentLayerChromium.cpp:
82118        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
82119
821202011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
82121
82122        Reviewed by Kenneth Rohde Christiansen.
82123
82124        Tiled backing store area is too big.
82125        Error in area calculcation causes size of backing store
82126        up to 6 times bigger than viewport with default multipliers.
82127        https://bugs.webkit.org/show_bug.cgi?id=54587
82128
82129        * platform/graphics/TiledBackingStore.cpp:
82130        (WebCore::TiledBackingStore::createTiles):
82131
821322011-02-18  Beth Dakin  <bdakin@apple.com>
82133
82134        Reviewed by Sam Weinig.
82135
82136        Fix for <rdar://problem/9018729> Horizontal scroller doesn't 
82137        appear when loading a page with a Horizontal scrollbar from 
82138        the back/forward cache.
82139
82140        This patch adds a new  bool member variable to FrameView to 
82141        keep track of whether we are loading a page from the back/
82142        forward cache. If we are, don't suppress scrollbars on 
82143        first layout.
82144        * history/CachedFrame.cpp:
82145        (WebCore::CachedFrameBase::restore):
82146        * page/FrameView.cpp:
82147        (WebCore::FrameView::FrameView):
82148        (WebCore::FrameView::reset):
82149        (WebCore::FrameView::layout):
82150        * page/FrameView.h:
82151        (WebCore::FrameView::setIsRestoringFromBackForward):
82152        (WebCore::FrameView::isRestoringFromBackForward):
82153
821542011-02-18  Patrick Gansterer  <paroga@webkit.org>
82155
82156        Unreviewed WinCE build fix for r78846.
82157
82158        * platform/graphics/wince/FontWinCE.cpp:
82159        (WebCore::TextRunComponent::TextRunComponent):
82160        * platform/graphics/wince/GraphicsContextWinCE.cpp:
82161        (WebCore::GraphicsContext::drawLineForText):
82162        (WebCore::GraphicsContext::drawLineForTextChecking):
82163        (WebCore::GraphicsContext::drawText):
82164        * platform/wince/FileChooserWinCE.cpp:
82165        (WebCore::FileChooser::basenameForWidth):
82166
821672011-02-18  Emil A Eklund  <eae@chromium.org>
82168
82169        Reviewed by Darin Adler.
82170
82171        Crash in EventHandler::sendContextMenuEventForKey
82172        https://bugs.webkit.org/show_bug.cgi?id=54495
82173
82174        Test: fast/events/menu-keydown-on-hidden-element.html
82175
82176        * page/EventHandler.cpp:
82177        (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
82178
821792011-02-15  Adrienne Walker  <enne@google.com>
82180
82181        Reviewed by James Robinson.
82182
82183        [chromium] Clean up shader code from LayerChromium classes
82184        https://bugs.webkit.org/show_bug.cgi?id=54484
82185
82186        This is a refactoring and there should be no change in functionality.
82187        All shader code is pulled out into classes in ShaderChromium.
82188        The SharedValues classes are now turned into ProgramBinding, one per
82189        shader program.  These contain shader classes that know about what
82190        variables they can bind.
82191
82192        * WebCore.gypi:
82193        * platform/graphics/chromium/CanvasLayerChromium.cpp:
82194        (WebCore::CanvasLayerChromium::draw):
82195        * platform/graphics/chromium/CanvasLayerChromium.h:
82196        * platform/graphics/chromium/ContentLayerChromium.cpp:
82197        (WebCore::ContentLayerChromium::draw):
82198        * platform/graphics/chromium/ContentLayerChromium.h:
82199        * platform/graphics/chromium/GeometryBinding.cpp: Added.
82200        (WebCore::GeometryBinding::GeometryBinding):
82201        (WebCore::GeometryBinding::~GeometryBinding):
82202        (WebCore::GeometryBinding::prepareForDraw):
82203        * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
82204        (WebCore::GeometryBinding::initialized):
82205        (WebCore::GeometryBinding::context):
82206        (WebCore::GeometryBinding::quadVerticesVbo):
82207        (WebCore::GeometryBinding::quadElementsVbo):
82208        (WebCore::GeometryBinding::positionAttribLocation):
82209        (WebCore::GeometryBinding::texCoordAttribLocation):
82210        * platform/graphics/chromium/LayerChromium.cpp:
82211        (WebCore::LayerChromium::drawDebugBorder):
82212        * platform/graphics/chromium/LayerChromium.h:
82213        * platform/graphics/chromium/LayerRendererChromium.cpp:
82214        (WebCore::LayerRendererChromium::drawLayers):
82215        (WebCore::LayerRendererChromium::initializeSharedObjects):
82216        (WebCore::LayerRendererChromium::cleanupSharedObjects):
82217        * platform/graphics/chromium/LayerRendererChromium.h:
82218        (WebCore::LayerRendererChromium::sharedGeometry):
82219        (WebCore::LayerRendererChromium::borderProgram):
82220        (WebCore::LayerRendererChromium::contentLayerProgram):
82221        (WebCore::LayerRendererChromium::canvasLayerProgram):
82222        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
82223        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
82224        (WebCore::LayerRendererChromium::pluginLayerProgram):
82225        (WebCore::LayerRendererChromium::renderSurfaceProgram):
82226        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
82227        (WebCore::LayerRendererChromium::tilerProgram):
82228        * platform/graphics/chromium/LayerTilerChromium.cpp:
82229        (WebCore::LayerTilerChromium::draw):
82230        (WebCore::LayerTilerChromium::drawTexturedQuad):
82231        * platform/graphics/chromium/LayerTilerChromium.h:
82232        * platform/graphics/chromium/PluginLayerChromium.cpp:
82233        (WebCore::PluginLayerChromium::draw):
82234        * platform/graphics/chromium/PluginLayerChromium.h:
82235        * platform/graphics/chromium/ProgramBinding.cpp: Added.
82236        (WebCore::ProgramBindingBase::ProgramBindingBase):
82237        (WebCore::ProgramBindingBase::~ProgramBindingBase):
82238        (WebCore::ProgramBindingBase::init):
82239        (WebCore::ProgramBindingBase::loadShader):
82240        (WebCore::ProgramBindingBase::createShaderProgram):
82241        * platform/graphics/chromium/ProgramBinding.h: Added.
82242        (WebCore::ProgramBindingBase::program):
82243        (WebCore::ProgramBindingBase::initialized):
82244        (WebCore::ProgramBinding::ProgramBinding):
82245        (WebCore::ProgramBinding::vertexShader):
82246        (WebCore::ProgramBinding::fragmentShader):
82247        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
82248        (WebCore::RenderSurfaceChromium::drawSurface):
82249        * platform/graphics/chromium/RenderSurfaceChromium.h:
82250        * platform/graphics/chromium/ShaderChromium.cpp: Added.
82251        (WebCore::VertexShaderPosTex::VertexShaderPosTex):
82252        (WebCore::VertexShaderPosTex::init):
82253        (WebCore::VertexShaderPosTex::getShaderString):
82254        (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
82255        (WebCore::VertexShaderPosTexYUVStretch::init):
82256        (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
82257        (WebCore::VertexShaderPos::VertexShaderPos):
82258        (WebCore::VertexShaderPos::init):
82259        (WebCore::VertexShaderPos::getShaderString):
82260        (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
82261        (WebCore::VertexShaderPosTexTransform::init):
82262        (WebCore::VertexShaderPosTexTransform::getShaderString):
82263        (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
82264        (WebCore::FragmentTexAlphaBinding::init):
82265        (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
82266        (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
82267        (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
82268        (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
82269        (WebCore::FragmentShaderRGBATexAlphaMask::init):
82270        (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
82271        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
82272        (WebCore::FragmentShaderYUVVideo::init):
82273        (WebCore::FragmentShaderYUVVideo::getShaderString):
82274        (WebCore::FragmentShaderColor::FragmentShaderColor):
82275        (WebCore::FragmentShaderColor::init):
82276        (WebCore::FragmentShaderColor::getShaderString):
82277        * platform/graphics/chromium/ShaderChromium.h: Added.
82278        (WebCore::VertexShaderPosTex::matrixLocation):
82279        (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
82280        (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
82281        (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
82282        (WebCore::VertexShaderPos::matrixLocation):
82283        (WebCore::VertexShaderPosTexTransform::matrixLocation):
82284        (WebCore::VertexShaderPosTexTransform::texTransformLocation):
82285        (WebCore::FragmentTexAlphaBinding::alphaLocation):
82286        (WebCore::FragmentTexAlphaBinding::samplerLocation):
82287        (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
82288        (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
82289        (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
82290        (WebCore::FragmentShaderYUVVideo::yTextureLocation):
82291        (WebCore::FragmentShaderYUVVideo::uTextureLocation):
82292        (WebCore::FragmentShaderYUVVideo::vTextureLocation):
82293        (WebCore::FragmentShaderYUVVideo::alphaLocation):
82294        (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
82295        (WebCore::FragmentShaderYUVVideo::signAdjLocation):
82296        (WebCore::FragmentShaderColor::colorLocation):
82297        * platform/graphics/chromium/VideoLayerChromium.cpp:
82298        (WebCore::VideoLayerChromium::draw):
82299        (WebCore::VideoLayerChromium::drawYUV):
82300        (WebCore::VideoLayerChromium::drawRGBA):
82301        * platform/graphics/chromium/VideoLayerChromium.h:
82302
823032011-02-18  James Robinson  <jamesr@chromium.org>
82304
82305        Reviewed by Kenneth Russell.
82306
82307        [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
82308        https://bugs.webkit.org/show_bug.cgi?id=54315
82309
82310        This defers all operations on the compositor's GL context until the
82311        draw() call which is a prerequisite for moving the draw() off-thread.
82312        Also cleans up the update cycle a bit - there were some unused local
82313        variables and whatnot.
82314
82315        One consequence of this change is that the upload buffer is retained
82316        across updates now instead of allocated by each paint.  This is
82317        necessary so that the full layer contents can be uploaded if the
82318        texture manager evicts the layer's backing texture.  This costs more
82319        persistent memory but avoids lots of allocator churn on updates.
82320        Another nonobvious detail is that I have to update the texture for
82321        ContentLayerChromiums in bindContentsTexture() because mask layers
82322        never draw(), they are instead bound to the secondary texture unit.
82323
82324        * platform/graphics/chromium/ContentLayerChromium.cpp:
82325        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
82326        (WebCore::ContentLayerChromium::updateContentsIfDirty):
82327        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
82328        (WebCore::ContentLayerChromium::resizeUploadBuffer):
82329        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
82330        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
82331        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
82332        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
82333        (WebCore::ContentLayerChromium::draw):
82334        (WebCore::ContentLayerChromium::unreserveContentsTexture):
82335        (WebCore::ContentLayerChromium::bindContentsTexture):
82336        * platform/graphics/chromium/ContentLayerChromium.h:
82337        * platform/graphics/chromium/ImageLayerChromium.cpp:
82338        (WebCore::ImageLayerChromium::updateContentsIfDirty):
82339        * platform/graphics/chromium/LayerChromium.cpp:
82340        (WebCore::LayerChromium::setBounds):
82341        * platform/graphics/chromium/LayerChromium.h:
82342
823432011-02-18  Kenneth Russell  <kbr@google.com>
82344
82345        Unreviewed, Chromium build fix on certain Linux platforms.
82346
82347        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
82348
823492011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
82350
82351        Reviewed by Kenneth Rohde Christiansen.
82352
82353        [Qt] Implement client based geolocation for qtport
82354        https://bugs.webkit.org/show_bug.cgi?id=42629
82355
82356        Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
82357
82358        No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
82359
82360        * WebCore.pro:
82361        * features.pri:
82362        * platform/qt/GeolocationServiceQt.cpp: Removed.
82363        * platform/qt/GeolocationServiceQt.h: Removed.
82364
823652011-02-18  Yael Aharon  <yael.aharon@nokia.com>
82366
82367        Reviewed by Dave Hyatt.
82368
82369        Add support for dir=auto
82370        https://bugs.webkit.org/show_bug.cgi?id=50916
82371
82372        When an element has dir attribute with value "auto", call defaultWritingMode
82373        to find its directionality.
82374        Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
82375        and check this flag. This flag is set on every node between an element with
82376        dir=auto attribute and its first text node. Changes in the DOM between those
82377        elements will trigger re-evaluating the directionality, but changes not
82378        between those element do not need to be concerned.
82379        The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
82380        The directionality is evaluated when children are added, and cleared when they are
82381        removed. Directionality flag is also cleared on a child that is no longer determining
82382        the directionality due to a sibling being added before that child.
82383
82384        Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
82385        We cannot used the mapped declaration, because it can take only one value.
82386
82387        Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
82388               fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
82389               fast/dom/HTMLElement/attr-dir-auto-change-text.html
82390               fast/dom/HTMLElement/attr-dir-auto-children.html
82391               fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
82392               fast/dom/HTMLElement/attr-dir-auto.html
82393               fast/dom/HTMLElement/attr-dir-value-change.html
82394
82395        * css/CSSStyleSelector.cpp:
82396        (WebCore::leftToRightDeclaration):
82397        (WebCore::rightToLeftDeclaration):
82398        (WebCore::CSSStyleSelector::canShareStyleWithElement):
82399        (WebCore::CSSStyleSelector::styleForElement):
82400        * dom/Node.h:
82401        (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
82402        (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
82403        * html/HTMLElement.cpp:
82404        (WebCore::HTMLElement::mapToEntry):
82405        (WebCore::HTMLElement::parseMappedAttribute):
82406        (WebCore::setHasDirAutoFlagRecursively):
82407        (WebCore::HTMLElement::childrenChanged):
82408        (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
82409        (WebCore::HTMLElement::directionality):
82410        (WebCore::HTMLElement::dirAttributeChanged):
82411        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
82412        (WebCore::HTMLElement::calculateAndAdjustDirectionality):
82413        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
82414        * html/HTMLElement.h:
82415
824162011-02-18  Yael Aharon  <yael.aharon@nokia.com>
82417
82418        Reviewed by Antonio Gomes.
82419
82420        Navigating downwards / upwards does not focus on the links spread across more than one line.
82421        https://bugs.webkit.org/show_bug.cgi?id=54639
82422
82423        When 2 anchor elements span more than one line each, and one ends on the same line that the
82424        second starts on, the rects reported by their renderers are overlapping. When handling
82425        2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.   
82426
82427        Test: fast/spatial-navigation/snav-two-elements-one-line.html
82428
82429        * page/FocusController.cpp:
82430        (WebCore::updateFocusCandidateIfNeeded):
82431        (WebCore::FocusController::findFocusCandidateInContainer):
82432        * page/SpatialNavigation.cpp:
82433        (WebCore::areElementsOnSameLine):
82434        (WebCore::distanceDataForNode):
82435        * page/SpatialNavigation.h:
82436
824372011-02-18  Ben Vanik  <benvanik@google.com>
82438
82439        Reviewed by Kenneth Russell.
82440
82441        Bug 53940: Implement the OES_vertex_array_object WebGL extension
82442        https://bugs.webkit.org/show_bug.cgi?id=53940
82443
82444        Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
82445        extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
82446        the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
82447        it is available.
82448        Two big changes touching code outside of the extension files:
82449        * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
82450          GraphicsTypes.h). They are not namespaced as they weren't before.
82451        * To make the code cleaner/clearer all vertex attribute state has been moved to the
82452          WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
82453          on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
82454          states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
82455          vertex attributes now defers to or stores values in the bound array object.
82456
82457        Tested against the WebGL conformance suite and the new
82458        oes-vertex-array-object test:
82459        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
82460
82461        * CMakeLists.txt:
82462        * CodeGenerators.pri:
82463        * DerivedSources.make:
82464        * GNUmakefile.am:
82465        * WebCore.gyp: Modified property svn:ignore.
82466        * WebCore.gypi:
82467        * WebCore.pro:
82468        * WebCore.xcodeproj/project.pbxproj:
82469        * bindings/js/JSWebGLRenderingContextCustom.cpp:
82470        (WebCore::toJS):
82471        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
82472        (WebCore::toV8Object):
82473        * html/canvas/OESVertexArrayObject.cpp: Added.
82474        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
82475        (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
82476        (WebCore::OESVertexArrayObject::getName):
82477        (WebCore::OESVertexArrayObject::create):
82478        (WebCore::OESVertexArrayObject::createVertexArrayOES):
82479        (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
82480        (WebCore::OESVertexArrayObject::isVertexArrayOES):
82481        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
82482        * html/canvas/OESVertexArrayObject.h: Added.
82483        * html/canvas/OESVertexArrayObject.idl: Added.
82484        * html/canvas/WebGLExtension.h:
82485        * html/canvas/WebGLGetInfo.cpp:
82486        (WebCore::WebGLGetInfo::WebGLGetInfo):
82487        (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
82488        * html/canvas/WebGLGetInfo.h:
82489        * html/canvas/WebGLRenderingContext.cpp:
82490        (WebCore::WebGLRenderingContext::initializeNewContext):
82491        (WebCore::WebGLRenderingContext::bindBuffer):
82492        (WebCore::WebGLRenderingContext::deleteBuffer):
82493        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
82494        (WebCore::WebGLRenderingContext::validateElementArraySize):
82495        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
82496        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
82497        (WebCore::WebGLRenderingContext::validateRenderingState):
82498        (WebCore::WebGLRenderingContext::drawElements):
82499        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
82500        (WebCore::WebGLRenderingContext::getExtension):
82501        (WebCore::WebGLRenderingContext::getParameter):
82502        (WebCore::WebGLRenderingContext::getSupportedExtensions):
82503        (WebCore::WebGLRenderingContext::getVertexAttrib):
82504        (WebCore::WebGLRenderingContext::vertexAttribPointer):
82505        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
82506        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
82507        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
82508        (WebCore::WebGLRenderingContext::initVertexAttrib0):
82509        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
82510        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
82511        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
82512        (WebCore::WebGLRenderingContext::getExtensionNumber):
82513        * html/canvas/WebGLRenderingContext.h:
82514        (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
82515        (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
82516        (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
82517        * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
82518        (WebCore::WebGLVertexArrayObjectOES::create):
82519        (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
82520        (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
82521        * html/canvas/WebGLVertexArrayObjectOES.h: Added.
82522        (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
82523        (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
82524        (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
82525        (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
82526        (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
82527        (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
82528        (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
82529        (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
82530        (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
82531        * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
82532        * platform/graphics/Extensions3D.h:
82533        * platform/graphics/GraphicsContext3D.h:
82534        * platform/graphics/GraphicsTypes3D.h: Added.
82535        * platform/graphics/chromium/Extensions3DChromium.h:
82536        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
82537        (WebCore::Extensions3DOpenGL::supports):
82538        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
82539        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
82540        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
82541        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
82542        * platform/graphics/opengl/Extensions3DOpenGL.h:
82543        * platform/graphics/qt/Extensions3DQt.cpp:
82544        (WebCore::Extensions3DQt::createVertexArrayOES):
82545        (WebCore::Extensions3DQt::deleteVertexArrayOES):
82546        (WebCore::Extensions3DQt::isVertexArrayOES):
82547        (WebCore::Extensions3DQt::bindVertexArrayOES):
82548        * platform/graphics/qt/Extensions3DQt.h:
82549
825502011-02-17  Alexander Pavlov  <apavlov@chromium.org>
82551
82552        Reviewed by Pavel Feldman.
82553
82554        Web Inspector: reflect changes to styles when they happen outside inspector.
82555        https://bugs.webkit.org/show_bug.cgi?id=44620
82556
82557        Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
82558        whenever the style change does not come from a direct "style" attribute modification.
82559        The performance regression occurs only with the Web Inspector opened, when inline styles
82560        are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
82561        an attribute change requires that all attributes for the node in question be pushed into the frontend.
82562
82563        Test: inspector/styles/styles-update-from-js.html
82564
82565        * css/CSSMutableStyleDeclaration.cpp:
82566        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
82567        * inspector/InspectorDOMAgent.cpp:
82568        (WebCore::RevalidateStyleAttributeTask::reset):
82569        (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
82570        (WebCore::RevalidateStyleAttributeTask::scheduleFor):
82571        (WebCore::RevalidateStyleAttributeTask::onTimer):
82572        (WebCore::InspectorDOMAgent::reset):
82573        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
82574        * inspector/InspectorDOMAgent.h:
82575        * inspector/InspectorInstrumentation.cpp:
82576        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
82577        * inspector/InspectorInstrumentation.h:
82578        (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
82579        * inspector/InspectorStyleSheet.cpp:
82580        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
82581        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
82582        (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
82583        * inspector/InspectorStyleSheet.h:
82584        * inspector/front-end/ElementsPanel.js:
82585        (WebInspector.ElementsPanel.prototype._attributesUpdated):
82586        * inspector/front-end/StylesSidebarPane.js:
82587        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
82588        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
82589        (WebInspector.StylePropertiesSection.prototype.onpopulate):
82590        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
82591        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
82592        (WebInspector.BlankStylePropertiesSection):
82593        (WebInspector.StylePropertyTreeElement):
82594        (WebInspector.StylePropertyTreeElement.prototype):
82595        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
82596
825972011-02-16  Tony Gentilcore  <tonyg@chromium.org>
82598
82599        Reviewed by Eric Seidel.
82600
82601        Refactor pumpTokenizer loop
82602        https://bugs.webkit.org/show_bug.cgi?id=54574
82603
82604        1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
82605           the next token, although ASSERTs still enforce that we aren't waiting for a script. This
82606           enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
82607           yield before running a script rather than before taking a token (see bug 54355).
82608        2. This also picks up the refCount >= 1 assert when stopped.
82609
82610        Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
82611        Before:
82612          avg 985.05
82613          median 985.5
82614          stdev 3.007906248539007
82615          min 980
82616          max 990
82617        After:
82618          avg 980.05
82619          median 981
82620          stdev 3.122098653149833
82621          min 974
82622          max 985
82623
82624        No new tests because no new functionality.
82625
82626        * html/parser/HTMLDocumentParser.cpp:
82627        (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
82628        (WebCore::HTMLDocumentParser::pumpTokenizer):
82629        * html/parser/HTMLDocumentParser.h:
82630
826312011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
82632
82633        Unreviewed, rolling out r79003.
82634        http://trac.webkit.org/changeset/79003
82635        https://bugs.webkit.org/show_bug.cgi?id=54753
82636
82637        It broke tests on GTK bots (Requested by Ossy on #webkit).
82638
82639        * accessibility/AccessibilityRenderObject.cpp:
82640        (WebCore::lastChildConsideringContinuation):
82641        * dom/Node.cpp:
82642        (WebCore::Node::removeEventListener):
82643        * html/DateComponents.cpp:
82644        (WebCore::DateComponents::parseTime):
82645
826462011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
82647
82648        Rubber-stamped by Andreas Kling.
82649
82650        Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
82651
82652        * accessibility/AccessibilityRenderObject.cpp:
82653        (WebCore::lastChildConsideringContinuation):
82654        * dom/Node.cpp:
82655        (WebCore::Node::removeEventListener):
82656        * html/DateComponents.cpp:
82657        (WebCore::DateComponents::parseTime):
82658
826592011-02-18  Andrey Adaikin  <aandrey@google.com>
82660
82661        Reviewed by Pavel Feldman.
82662
82663        Web Inspector: [Text editor] Optimize editing updates in main panel
82664        https://bugs.webkit.org/show_bug.cgi?id=54661
82665
82666        * inspector/front-end/TextViewer.js:
82667        (WebInspector.TextViewer):
82668        (WebInspector.TextViewer.prototype._textChanged):
82669        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
82670        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
82671        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
82672        (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
82673        (WebInspector.TextEditorChunkedPanel.prototype._scroll):
82674        (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
82675        (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
82676        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
82677        (WebInspector.TextEditorGutterChunk):
82678        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
82679        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
82680        (WebInspector.TextEditorMainPanel):
82681        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
82682        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
82683        (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
82684        (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
82685        (WebInspector.TextEditorMainPanel.prototype._paintLines):
82686        (WebInspector.TextEditorMainPanel.prototype._paintLine):
82687        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
82688        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
82689        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
82690        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
82691        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
82692        (WebInspector.TextEditorMainChunk):
82693        (WebInspector.TextEditorMainChunk.prototype.get startLine):
82694        (WebInspector.TextEditorMainChunk.prototype.set startLine):
82695        (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
82696        (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
82697
826982011-02-18  Steve Block  <steveblock@google.com>
82699
82700        Reviewed by Andreas Kling
82701
82702        Memory allocation error in convertV8ObjectToNPVariant() for strings
82703        https://bugs.webkit.org/show_bug.cgi?id=54737
82704
82705        Include the termination character in the length when allocating memory
82706        and copying the string. This fixes a crashing bug on Android.
82707
82708        This should be tested by the java/ tests on Chromium, but these
82709        tests are currently skipped.
82710
82711        * bindings/v8/V8NPUtils.cpp:
82712        (WebCore::convertV8ObjectToNPVariant):
82713
827142011-02-18  Philippe Normand  <pnormand@igalia.com>
82715
82716        Unreviewed, rolling out r78979.
82717        http://trac.webkit.org/changeset/78979
82718        https://bugs.webkit.org/show_bug.cgi?id=53146
82719
82720        causes multiple crashes on GTK
82721
82722        * accessibility/gtk/AXObjectCacheAtk.cpp:
82723        (WebCore::notifyChildrenSelectionChange):
82724        (WebCore::AXObjectCache::postPlatformNotification):
82725
827262011-02-18  Philippe Normand  <pnormand@igalia.com>
82727
82728        Reviewed by Martin Robinson.
82729
82730        [GTK] minimal build unrecognized options
82731        https://bugs.webkit.org/show_bug.cgi?id=50890
82732
82733        * GNUmakefile.am: new feature defines for optional features build.
82734
827352011-02-17  Hans Wennborg  <hans@chromium.org>
82736
82737        Reviewed by Jeremy Orlow.
82738
82739        IndexedDB: Populate indexes created for object stores with data
82740        https://bugs.webkit.org/show_bug.cgi?id=54669
82741
82742        Make sure that indices for object stores that already hold data get
82743        populated.
82744
82745        * storage/IDBIndexBackendImpl.h:
82746        (WebCore::IDBIndexBackendImpl::hasValidId):
82747        * storage/IDBObjectStoreBackendImpl.cpp:
82748        (WebCore::IDBObjectStoreBackendImpl::putInternal):
82749        (WebCore::populateIndex):
82750        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
82751
827522011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
82753
82754        Reviewed by Martin Robinson.
82755
82756        [GTK] Combo boxes should emit object:selection-changed even when collapsed
82757        https://bugs.webkit.org/show_bug.cgi?id=53146
82758
82759        Emit the selection-changed signals when the menu list value has changed
82760
82761        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
82762
82763        * accessibility/gtk/AXObjectCacheAtk.cpp:
82764        (WebCore::getListObject): New, return the right list object for
82765        menu lists and list boxes.
82766        (WebCore::notifyChildrenSelectionChange): Support menu lists.
82767        (WebCore::AXObjectCache::postPlatformNotification): Call function
82768        notifyChildrenSelectionChange for AXMenuListValueChanged.
82769
827702011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
82771
82772        Reviewed by Martin Robinson.
82773
82774        [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
82775        https://bugs.webkit.org/show_bug.cgi?id=53453
82776
82777        Ensure that atk_text_{get|set}_selection() work with list items.
82778
82779        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
82780        (webkit_accessible_text_get_text): Properly handle list item
82781        markers when returning the text for an object for a given interval
82782        specified through the startOffset and endOffset parameters.
82783        (getSelectionOffsetsForObject): Bear in mind list item markers
82784        when returning the offsets for a selection over a list item.
82785        (webkit_accessible_text_set_selection): Adjust offsets if needed
82786        for list items with item markers. Ensure that it returns TRUE only
82787        when everything went fine setting the text selection.
82788
827892011-02-18  Antti Koivisto  <antti@apple.com>
82790
82791        Reviewed by Maciej Stachowiak.
82792
82793        https://bugs.webkit.org/show_bug.cgi?id=54728
82794        checkSelector*Value functions used in fastCheckSelector fail to inline
82795        
82796        Wrap the functions used as template arguments to classes.
82797
82798        * css/CSSStyleSelector.cpp:
82799        (WebCore::fastCheckSingleSelector):
82800        (WebCore::ClassCheck::checkValue):
82801        (WebCore::IdCheck::checkValue):
82802        (WebCore::TagCheck::checkValue):
82803        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
82804
828052011-02-17  Simon Fraser  <simon.fraser@apple.com>
82806
82807        Reviewed by Sam Weinig.
82808
82809        Composited iframe content is missing from snapshots in WebKit2
82810        https://bugs.webkit.org/show_bug.cgi?id=54696
82811
82812        We need to propagate the 'flattening' paint behavior flag
82813        down to subviews while painting. WebKit1 does this via
82814        code in WebFrameView, but this is a more general fix
82815        that works in WebKit2 as well.
82816        
82817        Made a utility method, parentFrameView(), which I changed
82818        some other methods to use as well.
82819        
82820        * page/FrameView.cpp:
82821        (WebCore::FrameView::isEnclosedInCompositingLayer):
82822        (WebCore::FrameView::useSlowRepaints):
82823        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
82824        (WebCore::FrameView::isOverlappedIncludingAncestors):
82825        (WebCore::FrameView::parentFrameView):
82826        (WebCore::FrameView::paintContents):
82827        * page/FrameView.h:
82828
828292011-02-17  Dan Bernstein  <mitz@apple.com>
82830
82831        Reviewed by Simon Fraser.
82832
82833        <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
82834
82835        * html/HTMLBodyElement.cpp:
82836        (WebCore::adjustForZoom): Account for page scale.
82837        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
82838        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
82839        * page/FrameView.cpp:
82840        (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
82841        account for page scale: when the page is scaled, the “viewport” with respect to which fixed
82842        objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
82843        the frame view), we move it around in proportion to the document scroll, so that when the document
82844        is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
82845        (WebCore::FrameView::scrollYForFixedPosition): Ditto.
82846        (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
82847        * page/FrameView.h:
82848        * platform/ScrollView.cpp: Moved functions to FrameView.
82849        * platform/ScrollView.h:
82850        * rendering/RenderLayer.cpp:
82851        (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
82852        (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
82853        (WebCore::RenderLayer::backgroundClipRect): Ditto.
82854
828552011-02-17  Kenneth Russell  <kbr@google.com>
82856
82857        Reviewed by James Robinson.
82858
82859        Add support for GPU accelerated path rendering
82860        https://bugs.webkit.org/show_bug.cgi?id=44729
82861
82862        Incorporates the Loop and Blinn path rendering algorithm as an
82863        option to the GPU-accelerated canvas code, currently only compiled
82864        in to the Chromium port. Currently it's toggled by changing a
82865        hardcoded constant in
82866        SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
82867        disabled by default. This mechanism can be improved once we've
82868        gained more confidence in the implementation. There are some known
82869        bugs that need to be fixed first.
82870
82871        No new tests; ran some 2D Canvas tests manually with the new flag
82872        both enabled and disabled.
82873
82874        * WebCore.gypi:
82875        * platform/graphics/chromium/GLES2Canvas.cpp:
82876        (WebCore::GLES2Canvas::GLES2Canvas):
82877        (WebCore::GLES2Canvas::fillPath):
82878        * platform/graphics/chromium/GLES2Canvas.h:
82879        * platform/graphics/gpu/LoopBlinnClassifier.h:
82880        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
82881        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
82882        (WebCore::SharedGraphicsContext3D::create):
82883        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
82884        (WebCore::SharedGraphicsContext3D::createBuffer):
82885        (WebCore::SharedGraphicsContext3D::bindBuffer):
82886        (WebCore::SharedGraphicsContext3D::bufferData):
82887        (WebCore::SharedGraphicsContext3D::bufferSubData):
82888        (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
82889        (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
82890        (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
82891        * platform/graphics/gpu/SharedGraphicsContext3D.h:
82892        * platform/graphics/skia/GraphicsContextSkia.cpp:
82893        (WebCore::GraphicsContext::fillPath):
82894
828952011-02-16  Stephen White  <senorblanco@chromium.org>
82896
82897        Reviewed by James Robinson.
82898
82899        Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
82900        accelerated 2D canvas w/compositor enabled.
82901        https://bugs.webkit.org/show_bug.cgi?id=54561
82902
82903        When resetting the CanvasRenderingContext2D, we also need to send a
82904        contentChanged() to the relevant RenderLayer.  This is similar to what
82905        is done in didDraw().
82906
82907        Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note 
82908        that this test will still fail pixel tests because the compositor
82909        is not compatible with repaint tests (the green square is now white,
82910        but the half-transparent grey repaint rect does not appear).
82911
82912        * html/canvas/CanvasRenderingContext2D.cpp:
82913        (WebCore::CanvasRenderingContext2D::reset):
82914
829152011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
82916
82917        Reviewed by Kenneth Russell.
82918
82919        Null out the WEBKIT_lose_context WebGL extension's context pointer when
82920        the WebGL rendering context is removed.
82921        https://bugs.webkit.org/show_bug.cgi?id=54679
82922
82923        Test: fast/canvas/webgl/context-destroyed-crash.html
82924
82925        * html/canvas/WebGLRenderingContext.cpp:
82926        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
82927        * html/canvas/WebKitLoseContext.cpp:
82928        (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
82929        * html/canvas/WebKitLoseContext.h:
82930        (WebCore::WebKitLoseContext::contextDestroyed):
82931
829322011-02-17  Kenneth Russell  <kbr@google.com>
82933
82934        Reviewed by Chris Marrin.
82935
82936        Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
82937        https://bugs.webkit.org/show_bug.cgi?id=52768
82938
82939        Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
82940        code which casts from incoming double to the destination type.
82941        Changed the JSC bindings to use this code, rather than a copy of
82942        the casting code and a different constructor, in order to reuse
82943        the fix.
82944
82945        * bindings/js/JSArrayBufferViewHelper.h:
82946        (WebCore::constructArrayBufferView):
82947        * html/canvas/Int32Array.h:
82948        (WebCore::Int32Array::set):
82949        * html/canvas/Int8Array.h:
82950        (WebCore::Int8Array::set):
82951        * html/canvas/IntegralTypedArrayBase.h:
82952        (WebCore::IntegralTypedArrayBase::set):
82953        * html/canvas/Uint16Array.h:
82954        (WebCore::Uint16Array::set):
82955        * html/canvas/Uint32Array.h:
82956        (WebCore::Uint32Array::set):
82957        * html/canvas/Uint8Array.h:
82958        (WebCore::Uint8Array::set):
82959
829602011-02-17  Sam Weinig  <sam@webkit.org>
82961
82962        Reviewed by Dan Bernstein.
82963
82964        Knob proportion not quite right during rubber-band.
82965        <rdar://problem/9015201>
82966
82967        Change knob proportion algorithm to treat overhang as making the view smaller,
82968        rather than document bigger.
82969
82970        * platform/mac/ScrollbarThemeMac.mm:
82971        (WebCore::ScrollbarThemeMac::paint):
82972
829732011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
82974
82975        Reviewed by Andreas Kling.
82976
82977        Summary: HTML5 <details> and <summary>: HTMLSummaryElement
82978        https://bugs.webkit.org/show_bug.cgi?id=54584
82979
82980        Adding class HTMLSummaryElement to build systems. This class will be used in
82981        the implementation of new HTML5 tag <summary>.
82982
82983        * CMakeLists.txt:
82984        * GNUmakefile.am:
82985        * WebCore.gypi:
82986        * WebCore.pro:
82987        * WebCore.vcproj/WebCore.vcproj:
82988        * WebCore.xcodeproj/project.pbxproj:
82989        * html/HTMLElementsAllInOne.cpp:
82990        * html/HTMLSummaryElement.cpp: Added.
82991        (WebCore::HTMLSummaryElement::create):
82992        (WebCore::HTMLSummaryElement::HTMLSummaryElement):
82993        * html/HTMLSummaryElement.h: Added.
82994        * html/HTMLTagNames.in:
82995
829962011-02-17  Jeremy Orlow  <jorlow@chromium.org>
82997
82998        Reviewed by Nate Chapin.
82999
83000        Throwing in an IndexedDB error or success event should lead to the transaction aborting
83001        https://bugs.webkit.org/show_bug.cgi?id=54249
83002
83003        When an exception is thrown but not handled  within an IDBRequests success/error event,
83004        we should abort the transaction.
83005
83006        Test: storage/indexeddb/exception-in-event-aborts.html
83007
83008        * bindings/js/JSEventListener.cpp:
83009        (WebCore::JSEventListener::handleEvent):
83010        * bindings/js/JSEventTarget.cpp:
83011        (WebCore::toJS):
83012        * bindings/v8/V8AbstractEventListener.cpp:
83013        (WebCore::V8AbstractEventListener::invokeEventHandler):
83014        * dom/EventTarget.cpp:
83015        (WebCore::EventTarget::uncaughtExceptionInEventHandler):
83016        * dom/EventTarget.h:
83017        * storage/IDBRequest.cpp:
83018        (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
83019        * storage/IDBRequest.h:
83020
830212011-02-17  Sam Weinig  <sam@webkit.org>
83022
83023        Reviewed by Maciej Stachowiak.
83024
83025        WebKit2: Support Dictionary popup
83026        <rdar://problem/7660670>
83027
83028        Add some necessary exports.
83029
83030        * WebCore.exp.in:
83031
830322011-02-17  W. James MacLean  <wjmaclean@chromium.org>
83033
83034        Reviewed by James Robinson.
83035
83036        [chromium] Add command-line flag to enable composite to offscreen texture.
83037        https://bugs.webkit.org/show_bug.cgi?id=52311
83038
83039        Add plumbing to allow command-line switch to enable offscreen compositing. Function
83040        LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
83041        normal renderer operation.
83042
83043        Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
83044
83045        * platform/graphics/chromium/LayerRendererChromium.cpp:
83046        (WebCore::LayerRendererChromium::setRootLayer):
83047        (WebCore::LayerRendererChromium::setCompositeOffscreen):
83048        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
83049        (WebCore::LayerRendererChromium::useRenderSurface):
83050        (WebCore::LayerRendererChromium::setScissorToRect):
83051        * platform/graphics/chromium/LayerRendererChromium.h:
83052        (WebCore::LayerRendererChromium::isCompositingOffscreen):
83053
830542011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
83055
83056        [wx] Build fixes after recent changes.
83057
83058        * dom/ScriptedAnimationController.h:
83059        * platform/graphics/wx/FontWx.cpp:
83060        (WebCore::Font::drawComplexText):
83061        * platform/graphics/wx/GraphicsContextWx.cpp:
83062        (WebCore::GraphicsContext::drawLineForText):
83063        (WebCore::GraphicsContext::drawLineForTextChecking):
83064        * platform/wx/WidgetWx.cpp:
83065        (WebCore::Widget::setFrameRect):
83066
830672011-02-16  Brian Weinstein  <bweinstein@apple.com>
83068
83069        Reviewed by Brady Eidson.
83070
83071        WebKit2: Need a way to manage the WebCore Cache
83072        https://bugs.webkit.org/show_bug.cgi?id=54501
83073        
83074        Add a way to get a set of all of the origins that have entries in the
83075        WebCore memory cache, and a method to remove all resources from the memory
83076        cache from a given security origin.
83077
83078        No change in behavior.
83079
83080        * WebCore.exp.in: Add functions that need to be exported.
83081        * loader/cache/MemoryCache.cpp:
83082        (WebCore::MemoryCache::removeResourcesWithOrigin):
83083        (WebCore::MemoryCache::getOriginsWithCache):
83084        * loader/cache/MemoryCache.h:
83085
830862011-02-16  David Hyatt  <hyatt@apple.com>
83087
83088        Reviewed by Dan Bernstein.
83089
83090        https://bugs.webkit.org/show_bug.cgi?id=54244
83091        
83092        Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
83093        hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
83094        
83095        The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
83096        been changed as well.
83097        
83098        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).
83099        
83100        Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
83101        
83102        Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
83103        still have a precise floating point position.
83104
83105        Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
83106        be rounding justification spacing in their font code.
83107
83108        Many layout test results change on Mac, since rounding hacks were used there and are now gone.
83109
83110        * WebCore.exp.in:
83111        * html/canvas/CanvasRenderingContext2D.cpp:
83112        (WebCore::CanvasRenderingContext2D::drawTextInternal):
83113        * platform/chromium/FileChooserChromium.cpp:
83114        (WebCore::FileChooser::basenameForWidth):
83115        * platform/graphics/Font.cpp:
83116        (WebCore::Font::width):
83117        * platform/graphics/Font.h:
83118        (WebCore::Font::spaceWidth):
83119        (WebCore::Font::tabWidth):
83120        * platform/graphics/FontFastPath.cpp:
83121        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
83122        * platform/graphics/GraphicsContext.cpp:
83123        (WebCore::GraphicsContext::drawText):
83124        (WebCore::GraphicsContext::drawEmphasisMarks):
83125        (WebCore::GraphicsContext::drawBidiText):
83126        (WebCore::GraphicsContext::drawHighlightForText):
83127        * platform/graphics/GraphicsContext.h:
83128        * platform/graphics/SimpleFontData.cpp:
83129        (WebCore::SimpleFontData::SimpleFontData):
83130        (WebCore::SimpleFontData::platformGlyphInit):
83131        * platform/graphics/SimpleFontData.h:
83132        (WebCore::SimpleFontData::spaceWidth):
83133        * platform/graphics/StringTruncator.cpp:
83134        (WebCore::stringWidth):
83135        (WebCore::truncateString):
83136        (WebCore::StringTruncator::centerTruncate):
83137        (WebCore::StringTruncator::rightTruncate):
83138        (WebCore::StringTruncator::width):
83139        * platform/graphics/StringTruncator.h:
83140        * platform/graphics/TextRun.h:
83141        (WebCore::TextRun::TextRun):
83142        (WebCore::TextRun::xPos):
83143        (WebCore::TextRun::expansion):
83144        (WebCore::TextRun::directionalOverride):
83145        (WebCore::TextRun::disableSpacing):
83146        * platform/graphics/WidthIterator.cpp:
83147        (WebCore::WidthIterator::WidthIterator):
83148        (WebCore::WidthIterator::advance):
83149        * platform/graphics/WidthIterator.h:
83150        * platform/graphics/cairo/GraphicsContextCairo.cpp:
83151        (WebCore::GraphicsContext::drawLineForText):
83152        (WebCore::GraphicsContext::drawLineForTextChecking):
83153        * platform/graphics/cg/GraphicsContextCG.cpp:
83154        (WebCore::GraphicsContext::drawLineForText):
83155        * platform/graphics/mac/ComplexTextController.cpp:
83156        (WebCore::ComplexTextController::ComplexTextController):
83157        (WebCore::ComplexTextController::advance):
83158        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
83159        * platform/graphics/mac/ComplexTextController.h:
83160        * platform/graphics/mac/FontComplexTextMac.cpp:
83161        (WebCore::Font::getGlyphsAndAdvancesForComplexText):
83162        * platform/graphics/mac/GraphicsContextMac.mm:
83163        (WebCore::GraphicsContext::drawLineForTextChecking):
83164        * platform/graphics/qt/GraphicsContextQt.cpp:
83165        (WebCore::GraphicsContext::drawLineForText):
83166        (WebCore::GraphicsContext::drawLineForTextChecking):
83167        * platform/graphics/qt/SimpleFontDataQt.cpp:
83168        (WebCore::SimpleFontData::platformGlyphInit):
83169        * platform/graphics/skia/GraphicsContextSkia.cpp:
83170        (WebCore::GraphicsContext::drawLineForTextChecking):
83171        (WebCore::GraphicsContext::drawLineForText):
83172        * platform/graphics/win/GraphicsContextCGWin.cpp:
83173        (WebCore::GraphicsContext::drawLineForTextChecking):
83174        * platform/graphics/win/UniscribeController.cpp:
83175        (WebCore::UniscribeController::shapeAndPlaceItem):
83176        * platform/gtk/FileChooserGtk.cpp:
83177        (WebCore::FileChooser::basenameForWidth):
83178        * platform/mac/DragImageMac.mm:
83179        (WebCore::widthWithFont):
83180        (WebCore::drawAtPoint):
83181        * platform/mac/FileChooserMac.mm:
83182        (WebCore::FileChooser::basenameForWidth):
83183        * platform/win/DragImageWin.cpp:
83184        (WebCore::createDragImageForLink):
83185        * platform/win/FileChooserWin.cpp:
83186        (WebCore::FileChooser::basenameForWidth):
83187        * platform/win/PopupMenuWin.cpp:
83188        (WebCore::PopupMenuWin::calculatePositionAndSize):
83189        * platform/win/WebCoreTextRenderer.cpp:
83190        (WebCore::WebCoreTextFloatWidth):
83191        * rendering/HitTestResult.cpp:
83192        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
83193        * rendering/HitTestResult.h:
83194        * rendering/InlineBox.cpp:
83195        (WebCore::InlineBox::adjustPosition):
83196        (WebCore::InlineBox::placeEllipsisBox):
83197        (WebCore::InlineBox::locationIncludingFlipping):
83198        (WebCore::InlineBox::flipForWritingMode):
83199        * rendering/InlineBox.h:
83200        (WebCore::InlineBox::InlineBox):
83201        (WebCore::InlineBox::adjustLineDirectionPosition):
83202        (WebCore::InlineBox::adjustBlockDirectionPosition):
83203        (WebCore::InlineBox::setX):
83204        (WebCore::InlineBox::x):
83205        (WebCore::InlineBox::setY):
83206        (WebCore::InlineBox::y):
83207        (WebCore::InlineBox::width):
83208        (WebCore::InlineBox::height):
83209        (WebCore::InlineBox::logicalLeft):
83210        (WebCore::InlineBox::logicalRight):
83211        (WebCore::InlineBox::setLogicalLeft):
83212        (WebCore::InlineBox::pixelSnappedLogicalLeft):
83213        (WebCore::InlineBox::pixelSnappedLogicalRight):
83214        (WebCore::InlineBox::setLogicalWidth):
83215        (WebCore::InlineBox::logicalWidth):
83216        (WebCore::InlineBox::verticalAlign):
83217        * rendering/InlineFlowBox.cpp:
83218        (WebCore::InlineFlowBox::roundedFrameRect):
83219        (WebCore::InlineFlowBox::adjustPosition):
83220        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
83221        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
83222        (WebCore::verticalPositionForBox):
83223        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
83224        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
83225        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
83226        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
83227        (WebCore::InlineFlowBox::computeOverflow):
83228        (WebCore::InlineFlowBox::setLayoutOverflow):
83229        (WebCore::InlineFlowBox::setVisualOverflow):
83230        (WebCore::InlineFlowBox::nodeAtPoint):
83231        (WebCore::InlineFlowBox::paintBoxDecorations):
83232        (WebCore::InlineFlowBox::paintMask):
83233        (WebCore::InlineFlowBox::placeEllipsisBox):
83234        * rendering/InlineFlowBox.h:
83235        (WebCore::InlineFlowBox::maxYLayoutOverflow):
83236        (WebCore::InlineFlowBox::maxXLayoutOverflow):
83237        (WebCore::InlineFlowBox::layoutOverflowRect):
83238        (WebCore::InlineFlowBox::maxYVisualOverflow):
83239        (WebCore::InlineFlowBox::maxXVisualOverflow):
83240        (WebCore::InlineFlowBox::visualOverflowRect):
83241        * rendering/InlineTextBox.cpp:
83242        (WebCore::InlineTextBox::placeEllipsisBox):
83243        (WebCore::InlineTextBox::nodeAtPoint):
83244        (WebCore::paintTextWithShadows):
83245        (WebCore::InlineTextBox::paint):
83246        (WebCore::InlineTextBox::paintSelection):
83247        (WebCore::InlineTextBox::paintCompositionBackground):
83248        (WebCore::InlineTextBox::paintDecoration):
83249        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
83250        (WebCore::InlineTextBox::paintTextMatchMarker):
83251        (WebCore::InlineTextBox::paintDocumentMarkers):
83252        (WebCore::InlineTextBox::paintCompositionUnderline):
83253        (WebCore::InlineTextBox::textPos):
83254        (WebCore::InlineTextBox::offsetForPosition):
83255        (WebCore::InlineTextBox::positionForOffset):
83256        * rendering/InlineTextBox.h:
83257        (WebCore::InlineTextBox::setExpansion):
83258        * rendering/RenderBR.h:
83259        (WebCore::RenderBR::width):
83260        * rendering/RenderBlock.cpp:
83261        (WebCore::stripTrailingSpace):
83262        (WebCore::updatePreferredWidth):
83263        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
83264        (WebCore::RenderBlock::adjustForBorderFit):
83265        (WebCore::RenderBlock::addFocusRingRects):
83266        * rendering/RenderBlock.h:
83267        * rendering/RenderBlockLineLayout.cpp:
83268        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
83269        (WebCore::RenderBlock::fitBelowFloats):
83270        (WebCore::textWidth):
83271        (WebCore::tryHyphenating):
83272        (WebCore::RenderBlock::findNextLineBreak):
83273        * rendering/RenderBox.cpp:
83274        (WebCore::RenderBox::positionLineBox):
83275        (WebCore::RenderBox::flipForWritingMode):
83276        * rendering/RenderBox.h:
83277        * rendering/RenderCombineText.cpp:
83278        (WebCore::RenderCombineText::width):
83279        (WebCore::RenderCombineText::adjustTextOrigin):
83280        (WebCore::RenderCombineText::combineText):
83281        * rendering/RenderCombineText.h:
83282        (WebCore::RenderCombineText::combinedTextWidth):
83283        * rendering/RenderCounter.cpp:
83284        (WebCore::RenderCounter::computePreferredLogicalWidths):
83285        * rendering/RenderCounter.h:
83286        * rendering/RenderEmbeddedObject.cpp:
83287        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
83288        * rendering/RenderFileUploadControl.cpp:
83289        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
83290        * rendering/RenderImage.cpp:
83291        * rendering/RenderInline.cpp:
83292        (WebCore::RenderInline::linesBoundingBox):
83293        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
83294        (WebCore::RenderInline::addFocusRingRects):
83295        (WebCore::RenderInline::paintOutline):
83296        * rendering/RenderListBox.cpp:
83297        (WebCore::RenderListBox::updateFromElement):
83298        (WebCore::RenderListBox::paintItemForeground):
83299        * rendering/RenderMenuList.cpp:
83300        (WebCore::RenderMenuList::updateOptionsWidth):
83301        * rendering/RenderText.cpp:
83302        (WebCore::RenderText::localCaretRect):
83303        (WebCore::RenderText::widthFromCache):
83304        (WebCore::RenderText::trimmedPrefWidths):
83305        (WebCore::RenderText::minLogicalWidth):
83306        (WebCore::RenderText::maxLogicalWidth):
83307        (WebCore::RenderText::computePreferredLogicalWidths):
83308        (WebCore::RenderText::firstRunOrigin):
83309        (WebCore::RenderText::firstRunX):
83310        (WebCore::RenderText::firstRunY):
83311        (WebCore::RenderText::width):
83312        (WebCore::RenderText::linesBoundingBox):
83313        * rendering/RenderText.h:
83314        * rendering/RenderTextControl.cpp:
83315        (WebCore::RenderTextControl::getAvgCharWidth):
83316        (WebCore::RenderTextControl::paintPlaceholder):
83317        * rendering/RenderTreeAsText.cpp:
83318        (WebCore::writeTextRun):
83319        * rendering/RootInlineBox.cpp:
83320        (WebCore::RootInlineBox::placeEllipsis):
83321        (WebCore::RootInlineBox::placeEllipsisBox):
83322        (WebCore::RootInlineBox::adjustPosition):
83323        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
83324        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
83325        * rendering/RootInlineBox.h:
83326        * rendering/VerticalPositionCache.h:
83327        * rendering/svg/SVGInlineTextBox.cpp:
83328        (WebCore::SVGInlineTextBox::offsetForPosition):
83329        (WebCore::SVGInlineTextBox::positionForOffset):
83330        (WebCore::SVGInlineTextBox::constructTextRun):
83331        * rendering/svg/SVGInlineTextBox.h:
83332        * rendering/svg/SVGRenderTreeAsText.cpp:
83333        (WebCore::writeRenderSVGTextBox):
83334        * rendering/svg/SVGTextMetrics.cpp:
83335        (WebCore::SVGTextMetrics::SVGTextMetrics):
83336        (WebCore::constructTextRun):
83337        * svg/SVGFont.cpp:
83338        (WebCore::floatWidthMissingGlyphCallback):
83339        (WebCore::Font::drawTextUsingSVGFont):
83340
833412011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
83342
83343        Reviewed by Dirk Schulze.
83344
83345        'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
83346        https://bugs.webkit.org/show_bug.cgi?id=54672
83347
83348        Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
83349        Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
83350
83351        Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
83352
83353        * platform/graphics/SimpleFontData.cpp:
83354        (WebCore::SimpleFontData::SimpleFontData):
83355
833562011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
83357
83358        Reviewed by Adam Roben.
83359
83360        HTML5 <details> and <summary>: localized text
83361        https://bugs.webkit.org/show_bug.cgi?id=54260
83362
83363        The method defaultDetailsSummaryText was added to LocalizationStrategy class and to
83364        platform/LocalizedStrings. It is used to provide the default label to be used by a
83365        <details> tag that has no <summary> child.
83366
83367        * platform/LocalizationStrategy.h:
83368        * platform/LocalizedStrings.cpp:
83369        (WebCore::fileButtonNoFileSelectedLabel):
83370        (WebCore::defaultDetailsSummaryText):
83371        * platform/LocalizedStrings.h:
83372        * platform/android/LocalizedStringsAndroid.cpp:
83373        (WebCore::defaultDetailsSummaryText):
83374        * platform/brew/LocalizedStringsBrew.cpp:
83375        (WebCore::defaultDetailsSummaryText):
83376        * platform/efl/LocalizedStringsEfl.cpp:
83377        (WebCore::defaultDetailsSummaryText):
83378        * platform/gtk/LocalizedStringsGtk.cpp:
83379        (WebCore::defaultDetailsSummaryText):
83380        * platform/haiku/LocalizedStringsHaiku.cpp:
83381        (WebCore::defaultDetailsSummaryText):
83382        * platform/wx/LocalizedStringsWx.cpp:
83383        (WebCore::defaultDetailsSummaryText):
83384
833852011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>
83386
83387        Reviewed by Laszlo Gombos.
83388
83389        Updated include paths for phonon.
83390
83391        [Qt] WebKit patches required to work with a modularized version of Qt
83392        https://bugs.webkit.org/show_bug.cgi?id=53916
83393
83394        Build fix. No tests.
83395
83396        * WebCore.pro:
83397
833982011-02-17  Hui Huang  <hui.2.huang@nokia.com>
83399
83400        Reviewed by Laszlo Gombos.
83401
83402        The URL of HTML5 Video Element is percent encoded at websites such as youtube.
83403        It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes
83404        the HTTP GET request for the video to be rejected by the service provider. 
83405        https://bugs.webkit.org/show_bug.cgi?id=53973.
83406
83407        The bug is fixed by constructing QUrl from the encoded URL.
83408
83409        New test function tst_QWebPage::loadHtml5Video() is added in 
83410        Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
83411
83412        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
83413        (WebCore::MediaPlayerPrivateQt::commitLoad):
83414
834152011-02-17  Andreas Kling  <kling@webkit.org>
83416
83417        Reviewed by Antti Koivisto.
83418
83419        [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests
83420        https://bugs.webkit.org/show_bug.cgi?id=49216
83421
83422        CachedResourceRequest::didFail() will protect the CachedResourceLoader's
83423        document() while it runs, but if we're being called from the Document destructor,
83424        the protecting RefPtr<Document> will cause a double-delete instead.
83425
83426        * loader/cache/CachedResourceLoader.cpp:
83427        (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document
83428        pointer so CachedResourceRequest::didFail() won't try to protect it.
83429        (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
83430
834312011-02-17  Andrey Adaikin  <aandrey@google.com>
83432
83433        Reviewed by Pavel Feldman.
83434
83435        Web Inspector: [Text editor] Add updateHighlight method to the highlighter
83436        https://bugs.webkit.org/show_bug.cgi?id=54448
83437
83438        * inspector/front-end/SourceTokenizer.js:
83439        * inspector/front-end/TextEditorHighlighter.js:
83440        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
83441        (WebInspector.TextEditorHighlighter.prototype.reset):
83442        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
83443        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
83444        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
83445
834462011-02-16  Pavel Podivilov  <podivilov@chromium.org>
83447
83448        Reviewed by Yury Semikhatsky.
83449
83450        Web Inspector: show all inlined scripts from single document in the same source frame.
83451        https://bugs.webkit.org/show_bug.cgi?id=54544
83452
83453        Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24").
83454        We should show such scripts in the same source frame "example.html" with <script></script> framing.
83455
83456        Test: inspector/debugger/debug-inlined-scripts.html
83457
83458        * inspector/front-end/ScriptsPanel.js:
83459        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
83460        (WebInspector.ScriptsPanel.prototype._addScript):
83461        (WebInspector.ScriptsPanel.prototype._resourceForURL):
83462        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
83463        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
83464        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
83465        (WebInspector.ScriptsPanel.prototype.reset):
83466        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
83467        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
83468        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
83469        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
83470        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
83471        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
83472        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
83473        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
83474
834752011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
83476
83477        Reviewed by Dirk Schulze.
83478
83479        svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
83480        https://bugs.webkit.org/show_bug.cgi?id=44484
83481
83482        Pattern of pattern defined with objectBoundingBox does not render correctly
83483        https://bugs.webkit.org/show_bug.cgi?id=53463
83484
83485        Fix <pattern> + patternContentUnits="objectBoundingBox" support.
83486        We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
83487        RenderSVGResourceMask/Clipper don't have this error.
83488        
83489        Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space
83490        when drawing the pattern children. <mask> + <clipPath> don't have the problem.
83491
83492        Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
83493
83494        * rendering/svg/RenderSVGResourcePattern.cpp:
83495        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
83496        (WebCore::RenderSVGResourcePattern::createTileImage):
83497
834982011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
83499
83500        Unreviewed.
83501
83502        [Qt][V8] Buildfix after r78752.
83503
83504        * CodeGenerators.pri: Add missing IDL files.
83505
835062011-02-17  Benjamin Kalman  <kalman@chromium.org>
83507
83508        Reviewed by Ryosuke Niwa.
83509
83510        RTL lineboundary left/right is reversed when cursor is at start of RTL container
83511        https://bugs.webkit.org/show_bug.cgi?id=54534
83512
83513        Test: editing/selection/extend-left-right-by-lineboundary.html
83514
83515        Add missing cases for extending left/right by lineboundary.
83516
83517        * editing/SelectionController.cpp:
83518        (WebCore::SelectionController::modifyExtendingRight):
83519        (WebCore::SelectionController::modifyExtendingLeft):
83520
835212011-02-16  Philippe Normand  <pnormand@igalia.com>
83522
83523        Reviewed by Martin Robinson.
83524
83525        [GTK] libsoup critical warnings
83526        https://bugs.webkit.org/show_bug.cgi?id=54557
83527
83528        Avoid pausing a soup message for already downloaded resources.
83529
83530        * platform/network/soup/ResourceHandleSoup.cpp:
83531        (WebCore::ResourceHandle::platformSetDefersLoading):
83532
835332011-02-16  Brian Ryner  <bryner@chromium.org>
83534
83535        Reviewed by Darin Fisher.
83536
83537        Split the socket address field into separate IP address and port fields.
83538        This will make the field less error-prone to parse, for example when
83539        dealing with IPv6 literals.
83540        https://bugs.webkit.org/show_bug.cgi?id=54607
83541
83542        No new tests required.
83543
83544        * platform/network/chromium/ResourceResponse.cpp:
83545        (WebCore::ResourceResponse::doPlatformCopyData):
83546        (WebCore::ResourceResponse::doPlatformAdopt):
83547        * platform/network/chromium/ResourceResponse.h:
83548        (WebCore::ResourceResponse::ResourceResponse):
83549        (WebCore::ResourceResponse::remoteIPAddress):
83550        (WebCore::ResourceResponse::setRemoteIPAddress):
83551        (WebCore::ResourceResponse::remotePort):
83552        (WebCore::ResourceResponse::setRemotePort):
83553
835542011-02-16  Dominic Mazzoni  <dmazzoni@google.com>
83555
83556        Reviewed by Chris Fleizach.
83557
83558        Add support for canvas fallback content.
83559        https://bugs.webkit.org/show_bug.cgi?id=50126
83560
83561        Test: accessibility/canvas-fallback-content.html
83562
83563        * accessibility/AccessibilityObject.h:
83564        * accessibility/AccessibilityRenderObject.cpp:
83565        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
83566        (WebCore::AccessibilityRenderObject::canHaveChildren):
83567        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
83568        (atkRole):
83569        * accessibility/mac/AccessibilityObjectWrapper.mm:
83570        * html/HTMLFormControlElement.cpp:
83571        (WebCore::HTMLFormControlElement::isFocusable):
83572        * rendering/RenderHTMLCanvas.cpp:
83573        (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout):
83574        (WebCore::RenderHTMLCanvas::layout):
83575        (WebCore::RenderHTMLCanvas::nodeAtPoint):
83576        * rendering/RenderHTMLCanvas.h:
83577        (WebCore::RenderHTMLCanvas::children):
83578        (WebCore::RenderHTMLCanvas::canHaveChildren):
83579        (WebCore::RenderHTMLCanvas::virtualChildren):
83580        * rendering/RenderObject.cpp:
83581        (WebCore::RenderObject::repaint):
83582        * rendering/RenderTreeAsText.cpp:
83583        (WebCore::write):
83584
835852011-02-16  Matthew Delaney  <mdelaney@apple.com>
83586
83587        Reviewed by Simon Fraser.
83588
83589        Allow acceleratesDrawing for WebKit2
83590        https://bugs.webkit.org/show_bug.cgi?id=54511
83591
83592        Plumb through preference for accelerated drawing.
83593        
83594        When accelerated drawing is enabled, set a flag on new GraphicsLayers.
83595
83596        Not testable via Layout Tests
83597
83598        * WebCore.exp.in:
83599        * page/Settings.cpp:
83600        (WebCore::Settings::Settings):
83601        (WebCore::Settings::setAcceleratedDrawingEnabled):
83602        * page/Settings.h:
83603        (WebCore::Settings::acceleratedDrawingEnabled):
83604        * rendering/RenderLayerCompositor.cpp:
83605        (WebCore::RenderLayerCompositor::updateBacking):
83606
836072011-02-16  Victoria Kirst  <vrk@google.com>
83608
83609        Reviewed by Kenneth Russell.
83610
83611        [chromium] Fix green pixels at edge of certain GPU-accelerated videos
83612        https://bugs.webkit.org/show_bug.cgi?id=54559
83613
83614        Adds logic to properly resize the range of YUV textures to only
83615        select legitimate values.
83616
83617        * platform/graphics/chromium/VideoFrameChromium.h:
83618        * platform/graphics/chromium/VideoLayerChromium.cpp:
83619        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
83620        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
83621        (WebCore::VideoLayerChromium::drawYUV):
83622        * platform/graphics/chromium/VideoLayerChromium.h:
83623        (WebCore::VideoLayerChromium::SharedValues::yWidthScaleFactorLocation):
83624        (WebCore::VideoLayerChromium::SharedValues::uvWidthScaleFactorLocation):
83625
836262011-02-16  Bill Budge  <bbudge@chromium.org>
83627
83628        Reviewed by David Levin.
83629
83630        Need didReceiveCachedMetadata, and finishTime for didFinishLoading exposed in ThreadableLoaderClient
83631        https://bugs.webkit.org/show_bug.cgi?id=54313
83632
83633        No tests needed, exposes no new functionality
83634
83635        * fileapi/FileReaderLoader.cpp:
83636        (WebCore::FileReaderLoader::didFinishLoading):
83637        * fileapi/FileReaderLoader.h:
83638        * loader/DocumentThreadableLoader.cpp:
83639        (WebCore::DocumentThreadableLoader::setDefersLoading):
83640        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
83641        (WebCore::DocumentThreadableLoader::didFinishLoading):
83642        (WebCore::DocumentThreadableLoader::loadRequest):
83643        * loader/DocumentThreadableLoader.h:
83644        * loader/ThreadableLoaderClient.h:
83645        (WebCore::ThreadableLoaderClient::didReceiveData):
83646        (WebCore::ThreadableLoaderClient::didReceiveCachedMetadata):
83647        (WebCore::ThreadableLoaderClient::didFinishLoading):
83648        * loader/ThreadableLoaderClientWrapper.h:
83649        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
83650        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
83651        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
83652        * loader/WorkerThreadableLoader.cpp:
83653        (WebCore::workerContextDidReceiveCachedMetadata):
83654        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
83655        (WebCore::workerContextDidFinishLoading):
83656        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
83657        * loader/WorkerThreadableLoader.h:
83658        * notifications/Notification.cpp:
83659        (WebCore::Notification::didFinishLoading):
83660        * notifications/Notification.h:
83661        * page/EventSource.cpp:
83662        (WebCore::EventSource::didFinishLoading):
83663        * page/EventSource.h:
83664        * workers/WorkerScriptLoader.cpp:
83665        (WebCore::WorkerScriptLoader::didFinishLoading):
83666        * workers/WorkerScriptLoader.h:
83667        * xml/XMLHttpRequest.cpp:
83668        (WebCore::XMLHttpRequest::didFinishLoading):
83669        * xml/XMLHttpRequest.h:
83670
836712011-02-16  Jeremy Orlow  <jorlow@chromium.org>
83672
83673        Fix uninitialized memory error.
83674
83675        * storage/IDBDatabaseBackendImpl.cpp:
83676        (WebCore::IDBDatabaseBackendImpl::close):
83677
836782011-02-16  Adam Barth  <abarth@webkit.org>
83679
83680        Reviewed by Eric Seidel.
83681
83682        Fix xssAuditor/form-action.html
83683        https://bugs.webkit.org/show_bug.cgi?id=54590
83684
83685        We should block form actions.  Although this technically can't be used
83686        to run script, it's a pretty easy vector for stealing passwords.
83687
83688        * html/parser/XSSFilter.cpp:
83689        (WebCore::XSSFilter::filterTokenInitial):
83690        (WebCore::XSSFilter::filterFormToken):
83691        * html/parser/XSSFilter.h:
83692
836932011-02-16  Abhishek Arya  <inferno@chromium.org>
83694
83695        Reviewed by James Robinson.
83696
83697        Remove the early bail added in r75823 since we can run into anonymous
83698        blocks when traversing the parents chain for clearing floats.
83699        https://bugs.webkit.org/show_bug.cgi?id=54601
83700
83701        removeFloatingOrPositionedChildFromBlockLists tries to find the topmost
83702        parent containing "this" block and then tries to remove it from its floats
83703        list and mark all descendants blocks for layout. I added a bailout condition
83704        in r75823 because we thought that if one of the parent render block does not 
83705        contain "this" float, then it is safe to assume that none of the grand parents
83706        will have it. This is a wrong assumption since anonymous blocks do not have
83707        float objects and we need to go higher in the chain to find the top most parent
83708        containing this float. Instead of breaking out of the loop, it is ok to keep
83709        traversing the chain till we find that parent. Otherwise, we will leave deleted
83710        floats in the grand parents floats list.
83711
83712        Test: fast/block/float/floats-not-cleared-from-grand-parents.html
83713
83714        * rendering/RenderBox.cpp:
83715        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
83716
837172011-02-16  Andreas Kling  <kling@webkit.org>
83718
83719        Reviewed by Ryosuke Niwa.
83720
83721        Editing styles should not emit #RRGGBBAA colors
83722        https://bugs.webkit.org/show_bug.cgi?id=54540
83723
83724        * editing/ApplyStyleCommand.cpp:
83725        (WebCore::StyleChange::extractTextStyles): Use Color::serialized()
83726        instead of Color::nameForRenderTreeAsText().
83727
837282011-02-16  Ryosuke Niwa  <rniwa@webkit.org>
83729
83730        Reviewed by Kent Tamura.
83731
83732        Improve showTree of Range, Position, and VisiblePosition
83733        https://bugs.webkit.org/show_bug.cgi?id=54536
83734
83735        Enhanced showTree of Range, Position, and VisiblePosition.
83736
83737        * dom/Position.cpp:
83738        (WebCore::Position::showAnchorTypeAndOffset): Added; dumps "legacy" if the position
83739        is a legacy position and also dumps anchor type.
83740        (WebCore::Position::showTreeForThis): Calls showAnchorTypeAndOffset.
83741        * dom/Position.h:
83742        * dom/Range.cpp:
83743        (showTree): No longer calls deprecatedEditingOffset.
83744        * editing/VisiblePosition.cpp:
83745        (WebCore::VisiblePosition::debugPosition): No longer included in release build.
83746        Calls Position::showAnchorTypeAndOffset instead of manually calling deprecatedEditingOffset.
83747        * editing/VisiblePosition.h:
83748        * editing/VisibleSelection.cpp:
83749        (WebCore::VisibleSelection::debugPosition): Ditto.
83750        (WebCore::VisibleSelection::showTreeForThis): Ditto.
83751        * editing/VisibleSelection.h:
83752        * page/EventHandler.cpp:
83753
837542011-02-16  David Grogan  <dgrogan@chromium.org>
83755
83756        Reviewed by Jeremy Orlow.
83757
83758        fix compile error introduced in 78752
83759        https://bugs.webkit.org/show_bug.cgi?id=54604
83760
83761        * storage/IDBRequest.h:
83762
837632011-02-16  Jeremy Orlow  <jorlow@chromium.org>
83764
83765        Back out IndexedDB change thats no longer necessary
83766        https://bugs.webkit.org/show_bug.cgi?id=54603
83767
83768        Backing out 78645 as it turns out that it's not necessary.
83769
83770        * storage/IDBFactoryBackendImpl.cpp:
83771        (WebCore::IDBFactoryBackendImpl::open):
83772        * storage/IDBFactoryBackendImpl.h:
83773        * storage/IDBFactoryBackendInterface.h:
83774
837752011-02-16  Brian Salomon  <bsalomon@google.com>
83776
83777        Reviewed by James Robinson.
83778
83779        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.
83780
83781        No new tests required.
83782
83783        * platform/graphics/skia/PlatformContextSkia.cpp:
83784        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
83785
837862011-02-16  Mike Reed  <reed@google.com>
83787
83788        Reviewed by Kenneth Russell.
83789
83790        Use non-asserting pack function for decoding images, since webgl may want
83791        a non-premultiplied version of the image.
83792        https://bugs.webkit.org/show_bug.cgi?id=54023
83793
83794        No new tests.
83795        fast/canvas/webgl/gl-teximage.html
83796        fast/canvas/webgl/tex-image-with-format-and-type.html
83797        fast/canvas/webgl/texture-transparent-pixels-initialized.html
83798
83799        * platform/image-decoders/ImageDecoder.h:
83800        (WebCore::ImageFrame::setRGBA):
83801
838022011-02-16  David Grogan  <dgrogan@chromium.org>
83803
83804        Reviewed by Jeremy Orlow.
83805
83806        indexeddb: make setVersion fire blocked event if other connections are open
83807        https://bugs.webkit.org/show_bug.cgi?id=53728
83808
83809        Tests: storage/indexeddb/set_version_blocked.html
83810               storage/indexeddb/set_version_queue.html
83811
83812        * WebCore.gypi:
83813        * bindings/js/JSEventCustom.cpp:
83814        (WebCore::toJS):
83815        * bindings/v8/custom/V8EventCustom.cpp:
83816        (WebCore::toV8):
83817        * dom/Event.cpp:
83818        (WebCore::Event::isIDBVersionChangeEvent):
83819        * dom/Event.h:
83820        * dom/EventNames.h:
83821        * dom/EventTarget.cpp:
83822        (WebCore::EventTarget::toIDBVersionChangeRequest):
83823        * dom/EventTarget.h:
83824        * storage/IDBCallbacks.h:
83825        * storage/IDBDatabase.cpp:
83826        (WebCore::IDBDatabase::setVersion):
83827        (WebCore::IDBDatabase::close):
83828        * storage/IDBDatabase.h:
83829        * storage/IDBDatabase.idl:
83830        * storage/IDBDatabaseBackendImpl.cpp:
83831        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
83832        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::version):
83833        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::callbacks):
83834        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
83835        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
83836        (WebCore::IDBDatabaseBackendImpl::setVersion):
83837        (WebCore::IDBDatabaseBackendImpl::open):
83838        (WebCore::IDBDatabaseBackendImpl::close):
83839        * storage/IDBDatabaseBackendImpl.h:
83840        * storage/IDBDatabaseBackendInterface.h:
83841        * storage/IDBFactoryBackendImpl.cpp:
83842        (WebCore::IDBFactoryBackendImpl::open):
83843        * storage/IDBRequest.cpp:
83844        (WebCore::IDBRequest::onBlocked):
83845        (WebCore::IDBRequest::dispatchEvent):
83846        (WebCore::IDBRequest::source):
83847        * storage/IDBRequest.h:
83848        * storage/IDBVersionChangeEvent.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
83849        (WebCore::IDBVersionChangeEvent::create):
83850        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
83851        (WebCore::IDBVersionChangeEvent::~IDBVersionChangeEvent):
83852        (WebCore::IDBVersionChangeEvent::version):
83853        * storage/IDBVersionChangeEvent.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
83854        (WebCore::IDBVersionChangeEvent::isIDBVersionChangeEvent):
83855        * storage/IDBVersionChangeEvent.idl: Added.
83856        * storage/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
83857        (WebCore::IDBVersionChangeRequest::create):
83858        (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
83859        (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
83860        (WebCore::IDBVersionChangeRequest::onBlocked):
83861        * storage/IDBVersionChangeRequest.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
83862        * storage/IDBVersionChangeRequest.idl: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
83863
838642011-02-16  Robin Cao  <robin.cao@torchmobile.com.cn>
83865
83866        Reviewed by James Robinson.
83867
83868        PlatformContextSkia::applyAntiAliasedClipPaths does not work for paths which have evenOdd property
83869        https://bugs.webkit.org/show_bug.cgi?id=54336
83870
83871        We need to take fill type of paths into account when drawing them.
83872
83873        No new tests, covered by svg/W3C-SVG-1.1/masking-path-05-f.svg.
83874
83875        * platform/graphics/skia/PlatformContextSkia.cpp:
83876        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
83877
838782011-02-16  Eric Seidel  <eric@webkit.org>
83879
83880        Reviewed by Adam Barth.
83881
83882        REGRESSION (r61234): washingtonpost.com top bar looks wrong, doesn't animate
83883        https://bugs.webkit.org/show_bug.cgi?id=53717
83884
83885        Test: http/tests/local/absolute-url-strip-whitespace.html
83886
83887        This was theoretically tested already in fast/url, however the
83888        tests were disabled due to lack of any clean way to test absolute
83889        url parsing in JavaScript.  I added a test which mimics the sites
83890        behavior using our local http server.  There seems to be no other
83891        way to test this at the moment.
83892
83893        * platform/KURL.cpp:
83894        (WebCore::shouldTrimFromURL):
83895         - Any char 0-20 should be removed (matches google-url and other browsers).
83896        (WebCore::KURL::init):
83897
838982011-02-16  Abhishek Arya  <inferno@chromium.org>
83899
83900        Reviewed by James Robinson.
83901
83902        Traverse the next sibling tree to find the text fragment for a first letter.
83903        https://bugs.webkit.org/show_bug.cgi?id=54568
83904
83905        We cannot assume that the next sibling to the first letter will a text fragment
83906        since there can be intermediatary Apple-style-span inline elements wrapping the
83907        text fragment. So, we traverse the next sibling tree to find it.
83908        Test: fast/css/first-letter-text-fragment-crash.html
83909
83910        * rendering/RenderBlock.cpp:
83911        (WebCore::RenderBlock::updateFirstLetter):
83912
839132011-02-16  Martin Robinson  <mrobinson@igalia.com>
83914
83915        Reviewed by Xan Lopez.
83916
83917        [GTK] r78718 introduced some assertion failures in some HTTP tests
83918        https://bugs.webkit.org/show_bug.cgi?id=54592
83919
83920        No new tests. This fix is covered by tests that are currently failing.
83921
83922        * platform/network/soup/ResourceRequestSoup.cpp:
83923        (WebCore::ResourceRequest::updateFromSoupMessage): Instead of setting the existing
83924        headers and then selectively removing ones that do not exist in the updated soup
83925        message, just remove all headers from the map first.
83926
839272011-02-16  Jian Li  <jianli@chromium.org>
83928
83929        Reviewed by Kenneth Russell.
83930
83931        [V8] DataView constructor can be applied as a regular method
83932        https://bugs.webkit.org/show_bug.cgi?id=54563
83933
83934        Tested by adding a new test case to fast/canvas/webgl/data-view-test.html.
83935
83936        * bindings/v8/custom/V8DataViewCustom.cpp:
83937        (WebCore::V8DataView::constructorCallback):
83938
83939== Rolled over to ChangeLog-2011-02-16 ==
83940