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