Unreviewed, rolling out r108263.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-20  Yuta Kitamura  <yutak@chromium.org>
2
3         Unreviewed, rolling out r108263.
4         http://trac.webkit.org/changeset/108263
5         https://bugs.webkit.org/show_bug.cgi?id=77856
6
7         Broke Chromium Windows build.
8
9         * platform/audio/DynamicsCompressor.cpp:
10         (WebCore::DynamicsCompressor::DynamicsCompressor):
11         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
12         (WebCore::DynamicsCompressor::process):
13         (WebCore::DynamicsCompressor::reset):
14         * platform/audio/DynamicsCompressor.h:
15         (WebCore::DynamicsCompressor::isStereo):
16         (DynamicsCompressor):
17         * platform/audio/DynamicsCompressorKernel.cpp:
18         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
19         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
20         (WebCore::DynamicsCompressorKernel::process):
21         (WebCore::DynamicsCompressorKernel::reset):
22         * platform/audio/DynamicsCompressorKernel.h:
23         (DynamicsCompressorKernel):
24         * webaudio/DynamicsCompressorNode.cpp:
25         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
26         (WebCore::DynamicsCompressorNode::initialize):
27
28 2012-02-20  Raymond Liu  <raymond.liu@intel.com>
29
30         Have the DynamicsCompressorNode support multi-channel data
31         https://bugs.webkit.org/show_bug.cgi?id=77856
32
33         Reviewed by Chris Rogers.
34
35         * platform/audio/DynamicsCompressor.cpp:
36         (WebCore::DynamicsCompressor::DynamicsCompressor):
37         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
38         (WebCore::DynamicsCompressor::process):
39         (WebCore::DynamicsCompressor::reset):
40         (WebCore::DynamicsCompressor::setNumberOfChannels):
41         (WebCore):
42         * platform/audio/DynamicsCompressor.h:
43         (DynamicsCompressor):
44         * platform/audio/DynamicsCompressorKernel.cpp:
45         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
46         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
47         (WebCore):
48         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
49         (WebCore::DynamicsCompressorKernel::process):
50         (WebCore::DynamicsCompressorKernel::reset):
51         * platform/audio/DynamicsCompressorKernel.h:
52         (DynamicsCompressorKernel):
53         * webaudio/DynamicsCompressorNode.cpp:
54         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
55         (WebCore::DynamicsCompressorNode::initialize):
56
57 2012-02-20  David Barton  <dbarton@mathscribe.com>
58
59         RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
60         https://bugs.webkit.org/show_bug.cgi?id=79039
61
62         Reviewed by Eric Seidel.
63
64         RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
65         steps. First we add a guard to restrict it to the intended PositionOnContainingLine
66         case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
67         some randomness, and tightens up the results of four existing test files.
68
69         Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
70
71         * rendering/mathml/RenderMathMLRow.cpp:
72         (WebCore::RenderMathMLRow::baselinePosition):
73
74 2012-02-18  Jon Lee  <jonlee@apple.com>
75
76         HTML input file control "No File Selected" needs more room in some languages
77         https://bugs.webkit.org/show_bug.cgi?id=32366
78         <rdar://problem/4481028>
79
80         Reviewed by David Hyatt.
81
82         The patch exposes a function to return the "no file(s) selected" label text.
83
84         * rendering/RenderTheme.cpp:
85         (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
86         file upload controls when nothing has been selected.
87         (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
88         * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
89
90         * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
91         platform implementations.
92         * rendering/RenderThemeMac.mm:
93         (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
94
95         Update fileListNameForWidth() to be a const function for platform implementations.
96         * platform/gtk/RenderThemeGtk.h:
97         * platform/gtk/RenderThemeGtk.cpp:
98         * platform/qt/RenderThemeQt.h:
99         * platform/qt/RenderThemeQt.cpp:
100
101         * rendering/RenderFileUploadControl.cpp:
102         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
103         of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
104         and include the button and after-button margin. Take the max of that and the original
105         default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
106         label text is too short.
107
108 2012-02-20  Gavin Barraclough  <barraclough@apple.com>
109
110         Rubber stamped by Sam Weinig.
111
112         * bindings/js/JSDOMWindowBase.cpp:
113         (WebCore::JSDOMWindowBase::allowsAccessFrom):
114             - Errk, remove dead code from end of function.
115
116 2012-02-16  Gavin Barraclough  <barraclough@apple.com>
117
118         Move special __proto__ property to Object.prototype
119         https://bugs.webkit.org/show_bug.cgi?id=78409
120
121         Reviewed by Oliver Hunt.
122
123         Re-implement this as a regular accessor property.  This has three key benefits:
124         1) It makes it possible for objects to be given properties named __proto__.
125         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
126         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
127
128         * bindings/js/JSDOMWindowBase.cpp:
129         (WebCore::JSDOMWindowBase::allowsAccessFrom):
130         (WebCore):
131             - expose allowsAccessFrom check to JSC.
132         * bindings/js/JSDOMWindowBase.h:
133         (JSDOMWindowBase):
134             - expose allowsAccessFrom check to JSC.
135
136 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
137
138         Make JSCSSStyleDeclaration work directly with CSS Property ID
139         https://bugs.webkit.org/show_bug.cgi?id=79014
140
141         Reviewed by Geoffrey Garen.
142
143         Previously, accessing the CSS property was done by converting from
144         the JavaScript name to the CSS name, then converting that name to a lowercase
145         character array, and finally getting the CSS property ID.
146
147         This patch cut the indirection and make the code go directly from the
148         JavaScript name conversion to the CSS property ID.
149
150         This improves the performance mainly due to the following:
151         -avoid dynamic memory allocation
152         -cut the conversion early when possible
153         -do not parse the string twice
154         The previous fast-path optimization was removed because it is no longer
155         necessary with this change.
156
157         The improvement are the following:
158         -previous fast-path: no change
159         -previous slow-path: ~3 times faster
160
161         Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
162         This just test the edge case of CSSPropertyName.
163
164         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
165         (WebCore::writeWebKitPrefix):
166         (WebCore::writeEpubPrefix):
167         (WebCore::cssPropertyIDForJSCSSPropertyName):
168         (WebCore::isCSSPropertyName):
169         (WebCore::JSCSSStyleDeclaration::nameGetter):
170         (WebCore::JSCSSStyleDeclaration::putDelegate):
171         * css/CSSParser.cpp:
172         (WebCore::cssPropertyID):
173         (WebCore):
174         (WebCore::cssPropertyNameIOSAliasing):
175         * css/CSSParser.h:
176         (WebCore):
177
178 2012-02-20  Dan Bernstein  <mitz@apple.com>
179
180         Updated Localizable.strings after r107440.
181
182         Rubber-stamped by Joseph Pecoraro.
183
184         * English.lproj/Localizable.strings:
185
186 2012-02-20  David Barton  <dbarton@mathscribe.com>
187
188         MathML internals - remove nonOperatorHeight(), hasBase()
189         https://bugs.webkit.org/show_bug.cgi?id=78977
190
191         Reviewed by Eric Seidel.
192
193         Stretchy operators, including embellished ones, should stretch to the largest height of
194         the non-stretchy items in the same explicit or implicit <mrow>.
195         RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
196         nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
197         improve this approximation, while also simplifying the code. More plainly, the code used
198         to skip all operators when estimating this height, instead of just the stretchy ones. We
199         continue to do that for now, but we more accurately skip all embellished operators
200         (using our currently implemented approximate definition of this), and use the simple and
201         true height of the remaining items. In case all items in the row are stretchy,
202         style()->fontSize() is better than using whatever heights these items currently happen
203         to be stretched to.
204
205         Test: mathml/presentation/mo-stretch.html, and many existing tests
206
207         * rendering/mathml/RenderMathMLBlock.cpp:
208         (WebCore):
209         * rendering/mathml/RenderMathMLBlock.h:
210         (WebCore::RenderMathMLBlock::unembellishedOperator):
211         * rendering/mathml/RenderMathMLRow.cpp:
212         (WebCore):
213         (WebCore::RenderMathMLRow::layout):
214         * rendering/mathml/RenderMathMLRow.h:
215         (WebCore::RenderMathMLRow::isRenderMathMLRow):
216         * rendering/mathml/RenderMathMLSubSup.cpp:
217         (WebCore):
218         * rendering/mathml/RenderMathMLSubSup.h:
219         (RenderMathMLSubSup):
220         * rendering/mathml/RenderMathMLUnderOver.cpp:
221         (WebCore):
222         * rendering/mathml/RenderMathMLUnderOver.h:
223         (RenderMathMLUnderOver):
224
225 2012-02-17  Anders Carlsson  <andersca@apple.com>
226
227         Stop the committer timer when the page is destroyed
228         https://bugs.webkit.org/show_bug.cgi?id=78907
229
230         Reviewed by Adam Roben.
231
232         We don't want the committer timer to fire after the scrolling tree has been invalidated,
233         so stop the committer timer to prevent it from firing and trying to access the scrolling tree.
234
235         * page/scrolling/ScrollingCoordinator.cpp:
236         (WebCore::ScrollingCoordinator::pageDestroyed):
237
238 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
239
240         [WIN] Allow compiling FileSystem without CoreFoundation.
241         https://bugs.webkit.org/show_bug.cgi?id=79032
242
243         Reviewed by Adam Roben.
244
245         Add #if USE(CF) around code using the CoreFoundation functions.
246
247         * platform/FileSystem.h:
248         * platform/win/FileSystemWin.cpp:
249
250 2012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>
251
252         [BlackBerry] Upstream the first few files in platform/graphics/blackberry
253         https://bugs.webkit.org/show_bug.cgi?id=79023
254
255         Reviewed by Antonio Gomes.
256
257         Initial upstreaming, no new tests.
258
259         * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
260         (WebCore):
261         (WebCore::FloatPoint::FloatPoint):
262         (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
263         * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
264         (WebCore):
265         (WebCore::FloatRect::FloatRect):
266         (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
267         * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
268         (WebCore):
269         (WebCore::FloatSize::FloatSize):
270         (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
271         * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
272         (WebCore):
273         (WebCore::IntPoint::IntPoint):
274         (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
275         * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
276         (WebCore):
277         (WebCore::IntRect::IntRect):
278         (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
279         * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
280         (WebCore):
281         (WebCore::IntSize::IntSize):
282         (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
283
284 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
285
286         [WIN] Share openTemporaryFile with WinCE
287         https://bugs.webkit.org/show_bug.cgi?id=58750
288
289         Reviewed by Adam Roben.
290
291         Use pathByAppendingComponent instead of PathCombine to share the
292         code with WinCE. Also use the wide version of Windows functions.
293
294         * platform/win/FileSystemWin.cpp:
295         (WebCore::openTemporaryFile):
296
297 2012-02-20  Victor Carbune  <victor@rosedu.org>
298
299         Added code to support dispatching of missed cues in case of normal playback
300         and event sorting in case of simultaneous event triggering.
301
302         <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
303         https://bugs.webkit.org/show_bug.cgi?id=72171
304
305         Reviewed by Eric Carlson.
306
307         Tests: media/track/track-cues-missed.html
308                media/track/track-cues-sorted-before-dispatch.html
309
310         * html/HTMLMediaElement.cpp:
311         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
312         for newly added state variables.
313         (WebCore::trackIndexCompare): Static boolean compare function between
314         the index of two tracks.
315         (WebCore):
316         (WebCore::eventTimeCueCompare): Static boolean compare function between
317         events associated with text track cues.
318         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
319         sort the events associated with text track cues before dispatching.
320         Each step from the specification is commented within the code.
321         (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
322         is needed within the text track update function, to know whether a seek
323         event has occured before or not.
324         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
325         call for text tracks at the beginning of the function instead of the end.
326         'ended' events for video should be dispatched after track specific events.
327         * html/HTMLMediaElement.h: Added variables to keep
328         state information required by the text track update algorithm (last time
329         the algorithm was run, and whether a seeking event has occured)
330         (HTMLMediaElement):
331
332         * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
333         (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
334         synchronous cue change event for the track element.
335         * html/LoadableTextTrack.h:
336         (LoadableTextTrack):
337         * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
338         (WebCore::TextTrack::TextTrack):
339         (WebCore::TextTrack::trackIndex): Cached the track index.
340         (WebCore):
341         (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
342         when a new track is added in a TextTrackList instance.
343         * html/TextTrack.h:
344         (TextTrack):
345         (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
346         as events need to be fired asyncronously.
347         * html/TextTrackCue.cpp: Added internal variables to keep the current index
348         position in the track cue order. This is invalidated when an element is
349         inserted before.
350         (WebCore::TextTrackCue::TextTrackCue):
351         (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
352         (WebCore):
353         (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
354         cue index.
355         (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
356         now. This should be the only method used for event dispatching.
357         (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
358         events, but rather just changes the m_isActive variable.
359         * html/TextTrackCue.h:
360         (TextTrackCue):
361
362         * html/TextTrackCueList.cpp:
363         (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
364         order, of a given cue.
365         (WebCore):
366         (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
367         indexes are invalidated.
368         (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
369         with a specific position.
370         * html/TextTrackCueList.h:
371         (TextTrackCueList):
372         * html/track/TextTrackList.cpp:
373         (TextTrackList::getTrackIndex): Retrieves the track index position.
374         (TextTrackList::append): Added method for invalidating the text track index in case of
375         changing the list contents.
376         * html/track/TextTrackList.h:
377         (TextTrackList):
378
379 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
380
381         [WebSocket] Move WebSocketChannel::FrameData into a separate header file
382         https://bugs.webkit.org/show_bug.cgi?id=78682
383
384         Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
385         flexibility to add classes which want to do something for
386         incoming/outgoing frames (e.g. compression/decompression).
387
388         Reviewed by Kent Tamura.
389
390         No new tests. No behavior change.
391
392         * GNUmakefile.list.am: AddedWebSocketFrame.h
393         * Target.pri: Ditto.
394         * WebCore.gypi: Ditto.
395         * WebCore.vcproj/WebCore.vcproj: Ditto.
396         * WebCore.xcodeproj/project.pbxproj: Ditto.
397         * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
398         (WebCore):
399         (WebCore::WebSocketChannel::send):
400         (WebCore::WebSocketChannel::startClosingHandshake):
401         (WebCore::WebSocketChannel::parseFrame):
402         (WebCore::WebSocketChannel::processFrame):
403         (WebCore::WebSocketChannel::enqueueTextFrame):
404         (WebCore::WebSocketChannel::enqueueRawFrame):
405         (WebCore::WebSocketChannel::enqueueBlobFrame):
406         (WebCore::appendMaskedFramePayload): Added.
407         (WebCore::makeFrameData): Added.
408         (WebCore::WebSocketChannel::sendFrame):
409         * websockets/WebSocketChannel.h: Removed FrameData.
410         (WebSocketChannel):
411         (QueuedFrame):
412         * websockets/WebSocketFrame.h: Added.
413         (WebCore):
414         (WebSocketFrame):
415         (WebCore::WebSocketFrame::isNonControlOpCode):
416         (WebCore::WebSocketFrame::isControlOpCode):
417         (WebCore::WebSocketFrame::isReservedOpCode):
418         (WebCore::WebSocketFrame::WebSocketFrame):
419
420 2012-02-20  Adam Roben  <aroben@apple.com>
421
422         32-bit build fix
423
424         * platform/FractionalLayoutUnit.h:
425         (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
426         are different widths in 32-bit.
427
428 2012-02-20  Adam Roben  <aroben@apple.com>
429
430         Clang build fix
431
432         * inspector/InspectorDOMAgent.cpp:
433         (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
434
435 2012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
436
437         Unreviewed manual rollout of r107970 which breaks table column widths
438         updates from javascript (e.g. inspector's network panel).
439
440         * rendering/FixedTableLayout.cpp:
441         (WebCore::FixedTableLayout::calcWidthArray):
442         * rendering/RenderTableCol.h:
443         (RenderTableCol):
444
445 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
446
447         Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
448         https://bugs.webkit.org/show_bug.cgi?id=79028
449
450         Reviewed by Yury Semikhatsky.
451
452         * inspector/front-end/elementsPanel.css:
453         (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
454
455 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
456
457         Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
458         https://bugs.webkit.org/show_bug.cgi?id=79025
459
460         Reviewed by Pavel Feldman.
461
462         * dom/Element.cpp:
463         (WebCore::Element::willModifyAttribute):
464         * inspector/InspectorDOMAgent.cpp:
465         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
466         (WebCore::InspectorDOMAgent::willModifyDOMAttr):
467         (WebCore):
468         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
469         * inspector/InspectorDOMAgent.h:
470         (InspectorDOMAgent):
471         * inspector/InspectorInstrumentation.cpp:
472         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
473         * inspector/InspectorInstrumentation.h:
474         (InspectorInstrumentation):
475         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
476
477 2012-02-20  Kwonjin Jeong  <gram@company100.net>
478
479         Correct a typo error in ScrollingCoordinator.h
480         https://bugs.webkit.org/show_bug.cgi?id=79012
481
482         Reviewed by Andreas Kling.
483
484         * page/scrolling/ScrollingCoordinator.h:
485         (ScrollingCoordinator):
486
487 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
488
489         Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
490         https://bugs.webkit.org/show_bug.cgi?id=78988
491
492         Reviewed by Yury Semikhatsky.
493
494         * inspector/front-end/CSSKeywordCompletions.js:
495
496 2012-02-20  Yosifumi Inoue  <yosin@chromium.org>
497
498         [Forms] Spin buttons of number input type should fire both input and change event
499         https://bugs.webkit.org/show_bug.cgi?id=75067
500
501         Reviewed by Kent Tamura.
502
503         This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
504         To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.
505
506         Test: fast/forms/number/spin-button-events.html
507
508         * html/HTMLInputElement.cpp:
509         (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
510         * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
511         * html/TextFieldInputType.cpp:
512         (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.
513
514 2012-02-20  Shinya Kawanaka  <shinyak@chromium.org>
515
516         Attached/Detached state must be testable
517         https://bugs.webkit.org/show_bug.cgi?id=79010
518
519         Reviewed by Hajime Morita.
520
521         Added a method to check an element attached or not.
522
523         Test: fast/dom/shadow/shadow-root-attached.html
524
525         * testing/Internals.cpp:
526         (WebCore::Internals::attached):
527         (WebCore):
528         * testing/Internals.h:
529         (Internals):
530         * testing/Internals.idl:
531
532 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
533
534         [WebSocket] Add deflater/inflater classes
535         https://bugs.webkit.org/show_bug.cgi?id=78449
536
537         Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
538         functions. These classes are not used yet, but will be used for
539         supporting WebSocket deflate-frame extension.
540
541         This patch is second try. The previous patch broke Chromium Win
542         build. I added dependency of zlib to WebCore.gyp. I think it's
543         OK because Chromium already depends on zlib.
544
545         Reviewed by Kent Tamura.
546
547         No new tests except for chromium port. Behavior is unchanged.
548
549         * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h).
550         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
551         * WebCore.gypi: Added WebSocketDeflater.(cpp|h).
552         * WebCore.vcproj/WebCore.vcproj: Ditto.
553         * WebCore.xcodeproj/project.pbxproj: Ditto.
554         * websockets/WebSocketDeflater.cpp: Added.
555         (WebCore):
556         (WebCore::WebSocketDeflater::create):
557         (WebCore::WebSocketDeflater::WebSocketDeflater):
558         (WebCore::WebSocketDeflater::initialize):
559         (WebCore::WebSocketDeflater::~WebSocketDeflater):
560         (WebCore::setStreamParameter):
561         (WebCore::WebSocketDeflater::addBytes):
562         (WebCore::WebSocketDeflater::finish):
563         (WebCore::WebSocketDeflater::reset):
564         (WebCore::WebSocketInflater::create):
565         (WebCore::WebSocketInflater::WebSocketInflater):
566         (WebCore::WebSocketInflater::initialize):
567         (WebCore::WebSocketInflater::~WebSocketInflater):
568         (WebCore::WebSocketInflater::addBytes):
569         (WebCore::WebSocketInflater::finish):
570         (WebCore::WebSocketInflater::reset):
571         * websockets/WebSocketDeflater.h: Added.
572         (WebCore):
573         (WebSocketDeflater):
574         (WebCore::WebSocketDeflater::data):
575         (WebCore::WebSocketDeflater::size):
576         (WebSocketInflater):
577         (WebCore::WebSocketInflater::data):
578         (WebCore::WebSocketInflater::size):
579
580 2012-02-20  pfeldman@chomium.org  <pavel.feldman@gmail.com>
581
582         Web Inspector: consume undo/redo shortcuts.
583         https://bugs.webkit.org/show_bug.cgi?id=79016
584
585         Reviewed by Vsevolod Vlasov.
586
587         * inspector/front-end/ElementsPanel.js:
588         (WebInspector.ElementsPanel.prototype.handleShortcut):
589
590 2012-02-20  Philippe Normand  <pnormand@igalia.com>
591
592         MediaPlayer: MediaPlayerPrivate registration cleanup
593         https://bugs.webkit.org/show_bug.cgi?id=78897
594
595         Reviewed by Martin Robinson.
596
597         * platform/graphics/MediaPlayer.cpp:
598         (WebCore::installedMediaEngines): Simplified GStreamer Private
599         player registration by using the PlatformMediaEngineClassName
600         macro like other players do.
601
602 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
603
604         [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
605         https://bugs.webkit.org/show_bug.cgi?id=78899
606
607         Notify inspector about starting context from WorkerContextProxy not from Worker.
608
609         Reviewed by Pavel Feldman.
610
611         * workers/Worker.cpp:
612         (WebCore::Worker::notifyFinished):
613         * workers/WorkerMessagingProxy.cpp:
614         (WebCore::WorkerMessagingProxy::startWorkerContext):
615
616 2012-02-19  Keishi Hattori  <keishi@webkit.org>
617
618         Use shadowRootList for ColorInputType
619         https://bugs.webkit.org/show_bug.cgi?id=79007
620
621         Reviewed by Kent Tamura.
622
623         * html/ColorInputType.cpp:
624         (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
625         (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.
626
627 2012-02-19  Shinya Kawanaka  <shinyak@chromium.org>
628
629         Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
630         https://bugs.webkit.org/show_bug.cgi?id=78771
631
632         Reviewed by Hajime Morita.
633
634         This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
635
636         This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
637         After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
638         HTMLContentElement only.
639
640         No new tests, no change in behavior.
641
642         * CMakeLists.txt:
643         * GNUmakefile.list.am:
644         * Target.pri:
645         * WebCore.gypi:
646         * WebCore.vcproj/WebCore.vcproj:
647         * WebCore.xcodeproj/project.pbxproj:
648         * html/shadow/HTMLContentElement.cpp:
649         (WebCore::HTMLContentElement::HTMLContentElement):
650         (WebCore::HTMLContentElement::attach):
651         (WebCore::HTMLContentElement::detach):
652         (WebCore::HTMLContentElement::parseAttribute):
653         * html/shadow/HTMLContentElement.h:
654         * html/shadow/InsertionPoint.cpp: Added.
655         (WebCore):
656         (WebCore::InsertionPoint::InsertionPoint):
657         (WebCore::InsertionPoint::~InsertionPoint):
658         * html/shadow/InsertionPoint.h: Added.
659         (WebCore):
660         (InsertionPoint):
661
662 2012-02-19  PaweĊ‚ Forysiuk  <tuxator@o2.pl>
663
664         [GTK] Can't find webinspector and error page redirection on Windows
665         https://bugs.webkit.org/show_bug.cgi?id=51616
666
667         Create and use an abstraction for finding shared resources on Windows.
668
669         Reviewed by Martin Robinson.
670
671         * platform/FileSystem.h:
672         (WebCore):
673         * platform/audio/gtk/AudioBusGtk.cpp:
674         (WebCore::AudioBus::loadPlatformResource):
675         * platform/graphics/gtk/ImageGtk.cpp:
676         (WebCore::getPathToImageResource):
677         * platform/gtk/FileSystemGtk.cpp:
678         (WebCore::sharedResourcesPath):
679         (WebCore):
680
681 2012-02-19  James Robinson  <jamesr@chromium.org>
682
683         Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
684         https://bugs.webkit.org/show_bug.cgi?id=78951
685
686         Reviewed by Adam Barth.
687
688         This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
689         ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
690         and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
691         always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
692         ScrollingCoordinatorNone.cpp.
693
694         * CMakeLists.txt:
695         * GNUmakefile.list.am:
696         * Target.pri:
697         * WebCore.vcproj/WebCore.vcproj:
698         * WebCore.xcodeproj/project.pbx:
699         * page/scrolling/ScrollingCoordinator.cpp:
700         * page/scrolling/ScrollingCoordinatorNone.cpp:
701         (WebCore):
702         (WebCore::ScrollingCoordinator::create):
703         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
704         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
705         (WebCore::ScrollingCoordinator::setScrollLayer):
706         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
707         (WebCore::ScrollingCoordinator::setScrollParameters):
708         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
709         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
710         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
711         (WebCore::ScrollingCoordinator::create):
712         (WebCore):
713
714 2012-02-19  Kentaro Hara  <haraken@chromium.org>
715
716         Rename [CheckDomainSecurity] to [CheckSecurity]
717         https://bugs.webkit.org/show_bug.cgi?id=78874
718
719         Reviewed by Adam Barth.
720
721         "Domain security" isn't a term that's used elsewhere.
722         This patch renames IDL attributes as follows:
723
724         - [CheckDomainSecurity] => [CheckSecurity]
725         - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
726         - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
727         - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]
728
729         No tests. No change in behavior.
730
731         * bindings/scripts/CodeGeneratorJS.pm:
732         (GenerateGetOwnPropertyDescriptorBody):
733         (GenerateImplementation):
734         * bindings/scripts/CodeGeneratorV8.pm:
735         (GenerateHeader):
736         (IsVisibleAcrossOrigins):
737         (GenerateFunctionCallback):
738         (GenerateSingleBatchedAttribute):
739         (GenerateImplementation):
740         (GenerateToV8Converters):
741         * bindings/scripts/test/TestDomainSecurity.idl:
742         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
743         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
744         * page/DOMWindow.idl:
745         * page/History.idl:
746         * page/Location.idl:
747
748 2012-02-19  James Robinson  <jamesr@chromium.org>
749
750         Unreviewed, rolling out r108195.
751         http://trac.webkit.org/changeset/108195
752         https://bugs.webkit.org/show_bug.cgi?id=77700
753
754         Lots of failing ASSERT()s on v8 bots, requested by kling on
755         #webkit
756
757         * bindings/js/JSCSSValueCustom.cpp:
758         (WebCore::toJS):
759         * bindings/scripts/CodeGeneratorV8.pm:
760         (GenerateHeader):
761
762 2012-02-19  Kentaro Hara  <haraken@chromium.org>
763
764         Rename [CheckAccessToNode] to [CheckSecurityForNode]
765         https://bugs.webkit.org/show_bug.cgi?id=78991
766
767         Reviewed by Adam Barth.
768
769         For naming consistency with [CheckSecurity], this patch renames
770         [CheckAccessToNode] to [CheckSecurityForNode].
771
772         No tests. No change in behavior.
773
774         * bindings/scripts/CodeGeneratorJS.pm:
775         (GenerateImplementation):
776         * bindings/scripts/CodeGeneratorV8.pm:
777         (GenerateNormalAttrGetter):
778         (GenerateFunctionCallback):
779         * bindings/scripts/test/TestObj.idl:
780         * bindings/scripts/test/V8/V8TestObj.cpp:
781         (WebCore):
782         * html/HTMLEmbedElement.idl:
783         * html/HTMLFrameElement.idl:
784         * html/HTMLIFrameElement.idl:
785         * html/HTMLObjectElement.idl:
786         * page/DOMWindow.idl:
787
788 2012-02-19  James Robinson  <jamesr@chromium.org>
789
790         Sort WebCore XCode project files with sort-Xcode-project-files script. Unreviewed.
791
792         * WebCore.xcodeproj/project.pbxproj:
793
794 2012-02-19  Andreas Kling  <awesomekling@apple.com>
795
796         Make CSSValue wrapper getters return unique objects every time.
797         <http://webkit.org/b/77700>
798
799         Reviewed by Antti Koivisto.
800
801         Change the behavior of CSSValue getters to return unique JS wrappers every
802         time they are called. This means we no longer have to deal with the risk
803         of leaking custom properties between unrelated documents, and are free to
804         implement global value sharing across WebCore.
805
806         This patch will be followed by one making CSSValuePool globally shared,
807         it's done in two steps to monitor the impact of this change.
808
809         * bindings/js/JSCSSValueCustom.cpp:
810         (WebCore::toJS):
811         * bindings/scripts/CodeGeneratorV8.pm:
812         (GenerateHeader):
813         (IsCSSValueType):
814
815 2012-02-19  Abhishek Arya  <inferno@chromium.org>
816
817         Crash in RenderBlock::splitAnonymousBlocksAroundChild.
818         https://bugs.webkit.org/show_bug.cgi?id=78994
819
820         Reviewed by Eric Seidel.
821
822         Generalize splitTablePartsAroundChild to handle splitting
823         in nested tables.
824         Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row
825
826         Test: fast/table/table-split-inside-table.html
827
828         * rendering/RenderBlock.cpp:
829         (WebCore::RenderBlock::splitTablePartsAroundChild):
830
831 2012-02-19  Kalev Lember  <kalevlember@gmail.com>
832
833         [GTK] Fix build on platforms where UChar is wchar_t
834         https://bugs.webkit.org/show_bug.cgi?id=78996
835
836         Reviewed by Martin Robinson.
837
838         The ICU backend defines UChar as wchar_t for platforms where wchar_t is
839         16 bits wide, e.g. win32.
840
841         * platform/graphics/pango/FontPango.cpp:
842         (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
843         * platform/gtk/GtkPopupMenu.cpp:
844         (WebCore::GtkPopupMenu::typeAheadFind): Ditto.
845
846 2012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
847
848         Unreviewed. Fix make distcheck issues.
849
850         * GNUmakefile.list.am: Add missing header.
851
852 2012-02-18  Robert Hogan  <robert@webkit.org>
853
854         CSS 2.1 failure: inline-box-002.htm fails
855         https://bugs.webkit.org/show_bug.cgi?id=69210
856
857         Reviewed by David Hyatt.
858
859         Tests: css2.1/20110323/dynamic-top-change-005.htm
860                css2.1/20110323/dynamic-top-change-005a.htm
861                css2.1/20110323/dynamic-top-change-005b.htm
862                css2.1/20110323/inline-box-002.htm
863                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
864                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
865                fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
866                fast/css/relative-positioned-block-nested-with-inline-parent.html
867                fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
868                fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
869                fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
870                fast/css/relative-positioned-block-with-inline-ancestor.html
871                fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
872                fast/css/relative-positioned-block-with-inline-parent-dynamic.html
873                fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
874                fast/css/relative-positioned-block-with-inline-parent.html
875
876         A block within an inline is affected by relative positioning on the inline box. Give
877         the anonymous block containing the block a layer and make it relative positioned. Then
878         calculate the offset of the anonymous block's layer by accumulating the offsets from its
879         inline continuation and the inline continuation's inline parents.
880         If the position of an inline changes from or to relative positioned then ensure that any
881         descendant blocks update their position and layer accordingly.
882
883         * rendering/RenderBoxModelObject.cpp:
884         (): add an enum RelPosAxis
885         (WebCore::accumulateRelativePositionOffsets): 
886         Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
887         positioned anonymous block's child block.
888
889         (WebCore):
890         (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
891         Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.
892
893         (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto
894
895         * rendering/RenderInline.cpp:
896         (WebCore::hasRelPositionedInlineAncestor): 
897         Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.
898
899         (WebCore::updateStyleOfAnonymousBlockContinuations): 
900         Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.
901
902         (WebCore::RenderInline::styleDidChange): 
903         If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
904         as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.
905
906         (WebCore::RenderInline::addChildIgnoringContinuation): 
907         If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
908         positioned so the block will respect its inline ancestor's relative positioning.
909
910         * rendering/RenderObject.cpp:
911         (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
912         Preserve style position in anonymous block continuations when the parent block propagates a style change. 
913
914 2012-02-18  raman Tenneti  <rtenneti@chromium.org>
915
916         Track the NPN protocol version negotiated with the server
917         https://bugs.webkit.org/show_bug.cgi?id=77349
918
919         Reviewed by Darin Fisher..
920
921         [chromium] Added ExtraData to WebURLResponse.
922         
923         No intended functionality change.
924
925         * platform/network/chromium/ResourceResponse.h:
926         (ExtraData):
927         (WebCore::ResourceResponse::ExtraData::~ExtraData):
928         (ResourceResponse):
929         (WebCore::ResourceResponse::extraData):
930         (WebCore::ResourceResponse::setExtraData):
931
932 2012-02-18  Abhishek Arya  <inferno@chromium.org>
933
934         Unreviewed, rolling out r107965.
935         http://trac.webkit.org/changeset/107965
936         https://bugs.webkit.org/show_bug.cgi?id=78273
937
938         crashes
939
940         * rendering/RenderBlock.cpp:
941         (WebCore::RenderBlock::clone):
942
943 2012-02-18  Sam Weinig  <sam@webkit.org>
944
945         Make WebCore compile with libc++ (Part 2)
946         https://bugs.webkit.org/show_bug.cgi?id=78974
947
948         Reviewed by Anders Carlsson.
949
950         * config.h:
951         Disable the DisallowCType check when using libc++.
952
953 2012-02-18  Sam Weinig  <sam@webkit.org>
954
955         Fix the build.
956
957         * page/DOMWindow.idl:
958
959 2012-02-14  Sam Weinig  <sam@webkit.org>
960
961         Make WebCore compile with libc++ (Part 1)
962         https://bugs.webkit.org/show_bug.cgi?id=78974
963
964         Reviewed by Anders Carlsson.
965
966         Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
967         not to work when using an iterator with proxy objects for reference and pointer types.
968
969         * WebCorePrefix.h:
970         (move):
971         Add an overload of std::move that the heap functions can call successfully.
972
973 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
974
975         [wx] Build fixes for C++ bindings after recent changes.
976         
977         * bindings/scripts/CodeGeneratorCPP.pm:
978         (ShouldSkipType):
979         (GenerateHeader):
980         * page/DOMWindow.idl:
981
982 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
983
984         [wx] Build fix, add new platform method wx impl.
985
986         * platform/wx/ContextMenuWx.cpp:
987         (ContextMenu::itemCount):
988
989 2012-02-18  Sam Weinig  <sam@webkit.org>
990
991         Fix part of the windows build failure.
992
993         * WebCore.vcproj/WebCore.vcproj:
994         Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
995         as part of DerivedSources.cpp.
996
997 2012-02-18  Sam Weinig  <sam@webkit.org>
998
999         Fix the ENABLE(THREADED_SCROLLING) build.
1000
1001         * page/scrolling/ScrollingCoordinator.cpp:
1002         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1003         (WebCore::ScrollingCoordinator::setScrollParameters):
1004
1005 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1006
1007         HTML: Remove unnecessary attributeChange() overrides.
1008         <http://webkit.org/b/78890>
1009
1010         Reviewed by Anders Carlsson.
1011
1012         Move logic from attributeChanged() overrides into parseAttribute().
1013         This is a step towards making attributeChanged() non-virtual.
1014
1015         * html/HTMLMediaElement.cpp:
1016         (WebCore::HTMLMediaElement::parseAttribute):
1017         * html/HTMLMediaElement.h:
1018         (HTMLMediaElement):
1019         * html/HTMLScriptElement.cpp:
1020         (WebCore::HTMLScriptElement::parseAttribute):
1021         * html/HTMLScriptElement.h:
1022         (HTMLScriptElement):
1023         * html/HTMLTrackElement.cpp:
1024         (WebCore::HTMLTrackElement::parseAttribute):
1025         * html/HTMLTrackElement.h:
1026         (HTMLTrackElement):
1027
1028 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1029
1030         Remove Element::createAttribute().
1031         <http://webkit.org/b/78965>
1032
1033         Reviewed by Anders Carlsson.
1034
1035         Switch call sites to use Attribute::create() directly, as there is no magic
1036         in calling Element::createAttribute() anymore (it used to be virtual and handled
1037         differently by StyledElement.)
1038
1039         * dom/Element.cpp:
1040         (WebCore::Element::setAttributeInternal):
1041         * dom/Element.h:
1042         * svg/properties/SVGAnimatedPropertySynchronizer.h:
1043
1044 2012-02-18  Andreas Kling  <awesomekling@apple.com>
1045
1046         HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
1047         <http://webkit.org/b/78959>
1048
1049         Reviewed by Anders Carlsson.
1050
1051         Mark the body element for deferred style recalc instead of doing it synchronously
1052         when the attributes change.
1053
1054         * html/HTMLBodyElement.cpp:
1055         (WebCore::HTMLBodyElement::parseAttribute):
1056
1057 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
1058
1059         Fix the TextureMapper build for non-Qt ports. Qt debug builds
1060         must use RTTI, but GTK+, at least, does not.
1061
1062         * platform/graphics/texmap/TextureMapperLayer.cpp:
1063         (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
1064         Qt only.
1065
1066 2012-02-16  Andreas Kling  <awesomekling@apple.com>
1067
1068         FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
1069         <http://webkit.org/b/78806>
1070
1071         Reviewed by Antti Koivisto.
1072
1073         Now that FontFamilyValue's string doesn't change after creation, we can just
1074         pass the massaged family name up to the CSSPrimitiveValue constructor and get
1075         cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
1076         though that's less of an issue now that we cache them in CSSValuePool.
1077
1078         * css/FontFamilyValue.cpp:
1079         (WebCore::stripFontFamilyJunk):
1080         (WebCore::FontFamilyValue::FontFamilyValue):
1081         * css/FontFamilyValue.h:
1082         (WebCore::FontFamilyValue::familyName):
1083         (FontFamilyValue):
1084
1085 2012-02-17  Adam Klein  <adamk@chromium.org>
1086
1087         Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
1088         https://bugs.webkit.org/show_bug.cgi?id=76087
1089
1090         Reviewed by Ryosuke Niwa.
1091
1092         Move post-removal notifications after call to Node::removeFromDocument
1093         to avoid inconsistent state of Node::inDocument() and thus avoid
1094         inconsistent state in DocumentOrderedMap.
1095
1096         Tests: fast/dom/getElementById-consistency.html
1097                fast/dom/getElementById-consistency2.html
1098
1099         * dom/ContainerNode.cpp:
1100         (WebCore::ContainerNode::removeChild):
1101         * svg/SVGTRefElement.cpp:
1102         (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
1103
1104 2012-02-17  Joshua Bell  <jsbell@chromium.org>
1105
1106         IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
1107         https://bugs.webkit.org/show_bug.cgi?id=78399
1108
1109         Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
1110
1111         Reviewed by Tony Chang.
1112
1113         Test: storage/indexeddb/delete-range.html
1114
1115         * bindings/scripts/CodeGeneratorV8.pm:
1116         (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
1117         * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
1118         * storage/IDBLevelDBBackingStore.cpp:
1119         (WebCore):
1120         * storage/IDBObjectStore.cpp:
1121         (WebCore::IDBObjectStore::deleteFunction):
1122         (WebCore):
1123         * storage/IDBObjectStore.h:
1124         (IDBObjectStore):
1125         * storage/IDBObjectStore.idl:
1126         * storage/IDBObjectStoreBackendImpl.cpp:
1127         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1128         (WebCore):
1129         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1130         * storage/IDBObjectStoreBackendImpl.h:
1131         (IDBObjectStoreBackendImpl):
1132         * storage/IDBObjectStoreBackendInterface.h:
1133
1134 2012-02-17  Kentaro Hara  <haraken@chromium.org>
1135
1136         Replace [V8OnInstance] with [V8Unforgeable]
1137         https://bugs.webkit.org/show_bug.cgi?id=78894
1138
1139         Reviewed by Adam Barth.
1140
1141         [V8OnInstance] means that the method should be defined
1142         (not on a prototype chain but) on a DOM object. It is the
1143         same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
1144         with [V8Unforgeable].
1145
1146         No tests. No change in behavior.
1147
1148         * bindings/scripts/CodeGeneratorV8.pm:
1149         (GenerateImplementation):
1150         * page/Location.idl:
1151
1152 2012-02-17  James Robinson  <jamesr@chromium.org>
1153
1154         [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
1155         target from different paths.
1156
1157         * WebCore.gypi:
1158         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
1159         (WebCore):
1160         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1161         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1162         (WebCore::ScrollingCoordinator::setScrollLayer):
1163         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1164         (WebCore::ScrollingCoordinator::setScrollParameters):
1165         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1166         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1167
1168 2012-02-17  James Robinson  <jamesr@chromium.org>
1169
1170         Unreviewed mac compile fix pt 2
1171
1172         * page/scrolling/ScrollingCoordinator.cpp:
1173         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1174         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1175         (WebCore::ScrollingCoordinator::setScrollLayer):
1176         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1177         (WebCore::ScrollingCoordinator::setScrollParameters):
1178         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1179         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1180
1181 2012-02-17  James Robinson  <jamesr@chromium.org>
1182
1183         Unreviewed mac compile fix (unused parameter warning)
1184
1185         * page/scrolling/ScrollingCoordinator.cpp:
1186         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1187         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1188
1189 2012-02-14  James Robinson  <jamesr@chromium.org>
1190
1191         Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
1192         https://bugs.webkit.org/show_bug.cgi?id=78401
1193
1194         Reviewed by Adam Barth.
1195
1196         Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
1197         chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
1198         ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
1199         events and interact with composited layers.
1200
1201         * WebCore.gyp/WebCore.gyp:
1202         * WebCore.gypi:
1203         * dom/Document.cpp:
1204         (WebCore::wheelEventHandlerCountChanged):
1205         * page/FrameView.cpp:
1206         (WebCore::FrameView::addSlowRepaintObject):
1207         (WebCore::FrameView::removeSlowRepaintObject):
1208         (WebCore::FrameView::performPostLayoutTasks):
1209         * page/Page.cpp:
1210         (WebCore::Page::~Page):
1211         (WebCore):
1212         * page/Page.h:
1213         (Page):
1214         * page/Settings.cpp:
1215         (WebCore::Settings::Settings):
1216         * page/Settings.h:
1217         (Settings):
1218         * page/scrolling/ScrollingCoordinator.cpp:
1219         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
1220         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
1221         (WebCore::ScrollingCoordinator::pageDestroyed):
1222         (WebCore):
1223         * page/scrolling/ScrollingCoordinator.h:
1224         (WebCore):
1225         (ScrollingCoordinator):
1226         * page/scrolling/ScrollingThread.cpp:
1227         (WebCore::ScrollingThread::createThreadIfNeeded):
1228         * page/scrolling/ScrollingTreeState.cpp:
1229         * page/scrolling/ScrollingTreeState.h:
1230         * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
1231         (WebCore):
1232         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
1233         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
1234         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1235         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1236         * rendering/RenderLayerBacking.cpp:
1237         (WebCore::RenderLayerBacking::RenderLayerBacking):
1238         * rendering/RenderLayerCompositor.cpp:
1239         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1240         (WebCore::shouldCompositeOverflowControls):
1241         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
1242         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1243         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1244         (WebCore::RenderLayerCompositor::ensureRootLayer):
1245         (WebCore):
1246         * rendering/RenderLayerCompositor.h:
1247         (WebCore):
1248         (RenderLayerCompositor):
1249
1250 2012-02-17  Emil A Eklund  <eae@chromium.org>
1251
1252         Add FractionalLayoutPoint for sub-pixel layout
1253         https://bugs.webkit.org/show_bug.cgi?id=78913
1254
1255         Reviewed by Eric Seidel.
1256
1257         Add FractionalLayoutUnit version of Point class and a couple of
1258         conversion methods to the Int and Float versions of same.
1259
1260         No new tests.
1261
1262         * GNUmakefile.list.am:
1263         * WebCore.vcproj/WebCore.vcproj:
1264         * WebCore.xcodeproj/project.pbxproj:
1265         * platform/graphics/FloatPoint.cpp:
1266         (WebCore::FloatPoint::FloatPoint):
1267         (WebCore):
1268         (WebCore::FloatPoint::moveBy):
1269         * platform/graphics/FloatPoint.h:
1270         (WebCore):
1271         (FloatPoint):
1272         * platform/graphics/FractionalLayoutPoint.h: Added.
1273         (WebCore):
1274         (FractionalLayoutPoint):
1275         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
1276         (WebCore::FractionalLayoutPoint::zero):
1277         (WebCore::FractionalLayoutPoint::x):
1278         (WebCore::FractionalLayoutPoint::y):
1279         (WebCore::FractionalLayoutPoint::setX):
1280         (WebCore::FractionalLayoutPoint::setY):
1281         (WebCore::FractionalLayoutPoint::move):
1282         (WebCore::FractionalLayoutPoint::moveBy):
1283         (WebCore::FractionalLayoutPoint::scale):
1284         (WebCore::FractionalLayoutPoint::expandedTo):
1285         (WebCore::FractionalLayoutPoint::shrunkTo):
1286         (WebCore::FractionalLayoutPoint::clampNegativeToZero):
1287         (WebCore::FractionalLayoutPoint::transposedPoint):
1288         (WebCore::operator+=):
1289         (WebCore::operator-=):
1290         (WebCore::operator+):
1291         (WebCore::operator-):
1292         (WebCore::operator==):
1293         (WebCore::operator!=):
1294         (WebCore::toPoint):
1295         (WebCore::toSize):
1296         (WebCore::flooredIntPoint):
1297         (WebCore::roundedIntPoint):
1298         (WebCore::ceiledIntPoint):
1299         * platform/graphics/FractionalLayoutSize.cpp:
1300         (WebCore::pixelSnappedIntSize):
1301         * platform/graphics/FractionalLayoutSize.h:
1302         (WebCore):
1303
1304 2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1305
1306         Move textDirectionForSelection from Editor to EditingStyle
1307         https://bugs.webkit.org/show_bug.cgi?id=78868
1308
1309         Reviewed by Enrica Casucci.
1310
1311         Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
1312         dependency on CSSStyleDeclaration.
1313
1314         * editing/EditingStyle.cpp:
1315         (WebCore::EditingStyle::textDirectionForSelection):
1316         (WebCore):
1317         * editing/EditingStyle.h:
1318         (EditingStyle):
1319         * editing/Editor.cpp:
1320         (WebCore):
1321         * editing/Editor.h:
1322         (Editor):
1323         * editing/EditorCommand.cpp:
1324         (WebCore::stateTextWritingDirection):
1325         * editing/ReplaceSelectionCommand.cpp:
1326         * editing/markup.cpp:
1327
1328 2012-02-17  David Barton  <dbarton@mathscribe.com>
1329
1330         MathML internals - embellished operators, getBase() accessor functions
1331         https://bugs.webkit.org/show_bug.cgi?id=78617
1332
1333         Reviewed by Eric Seidel.
1334
1335         Define functions that return an unembellished "base", by omitting
1336         subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
1337         subsequent patches both for correct operator stretching and simple code factoring.
1338
1339         No new tests.
1340
1341         * rendering/mathml/RenderMathMLBlock.h:
1342         (WebCore):
1343         (RenderMathMLBlock):
1344         (WebCore::RenderMathMLBlock::unembellishedOperator):
1345         * rendering/mathml/RenderMathMLFraction.cpp:
1346         (WebCore::RenderMathMLFraction::unembellishedOperator):
1347         (WebCore):
1348         * rendering/mathml/RenderMathMLFraction.h:
1349         (RenderMathMLFraction):
1350         * rendering/mathml/RenderMathMLOperator.h:
1351         (WebCore::RenderMathMLOperator::unembellishedOperator):
1352         * rendering/mathml/RenderMathMLSubSup.cpp:
1353         (WebCore::RenderMathMLSubSup::base):
1354         (WebCore):
1355         (WebCore::RenderMathMLSubSup::unembellishedOperator):
1356         (WebCore::RenderMathMLSubSup::stretchToHeight):
1357             - renamed a variable for clarity, especially in later patches
1358         (WebCore::RenderMathMLSubSup::layout):
1359             - renamed a variable for clarity, especially in later patches
1360         * rendering/mathml/RenderMathMLSubSup.h:
1361         (RenderMathMLSubSup):
1362         * rendering/mathml/RenderMathMLUnderOver.cpp:
1363         (WebCore::RenderMathMLUnderOver::base):
1364         (WebCore):
1365         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
1366         (WebCore::RenderMathMLUnderOver::stretchToHeight):
1367         * rendering/mathml/RenderMathMLUnderOver.h:
1368         (RenderMathMLUnderOver):
1369
1370 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1371
1372         [Qt][WK2] Allow opaque tiles
1373         https://bugs.webkit.org/show_bug.cgi?id=78809
1374
1375         Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
1376         Use reset/didReset instead of a virtual function that has to call the superclass.
1377
1378         Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
1379         based on the source image.
1380         Since we now disable blending for opaque textures, we also have to make sure that we treat
1381         the depth buffer correctly and bring it back to its previous state.
1382
1383         Reviewed by Kenneth Rohde Christiansen.
1384
1385         No behavior changes.
1386
1387         * platform/graphics/opengl/TextureMapperGL.cpp:
1388         (TextureMapperGLData):
1389         (WebCore::TextureMapperGLData::initStencil):
1390         (WebCore::TextureMapperGLData::TextureMapperGLData):
1391         (BitmapTextureGL):
1392         (WebCore::TextureMapperGL::beginPainting):
1393         (WebCore::TextureMapperGL::endPainting):
1394         (WebCore::TextureMapperGL::drawTexture):
1395         (WebCore::BitmapTextureGL::didReset):
1396         (WebCore::BitmapTextureGL::bind):
1397         (WebCore::TextureMapperGL::beginClip):
1398         * platform/graphics/texmap/TextureMapper.h:
1399         (WebCore::BitmapTexture::BitmapTexture):
1400         (WebCore::BitmapTexture::flags):
1401         (WebCore::BitmapTexture::didReset):
1402         (WebCore::BitmapTexture::reset):
1403         (BitmapTexture):
1404         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1405         (WebCore::TextureMapperTile::updateContents):
1406         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1407         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
1408         (WebCore::TextureMapperTiledBackingStore::updateContents):
1409         * platform/graphics/texmap/TextureMapperBackingStore.h:
1410         (TextureMapperTiledBackingStore):
1411         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1412         (WebCore::BitmapTextureImageBuffer::didReset):
1413         (WebCore):
1414         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1415         (BitmapTextureImageBuffer):
1416
1417 2012-02-17  Stephen Chenney  <schenney@chromium.org>
1418
1419         Crash in SVGAnimateElement due to changed target
1420         https://bugs.webkit.org/show_bug.cgi?id=75096
1421
1422         Reviewed by Nikolas Zimmermann.
1423
1424         The SVGAnimateElement object creates various internal objects
1425         depending on the type of property being animated, which depends on the
1426         target. These objects were not being recreated when the target
1427         changed, and crashes ensued. Now the SVGSMILElement provides a virtual
1428         method that is called when the target changes, and SVGAnimateElement
1429         updates its objects as necessary. We also deactivate the animation
1430         when the target changes, forcing recomputation of other derived
1431         objects.
1432
1433         This change also removes various unnecessary calls to semi-expensive
1434         methods.
1435
1436         Not only does this change fix the new test, it also fixes potential
1437         crashes in other tests that apparently never manifested before (but
1438         manifest when this new test is included in DRT).
1439
1440         Test: svg/animations/svglength-animation-retarget-crash.html
1441
1442         * svg/SVGAnimateElement.cpp:
1443         (WebCore::SVGAnimateElement::hasValidAttributeType):
1444         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1445         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1446         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1447         (WebCore::SVGAnimateElement::resetToBaseValue):
1448         (WebCore::SVGAnimateElement::calculateDistance):
1449         (WebCore):
1450         (WebCore::SVGAnimateElement::targetElementDidChange):
1451         * svg/SVGAnimateElement.h:
1452         (SVGAnimateElement):
1453         * svg/SVGAnimatedTypeAnimator.h:
1454         (SVGAnimatedTypeAnimator):
1455         (WebCore::SVGAnimatedTypeAnimator::type):
1456         * svg/animation/SVGSMILElement.cpp:
1457         (WebCore::SVGSMILElement::targetElement):
1458         (WebCore::SVGSMILElement::resetTargetElement):
1459         (WebCore):
1460         * svg/animation/SVGSMILElement.h:
1461         (SVGSMILElement):
1462         (WebCore::SVGSMILElement::targetElementDidChange):
1463
1464 2012-02-17  David Hyatt  <hyatt@apple.com>
1465
1466         https://bugs.webkit.org/show_bug.cgi?id=78934
1467         
1468         Add the -webkit-line-align property to support the alignment of lines in the inline direction
1469         to the line grid.
1470
1471         Reviewed by Dan Bernstein.
1472
1473         Added fast/line-grid/line-align-parsing.html
1474
1475         * css/CSSComputedStyleDeclaration.cpp:
1476         (WebCore):
1477         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1478         * css/CSSParser.cpp:
1479         (WebCore::CSSParser::parseValue):
1480         * css/CSSPrimitiveValueMappings.h:
1481         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1482         (WebCore):
1483         (WebCore::CSSPrimitiveValue::operator LineAlign):
1484         * css/CSSProperty.cpp:
1485         (WebCore::CSSProperty::isInheritedProperty):
1486         * css/CSSPropertyNames.in:
1487         * css/CSSStyleApplyProperty.cpp:
1488         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1489         * css/CSSStyleSelector.cpp:
1490         (WebCore::CSSStyleSelector::applyProperty):
1491         * css/CSSValueKeywords.in:
1492         * rendering/style/RenderStyle.cpp:
1493         (WebCore::RenderStyle::diff):
1494         * rendering/style/RenderStyle.h:
1495         * rendering/style/RenderStyleConstants.h:
1496         * rendering/style/StyleRareInheritedData.cpp:
1497         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1498         (WebCore::StyleRareInheritedData::operator==):
1499         * rendering/style/StyleRareInheritedData.h:
1500         (StyleRareInheritedData):
1501
1502 2012-02-17  Emil A Eklund  <eae@chromium.org>
1503
1504         Add FractionalLayoutSize for sub-pixel layout
1505         https://bugs.webkit.org/show_bug.cgi?id=78852
1506
1507         Reviewed by Eric Seidel.
1508
1509         Add FractionalLayoutUnit version of Size class and a couple of
1510         conversion methods to the Int and Float versions of same.
1511
1512         No new tests.
1513
1514         * CMakeLists.txt:
1515         * GNUmakefile.list.am:
1516         * WebCore.gypi:
1517         * WebCore.vcproj/WebCore.vcproj:
1518         * WebCore.xcodeproj/project.pbxproj:
1519         * platform/graphics/FloatPoint.cpp:
1520         (WebCore::FloatPoint::move):
1521         Add FractionalLayoutSize version of move.
1522
1523         * platform/graphics/FloatPoint.h:
1524         * platform/graphics/FloatSize.cpp:
1525         (WebCore::FloatSize::FloatSize):
1526         Add FloatSize(FractionalLayoutSize) constructor.
1527
1528         * platform/graphics/FloatSize.h:
1529         * platform/graphics/FractionalLayoutSize.cpp: Added.
1530         * platform/graphics/FractionalLayoutSize.h: Added.
1531
1532 2012-02-17  Enrica Casucci  <enrica@apple.com>
1533
1534         REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
1535         data to the pasteboard.
1536         https://bugs.webkit.org/show_bug.cgi?id=78933
1537         <rdar://problem/10874553>
1538         
1539         For this format, the data needs to be placed in the pasteboard as array of arrays
1540         of strings. Currently is it stored as array of strings, which causes the code
1541         that uses this format to break.
1542         
1543         Reviewed by Ryosuke Niwa.
1544
1545         * platform/mac/PlatformPasteboardMac.mm:
1546         (WebCore::PlatformPasteboard::setPathnamesForType):
1547
1548 2012-02-17  Abhishek Arya  <inferno@chromium.org>
1549
1550         Incorrect placement of a new child when beforeChild and its
1551         previous sibling are in the same table.
1552         https://bugs.webkit.org/show_bug.cgi?id=78269
1553
1554         Reviewed by Julien Chaffraix.
1555
1556         Tests: fast/table/table-cell-split.html
1557                fast/table/table-row-split.html
1558                fast/table/table-section-split-with-after-content.html
1559                fast/table/table-section-split.html
1560
1561         * rendering/RenderBlock.cpp:
1562         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
1563         call to splitTablePartsAroundChild to take care of splitting the
1564         table first if the child is part of table.
1565         (WebCore::markTableForSectionAndCellRecalculation): add helper to
1566         mark table for complete relayout by invalidating sections and cells.
1567         (WebCore):
1568         (WebCore::moveAllTableChildrenTo): moves children to another table.
1569         (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
1570         and its next siblings into a new table. This allows adding a new
1571         non-table child between the tables.
1572         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
1573         splitTablePartsAroundChild to see if we need to split the table
1574         for adding this new child.
1575         * rendering/RenderBlock.h:
1576         (RenderBlock):
1577         * rendering/RenderObject.cpp:
1578         (WebCore::RenderObject::createAnonymousTable): add helper for
1579         creating anonymous table.
1580         (WebCore):
1581         (WebCore::RenderObject::addChild): use the new helper for creating
1582         anonymous table.
1583         * rendering/RenderObject.h:
1584         (WebCore):
1585         (RenderObject):
1586         (WebCore::RenderObject::isTablePart): add helper to tell if the object
1587         is a table part.
1588
1589 2012-02-17  Andreas Kling  <awesomekling@apple.com>
1590
1591         Element: Inline style selector and AX invalidation in attributeChanged().
1592         <http://webkit.org/b/78888>
1593
1594         Reviewed by Antti Koivisto.
1595
1596         Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
1597         methods into Element::attributeChanged(). They were separated when we needed them in
1598         StyledElement::attributeChanged(), but that's no longer the case.
1599
1600         * dom/Element.cpp:
1601         (WebCore::Element::attributeChanged):
1602         * dom/Element.h:
1603
1604 2012-02-17  David Reveman  <reveman@chromium.org>
1605
1606         [Chromium] Texture eviction doesn't show up in traces.
1607         https://bugs.webkit.org/show_bug.cgi?id=78851
1608
1609         Reviewed by James Robinson.
1610
1611         Add TextureManager::evictTexture() function with TRACE statement so
1612         that texture eviction shows up in traces.
1613
1614         No new tests.
1615
1616         * platform/graphics/chromium/TextureManager.cpp:
1617         (WebCore::TextureManager::evictTexture):
1618         (WebCore):
1619         (WebCore::TextureManager::reduceMemoryToLimit):
1620         * platform/graphics/chromium/TextureManager.h:
1621         (TextureManager):
1622
1623 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
1624
1625         Remove unused parameters from WTF threading API
1626         https://bugs.webkit.org/show_bug.cgi?id=78389
1627
1628         Reviewed by Adam Roben.
1629
1630         waitForThreadCompletion() had an out param 'void **result' to get the
1631         'void *' returned by ThreadFunction. However, the implementation in
1632         ThreadingWin.cpp ignored the out param, not filling it in. This had
1633         led to a situation where none of the client code made use of the param
1634         and just ignored it.
1635
1636         To clean this up, the patch changes the signature of ThreadFunction to
1637         return void instead of void* and drops the the unused 'void **result'
1638         parameter from waitForThreadCompletion. Also, all client code is
1639         updated for the API change.
1640
1641         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
1642         though the change only affects internal API, Safari is using it
1643         directly and we'll need to keep the old versions around for ABI
1644         compatibility. For this, the patch adds compatibility wrappers with
1645         the old ABI.
1646
1647         * bindings/js/GCController.cpp:
1648         (WebCore::collect):
1649         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
1650         * fileapi/FileThread.cpp:
1651         (WebCore::FileThread::fileThreadStart):
1652         (WebCore::FileThread::runLoop):
1653         * fileapi/FileThread.h:
1654         (FileThread):
1655         * loader/icon/IconDatabase.cpp:
1656         (WebCore::IconDatabase::close):
1657         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
1658         (WebCore::IconDatabase::iconDatabaseSyncThread):
1659         (WebCore::IconDatabase::syncThreadMainLoop):
1660         * loader/icon/IconDatabase.h:
1661         (IconDatabase):
1662         * page/scrolling/ScrollingThread.cpp:
1663         (WebCore::ScrollingThread::threadCallback):
1664         * page/scrolling/ScrollingThread.h:
1665         (ScrollingThread):
1666         * platform/audio/HRTFDatabaseLoader.cpp:
1667         (WebCore::databaseLoaderEntry):
1668         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
1669         * platform/audio/ReverbConvolver.cpp:
1670         (WebCore::backgroundThreadEntry):
1671         (WebCore::ReverbConvolver::~ReverbConvolver):
1672         * platform/network/cf/LoaderRunLoopCF.cpp:
1673         (WebCore::runLoaderThread):
1674         * storage/DatabaseThread.cpp:
1675         (WebCore::DatabaseThread::databaseThreadStart):
1676         (WebCore::DatabaseThread::databaseThread):
1677         * storage/DatabaseThread.h:
1678         (DatabaseThread):
1679         * storage/LocalStorageThread.cpp:
1680         (WebCore::LocalStorageThread::threadEntryPointCallback):
1681         (WebCore::LocalStorageThread::threadEntryPoint):
1682         (WebCore::LocalStorageThread::terminate):
1683         * storage/LocalStorageThread.h:
1684         (LocalStorageThread):
1685         * webaudio/AsyncAudioDecoder.cpp:
1686         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
1687         (WebCore::AsyncAudioDecoder::threadEntry):
1688         * webaudio/AsyncAudioDecoder.h:
1689         (AsyncAudioDecoder):
1690         * webaudio/OfflineAudioDestinationNode.cpp:
1691         (WebCore::OfflineAudioDestinationNode::uninitialize):
1692         (WebCore::OfflineAudioDestinationNode::renderEntry):
1693         * webaudio/OfflineAudioDestinationNode.h:
1694         (OfflineAudioDestinationNode):
1695         * workers/WorkerThread.cpp:
1696         (WebCore::WorkerThread::workerThreadStart):
1697         (WebCore::WorkerThread::workerThread):
1698         * workers/WorkerThread.h:
1699         (WorkerThread):
1700
1701 2012-02-17  Robert Hogan  <robert@webkit.org>
1702
1703         AppleMac Build fix for r108111
1704
1705         Remove variable that is now unused.
1706
1707         Unreviewed, build fix.
1708
1709         * rendering/RenderBlockLineLayout.cpp:
1710         (WebCore::alwaysRequiresLineBox): Remove lineInfo
1711         (WebCore::requiresLineBox): 
1712         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1713
1714 2012-02-17  Michal Mocny  <mmocny@google.com>
1715
1716         [chromium] GL_CHROMIUM_gpu_memory_manager extension
1717         https://bugs.webkit.org/show_bug.cgi?id=77155
1718
1719         Reviewed by James Robinson.
1720
1721         * platform/graphics/chromium/Extensions3DChromium.h:
1722         (GpuMemoryAllocationChangedCallbackCHROMIUM):
1723         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
1724         (Extensions3DChromium):
1725
1726 2012-01-23  Robert Hogan  <robert@webkit.org>
1727
1728         REGRESSION: empty span creates renders with non-zero height
1729         https://bugs.webkit.org/show_bug.cgi?id=76465
1730
1731         Reviewed by David Hyatt.
1732
1733         Tests: fast/css/empty-span.html
1734                fast/css/non-empty-span.html
1735
1736         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
1737         other content in the line. So only create line boxes for such elements on lines that are not empty.
1738
1739         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
1740         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
1741         vertical alignment or font-height of the empty inline.
1742
1743         * rendering/RenderBlockLineLayout.cpp:
1744         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
1745         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
1746          will need a linebox if the rest of the line is not empty.
1747         (WebCore):
1748         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
1749         (WebCore::requiresLineBox):
1750         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
1751          the line non-empty - otherwise hold off.
1752
1753 2012-02-17  Raymond Toy  <rtoy@google.com>
1754
1755         RealtimeAnalyserNode does not consistently respect .minDecibels
1756         https://bugs.webkit.org/show_bug.cgi?id=78729
1757
1758         Make use of m_minDecibel consistent.  Clean up some style issues
1759         with names of local variables and style issues with float
1760         constants.
1761         
1762         Reviewed by Chris Rogers.
1763
1764         No new tests because the changes are cosmetic for style issues.
1765
1766         * webaudio/RealtimeAnalyser.cpp:
1767         (WebCore):
1768         (WebCore::RealtimeAnalyser::doFFTAnalysis):
1769         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
1770         (WebCore::RealtimeAnalyser::getByteFrequencyData):
1771         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
1772
1773 2012-02-17  Abhishek Arya  <inferno@chromium.org>
1774
1775         :before content incorrectly placed in continuation
1776         when we don't have a first child.
1777         https://bugs.webkit.org/show_bug.cgi?id=78380
1778
1779         Reviewed by David Hyatt.
1780
1781         Test: fast/css-generated-content/before-content-continuation-chain.html
1782
1783         * rendering/RenderObjectChildList.cpp:
1784         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1785
1786 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
1787
1788         CSS regions enabled by default
1789         https://bugs.webkit.org/show_bug.cgi?id=78525
1790
1791         Reviewed by David Hyatt.
1792
1793         Test: fast/regions/css-regions-disabled.html
1794
1795         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
1796         CSSRegions are still enabled by default.
1797         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
1798
1799         * WebCore.xcodeproj/project.pbxproj:
1800         * css/CSSParser.cpp:
1801         (WebCore::CSSParser::parseValue):
1802         (WebCore::CSSParser::cssRegionsEnabled):
1803         (WebCore):
1804         (WebCore::CSSParser::parseFlowThread):
1805         (WebCore::CSSParser::parseRegionThread):
1806         (WebCore::CSSParser::createRegionRule):
1807         * css/CSSParser.h:
1808         * dom/Document.cpp:
1809         (WebCore::Document::cssRegionsEnabled):
1810         (WebCore):
1811         (WebCore::Document::webkitGetFlowByName):
1812         * dom/Document.h:
1813         (Document):
1814         * dom/Element.cpp:
1815         (WebCore::Element::webkitRegionOverflow):
1816         * dom/NodeRenderingContext.cpp:
1817         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1818         * page/Settings.cpp:
1819         (WebCore::Settings::Settings):
1820         * page/Settings.h:
1821         (WebCore::Settings::setCSSRegionsEnabled):
1822         (WebCore::Settings::cssRegionsEnabled):
1823         (Settings):
1824         * rendering/RenderFlowThread.cpp:
1825         (WebCore::RenderFlowThread::RenderFlowThread):
1826         * rendering/RenderObject.cpp:
1827         (WebCore::RenderObject::createObject):
1828         * rendering/RenderRegion.cpp:
1829         (WebCore::RenderRegion::RenderRegion):
1830
1831 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
1832
1833         [CSSRegions]Implement NamedFlow::overflow
1834         https://bugs.webkit.org/show_bug.cgi?id=78880
1835
1836         Reviewed by David Hyatt.
1837
1838         Test: fast/regions/webkit-named-flow-overflow.html
1839
1840         * dom/WebKitNamedFlow.cpp:
1841         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
1842         (WebCore::WebKitNamedFlow::overflow):
1843         (WebCore):
1844         * dom/WebKitNamedFlow.h:
1845         (WebCore):
1846         (WebCore::WebKitNamedFlow::create):
1847         (WebKitNamedFlow):
1848         * dom/WebKitNamedFlow.idl:
1849         * rendering/RenderFlowThread.cpp:
1850         (WebCore::RenderFlowThread::RenderFlowThread):
1851         (WebCore::RenderFlowThread::ensureNamedFlow):
1852         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
1853         * rendering/RenderFlowThread.h:
1854
1855 2012-02-17  Joe Thomas  <joethomas@motorola.com>
1856
1857         flex-wrap:nowrap should be flex-wrap:none
1858         https://bugs.webkit.org/show_bug.cgi?id=78772
1859
1860         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
1861
1862         Reviewed by Ojan Vafai.
1863
1864         * css/CSSParser.cpp:
1865         (WebCore::CSSParser::parseValue):
1866         * css/CSSPrimitiveValueMappings.h:
1867         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1868         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
1869         * css/CSSValueKeywords.in:
1870         * rendering/style/RenderStyle.h:
1871         * rendering/style/RenderStyleConstants.h:
1872
1873 2012-02-17  Enrica Casucci  <enrica@apple.com>
1874
1875         Refactor DragData class to use PlatformStrategies in the Mac implementation.
1876         https://bugs.webkit.org/show_bug.cgi?id=78768
1877
1878         Reviewed by Darin Adler.
1879
1880         No new tests. No behavior change.
1881
1882         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
1883         * platform/DragData.h:
1884         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
1885         * platform/PasteboardStrategy.h: Added color() method.
1886         * platform/PlatformPasteboard.h: Ditto.
1887         * platform/mac/ClipboardMac.mm:
1888         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
1889         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
1890         and the pasteboardStrategy() methods.
1891         (WebCore::DragData::DragData):
1892         (WebCore::DragData::canSmartReplace):
1893         (WebCore::DragData::containsColor):
1894         (WebCore::DragData::containsFiles):
1895         (WebCore::DragData::numberOfFiles):
1896         (WebCore::DragData::asFilenames):
1897         (WebCore::DragData::containsPlainText):
1898         (WebCore::DragData::asPlainText):
1899         (WebCore::DragData::asColor):
1900         (WebCore::DragData::containsCompatibleContent):
1901         (WebCore::DragData::asURL):
1902         (WebCore::DragData::asFragment):
1903         * platform/mac/PlatformPasteboardMac.mm:
1904         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
1905
1906 2012-02-17  Nate Chapin  <japhet@chromium.org>
1907
1908         [Chromium mac] Cursors and background images disappear.
1909         https://bugs.webkit.org/show_bug.cgi?id=78834
1910
1911         The issue occurs because a CachedImage sees that it has no clients
1912         and decide it is safe to purge its m_data buffer. However,
1913         StyleCachedImage is holding a CachedResourceHandle to the
1914         CachedImage, and it can still add a client later. If it does so,
1915         the CachedImage says everything is loaded but has no data.
1916
1917         Reviewed by Adam Barth.
1918
1919         No new tests, since the known repros have resisted reduction.
1920         Tested manually with chrome.angrybirds.com, redfin.com and a
1921         couple of other sites.
1922
1923         * rendering/style/StyleCachedImage.cpp:
1924         * rendering/style/StyleCachedImage.h: Ensure the underlying
1925             CachedImage has a client for the lifetime of the
1926             StyleCachedImage and doesn't purge its buffer. Call
1927             addClient(this) in the constructor and removeClient(this) in
1928             the destructor, then ignore all cache callbacks.
1929
1930 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
1931
1932         Table cell's anonymous wrappers are left in the tree, impacting our layout
1933         https://bugs.webkit.org/show_bug.cgi?id=7180
1934
1935         Reviewed by David Hyatt.
1936
1937         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
1938                fast/table/table-switch-cell-position-bad-layout.html
1939
1940         This patch implements cell's anonymous wrapper removal at detach time.
1941
1942         Trimming the render tree when we remove objects from it would be more complex
1943         to generalize as several objects override the behavior to do their own clean-ups.
1944         This would also open more potential for programming errors.
1945
1946         This change is limited to table cells' as a simple step towards fixing bug 52123
1947         and more generally eliminate some anonymous wrappers from the tree at detach time.
1948
1949         * dom/Node.cpp:
1950         (WebCore::Node::detach):
1951         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
1952         to clean up any anonymous wrappers on detach.
1953
1954         * rendering/RenderObject.cpp:
1955         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1956         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
1957         detach in some cases, added a fast path.
1958
1959         * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
1960
1961 2012-02-17  Rob Buis  <rbuis@rim.com>
1962
1963         ASSERT (and crash) with dynamically moved <font-face>
1964         https://bugs.webkit.org/show_bug.cgi?id=64839
1965
1966         Reviewed by Antti Koivisto.
1967
1968         Reset the style declaration when rmeoving the font-face element from the document.
1969
1970         Test: svg/custom/font-face-move.svg
1971
1972         * svg/SVGFontFaceElement.cpp:
1973         (WebCore::SVGFontFaceElement::removedFromDocument):
1974
1975 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
1976
1977         Fix some warnings encountered during the GTK+ build
1978         https://bugs.webkit.org/show_bug.cgi?id=78911
1979
1980         Reviewed by Xan Lopez.
1981
1982         No new tests. These are just fixes for warnings.
1983
1984         * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
1985         a size_t type. Use size_t for iterating over members of a vector.
1986         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
1987         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
1988         * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
1989         (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
1990         (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
1991         (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
1992
1993 2012-02-17  Tim Dresser  <tdresser@chromium.org>
1994
1995         [chromium] Refactor video drawing to be more data driven
1996         https://bugs.webkit.org/show_bug.cgi?id=76720
1997
1998         Reviewed by James Robinson.
1999
2000         CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
2001         These quads are then drawn by LayerRendererChromium.
2002
2003         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
2004         CCLayerImpl::didDraw() is called directly after all drawing has been completed.
2005         CCLayerImpl::draw has been removed.
2006
2007         willDraw and didDraw are used to handle interaction with the VideoFrameProvider
2008         in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
2009         didDraw returns it.
2010
2011         A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
2012         This test ensures that CCLayerImpl::didDraw() is called on all layers,
2013         including layers on different render surfaces.
2014
2015         As this was a refactor, no other tests were added.
2016
2017         * platform/graphics/chromium/LayerRendererChromium.cpp:
2018         (WebCore::LayerRendererChromium::drawYUV):
2019         (WebCore):
2020         (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
2021         (WebCore::LayerRendererChromium::drawRGBA):
2022         (WebCore::LayerRendererChromium::drawNativeTexture):
2023         (WebCore::LayerRendererChromium::copyFrameToTextures):
2024         (WebCore::LayerRendererChromium::copyPlaneToTexture):
2025         (WebCore::LayerRendererChromium::drawVideoQuad):
2026         * platform/graphics/chromium/LayerRendererChromium.h:
2027         (LayerRendererChromium):
2028         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2029         * platform/graphics/chromium/cc/CCLayerImpl.h:
2030         (WebCore::CCLayerImpl::didDraw):
2031         (CCLayerImpl):
2032         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2033         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2034         (WebCore::CCLayerTreeHostImpl::drawLayers):
2035         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2036         (CCLayerTreeHostImpl):
2037         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
2038         (WebCore::CCVideoDrawQuad::create):
2039         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
2040         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
2041         (CCVideoDrawQuad):
2042         (WebCore::CCVideoDrawQuad::textures):
2043         (WebCore::CCVideoDrawQuad::frame):
2044         (WebCore::CCVideoDrawQuad::format):
2045         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2046         (WebCore::CCVideoLayerImpl::willDraw):
2047         (WebCore::CCVideoLayerImpl::appendQuads):
2048         (WebCore::CCVideoLayerImpl::didDraw):
2049         (WebCore::CCVideoLayerImpl::computeVisibleSize):
2050         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2051         (CCVideoLayerImpl):
2052         (WebCore::CCVideoLayerImpl::providerMutex):
2053         (WebCore::CCVideoLayerImpl::provider):
2054         (Texture):
2055
2056 2012-02-17  Stephen Chenney  <schenney@chromium.org>
2057
2058         Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
2059         https://bugs.webkit.org/show_bug.cgi?id=77639
2060
2061         Reviewed by Nikolas Zimmermann.
2062
2063         Fix a SVG crash in Release builds, although it still crashes in Debug builds.
2064         The crash occurred when an SVG use element attempted to reference a style element while the file
2065         contained an error causing the error banner to display. The fix is to prevent SVGUseElement
2066         from recalculating style during tree building and return immediately when style is recalculated and
2067         the tree is building.
2068
2069         Test: svg/custom/use-referencing-style-crash.svg
2070
2071         * svg/SVGUseElement.cpp:
2072         (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
2073         (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
2074         is being built and we are not yet ready for style update.
2075
2076 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
2077
2078         Unreviewed, rolling out r108077.
2079         http://trac.webkit.org/changeset/108077
2080         https://bugs.webkit.org/show_bug.cgi?id=78390
2081
2082         it broke compilation.
2083
2084         * inspector/CodeGeneratorInspector.py:
2085         * inspector/InjectedScript.cpp:
2086         (WebCore::InjectedScript::evaluateOnCallFrame):
2087         (WebCore::InjectedScript::getFunctionDetails):
2088         (WebCore::InjectedScript::getProperties):
2089         (WebCore::InjectedScript::wrapCallFrames):
2090         * inspector/InjectedScript.h:
2091         (InjectedScript):
2092         * inspector/InspectorDebuggerAgent.cpp:
2093         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2094         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2095         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2096         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2097         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2098         (WebCore::InspectorDebuggerAgent::didParseSource):
2099         * inspector/InspectorDebuggerAgent.h:
2100         (InspectorDebuggerAgent):
2101
2102 2012-02-17  Florin Malita  <fmalita@google.com>
2103
2104         chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
2105         https://bugs.webkit.org/show_bug.cgi?id=74858
2106
2107         Reviewed by Nikolas Zimmermann.
2108
2109         Tests: svg/custom/tref-remove-target-crash-expected.svg
2110                svg/custom/tref-remove-target-crash.svg
2111
2112         Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
2113         cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
2114         at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
2115         the target element to simplify the implementation and reduce the scope.
2116
2117         * svg/SVGTRefElement.cpp:
2118         (WebCore::TargetListener::create):
2119         (WebCore::TargetListener::cast):
2120         (WebCore::TargetListener::clear):
2121         (WebCore::TargetListener::TargetListener):
2122         (WebCore::TargetListener::operator==):
2123         (WebCore::TargetListener::handleEvent):
2124         (WebCore::SVGTRefElement::detachTarget):
2125         (WebCore::SVGTRefElement::buildPendingResource):
2126         * svg/SVGTRefElement.h:
2127
2128 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
2129
2130         Fix the build after r108077.
2131
2132         * inspector/CodeGeneratorInspector.py:
2133         (RawTypes.Any.generate_validate_method):
2134
2135 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
2136
2137         Avoid using a transparency layer for rgba() border drawing when possible
2138         https://bugs.webkit.org/show_bug.cgi?id=63176
2139
2140         Reviewed by Dan Bernstein.
2141         
2142         The non-radiused border drawing code would use a transparency layer
2143         when drawing any one or more borders with alpha colors. However,
2144         we only need to use a transparency layer when there is a corner
2145         join between the borders being rendered with any one color,
2146         so add a utility function includesAdjacentEdges() that can tell us
2147         that, and use it to avoid making extraneous transparency layers.
2148
2149         Optimization only, no new tests.
2150
2151         * rendering/RenderBoxModelObject.cpp:
2152         (WebCore::includesAdjacentEdges):
2153         (WebCore):
2154         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2155
2156 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2157
2158         Not reviewed: Qt minimal build fix.
2159
2160         * inspector/InjectedScript.h:
2161         (WebCore):
2162
2163 2012-02-17  Peter Rybin  <peter.rybin@gmail.com>
2164
2165         Web Inspector: Switch Debugger agent to TypeBuilder
2166         https://bugs.webkit.org/show_bug.cgi?id=78390
2167
2168         Reviewed by Vsevolod Vlasov.
2169
2170         Client code is switched to TypeBuilder.
2171
2172         * inspector/CodeGeneratorInspector.py:
2173         * inspector/InjectedScript.cpp:
2174         (WebCore::InjectedScript::evaluateOnCallFrame):
2175         (WebCore::InjectedScript::getFunctionDetails):
2176         (WebCore::InjectedScript::getProperties):
2177         (WebCore::InjectedScript::wrapCallFrames):
2178         * inspector/InjectedScript.h:
2179         (InjectedScript):
2180         * inspector/InspectorDebuggerAgent.cpp:
2181         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2182         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2183         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2184         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2185         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2186         (WebCore::InspectorDebuggerAgent::didParseSource):
2187         * inspector/InspectorDebuggerAgent.h:
2188         (InspectorDebuggerAgent):
2189
2190 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2191
2192         Web Inspector: hide color picker on selected node update.
2193         https://bugs.webkit.org/show_bug.cgi?id=78896
2194
2195         Reviewed by Vsevolod Vlasov.
2196
2197         * inspector/front-end/Spectrum.js:
2198         (WebInspector.Spectrum.prototype.get visible):
2199         (WebInspector.Spectrum.prototype.toggle):
2200         (WebInspector.Spectrum.prototype.show):
2201         * inspector/front-end/StylesSidebarPane.js:
2202         (WebInspector.StylesSidebarPane.prototype.update):
2203         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2204
2205 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2206
2207         Web Inspector: check undo-redo boundaries based on current action index, not history size.
2208         https://bugs.webkit.org/show_bug.cgi?id=78895
2209
2210         Reviewed by Vsevolod Vlasov.
2211
2212         Tests: inspector/elements/perform-undo-undo.html
2213                inspector/styles/perform-undo-perform-of-mergable-action.html
2214
2215         * inspector/InspectorHistory.cpp:
2216         (WebCore::InspectorHistory::perform):
2217
2218 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
2219
2220         Unreviewed, rolling out r108071.
2221         http://trac.webkit.org/changeset/108071
2222         https://bugs.webkit.org/show_bug.cgi?id=77155
2223
2224         chromium-mac compilation failed
2225
2226         * platform/graphics/chromium/Extensions3DChromium.h:
2227
2228 2012-02-17  Michal Mocny  <mmocny@google.com>
2229
2230         [chromium] GL_CHROMIUM_gpu_memory_manager extension
2231         https://bugs.webkit.org/show_bug.cgi?id=77155
2232
2233         Reviewed by James Robinson.
2234
2235         * platform/graphics/chromium/Extensions3DChromium.h:
2236         (GpuMemoryAllocationChangedCallbackCHROMIUM):
2237         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
2238         (Extensions3DChromium):
2239
2240 2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
2241
2242         [CMake, EFL] Unreviewed, fix the build when building with
2243         SHARED_CORE=ON after r107820.
2244
2245         RunLoopEfl.cpp has not been upstreamed yet, and building only
2246         RunLoop.cpp created an .so with some missing, unimplemented
2247         symbols. The BlackBerry port seems to be in the same situation.
2248
2249         The best solution for now is to build RunLoop.cpp only on the
2250         WinCE port.
2251
2252         * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
2253         * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
2254
2255 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2256
2257         Web Inspector: a bit of color picker polish
2258         https://bugs.webkit.org/show_bug.cgi?id=78892
2259
2260         - Fixed computed style swatch
2261         - Removed color: caption
2262         - Rendered value as source code, user-selectable
2263         - Removed scroller gap
2264
2265         Reviewed by Yury Semikhatsky.
2266
2267         * English.lproj/localizedStrings.js:
2268         * inspector/front-end/Popover.js:
2269         (WebInspector.Popover.prototype.setCanShrink):
2270         (WebInspector.Popover.prototype._positionElement):
2271         * inspector/front-end/Spectrum.js:
2272         * inspector/front-end/StylesSidebarPane.js:
2273         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
2274         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2275         * inspector/front-end/elementsPanel.css:
2276         (.spectrum-container):
2277         (.spectrum-display-value):
2278         (.spectrum-range-container):
2279         * inspector/front-end/popover.css:
2280         (.popover .content.fixed-height):
2281
2282 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2283
2284         Web Inspector: color picker does not allow changing the color.
2285         https://bugs.webkit.org/show_bug.cgi?id=78886
2286
2287         Reviewed by Vsevolod Vlasov.
2288
2289         * inspector/front-end/ElementsPanel.js:
2290         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
2291         * inspector/front-end/Popover.js:
2292         (WebInspector.Popover.prototype.setCanShrink):
2293         (WebInspector.Popover.prototype._positionElement):
2294         * inspector/front-end/Settings.js:
2295         * inspector/front-end/Spectrum.js:
2296         * inspector/front-end/StylesSidebarPane.js:
2297         (WebInspector.StylesSidebarPane):
2298         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2299
2300 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2301
2302         Web Inspector: new image preview has poorly positioned popover arrow.
2303         https://bugs.webkit.org/show_bug.cgi?id=78884
2304
2305         Reviewed by Vsevolod Vlasov.
2306
2307         * inspector/front-end/Popover.js:
2308         (WebInspector.Popover.prototype._positionElement):
2309         * inspector/front-end/utilities.js:
2310         (Element.prototype.boxInWindow):
2311
2312 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2313
2314         Web Inspector: enable "Single click CSS editing" experiment by default.
2315         https://bugs.webkit.org/show_bug.cgi?id=78881
2316
2317         Reviewed by Vsevolod Vlasov.
2318
2319         * inspector/front-end/elementsPanel.css:
2320         (.styles-section .properties .enabled-button):
2321
2322 2012-02-17  Pavel Feldman  <pfeldman@google.com>
2323
2324         Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
2325         https://bugs.webkit.org/show_bug.cgi?id=78827
2326
2327         Reviewed by Vsevolod Vlasov.
2328
2329         * inspector/front-end/StylesSidebarPane.js:
2330         (WebInspector.StylesSidebarPane.prototype.update):
2331         (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
2332         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2333         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2334         (WebInspector.StylesSidebarPane.prototype._validateNode):
2335         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
2336         (WebInspector.StylesSidebarPane.prototype._attributesModified):
2337         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
2338         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
2339         (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
2340         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
2341         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
2342         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
2343         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
2344         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
2345         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
2346         (WebInspector.StylePropertyTreeElement.prototype):
2347
2348 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2349
2350         [Qt][WK2] Allow partial updates
2351         https://bugs.webkit.org/show_bug.cgi?id=78824
2352
2353         BitmapTextureGL should not zero-fill the textures when resetting.
2354         This was needed in the previous buffer management system, where texture were not completely
2355         filled by the backing store.
2356
2357         Reviewed by Simon Hausmann.
2358
2359         No new behavior.
2360
2361         * platform/graphics/opengl/TextureMapperGL.cpp:
2362         (BitmapTextureGL):
2363         (WebCore::texSubImage2DResourceSafe):
2364         (WebCore):
2365         (WebCore::BitmapTextureGL::reset):
2366
2367 2012-02-17  Yosifumi Inoue  <yosin@chromium.org>
2368
2369         [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
2370         https://bugs.webkit.org/show_bug.cgi?id=78873
2371
2372         Reviewed by Kent Tamura.
2373
2374         This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
2375         and merge dispatchChangeEventInResponseToSetValue to setValue.
2376
2377         No new tests. No change in behavior.
2378
2379         * html/HTMLInputElement.cpp:
2380         (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
2381         * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
2382         * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
2383         (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
2384         * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
2385         * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
2386         (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
2387         * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
2388
2389 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
2390
2391         Unreviewed. Mac build fix after r108047.
2392
2393         * WebCore.xcodeproj/project.pbxproj:
2394
2395 2012-02-16  Andreas Kling  <awesomekling@apple.com>
2396
2397         Removing the last presentation attribute should result in a null attributeStyle().
2398         <http://webkit.org/b/78812>
2399
2400         Reviewed by Antti Koivisto.
2401
2402         If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
2403         respected presentation attributes, set a null attributeStyle() instead of an empty one.
2404
2405         * css/CSSStyleSelector.cpp:
2406         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2407         * dom/StyledElement.cpp:
2408         (WebCore::StyledElement::updateAttributeStyle):
2409
2410 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
2411
2412         Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
2413         https://bugs.webkit.org/show_bug.cgi?id=78825
2414
2415         Introduced static counters of allocated Documents, Nodes and JS EventListeners.
2416         Their values are displayed on the Timeline panel.
2417
2418         Reviewed by Pavel Feldman.
2419
2420         * CMakeLists.txt:
2421         * English.lproj/localizedStrings.js:
2422         * GNUmakefile.list.am:
2423         * Target.pri:
2424         * WebCore.gypi:
2425         * WebCore.vcproj/WebCore.vcproj:
2426         * WebCore.xcodeproj/project.pbxproj:
2427         * bindings/js/JSEventListener.cpp:
2428         (WebCore::JSEventListener::JSEventListener):
2429         (WebCore::JSEventListener::~JSEventListener):
2430         * bindings/v8/V8AbstractEventListener.cpp:
2431         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
2432         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
2433         * dom/Document.cpp:
2434         (WebCore::Document::Document):
2435         (WebCore::Document::~Document):
2436         * dom/Document.h:
2437         (WebCore::Node::Node):
2438         * dom/Node.cpp:
2439         (WebCore::Node::~Node):
2440         * inspector/InspectorAllInOne.cpp:
2441         * inspector/InspectorController.cpp:
2442         (WebCore::InspectorController::InspectorController):
2443         * inspector/InspectorCounters.cpp: Added.
2444         (WebCore):
2445         (WebCore::InspectorCounters::counterValue):
2446         * inspector/InspectorCounters.h: Added.
2447         (WebCore):
2448         (InspectorCounters):
2449         (WebCore::InspectorCounters::incrementCounter):
2450         (WebCore::InspectorCounters::decrementCounter):
2451         * inspector/InspectorTimelineAgent.cpp:
2452         (WebCore::InspectorTimelineAgent::didCallFunction):
2453         (WebCore::InspectorTimelineAgent::didDispatchEvent):
2454         (WebCore::InspectorTimelineAgent::didWriteHTML):
2455         (WebCore::InspectorTimelineAgent::didFireTimer):
2456         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2457         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2458         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2459         * inspector/InspectorTimelineAgent.h:
2460         (WebCore):
2461         (WebCore::InspectorTimelineAgent::create):
2462         (InspectorTimelineAgent):
2463         * inspector/front-end/MemoryStatistics.js:
2464         (WebInspector.MemoryStatistics):
2465         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
2466         (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
2467         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
2468         * inspector/front-end/TimelinePanel.js:
2469         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
2470
2471 2012-02-16  Cris Neckar  <cdn@chromium.org>
2472
2473         Correct a misleading comment regarding string delimiters in CSS parsing.
2474         https://bugs.webkit.org/show_bug.cgi?id=78521
2475
2476         Reviewed by Zoltan Herczeg.
2477
2478         * css/CSSParser.cpp:
2479         (WebCore::CSSParser::lex):
2480
2481 2012-02-16  Martin Robinson  <mrobinson@igalia.com>
2482
2483         Fix the TextureMapper build for GTK+.
2484
2485         No new tests. This is just a build fix.
2486
2487         * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
2488
2489 2012-02-16  Daniel Bates  <dbates@webkit.org>
2490
2491         Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
2492
2493         The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
2494         referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
2495         guard around its declaration.
2496
2497         * html/HTMLStyleElement.h:
2498         (HTMLStyleElement):
2499
2500 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
2501
2502         [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
2503         https://bugs.webkit.org/show_bug.cgi?id=78875
2504
2505         Reviewed by Kentaro Hara.
2506
2507         Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
2508         was saved in DOMObject storage instead of DOMNode storage.
2509
2510         CodeGenerator should handle with DOMNode correctly to solve the problem.
2511
2512         Test: fast/dom/shadow/shadow-root-new.html
2513
2514         * bindings/scripts/CodeGeneratorV8.pm:
2515         (GenerateConstructorCallback):
2516
2517 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
2518
2519         Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
2520         see http://webkit.org/b/78832
2521
2522         * CMakeLists.txt:
2523         * DerivedSources.cpp:
2524         * DerivedSources.make:
2525         * DerivedSources.pri:
2526         * GNUmakefile.list.am:
2527         * Target.pri:
2528         * WebCore.gypi:
2529         * WebCore.xcodeproj/project.pbxproj:
2530         * dom/DOMAllInOne.cpp:
2531         * dom/EventDispatchMediator.cpp:
2532         (WebCore::FocusEventDispatchMediator::create):
2533         (WebCore):
2534         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2535         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2536         (WebCore::BlurEventDispatchMediator::create):
2537         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2538         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2539         * dom/EventDispatchMediator.h:
2540         (FocusEventDispatchMediator):
2541         (WebCore):
2542         (BlurEventDispatchMediator):
2543         * dom/EventFactory.in:
2544         * dom/FocusEvent.cpp: Removed.
2545         * dom/FocusEvent.h: Removed.
2546         * dom/FocusEvent.idl: Removed.
2547         * dom/Node.cpp:
2548         (WebCore::Node::dispatchFocusInEvent):
2549         (WebCore::Node::dispatchFocusOutEvent):
2550         * dom/UIEvent.cpp:
2551         (WebCore::FocusInEventDispatchMediator::create):
2552         (WebCore):
2553         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
2554         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2555         (WebCore::FocusOutEventDispatchMediator::create):
2556         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
2557         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2558         * dom/UIEvent.h:
2559         (FocusInEventDispatchMediator):
2560         (WebCore):
2561         (FocusOutEventDispatchMediator):
2562         * page/DOMWindow.idl:
2563
2564 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2565
2566         Another fix for viewport tests
2567
2568         No new tests.
2569
2570         * dom/ViewportArguments.cpp:
2571         (WebCore::numericPrefix): When we don't parse a number, we could either be 
2572         trying to parse junk, which returns NaN, or we could get an empty string, 
2573         which returns 0, so we need to account for that in the assert.
2574
2575 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2576
2577         Another build fix for viewport tests
2578
2579         No new tests.
2580
2581         * dom/ViewportArguments.cpp:
2582         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
2583         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
2584         we have NaN rather than 0.
2585
2586 2012-02-16  Alexandre Elias  <aelias@google.com>
2587
2588         [chromium] Bundle page scale factor and limits in CCLayerTreeHost
2589         https://bugs.webkit.org/show_bug.cgi?id=78762
2590
2591         Setting page scale factor and its limits in separate methods
2592         may cause clamping bugs if one of them makes it to the
2593         impl thread before the other.  Change the API to bundle them together,
2594         which matches the existing impl-side interface.
2595
2596         Reviewed by James Robinson.
2597
2598         No new tests (API change will disallow this type of bug).
2599
2600         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2601         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2602         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2603         (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
2604         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2605         (CCLayerTreeHost):
2606
2607 2012-02-16  Kentaro Hara  <haraken@chromium.org>
2608
2609         Unreviewed. Rebaselined run-bindings-tests results.
2610
2611         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2612         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2613         * bindings/scripts/test/JS/JSTestInterface.cpp:
2614         (WebCore::JSTestInterfaceConstructor::finishCreation):
2615         * bindings/scripts/test/JS/JSTestObj.cpp:
2616         (WebCore::JSTestObjConstructor::finishCreation):
2617         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2618         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2619
2620 2012-02-16  Sami Kyostila  <skyostil@chromium.org>
2621
2622         [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
2623         https://bugs.webkit.org/show_bug.cgi?id=77464
2624
2625         Use bounds() instead of contentBounds() to calculate the region to mark
2626         as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
2627         includes contents scale, while bounds() does not.
2628
2629         Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
2630         given an unscaled rectangle, modify that function to scale the rectangle before
2631         using it to invalidate the underlying tiles.
2632
2633         Reviewed by James Robinson.
2634
2635         Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
2636
2637         * platform/graphics/chromium/LayerChromium.h:
2638         (WebCore::LayerChromium::setNeedsDisplay):
2639         * platform/graphics/chromium/TiledLayerChromium.cpp:
2640         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
2641
2642 2012-02-16  Raymond Liu  <raymond.liu@intel.com>
2643
2644         Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
2645         https://bugs.webkit.org/show_bug.cgi?id=76509
2646
2647         Reviewed by Eric Seidel.
2648
2649         No new tests required.
2650
2651         * webaudio/AudioDestinationNode.h:
2652         * webaudio/AudioNode.h:
2653         (WebCore::AudioNode::sampleRate):
2654         * webaudio/DefaultAudioDestinationNode.cpp:
2655         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
2656         * webaudio/DefaultAudioDestinationNode.h:
2657         * webaudio/OfflineAudioDestinationNode.cpp:
2658         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
2659         * webaudio/OfflineAudioDestinationNode.h:
2660         (WebCore::OfflineAudioDestinationNode::sampleRate):
2661
2662 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
2663
2664         [Refactoring] Remove location from NodeRenderingContext.
2665         https://bugs.webkit.org/show_bug.cgi?id=78796
2666
2667         Reviewed by Hajime Morita.
2668
2669         This is a simple refactoring to remove m_location from NodeRenderingContext.
2670         TreeLocation is merged into AttachPhase like the following.
2671             LocationUndertermined -> Calculating
2672             LocationNotInTree -> AttachingNotInTree
2673             LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
2674             LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
2675
2676         We have renamed the enum items of AttachPhase, because not only <content> but also
2677         <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
2678         'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
2679
2680         No new tests, no change in behavior.
2681
2682         * dom/NodeRenderingContext.cpp:
2683         (WebCore::NodeRenderingContext::NodeRenderingContext):
2684         (WebCore::NodeRenderingContext::nextRenderer):
2685         (WebCore::NodeRenderingContext::previousRenderer):
2686         (WebCore::NodeRenderingContext::parentRenderer):
2687         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2688         * dom/NodeRenderingContext.h:
2689         (NodeRenderingContext):
2690         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
2691
2692 2012-02-16  Kent Tamura  <tkent@chromium.org>
2693
2694         Run sort-Xcode-project-file.
2695
2696         * WebCore.xcodeproj/project.pbxproj: Sorted.
2697
2698 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2699
2700         Another build fix for viewport tests
2701
2702         No new tests.
2703
2704         * dom/ViewportArguments.cpp:
2705         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
2706         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
2707         we have NaN rather than 0.
2708
2709 2012-02-15  Michael Nordman  <michaeln@google.com>
2710
2711         [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
2712         https://bugs.webkit.org/show_bug.cgi?id=78841
2713
2714         WebDatabase now delegates this function entirely to DatabaseTracker,
2715         a new closeDatabasesImmediately() has been added for that purpose. That
2716         method posts tasks to the appropiate context thread for each database
2717         instance that should be closed immediately.
2718
2719         The DatabaseTracker getAllOpenDatabases() method has been removed from
2720         the chromium impl because it's unsafe, refs cannot be safely taken on
2721         AbstractDatabase instances in the tracker's collection of open databases.
2722
2723         Add a message to the console log when a database is forcibly closed.
2724
2725         Transactions initiated on a database instance that has been forcibly
2726         closed complete with a transaction error callback.
2727         
2728         This is part of resolving http://crbug.com/98939
2729
2730         Reviewed by David Levin.
2731
2732         No new layout tests, there is no common code way to closeImmediately.
2733         We have coverage for this in py automation tests.
2734
2735         * platform/sql/SQLiteDatabase.cpp:
2736         The closeImmediately code path can result in the underlying sqlite3 handle being
2737         closed earlier than usual and trip some assertions. Updated the assertions to no
2738         longer trigger in this early close case.
2739         (WebCore::SQLiteDatabase::close):
2740         (WebCore::SQLiteDatabase::setMaximumSize):
2741         * platform/sql/SQLiteDatabase.h:
2742         (WebCore::SQLiteDatabase::sqlite3Handle):
2743
2744         * storage/Database.cpp:
2745         (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
2746         (WebCore::Database::changeVersion): Use the private runTransaction helper method.
2747         (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
2748         (WebCore::Database::readTransaction): Ditto.
2749         (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
2750         (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
2751         to invoke the error callback in that case. This also avoids creating a reference cycle between
2752         a newly created transaction and the database that previously existed due to a transction being
2753         added and never removed from the Q while in this state.
2754         * storage/Database.h:
2755         * storage/DatabaseSync.cpp:
2756         (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
2757         * storage/DatabaseTracker.h:
2758
2759         * storage/chromium/DatabaseTrackerChromium.cpp:
2760         Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
2761         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
2762         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
2763         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
2764         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
2765         (WebCore::DatabaseTracker::closeDatabasesImmediately): 
2766         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
2767
2768 2012-02-16  Dana Jansens  <danakj@chromium.org>
2769
2770         [Chromium] Occlusion tracking with CSS filters
2771         https://bugs.webkit.org/show_bug.cgi?id=77498
2772
2773         Reviewed by James Robinson.
2774
2775         The new CSS filter support within the compositor changes how
2776         occlusion tracking needs to function. A filter can change the
2777         alpha value of pixels, making an otherwise opaque pixel no
2778         longer so. Secondly, a filter may move color values around
2779         on a surface, which can cause otherwise occluded areas to
2780         become visible and require painting.
2781
2782         New unit tests: CCLayerTreeHostTest.cpp
2783
2784         Tests: compositing/culling/filter-occlusion-alpha-large.html
2785                compositing/culling/filter-occlusion-alpha.html
2786                compositing/culling/filter-occlusion-blur-large.html
2787                compositing/culling/filter-occlusion-blur.html
2788
2789         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2790         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2791         * platform/graphics/chromium/RenderSurfaceChromium.h:
2792         (WebCore::RenderSurfaceChromium::setFilters):
2793         (WebCore::RenderSurfaceChromium::filters):
2794         (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
2795         (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
2796         (RenderSurfaceChromium):
2797         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2798         (WebCore::enterTargetRenderSurface):
2799         (WebCore::CCLayerTreeHost::paintLayerContents):
2800         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2801         (WebCore::subtreeShouldRenderToSeparateSurface):
2802         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2803         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
2804         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2805         (WebCore::CCRenderSurface::CCRenderSurface):
2806         * platform/graphics/chromium/cc/CCRenderSurface.h:
2807         (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
2808         (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
2809         (CCRenderSurface):
2810         * platform/graphics/filters/FilterOperation.h:
2811         (FilterOperation):
2812         (WebCore::FilterOperation::affectsOpacity):
2813         (WebCore::FilterOperation::movesPixels):
2814         (WebCore::ReferenceFilterOperation::affectsOpacity):
2815         (WebCore::ReferenceFilterOperation::movesPixels):
2816         (ReferenceFilterOperation):
2817         (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
2818         (BasicComponentTransferFilterOperation):
2819         (WebCore::BlurFilterOperation::affectsOpacity):
2820         (WebCore::BlurFilterOperation::movesPixels):
2821         (BlurFilterOperation):
2822         (WebCore::DropShadowFilterOperation::affectsOpacity):
2823         (DropShadowFilterOperation):
2824         * platform/graphics/filters/FilterOperations.cpp:
2825         (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
2826         (WebCore):
2827         (WebCore::FilterOperations::hasFilterThatMovesPixels):
2828         * platform/graphics/filters/FilterOperations.h:
2829         (WebCore::FilterOperations::isEmpty):
2830         (FilterOperations):
2831
2832 2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2833
2834         [BlackBerry] Adapt to the removal of WebStringIml.h
2835         https://bugs.webkit.org/show_bug.cgi?id=78784
2836
2837         Reviewed by Antonio Gomes.
2838
2839         WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
2840         has been removed internally. We should adapt to this removal for the
2841         upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
2842         because it just inherits from WTF::StringImpl but adding nothing.
2843
2844         No functionalities changed, no new tests.
2845
2846         * platform/text/blackberry/StringBlackBerry.cpp:
2847         (WTF::String::operator WebString):
2848
2849 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
2850
2851         Made Weak<T> single-owner, adding PassWeak<T>
2852         https://bugs.webkit.org/show_bug.cgi?id=78740
2853
2854         Reviewed by Sam Weinig.
2855
2856         * bindings/js/JSDOMBinding.cpp:
2857         (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
2858         hash map API.
2859
2860         * bindings/js/JSDOMBinding.h:
2861         (WebCore::getCachedWrapper):
2862         (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
2863         our new hash map API.
2864
2865         * bindings/js/JSEventListener.h:
2866         (WebCore::JSEventListener::setWrapper):
2867         * bindings/js/ScriptWrappable.h:
2868         (WebCore::ScriptWrappable::setWrapper):
2869         * bridge/jsc/BridgeJSC.cpp:
2870         (JSC::Bindings::Instance::createRuntimeObject):
2871         * bridge/runtime_root.cpp:
2872         (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
2873         required by our new hash map and Weak<T> APIs.
2874
2875 2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
2876
2877         Crash in visiblePositionForIndex
2878         https://bugs.webkit.org/show_bug.cgi?id=77683
2879
2880         Reviewed by Eric Seidel.
2881
2882         Fixed the crash.
2883
2884         Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
2885
2886         * editing/ApplyBlockElementCommand.cpp:
2887         (WebCore::ApplyBlockElementCommand::doApply):
2888         * editing/InsertListCommand.cpp:
2889         (WebCore::InsertListCommand::doApply):
2890         * editing/htmlediting.cpp:
2891         (WebCore::indexForVisiblePosition):
2892         * editing/htmlediting.h:
2893         (WebCore):
2894
2895 2012-02-16  Matthew Delaney  <mdelaney@apple.com>
2896
2897         ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
2898         https://bugs.webkit.org/show_bug.cgi?id=78765
2899
2900         Reviewed by Simon Fraser.
2901
2902         No new tests due to the flaky nature of reproducing the issue.
2903
2904         * platform/graphics/ShadowBlur.cpp:
2905         (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
2906         when we create a new ImageBuffer in order to invalidate cached values.
2907         (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
2908         of cached values into one method to enforce them being the same.
2909         (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
2910
2911         Restructure to use new method described above.
2912         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
2913         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2914         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2915         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2916         (WebCore::ShadowBlur::beginShadowLayer):
2917
2918 2012-02-16  Dana Jansens  <danakj@chromium.org>
2919
2920         [chromium] Empty divs not transforming overflow correctly
2921         https://bugs.webkit.org/show_bug.cgi?id=78850
2922
2923         Reviewed by James Robinson.
2924
2925         Test: compositing/overflow/transform-in-empty-container.html
2926
2927         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2928         (WebCore::GraphicsLayerChromium::setSize):
2929
2930 2012-02-16  Emil A Eklund  <eae@chromium.org>
2931
2932         Fix use of long long in FractionalLayoutUnit::setRawValue
2933         https://bugs.webkit.org/show_bug.cgi?id=78835
2934
2935         Reviewed by Eric Seidel.
2936
2937         Change setRawValue(long long) to compare against int min and max instead
2938         of using abs as not all platforms we support implement a long long
2939         version of abs or llabs.
2940
2941         No new tests.
2942
2943         * platform/FractionalLayoutUnit.h:
2944         (WebCore::FractionalLayoutUnit::setRawValue):
2945         Compare against int min/max instead of just max with abs.
2946         
2947         (WebCore::FractionalLayoutUnit::isInBounds):
2948         Fix type mismatch warning.
2949         
2950         (WebCore::operator==):
2951         Fix typo.
2952         
2953         (WebCore::operator*):
2954         Use long long version of setRawValue.
2955
2956 2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
2957
2958         Add an internal flag to accept multiple shadow roots for the purpose of tests.
2959         https://bugs.webkit.org/show_bug.cgi?id=78453
2960
2961         Reviewed by Hajime Morita.
2962
2963         This patch introduces a flag to enable multiple shadow subtrees.
2964         This flag is intended to be used for testing purpose for a while.
2965         We will remove it later.
2966
2967         No new tests, no change in behavior.
2968
2969         * WebCore.exp.in:
2970         * bindings/generic/RuntimeEnabledFeatures.cpp:
2971         (WebCore):
2972         * bindings/generic/RuntimeEnabledFeatures.h:
2973         (RuntimeEnabledFeatures):
2974         (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
2975         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
2976         * dom/ShadowRoot.cpp:
2977         (WebCore::ShadowRoot::create):
2978         * dom/ShadowRootList.cpp:
2979         (WebCore::ShadowRootList::pushShadowRoot):
2980         * testing/Internals.cpp:
2981         (WebCore::Internals::setMultipleShadowSubtreesEnabled):
2982         (WebCore):
2983         * testing/Internals.h:
2984         (Internals):
2985         * testing/Internals.idl:
2986
2987 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2988
2989         Fix the broken viewport tests
2990         https://bugs.webkit.org/show_bug.cgi?id=78774
2991
2992         Reviewed by Kenneth Rohde Christiansen.
2993
2994         No new tests.
2995
2996         * dom/ViewportArguments.cpp:
2997         (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
2998
2999 2012-02-16  Cris Neckar  <cdn@chromium.org>
3000
3001         Very large strings could cause the new quoted string to wrap.
3002         https://bugs.webkit.org/show_bug.cgi?id=78387
3003
3004         Reviewed by Eric Seidel.
3005
3006         * css/CSSParser.cpp:
3007         (WebCore::quoteCSSString):
3008
3009 2012-02-16  Eric Seidel  <eric@webkit.org>
3010
3011         Add a themeChromiumAndroid.css file for android-specific default styles
3012         https://bugs.webkit.org/show_bug.cgi?id=78547
3013
3014         Reviewed by Adam Barth.
3015
3016         This includes the themeChromiumAndroid.css file from the Chromium-Android port
3017         as well as some addidtional changes they had to html.css.  I believe those
3018         changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.
3019
3020         * WebCore.gyp/WebCore.gyp:
3021         * css/themeChromiumAndroid.css: Added.
3022         (select[size][multiple]):
3023         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
3024         * rendering/RenderThemeChromiumAndroid.cpp:
3025         (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
3026         (WebCore):
3027         * rendering/RenderThemeChromiumAndroid.h:
3028         (RenderThemeChromiumAndroid):
3029         (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
3030         (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):
3031
3032 2012-02-16  Brady Eidson  <beidson@apple.com>
3033
3034         <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
3035         REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
3036
3037         Reviewed by Sam Weinig.
3038
3039         No new tests. (Subtle API change attached to a specific application)
3040
3041         * loader/DocumentLoader.cpp:
3042         (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
3043         and there are outstanding subresource loads.
3044
3045         * page/Settings.cpp:
3046         (WebCore::Settings::Settings):
3047         * page/Settings.h:
3048         (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
3049         (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
3050         (Settings):
3051
3052 2012-02-16  Kentaro Hara  <haraken@chromium.org>
3053
3054         Remove [ConvertScriptString] from FileReaderSync.idl
3055         https://bugs.webkit.org/show_bug.cgi?id=78335
3056
3057         Reviewed by Eric Seidel.
3058
3059         The spec says that FileReadSync should throw NOT_FOUND_ERR
3060         if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync
3061
3062         By this fix, we can completely remove [ConvertScriptString] from WebKit.
3063
3064         Tests: fast/files/workers/worker-read-blob-sync.html
3065                fast/files/workers/worker-read-file-sync.html
3066
3067         * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
3068         (WebCore::FileReaderSync::readAsArrayBuffer):
3069         (WebCore::FileReaderSync::readAsBinaryString):
3070         (WebCore::FileReaderSync::readAsText):
3071         (WebCore::FileReaderSync::readAsDataURL):
3072         * fileapi/FileReaderSync.idl:
3073
3074         * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
3075         since no one is using it.
3076         (NativeToJSValue):
3077         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3078         (NativeToJSValue):
3079
3080         * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].
3081
3082         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
3083         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3084         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3085         (webkit_dom_test_obj_get_property):
3086         (webkit_dom_test_obj_class_init):
3087         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3088         * bindings/scripts/test/JS/JSTestObj.cpp:
3089         (WebCore):
3090         * bindings/scripts/test/JS/JSTestObj.h:
3091         (WebCore):
3092         * bindings/scripts/test/ObjC/DOMTestObj.h:
3093         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3094         * bindings/scripts/test/V8/V8TestObj.cpp:
3095         (WebCore):
3096
3097
3098 2012-02-16  Dana Jansens  <danakj@chromium.org>
3099
3100         [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
3101         https://bugs.webkit.org/show_bug.cgi?id=78775
3102
3103         Reviewed by Stephen White.
3104
3105         The clip was being applied in device coordinates, before transforming the painted
3106         rect into device coordinates. This made any translations get doubly represented,
3107         and gave incorrect paint tracking results.
3108
3109         Test: compositing/culling/unscrolled-within-boxshadow.html
3110
3111         Unit test: PlatformContextSkiaTest.cpp
3112
3113         * platform/graphics/skia/OpaqueRegionSkia.cpp:
3114         (WebCore::OpaqueRegionSkia::didDraw):
3115
3116 2012-02-16  Abhishek Arya  <inferno@chromium.org>
3117
3118         Crash with tables in multi-column layout.
3119         https://bugs.webkit.org/show_bug.cgi?id=78415
3120
3121         Reviewed by Julien Chaffraix.
3122
3123         Multi-column code creates anonymous column blocks directly
3124         under RenderTable, thereby violating table layout assumption.
3125         E.g. Captions in this testcase gets reparented to these anonymous
3126         column blocks and when they go away, they are not able to clear
3127         themselves from table's m_captions list (since RenderTable::removeChild
3128         is not called).
3129
3130         Test: fast/multicol/span/table-multi-column-crash.html
3131
3132         * rendering/RenderBlock.cpp:
3133         (WebCore::RenderBlock::containingColumnsBlock):
3134
3135 2012-02-16  ChangSeok Oh  <shivamidow@gmail.com>
3136
3137         [GTK] File system api build is broken
3138         https://bugs.webkit.org/show_bug.cgi?id=78479
3139
3140         Reviewed by Philippe Normand.
3141
3142         This patch is a small step to support FileSystem API for GTK port.
3143         As I know, bug58443 also dealt with it, but it looks like the submitted patch
3144         needs to be updated. To do that, I think I need to discuss with the original author.
3145         So, I hope to just fix build break issue in this bug.
3146
3147         No new tests. Implementing the feature is not done yet.
3148
3149         * GNUmakefile.list.am: Added some missing files.
3150         * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
3151         * platform/AsyncFileSystem.cpp:
3152         (WebCore):
3153         (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
3154         * platform/gtk/AsyncFileSystemGtk.cpp: Added.
3155         (WebCore):
3156         (WebCore::AsyncFileSystem::isAvailable):
3157         (WebCore::AsyncFileSystem::isValidType):
3158         (WebCore::AsyncFileSystem::create):
3159         (WebCore::AsyncFileSystem::openFileSystem):
3160         (WebCore::AsyncFileSystem::crackFileSystemURL):
3161         (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
3162         (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
3163         (WebCore::AsyncFileSystemGtk::toURL):
3164         (WebCore::AsyncFileSystemGtk::move):
3165         (WebCore::AsyncFileSystemGtk::copy):
3166         (WebCore::AsyncFileSystemGtk::remove):
3167         (WebCore::AsyncFileSystemGtk::removeRecursively):
3168         (WebCore::AsyncFileSystemGtk::readMetadata):
3169         (WebCore::AsyncFileSystemGtk::createFile):
3170         (WebCore::AsyncFileSystemGtk::createDirectory):
3171         (WebCore::AsyncFileSystemGtk::fileExists):
3172         (WebCore::AsyncFileSystemGtk::directoryExists):
3173         (WebCore::AsyncFileSystemGtk::readDirectory):
3174         (WebCore::AsyncFileSystemGtk::createWriter):
3175         * platform/gtk/AsyncFileSystemGtk.h: Added.
3176         (WebCore):
3177         (AsyncFileSystemGtk):
3178
3179 2012-02-16  Adrienne Walker  <enne@google.com>
3180
3181         Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
3182         https://bugs.webkit.org/show_bug.cgi?id=78286
3183
3184         Reviewed by Julien Chaffraix.
3185
3186         This is an unfortunate bandaid over a corner case where sometimes the
3187         visible descendant status dirty flag is true when this function is
3188         called from FrameView::repaintFixedElementsAfterScrolling. As it
3189         should be cheap to refresh this flag when dirty in most cases (as it
3190         early outs after finding any visible descendant), just lazily update
3191         the dirty flag here to ensure correctness.
3192
3193         * rendering/RenderLayer.cpp:
3194         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
3195
3196 2012-02-16  Adam Barth  <abarth@webkit.org>
3197
3198         Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
3199         https://bugs.webkit.org/show_bug.cgi?id=78844
3200
3201         Reviewed by Eric Seidel.
3202
3203         These function serve no useful purpose and should be removed.
3204
3205         * page/Chrome.cpp:
3206         (WebCore):
3207         * page/Chrome.h:
3208         (Chrome):
3209         * page/Geolocation.cpp:
3210         (WebCore::Geolocation::reset):
3211         (WebCore::Geolocation::requestPermission):
3212
3213 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
3214
3215         [soup] Move important SoupSession feature initialization to WebCore
3216         https://bugs.webkit.org/show_bug.cgi?id=68602
3217
3218         Reviewed by Martin Robinson.
3219
3220         Moved content sniffer and decoder initialization from WebKit to
3221         WebCore because network stuff will not work as expected without
3222         them. Added also out-of-the-box proxy support to WebCore.
3223
3224         No new tests required as we're just moving stuff from WebKit to
3225         WebCore.
3226
3227         * platform/network/soup/ResourceHandleSoup.cpp:
3228         (WebCore::ResourceHandle::defaultSession):
3229
3230 2012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>
3231
3232         thead in table without tbody causes table height doubling
3233         https://bugs.webkit.org/show_bug.cgi?id=37244
3234
3235         Reviewed by Ojan Vafai.
3236
3237         Tests: fast/table/double-height-table-no-tbody-expected.html
3238                fast/table/double-height-table-no-tbody.html
3239
3240         The bug is caused by the layout code would wrongly assuming that a
3241         table without a <tbody> is an empty table. We would set the logical
3242         height to the style's logical height wrongly before inflating the
3243         logical height to account for the section(s). This would cause us
3244         to increase past our needed size thus the bug.
3245
3246         * rendering/RenderTable.cpp:
3247         (WebCore::RenderTable::layout):
3248         A table is empty if it does not have any top section, not just a <tbody>.
3249         The test uncovered an issue with height distribution in layoutRows where we
3250         would distribute the extra height to the first <tbody> not section.
3251
3252 2012-02-07  Robert Hogan  <robert@webkit.org>
3253
3254         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
3255         https://bugs.webkit.org/show_bug.cgi?id=78027
3256
3257         Reviewed by Julien Chaffraix.
3258
3259         Both of these test the (slightly implicit) rule that width set on column-groups cannot
3260         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
3261         FF, Opera and IE all pass these two tests.
3262
3263         Tests: css2.1/20110323/fixed-table-layout-013.htm
3264                css2.1/20110323/fixed-table-layout-015.htm
3265
3266         * rendering/FixedTableLayout.cpp:
3267         (WebCore::nextCol): A helper function for finding the next column along.
3268         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
3269         * rendering/RenderTableCol.h:
3270         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
3271
3272 2012-02-16  Philippe Normand  <pnormand@igalia.com>
3273
3274         Unreviewed, rolling out r107941.
3275         http://trac.webkit.org/changeset/107941
3276         https://bugs.webkit.org/show_bug.cgi?id=68602
3277
3278         Broke 23 http tests on GTK
3279
3280         * platform/network/soup/ResourceHandleSoup.cpp:
3281         (WebCore::ResourceHandle::defaultSession):
3282
3283 2012-02-16  Tom Sepez  <tsepez@chromium.org>
3284
3285         XSS Auditor bypass with U+2028/2029
3286         https://bugs.webkit.org/show_bug.cgi?id=78732
3287
3288         Reviewed by Adam Barth.
3289
3290         Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html
3291
3292         * html/parser/XSSAuditor.cpp:
3293         (WebCore::isJSNewline):
3294         (WebCore::XSSAuditor::snippetForJavaScript):
3295
3296 2012-02-15  Mark Rowe  <mrowe@apple.com>
3297
3298         NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
3299         <http://webkit.org/b/78766> / <rdar://problem/10729283>
3300
3301         Reviewed by Anders Carlsson.
3302
3303         * platform/network/cf/ProxyServerCFNet.cpp:
3304         (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
3305         the results that we received.
3306         (WebCore::processProxyServers): Processing of array of proxy configuration information
3307         moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
3308         by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
3309         callback. Doing this synchronously is not great, but it's the best we can do without a lot
3310         of restructuring of the code that calls this. We arbitrarily time out the execution after five
3311         seconds to avoid permanently hanging.
3312         (WebCore::addProxyServersForURL): Call in to our helper function.
3313
3314 2012-02-16  Abhishek Arya  <inferno@chromium.org>
3315
3316         Fix clone() function to handle descendant classes of RenderBlock.
3317         https://bugs.webkit.org/show_bug.cgi?id=78273
3318
3319         Reviewed by Eric Seidel.
3320
3321         Test: fast/multicol/span/clone-flexbox-crash.html
3322
3323         * rendering/RenderBlock.cpp:
3324         (WebCore::RenderBlock::clone):
3325
3326 2012-02-16  Raul Hudea  <rhudea@adobe.com>
3327
3328         [CSSRegions]overflowRegion tests are flaky
3329         https://bugs.webkit.org/show_bug.cgi?id=78761
3330
3331         Reviewed by Tony Chang.
3332
3333         The overflowRegion tests were updated.
3334
3335         * dom/Element.cpp:
3336         (WebCore::Element::webkitRegionOverflow):
3337
3338 2012-02-16  Raul Hudea  <rhudea@adobe.com>
3339
3340         [CSS Regions] Repaint issues when changing innerHTML of content
3341         https://bugs.webkit.org/show_bug.cgi?id=78787
3342
3343         Reviewed by David Hyatt.
3344
3345         The calculation of the clipping rectangle is based on the repaint rectangle,
3346         so it needs to be clipped to the current region, because it might spread over multiple ones.
3347
3348         Test: fast/repaint/region-painting-invalidation.html
3349
3350         * rendering/RenderFlowThread.cpp:
3351         (WebCore::RenderFlowThread::repaintRectangleInRegions):
3352
3353 2012-02-16  Adam Roben  <aroben@apple.com>
3354
3355         Roll out r107887
3356
3357         It broke 32-bit builds due to truncation from "long long" to "int".
3358
3359         Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
3360         sub-pixel layout
3361
3362         * CMakeLists.txt:
3363         * GNUmakefile.list.am:
3364         * WebCore.gypi:
3365         * WebCore.order:
3366         * WebCore.vcproj/WebCore.vcproj:
3367         * WebCore.xcodeproj/project.pbxproj:
3368         * platform/FractionalLayoutUnit.h:
3369         (WebCore::FractionalLayoutUnit::isInBounds):
3370         (WebCore::operator==):
3371         (WebCore::operator*):
3372         * platform/graphics/FloatPoint.cpp:
3373         * platform/graphics/FloatPoint.h:
3374         (WebCore):
3375         (FloatPoint):
3376         (WebCore::FloatPoint::move):
3377         (WebCore::FloatPoint::moveBy):
3378         * platform/graphics/FloatRect.cpp:
3379         * platform/graphics/FloatRect.h:
3380         (WebCore):
3381         * platform/graphics/FloatSize.cpp:
3382         * platform/graphics/FloatSize.h:
3383         (WebCore):
3384         * platform/graphics/FractionalLayoutPoint.h: Removed.
3385         * platform/graphics/FractionalLayoutRect.cpp: Removed.
3386         * platform/graphics/FractionalLayoutRect.h: Removed.
3387         * platform/graphics/FractionalLayoutSize.cpp: Removed.
3388         * platform/graphics/FractionalLayoutSize.h: Removed.
3389         * platform/graphics/IntRect.cpp:
3390         * platform/graphics/IntRect.h:
3391         (WebCore):
3392         (IntRect):
3393
3394 2012-02-16  Pavel Feldman  <pfeldman@google.com>
3395
3396         Web Inspector: cache settings values
3397         https://bugs.webkit.org/show_bug.cgi?id=78815
3398
3399         Reviewed by Vsevolod Vlasov.
3400
3401         * inspector/front-end/Settings.js:
3402         (WebInspector.Setting.prototype.get if):
3403         (WebInspector.Setting.prototype):
3404         (WebInspector.Setting.prototype.):
3405         (WebInspector.Setting.prototype.set this):
3406
3407 2012-02-16  Terry Anderson  <tdanderson@chromium.org>
3408
3409         WebKit does not support DOM 3 Events FocusEvent
3410         https://bugs.webkit.org/show_bug.cgi?id=76216
3411
3412         Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
3413         the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
3414         focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
3415         attribute set accordingly.  No other logic changes have been made besides adding the
3416         FocusEvent class.
3417
3418         Reviewed by Eric Seidel.
3419
3420         Test: fast/events/related-target-focusevent.html
3421
3422         * CMakeLists.txt:
3423         * DerivedSources.cpp:
3424         * DerivedSources.make:
3425         * DerivedSources.pri:
3426         * GNUmakefile.list.am:
3427         * Target.pri:
3428         * WebCore.gypi:
3429         * WebCore.xcodeproj/project.pbxproj:
3430         * dom/DOMAllInOne.cpp:
3431             - Included mention of FocusEvent / JSFocusEvent in the above files to
3432               allow the patch to build on the different platforms
3433         * dom/EventDispatchMediator.cpp:
3434         * dom/EventDispatchMediator.h:
3435         * dom/EventFactory.in:
3436         * dom/FocusEvent.cpp: Added.
3437         (WebCore):
3438         (WebCore::FocusEvent::FocusEvent):
3439         (WebCore::FocusEvent::~FocusEvent):
3440         (WebCore::FocusEvent::initFocusEvent):
3441         (WebCore::FocusEvent::interfaceName):
3442         (WebCore::FocusInEventDispatchMediator::create):
3443         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
3444         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
3445         (WebCore::FocusInEventDispatchMediator::event):
3446         (WebCore::FocusOutEventDispatchMediator::create):
3447         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
3448         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
3449         (WebCore::FocusOutEventDispatchMediator::event):
3450         (WebCore::FocusEventDispatchMediator::create):
3451         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
3452         (WebCore::FocusEventDispatchMediator::dispatchEvent):
3453         (WebCore::BlurEventDispatchMediator::create):
3454         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
3455         (WebCore::BlurEventDispatchMediator::dispatchEvent):
3456         * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
3457         (WebCore):
3458         (FocusEvent):
3459         (WebCore::FocusEvent::create):
3460         (WebCore::FocusEvent::relatedTarget):
3461         (WebCore::FocusEvent::setRelatedTarget):
3462         (FocusInEventDispatchMediator):
3463         (FocusOutEventDispatchMediator):
3464         (FocusEventDispatchMediator):
3465         (BlurEventDispatchMediator):
3466         * dom/FocusEvent.idl: Added.
3467         * dom/Node.cpp:
3468         (WebCore::Node::dispatchFocusInEvent):
3469         (WebCore::Node::dispatchFocusOutEvent):
3470         * dom/UIEvent.cpp:
3471         * dom/UIEvent.h:
3472         * page/DOMWindow.idl:
3473
3474 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
3475
3476         [Texmap] Improve the way we deal with BGRA extension
3477         https://bugs.webkit.org/show_bug.cgi?id=78822
3478
3479         Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
3480         Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.
3481
3482         Reviewed by Kenneth Rohde Christiansen.
3483
3484         No new behavior.
3485
3486         * platform/graphics/opengl/TextureMapperGL.cpp:
3487         (WebCore):
3488         (WebCore::hasExtension):
3489         (WebCore::hasBgraExtension):
3490         (WebCore::BitmapTextureGL::updateContents):
3491         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3492         (WebCore::TextureMapperTile::updateContents):
3493         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
3494         (WebCore::TextureMapperTiledBackingStore::updateContents):
3495         * platform/graphics/texmap/TextureMapperBackingStore.h:
3496         (TextureMapperTile):
3497         (TextureMapperTiledBackingStore):
3498         (WebCore::TextureMapperTiledBackingStore::updateContents):
3499         * platform/graphics/texmap/TextureMapperLayer.cpp:
3500         (WebCore::TextureMapperLayer::updateBackingStore):
3501
3502 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
3503
3504         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3505         https://bugs.webkit.org/show_bug.cgi?id=78800
3506
3507         Reviewed by Kenneth Rohde Christiansen.
3508