[WK2] Fix for Display error occur in Help Center of FaceBook page
[framework/web/webkit-efl.git] / Source / WebCore / ChangeLog-2011-06-04
1 2011-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
18 2011-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
43 2011-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
76 2011-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
82 2011-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
88 2011-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
124 2011-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
142 2011-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
156 2011-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
170 2011-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
206 2011-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
220 2011-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
239 2011-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
253 2011-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
267 2011-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
281 2011-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
289 2011-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
299 2011-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
309 2011-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
363 2011-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
400 2011-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
414 2011-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
438 2011-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
457 2011-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
473 2011-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
498 2011-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
515 2011-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
525 2011-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
546 2011-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
570 2011-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
587 2011-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
596 2011-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
614 2011-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
665 2011-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
695 2011-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
741 2011-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
757 2011-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
773 2011-06-03  Dan Bernstein  <mitz@apple.com>
774
775         Mac build fix.
776
777         * WebCore.xcodeproj/project.pbxproj:
778
779 2011-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
794 2011-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
811 2011-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
836 2011-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
863 2011-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
879 2011-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
898 2011-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
910 2011-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
936 2011-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
954 2011-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
970 2011-06-02  MORITA Hajime  <morrita@google.com>
971         
972         Unreviewed ChangeLog fix.
973         
974 2011-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
987 2011-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
999 2011-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
1047 2011-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
1062 2011-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
1078 2011-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
1167 2011-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
1184 2011-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
1202 2011-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
1212 2011-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
1267 2011-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
1302 2011-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
1366 2011-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
1417 2011-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
1427 2011-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
1440 2011-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
1459 2011-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
1479 2011-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
1504 2011-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
1523 2011-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
1548 2011-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
1570 2011-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
1584 2011-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
1601 2011-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
1622 2011-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
1640 2011-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
1654 2011-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
1680 2011-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
1719 2011-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
1741 2011-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
1755 2011-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
1768 2011-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
1783 2011-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
1792 2011-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
1815 2011-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
1829 2011-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
1851 2011-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
1859 2011-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
1875 2011-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
1893 2011-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
1902 2011-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
1927 2011-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
1943 2011-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
2005 2011-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
2038 2011-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
2050 2011-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
2068 2011-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
2082 2011-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
2102 2011-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
2113 2011-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
2141 2011-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
2151 2011-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
2197 2011-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
2227 2011-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
2280 2011-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
2300 2011-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
2315 2011-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
2339 2011-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
2352 2011-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
2373 2011-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
2389 2011-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
2407 2011-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
2425 2011-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
2444 2011-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
2466 2011-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
2481 2011-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
2493 2011-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
2514 2011-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
2533 2011-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
2555 2011-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
2606 2011-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
2626 2011-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
2667 2011-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
2684 2011-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
2696 2011-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
2715 2011-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
2744 2011-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
2780 2011-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
2802 2011-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
2815 2011-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
2835 2011-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
2853 2011-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
2864 2011-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
2879 2011-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
2898 2011-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
2912 2011-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
2945 2011-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
2989 2011-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
3003 2011-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
3012 2011-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
3024 2011-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
3036 2011-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
3057 2011-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
3082 2011-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
3094 2011-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
3113 2011-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
3126 2011-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
3135 2011-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
3154 2011-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
3166 2011-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
3184 2011-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
3202 2011-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
3220 2011-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
3236 2011-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
3254 2011-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
3272 2011-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
3288 2011-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
3304 2011-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
3320 2011-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
3334 2011-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
3344 2011-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
3362 2011-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
3376 2011-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
3391 2011-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
3410 2011-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
3440 2011-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
3487 2011-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
3501 2011-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
3518 2011-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
3532 2011-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
3546 2011-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
3554 2011-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
3562 2011-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
3575 2011-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
3593 2011-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
3609 2011-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
3630 2011-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
3704 2011-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
3719 2011-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
3731 2011-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
3743 2011-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
3756 2011-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
3791 2011-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
3803 2011-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
3823 2011-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
3835 2011-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
3911 2011-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
3919 2011-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
3956 2011-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
4008 2011-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
4034 2011-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
4059 2011-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
4074 2011-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
4088 2011-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
4100 2011-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
4123 2011-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
4151 2011-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
4167 2011-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
4178 2011-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
4231 2011-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
4260 2011-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
4293 2011-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
4308 2011-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
4319 2011-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
4333 2011-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
4349 2011-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
4373 2011-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
4391 2011-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
4399 2011-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
4541 2011-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
4575 2011-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
4588 2011-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
4605 2011-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
4634 2011-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
4644 2011-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
4656 2011-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
4750 2011-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
4765 2011-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
4802 2011-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
4819 2011-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
4828 2011-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
4872 2011-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
4886 2011-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
4903 2011-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
4942 2011-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
4953 2011-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
4985 2011-05-27  Patrick Gansterer  <paroga@webkit.org>
4986
4987         Unreviewed WinCE build fix for r87467.
4988
4989         * page/wince/FrameWinCE.cpp:
4990
4991 2011-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
5009 2011-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
5035 2011-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
5050 2011-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
5097 2011-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
5111 2011-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
5128 2011-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
5149 2011-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
5170 2011-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
5203 2011-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
5225 2011-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
5261 2011-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
5282 2011-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
5358 2011-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
5376 2011-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
5421 2011-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
5433 2011-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
5446 2011-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
5462 2011-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
5479 2011-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
5496 2011-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
5529 2011-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
5562 2011-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
5577 2011-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
5589 2011-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
5607 2011-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
5620 2011-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
5634 2011-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
5648 2011-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
5701 2011-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
5720 2011-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
5749 2011-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
5763 2011-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
5784 2011-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
5801 2011-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
5810 2011-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
5818 2011-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
5850 2011-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
5884 2011-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
5901 2011-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
5918 2011-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
5936 2011-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
5954 2011-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
5966 2011-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
5990 2011-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
6047 2011-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
6059 2011-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
6083 2011-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
6127 2011-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
6260 2011-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
6272 2011-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
6284 2011-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
6301 2011-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
6322 2011-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
6349 2011-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
6367 2011-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
6377 2011-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
6401 2011-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
6427 2011-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
6442 2011-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
6459 2011-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
6471 2011-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
6517 2011-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
6525 2011-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
6533 2011-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
6555 2011-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
6577 2011-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
6611 2011-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
6624 2011-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
6649 2011-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
6688 2011-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
6710 2011-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
6742 2011-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
6762 2011-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
6801 2011-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
6816 2011-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
6840 2011-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
6875 2011-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
6940 2011-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
6987 2011-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
7026 2011-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
7040 2011-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
7054 2011-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
7082 2011-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
7167 2011-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
7189 2011-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
7204 2011-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
7234 2011-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
7253 2011-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
7263 2011-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
7275 2011-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
7308 2011-05-24  Csaba Osztrogonác  <ossy@webkit.org>
7309
7310         [Qt] Unreviewed typo fix after r87228.
7311
7312         * WebCore.pro:
7313
7314 2011-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
7336 2011-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
7349 2011-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
7359 2011-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
7375 2011-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
7382 2011-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
7408 2011-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
7423 2011-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
7447 2011-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
7517 2011-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
7553 2011-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
7559 2011-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
7601 2011-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
7643 2011-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
7663 2011-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
7677 2011-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
7691 2011-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
7710 2011-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
7721 2011-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
7767 2011-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
7793 2011-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
7800 2011-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
7807 2011-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
7872 2011-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
7878 2011-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
7893 2011-05-24  Adam Roben  <aroben@apple.com>
7894
7895         Leopard build fix
7896
7897         * bridge/runtime_root.cpp: Added a missing #include.
7898
7899 2011-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
7912 2011-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
7942 2011-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
7955 2011-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
7969 2011-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
7980 2011-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
7997 2011-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
8009 2011-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
8029 2011-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
8071 2011-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
8089 2011-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
8101 2011-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
8111 2011-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
8123 2011-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
8138 2011-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
8301 2011-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
8322 2011-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
8408 2011-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
8442 2011-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
8451 2011-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
8463 2011-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
8507 2011-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
8546 2011-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
8569 2011-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
8581 2011-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
8599 2011-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
8616 2011-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
8631 2011-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
8649 2011-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
8665 2011-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
8682 2011-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
8793 2011-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
8826 2011-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
8835 2011-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
8887 2011-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
8990 2011-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
9013 2011-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
9025 2011-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
9041 2011-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
9060 2011-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
9078 2011-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
9090 2011-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
9166 2011-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
9193 2011-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
9207 2011-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
9219 2011-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
9270 2011-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
9294 2011-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
9305 2011-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
9320 2011-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
9331 2011-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
9344 2011-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
9376 2011-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
9408 2011-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
9447 2011-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
9475 2011-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
9488 2011-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
9532 2011-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
9544 2011-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
9802 2011-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
9848 2011-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
9984 2011-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
10000 2011-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
10007 2011-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
10029 2011-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
10040 2011-05-22  Adam Barth  <abarth@webkit.org>
10041
10042         Strict PassOwnPtr build fix.
10043
10044         * platform/efl/RenderThemeEfl.cpp:
10045         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
10046
10047 2011-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
10065 2011-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
10077 2011-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
10102 2011-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
10119 2011-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
10135 2011-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
10147 2011-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
10183 2011-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
10202 2011-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
10231 2011-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
10243 2011-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
10496 2011-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
10514 2011-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
10533 2011-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
10929 2011-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
10951 2011-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
10970 2011-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
10993 2011-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
11015 2011-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
11033 2011-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
11044 2011-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
11056 2011-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
11081 2011-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
11108 2011-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
11128 2011-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
11155 2011-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
11174 2011-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
11206 2011-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
11234 2011-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
11263 2011-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
11276 2011-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
11295 2011-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
11306 2011-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
11317 2011-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
11330 2011-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
11367 2011-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
11378 2011-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
11399 2011-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
11411 2011-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
11423 2011-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
11457 2011-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
11474 2011-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
11495 2011-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
11502 2011-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
11509 2011-05-20  Kent Tamura  <tkent@chromium.org>
11510
11511         Try to fix Windows CE build. 
11512
11513         * CMakeLists.txt: Add --preprocessor flag.
11514
11515 2011-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
11559 2011-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
11567 2011-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
11580 2011-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
11601 2011-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
11657 2011-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
11681 2011-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
11706 2011-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
11720 2011-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
11733 2011-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
11777 2011-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
11829 2011-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
11850 2011-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
11865 2011-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
11879 2011-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
11903 2011-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
11909 2011-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
11915 2011-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
11921 2011-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
11935 2011-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
11956 2011-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
11962 2011-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
11973 2011-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
11991 2011-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
12012 2011-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
12031 2011-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
12039 2011-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
12046 2011-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
12068 2011-05-19  Pavel Feldman  <pfeldman@google.com>
12069
12070         Not reviewed: inspector protocol tests fixed.
12071
12072         * inspector/InjectedScriptSource.js:
12073
12074 2011-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
12104 2011-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
12128 2011-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
12138 2011-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
12150 2011-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
12188 2011-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
12204 2011-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
12227 2011-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
12238 2011-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
12248 2011-05-18  MORITA Hajime  <morrita@google.com>
12249
12250         Unreviewed attempt to fix clang build.
12251
12252         * rendering/InlineTextBox.h:
12253
12254 2011-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
12264 2011-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
12276 2011-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
12342 2011-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
12359 2011-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
12374 2011-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
12391 2011-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
12408 2011-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
12487 2011-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
12506 2011-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
12518 2011-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
12532 2011-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
12548 2011-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
12568 2011-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
12598 2011-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
12610 2011-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
12636 2011-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
12649 2011-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
12665 2011-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
12677 2011-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
12694 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
12695
12696         Not reviewed. Sorted XCode project file.
12697
12698         * WebCore.xcodeproj/project.pbxproj:
12699
12700 2011-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
12713 2011-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
12724 2011-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
12744 2011-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
12761 2011-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
12945 2011-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
12966 2011-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
12986 2011-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
12999 2011-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
13023 2011-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
13046 2011-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
13056 2011-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
13074 2011-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
13088 2011-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
13145 2011-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
13204 2011-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
13217 2011-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
13274 2011-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
13289 2011-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
13307 2011-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
13316 2011-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
13332 2011-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
13349 2011-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
13399 2011-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
13415 2011-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
13428 2011-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
13474 2011-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
13486 2011-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
13498 2011-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
13541 2011-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
13560 2011-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
13568 2011-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
13582 2011-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
13671 2011-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
13718 2011-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
13730 2011-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
13756 2011-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
13791 2011-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
13808 2011-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
13826 2011-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
13835 2011-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
13846 2011-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
13863 2011-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
13873 2011-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
13883 2011-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
13912 2011-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
13919 2011-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
13956 2011-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
13969 2011-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
13982 2011-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
13994 2011-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
14010 2011-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
14023 2011-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
14056 2011-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
14070 2011-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
14079 2011-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
14086 2011-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
14159 2011-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
14174 2011-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
14189 2011-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
14255 2011-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
14262 2011-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
14289 2011-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
14341 2011-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
14354 2011-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
14366 2011-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
14393 2011-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
14409 2011-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
14421 2011-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
14436 2011-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
14515 2011-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
14522 2011-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
14538 2011-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
14596 2011-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
14621 2011-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
14637 2011-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
14646 2011-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
14654 2011-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
14666 2011-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
14694 2011-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
14708 2011-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
14715 2011-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
14748 2011-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
14772 2011-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
14794 2011-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
14861 2011-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
14935 2011-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
14951 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
14952
14953         Unreviewed. Windows build fix.
14954
14955         * inspector/InspectorConsoleInstrumentation.h:
14956         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
14957
14958 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
14959
14960         Unreviewed. Build fix.
14961
14962         * inspector/InspectorInstrumentation.h:
14963         (WebCore::InspectorInstrumentation::willStartWorkerContext):
14964
14965 2011-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
15138 2011-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
15205 2011-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
15218 2011-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
15233 2011-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
15250 2011-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
15263 2011-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
15274 2011-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
15289 2011-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
15322 2011-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
15334 2011-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
15455 2011-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
15507 2011-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
15515 2011-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
15523 2011-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
15530 2011-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
15543 2011-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
15550 2011-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
15577 2011-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
15587 2011-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
15612 2011-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
15663 2011-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
15682 2011-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
15700 2011-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
15714 2011-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
15725 2011-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
15743 2011-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
15785 2011-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
15799 2011-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
15867 2011-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
15935 2011-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
15952 2011-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
16009 2011-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
16031 2011-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
16042 2011-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
16050 2011-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
16110 2011-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
16134 2011-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
16167 2011-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
16175 2011-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
16210 2011-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
16278 2011-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
16285 2011-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
16303 2011-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
16326 2011-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
16338 2011-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
16353 2011-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
16362 2011-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
16374 2011-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
16390 2011-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
16448 2011-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
16465 2011-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
16481 2011-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
16503 2011-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
16528 2011-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
16562 2011-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
16591 2011-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
16603 2011-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
16642 2011-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
16650 2011-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
16675 2011-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
16686 2011-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
16719 2011-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
16756 2011-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
16771 2011-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
16796 2011-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
16812 2011-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
16835 2011-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
16849 2011-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
16862 2011-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
16874 2011-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
16883 2011-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
16902 2011-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
16931 2011-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
16938 2011-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
16962 2011-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
16994 2011-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
17007 2011-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
17025 2011-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
17060 2011-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
17076 2011-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
17087 2011-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
17105 2011-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
17132 2011-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
17156 2011-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
17178 2011-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
17222 2011-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
17254 2011-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
17266 2011-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
17278 2011-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
17291 2011-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
17308 2011-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
17327 2011-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
17346 2011-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
17373 2011-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
17388 2011-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
17396 2011-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
17423 2011-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
17429 2011-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
17437 2011-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
17451 2011-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
17461 2011-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
17469 2011-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
17481 2011-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
17493 2011-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
17507 2011-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
17547 2011-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
17621 2011-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
17628 2011-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
17698 2011-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
17705 2011-05-12  Yuta Kitamura  <yutak@chromium.org>
17706
17707         Unreviewed, trying to fix Qt minimal compile.
17708
17709         * websockets/CloseEvent.idl:
17710
17711 2011-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
17721 2011-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
17761 2011-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
17782 2011-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
17799 2011-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
17813 2011-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
17825 2011-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
17848 2011-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
17864 2011-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
17876 2011-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
17885 2011-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
17920 2011-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
17933 2011-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
17948 2011-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
17959 2011-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
18021 2011-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
18032 2011-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
18048 2011-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
18067 2011-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
18094 2011-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
18105 2011-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
18151 2011-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
18167 2011-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
18184 2011-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
18201 2011-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
18235 2011-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
18274 2011-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
18288 2011-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
18303 2011-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
18377 2011-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
18450 2011-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
18473 2011-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
18492 2011-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
18517 2011-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
18524 2011-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
18541 2011-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
18566 2011-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
18587 2011-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
18599 2011-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
18625 2011-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
18640 2011-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
18670 2011-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
18686 2011-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
18708 2011-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
18728 2011-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
18774 2011-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
18781 2011-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
18823 2011-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
18850 2011-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
18864 2011-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
18879 2011-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
18896 2011-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
18913 2011-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
18924 2011-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
18958 2011-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
18972 2011-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
18998 2011-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
19014 2011-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
19033 2011-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
19040 2011-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
19048 2011-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
19082 2011-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
19106 2011-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
19124 2011-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
19140 2011-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
19154 2011-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
19202 2011-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
19241 2011-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
19284 2011-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
19324 2011-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
19381 2011-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
19401 2011-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
19421 2011-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
19483 2011-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
19502 2011-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
19535 2011-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
19551 2011-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
19560 2011-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
19574 2011-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
19597 2011-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
19605 2011-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
19618 2011-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
19630 2011-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
19640 2011-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
19658 2011-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
19685 2011-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
19699 2011-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
19712 2011-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
19722 2011-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
19733 2011-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
19744 2011-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
19755 2011-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
19762 2011-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
19821 2011-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
19844 2011-05-09  Dan Bernstein  <mitz@apple.com>
19845
19846         Try to fix the LLVM Compiler build.
19847
19848         * page/EventHandler.h:
19849
19850 2011-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
19859 2011-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
19892 2011-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
19911 2011-05-09  Simon Fraser  <simon.fraser@apple.com>
19912
19913         Move IconURL.* into the dom grouping.
19914
19915         * WebCore.xcodeproj/project.pbxproj:
19916
19917 2011-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
19932 2011-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
19944 2011-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
19958 2011-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
19984 2011-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
20001 2011-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
20020 2011-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
20047 2011-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
20062 2011-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
20069 2011-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
20083 2011-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
20116 2011-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
20128 2011-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
20140 2011-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
20155 2011-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
20168 2011-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
20179 2011-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
20193 2011-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
20214 2011-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
20227 2011-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
20273 2011-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
20291 2011-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
20303 2011-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
20317 2011-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
20339 2011-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
20345 2011-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
20351 2011-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
20366 2011-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
20532 2011-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
20570 2011-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
20586 2011-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
20607 2011-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
20623 2011-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
20689 2011-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
20703 2011-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
20709 2011-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
20721 2011-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
20735 2011-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
20755 2011-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
20770 2011-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
20816 2011-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
20831 2011-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
20842 2011-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
20967 2011-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
20993 2011-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
21008 2011-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
21042 2011-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
21058 2011-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
21073 2011-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
21089 2011-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
21109 2011-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
21127 2011-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
21143 2011-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
21153 2011-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
21168 2011-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
21184 2011-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
21191 2011-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
21212 2011-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
21234 2011-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
21262 2011-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
21269 2011-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
21279 2011-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
21299 2011-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
21315 2011-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
21331 2011-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
21347 2011-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
21360 2011-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
21380 2011-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
21419 2011-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
21432 2011-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
21445 2011-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
21462 2011-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
21482 2011-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
21499 2011-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
21514 2011-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
21521 2011-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
21534 2011-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
21548 2011-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
21559 2011-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
21576 2011-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
21591 2011-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
21607 2011-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
21625 2011-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
21640 2011-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
21663 2011-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
21676 2011-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
21686 2011-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
21705 2011-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
21726 2011-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
21737 2011-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
21813 2011-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
22053 2011-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
22060 2011-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
22070 2011-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
22125 2011-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
22140 2011-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
22207 2011-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
22218 2011-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
22233 2011-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
22245 2011-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
22261 2011-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
22273 2011-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
22294 2011-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
22309 2011-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
22324 2011-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
22344 2011-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
22356 2011-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
22394 2011-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
22429 2011-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
22456 2011-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
22467 2011-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
22486 2011-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
22496 2011-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
22504 2011-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
22513 2011-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
22530 2011-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
22581 2011-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
22595 2011-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
22618 2011-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
22634 2011-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
22649 2011-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
22666 2011-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
22713 2011-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
22726 2011-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
22787 2011-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
22797 2011-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
22806 2011-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
22820 2011-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
22832 2011-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
22845 2011-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
22891 2011-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
22905 2011-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
22915 2011-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
22928 2011-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
22944 2011-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
22954 2011-05-04  Yury Semikhatsky  <yurys@chromium.org>
22955
22956         Unreviewed. Build fix.
22957
22958         * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
22959
22960 2011-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
22984 2011-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
23006 2011-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
23031 2011-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
23041 2011-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
23068 2011-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
23076 2011-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
23091 2011-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
23112 2011-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
23140 2011-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
23154 2011-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
23169 2011-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
23188 2011-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
23204 2011-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
23223 2011-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
23240 2011-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
23252 2011-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
23275 2011-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
23289 2011-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
23304 2011-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
23326 2011-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
23341 2011-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
23364 2011-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
23381 2011-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
23417 2011-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
23449 2011-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
23466 2011-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
23504 2011-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
23541 2011-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
23555 2011-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
23577 2011-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
23589 2011-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
23603 2011-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
23619 2011-05-03  Sam Weinig  <sam@webkit.org>
23620
23621         Fix chromium build.
23622
23623         * page/Settings.cpp:
23624
23625 2011-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
23641 2011-05-03  Sam Weinig  <sam@webkit.org>
23642
23643         Fix chromium build.
23644
23645         * loader/HistoryController.cpp:
23646
23647 2011-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
23715 2011-05-03  Sam Weinig  <sam@webkit.org>
23716
23717         Fix chromium build.
23718
23719         * css/StyleMedia.cpp:
23720
23721 2011-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
23739 2011-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
23752 2011-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
23787 2011-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
23794 2011-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
23813 2011-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
23824 2011-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
23831 2011-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
23853 2011-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
23894 2011-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
23952 2011-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
23972 2011-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
23993 2011-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
24005 2011-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
24017 2011-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
24030 2011-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
24041 2011-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
24053 2011-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
24065 2011-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
24080 2011-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
24098 2011-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
24118 2011-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
24128 2011-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
24175 2011-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
24187 2011-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
24221 2011-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
24235 2011-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
24244 2011-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
24255 2011-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
24280 2011-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
24293 2011-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
24306 2011-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
24359 2011-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
24381 2011-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
24395 2011-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
24403 2011-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
24434 2011-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
24502 2011-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
24517 2011-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
24537 2011-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
24551 2011-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
24562 2011-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
24580 2011-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
24619 2011-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
24643 2011-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
24650 2011-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
24657 2011-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
24671 2011-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
24678 2011-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
24706 2011-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
24719 2011-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
24732 2011-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
24742 2011-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
24756 2011-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
24774 2011-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
24792 2011-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
24806 2011-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
24820 2011-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
24835 2011-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
24843 2011-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
24855 2011-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
24915 2011-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
24927 2011-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
24945 2011-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
24960 2011-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
25001 2011-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
25008 2011-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
25030 2011-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
25052 2011-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
25059 2011-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
25079 2011-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
25157 2011-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
25179 2011-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
25207 2011-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
25220 2011-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
25255 2011-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
25271 2011-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
25283 2011-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
25293 2011-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
25306 2011-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
25339 2011-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
25346 2011-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
25358 2011-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
25369 2011-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
25386 2011-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
25401 2011-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
25420 2011-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
25436 2011-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
25442 2011-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
25460 2011-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
25473 2011-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
25496 2011-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
25508 2011-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
25517 2011-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
25533 2011-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
25560 2011-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
25610 2011-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
25629 2011-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
25657 2011-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
25673 2011-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
25709 2011-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
25727 2011-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
25737 2011-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
25776 2011-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
25792 2011-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
25802 2011-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
25813 2011-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
25833 2011-04-28  Kent Tamura  <tkent@chromium.org>
25834
25835         Run sort-Xcode-project-file.
25836
25837         * WebCore.xcodeproj/project.pbxproj:
25838
25839 2011-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
25860 2011-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
25870 2011-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
25891 2011-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
25898 2011-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
25906 2011-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
25938 2011-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
25954 2011-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
25980 2011-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
25997 2011-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
26019 2011-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
26034 2011-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
26048 2011-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
26277 2011-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
26293 2011-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
26323 2011-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
26336 2011-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
26354 2011-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
26371 2011-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
26378 2011-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
26390 2011-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
26411 2011-04-28  Dan Bernstein  <mitz@apple.com>
26412
26413         Build fix.
26414
26415         * css/CSSParser.cpp:
26416         (WebCore::cssPropertyID):
26417
26418 2011-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
26431 2011-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
26450 2011-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
26461 2011-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
26475 2011-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
26487 2011-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
26504 2011-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
26522 2011-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
26551 2011-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
26580 2011-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
26599 2011-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
26609 2011-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
26655 2011-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
26669 2011-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
26682 2011-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
26701 2011-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
26718 2011-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
26732 2011-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
26754 2011-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
26763 2011-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
26829 2011-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
26838 2011-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
26868 2011-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
26880 2011-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
26897 2011-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
26904 2011-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
26916 2011-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
26980 2011-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
26992 2011-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
27012 2011-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
27026 2011-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
27039 2011-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
27046 2011-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
27066 2011-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
27103 2011-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
27147 2011-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
27167 2011-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
27173 2011-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
27179 2011-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
27210 2011-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
27232 2011-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
27246 2011-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
27254 2011-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
27323 2011-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
27340 2011-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
27375 2011-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
27390 2011-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
27401 2011-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
27419 2011-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
27436 2011-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
27464 2011-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
27483 2011-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
27539 2011-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
27551 2011-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
27569 2011-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
27579 2011-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
27592 2011-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
27731 2011-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
27749 2011-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
27799 2011-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
27809 2011-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
27850 2011-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
27884 2011-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
27908 2011-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
27956 2011-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
27965 2011-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
27997 2011-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
28011 2011-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
28024 2011-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
28041 2011-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
28058 2011-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
28078 2011-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
28095 2011-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
28167 2011-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
28191 2011-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
28209 2011-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
28220 2011-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
28235 2011-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
28255 2011-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
28287 2011-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
28306 2011-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
28317 2011-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
28333 2011-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
28362 2011-04-26  Jeff Miller  <jeffm@apple.com>
28363
28364         Add a newline at the end of SVGFEDropShadowElement.idl.
28365
28366         * svg/SVGFEDropShadowElement.idl:
28367
28368 2011-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
28382 2011-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
28397 2011-04-26  Sam Weinig  <sam@webkit.org>
28398
28399         Fix build.
28400
28401         * bindings/js/JSDOMWrapper.h:
28402         (WebCore::JSDOMWrapper::globalObject):
28403
28404 2011-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
28417 2011-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
28431 2011-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
28450 2011-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
28459 2011-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
28469 2011-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
28495 2011-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
28512 2011-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
28528 2011-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
28546 2011-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
28568 2011-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
28594 2011-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
28621 2011-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
28631 2011-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
28660 2011-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
28684 2011-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
28736 2011-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
28761 2011-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
28774 2011-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
28793 2011-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
28803 2011-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
28850 2011-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
28860 2011-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
28904 2011-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
28921 2011-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
28932 2011-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
28949 2011-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
28959 2011-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
28981 2011-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
28991 2011-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
29001 2011-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
29025 2011-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
29037 2011-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
29056 2011-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
29098 2011-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
29120 2011-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
29131 2011-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
29141 2011-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
29153 2011-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
29171 2011-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
29180 2011-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
29191 2011-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
29212 2011-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
29222 2011-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
29240 2011-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
29264 2011-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
29274 2011-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
29286 2011-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
29295 2011-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
29308 2011-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
29331 2011-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
29345 2011-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
29367 2011-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
29377 2011-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
29388 2011-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
29398 2011-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
29413 2011-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
29431 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
29432
29433         Build fix: This time for sure!
29434         
29435         * dom/make_names.pl:
29436
29437 2011-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
29444 2011-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
29456 2011-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
29490 2011-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
29497 2011-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
29539 2011-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
29549 2011-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
29559 2011-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
29569 2011-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
29585 2011-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
29595 2011-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
29611 2011-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
29623 2011-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
29635 2011-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
29650 2011-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
29662 2011-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
29669 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
29670
29671         Try to fix EFL build.
29672
29673         * UseJSC.cmake: Added a missing file.
29674
29675 2011-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
29725 2011-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
29752 2011-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
29770 2011-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
29784 2011-04-25  Pavel Feldman  <pfeldman@google.com>
29785
29786         Not reviewed: Inspector.json cleanup.
29787
29788         * inspector/Inspector.json:
29789
29790 2011-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
29855 2011-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
29939 2011-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
29986 2011-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
30013 2011-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
30036 2011-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
30205 2011-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
30218 2011-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
30240 2011-04-24  Dan Bernstein  <mitz@apple.com>
30241
30242         LLVM Compiler build fix.
30243
30244         * page/ContentSecurityPolicy.cpp: Removed an unused function.
30245
30246 2011-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
30262 2011-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
30289 2011-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
30298 2011-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
30310 2011-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
30319 2011-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
30350 2011-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
30369 2011-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
30381 2011-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
30393 2011-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
30420 2011-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
30437 2011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
30438
30439         [wx] Unreviewed build fix. Added missing header.
30440         
30441         * platform/graphics/filters/FEDropShadow.h:
30442
30443 2011-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
30471 2011-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
30496 2011-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
30517 2011-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
30531 2011-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
30538 2011-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
30571 2011-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
30582 2011-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
30630 2011-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
30646 2011-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
30654 2011-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
30662 2011-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
30693 2011-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
30707 2011-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
30742 2011-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
30761 2011-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
30801 2011-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
30813 2011-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
30828 2011-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
30843 2011-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
30861 2011-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
30900 2011-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
30934 2011-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
30959 2011-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
30969 2011-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
30985 2011-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
30999 2011-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
31024 2011-04-22  Csaba Osztrogonác  <ossy@webkit.org>
31025
31026         [Qt] Unreviewed typo fix after r84522.
31027
31028         * WebCore.pro:
31029
31030 2011-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
31037 2011-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
31103 2011-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
31123 2011-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
31138 2011-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
31161 2011-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
31173 2011-04-22  MORITA Hajime  <morrita@google.com>
31174
31175         Unreviewed crash fix.
31176
31177         * html/HTMLDetailsElement.cpp:
31178         (WebCore::DetailsSummaryElement::shouldInclude):
31179
31180 2011-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
31194 2011-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
31212 2011-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
31268 2011-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
31286 2011-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
31368 2011-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
31389 2011-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
31443 2011-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
31485 2011-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
31515 2011-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
31639 2011-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
31677 2011-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
31688 2011-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
31700 2011-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
31717 2011-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
31756 2011-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
31829 2011-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
31836 2011-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
31856 2011-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
31869 2011-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
31887 2011-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
31900 2011-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
31916 2011-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
31929 2011-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         *
31948 2011-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
31964 2011-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
31973 2011-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
31991 2011-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
32021 2011-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
32035 2011-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
32067 2011-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
32104 2011-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
32142 2011-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
32160 2011-04-21  Oliver Hunt  <oliver@apple.com>
32161
32162         Whoops, change lost during merge
32163
32164         * bindings/js/JSEventListener.h:
32165
32166 2011-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
32179 2011-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
32294 2011-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
32329 2011-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
32349 2011-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
32364 2011-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
32388 2011-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
32413 2011-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
32438 2011-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
32445 2011-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
32454 2011-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
32467 2011-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
32482 2011-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
32600 2011-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
32682 2011-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
32735 2011-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
32774 2011-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
32789 2011-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
32801 2011-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
32847 2011-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
32864 2011-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
32873 2011-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
32887 2011-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
33020 2011-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
33030 2011-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
33082 2011-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
33106 2011-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
33117 2011-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
33128 2011-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
33141 2011-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
33161 2011-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
33175 2011-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
33191 2011-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
33201 2011-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
33233 2011-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
33243 2011-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
33306 2011-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
33346 2011-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
33356 2011-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
33367 2011-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
33378 2011-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
33390 2011-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
33413 2011-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
33438 2011-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
33468 2011-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
33484 2011-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
33521 2011-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
33540 2011-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
33549 2011-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
33566 2011-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
33582 2011-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
33598 2011-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
33617 2011-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
33647 2011-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
33659 2011-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
33685 2011-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
33697 2011-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
33724 2011-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
33750 2011-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
33766 2011-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
33777 2011-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
33839 2011-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
33851 2011-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
33862 2011-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
33886 2011-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
33909 2011-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
33952 2011-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
34000 2011-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
34009 2011-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
34015 2011-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
34027 2011-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
34045 2011-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
34072 2011-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
34087 2011-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
34134 2011-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
34149 2011-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
34162 2011-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
34174 2011-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
34182 2011-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
34211 2011-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
34234 2011-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
34244 2011-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
34264 2011-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
34277 2011-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
34292 2011-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
34307 2011-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
34321 2011-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
34330 2011-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
34353 2011-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
34439 2011-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
34454 2011-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
34470 2011-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
34493 2011-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
34507 2011-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
34520 2011-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
34534 2011-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
34552 2011-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
34558 2011-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
34583 2011-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
34619 2011-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
34636 2011-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
34649 2011-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
34674 2011-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
34685 2011-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
34705 2011-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
34717 2011-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
34747 2011-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
34781 2011-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
34800 2011-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
34963 2011-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
35004 2011-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
35038 2011-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
35050 2011-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
35120 2011-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
35134 2011-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
35148 2011-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
35171 2011-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
35205 2011-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
35213 2011-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
35228 2011-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
35252 2011-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
35264 2011-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
35276 2011-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
35287 2011-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
35298 2011-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
35307 2011-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
35342 2011-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
35415 2011-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
35457 2011-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
35472 2011-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
35493 2011-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
35504 2011-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
35515 2011-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
35531 2011-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
35550 2011-04-18  Geoffrey Garen  <ggaren@apple.com>
35551
35552         Build fix.
35553
35554         Added back missing #include.
35555
35556         * bindings/js/DOMWrapperWorld.cpp:
35557
35558 2011-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
35572 2011-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
35585 2011-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
35690 2011-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
35705 2011-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
35724 2011-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
35734 2011-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
35751 2011-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
35765 2011-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
35775 2011-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
35794 2011-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
35808 2011-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
35829 2011-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
35850 2011-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
35861 2011-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
35881 2011-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
35894 2011-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
35914 2011-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
35924 2011-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
36102 2011-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
36129 2011-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
36147 2011-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
36163 2011-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
36175 2011-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
36189 2011-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
36196 2011-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
36212 2011-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
36231 2011-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
36250 2011-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
36262 2011-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
36298 2011-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
36320 2011-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
36368 2011-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
36380 2011-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
36386 2011-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
36394 2011-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
36404 2011-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
36453 2011-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
36467 2011-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
36512 2011-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
36529 2011-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
36543 2011-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
36550 2011-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
36656 2011-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
36671 2011-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
36693 2011-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
36724 2011-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
36744 2011-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
36792 2011-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
36799 2011-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
36813 2011-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
36833 2011-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
36856 2011-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
36887 2011-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
36896 2011-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
36911 2011-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
36932 2011-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
36943 2011-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
36954 2011-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
36966 2011-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
36977 2011-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
37028 2011-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
37044 2011-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
37069 2011-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
37156 2011-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
37172 2011-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
37215 2011-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
37246 2011-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
37255 2011-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
37264 2011-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
37275 2011-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
37348 2011-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
37361 2011-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
37423 2011-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
37431 2011-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
37438 2011-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
37454 2011-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
37468 2011-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
37489 2011-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
37516 2011-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
37522 2011-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
37533 2011-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
37569 2011-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
37583 2011-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
37645 2011-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
37658 2011-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
37699 2011-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
37771 2011-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
37804 2011-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
37820 2011-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
37836 2011-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
37854 2011-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
37870 2011-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
37937 2011-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
37968 2011-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
37989 2011-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
38035 2011-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
38045 2011-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
38064 2011-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
38087 2011-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
38165 2011-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
38187 2011-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
38200 2011-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
38231 2011-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
38245 2011-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
38264 2011-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
38289 2011-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
38335 2011-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
38378 2011-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
38404 2011-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
38419 2011-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
38433 2011-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
38447 2011-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
38483 2011-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
38518 2011-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
38540 2011-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
38599 2011-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
38612 2011-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
38633 2011-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
38648 2011-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
38663 2011-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
38680 2011-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
38696 2011-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
38791 2011-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
38807 2011-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
38824 2011-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
38885 2011-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
38917 2011-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
38949 2011-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
38968 2011-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
38984 2011-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
38994 2011-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
39013 2011-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
39027 2011-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
39043 2011-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
39074 2011-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
39083 2011-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
39098 2011-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
39113 2011-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
39138 2011-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
39156 2011-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
39177 2011-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
39186 2011-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
39194 2011-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
39201 2011-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
39211 2011-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
39277 2011-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
39290 2011-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
39305 2011-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
39327 2011-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
39342 2011-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
39350 2011-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
39396 2011-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
39415 2011-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
39424 2011-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
39450 2011-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
39462 2011-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
39478 2011-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
39499 2011-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
39517 2011-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
39534 2011-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
39551 2011-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
39565 2011-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
39580 2011-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
39602 2011-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
39612 2011-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
39666 2011-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
39678 2011-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
39715 2011-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
39846 2011-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  
39880 2011-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
39921 2011-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
39933 2011-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
39951 2011-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
39974 2011-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
39993 2011-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
40005 2011-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
40028 2011-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
40060 2011-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
40072 2011-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
40087 2011-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
40112 2011-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
40143 2011-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
40182 2011-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
40196 2011-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
40210 2011-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
40253 2011-04-13  Sam Weinig  <sam@webkit.org>
40254
40255         Fix Mac builds.
40256
40257         * WebCore.exp.in:
40258
40259 2011-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
40278 2011-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
40292 2011-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
40304 2011-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
40322 2011-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
40336 2011-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
40354 2011-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
40371 2011-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
40388 2011-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
40399 2011-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
40417 2011-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
40431 2011-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
40443 2011-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
40458 2011-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
40467 2011-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
40494 2011-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
40508 2011-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
40545 2011-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
40558 2011-04-13  Pavel Feldman  <pfeldman@chromium.org>
40559
40560         Not reviewed: revert Inspector.json change for breaking world.
40561
40562         * inspector/Inspector.json:
40563
40564 2011-04-13  Pavel Feldman  <pfeldman@chromium.org>
40565
40566         Not reviewed: swap methods in the Inspector.json.
40567
40568         * inspector/Inspector.json:
40569
40570 2011-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
40595 2011-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
40608 2011-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
40692 2011-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
40712 2011-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
40721 2011-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
40745 2011-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
40824 2011-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
40835 2011-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
40858 2011-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
40874 2011-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
40886 2011-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
40904 2011-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
40929 2011-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
40942 2011-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
40990 2011-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
41015 2011-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
41025 2011-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
41042 2011-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
41062 2011-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
41070 2011-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
41084 2011-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
41094 2011-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
41107 2011-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
41144 2011-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
41184 2011-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
41200 2011-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
41211 2011-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
41260 2011-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
41294 2011-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
41304 2011-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
41325 2011-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
41350 2011-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
41376 2011-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
41393 2011-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
41431 2011-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
41470 2011-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
41483 2011-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
41503 2011-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
41531 2011-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
41543 2011-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
41566 2011-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
41613 2011-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
41629 2011-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
41647 2011-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
41693 2011-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
41706 2011-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
41725 2011-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
41737 2011-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
41743 2011-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
41764 2011-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
41777 2011-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
41798 2011-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
41811 2011-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
41829 2011-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
41858 2011-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
41871 2011-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
41895 2011-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
41908 2011-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
41923 2011-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
41938 2011-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
41948 2011-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
41975 2011-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
41987 2011-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
42004 2011-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
42027 2011-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
42038 2011-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
42047 2011-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
42077 2011-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
42086 2011-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
42111 2011-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
42148 2011-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
42165 2011-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
42177 2011-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
42198 2011-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
42210 2011-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
42228 2011-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
42246 2011-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
42275 2011-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
42295 2011-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
42302 2011-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
42315 2011-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
42324 2011-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
42355 2011-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
42381 2011-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
42395 2011-04-11  Brady Eidson  <beidson@apple.com>
42396
42397         Reverting, seeing something else still broken.  Sorry.
42398
42399         * html/HTMLTrackElement.cpp:
42400
42401 2011-04-11  Brady Eidson  <beidson@apple.com>
42402
42403         Fix the build.
42404
42405         * html/HTMLTrackElement.cpp: Case-sensitive, please.
42406
42407 2011-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
42415 2011-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
42439 2011-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
42478 2011-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
42491 2011-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
42511 2011-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
42523 2011-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
42580 2011-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
42595 2011-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
42611 2011-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
42681 2011-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
42696 2011-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
42706 2011-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
42800 2011-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
42814 2011-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
42837 2011-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
42885 2011-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
42906 2011-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
42924 2011-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
42934 2011-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
42963 2011-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
42982 2011-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
42996 2011-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
43008 2011-04-11  Dan Bernstein  <mitz@apple.com>
43009
43010         Build fix.
43011
43012         * html/canvas/CanvasRenderingContext2D.cpp:
43013         (WebCore::CanvasRenderingContext2D::State::State):
43014
43015 2011-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
43039 2011-04-11  Dan Bernstein  <mitz@apple.com>
43040
43041         Build fix.
43042
43043         * html/canvas/CanvasRenderingContext2D.cpp:
43044         (WebCore::CanvasRenderingContext2D::State::State):
43045
43046 2011-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
43060 2011-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
43088 2011-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
43099 2011-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
43112 2011-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
43121 2011-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
43231 2011-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
43241 2011-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
43268 2011-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
43283 2011-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
43302 2011-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
43319 2011-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
43340 2011-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
43350 2011-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
43373 2011-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
43433 2011-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
43440 2011-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
43450 2011-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
43466 2011-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
43489 2011-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
43507 2011-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
43524 2011-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
43543 2011-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
43552 2011-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
43559 2011-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
43565 2011-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
43581 2011-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
43617 2011-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
43654 2011-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
43662 2011-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
43672 2011-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
43711 2011-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
43763 2011-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
43774 2011-04-09  Csaba Osztrogonác  <ossy@webkit.org>
43775
43776         [Qt] Unreviewed trivial fix after r83344.
43777
43778         * WebCore.pro: Update HEADERS list.
43779
43780 2011-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
43793 2011-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
43821 2011-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
43835 2011-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
43848 2011-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
43859 2011-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
43872 2011-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
43886 2011-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
43899 2011-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
43913 2011-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
43936 2011-04-08 MORITA Hajime  <morrita@google.com>
43937
43938         Unreviewed windows build fix.
43939         
43940         * editing/SpellingCorrectionController.h:
43941         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
43942
43943 2011-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
43956 2011-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
44002 2011-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
44017 2011-04-08  MORITA Hajime  <morrita@google.com>
44018
44019         Unreviewed build fix.
44020
44021         * editing/Editor.cpp:
44022         (WebCore::Editor::markMisspellingsAfterTypingToWord):
44023
44024 2011-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
44040 2011-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
44132 2011-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
44153 2011-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
44164 2011-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
44180 2011-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
44217 2011-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
44232 2011-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
44244 2011-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
44269 2011-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
44283 2011-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
44296 2011-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
44314 2011-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
44321 2011-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
44335 2011-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
44366 2011-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
44374 2011-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
44392 2011-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
44405 2011-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
44449 2011-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
44465 2011-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
44498 2011-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
44544 2011-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
44579 2011-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
44597 2011-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
44615 2011-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
44629 2011-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
44646 2011-04-08  Adam Barth  <abarth@webkit.org>
44647
44648         Attempt to fix the Qt build.
44649
44650         * css/CSSStyleApplyProperty.cpp:
44651
44652 2011-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
44666 2011-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
44677 2011-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
44694 2011-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
44705 2011-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
44792 2011-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
44813 2011-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
44825 2011-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
44839 2011-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
44851 2011-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
44914 2011-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
44948 2011-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
44984 2011-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
44998 2011-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
45033 2011-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
45103 2011-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
45120 2011-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
45146 2011-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
45168 2011-04-07  Dan Bernstein  <mitz@apple.com>
45169
45170         Build fix.
45171
45172         * platform/graphics/cairo/GraphicsContextCairo.cpp:
45173         (WebCore::GraphicsContext::roundToDevicePixels):
45174
45175 2011-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
45189 2011-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
45226 2011-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
45243 2011-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
45274 2011-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
45290 2011-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
45306 2011-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
45320 2011-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
45345 2011-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
45358 2011-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
45386 2011-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
45410 2011-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
45423 2011-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
45471 2011-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
45481 2011-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
45492 2011-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
45550 2011-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
45569 2011-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
45595 2011-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
45616 2011-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
45637 2011-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
45653 2011-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
45676 2011-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
45728 2011-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
45742 2011-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
45767 2011-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
45789 2011-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
45803 2011-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
45815 2011-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
45836 2011-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
45847 2011-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
45865 2011-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
45879 2011-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
45897 2011-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
45929 2011-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
45939 2011-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
45959 2011-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
45972 2011-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
45987 2011-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
46000 2011-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
46013 2011-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
46022 2011-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
46034 2011-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
46046 2011-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
46065 2011-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
46079 2011-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
46106 2011-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
46120 2011-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
46135 2011-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
46146 2011-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
46160 2011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
46161
46162         Unreviewed Qt buildfix after r83079.
46163
46164         * WebCore.pro:
46165
46166 2011-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
46182 2011-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
46197 2011-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
46226 2011-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
46252 2011-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
46273 2011-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
46456 2011-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
46478 2011-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
46491 2011-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
46504 2011-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
46559 2011-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
46618 2011-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
46628 2011-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
46637 2011-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
46677 2011-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
46690 2011-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
46696 2011-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
46714 2011-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
46733 2011-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
46740 2011-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
46749 2011-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
46761 2011-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
46775 2011-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
46803 2011-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
46813 2011-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
46824 2011-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
46836 2011-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
46848 2011-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
46871 2011-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
46893 2011-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
46904 2011-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
46923 2011-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
46944 2011-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
46955 2011-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
46979 2011-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
46991 2011-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
47003 2011-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
47016 2011-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
47026 2011-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
47046 2011-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
47058 2011-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
47067 2011-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
47074 2011-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
47081 2011-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
47091 2011-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
47117 2011-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
47129 2011-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
47143 2011-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
47154 2011-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
47169 2011-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
47179 2011-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
47195 2011-04-05  Patrick Gansterer  <paroga@webkit.org>
47196
47197         Unreviewed EFL build fix for r82962.
47198
47199         * CMakeListsEfl.txt:
47200
47201 2011-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
47289 2011-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
47327 2011-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
47344 2011-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
47360 2011-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
47386 2011-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
47404 2011-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
47440 2011-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
47466 2011-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
47508 2011-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
47523 2011-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
47534 2011-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
47544 2011-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
47560 2011-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
47580 2011-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
47592 2011-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
47605 2011-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
47615 2011-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
47655 2011-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
47667 2011-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
47686 2011-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
47700 2011-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
47716 2011-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
47724 2011-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
47754 2011-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
47786 2011-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
47849 2011-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
47876 2011-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
47888 2011-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
47944 2011-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
47969 2011-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
48017 2011-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
48080 2011-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
48144 2011-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
48157 2011-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
48163 2011-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
48169 2011-04-04  Andy Estes  <aestes@apple.com>
48170
48171         Fix the Mac build.
48172
48173         * WebCore.exp.in:
48174
48175 2011-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
48189 2011-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
48196 2011-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
48210 2011-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
48221 2011-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
48228 2011-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
48243 2011-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
48255 2011-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
48278 2011-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
48299 2011-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
48317 2011-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
48328 2011-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
48342 2011-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
48358 2011-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
48379 2011-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
48396 2011-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
48407 2011-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
48417 2011-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
48434 2011-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
48456 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
48457
48458         Unreviewed. Fix Qt minimal build.
48459
48460         * inspector/InspectorFrontendChannel.h:
48461
48462 2011-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
48481 2011-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
48496 2011-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
48519 2011-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
48528 2011-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
48545 2011-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
48570 2011-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
48595 2011-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
48606 2011-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
48617 2011-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
48630 2011-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
48642 2011-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
48660 2011-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
48681 2011-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
48698 2011-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
48742 2011-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
48759 2011-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
48779 2011-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
48793 2011-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
48811 2011-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
48823 2011-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
48845 2011-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
48853 2011-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
48867 2011-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
48882 2011-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
48892 2011-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
48903 2011-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
48975 2011-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
48989 2011-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
49002 2011-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
49025 2011-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
49037 2011-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
49046 2011-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
49062 2011-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
49069 2011-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
49080 2011-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
49139 2011-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
49153 2011-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
49188 2011-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
49242 2011-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
49262 2011-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
49292 2011-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
49304 2011-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
49319 2011-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
49336 2011-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
49352 2011-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
49374 2011-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
49419 2011-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
49454 2011-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
49468 2011-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
49477 2011-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
49487 2011-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
49501 2011-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
49516 2011-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
49530 2011-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
49549 2011-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
49563 2011-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
49572 2011-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
49582 2011-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
49600 2011-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
49638 2011-04-01  Kent Tamura  <tkent@chromium.org>
49639
49640         Apply sort-Xcode-project-file.
49641
49642         * WebCore.xcodeproj/project.pbxproj:
49643
49644 2011-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
49655 2011-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
49672 2011-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
49683 2011-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
49697 2011-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
49734 2011-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
49752 2011-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
49790 2011-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
49804 2011-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
49829 2011-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
49851 2011-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
49858 2011-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
49893 2011-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
49906 2011-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
49933 2011-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
49943 2011-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
49953 2011-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
49967 2011-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
50030 2011-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
50142 2011-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
50179 2011-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
50194 2011-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
50205 2011-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
50220 2011-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
50270 2011-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
50279 2011-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
50296 2011-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
50314 2011-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
50331 2011-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
50338 2011-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
50350 2011-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
50377 2011-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
50422 2011-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
50477 2011-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
50498 2011-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
50507 2011-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
50539 2011-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
50601 2011-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
50617 2011-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
50643 2011-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
50680 2011-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
50705 2011-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
50714 2011-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
50737 2011-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
50753 2011-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
50789 2011-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
50804 2011-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
50821 2011-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
50833 2011-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
50842 2011-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
50855 2011-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
50866 2011-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
50888 2011-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
50904 2011-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
50917 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
50918
50919         Try once more to fix the EFL build.
50920
50921         * platform/efl/RenderThemeEfl.cpp:
50922
50923 2011-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
50939 2011-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
50954 2011-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
50966 2011-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
50980 2011-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
50995 2011-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
51020 2011-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
51061 2011-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
51076 2011-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
51088 2011-03-30  Patrick Gansterer  <paroga@webkit.org>
51089
51090         Unreviewed WinCE build fix for r82465.
51091
51092         * CMakeListsWinCE.txt:
51093
51094 2011-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
51105 2011-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
51122 2011-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
51136 2011-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
51154 2011-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
51196 2011-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
51213 2011-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
51230 2011-03-30  Sam Weinig  <sam@webkit.org>
51231
51232         Fix Leopard build.
51233
51234         * platform/DefaultLocalizationStrategy.cpp:
51235         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
51236
51237 2011-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
51278 2011-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
51298 2011-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
51316 2011-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
51325 2011-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
51339 2011-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
51370 2011-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
51376 2011-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
51388 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
51389
51390         Unreviewed. Build fix.
51391
51392         * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
51393
51394 2011-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
51532 2011-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
51556 2011-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
51652 2011-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
51659 2011-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
51795 2011-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
51809 2011-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
51818 2011-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
51860 2011-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
51905 2011-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
51935 2011-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
51950 2011-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
51960 2011-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
51989 2011-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
52044 2011-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
52059 2011-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
52075 2011-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
52089 2011-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
52110 2011-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
52129 2011-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
52143 2011-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
52165 2011-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
52171 2011-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
52188 2011-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
52217 2011-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
52231 2011-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
52251 2011-03-29  Anders Carlsson  <andersca@apple.com>
52252
52253         Fix build.
52254
52255         * WebCore.exp.in:
52256
52257 2011-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
52280 2011-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
52292 2011-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
52305 2011-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
52322 2011-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
52343 2011-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
52359 2011-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
52382 2011-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
52410 2011-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
52431 2011-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
52437 2011-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
52450 2011-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
52460 2011-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
52494 2011-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
52516 2011-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
52529 2011-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
52547 2011-03-29  Anders Carlsson  <andersca@apple.com>
52548
52549         Fix clang build.
52550
52551         * platform/text/BidiResolver.h:
52552         (WebCore::::createBidiRunsForLine):
52553
52554 2011-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
52581 2011-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
52596 2011-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
52615 2011-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
52635 2011-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
52662 2011-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
52669 2011-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
52683 2011-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
52701 2011-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
52778 2011-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
52818 2011-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
52840 2011-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
52857 2011-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
52879 2011-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
52897 2011-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
52923 2011-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
52947 2011-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
52971 2011-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
52980 2011-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
53012 2011-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
53030 2011-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
53050 2011-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
53068 2011-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
53086 2011-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
53111 2011-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
53144 2011-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
53206 2011-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
53220 2011-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
53270 2011-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
53282 2011-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
53325 2011-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
53344 2011-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
53362 2011-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
53396 2011-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
53410 2011-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
53447 2011-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
53465 2011-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
53472 2011-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
53485 2011-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
53500 2011-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
53518 2011-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
53535 2011-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
53547 2011-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
53578 2011-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
53603 2011-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
53620 2011-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
53647 2011-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
53659 2011-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
53674 2011-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
53689 2011-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
53701 2011-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
53736 2011-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
53762 2011-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
53779 2011-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
53825 2011-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
53837 2011-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
53848 2011-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
53862 2011-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
53915 2011-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
53928 2011-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
53951 2011-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
53970 2011-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
53984 2011-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
53997 2011-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
54025 2011-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
54036 2011-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
54056 2011-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
54070 2011-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
54091 2011-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
54100 2011-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
54111 2011-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
54126 2011-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
54165 2011-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
54192 2011-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
54232 2011-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
54249 2011-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
54268 2011-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
54296 2011-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
54335 2011-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
54351 2011-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
54381 2011-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
54456 2011-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
54485 2011-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
54526 2011-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
54539 2011-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
54553 2011-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
54579 2011-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
54593 2011-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
54612 2011-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
54624 2011-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
54644 2011-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
54667 2011-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
54682 2011-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
54693 2011-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
54714 2011-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
54729 2011-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
54741 2011-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
54751 2011-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
54764 2011-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
54776 2011-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
54825 2011-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
54838 2011-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
54845 2011-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
54857 2011-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
54931 2011-03-26  Patrick Gansterer  <paroga@webkit.org>
54932
54933         Unreviewed EFL and WinCE build fix for r81977.
54934
54935         * platform/graphics/FontPlatformData.h:
54936
54937 2011-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
54944 2011-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
54950 2011-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
54968 2011-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
55020 2011-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
55042 2011-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
55059 2011-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
55077 2011-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
55217 2011-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
55231 2011-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
55281 2011-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
55319 2011-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
55395 2011-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
55405 2011-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
55420 2011-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
55429 2011-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
55437 2011-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
55471 2011-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
55493 2011-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
55515 2011-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
55569 2011-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
55584 2011-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
55622 2011-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
55635 2011-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
55657 2011-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
55812 2011-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
55825 2011-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
55838 2011-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
55853 2011-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
55880 2011-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
55912 2011-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
55923 2011-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
55956 2011-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
55968 2011-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
55983 2011-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
56013 2011-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
56027 2011-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
56041 2011-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
56073 2011-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
56094 2011-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
56116 2011-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
56130 2011-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
56144 2011-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
56164 2011-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
56189 2011-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
56236 2011-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
56262 2011-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
56282 2011-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
56291 2011-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
56303 2011-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
56315 2011-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
56339 2011-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
56356 2011-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
56376 2011-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
56396 2011-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
56407 2011-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
56435 2011-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
56457 2011-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
56481 2011-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
56491 2011-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
56512 2011-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
56540 2011-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
56561 2011-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
56572 2011-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
56585 2011-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
56608 2011-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
56620 2011-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
56659 2011-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
56728 2011-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
56737 2011-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
56781 2011-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
56796 2011-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
56815 2011-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
56834 2011-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
56876 2011-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
56907 2011-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
56932 2011-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
56944 2011-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
56960 2011-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
56980 2011-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
56987 2011-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
57005 2011-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
57013 2011-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
57019 2011-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
57035 2011-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
57054 2011-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
57092 2011-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
57112 2011-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
57150 2011-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
57210 2011-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
57235 2011-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
57247 2011-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
57266 2011-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
57287 2011-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
57300 2011-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
57347 2011-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
57366 2011-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
57382 2011-03-23  Anders Carlsson  <andersca@apple.com>
57383
57384         Fix clang build.
57385
57386         * inspector/DOMNodeHighlighter.cpp:
57387         Remove an unused function.
57388
57389 2011-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
57416 2011-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
57430 2011-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
57447 2011-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
57463 2011-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
57478 2011-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
57493 2011-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
57530 2011-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
57546 2011-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
57614 2011-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
57622 2011-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
57633 2011-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
57663 2011-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
57670 2011-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
57680 2011-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
57689 2011-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
57706 2011-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
57724 2011-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
57743 2011-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
57750 2011-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
57762 2011-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
57779 2011-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
57804 2011-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
57816 2011-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
57863 2011-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
57935 2011-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
57954 2011-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
57979 2011-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
57991 2011-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
58006 2011-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
58066 2011-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
58095 2011-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
58140 2011-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
58252 2011-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
58293 2011-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
58305 2011-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
58340 2011-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
58354 2011-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
58361 2011-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
58375 2011-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
58388 2011-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
58404 2011-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
58432 2011-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
58452 2011-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
58464 2011-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
58477 2011-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
58571 2011-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
58583 2011-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
58593 2011-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
58616 2011-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
58634 2011-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
58653 2011-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
58664 2011-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
58690 2011-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
58702 2011-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
58716 2011-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
58729 2011-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
58749 2011-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
58772 2011-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
58805 2011-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
58822 2011-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
58843 2011-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
58863 2011-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
58890 2011-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
58916 2011-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
58955 2011-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
58968 2011-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
58980 2011-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
59003 2011-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
59017 2011-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
59040 2011-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
59089 2011-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
59107 2011-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
59120 2011-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
59136 2011-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
59163 2011-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
59179 2011-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
59197 2011-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
59215 2011-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
59225 2011-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
59239 2011-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
59251 2011-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
59259 2011-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
59273 2011-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
59315 2011-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
59355 2011-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
59365 2011-03-21  Philippe Normand  <pnormand@igalia.com>
59366
59367         Unreviewed, GTK distcheck build fix.
59368
59369         * GNUmakefile.am:
59370
59371 2011-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
59385 2011-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
59407 2011-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
59524 2011-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
59546 2011-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
59600 2011-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
59657 2011-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
59679 2011-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
59692 2011-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
59702 2011-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
59729 2011-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
59755 2011-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
59777 2011-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
59791 2011-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
59829 2011-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
59846 2011-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
59865 2011-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
59878 2011-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
59925 2011-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
59941 2011-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
59971 2011-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
59985 2011-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
60000 2011-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
60029 2011-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
60047 2011-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
60063 2011-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
60078 2011-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
60090 2011-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
60196 2011-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
60207 2011-03-18  Andreas Kling  <kling@webkit.org>
60208
60209         Reverting accidental changes in r81498.
60210
60211 2011-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
60233 2011-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
60260 2011-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
60279 2011-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
60311 2011-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
60336 2011-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
60400 2011-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
60406 2011-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
60422 2011-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
60444 2011-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
60463 2011-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
60502 2011-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
60514 2011-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
60524 2011-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
60535 2011-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
60552 2011-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
60575 2011-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
60591 2011-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
60612 2011-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
60623 2011-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
60635 2011-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
60649 2011-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
60667 2011-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
60680 2011-03-17  Sam Weinig  <sam@webkit.org>
60681
60682         Fix Mac build.
60683
60684         * WebCore.exp.in:
60685         Add missing symbol.
60686
60687 2011-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
60706 2011-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
60743 2011-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
60778 2011-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
60817 2011-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
60876 2011-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
60911 2011-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
60920 2011-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
60975 2011-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
61081 2011-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
61097 2011-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
61127 2011-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
61197 2011-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
61209 2011-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
61220 2011-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
61230 2011-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
61241 2011-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
61254 2011-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
61269 2011-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
61280 2011-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
61294 2011-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
61304 2011-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
61317 2011-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
61329 2011-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
61354 2011-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
61366 2011-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
61398 2011-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
61413 2011-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
61440 2011-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
61476 2011-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
61492 2011-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
61504 2011-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
61522 2011-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
61534 2011-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
61553 2011-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
61576 2011-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
61588 2011-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
61595 2011-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
61603 2011-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
61618 2011-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
61630 2011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
61631
61632         [Qt] Buildfix after r81230.
61633
61634         * WebCore.pri: Missing include path added.
61635
61636 2011-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
61698 2011-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
61712 2011-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
61733 2011-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
61786 2011-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
61808 2011-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
61820 2011-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
61840 2011-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
61895 2011-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
61907 2011-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
61922 2011-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
61938 2011-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
61972 2011-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
61984 2011-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
62002 2011-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
62037 2011-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
62056 2011-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
62067 2011-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
62085 2011-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
62092 2011-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
62099 2011-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
62151 2011-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
62157 2011-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
62163 2011-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
62241 2011-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
62250 2011-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
62261 2011-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
62270 2011-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
62283 2011-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
62297 2011-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
62351 2011-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
62517 2011-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
62546 2011-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
62590 2011-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
62605 2011-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
62647 2011-03-15  Anders Carlsson  <andersca@apple.com>
62648
62649         Fix clang build.
62650
62651         * platform/graphics/GraphicsContext3D.h:
62652         * platform/graphics/GraphicsLayer.h:
62653
62654 2011-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
62668 2011-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
62680 2011-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
62851 2011-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
62862 2011-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
62921 2011-03-15  Beth Dakin  <bdakin@apple.com>
62922
62923         Attempted build fix.
62924
62925         * platform/mac/ScrollAnimatorMac.mm:
62926         (WebCore::ScrollAnimatorMac::cancelAnimations):
62927
62928 2011-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
62941 2011-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
62965 2011-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
63029 2011-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
63038 2011-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
63059 2011-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
63073 2011-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
63089 2011-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
63147 2011-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
63160 2011-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
63171 2011-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
63183 2011-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
63193 2011-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
63204 2011-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
63218 2011-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
63237 2011-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
63249 2011-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
63265 2011-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
63283 2011-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
63302 2011-03-14  Sam Weinig  <sam@webkit.org>
63303
63304         Mac build fix. Part 1 of N.
63305
63306         * WebCore.exp.in:
63307
63308 2011-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
63325 2011-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
63342 2011-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
63360 2011-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
63368 2011-03-14  Adam Barth  <abarth@webkit.org>
63369
63370         Attempted Chromium build fix.  Exclude AllInOne harder.
63371
63372         * WebCore.gyp/WebCore.gyp:
63373
63374 2011-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
63395 2011-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
63411 2011-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
63429 2011-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
63461 2011-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
63474 2011-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
63489 2011-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
63499 2011-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
63525 2011-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
63540 2011-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
63572 2011-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
63588 2011-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
63602 2011-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
63619 2011-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
63634 2011-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
63645 2011-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
63667 2011-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
63677 2011-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
63707 2011-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
63721 2011-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
63733 2011-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
63758 2011-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
63770 2011-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
63784 2011-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
63928 2011-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
63953 2011-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
64007 2011-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
64018 2011-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
64076 2011-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
64124 2011-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
64135 2011-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
64152 2011-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
64161 2011-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
64171 2011-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
64196 2011-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
64210 2011-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
64280 2011-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
64295 2011-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
64306 2011-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
64349 2011-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
64377 2011-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
64388 2011-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
64416 2011-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
64430 2011-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
64442 2011-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
64452 2011-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
64460 2011-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
64467 2011-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
64475 2011-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
64493 2011-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
64503 2011-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
64532 2011-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
64557 2011-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
64571 2011-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
64588 2011-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
64602 2011-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
64640 2011-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
64655 2011-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
64664 2011-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
64675 2011-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
64688 2011-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
64697 2011-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
64711 2011-03-12  Patrick Gansterer  <paroga@webkit.org>
64712
64713         Unreviewed WinCE build fix for r80900.
64714
64715         * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
64716
64717 2011-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
64725 2011-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
64732 2011-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
64739 2011-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
64747 2011-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
64801 2011-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
64814 2011-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
64824 2011-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
64872 2011-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
64886 2011-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
64898 2011-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
64912 2011-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
64919 2011-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
64929 2011-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
64938 2011-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
64944 2011-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
64951 2011-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
64962 2011-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
64974 2011-03-11  Brady Eidson  <beidson@apple.com>
64975
64976         Windows build fix.
64977
64978         * history/HistoryItem.cpp:
64979         * loader/icon/IconDatabaseBase.cpp:
64980
64981 2011-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
65033 2011-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
65039 2011-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
65050 2011-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
65106 2011-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
65160 2011-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
65251 2011-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
65263 2011-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
65278 2011-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
65294 2011-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
65306 2011-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
65338 2011-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
65379 2011-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
65402 2011-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
65416 2011-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
65431 2011-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
65445 2011-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
65484 2011-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
65500 2011-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
65517 2011-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
65558 2011-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
65566 2011-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
65578 2011-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
65611 2011-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
65640 2011-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
65655 2011-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
65666 2011-03-11  Dean Jackson  <dino@apple.com>
65667
65668         Unreviewed build fix for QT.
65669
65670         * WebCore.pro:
65671
65672 2011-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
65765 2011-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
65866 2011-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
65979 2011-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
65995 2011-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
66009 2011-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
66113 2011-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
66226 2011-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
66285 2011-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
66299 2011-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
66318 2011-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
66348 2011-03-11  Brian Salomon  <bsalomon@google.com>
66349
66350         Reviewed by Kenneth Russell.
66351
66352         Adds GrContext flush call to PlatformContextSkia destructor. 
66353 Calls GrContext flush with int parameter instead of bool due to skia 
66354 revision.       
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
66364 2011-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
66374 2011-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
66389 2011-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
66399 2011-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
66432 2011-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
66452 2011-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
66496 2011-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
66529 2011-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
66544 2011-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
66558 2011-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
66591 2011-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
66625 2011-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
66647 2011-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
66655 2011-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
66720 2011-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
66749 2011-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
66777 2011-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
66790 2011-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
66833 2011-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
66847 2011-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
66859 2011-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
66872 2011-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
66905 2011-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
66926 2011-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
66955 2011-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
66969 2011-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
66980 2011-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
66990 2011-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
67007 2011-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
67024 2011-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
67040 2011-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
67079 2011-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
67087 2011-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
67096 2011-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
67119 2011-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
67136 2011-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
67162 2011-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
67177 2011-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
67200 2011-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
67252 2011-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
67273 2011-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
67314 2011-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
67336 2011-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
67354 2011-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
67367 2011-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
67396 2011-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
67409 2011-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
67434 2011-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
67464 2011-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
67477 2011-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
67489 2011-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
67499 2011-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
67517 2011-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
67537 2011-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
67596 2011-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
67605 2011-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
67635 2011-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
67660 2011-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
67699 2011-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
67719 2011-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
67734 2011-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
67804 2011-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
67829 2011-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
67849 2011-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
67860 2011-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
67875 2011-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
67881 2011-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
67888 2011-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
67919 2011-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
67936 2011-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
67951 2011-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
67978 2011-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
67998 2011-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
68019 2011-03-09  Gavin Barraclough  <barraclough@apple.com>
68020
68021         Qt build fix.
68022
68023         * bridge/qt/qt_runtime.cpp:
68024         (JSC::Bindings::convertQVariantToValue):
68025
68026 2011-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
68053 2011-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
68065 2011-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
68081 2011-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
68096 2011-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
68112 2011-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
68125 2011-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
68138 2011-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
68156 2011-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
68171 2011-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
68189 2011-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
68196 2011-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
68210 2011-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
68223 2011-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
68242 2011-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
68259 2011-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
68269 2011-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
68278 2011-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
68295 2011-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
68304 2011-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
68313 2011-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
68330 2011-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
68357 2011-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
68380 2011-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
68412 2011-03-08  James Robinson  <jamesr@chromium.org>
68413
68414         Chromium compile fix.
68415
68416         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
68417         (WebCore::SimpleFontData::platformInit):
68418
68419 2011-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
68443 2011-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
68454 2011-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
68461 2011-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
68499 2011-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
68511 2011-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
68519 2011-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
68543 2011-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
68559 2011-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
68571 2011-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
68689 2011-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
68715 2011-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
68730 2011-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
68743 2011-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
68755 2011-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
68769 2011-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
68784 2011-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
68803 2011-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
68819 2011-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
68843 2011-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
68857 2011-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
68890 2011-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
68903 2011-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
68917 2011-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
68949 2011-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
68958 2011-03-08  Philippe Normand  <pnormand@igalia.com>
68959
68960         Unreviewed, GTK build fix after r80536
68961
68962         * GNUmakefile.am:
68963
68964 2011-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
68977 2011-03-07  Daniel Cheng  <dcheng@chromium.org>
68978
68979         Unreviewed.
68980
68981         Final build fix for r80536.
68982
68983         * DerivedSources.make:
68984
68985 2011-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
69002 2011-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
69012 2011-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
69029 2011-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
69038 2011-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
69048 2011-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
69114 2011-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
69148 2011-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
69172 2011-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
69186 2011-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
69200 2011-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
69213 2011-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
69229 2011-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
69247 2011-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
69264 2011-03-07  Andreas Kling  <kling@webkit.org>
69265
69266         Unreviewed Mac build fix after r80508.
69267
69268         * WebCore.exp.in:
69269
69270 2011-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
69283 2011-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
69293 2011-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
69308 2011-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
69319 2011-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
69326 2011-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
69336 2011-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
69345 2011-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
69364 2011-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
69389 2011-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
69401 2011-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
69423 2011-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
69448 2011-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
69462 2011-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
69475 2011-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
69493 2011-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
69510 2011-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
69522 2011-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
69547 2011-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
69571 2011-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
69623 2011-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
69635 2011-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
69642 2011-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
69668 2011-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
69686 2011-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
69705 2011-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
69723 2011-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
69765 2011-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
69804 2011-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
69836 2011-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
69851 2011-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
69868 2011-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
69893 2011-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
70015 2011-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
70033 2011-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
70043 2011-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
70056 2011-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
70072 2011-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
70087 2011-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
70096 2011-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
70139 2011-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
70164 2011-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
70211 2011-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
70271 2011-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
70282 2011-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
70304 2011-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
70318 2011-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
70339 2011-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
70351 2011-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
70359 2011-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
70370 2011-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
70379 2011-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
70394 2011-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
70417 2011-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
70432 2011-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
70444 2011-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
70492 2011-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
70507 2011-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
70517 2011-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
70543 2011-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
70557 2011-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
70579 2011-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
70588 2011-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
70597 2011-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
70609 2011-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
70620 2011-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
70639 2011-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
70655 2011-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
70686 2011-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
70705 2011-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
70764 2011-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
70797 2011-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
70813 2011-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
70825 2011-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
70838 2011-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
70868 2011-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
70902 2011-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
70915 2011-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
70923 2011-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
70972 2011-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
70997 2011-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
71010 2011-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
71033 2011-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
71079 2011-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
71110 2011-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
71129 2011-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
71144 2011-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
71157 2011-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
71171 2011-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
71186 2011-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
71213 2011-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
71231 2011-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
71281 2011-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
71307 2011-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
71321 2011-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
71328 2011-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
71335 2011-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
71361 2011-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
71382 2011-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
71414 2011-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
71424 2011-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
71510 2011-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
71524 2011-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
71533 2011-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
71604 2011-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
71618 2011-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
71631 2011-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
71653 2011-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
71680 2011-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
71697 2011-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
71723 2011-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
71746 2011-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
71752 2011-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
71765 2011-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
71797 2011-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
71809 2011-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
71821 2011-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
71856 2011-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
71869 2011-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
71897 2011-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
71905 2011-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
71918 2011-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
71926 2011-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
71932 2011-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
71946 2011-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
71953 2011-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
71967 2011-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
71995 2011-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
72006 2011-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
72013 2011-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
72028 2011-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
72037 2011-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
72060 2011-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
72070 2011-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
72077 2011-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
72089 2011-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
72105 2011-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
72112 2011-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
72125 2011-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
72154 2011-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
72167 2011-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
72180 2011-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
72201 2011-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
72249 2011-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
72264 2011-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
72283 2011-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
72376 2011-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
72385 2011-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
72409 2011-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
72422 2011-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
72434 2011-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
72467 2011-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
72482 2011-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
72556 2011-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
72565 2011-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
72583 2011-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
72594 2011-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
72604 2011-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
72654 2011-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
72729 2011-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
72798 2011-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
72810 2011-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
72816 2011-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
72908 2011-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
72918 2011-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
72925 2011-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
72948 2011-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
72966 2011-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
72974 2011-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
73016 2011-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
73057 2011-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
73064 2011-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
73095 2011-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
73140 2011-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
73166 2011-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
73174 2011-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
73181 2011-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
73216 2011-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
73287 2011-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
73301 2011-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
73312 2011-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
73318 2011-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
73340 2011-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
73368 2011-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
73384 2011-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
73492 2011-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
73543 2011-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
73551 2011-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
73592 2011-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
73604 2011-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
73618 2011-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
73631 2011-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
73683 2011-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
73756 2011-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
73814 2011-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
73832 2011-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
73864 2011-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
73888 2011-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
73898 2011-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
73909 2011-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
73935 2011-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
73977 2011-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
73999 2011-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
74012 2011-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
74069 2011-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
74095 2011-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
74107 2011-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
74157 2011-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
74168 2011-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
74181 2011-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
74197 2011-03-01  Dan Bernstein  <mitz@apple.com>
74198
74199         Build fix.
74200
74201         * dom/DocumentMarkerController.cpp:
74202         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
74203
74204 2011-03-01  Kent Tamura  <tkent@chromium.org>
74205
74206         Unreviewed. Apply sort-Xcode-project-file.
74207
74208         * WebCore.xcodeproj/project.pbxproj:
74209
74210 2011-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
74322 2011-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
74335 2011-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
74356 2011-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
74381 2011-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
74468 2011-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
74528 2011-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
74546 2011-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
74564 2011-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
74573 2011-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
74585 2011-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
74596 2011-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
74605 2011-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
74653 2011-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
74665 2011-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
74709 2011-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
74798 2011-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
74818 2011-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
74829 2011-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
74865 2011-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
74925 2011-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
74938 2011-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
75037 2011-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
75059 2011-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
75081 2011-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
75099 2011-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
75112 2011-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
75148 2011-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
75158 2011-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
75172 2011-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
75194 2011-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
75201 2011-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
75212 2011-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
75232 2011-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
75286 2011-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
75393 2011-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
75421 2011-03-01  Philippe Normand  <pnormand@igalia.com>
75422
75423         Unreviewed GTK build fix after r79978
75424
75425         * GNUmakefile.am:
75426
75427 2011-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
75437 2011-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
75445 2011-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
75475 2011-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
75507 2011-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
75513 2011-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
75531 2011-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
75558 2011-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
75577 2011-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
75587 2011-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
75601 2011-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
75621 2011-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
75632 2011-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
75652 2011-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
75664 2011-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
75684 2011-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
75697 2011-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
75749 2011-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
75761 2011-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
75789 2011-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
75814 2011-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
75826 2011-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
75859 2011-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
75868 2011-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
75885 2011-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
75918 2011-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
75933 2011-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
75946 2011-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
75960 2011-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
75979 2011-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
75994 2011-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
76008 2011-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
76039 2011-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
76052 2011-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
76059 2011-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
76109 2011-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
76140 2011-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
76168 2011-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
76181 2011-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
76188 2011-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
76205 2011-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
76212 2011-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
76278 2011-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
76358 2011-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
76382 2011-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
76394 2011-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
76428 2011-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
76436 2011-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
76451 2011-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
76483 2011-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
76493 2011-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
76506 2011-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
76521 2011-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
76541 2011-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
76563 2011-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
76589 2011-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
76631 2011-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
76646 2011-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
76660 2011-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
76672 2011-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
76688 2011-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
76703 2011-02-26  Pavel Feldman  <pfeldman@chromium.org>
76704
76705         Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
76706
76707 2011-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
76714 2011-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
76776 2011-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
76800 2011-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
76815 2011-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
76826 2011-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
76838 2011-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
76874 2011-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
76886 2011-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
76922 2011-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
76932 2011-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
76968 2011-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
76982 2011-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
76994 2011-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
77013 2011-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
77027 2011-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
77065 2011-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
77088 2011-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
77100 2011-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
77116 2011-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
77145 2011-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
77156 2011-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
77178 2011-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
77184 2011-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
77233 2011-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
77242 2011-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
77254 2011-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
77272 2011-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
77299 2011-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
77324 2011-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
77346 2011-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
77354 2011-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
77366 2011-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
77375 2011-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
77396 2011-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
77432 2011-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
77443 2011-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
77456 2011-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
77465 2011-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
77481 2011-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
77528 2011-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
77540 2011-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
77555 2011-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
77567 2011-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
77581 2011-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
77655 2011-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
77697 2011-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
77739 2011-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
77760 2011-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
77779 2011-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
77885 2011-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
77896 2011-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
77906 2011-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
77915 2011-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
77927 2011-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
77944 2011-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
77958 2011-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
77985 2011-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
77996 2011-02-24  Oliver Hunt  <oliver@apple.com>
77997
77998         Build fix
77999
78000         * bindings/js/JSBindingsAllInOne.cpp:
78001
78002 2011-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
78027 2011-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
78079 2011-02-24  James Robinson  <jamesr@chromium.org>
78080
78081         Fix chromium compile.
78082
78083         * bindings/v8/custom/V8LocationCustom.cpp:
78084         (WebCore::V8Location::toStringCallback):
78085
78086 2011-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
78112 2011-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
78127 2011-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
78138 2011-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
78174 2011-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
78187 2011-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
78201 2011-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
78207 2011-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
78223 2011-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
78253 2011-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
78271 2011-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
78283 2011-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
78294 2011-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
78305 2011-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
78319 2011-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
78344 2011-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
78382 2011-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
78398 2011-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
78412 2011-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
78449 2011-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
78461 2011-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
78481 2011-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
78510 2011-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
78519 2011-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
78530 2011-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
78574 2011-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
78590 2011-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
78604 2011-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
78620 2011-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
78634 2011-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
78656 2011-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
78672 2011-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
78689 2011-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
78698 2011-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
78705 2011-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
78780 2011-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
78819 2011-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
78857 2011-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
78871 2011-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
78904 2011-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
78919 2011-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
78934 2011-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
78945 2011-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
78961 2011-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
79011 2011-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
79030 2011-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
79052 2011-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
79060 2011-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
79072 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
79073
79074         Unreviewed. Fix the build with GTK+ 3.
79075
79076         * plugins/PluginView.h:
79077
79078 2011-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
79119 2011-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
79144 2011-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
79157 2011-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
79169 2011-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
79207 2011-02-23  Anders Carlsson  <andersca@apple.com>
79208
79209         Fix build.
79210
79211         * platform/mac/HTMLConverter.h:
79212
79213 2011-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
79235 2011-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
79248 2011-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
79271 2011-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
79296 2011-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
79308 2011-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
79321 2011-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
79342 2011-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
79354 2011-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
79366 2011-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
79378 2011-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
79392 2011-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
79403 2011-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
79416 2011-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
79442 2011-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
79451 2011-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
79460 2011-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
79467 2011-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
79481 2011-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
79508 2011-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
79550 2011-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
79572 2011-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
79589 2011-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
79604 2011-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
79617 2011-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
79671 2011-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
79685 2011-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
79695 2011-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
79709 2011-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
79723 2011-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
79734 2011-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
79779 2011-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
79812 2011-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
79824 2011-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
79875 2011-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
79887 2011-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
79898 2011-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
79916 2011-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
79936 2011-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
79953 2011-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
79964 2011-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
79978 2011-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
79987 2011-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
80025 2011-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
80040 2011-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
80055 2011-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
80066 2011-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
80097 2011-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
80108 2011-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
80120 2011-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
80131 2011-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
80166 2011-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
80179 2011-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
80193 2011-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
80210 2011-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
80255 2011-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
80272 2011-02-22  Anders Carlsson  <andersca@apple.com>
80273
80274         Fix debug build.
80275
80276         * WebCore.exp.in:
80277
80278 2011-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
80290 2011-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
80306 2011-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
80319 2011-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
80329 2011-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
80370 2011-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
80389 2011-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
80407 2011-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
80425 2011-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
80438 2011-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
80454 2011-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
80467 2011-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
80515 2011-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
80590 2011-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
80601 2011-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
80643 2011-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
80673 2011-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
80688 2011-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
80705 2011-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
80733 2011-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
80753 2011-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
80771 2011-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
80787 2011-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
80799 2011-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
80817 2011-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
80834 2011-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
80848 2011-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
80875 2011-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
80886 2011-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
80903 2011-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
80911 2011-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
80924 2011-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
80934 2011-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
80946 2011-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
80960 2011-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
80992 2011-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
81006 2011-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
81020 2011-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
81026 2011-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
81047 2011-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
81062 2011-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
81076 2011-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
81082 2011-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
81096 2011-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
81132 2011-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
81150 2011-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
81160 2011-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
81230 2011-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
81239 2011-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
81261 2011-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
81292 2011-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
81301 2011-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
81310 2011-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
81326 2011-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
81341 2011-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
81356 2011-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
81365 2011-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
81394 2011-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
81413 2011-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
81434 2011-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
81454 2011-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
81484 2011-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
81495 2011-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
81513 2011-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
81596 2011-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
81605 2011-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
81615 2011-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
81625 2011-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
81645 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
81646
81647         Qt build fix.
81648
81649         * bridge/runtime_method.h:
81650         (JSC::RuntimeMethod::createStructure):
81651
81652 2011-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
81659 2011-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
81668 2011-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
81732 2011-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
81746 2011-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
81754 2011-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
81768 2011-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
81779 2011-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
81791 2011-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
81803 2011-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
81866 2011-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
81875 2011-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
81895 2011-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
81916 2011-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
81932 2011-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
81978 2011-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
81990 2011-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
82005 2011-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
82018 2011-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
82033 2011-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
82044 2011-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
82063 2011-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
82078 2011-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
82092 2011-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
82113 2011-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
82120 2011-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
82132 2011-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
82154 2011-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
82167 2011-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
82179 2011-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
82303 2011-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
82343 2011-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
82349 2011-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
82365 2011-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
82416 2011-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
82437 2011-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
82550 2011-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
82597 2011-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
82631 2011-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
82646 2011-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
82659 2011-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
82698 2011-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
82714 2011-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
82726 2011-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
82735 2011-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
82752 2011-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
82770 2011-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
82789 2011-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
82805 2011-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
82829 2011-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
82855 2011-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
82895 2011-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
82915 2011-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
82932 2011-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
82960 2011-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
82973 2011-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
82996 2011-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
83021 2011-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
83032 2011-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
83054 2011-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
83067 2011-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
83086 2011-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
83341 2011-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
83356 2011-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
83385 2011-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
83398 2011-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
83415 2011-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
83431 2011-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
83446 2011-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
83475 2011-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
83498 2011-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
83506 2011-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
83521 2011-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
83533 2011-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
83554 2011-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
83585 2011-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
83607 2011-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
83626 2011-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
83671 2011-02-16  Jeremy Orlow  <jorlow@chromium.org>
83672
83673         Fix uninitialized memory error.
83674
83675         * storage/IDBDatabaseBackendImpl.cpp:
83676         (WebCore::IDBDatabaseBackendImpl::close):
83677
83678 2011-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
83693 2011-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
83717 2011-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
83728 2011-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
83754 2011-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
83763 2011-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
83775 2011-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
83786 2011-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
83802 2011-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
83864 2011-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
83878 2011-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
83898 2011-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
83913 2011-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
83927 2011-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 ==